Passa al contenuto principale

Soft disable user with reason (Admin only)

PUT 

/company/users/disabled/disable/:id

Disabilita un utente con soft delete (metodo preferito rispetto a DELETE semplice) permettendo di salvare una ragione e un messaggio esplicativo.

Obiettivo

Consentire agli amministratori di disabilitare gli utenti in modo controllato con registrazione della ragione, facilitando audit e possibile riattivazione.

Casi d'uso

  • Disabilitare utente per mancato pagamento
  • Sospendere account per inadempienza
  • Bloccare utente temporaneamente con motivo documentato
  • Disabilitare dipendente che lascia l'azienda

Autenticazione & Autorizzazione

  • Richiede JWT valido (middleware m.isloged)
  • Richiede ruolo admin o dev (middleware m.isAdmin)

Comportamento

  • Esegue user.delete() (soft delete di mongoose-delete)
  • Imposta status = false
  • Aggiorna campi di ragione: reason, reasonMessage
  • Salva data di disabilitazione in reasonDate
  • Imposta deleted = true e deletedAt automaticamente

Corpo della richiesta

  • reason: Ragione di disabilitazione (default: BAD_USER)
  • message: Messaggio esplicativo opzionale

Confronto con altri metodi di disabilitazione

  • DELETE /:id: Soft delete semplice (deleted=true)
  • DELETE /delete/:id: Solo disabilita (status=false)
  • PUT /disabled/disable/:id: Soft delete + ragione + messaggio (RACCOMANDATO)

Processo

  1. Cerca utente per ID
  2. Se non esiste, restituisce 404
  3. Esegue user.delete() per soft delete
  4. Aggiorna reason e reasonMessage dal body
  5. Imposta reasonDate = now
  6. Imposta status = false
  7. Salva modifiche
  8. Restituisce conferma con deletedAt

Request

Responses

Utente disabilitato con successo tramite soft delete.