Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsAccesos
Dispositivo

Eliminar rol de acceso

Elimina un rol editable y propio del ámbito actual desde el listado o desde el detalle. La operación se limita al scope abierto, organización o ubicación, y no borra usuarios ni permisos del catálogo.

En este artículo

Usa esta guía cuando necesites retirar un rol temporal o descartable de Grupo Marea Demo o de Marea Gran Via sin tocar roles estándar, heredados ni globales.

La eliminación borra la fila del rol y sus asociaciones de permisos y usuarios por cascada. Por eso debe ejecutarse solo con roles propios del ámbito actual y con permiso de gestión.

Antes de empezar

  • Tener sesión iniciada en Antylogic con Grupo Marea Demo seleccionado.
  • Para la variante de ubicación, tener Marea Gran Via disponible como ubicación activa.
  • Tener `permissions:view` o `permissions:manage` para abrir la pestaña de roles del ámbito correspondiente.
  • Tener `permissions:manage` en ese mismo ámbito para ver las acciones destructivas y confirmar el borrado.
  • Elegir un rol editable y propio del scope actual: de organización sin `location_id`, o de ubicación con `location_id` de Marea Gran Via.
  • Usar solo roles temporales para capturas o vídeos; no borrar `owner`, `organization-admin`, `location-admin`, `front-desk` ni `cashier`.

Instrucciones

  1. 1.

    Abre Roles

    Entra en `organization/access?tab=roles` para trabajar con roles de Grupo Marea Demo, o en `location/access?tab=roles` para trabajar con roles de Marea Gran Via. La pestaña aparece cuando el usuario tiene permiso de lectura o gestión de roles.

  2. 2.

    Elige un rol propio

    Localiza un rol temporal del ámbito actual. Los roles con propietario Sistema, los roles globales y los heredados pueden aparecer en la tabla, pero no se eliminan desde esta acción.

  3. 3.

    Abre la confirmación

    Desde el listado, pulsa Eliminar en la fila del rol. Desde el detalle, abre `organization/access/roles/:roleId?tab=roles` o `location/access/roles/:roleId?tab=roles` y pulsa Eliminar en el footer.

  4. 4.

    Confirma el borrado

    Pulsa Eliminar en el modal. La app envía un DELETE sin cuerpo al endpoint del scope actual y, si responde correctamente, muestra Rol eliminado y actualiza el listado.

  5. 5.

    Comprueba el impacto

    Revisa que el rol ya no aparece en Roles de usuario. La operación elimina también las filas relacionadas en `role_permissions` y `user_roles`, pero no elimina usuarios ni permisos del catálogo `permissions`.

Validaciones y límites

  • La pestaña de roles solo se muestra con `permissions:view` o `permissions:manage`.
  • La acción Eliminar solo aparece para usuarios con `permissions:manage` y queda deshabilitada si el rol no pertenece al scope actual.
  • La pantalla de creación, un detalle sin `roleId`, un rol no cargado o un detalle de solo lectura no ejecutan la eliminación.
  • En organización se llama a `DELETE /api/app/{orgId}/roles/{roleId}` y el repositorio borra solo filas con `location_id IS NULL`.
  • En ubicación se llama a `DELETE /api/app/{orgId}/{locationId}/roles/{roleId}` y el backend valida que el rol pertenece a ese `locationId`.
  • La respuesta de éxito es `204 No Content` y React Query invalida el listado y el detalle del rol.
  • No hay borrado masivo ni payload: cada operación elimina un único `roleId` y no envía `permission_ids`.
  • No documentes bloqueo por rol asignado a usuarios; la evidencia disponible indica cascada SQL sobre `user_roles`.

Resultado esperado

El rol editable queda eliminado del ámbito actual, el listado se refresca y se conservan los usuarios y el catálogo de permisos, aunque se retiran las asociaciones de ese rol.

Artículos relacionados