El sistema CUSCATLECO utiliza un modelo de control de acceso basado en permisos. Cada usuario tiene asignado un rol que agrupa un conjunto específico de permisos; es ese conjunto de permisos —no el nombre del rol en sí— lo que determina a qué pantallas y acciones puede acceder cada persona. Existen cuatro roles operativos: Administrador, Mesero, Cajero y Cocina.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/AbyssDevs/CUSCATLECO/llms.txt
Use this file to discover all available pages before exploring further.
Roles disponibles
Administrador
Acceso total al sistema. Gestiona usuarios, menú, mesas, reportes y registros de auditoría.
Mesero
Toma de pedidos por mesa, gestión de reservaciones y actualización del estado de mesas.
Cajero
Cierre de pedidos y emisión de facturas electrónicas (Consumidor Final y Crédito Fiscal).
Cocina
Visualización de pedidos entrantes y actualización del estado de preparación.
Permisos por módulo
La siguiente tabla muestra qué permisos posee cada rol en cada módulo del sistema.| Permiso | Módulo | Administrador | Mesero | Cajero | Cocina |
|---|---|---|---|---|---|
ver_dashboard | General | ✓ | ✓ | ✓ | ✓ |
gestionar_usuarios | Usuarios | ✓ | — | — | — |
gestionar_roles | Usuarios | ✓ | — | — | — |
ver_menu | Menú | ✓ | ✓ | ✓ | — |
gestionar_menu | Menú | ✓ | — | — | — |
crear_pedido | Pedidos | ✓ | ✓ | — | — |
ver_pedidos | Pedidos | ✓ | ✓ | ✓ | ✓ |
actualizar_estado_pedido | Pedidos | ✓ | — | — | ✓ |
generar_factura | Facturación | ✓ | — | ✓ | — |
ver_reportes | Reportes | ✓ | — | — | — |
gestionar_reservaciones | Reservaciones | ✓ | ✓ | — | — |
gestionar_clientes | Clientes | ✓ | — | ✓ | — |
gestionar_mesas | Mesas | ✓ | — | — | — |
actualizar_estado_mesa | Mesas | — | ✓ | — | — |
listar_mesas | Mesas | ✓ | ✓ | — | — |
ver_auditoria | Registros | ✓ | — | — | — |
Cómo funciona el sistema de permisos
El acceso en CUSCATLECO se valida permiso a permiso, no por nombre de rol. Cuando un usuario intenta navegar a una ruta protegida o invocar un endpoint de la API, el middlewarerequirePermission comprueba si el arreglo de permisos cargado en la sesión incluye el permiso requerido para esa acción específica.
/). Si está autenticado pero le falta el permiso, recibe la página de acceso denegado (/403). Las peticiones a la API devuelven 401 o 403 en JSON según corresponda.
Los permisos de cada usuario se almacenan en la sesión al momento del inicio de sesión. Si un administrador modifica los roles o permisos de un usuario, los cambios toman efecto en la próxima sesión de ese usuario.
Sesiones y expiración
El sistema emplea sesiones del lado del servidor con una duración de 30 minutos. La cookie de sesión se renueva automáticamente con cada solicitud activa (rolling: true), por lo que el temporizador se reinicia mientras el usuario esté interactuando con la aplicación.
/logout.
Un mismo usuario puede tener asignados múltiples roles simultáneamente. Sus permisos serán la unión de todos los permisos de los roles que tenga activos.
Páginas de referencia por rol
- Administrador — acceso completo al sistema
- Mesero — gestión de mesas y pedidos en sala
- Cajero — facturación y cierre de pedidos
- Cocina — preparación y actualización de pedidos