diff --git a/apiMockData/SERVICE/de.js b/apiMockData/SERVICE/de.js
index a46c653..d7ec58d 100644
--- a/apiMockData/SERVICE/de.js
+++ b/apiMockData/SERVICE/de.js
@@ -1,4 +1,4 @@
-// public/CPLmockData/SERVICE/de.js
+// apiMockData/SERVICE/de.js
// Zustand -> DESxx xx =Nr Eingang 1-32 80-83 = BGT 1 bis 4
var win_de_state = [
diff --git a/apiMockData/SERVICE/Start.js b/apiMockData/SERVICE/last20Messages.js
similarity index 98%
rename from apiMockData/SERVICE/Start.js
rename to apiMockData/SERVICE/last20Messages.js
index a7eeeb7..76f8c41 100644
--- a/apiMockData/SERVICE/Start.js
+++ b/apiMockData/SERVICE/last20Messages.js
@@ -1,3 +1,4 @@
+// /apiMockData/SERVICE/last20Messages.js
var win_last20Messages = `
| 16750 | 03501 | 2024-10-23 15:08:58:000 | Modul 26 Isofehler kommend | 1 |
| 16749 | 03201 | 2024-10-23 15:07:24:000 | Modul 23 Isofehler gehend | 0 |
diff --git a/apiMockData/jsMockFiles/last20Messages.js b/apiMockData/jsMockFiles/last20Messages.js
new file mode 100644
index 0000000..01cb406
--- /dev/null
+++ b/apiMockData/jsMockFiles/last20Messages.js
@@ -0,0 +1,23 @@
+// /apiMockData/jsMockFiles/last20Messages.js
+var win_last20Messages = `
+| 16750 | 03501 | 2024-10-23 15:08:58:000 | Modul 26 Isofehler kommend | 1 |
+| 16749 | 03201 | 2024-10-23 15:07:24:000 | Modul 23 Isofehler gehend | 0 |
+| 16748 | 03501 | 2024-10-23 15:01:52:000 | Modul 26 Isofehler gehend | 0 |
+| 16747 | 02801 | 2024-10-23 15:01:30:000 | Modul 19 Isofehler kommend | 1 |
+| 16746 | 03501 | 2024-10-23 14:57:33:000 | Modul 26 Isofehler kommend | 1 |
+| 16745 | 03201 | 2024-10-23 14:56:54:000 | Modul 23 Isofehler kommend | 1 |
+| 16744 | 02801 | 2024-10-23 14:51:01:000 | Modul 19 Isofehler gehend | 0 |
+| 16743 | 03501 | 2024-10-23 14:50:46:000 | Modul 26 Isofehler gehend | 0 |
+| 16742 | 03201 | 2024-10-23 14:49:49:000 | Modul 23 Isofehler gehend | 0 |
+| 16741 | 03501 | 2024-10-23 14:49:13:000 | Modul 26 Isofehler kommend | 1 |
+| 16740 | 02801 | 2024-10-23 14:45:28:000 | Modul 19 Isofehler kommend | 1 |
+| 16739 | 03201 | 2024-10-23 14:44:16:000 | Modul 23 Isofehler kommend | 1 |
+| 16738 | 03501 | 2024-10-23 14:42:08:000 | Modul 26 Isofehler gehend | 0 |
+| 16737 | 03201 | 2024-10-23 14:37:10:000 | Modul 23 Isofehler gehend | 0 |
+| 16736 | 03501 | 2024-10-23 14:35:20:000 | Modul 26 Isofehler kommend | 1 |
+| 16735 | 01201 | 2024-10-23 14:31:44:000 | Modul 03 Isofehler kommend | 1 |
+| 16734 | 01701 | 2024-10-23 14:30:14:000 | Modul 08 Isofehler kommend | 1 |
+| 16733 | 03501 | 2024-10-23 14:28:15:000 | Modul 26 Isofehler gehend | 0 |
+| 16732 | 03301 | 2024-10-23 14:26:23:000 | Modul 24 Isofehler kommend | 1 |
+| 16731 | 01201 | 2024-10-23 14:24:58:000 | Modul 03 Isofehler gehend | 0 |
+`;
diff --git a/config/webVersion.ts b/config/webVersion.ts
index 821f773..42341e4 100644
--- a/config/webVersion.ts
+++ b/config/webVersion.ts
@@ -6,5 +6,5 @@
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
*/
-const webVersion = "1.6.220";
+const webVersion = "1.6.221";
export default webVersion;
diff --git a/pages/api/cpl/digitalOutputs.ts b/pages/api/cpl/digitalOutputs.ts
new file mode 100644
index 0000000..d636163
--- /dev/null
+++ b/pages/api/cpl/digitalOutputs.ts
@@ -0,0 +1,19 @@
+// /pages/api/cpl/digitalOutputs.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(), "apiMockData", "SERVICE", "da.js");
+
+ try {
+ const data = await fs.readFile(filePath, "utf-8");
+ res.status(200).send(data);
+ } catch (error) {
+ res.status(404).json({ error: "File not found" });
+ }
+}
diff --git a/pages/api/cpl/digitaleEingaenge.ts b/pages/api/cpl/digitaleEingaenge.ts
new file mode 100644
index 0000000..548e021
--- /dev/null
+++ b/pages/api/cpl/digitaleEingaenge.ts
@@ -0,0 +1,21 @@
+// /pages/api/cpl/digitaleEingaenge.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(), "apiMockData", "SERVICE", "de.js");
+
+ try {
+ const data = await fs.readFile(filePath, "utf-8");
+
+ res.setHeader("Content-Type", "text/javascript"); // wichtig!
+ res.status(200).send(data);
+ } catch (error) {
+ res.status(404).json({ error: "File not found" });
+ }
+}
diff --git a/pages/api/cpl/kueData.ts b/pages/api/cpl/kueData.ts
new file mode 100644
index 0000000..2890b0b
--- /dev/null
+++ b/pages/api/cpl/kueData.ts
@@ -0,0 +1,24 @@
+// /pages/api/cpl/kueData.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(),
+ "apiMockData",
+ "SERVICE",
+ "kueData.js"
+ );
+
+ try {
+ const data = await fs.readFile(filePath, "utf-8");
+ res.status(200).send(data);
+ } catch (error) {
+ res.status(404).json({ error: "File not found" });
+ }
+}
diff --git a/pages/api/cpl/last20Messages.ts b/pages/api/cpl/last20Messages.ts
new file mode 100644
index 0000000..229fec4
--- /dev/null
+++ b/pages/api/cpl/last20Messages.ts
@@ -0,0 +1,25 @@
+// /pages/api/cpl/last20Messages.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(),
+ "apiMockData",
+ "SERVICE",
+ "last20Messages.js"
+ );
+
+ try {
+ const data = await fs.readFile(filePath, "utf-8");
+
+ res.setHeader("Content-Type", "text/javascript"); // wichtig!
+ res.status(200).send(data);
+ } catch (error) {
+ res.status(404).json({ error: "File not found" });
+ }
+}
diff --git a/pages/api/cpl/opcuaSettings.ts b/pages/api/cpl/opcuaSettings.ts
new file mode 100644
index 0000000..3810a55
--- /dev/null
+++ b/pages/api/cpl/opcuaSettings.ts
@@ -0,0 +1,24 @@
+// /pages/api/cpl/opcuaSettings.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(),
+ "apiMockData",
+ "SERVICE",
+ "opcua.js"
+ );
+
+ try {
+ const data = await fs.readFile(filePath, "utf-8");
+ res.status(200).send(data);
+ } catch (error) {
+ res.status(404).json({ error: "File not found" });
+ }
+}
diff --git a/pages/api/cpl/slotData.ts b/pages/api/cpl/slotData.ts
index aa0c976..28ff199 100644
--- a/pages/api/cpl/slotData.ts
+++ b/pages/api/cpl/slotData.ts
@@ -1,3 +1,4 @@
+// /pages/api/cpl/slotData.ts
import { NextApiRequest, NextApiResponse } from "next";
import path from "path";
import fs from "fs/promises";
diff --git a/pages/api/cpl/systemSettings.ts b/pages/api/cpl/systemSettings.ts
new file mode 100644
index 0000000..3efce19
--- /dev/null
+++ b/pages/api/cpl/systemSettings.ts
@@ -0,0 +1,24 @@
+// /pages/api/cpl/systemSettings.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(),
+ "apiMockData",
+ "SERVICE",
+ "system.js"
+ );
+
+ try {
+ const data = await fs.readFile(filePath, "utf-8");
+ res.status(200).send(data);
+ } catch (error) {
+ res.status(404).json({ error: "File not found" });
+ }
+}
diff --git a/pages/api/cpl/tdmData.ts b/pages/api/cpl/tdmData.ts
new file mode 100644
index 0000000..0da1536
--- /dev/null
+++ b/pages/api/cpl/tdmData.ts
@@ -0,0 +1,30 @@
+// /pages/api/cpl/tdmData.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 { slot } = req.query;
+
+ if (!slot) {
+ return res.status(400).json({ error: "Missing parameter: slot" });
+ }
+
+ const filePath = path.join(
+ process.cwd(),
+ "apiMockData",
+ "TDM",
+ `slot${slot}.json`
+ );
+
+ try {
+ const data = await fs.readFile(filePath, "utf-8");
+ res.status(200).json(JSON.parse(data));
+ } catch (error) {
+ res.status(404).json({ error: "File not found" });
+ }
+}
diff --git a/pages/api/cpl/tdrData.ts b/pages/api/cpl/tdrData.ts
new file mode 100644
index 0000000..5fa8cc9
--- /dev/null
+++ b/pages/api/cpl/tdrData.ts
@@ -0,0 +1,25 @@
+// /pages/api/cpl/tdrData.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 { id } = req.query;
+
+ if (!id) {
+ return res.status(400).json({ error: "Missing parameter: id" });
+ }
+
+ const filePath = path.join(process.cwd(), "apiMockData", "TDR", `${id}.json`);
+
+ try {
+ const data = await fs.readFile(filePath, "utf-8");
+ res.status(200).json(JSON.parse(data));
+ } catch (error) {
+ res.status(404).json({ error: "File not found" });
+ }
+}
diff --git a/pages/api/test.ts b/pages/api/test.ts
deleted file mode 100644
index be6de55..0000000
--- a/pages/api/test.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// pages/api/test.ts
-
-import { NextApiRequest, NextApiResponse } from "next";
-
-export default function handler(req: NextApiRequest, res: NextApiResponse) {
- res.status(200).json({
- message: "✅ Die API ist erreichbar!",
- method: req.method,
- timestamp: new Date().toISOString(),
- });
-}
diff --git a/services/fetchAllTDMData.ts b/services/fetchAllTDMData.ts
index 47f8462..61fcac7 100644
--- a/services/fetchAllTDMData.ts
+++ b/services/fetchAllTDMData.ts
@@ -7,7 +7,7 @@ export const fetchAllTDMDataFromServer = async (): Promise => {
const slotRequests = Array.from({ length: 32 }, (_, i) => {
const url = isDev
- ? `/CPLmockData/TDM/slot${i}.json` // ✅ Entwicklung: aus public-Ordner
+ ? `/apiMockData/TDM/slot${i}.json` // ✅ Entwicklung: aus public-Ordner
: `${window.location.origin}/CPL?Service/empty.acp&TDM=${i}`; // ✅ Produktion
return fetch(url)
diff --git a/services/fetchAllTDRChartData.ts b/services/fetchAllTDRChartData.ts
index 2f41dae..ce64107 100644
--- a/services/fetchAllTDRChartData.ts
+++ b/services/fetchAllTDRChartData.ts
@@ -4,7 +4,7 @@ export const fetchAllTDRChartDataFromServer = async (): Promise => {
const isDev = process.env.NEXT_PUBLIC_NODE_ENV === "development";
const basePath = isDev
- ? "/CPLmockData/LastTDR/jsonDatei"
+ ? "/apiMockData/LastTDR/jsonDatei"
: "/CPL?/CPL/LastTDR";
const fileNames = Array.from({ length: 32 }, (_, i) => `slot${i}.json`);
diff --git a/services/fetchAllTDRReferenceChartData.ts b/services/fetchAllTDRReferenceChartData.ts
index 37cb297..29245d4 100644
--- a/services/fetchAllTDRReferenceChartData.ts
+++ b/services/fetchAllTDRReferenceChartData.ts
@@ -4,7 +4,7 @@ const getTDRReferenceBasePath = () => {
if (typeof window !== "undefined") {
const env = process.env.NEXT_PUBLIC_NODE_ENV;
return env === "development"
- ? "/CPLMockData/tdr-reference-curves"
+ ? "/apiMockData/tdr-reference-curves"
: "/CPL?/CPL/tdr-reference-curves";
}
return "";
diff --git a/services/fetchAnalogeEingaenge.ts b/services/fetchAnalogeEingaenge.ts
index cbc7671..fb366f4 100644
--- a/services/fetchAnalogeEingaenge.ts
+++ b/services/fetchAnalogeEingaenge.ts
@@ -12,7 +12,7 @@ export const fetchAnalogeEingaenge = async (): Promise {
const scriptSrc =
process.env.NEXT_PUBLIC_NODE_ENV === "production"
? "/CPL?/CPL/SERVICE/da.js"
- : "/CPLmockData/SERVICE/da.js";
+ : "/apiMockData/SERVICE/da.js";
await new Promise((resolve, reject) => {
const script = document.createElement("script");
diff --git a/services/fetchDigitaleEingaenge.ts b/services/fetchDigitaleEingaenge.ts
index dead24b..c36b5cb 100644
--- a/services/fetchDigitaleEingaenge.ts
+++ b/services/fetchDigitaleEingaenge.ts
@@ -8,7 +8,7 @@ export const fetchDigitaleEingaenge = async () => {
const scriptSrc =
process.env.NEXT_PUBLIC_NODE_ENV === "production"
? "/CPL?/CPL/SERVICE/de.js"
- : "/CPLmockData/SERVICE/de.js";
+ : "/apiMockData/SERVICE/de.js";
await new Promise((resolve, reject) => {
const script = document.createElement("script");
diff --git a/services/fetchLast20Messages.ts b/services/fetchLast20Messages.ts
index 5defbf3..1eefb34 100644
--- a/services/fetchLast20Messages.ts
+++ b/services/fetchLast20Messages.ts
@@ -5,11 +5,11 @@ export const fetchLast20MessagesFromWindow = async (): Promise<
> => {
if (typeof window === "undefined") return null;
- // ✅ Start.js nur bei Bedarf nachladen (Pfad abhängig von Umgebung)
- const scriptSrc =
- process.env.NEXT_PUBLIC_NODE_ENV === "production"
- ? "/CPL?/CPL/SERVICE/Start.js"
- : "/CPLmockData/SERVICE/Start.js";
+ const isDev = process.env.NEXT_PUBLIC_NODE_ENV === "development";
+
+ const scriptSrc = isDev
+ ? "/api/cpl/last20Messages" // in Dev → per API geladen
+ : "/CPL?/CPL/SERVICE/Start.js"; // in Prod → echtes Script vom CPL
await new Promise((resolve, reject) => {
const script = document.createElement("script");
diff --git a/services/fetchOpcUaSettings.ts b/services/fetchOpcUaSettings.ts
index 8d6d31b..62c90c1 100644
--- a/services/fetchOpcUaSettings.ts
+++ b/services/fetchOpcUaSettings.ts
@@ -8,7 +8,7 @@ export const fetchOpcUaSettings = async () => {
const scriptSrc =
process.env.NEXT_PUBLIC_NODE_ENV === "production"
? "/CPL?/CPL/SERVICE/opcua.js"
- : "/CPLmockData/SERVICE/opcua.js";
+ : "/apiMockData/SERVICE/opcua.js";
await new Promise((resolve, reject) => {
const script = document.createElement("script");
diff --git a/services/fetchSystemSettings.ts b/services/fetchSystemSettings.ts
index c0ab96c..713cbe6 100644
--- a/services/fetchSystemSettings.ts
+++ b/services/fetchSystemSettings.ts
@@ -6,7 +6,7 @@ export const fetchSystemSettings = async () => {
const isDev = process.env.NODE_ENV === "development";
const scriptSrc =
process.env.NEXT_PUBLIC_NODE_ENV === "development"
- ? "/CPLmockData/SERVICE/system.js"
+ ? "/apiMockData/SERVICE/system.js"
: "/CPL?/CPL/SERVICE/system.js";
await new Promise((resolve, reject) => {
diff --git a/services/fetchTDMListBySlot.ts b/services/fetchTDMListBySlot.ts
index 77fbad9..a875486 100644
--- a/services/fetchTDMListBySlot.ts
+++ b/services/fetchTDMListBySlot.ts
@@ -6,7 +6,7 @@ export const fetchTDMDataBySlot = async (slot: number): Promise => {
const isDev = process.env.NEXT_PUBLIC_NODE_ENV === "development";
const url = isDev
- ? `/CPLmockData/TDM/slot${slot}.json`
+ ? `/apiMockData/TDM/slot${slot}.json`
: `${window.location.origin}/CPL?Service/empty.acp&TDM=${slot}`;
try {
diff --git a/services/fetchTDRChartDataById.ts b/services/fetchTDRChartDataById.ts
index b39f25a..b090ec3 100644
--- a/services/fetchTDRChartDataById.ts
+++ b/services/fetchTDRChartDataById.ts
@@ -6,7 +6,7 @@ export const fetchTDRChartDataById = async (
const isDev = process.env.NEXT_PUBLIC_NODE_ENV === "development";
const url = isDev
- ? `http://localhost:3000/CPLmockData/TDR/${id}.json`
+ ? `http://localhost:3000/apiMockData/TDR/${id}.json`
: `${window.location.origin}/CPL?Service/empty.acp&TDR=${id}`;
try {
diff --git a/services/fetchTDRReferenceCurve.ts b/services/fetchTDRReferenceCurve.ts
index 1a8e921..34ec1b6 100644
--- a/services/fetchTDRReferenceCurve.ts
+++ b/services/fetchTDRReferenceCurve.ts
@@ -13,7 +13,7 @@ export const fetchTDRReferenceCurve = async (
// 🔁 Fallback: Datei oder Produktion-API
const isDev = process.env.NEXT_PUBLIC_NODE_ENV === "development";
const url = isDev
- ? `/CPLmockData/tdr-reference-curves/slot${slot}.json`
+ ? `/apiMockData/tdr-reference-curves/slot${slot}.json`
: `${window.location.origin}/CPL?Service/empty.acp&TDR=${slot}`;
try {