feat(api): Zeitraum und Eingang als Pflichtparameter für AnalogInputs-API eingeführt

- API-Handler für /api/cpl/getAnalogInputsHistory überarbeitet
- `zeitraum` (DIA0, DIA1, DIA2) und `eingang` (1–8) sind jetzt Pflichtfelder
- Bei fehlenden oder ungültigen Parametern strukturierte Fehlerantwort mit Beispielen
- Daten werden nun gezielt pro Eingang und Zeitraum geladen (z. B. AE3 + DIA1)
- Bessere Fehlerbehandlung bei nicht vorhandenen Dateien
This commit is contained in:
ISA
2025-07-11 11:50:56 +02:00
parent 2d3e070830
commit ca84ac6bb5
9 changed files with 19 additions and 13 deletions

View File

@@ -6,6 +6,6 @@ NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START=false
NEXT_PUBLIC_EXPORT_STATIC=false NEXT_PUBLIC_EXPORT_STATIC=false
NEXT_PUBLIC_USE_CGI=false NEXT_PUBLIC_USE_CGI=false
# App-Versionsnummer # App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.6.593 NEXT_PUBLIC_APP_VERSION=1.6.594
NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsSimulatedProd (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter) NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsSimulatedProd (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter)

View File

@@ -5,5 +5,5 @@ NEXT_PUBLIC_CPL_API_PATH=/CPL
NEXT_PUBLIC_EXPORT_STATIC=true NEXT_PUBLIC_EXPORT_STATIC=true
NEXT_PUBLIC_USE_CGI=true NEXT_PUBLIC_USE_CGI=true
# App-Versionsnummer # App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.6.593 NEXT_PUBLIC_APP_VERSION=1.6.594
NEXT_PUBLIC_CPL_MODE=production NEXT_PUBLIC_CPL_MODE=production

View File

@@ -1,3 +1,14 @@
## [1.6.594] 2025-07-11
- feat(api): Zeitraum und Eingang als Pflichtparameter für AnalogInputs-API eingeführt
- API-Handler für /api/cpl/getAnalogInputsHistory überarbeitet
- `zeitraum` (DIA0, DIA1, DIA2) und `eingang` (18) sind jetzt Pflichtfelder
- Bei fehlenden oder ungültigen Parametern strukturierte Fehlerantwort mit Beispielen
- Daten werden nun gezielt pro Eingang und Zeitraum geladen (z.B. AE3 + DIA1)
- Bessere Fehlerbehandlung bei nicht vorhandenen Dateien
---
## [1.6.593] 2025-07-11 ## [1.6.593] 2025-07-11
- fix: Von/Bis-Datum beim Schließen des DetailModals zurücksetzen - fix: Von/Bis-Datum beim Schließen des DetailModals zurücksetzen

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "cpl-v4", "name": "cpl-v4",
"version": "1.6.593", "version": "1.6.594",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "cpl-v4", "name": "cpl-v4",
"version": "1.6.593", "version": "1.6.594",
"dependencies": { "dependencies": {
"@fontsource/roboto": "^5.1.0", "@fontsource/roboto": "^5.1.0",
"@headlessui/react": "^2.2.4", "@headlessui/react": "^2.2.4",

View File

@@ -1,6 +1,6 @@
{ {
"name": "cpl-v4", "name": "cpl-v4",
"version": "1.6.593", "version": "1.6.594",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",

View File

@@ -5,8 +5,6 @@ import fs from "fs";
import path from "path"; import path from "path";
export default function handler(req: NextApiRequest, res: NextApiResponse) { export default function handler(req: NextApiRequest, res: NextApiResponse) {
const mode = process.env.NEXT_PUBLIC_CPL_MODE;
try { try {
const filePath = path.join( const filePath = path.join(
process.cwd(), process.cwd(),

View File

@@ -8,8 +8,6 @@ export default async function handler(
req: NextApiRequest, req: NextApiRequest,
res: NextApiResponse res: NextApiResponse
) { ) {
const mode = process.env.NEXT_PUBLIC_CPL_MODE ?? "json";
// Lese JSON-Datei z.B. digitalOutputsMockData.json // Lese JSON-Datei z.B. digitalOutputsMockData.json
const filePath = path.join( const filePath = path.join(
process.cwd(), process.cwd(),

View File

@@ -8,7 +8,6 @@ export default function handler(req: NextApiRequest, res: NextApiResponse) {
return res.status(405).json({ error: "Method not allowed" }); return res.status(405).json({ error: "Method not allowed" });
} }
const mode = process.env.NEXT_PUBLIC_CPL_MODE;
const updates = req.body.updates; const updates = req.body.updates;
if (!Array.isArray(updates)) { if (!Array.isArray(updates)) {

View File

@@ -6,15 +6,15 @@ export const getAnalogInputsChartDataThunk = createAsyncThunk(
"analogInputsChart/fetchChartData", "analogInputsChart/fetchChartData",
async (_, { getState }) => { async (_, { getState }) => {
const state = getState() as RootState; const state = getState() as RootState;
const { zeitraum, vonDatum, bisDatum } = state.analogInputsChart; //const { zeitraum, vonDatum, bisDatum } = state.analogInputsChart;
const selectedInput = state.selectedAnalogInput; const selectedInput = state.selectedAnalogInput;
if (!selectedInput) return []; if (!selectedInput) return [];
const res = await fetch( /* const res = await fetch(
`/api/cpl/getAnalogInputsHistory?inputId=${selectedInput.id}&zeitraum=${zeitraum}&von=${vonDatum}&bis=${bisDatum}` `/api/cpl/getAnalogInputsHistory?inputId=${selectedInput.id}&zeitraum=${zeitraum}&von=${vonDatum}&bis=${bisDatum}`
); );
const data = await res.json(); const data = await res.json();
return data; return data; */
} }
); );