- Refactored club join requests, memberships, and clubs routers to utilize TenantContext for authentication and authorization, enhancing security and consistency. - Updated session handling to replace direct session dictionary access with TenantContext, improving code clarity and maintainability. - Ensured proper role and profile ID retrieval from TenantContext in various endpoints, streamlining access control for club management functionalities.
2.3 KiB
2.3 KiB
Endpoint-Audit: Mandanten & Governance
Fortlaufend gemäß ACCESS_LAYER_AND_GOVERNANCE_PLAN.md Stufe A–C.
| Router / Bereich | Beispiel-Endpunkt | tenant-relevant | Depends(get_tenant_context) / Kontext |
Governance geprüft (Liste+Detail) | Notizen |
|---|---|---|---|---|---|
| profiles | GET /api/profiles/me |
ja | resolve_tenant_context inline (invalid_header_policy=ignore) |
teils | + effective_club_id; veralteter Header bricht Refresh nicht |
| profiles | PUT /api/profiles/{id}, PUT /api/profile |
ja | get_tenant_context |
active_club_id Mitgliedschaft |
Validiert X-Active-Club-Id konsistent zu Mitgliedschaft |
| clubs | geschützte /api/clubs*, /divisions*, /groups* |
ja | get_tenant_context |
Mitgliedschaft / can_manage_* |
Öffentlich: /clubs/public-directory ohne Auth |
| club_memberships | /clubs/{id}/members* |
ja | get_tenant_context |
ja | |
| club_join_requests | /me/club-join-requests, /clubs/{id}/join-requests* |
ja | get_tenant_context |
ja | |
| exercises | alle geschützten /api/exercises* |
ja | get_tenant_context |
ja | |
| exercise_progression_graphs | /api/exercise-progression-graphs* |
ja | get_tenant_context |
Liste wie Bibliothek; Schreiben Ersteller/Plattform-Admin | Kanten: Lesen wenn Graph lesbar |
| training_planning | alle geschützten Endpoints | ja | get_tenant_context |
ja | Vorlagen-Liste wie Übungen; POST Vorlage Default club_id |
| training_framework_programs | alle geschützten Endpoints | ja | get_tenant_context |
ja | Liste + POST Default club_id |
| admin_users | GET /api/admin/users |
Plattform | optional | Admin-Rolle | |
| Sonstige | skills, methods, catalogs | zu klären | — | oft global | Zeilen ergänzen |
Legende: „zu klären“ = keine Vereinsdaten oder globales Lesen; bei neuem Bezug zu club_id/visibility nachziehen.
Letzte Änderung: 2026-05-05 — Vereins-/Mitgliedschafts-/Antrags-Router und Profil-PUT auf get_tenant_context; Progressionsgraphen Sichtbarkeit wie Bibliothek.
Hinweis GET /training-units
Kein impliziter Filter nach effective_club_id (Multi-Verein-Kalender); bei Bedarf club_id Query setzen.