# 📊 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