- Added `removeAccessAccount` function to handle account deletion in the database, ensuring no external references exist. - Created `deleteAccount` API function to facilitate account deletion requests from the client. - Developed `AccountDeleteDialog` component for user confirmation before account deletion, integrating with the delete API. - Introduced resource image handling with validation for PNG uploads, including UI components for image selection and preview. - Implemented resource icon template evolution logic to maintain icon bindings without overwriting existing fields. - Added scripts for auditing account deletion and usage checks, ensuring robust testing of the new features.
29 lines
2.9 KiB
Markdown
29 lines
2.9 KiB
Markdown
# Eliminación de registros creados por error
|
|
|
|
Se permite eliminar configuraciones de aplicaciones, correo, carpetas, impresoras y certificados de un perfil, métodos de asistencia técnica de un activo y relaciones entre activos. Está disponible para cualquier estado del registro, incluidos los retirados y cerrados. No se elimina el catálogo de tipos de relación ni el catálogo de herramientas de asistencia.
|
|
|
|
La acción se ofrece en el menú de fila de las configuraciones y en las fichas de asistencia y relaciones. Siempre requiere confirmación modal e informa de que la eliminación es definitiva e incluye el historial propio. Una configuración representa lo documentado en Metis Desk: borrarla no desinstala programas, elimina certificados del dispositivo, revoca permisos ni retira herramientas reales.
|
|
|
|
Cada operación valida los UUID, el cuerpo vacío y la consulta vacía, exige autenticación y la protección CSRF general del servidor, y restringe la escritura a la compañía indicada. Para asistencia se comprueba también el activo. La persistencia bloquea la compañía y el registro, elimina primero las revisiones propias y luego el registro, dentro de una transacción. No modifica activos, recursos, cuentas, personas, perfiles ni permisos. Un identificador inexistente o de otra compañía devuelve 404 sin modificar datos.
|
|
|
|
Las tareas de procesos que ya copiaron una referencia mantienen su descripción e historial: la eliminación del registro de origen no elimina el proceso. Al refrescar su revisión actual, ese registro deja de aparecer.
|
|
|
|
Las entidades con condiciones de eliminación (perfiles, puestos, activos, recursos y catálogos utilizados) quedan fuera de esta ampliación. Las eliminaciones de asignaciones a departamentos y procesos de personas ya estaban disponibles.
|
|
|
|
## Cuentas de sistemas externos
|
|
|
|
En Compañías → Cuentas y accesos → Cuentas, el menú de cada fila permite «Eliminar cuenta»
|
|
con confirmación. El borrado definitivo incluye el historial propio y está disponible para
|
|
cuentas activas o inactivas, siempre que no tengan referencias actuales ni históricas:
|
|
titulares, pertenencias a grupos, permisos, perfiles, correo, carpetas u otros registros.
|
|
Si la cuenta está en uso, se conserva todo y el diálogo propone desactivarla.
|
|
Esta operación solo elimina la documentación de Metis Desk; no elimina cuentas externas.
|
|
|
|
`POST /api/access/:companyId/:id/delete` requiere UUID válidos, cuerpo `{}`, consulta vacía,
|
|
sesión autenticada y CSRF. Devuelve el espacio actualizado con 200; un registro ausente,
|
|
de otra compañía o de otro tipo devuelve 404; una cuenta referenciada devuelve
|
|
409 `ACCOUNT_IN_USE`. Repetir el borrado devuelve 404 sin efectos adicionales.
|
|
La transacción bloquea catálogo, compañía, espacio y cuenta, comprueba las FK entrantes
|
|
y elimina únicamente referencias salientes, valores e historial propios. No borra
|
|
relaciones en cascada ni permite eliminar catálogos a través de esta ruta.
|