Skip to content

[LOGIC / BUSINESS] F-06.2 — Detalle, Crear y Editar Código de Error

Épica: EPIC-06 — Catálogo de Códigos de Error (CRUD)

🏷️ Categoría

Categoría: Logic / BusinessSecundaria: DataImpacta en: Equipo Fullstack (Livewire + Laravel + Base de Datos)

📦 Dependencias

Backlogs que deben estar completados antes de implementar esta feature.

BacklogMotivo
F-06.1Listado de error codes funcional; el detalle/edición es su continuación directa
F-00.2Tabla error_codes con constraint UNIQUE (code, application_id) en BD

Prioridad: Must


Descripción: Como administrador del sistema Quiero poder crear nuevos códigos de error, editar los existentes y borrarlos Para mantener actualizado el catálogo de errores conocidos del sistema

Criterios de Aceptación (Checklist):

  • [ ] Escenario 1 (Crear error code): Dado que relleno el formulario de creación (Código, Aplicación, Nombre, Descripción opcional, Fichero opcional, Línea opcional) y pulso "Guardar", cuando el formulario es válido, entonces se crea el registro en error_codes y se redirige al detalle del nuevo código con un flash message de confirmación.
  • [ ] Escenario 2 (Validación clave compuesta): Dado que intento crear un error code con la misma combinación (code, application_id) que ya existe, cuando se envía el formulario, entonces se muestra un error de validación "Ya existe un código con este ID para esta aplicación" y no se duplica.
  • [ ] Escenario 3 (Editar error code): Dado que estoy en la vista de detalle de un error code y pulso "Editar", cuando se activa el modo edición, entonces los campos se vuelven editables. Al guardar, se actualiza el registro y se muestra confirmación.
  • [ ] Escenario 4 (Borrar error code): Dado que pulso "Borrar" en el detalle de un error code, cuando confirmo el modal (Alpine.js), entonces se borra el registro de error_codes (y error_code_comments en cascade) y se redirige al listado.
  • [ ] Escenario 5 (Validaciones de campos): code: requerido, max 50. application_id: requerido, FK válida a tabla applications (select). name: requerido, max 200. description: opcional, max 5000. file: opcional, max 255. line: opcional, entero positivo.
  • [ ] Requisito Técnico: Componente Livewire ErrorCodeForm con dos modos: create y edit. Ruta GET /error-codes/create para crear y GET /error-codes/{id} para detalle/editar. ErrorCodeController@store y ErrorCodeController@update con FormRequest ErrorCodeRequest. Unique rule en validación: Rule::unique('error_codes')->where('application_id', $this->application_id)->ignore($this->errorCodeId).

MoSCoW: MUSTSprint: Sprint 2

Notas:

  • La clave compuesta (code, application_id) es la clave de negocio que identifica de forma única un tipo de error dentro de una aplicación. El campo application_id es un FK a la tabla applications; en el formulario se muestra un <select> con Application::orderBy('name')->pluck('name', 'id').
  • El campo line es orientativo — puede cambiar entre versiones del código. No es obligatorio.
  • El borrado en cascade garantiza que al eliminar un error code, también se eliminan sus comentarios.

Log Management Dashboard — Documentación del Proyecto