Files
nodeMap/services/webservice/fetchGisStationsMeasurementsService.js
ISA 3896381a8f Debug-Logging zentralisiert: Nutzung von process.env.NEXT_PUBLIC_DEBUG_LOG entfernt und auf getDebugLog() mit config.json umgestellt
- Alle Vorkommen von process.env.NEXT_PUBLIC_DEBUG_LOG entfernt
- Debug-Konfiguration erfolgt jetzt ausschließlich über public/config.json
- getDebugLog()-Utility überall verwendet
- .env-Dateien werden für Debug-Logging nicht mehr benötigt
- Alle betroffenen Komponenten, Services und API
2025-08-22 11:10:40 +02:00

70 lines
2.2 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { getDebugLog } from "../../utils/configUtils";
let __configCache;
async function getConfig() {
if (__configCache) return __configCache;
const res = await fetch("/config.json");
if (!res.ok) throw new Error("config.json konnte nicht geladen werden");
__configCache = await res.json();
return __configCache;
}
export const fetchGisStationsMeasurementsService = async () => {
const useMocks = process.env.NEXT_PUBLIC_USE_MOCKS === "true";
const config = await getConfig();
const basePath = config.basePath || "";
if (useMocks) {
const mockBasePath = "/api/mocks/webservice/gisStationsMeasurements";
const mockURL = `${window.location.origin}${mockBasePath}`;
if (getDebugLog()) {
console.log("🧪 Mock-Modus aktiviert: fetchGisStationsMeasurementsService ", mockURL);
}
const response = await fetch("/api/mocks/webservice/gisStationsMeasurements");
if (!response.ok) {
throw new Error("Mockdaten konnten nicht geladen werden");
}
const mockData = await response.json();
if (!Array.isArray(mockData.Statis)) {
throw new Error("Ungültige Struktur: 'Statis' fehlt im Mock");
}
return mockData.Statis;
} else {
const baseUrl = `${window.location.protocol}//${window.location.hostname}:80${basePath}/ClientData/WebServiceMap.asmx`;
const params = new URLSearchParams(window.location.search);
const idMap = params.get("m");
const idUser = params.get("u");
const url = `${baseUrl}/GisStationsMeasurements?idMap=${idMap}&idUser=${idUser}`;
if (getDebugLog()) {
console.log("📡 fetchGisStationsMeasurementsService URL:", url);
}
const response = await fetch(url);
if (!response.ok) {
const message = `❌ Fehler: ${response.status} ${response.statusText}`;
console.error(message);
throw new Error(message);
}
const text = await response.text();
let jsonResponse;
try {
jsonResponse = JSON.parse(text);
} catch (e) {
console.error("❌ Fehler beim JSON-Parsing der Antwort:", text);
throw new Error("Antwort ist kein gültiges JSON");
}
if (!Array.isArray(jsonResponse.Statis)) {
throw new Error("Antwortstruktur ungültig 'Statis' fehlt");
}
return jsonResponse.Statis;
}
};