Permisos
El sistema de permisos controla el acceso a cada herramienta/módulo de la plataforma con 4 niveles de granularidad. Los permisos se asignan por usuario o por equipo, y se combinan con los roles globales.Niveles de permiso
La jerarquía es acumulativa: un usuario con nivel
admin tiene automáticamente acceso edit y view.
Resolución de permisos
El permiso efectivo de un usuario para un módulo se resuelve con la siguiente prioridad:- Permiso de usuario — Asignación directa al usuario para ese módulo
- Permiso de equipo — Si no hay permiso individual, se usa el del equipo
- Default por rol — Si no hay permiso de equipo, se aplica el default del rol global
Módulos y grupos
Los módulos (herramientas) se organizan en grupos para la vista del home:- Cada módulo tiene un
app_type:tool(herramienta nativa) olink(enlace externo) - Los grupos definen el orden de visualización en el dashboard
- La visibilidad se controla por equipo: un grupo o módulo puede ser visible solo para ciertos equipos
Layout personalizado
Cada usuario puede personalizar su layout del home:- Reordenar módulos y grupos
- El layout se guarda en la base de datos
- Se puede resetear al layout por defecto
API
Módulos para el usuario
Administración de módulos (Admin)
Grupos (Admin)
Asignación de permisos (Admin)
Filtrado de módulos visibles
El métodogetHomeModules filtra los módulos usando estas reglas:
- Auth0 tools: módulos asignados en los claims del JWT
- Módulos personales: módulos creados por el propio usuario
- Visibilidad por equipo: módulos visibles para los equipos del usuario
- Módulos globales: módulos marcados como visibles para todos
El sistema de permisos se aplica tanto en el frontend (renderizado condicional de módulos) como en el backend (guards de acceso en cada endpoint).