Eliminar notificación
DELETE/:id
Elimina permanentemente una notificación del sistema. Esta acción no se puede deshacer.
Casos de uso:
- Cuando el usuario limpia notificaciones antiguas
- Eliminación masiva de notificaciones
- Cumplimiento de solicitudes de borrado de datos
- Limpieza automatizada de notificaciones expiradas
Flujo típico:
- El usuario selecciona opción "Eliminar" en una notificación
- El cliente muestra confirmación al usuario
- Si se confirma:
- Llama a este endpoint con el ID de la notificación
- El servidor:
- Valida el token JWT
- Verifica que la notificación exista y pertenezca a la compañía del usuario
- Elimina permanentemente el registro de la base de datos
- Retorna la notificación eliminada
- El cliente remueve la notificación de la UI localmente
Consideraciones:
- Solo se pueden eliminar notificaciones propias de la compañía del usuario
- La eliminación es permanente e irreversible
- Se recomienda implementar confirmación en el cliente antes de llamar al endpoint
- Para eliminaciones masivas, considerar implementar endpoint batch
Ejemplo de implementación:
// Ejemplo de llamada desde frontend
async function deleteNotification(notificationId) {
if (confirm('¿Está seguro de eliminar esta notificación?')) {
try {
const response = await fetch(`/company/notifications/${notificationId}`, {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${userToken}`
}
});
if (response.ok) {
const deletedNotification = await response.json();
removeNotificationFromUI(deletedNotification._id);
}
} catch (error) {
console.error('Error deleting notification:', error);
}
}
}
Impacto en el sistema:
- Reduce el almacenamiento utilizado
- Mejora el rendimiento en consultas futuras
- Elimina datos sensibles de forma permanente
Request
Responses
- 200
- 401
- 404
Notificación eliminada exitosamente
No autorizado - Token JWT inválido o no proporcionado
Notificación no encontrada - El ID no corresponde a una notificación existente