Files
nodeMap/docs/pages/api/talas_v5_DB/priorityConfig.md
2025-05-28 10:17:25 +02:00

3.1 KiB
Raw Blame History

📊 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

[
  { "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