6.5 KiB
Post-Cleanup Report: Entfernte API-Endpunkte
Datum: 2026-04-12
Scope: Suche nach verwaisten Referenzen auf die am selben Tag entfernten Routen und Endpunkte (siehe wiki/z-archive/unused-api-endpoints.md).
1. Zusammenfassung
| Kategorie | Funde | Handlungsbedarf |
|---|---|---|
| Verwaiste Frontend-Komponenten (RBAC Export/Import) | 3 Dateien | Hoch — Code ruft gelöschte Backend-Endpunkte auf |
| Datenmodell-Referenz auf entfernten i18n-Endpunkt | 1 Stelle | Hoch — frontend_options zeigt auf nicht mehr existierenden Pfad |
| Billing filter-values (User-View) | 1 Stelle | Kein — Endpunkt existiert noch (nur Admin-Variante entfernt) |
| Wiki-Dokumentation mit Verweisen auf gelöschte Module | 1 Datei | Niedrig — Doku-Aktualisierung |
| Analyse-Artefakte (CSV/TXT) | 2 Dateien | Keine — Einmalige Analyse-Skripte |
2. Detaillierte Funde und Handlungsempfehlungen
2.1 RBAC Export/Import — Frontend-Code ohne Backend (HOCH)
Problem: Die gelöschte Route routeAdminRbacExport.py bediente die Endpunkte /api/mandates/{id}/rbac/export, /api/admin/rbac/global/export etc. Im Frontend existieren noch:
| Datei | Beschreibung |
|---|---|
frontend_nyla/src/hooks/useRbacExportImport.ts |
Hook mit API-Calls zu /api/mandates/{id}/rbac/export, /api/admin/rbac/global/export, /api/features/instances/{id}/rbac/export, und den zugehörigen Import-Endpunkten |
frontend_nyla/src/components/RbacExportImport/RbacExportImport.tsx |
UI-Komponente (Export-Button, Import-Upload, Vorschau, Ergebnis-Modal) |
frontend_nyla/src/components/RbacExportImport/index.ts |
Re-Export |
frontend_nyla/src/components/RbacExportImport/RbacExportImport.module.css |
Styles |
Prüfung: Die Komponente RbacExportImport wird aktuell nirgendwo importiert oder eingebunden — sie ist toter Code.
Empfehlung:
- Option A (empfohlen): Alle vier Dateien löschen (
useRbacExportImport.ts,RbacExportImport.tsx,index.ts,RbacExportImport.module.css). Der Code ist vollständig verwaist. - Option B: Falls RBAC-Export/Import in Zukunft wieder gebraucht wird, die Dateien in einen
_archive-Ordner verschieben.
2.2 Datenmodell datamodelUam.py — Verweis auf gelöschten i18n-Endpunkt (HOCH)
Problem: In gateway/modules/datamodels/datamodelUam.py (Zeile 246–252) verweist das Feld language des User-Modells auf den entfernten Endpunkt:
"frontend_options": "/api/i18n/user-language-options"
Dieser Endpunkt (GET /user-language-options in routeI18n.py) wurde entfernt.
Auswirkung: Wenn das Frontend frontend_options dynamisch auflöst (z. B. im FormGenerator), wird der Select-Dropdown für die Sprachauswahl beim User-Profil leer bleiben oder einen 404-Fehler auslösen.
Empfehlung:
- Prüfen, ob
frontend_optionstatsächlich dynamisch aufgelöst wird (FormGenerator-Logik). - Falls ja: Entweder den Endpunkt wiederherstellen oder
frontend_optionsauf einen existierenden Endpunkt umleiten (z. B.GET /api/i18n/setsmit Mapping auf{value, label}-Format). - Falls nein (statische Anzeige): Den
frontend_options-Wert durch eine statische Liste ersetzen oder entfernen.
2.3 Billing filter-values — Erledigt (2026-04-13)
Befund (alt): BillingDataView.tsx rief /api/billing/view/users/transactions/filter-values auf.
Update: Im Rahmen der Unified Filter API Migration (2026-04-13) wurde das gesamte /filter-values-Pattern eliminiert. BillingDataView.tsx nutzt jetzt GET /api/billing/view/users/transactions?mode=filterValues&column=xxx. Der separate Endpunkt existiert nicht mehr.
2.4 FormGeneratorTable — Unified Filter API (aktualisiert 2026-04-13)
Befund (alt): FormGeneratorTable.tsx baute generisch {apiEndpoint}/filter-values-URLs zusammen.
Update: Das /filter-values-Sub-Pfad-Pattern wurde komplett durch Query-Parameter auf dem Haupt-Endpunkt ersetzt:
GET {apiEndpoint}?mode=filterValues&column=xxx— Distinct-Werte für SpaltenfilterGET {apiEndpoint}?mode=ids&pagination={filters}— Alle gefilterten IDs (für "Select All Filtered")
Alle separaten /filter-values-Endpunkte in Core-Routes und Feature-Routes (Trustee, RealEstate) wurden entfernt. Siehe wiki/b-reference/frontend-nyla/formgenerator.md für die aktuelle Dokumentation.
2.5 Wiki-Dokumentation — Verweis auf gelöschte routeSecurityAdmin.py (NIEDRIG)
Datei: wiki/b-reference/platform/database-architecture.md
In Zeile 251 und 270 wird routeSecurityAdmin.py als Admin-DB-Listing-Modul erwähnt.
Empfehlung: Die betroffenen Abschnitte aktualisieren — entweder den Verweis entfernen oder als „entfernt am 2026-04-12" markieren.
2.6 SharePoint folder-options — Funktioniert weiterhin
Befund: NeutralizationView.tsx und TrusteeExpenseImportView.tsx rufen GET /api/sharepoint/folder-options?connectionReference=... auf. Dieser Endpunkt wurde beibehalten — nur die alten Pfade mit /{connectionId}/... wurden entfernt.
Empfehlung: Kein Handlungsbedarf.
2.7 ClickUp — Funktioniert weiterhin
Befund: workflowApi.ts ruft GET /api/clickup/{connectionId}/teams/{teamId} auf. Dieser Endpunkt ist einer der fünf beibehaltenen Pfade.
Empfehlung: Kein Handlungsbedarf.
2.8 Analyse-Artefakte
Dateien:
gateway/scripts/import_analysis.csvgateway/scripts/function_imports_analysis.txt
Diese enthalten Referenzen auf gelöschte Module, sind aber einmalige Analyse-Outputs.
Empfehlung: Optional löschen oder in z-archive verschieben, um Verwirrung zu vermeiden.
3. Priorisierte Aktionsliste
| Prio | Aktion | Status |
|---|---|---|
| 1 | datamodelUam.py: frontend_options auf /api/i18n/codes umgestellt + FormGenerator-Mapping erweitert (code/id Fallback) |
Erledigt |
| 2 | Frontend: RbacExportImport-Komponente + Hook gelöscht (4 Dateien) |
Erledigt |
| 3 | Wiki: database-architecture.md aktualisiert (routeSecurityAdmin-Verweis entfernt) |
Erledigt |
| 4 | Analyse-Artefakte gelöscht (import_analysis.csv, function_imports_analysis.txt) |
Erledigt |
4. Verifizierung
- Gateway-Import-Test:
python -c "import app; print('ok')"→ Exit-Code 0, Ausgabeok. - Keine Laufzeitfehler durch gelöschte Module (aiohttp/langchain_core-Fehler sind vorbestehend und betreffen optionale Features).
- Kein Frontend-Code ruft die vollständig gelöschten Routen (Messaging, SecurityAdmin) auf.
- Kein Bot/LLM-Code referenziert entfernte Endpunkte.