Volver a la API del backend

Backend

Roles y permisos

Quién puede escribir qué. El rol viaja dentro del JWT (claim rol), leído de la tabla usuario al hacer login.

HasRole

Lectura abierta a cualquier autenticado. Escritura: si el ViewSet no define roles_escritura, cualquiera autenticado puede escribir; si lo define, exige estar en esa lista o ser admin.

LecturaPublica

Igual que HasRole, pero la lectura no exige token — para que el catálogo y las fotos funcionen en la tienda pública sin login.

SoloAdminOSistemas

Ni la lectura es abierta. Solo admin o sistemas — usada exclusivamente por el registro de actividad.

RecursoLecturaadminabastecimientoventasmarketingsistemas
categorías / productos / variantespública
fotos de productopública
almacenes / movimientosautenticado
proveedores / órdenes de compra / embarques / muestrasautenticado
clientes / pedidos / envíosautenticado
comprobantes / pagos / notas de créditoautenticado
equipo (usuario)autenticado
actividadsolo admin/sistemas✓ lee✓ lee
reportesautenticado

Reglas que no se ven en la tabla

Admin siempre puede escribir en todo, esté o no en la lista de roles de ese recurso — es una regla especial en HasRole, no una casilla más.
Sistemas no tiene ningún permiso de escritura de negocio. Su único privilegio especial es leer /actividad; en /equipo se le trata como staff (como admin) pero sin superusuario.
Reportes es de solo lectura para todos los roles por igual — no tiene roles_escritura propio porque no se escribe nada ahí, solo se consulta.
"Lectura pública" significa sin JWT: lo usa la tienda (Frontend) para mostrar catálogo y fotos sin que el visitante tenga cuenta.

El detalle de cada endpoint (métodos, filtros, acciones) está en La API del motor; qué significa cada rol en el día a día, en Introducción general.