1) UserOnlineListe / Session-Bereich – Bereinigungsvorschlag
- Ziel: Klare, einheitliche Quelle für Online-/Session-Daten, nur für Admin-Auswertungen. Doppelstrukturen (DeviceService/SessionService/Cron) zusammenführen.
- Vorgehen:
- Neues, schlankes Controller-/Service-Paar, das explizit
UserOnlineListekapselt (Lesen/Auswertung + Schreiben). Alle bisherigen Schreibpfade darauf umbiegen. - Schema konsolidieren: Entweder
lastActivityoderletzterBesuch– ein Feld, konsistente TZ (UTC/Europe/Berlin).istOnlineoptional aus Aktivität ableitbar. - Funktionen mergen:
removeDevicevs.terminateSessionvereinheitlichen;blockAllUserDevicesinternterminateAllSessionsnutzen. - Cron/Health-Task (
updateOnlineStatus) ins zentrale Session/Online-Service integrieren oder klar getrennt halten, aber nur eine Stelle, die Zeitstempel setzt/refresh’t. - Aufräum-Task ergänzen (Stale-Sessions löschen, Membership-Invalidation), damit die Liste nicht anschwillt.
- Nicht benötigte/alte Dateien zunächst nach
alt_*.jsumbenennen (z.B. alte Session-/Device-Dubletten), anschließend sukzessive entfernen, wenn keine Aufrufer mehr vorhanden.
- Neues, schlankes Controller-/Service-Paar, das explizit
- Achtung: Vor dem Umbenennen prüfen, welche Routen/Calls real genutzt werden (siehe unten). Änderungen nur mit gestaffeltem Deploy/Smoke-Test, da viele Admin-Funktionen auf die Counts zugreifen.
2) Frontend → Backend Funktionsaufrufe (erweiterte Übersicht)
Hinweis: Für 100 % Abdeckung braucht es einen automatisierten Scan aller apiFetch/apiPost/fetch-Strings inkl. dist/. Die Liste unten deckt die relevanten Bereiche ab; Detail-Mapping pro Datei/Komponente steht noch aus.**
Auth / Session / Devices
auth/login(POST) – Login/Magic-Link.validate-device(POST) – Gerätevalidierung.auth/session/users,auth/session/check,auth/session/terminate,auth/user/unblock– Session-Admin.force-neuanmeldung(POST; inkl. Dry-Run) undforce-neuanmeldung/eligible.muc4taxi/devices– Geräte-/Session-Counts (AdminHeaderCounts).
User / Profil / Settings
muc4taxiActivateUser(GET Liste) /muc4taxiActivateUser/:email(GET/POST/DELETE) – User laden/ändern/löschen.muc4taxiActivateUser/me– Profil laden.users/settings,users/theme,users/profile,users/profile/avatar– Settings/Profile-Patches/Uploads.menu/items– Menü vom Server.check-conditions(GET/POST) +check-conditions/admin/current,check-conditions/tarife.health+readAirports/{arrivals|departures}/muc– Status/Data-Check.- Flugplan:
readAirports/{direction}/{airport}(GET, mit Headers). - Modul-/Richtungswechsel persistiert via
users/settings(patchSettingsData).
Rechnungen / Quittungen / Feedback
invoices/create,invoices/history,invoices/pending-users,invoices/unseen,invoices/mark-seen.feature-feedback/summary(Admin).admin/process-invoices,admin/validate-pdf-database.
Admin User-Management
getUnrealUser(GET/POST) – Inaktive Benutzer.muc4taxiUserRolle– Rollen.muc4taxi– diverse Admin-Abfragen (Geräte/Stats/Legacy).sysStatusUser– System-Status User.
Magic / Reset
magicmail,magicauth.- Clientseitige Resets via Helper (
resetApp), Server:reset-Route.
Offene Punkte für eine vollständige Matrix
- Automatisierter Endpunkt-Scan über
frontend/srcundfrontend/dist(regex auf URLs) und Abgleich mit den Routes inserver/server.js. - Detailliertes Mapping: Welche Komponente/Datei ruft welchen Endpunkt (Method, Payload) → Tabellenform.
- Legacy-/nicht genutzte Routen (
muc4taxi...Variationen) identifizieren und ggf. inalt_verschieben. - Klarstellung, was
muc4taxi-Unterrouten konkret liefern (Geräte-/Statistiken etc.).