Soft disable user with reason (Admin only)
PUT/company/users/disabled/disable/:id
Deaktiviert einen Benutzer mit Soft Delete (bevorzugte Methode gegenüber einfachem DELETE) und ermöglicht das Speichern eines Grundes und einer erklärenden Nachricht.
Ziel
Administratoren zu ermöglichen, Benutzer kontrolliert mit Protokollierung des Grundes zu deaktivieren, um Audits und mögliche Reaktivierung zu erleichtern.
Anwendungsfälle
- Benutzer wegen Zahlungsverzugs deaktivieren
- Konto wegen Nichteinhaltung der Regeln sperren
- Benutzer vorübergehend mit dokumentiertem Grund blockieren
- Mitarbeiter deaktivieren, der das Unternehmen verlässt
Authentifizierung & Autorisierung
- Erfordert gültiges JWT (Middleware m.isloged)
- Erfordert Rolle admin oder dev (Middleware m.isAdmin)
Verhalten
- Führt user.delete() aus (Soft Delete von mongoose-delete)
- Setzt status = false
- Aktualisiert die Grundfelder: reason, reasonMessage
- Speichert das Deaktivierungsdatum in reasonDate
- Setzt automatisch deleted = true und deletedAt
Request Body
- reason: Grund für die Deaktivierung (Standard: BAD_USER)
- message: Optionale erklärende Nachricht
Vergleich mit anderen Deaktivierungsmethoden
- DELETE /:id: Einfacher Soft Delete (deleted=true)
- DELETE /delete/:id: Deaktiviert nur (status=false)
- PUT /disabled/disable/:id: Soft Delete + Grund + Nachricht (EMPFOHLEN)
Prozess
- Benutzer anhand der ID suchen
- Falls nicht vorhanden, 404 zurückgeben
- user.delete() für Soft Delete ausführen
- reason und reasonMessage aus dem Body aktualisieren
- reasonDate = now setzen
- status = false setzen
- Änderungen speichern
- Bestätigung mit deletedAt zurückgeben
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 500
Benutzer erfolgreich mit Soft Delete deaktiviert.
Ungültige Anfrage (keine ID angegeben)
Nicht autorisiert (Admin- oder Dev-Rolle erforderlich)
Verboten (Benutzer ist kein Administrator)
Benutzer nicht gefunden.
Fehler beim Deaktivieren des Benutzers