feat: digitalOutputs separate jsSimulatedProd mode

This commit is contained in:
Ismail Ali
2025-06-22 09:46:13 +02:00
parent 041bc3e23e
commit ff3f418636
9 changed files with 44 additions and 26 deletions

View File

@@ -3,6 +3,7 @@
import { NextApiRequest, NextApiResponse } from "next";
import path from "path";
import fs from "fs/promises";
import { readFileSync } from "fs";
export default async function handler(
req: NextApiRequest,
@@ -22,25 +23,12 @@ export default async function handler(
}
if (mode === "jsSimulatedProd") {
// Lese Datei und extrahiere window-Variablen aus .js-Datei
const filePath = path.join(
process.cwd(),
const digitalOutputsScript = readFileSync(
"mocks/device-cgi-simulator/SERVICE/digitalOutputsMockData.js"
);
const fileContent = await fs.readFile(filePath, "utf-8");
const stateMatch = fileContent.match(/win_da_state\s*=\s*\[([^\]]*)\]/);
const labelMatch = fileContent.match(
/win_da_bezeichnung\s*=\s*\[([^\]]*)\]/
);
const win_da_state =
stateMatch?.[1]?.split(",").map((x) => parseInt(x.trim())) || [];
const win_da_bezeichnung =
labelMatch?.[1]?.split(",").map((x) => x.trim().replace(/["']/g, "")) ||
[];
return res.status(200).json({ win_da_state, win_da_bezeichnung });
res.setHeader("Content-Type", "application/javascript");
res.status(200).send(digitalOutputsScript);
return;
}
return res.status(400).json({ error: "Unsupported mode" });