Buscar en la documentación

Eliminar y restaurar

El borrado lógico de un incidente, quién lo puede ver después y cómo se devuelve, sin perder nunca su historial.

Módulo incidents1 min de lecturaVer en GitHub

Eliminar un incidente es un borrado lógico (deleted_at): desaparece del listado, del dashboard y del detalle para casi todos, pero la fila y su historial siguen ahí. Solo quien tiene incidents.restore puede verlo (filtro “Ver eliminados” del listado) y devolverlo.

Diagrama5 carriles · 12 pasos · 2 salidas de error
SíNoSíNoPulsa Eliminar yconfirma1Envía DELETE/incidents/{id}2¿Lo ve y tieneincidents.delete?3Responde 404 o403Marca deleted_at yanota "deleted"4Avisa del cambio5Vuelve al listado6Abre "Vereliminados" y eligeRestaurar7Envía POST/incidents/{id}/restore8¿Tieneincidents.restorey estáeliminado?9Responde 403 o409Quita deleted_at yanota "restored"10Avisa del cambio11El incidente vuelvecon todo suhistorial12
Los números coinciden con el paso a paso. En pantallas pequeñas el diagrama se desliza de lado.

Paso a paso

  1. PersonaPulsa Eliminar y confirma

    El botón aparece solo si la API lo permite (actions.delete) y siempre pide confirmación.

  2. NavegadorEnvía DELETE /incidents/{id}
  3. API¿Lo ve y tiene incidents.delete?
  4. Base de datosMarca deleted_at y anota "deleted"

    En la misma transacción. Nada se borra de verdad; las FK del historial siguen válidas.

  5. Cola y avisosAvisa del cambio

    Las pantallas abiertas de otras personas reciben incident.changed; al volver a consultar reciben 404 y lo quitan.

  6. NavegadorVuelve al listado
  7. PersonaAbre "Ver eliminados" y elige Restaurar

    Solo con incidents.restore. Pedir los eliminados sin ese permiso responde 403.

  8. NavegadorEnvía POST /incidents/{id}/restore
  9. API¿Tiene incidents.restore y está eliminado?
  10. Base de datosQuita deleted_at y anota "restored"
  11. Cola y avisosAvisa del cambio
  12. NavegadorEl incidente vuelve con todo su historial

Qué ve la persona en cada error

CódigoHTTPCuándoMensaje en pantalla
RESOURCE_NOT_FOUND404No existe, ya estaba eliminado o no lo puede verNo encontramos lo que buscas. Puede que se haya eliminado o que no tengas acceso.
FORBIDDEN_ACTION403Sin permiso de eliminar o de restaurarNo tienes permiso para hacer esta acción. Si crees que deberías tenerlo, habla con un administrador.
INCIDENT_NOT_DELETED409Se intenta restaurar uno que no está eliminadoEste incidente no está eliminado, así que no hay nada que restaurar.

Dónde está en el código