docs(priorityConfig): API-Dokumentation erstellt für priorityConfig

- /docs/pages/api/talas_v5_DB/priorityConfig.md hinzugefügt
- Enthält Beschreibung der API, Datenstruktur, Beispielantwort, Leaflet-Anwendung
- README.md und CHANGELOG.md aktualisiert
- Version auf 1.1.187 erhöht
This commit is contained in:
ISA
2025-05-27 10:38:24 +02:00
parent c754dcbc30
commit 1a4d5e6112
5 changed files with 116 additions and 3 deletions

View File

@@ -0,0 +1,83 @@
<!-- Datei: /docs/pages/api/talas_v5_DB/priorityConfig.md -->
# 📊 API: /api/talas_v5_DB/priorityConfig
Diese API liefert die Konfigurationsdaten für Prioritäten (z.B. „critical“, „minor“) aus der Tabelle `prio`.
Sie wird u.a. für Meldungsanzeigen, Filter und Leaflet-Marker-Priorisierung verwendet.
---
## 📍 Anwendung in Leaflet Marker-Priorität bei Überlappung
Die `level`-Werte dieser Konfiguration steuern die **Darstellungsreihenfolge überlappender Marker** in Leaflet:
- Marker mit **höherer Priorität** (`level = 1`, z.B. `critical`) werden **oben** dargestellt
- Marker mit **niedriger Priorität** (`level = 100`, `101`) werden **weiter hinten** gezeichnet
- Dadurch bleiben wichtige Meldungen stets sichtbar, selbst bei POI-Überlagerung
Diese Sortierung wird z.B. bei OverlappingMarkerSpiderfier oder Clustern angewendet.
---
## 🔗 Route
- **Pfad:** `/api/talas_v5_DB/priorityConfig`
- **Methode:** `GET`
- **Beschreibung:** Gibt alle aktiven Prioritätsstufen inkl. Farbcodes zurück
---
## 🧾 Beispielantwort
**Test-URL:** [`/api/talas_v5_DB/priorityConfig`](http://10.10.0.70:3000/api/talas_v5_DB/priorityConfig)
```json
[
{ "idprio": 0, "level": 100, "name": "kein", "color": "#ffffff" },
{ "idprio": 1, "level": 101, "name": "gut", "color": "#99CC00" },
{ "idprio": 5, "level": 1, "name": "critical", "color": "#FF0000" },
{ "idprio": 7, "level": 2, "name": "major", "color": "#FF9900" },
{ "idprio": 9, "level": 3, "name": "minor", "color": "#FFFF00" },
{ "idprio": 10, "level": 4, "name": "system", "color": "#FF00FF" },
{ "idprio": 12, "level": 0, "name": "Stationsausfall", "color": "#FF6600" }
]
```
📦 Datenstruktur
Feld Typ Beschreibung
idprio number Eindeutige ID der Priorität
level number Prioritätsstufe (1 = hoch, 100 = niedrig)
name string Bezeichnung (z.B. "minor", "system", "Stationsausfall")
color string HEX-Farbcode (z.B. #FF0000) zur visuellen Darstellung
⚙️ Datenquelle
Tabelle: prio
SQL-Abfrage:
sql
SELECT idprio, level, name, color FROM prio;
Backend: verwendet getPool() aus utils/mysqlPool.js
## 🔗 Verwendet in
| Datei | Zweck |
| ----------------------------- | ------------------------------------------------------------------- |
| `fetchPriorityConfigThunk.js` | Holt Prioritätsdaten über API und reicht sie an Redux weiter |
| `priorityConfigSlice.js` | Speichert die geladenen Prioritätsdaten im Redux-Store |
| `MapComponent.js` | Dispatcht Thunk zum Laden der Daten beim Start |
| `useMapComponentState.js` | Liest `priorityConfig` aus Redux und gibt es an Marker-Setup weiter |
| `createAndSetDevices.js` | Erzeugt Marker mit `zIndexOffset` basierend auf Priorität |
| `useCreateAndSetDevices.js` | Hook zur Initialisierung von Geräten auf der Karte |
| `useDynamicMarkerLayers.js` | Verwaltet Marker-Layer dynamisch (inkl. Z-Priorität) |
❌ Fehlerbehandlung
Bei DB- oder Verbindungsfehlern:
json
Copy
Edit
{ "error": "Fehler bei der Abfrage" }
HTTP-Statuscode: 500