Cómo eliminar una especificación
Retira una especificación propia de organización o ubicación, limpia sus asociaciones con productos y conserva histórico del catálogo mediante snapshots cuando hay servicios que lo necesitan.
En este artículo
Este flujo sirve para eliminar una especificación editable de Grupo Marea Demo o de Marea Gran Via. La lista puede mostrar elementos de Sistema, organización y ubicación, pero Antylogic solo permite borrar en el ámbito propietario real.
El borrado es físico. Antes de eliminar, Antylogic puede congelar el estado del catálogo para que los servicios ya planificados conserven la información anterior.
Antes de empezar
- Sesión iniciada en Antylogic con Grupo Marea Demo; para el flujo de ubicación, Marea Gran Via debe estar seleccionada.
- Permiso `catalog:view` o `catalog:manage` para abrir la lista o el detalle de especificaciones.
- Permiso `catalog:manage` en el ámbito propietario real de la especificación para poder eliminarla.
- Una especificación propia de organización o ubicación. Las especificaciones de Sistema no se eliminan.
- Para capturas en el runtime ES, crear una especificación temporal propia porque no existen variables `SETUP_SPECIFICATION_*` en `maestro-env.json`.
Instrucciones
- 1.
Abre Especificaciones
Desde Catálogos, entra en la pestaña Especificaciones de Marea Gran Via o de Grupo Marea Demo. Revisa nombre, descripción y propietario para distinguir elementos de Sistema, organización y ubicación.
- 2.
Elige una especificación editable
Selecciona una especificación propia del ámbito que gestionas. Si solo tienes `catalog:view`, podrás consultarla, pero no eliminarla. Las filas de Sistema o de otro ámbito quedan en lectura o se tratan como no encontradas.
- 3.
Pulsa Eliminar
Usa Eliminar desde el menú de fila o abre el detalle y pulsa el botón destructivo Eliminar. La app usa la mutación de ubicación u organización según el propietario real de la especificación.
- 4.
Confirma el modal
Revisa el modal Eliminar Especificación y confirma con Eliminar. Este flujo no pide sustitución ni usa `confirm_replacement`; el dato efectivo del borrado es `specificationId` en la ruta.
- 5.
Espera el borrado
Antylogic valida `catalog:manage`, congela snapshots de catálogo si hay servicios que necesitan histórico y elimina la especificación. Las relaciones con productos se retiran por cascada en `product_specifications`.
- 6.
Comprueba el resultado
Tras el éxito, el modal se cierra. Si venías del detalle, la app vuelve a la lista; si venías de la tabla, refresca los datos. Comprueba el aviso de éxito y que la especificación ya no aparece.
Validaciones y límites
- Las especificaciones de Sistema no se pueden borrar desde la UI ni desde el servicio de administración.
- La ruta de ubicación no borra recursos de organización y la ruta de organización no borra recursos de ubicación.
- Si falla la congelación de snapshots, la transacción no elimina la especificación.
- El endpoint correcto responde `204 No Content` y no usa body en `DELETE`.
- No hay papelera, borrado lógico ni paso de reasignación para productos asociados.
- No documentar una vista histórica propia de especificaciones: el endpoint de especificaciones no implementa lectura histórica específica.
Resultado esperado
La especificación queda eliminada físicamente, sus asociaciones con productos desaparecen por cascada y las listas de catálogo se recargan con el estado actualizado.