feat: Phase 2 – Benutzerverwaltung (CRUD-API, Profil, UI)
This commit is contained in:
@@ -5,7 +5,7 @@ Der Arbeitsplan sieht zehn inkrementelle Phasen vor. Nach jeder Phase muss das S
|
||||
| Phase | Bereich | Status |
|
||||
|---|---|---|
|
||||
| 1 | Grundgerüst (Docker, DB, Login, Rollen) | ✅ Abgeschlossen |
|
||||
| 2 | Benutzerverwaltung | ⏳ Geplant |
|
||||
| 2 | Benutzerverwaltung | ✅ Abgeschlossen |
|
||||
| 3 | Modul-System (Manifest, Installation, Lifecycle) | ⏳ Geplant |
|
||||
| 4 | Gateway & dynamisches Routing (`/slug`) | ⏳ Geplant |
|
||||
| 5 | Berechtigungssystem (User ↔ Module) | ⏳ Geplant |
|
||||
@@ -33,9 +33,28 @@ Definition of Done:
|
||||
- [x] Admin-Dashboard sichtbar (inkl. Systemstatus)
|
||||
- [x] Backend-Unit-Tests (Auth, Session, Passwort, Validierung)
|
||||
|
||||
## Nächste Schritte (Phase 2 – Benutzerverwaltung)
|
||||
## Phase 2 – Benutzerverwaltung (abgeschlossen)
|
||||
|
||||
- Benutzerliste, Benutzer erstellen/bearbeiten/deaktivieren
|
||||
- Passwortänderung und Reset durch Admin
|
||||
- `GET/POST/PATCH/DELETE /api/v1/users/*` mit `@Roles('ADMIN')`
|
||||
- Frontend-Seite `/admin/users` mit Tabelle, Formular und Bestätigungsdialogen
|
||||
Definition of Done: Admin kann Benutzer vollständig verwalten.
|
||||
|
||||
- [x] `GET/POST/PATCH/DELETE /api/v1/users/*` (nur `@Roles('ADMIN')`)
|
||||
- [x] Benutzerliste, Benutzer anlegen (Zod-Validierung, Duplikat-Schutz 409)
|
||||
- [x] Benutzer bearbeiten (Anzeigename, E-Mail, Rolle)
|
||||
- [x] Benutzer deaktivieren/aktivieren (Sessions werden sofort ungültig)
|
||||
- [x] Passwort-Reset durch Admin (alle Sessions des Benutzers werden gelöscht)
|
||||
- [x] Schutzregeln: keine Selbst-Deaktivierung/-Löschung, letzter aktiver Admin geschützt
|
||||
- [x] Profil-Endpunkte (`GET /api/v1/profile`, `PATCH /api/v1/profile/password`)
|
||||
- [x] Eigenes Passwort ändern (Verifikation des aktuellen Passworts, andere Sessions werden abgemeldet)
|
||||
- [x] Frontend: Benutzerverwaltungs-Seite (Tabelle, Create/Edit/Reset/Delete-Modals, Toasts)
|
||||
- [x] Frontend: Profil-Seite mit Passwortänderung
|
||||
- [x] UI-Komponenten: Modal, Select, Toast (Design-System erweitert)
|
||||
- [x] Backend-Tests: 49 bestanden (inkl. UsersService, ProfileService)
|
||||
- [x] E2E verifiziert: CRUD, RBAC (User → 403), Login-Sperre nach Deaktivierung, Passwort-Flows
|
||||
|
||||
## Nächste Schritte (Phase 3 – Modul-System)
|
||||
|
||||
- Modul-Datenmodell (`modules`-Tabelle) und Manifest-Vertrag (`module.json`)
|
||||
- Modul-Installation als ZIP-Paket (Validierung, Dateien, Registrierung)
|
||||
- Modul-Lifecycle (INSTALLED/STARTING/RUNNING/STOPPING/STOPPED/ERROR/DISABLED)
|
||||
- Prozessverwaltung der Modul-Prozesse über Supervisor
|
||||
- Healthchecks und Statusanzeige im Admin-Bereich
|
||||
Reference in New Issue
Block a user