Submodulo rol visor
Rol visor
El rol VISOR es un rol de solo lectura diseñado para usuarios de clientes que necesitan visualizar información del sistema sin capacidad de modificación.
Definición y Ubicación en el Código
- Enum: Definido en
src/enums/enums.tscomoVISOR = 'VISOR' - Validación: Incluido en
src/enums/enumTypes.tsen el array de roles válidos - Mapeo de roles: Definido en
src/helpers/parsingUserState/stateMapping.tscon el nombre legible "Visor"
Creación de Usuarios VISOR
¿Quién puede crear usuarios VISOR?
- Solo usuarios con rol
ADMIN_COMPANYoTREEA_ADMINpueden crear usuarios VISOR - Los usuarios
SUPERVISORNO pueden crear usuarios VISOR (solo pueden crearOPERADOR)
Validación en el código:
- Controlador:
src/controllers/userAdminCompanyController.ts(líneas 61-65) - Validador:
src/validators/userValidator.ts(línea 53) - acepta'SUPERVISOR', 'OPERADOR', 'VISOR'
Endpoint para crear:
- Ruta:
/api/v1/userAdminCompany(POST) - Función:
addUserByAdminCompanyensrc/controllers/userAdminCompanyController.ts
Permisos y Funcionalidades del Rol VISOR
El rol VISOR tiene acceso de solo lectura a las siguientes funcionalidades según la matriz de permisos (src/config/permissionsMatrix.ts):
Módulo Inventario de Productos Químicos
- Listar inventario de productos químicos (
chemicalInventoryList)- Permite ver el resumen de inventario
- NO puede crear inventario (
chemicalInventoryCreation: false)
Módulo Ensayos de Jarras
- Listar ensayos de jarras (
jarTestList)- Puede visualizar los ensayos realizados
- NO puede crear ensayos (
jarTestCreation: false)
Módulo Normas
- Listar normas (
normList)- Puede ver las normas configuradas
- NO puede crear, editar, activar/desactivar o asignar normas
Módulo Histórico de Plantas de Tratamiento
- Listar histórico de plantas (
historyTreatmentPlantList)- Puede ver el listado de parámetros y mediciones históricas
- NO puede crear históricos (
historyTreatmentPlantCreation: false)
Módulo Usuarios
- Listar usuarios (
userList)- Puede ver la lista de usuarios del sistema
- NO puede crear, actualizar o activar/desactivar usuarios
Módulo Parametrización
- Listar parametrizaciones (
parameterizationList)- Puede ver las parametrizaciones configuradas
- NO puede activar/desactivar parametrizaciones
Módulo Notificaciones
- Listar notificaciones (
notificationList)- Puede ver las notificaciones del sistema
Módulo Productos Químicos
- Guardar histórico de productos químicos (
saveChemicalProductHistory)- Puede ver el histórico de productos químicos (usado en ver inventario - tabla frontend)
- Listar productos químicos (
chemicalProductList)- Puede ver el listado de productos químicos (usado en resumen de inventario - frontend)
- Listar químico por ID (
chemicalProductById)- Puede ver detalles de un producto químico específico
- NO puede crear productos químicos (
chemicalProductCreation: false)
Módulo Dashboard Plantas
- Listar dashboard plantas (
dashboardPlantsList)- Puede acceder a los dashboards de las plantas de tratamiento
Funcionalidades NO Permitidas para VISOR
El rol VISOR NO tiene acceso a:
- Creación de inventario de productos químicos
- Creación de ensayos de jarras
- Creación/edición de normas
- Activación/desactivación de normas
- Asignación de normas
- Creación/edición de plantas de tratamiento
- Creación de históricos de plantas
- Creación de usuarios
- Actualización de usuarios
- Activación/desactivación de usuarios
- Creación de ajustes de dosificación
- Ajuste de parámetros
- Activación/desactivación de parametrizaciones
- Creación de productos químicos
- Creación de bajas de inventario
- Listar bajas de inventario
Resumen de Permisos en la Matriz
El rol VISOR tiene true en las siguientes funcionalidades:
chemicalInventoryListjarTestListnormListhistoryTreatmentPlantListuserListparameterizationListnotificationListsaveChemicalProductHistorychemicalProductListchemicalProductByIddashboardPlantsList
Notas Importantes
- Rol de solo lectura: El VISOR está diseñado exclusivamente para visualización, sin capacidad de modificación
- Restricción de creación: Solo
ADMIN_COMPANYyTREEA_ADMINpueden crear usuarios VISOR - Estado: Los usuarios VISOR pueden estar activos o inactivos, igual que otros roles
- Validación: El rol está validado en múltiples capas (enum, validators, controllers)
Lugares en el software que se modificaron para agregar el rol visor
- Enum:
src/enums/enums.ts - Validación de roles:
src/enums/enumTypes.ts - Matriz de permisos:
src/config/permissionsMatrix.ts(múltiples líneas) - Controlador de creación:
src/controllers/userAdminCompanyController.ts - Validador:
src/validators/userValidator.ts - Mapeo de nombres:
src/helpers/parsingUserState/stateMapping.ts