Permisos por rol y módulo — Aquazaku

Permisos por rol y módulo — Aquazaku A workflow diagram generated by Archify. 01 / Admin 02 / Seller 03 / POS 04 / Contador usuar · Admin usuar prod · Admin prod alert · Admin alert param · Admin param client · Seller client venta · Seller venta bases · Seller bases devol · Seller devol venta · POS venta bases · POS bases caja · POS caja anular · POS anular extr · Contador extr audit · Contador audit stock · Contador stock prov · Contador prov Legend User UI Policy Context / trace

Multi-rol sin switch (ADR-0003)

  • • Un usuario con N roles ve y opera todos los módulos que le tocan, sin elegir uno. No existe active_role, no hay selector de rol.
  • • En backend, sessions.roles es text[]. En auditoría, rol_ejercido es text[] — el conjunto bajo el que se ejecutó la acción.

Qué hace cada rol (detalle)

  • • Admin (usuar/prod/alert/param): configura el sistema. No vende ni opera.
  • • Seller (client/venta/bases/devol): visita clientes en la calle, registra con doc dictado, vende recargas, asigna bases a su ruta.
  • • POS (venta/bases/caja/anular): opera la planta, cobra, entrega/devuelve botellones, anula ventas (permiso ventas:anular).
  • • Contador (extr/audit/stock/prov): cierra el ciclo, extrae reportes, abre auditoría read-only si hay discrepancia.

Permisos clave (ADR-0003)

  • • ventas:anular — el POS puede, el seller no (para que no anule sus propias ventas).
  • • stock:cargar_ruta — el seller puede asignar stock a su ruta, no el admin.
  • • bases:prestar — el POS y el seller pueden, el admin no.
  • • compras:recibir — el admin y el POS pueden, el seller no.
  • • auditoria:ver — solo el contador, read-only.