Skip to content

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.ts como VISOR = 'VISOR'
  • Validación: Incluido en src/enums/enumTypes.ts en el array de roles válidos
  • Mapeo de roles: Definido en src/helpers/parsingUserState/stateMapping.ts con el nombre legible "Visor"

Creación de Usuarios VISOR

¿Quién puede crear usuarios VISOR?

  • Solo usuarios con rol ADMIN_COMPANY o TREEA_ADMIN pueden crear usuarios VISOR
  • Los usuarios SUPERVISOR NO pueden crear usuarios VISOR (solo pueden crear OPERADOR)

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: addUserByAdminCompany en src/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:

  1. chemicalInventoryList
  2. jarTestList
  3. normList
  4. historyTreatmentPlantList
  5. userList
  6. parameterizationList
  7. notificationList
  8. saveChemicalProductHistory
  9. chemicalProductList
  10. chemicalProductById
  11. dashboardPlantsList

Notas Importantes

  1. Rol de solo lectura: El VISOR está diseñado exclusivamente para visualización, sin capacidad de modificación
  2. Restricción de creación: Solo ADMIN_COMPANY y TREEA_ADMIN pueden crear usuarios VISOR
  3. Estado: Los usuarios VISOR pueden estar activos o inactivos, igual que otros roles
  4. 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