Zum Hauptinhalt springen

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

  1. Benutzer anhand der ID suchen
  2. Falls nicht vorhanden, 404 zurückgeben
  3. user.delete() für Soft Delete ausführen
  4. reason und reasonMessage aus dem Body aktualisieren
  5. reasonDate = now setzen
  6. status = false setzen
  7. Änderungen speichern
  8. Bestätigung mit deletedAt zurückgeben

Request

Responses

Benutzer erfolgreich mit Soft Delete deaktiviert.