Pular para o conteúdo principal

Soft disable user with reason (Admin only)

PUT 

/company/users/disabled/disable/:id

Desabilita um usuário com soft delete (método preferido sobre DELETE simples) permitindo salvar uma razão e mensagem explicativa.

Objetivo

Permitir que administradores desabilitem usuários de forma controlada com registro da razão, facilitando auditoria e possível reativação.

Casos de Uso

  • Desabilitar usuário por falta de pagamento
  • Suspender conta por descumprimento
  • Bloquear usuário temporariamente com motivo documentado
  • Desabilitar funcionário que deixa a empresa

Autenticação & Autorização

  • Requer JWT válido (middleware m.isloged)
  • Requer função admin ou dev (middleware m.isAdmin)

Comportamento

  • Executa user.delete() (soft delete do mongoose-delete)
  • Define status = false
  • Atualiza campos de razão: reason, reasonMessage
  • Salva data de desabilitação em reasonDate
  • Define deleted = true e deletedAt automaticamente

Corpo da Requisição

  • reason: Razão da desabilitação (padrão: BAD_USER)
  • message: Mensagem explicativa opcional

Comparação com outros métodos de desabilitação

  • DELETE /:id: Soft delete simples (deleted=true)
  • DELETE /delete/:id: Apenas desabilita (status=false)
  • PUT /disabled/disable/:id: Soft delete + razão + mensagem (RECOMENDADO)

Processo

  1. Busca usuário por ID
  2. Se não existir, retorna 404
  3. Executa user.delete() para soft delete
  4. Atualiza reason e reasonMessage do body
  5. Define reasonDate = now
  6. Define status = false
  7. Salva alterações
  8. Retorna confirmação com deletedAt

Request

Responses

Usuário desabilitado com sucesso com exclusão suave