# 📡 Webservices – Redux Integration (/redux/api/fromWebService) In diesem Verzeichnis befinden sich alle Webservice-Fetch-Funktionen für die Kommunikation mit TALAS.web über SOAP-Endpunkte. --- ## Übergabe der Parameter über URL (`m`, `u`) TALAS.web ruft die Kartenansicht in der Regel so auf: ``` http://[SERVER]:3000/?m=10&u=484 ``` Daraus ergeben sich folgende Zuweisungen: | URL-Parameter | Bedeutung | Variable im Code | | ------------- | --------- | -------------------------------- | | `m` | `idMap` | `const idMap = params.get("m")` | | `u` | `idUser` | `const idUser = params.get("u")` | ### Beispiel: ```ts const params = new URLSearchParams(window.location.search); const idMap = params.get("m"); const idUser = params.get("u"); ``` --- ## Änderung am 2025-05-15 Vorher wurden Default-Werte über `.env.local` als Fallback genutzt: ```ts const idMap = params.get("idMap") || process.env.NEXT_PUBLIC_DEFAULT_ID_MAP || "12"; ``` Das wurde entfernt, um folgende Ziele zu erreichen: - ❌ Keine fest eingetragenen Defaults im Browser sichtbar - ✅ Verbindlichkeit: TALAS.web übergibt die Werte immer korrekt via URL - 🔐 Sicherheit: Kein versehentliches Verwenden eines falschen Users - 🔍 Fehler leichter erkennbar (Parameter nicht gefunden = echter Fehler) --- ## Hinweis zur Webservice-Konfiguration Die Webservice-Basisadresse wird **nicht mehr über `.env.local` gesteuert**. Stattdessen wird sie dynamisch im Client anhand des aktuellen Hostnamens bestimmt: ```js const baseUrl = `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`; ``` ➡ Dadurch ist kein Rebuild mehr nötig bei IP-Wechseln oder Serverumzügen. Die Build-Version kann auf jedem Server wiederverwendet werden. --- ## Optional: Validierung einbauen Falls gewünscht, kann ein expliziter Fehler ausgelöst werden: ```ts if (!idMap || !idUser) { throw new Error("Fehlende URL-Parameter: idMap oder idUser"); } ``` --- ## Betroffene Dateien Diese Änderung betrifft alle Funktionen in: ``` /redux/api/fromWebService/fetchGisStationsStatic.js /redux/api/fromWebService/fetchGisStationsStaticDistrict.js /redux/api/fromWebService/fetchGisStationsStatusDistrict.js /redux/api/fromWebService/fetchGisStationsMeasurements.js /redux/api/fromWebService/fetchGisSystemStatic.js ``` --- Diese Konvention stellt sicher, dass Webservices unabhängig von IP und Serverkonfiguration aufgerufen werden können.