Delete notification
DELETE/company/notifications/:id
Elimina permanentemente uma notificação do sistema. Esta ação é irreversível e libera espaço na base de dados.
Objetivo
Permitir que as empresas gerenciem suas notificações, eliminando aquelas que não precisam manter, permitindo uma limpeza controlada do histórico de alertas.
Casos de uso
- Limpeza de notificações antigas: Eliminar notificações históricas não relevantes
- Eliminação individual: Quando o usuário decide apagar uma notificação específica
- Gestão de armazenamento: Reduzir o tamanho da base de dados eliminando registros desnecessários
- Eliminação após ação: Apagar notificações depois de completar a ação associada
Fluxo de eliminação
flowchart TD
A[DELETE /{id}] --> B{ID Fornecido?}
B -->|Não| C[Verificar Corpo]
B -->|Sim| D[Usar ID do Caminho]
C -->|Encontrado| E[Usar ID do Corpo]
C -->|Não Encontrado| F[Verificar Query]
F -->|Encontrado| G[Usar ID da Query]
F -->|Não Encontrado| H[400 Bad Request]
D --> I{Usuário Autenticado?}
E --> I
G --> I
I -->|Não| J[404 USER_NOT_FOUND]
I -->|Sim| K{Empresa Existe?}
K -->|Não| L[401 CIA_NOT_FOUND]
K -->|Sim| M{Notificação Existe?}
M -->|Não| N[404 NOTIFICATION_NOT_FOUND]
M -->|Sim| O[Eliminar Notificação]
O --> P[Eliminação Permanente]
P --> Q[Retornar Notificação Eliminada - 200]
Flexibilidade de parâmetros
O ID da notificação pode ser enviado de três formas (por ordem de prioridade):
- Path parameter (recomendado):
/company/notifications/{id} - Query parameter: `/company/notifications/{id}?id
Request
Responses
- 200
- 401
- 404
Notificação removida com sucesso.
A resposta contém a notificação como existia antes de ser removida. Esta informação pode ser útil para:
- Confirmar o que foi removido
- Atualizar a interface localmente
- Logging/auditoria
Não autorizado. O usuário não tem uma empresa associada.
CIA_NOT_FOUND:
- O usuário autenticado não tem uma empresa atribuída
- A empresa foi desativada ou excluída
Recurso não encontrado. Pode ser por duas razões:
USER_NOT_FOUND:
- O token contém um ID de usuário que não existe
NOTIFICATION_NOT_FOUND:
- O ID fornecido não corresponde a nenhuma notificação
- A notificação já foi excluída anteriormente