- Unterstützung für drei Modi implementiert: json, jsmock und production - fetchDigitalOutputsService.ts erkennt NEXT_PUBLIC_CPL_MODE und lädt Daten je nach Umgebung - API-Handler /api/cpl/updateDigitalOutputsHandler verarbeitet POST-Anfragen für json und jsmock - In production wird Statusänderung per Redirect (window.location.href) an das CPL gesendet - Redux-Slice für digitale Ausgänge vollständig angebunden - UI (DigitalOutputsWidget.tsx) zeigt Status und ermöglicht das Umschalten - Dokumentation als README_digitalOutputs_final.md mit UML-Diagrammen ergänzt - CHANGELOG.md auf Version 1.6.417 aktualisiert
28 lines
611 B
TypeScript
28 lines
611 B
TypeScript
// /pages/api/cpl/getDigitalOutputsJsonHandler.ts
|
|
|
|
import { NextApiRequest, NextApiResponse } from "next";
|
|
import path from "path";
|
|
import fs from "fs/promises";
|
|
|
|
export default async function handler(
|
|
req: NextApiRequest,
|
|
res: NextApiResponse
|
|
) {
|
|
const filePath = path.join(
|
|
process.cwd(),
|
|
"mocks",
|
|
"api",
|
|
"SERVICE",
|
|
"digitalOutputsMockData.json"
|
|
);
|
|
|
|
try {
|
|
const data = await fs.readFile(filePath, "utf-8");
|
|
|
|
res.setHeader("Content-Type", "text/javascript");
|
|
res.status(200).send(data);
|
|
} catch (error) {
|
|
res.status(404).json({ error: "File not found" });
|
|
}
|
|
}
|