- JSON-Dateien aus /webServiceMockdata als echte API-Mocks verfügbar - API-Endpunkte unter /api/mockData/webService/ hinzugefügt - Fehlerhafte Platzhalter in den API-Handlern korrigiert - Alle Mock-URLs in config.js auf die neuen API-Routen umgestellt - Tests erfolgreich durchgeführt, Mock-API funktioniert einwandfrei"
77 lines
3.4 KiB
JavaScript
77 lines
3.4 KiB
JavaScript
// Datei: /config/config.js
|
||
import * as urls from "../config/urls.js";
|
||
|
||
// Definieren der grundlegenden Umgebungseinstellungen und Konfigurationen der Karte
|
||
const mapVersion = "0.5.3";
|
||
const standardSideMenu = true;
|
||
const fullSideMenu = false;
|
||
|
||
// Server-URL aus Umgebungsvariable holen (nur bei echter API benötigt)
|
||
const serverURL = process.env.NEXT_PUBLIC_SERVER_URL || "";
|
||
if (!serverURL && !isMockMode()) {
|
||
throw new Error("Die Umgebungsvariable NEXT_PUBLIC_SERVER_URL ist nicht gesetzt!");
|
||
}
|
||
console.log("%c 1- serverURL in config:", "color: #006400;", serverURL);
|
||
|
||
// Initialisieren von Variablen, die später im Browserkontext gesetzt werden
|
||
let windowHeight, url_string, url, idMap, idUser;
|
||
let mapGisStationsStaticDistrictUrl, mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl, mapDataIconUrl, webserviceGisLinesStatusUrl;
|
||
|
||
// Prüfen, ob Mock-Modus aktiv ist
|
||
function isMockMode() {
|
||
return process.env.NEXT_PUBLIC_USE_MOCK_API === "true";
|
||
}
|
||
|
||
// URL-Setup - dynamisch abhängig von Mock oder Echtbetrieb
|
||
if (typeof window !== "undefined") {
|
||
windowHeight = window.innerHeight;
|
||
url_string = window.location.href;
|
||
url = new URL(url_string);
|
||
console.log("%c 2- URL in config:", "color: #006400; font-size: 16px; background-color: #f0f0f0;", url);
|
||
|
||
idMap = url.searchParams.get("m");
|
||
idUser = url.searchParams.get("u");
|
||
console.log(`4- Parameter 'idMap' : ${idMap}`);
|
||
console.log(`5- Parameter 'idUser': ${idUser}`);
|
||
|
||
if (isMockMode()) {
|
||
// Mock-Daten jetzt über API-Endpunkte aus pages/api/mockData/webService/
|
||
mapGisStationsStaticDistrictUrl = "/api/mockData/webService/GisStationsStaticDistrictMock";
|
||
mapGisStationsStatusDistrictUrl = "/api/mockData/webService/GisStationsStatusDistrictMock";
|
||
mapGisStationsMeasurementsUrl = "/api/mockData/webService/GisStationsMeasurementsMock";
|
||
mapGisSystemStaticUrl = "/api/mockData/webService/GisSystemStaticMock";
|
||
mapDataIconUrl = "/api/mockData/webService/GetIconsStaticMock";
|
||
webserviceGisLinesStatusUrl = "/api/mockData/webService/GisLinesStatusMock";
|
||
console.log("📡 Mock-Mode aktiv: Daten werden aus /api/mockData/webService geladen.");
|
||
} else {
|
||
// Echte URLs zur Webservice-API
|
||
mapGisStationsStaticDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStaticDistrict?idMap=${idMap}&idUser=${idUser}`;
|
||
mapGisStationsStatusDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStatusDistrict?idMap=${idMap}&idUser=${idUser}`;
|
||
mapGisStationsMeasurementsUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsMeasurements?idMap=${idMap}`;
|
||
mapGisSystemStaticUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic?idMap=${idMap}&idUser=${idUser}`;
|
||
mapDataIconUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GetIconsStatic`;
|
||
webserviceGisLinesStatusUrl = `${serverURL}/talas5/ClientData/WebServiceMap.asmx/GisLinesStatus?idMap=${idMap}`;
|
||
console.log("🌐 Echt-Mode aktiv: Daten werden von der API geholt.");
|
||
}
|
||
}
|
||
|
||
// Export der Variablen und URLs
|
||
export {
|
||
mapVersion,
|
||
standardSideMenu,
|
||
fullSideMenu,
|
||
serverURL,
|
||
windowHeight,
|
||
url_string,
|
||
url,
|
||
idMap,
|
||
idUser,
|
||
mapGisStationsStaticDistrictUrl,
|
||
mapGisStationsStatusDistrictUrl,
|
||
mapGisStationsMeasurementsUrl,
|
||
mapGisSystemStaticUrl,
|
||
mapDataIconUrl,
|
||
webserviceGisLinesStatusUrl,
|
||
isMockMode,
|
||
};
|