Zum Hauptinhalt springen

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

Benutzer erfolgreich gelöscht (Soft Delete).