feat: Phase 6 – Modul-API-Vertrag mit platform-module-sdk
This commit is contained in:
@@ -9,7 +9,7 @@ Der Arbeitsplan sieht zehn inkrementelle Phasen vor. Nach jeder Phase muss das S
|
||||
| 3 | Modul-System (Manifest, Installation, Lifecycle) | ✅ Abgeschlossen |
|
||||
| 4 | Gateway & dynamisches Routing (`/slug`) | ✅ Abgeschlossen |
|
||||
| 5 | Berechtigungssystem (User ↔ Module) | ✅ Abgeschlossen |
|
||||
| 6 | Modul-API (`/health`, `/api/manifest`, `/api/me`) | ⏳ Geplant |
|
||||
| 6 | Modul-API (`/health`, `/api/manifest`, `/api/me`) | ✅ Abgeschlossen |
|
||||
| 7 | Referenzmodul Kalender | ⏳ Geplant |
|
||||
| 8 | Modul-SDK (`platform-module-sdk`) | ⏳ Geplant |
|
||||
| 9 | Administration (Übersichten, Audit-UI, Einstellungen) | ⏳ Geplant |
|
||||
@@ -94,8 +94,20 @@ Definition of Done: User ↔ Module-Zuweisung, Access Control, Permission Middle
|
||||
- [x] Backend-Tests: 90 bestanden (inkl. ModulePermissionsService, Gateway GRANTED-Fall)
|
||||
- [x] Testszenarien aus Arbeitsplan abgedeckt: Admin → alle Module; User ohne Berechtigung → 403; User mit GRANTED → Proxy weitergeleitet
|
||||
|
||||
## Nächste Schritte (Phase 6 – Modul-API)
|
||||
## Phase 6 – Modul-API (abgeschlossen)
|
||||
|
||||
- `GET /health`, `GET /api/manifest`, `GET /api/me` als verbindlicher Modul-Vertrag
|
||||
- Zentrale Authentifizierung zwischen Plattform und Modul (Identitäts-Header validieren)
|
||||
- Referenzmodul um den vollständigen API-Vertrag erweitern
|
||||
Definition of Done: `GET /health`, `GET /api/manifest`, `GET /api/me` plus zentrale Authentifizierung zwischen Plattform und Modul.
|
||||
|
||||
- [x] Verbindlicher Modul-API-Vertrag definiert (health, manifest, me)
|
||||
- [x] `platform-module-sdk` (CommonJS): `extractIdentity` (Gateway-Header, case-insensitive, Rollen-Validierung), `healthResponse`, `meResponse`
|
||||
- [x] Identitätsübergabe über interne Header (`x-user-id`, `x-user-username`, `x-user-display-name`, `x-user-role`); Session-Cookie wird nie an Module weitergereicht
|
||||
- [x] Demo-Modul als Referenzimplementierung des Vertrags
|
||||
- [x] Backend-Tests: 98 bestanden (inkl. 8 SDK-Tests)
|
||||
- [x] E2E verifiziert: `/demo/health` → vertragskonform, `/demo/api/manifest` → Manifest, `/demo/api/me` → Identität vom Gateway (admin/ADMIN, Permissions); direkter Aufruf ohne Identität → 401; ohne Login → 401 vom Gateway
|
||||
|
||||
## Nächste Schritte (Phase 7 – Referenzmodul Kalender)
|
||||
|
||||
- Vollständiges Kalender-Modul (Dashboard, Kalender, Termine, Teilnehmer, Einstellungen)
|
||||
- Eigenes PostgreSQL-Schema (`calendar.*`) mit Migrationen
|
||||
- Frontend mit eigener Oberfläche, integriert in das Plattform-Design
|
||||
- Dient als Referenzimplementierung für zukünftige Module
|
||||
Reference in New Issue
Block a user