Delete user with soft delete (Admin only)
DELETE/company/users/:id
Löscht einen Benutzer dauerhaft mittels Soft Delete (mongoose-delete). Der Benutzer erscheint nicht mehr in normalen Abfragen, kann aber wiederhergestellt werden.
Ziel
Administratoren ermöglichen, Benutzer sicher mit Wiederherstellungsmöglichkeit mittels Soft Delete zu löschen.
Anwendungsfälle
- Einen Benutzer löschen, der nicht mehr im Unternehmen arbeitet
- Doppelte Konten löschen
- Testbenutzer löschen
Authentifizierung & Autorisierung
- Erfordert gültiges JWT (Middleware m.isLoged)
- Erfordert Rolle admin oder dev (Middleware m.isAdmin)
Verhalten
- Nutzt user.delete() von mongoose-delete (Soft Delete)
- Setzt deleted: true und deletedAt auf das aktuelle Datum
- Benutzer erscheint nicht mehr in normalen Queries
- Wiederherstellbar über Endpunkt POST /disabled/reactivate/:id
Hinweise
- Unterscheidet sich von DELETE /delete/:id, das nur deaktiviert (status=false)
- Dieser Endpunkt löscht den Datensatz vollständig (wenn auch wiederherstellbar)
Validierungsablauf
flowchart TD
A[Erhalte DELETE /:id] --> B{Benutzer Admin?}
B -->|Nein| C[403 Forbidden]
B -->|Ja| D{Benutzer existiert?}
D -->|Nein| E[404 Not Found]
D -->|Ja| F[Soft Delete ausführen]
F --> G[Setze deleted: true]
G --> H[Setze deletedAt]
H --> I[Gebe 200 OK zurück]
Request
Responses
- 200
- 401
- 403
- 404
Benutzer erfolgreich gelöscht (Soft Delete).
Nicht autorisiert (Admin- oder Dev-Rolle erforderlich)
Verboten (Benutzer ist kein Administrator)
Benutzer nicht gefunden.