docs: Projektstruktur der Dokumentation an Quellcode angepasst

- Verzeichnisstruktur unter /docs spiegelt nun die tatsächliche Projektstruktur wider
- frontend/server-Trennung entfernt zugunsten von /docs/pages, /docs/redux, /docs/utils etc.
- Erhöht Wiederauffindbarkeit, Übersichtlichkeit und Entwicklerfreundlichkeit
This commit is contained in:
ISA
2025-05-27 09:30:40 +02:00
parent 4c6386edea
commit b847b5d2c8
55 changed files with 29 additions and 3 deletions

View File

@@ -0,0 +1,90 @@
# 📡 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.