2nd Brain

FunktionsanfrageCheck

/home/darth/Documents/Mardowns/10_Projekte/aktuell_27.11/docs/FunktionsanfrageCheck.md

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 UserOnlineListe kapselt (Lesen/Auswertung + Schreiben). Alle bisherigen Schreibpfade darauf umbiegen.
    • Schema konsolidieren: Entweder lastActivity oder letzterBesuch – ein Feld, konsistente TZ (UTC/Europe/Berlin). istOnline optional aus Aktivität ableitbar.
    • Funktionen mergen: removeDevice vs. terminateSession vereinheitlichen; blockAllUserDevices intern terminateAllSessions nutzen.
    • 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_*.js umbenennen (z.B. alte Session-/Device-Dubletten), anschließend sukzessive entfernen, wenn keine Aufrufer mehr vorhanden.
  • 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) und force-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/src und frontend/dist (regex auf URLs) und Abgleich mit den Routes in server/server.js.
  • Detailliertes Mapping: Welche Komponente/Datei ruft welchen Endpunkt (Method, Payload) → Tabellenform.
  • Legacy-/nicht genutzte Routen (muc4taxi... Variationen) identifizieren und ggf. in alt_ verschieben.
  • Klarstellung, was muc4taxi-Unterrouten konkret liefern (Geräte-/Statistiken etc.).
Attachments
Noch keine.