Volver a Actualizaciones
Nueva funciónV-3.2.022917 de mayo de 2026

Base de roles avanzados y permisos por operación

Fase 1 de roles avanzados (V-3.2.0229): - Catálogo centralizado de permisos por operación (pos.sell, pos.refund, sales.view, sales.cancel, inventory.view/adjust, cash_cuts.view/download, cash_control.view/deposit_to_safe/bank_deposit/validate, reports.view, employees.manage, settings.manage). - Mapa role→permissions con roles nuevos: inventory_staff, accountant, store_manager. Roles legacy (owner, cashier, super_admin) intactos. - Helper unificado userCan() en cliente (`usePermissions`) y servidor (`requirePermission`). - Nueva tabla `employee_memberships` con scope por tienda, overrides de permisos y estados invited/active/disabled. RLS estricta por owner_id; el empleado solo lee su propia membresía. - RPCs base: getMyRoleAndPermissions, listEmployeeRolesCatalog, listEmployees, inviteEmployee, updateEmployee, disableEmployee (todas protegidas por employees.manage). - Compatibilidad total: cashier_assignments y createCashier siguen funcionando. Un cajero legacy se mapea automáticamente al permission set de cashier (mismo comportamiento que hoy). - Sin cambios visibles para owners ni cajeros existentes en esta versión. - Las RPCs operativas (POS, ventas, cash-control) NO se endurecen todavía con requirePermission — se hará en V-3.2.0230 ruta por ruta con QA por encima.

Aspectos destacados

  • Catálogo central de permisos por operación
  • Nuevos roles: inventory_staff, accountant, store_manager
  • Tabla employee_memberships con RLS estricta
  • Helper userCan en cliente y servidor
  • Cero regresión para owners y cajeros actuales
#Roles#Permissions#Employees#Security