- fetchDigitalOutputsService umgestellt:
- Nur noch API-Aufruf auf /api/cpl/digitalOutputsAPIHandler
- Drei Modi berücksichtigt: json, jsmock, production
- fetchDigitalOutputsFromScript implementiert:
- Unterstützt jsmock- und production-Modus mit if-else-Logik
- Lädt Skripte dynamisch (digitalOutputs.js oder digitalOutputsMockData.js)
- Liest win_da_state und win_da_bezeichnung aus window
- API für JSON-Dateien getestet (lokal editierbar)
- Production getestet (CGI-Platzhalter per Skript)
- jsmock-Modus vorbereitet, noch nicht getestet
- API-Handler `updateDigitalOutputsHandler` überarbeitet:
- JSON-Dateien werden jetzt korrekt im gültigen Format gespeichert (`{ key: value }`)
- Schreibzugriff im production-Modus blockiert
- JS-Mock-Struktur vorbereitet (noch nicht aktiv getestet)
- Verzeichnisstruktur vereinheitlicht:
- JSON-Mocks unter `/mocks/api/SERVICE/`
- CGI-Platzhalter unter `/public/CPL/`
- JSMock-Ordner für CPL-Simulation vorbereitet (`/mocks/js-simulator/`)
- README.md um Betriebsmodi erweitert (`NEXT_PUBLIC_CPL_MODE` mit `json`, `jsmock`, `production`)
- `.env`-Dateien angepasst zur besseren Modussteuerung
- beschreibt das Versionskonzept für package.json, package-lock.json und .env.*
- erklärt die Verwendung von bumpVersion.js und Husky-Hooks
- hilft neuen und bestehenden Entwicklern, konsistent zu arbeiten
- gilt als Standardrichtlinie für zukünftige Projekte
- CGI-Endpunkte der CPL-Hardware werden jetzt per fetch im Hintergrund aufgerufen
- Kein Tab-Wechsel oder Seitenreload mehr bei "Speichern"
- Entwicklung nutzt weiterhin Next.js API-Routen
- Nutzer erhält einheitliches Feedback per alert
- output: "export" wird jetzt automatisch bei EXPORT_STATIC=true aktiviert
- Entwicklungsmodus (npm run dev) nutzt weiterhin API-Routen für Mock-Tests
- Neues npm-Skript nutzt cross-env für Umgebungsunabhängigkeit bei Windows/Linux
- cross-env als devDependency hinzugefügt
- API-URL passt sich automatisch an die Umgebung an:
- In Development (`npm run dev`) wird `http://localhost:3001/kabelueberwachung` genutzt.
- In Production (`npm run build && npm start`) wird `window.location.origin/CPL` verwendet.
- Verbesserte Fehlerbehandlung für JSON-Antworten implementiert.
- **Hinweis:** Für die lokale Entwicklung wird `json-server` benötigt.
Installation: `npm install -g json-server`
Starten: `json-server --watch mockData.json --port 3001`