2.5 KiB
📡 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.
Aktueller Stand
Jede Funktion liest idMap und idUser ausschließlich aus der URL, wie sie von TALAS.web übergeben werden.
Übergabe der Parameter über URL (m, u)
TALAS.web ruft die Kartenansicht in der Regel so auf:
http://localhost: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") |
🔔 Achtung: Diese Kurzform (m, u) ist systembedingt durch TALAS.web vorgegeben und soll nicht durch idMap oder idUser ersetzt werden, da die Parameter sonst nicht erkannt werden.
Beispiel:
const params = new URLSearchParams(window.location.search);
const idMap = params.get("m"); // statt "idMap"
const idUser = params.get("u"); // statt "idUser"
Änderung am 2025-05-15
Vorher wurden Default-Werte über .env.local als Fallback genutzt:
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 (z. B. ID 484)
- 🔍 Fehler leichter erkennbar (Parameter nicht gefunden = echter Fehler)
Optional: Validierung einbauen
Falls gewünscht, kann ein expliziter Fehler ausgelöst werden:
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
Hinweis zur Konfiguration
Die Webservice-Basisadresse wird weiterhin über .env.local konfiguriert:
NEXT_PUBLIC_API_BASE_URL=http://10.10.0.13/talas5/ClientData/WebServiceMap.asmx
Aber idMap und idUser werden nicht mehr über Umgebungsvariablen gesteuert.