Saltar a contenido

Servicios: Analytics

Ubicación: src/app/views/analytics/services
Scope: servicios reutilizados por las vistas del módulo.


Mapa de responsabilidades

Servicio o utilidad Qué resuelve
ReportesAnalyticsService Reportes, versiones, S3, compresión e integridad.
ReporteSanitizerService Validación del HTML y CSP de seguridad.
AreasOrganizacionalesService Áreas, normalización de nombres y asociación por roles.
TelemetriaTrackerService Registro de una sesión real de lectura en el visor.
TelemetriaConsultaService KPIs, gráficas, tabla y auditoría con agregaciones.
formato.util.ts Fechas y tamaños en formato legible para español.
roles.util.ts Lectura de roles de sesión y visibilidad de acciones de gestión.

ReportesAnalyticsService

Es la única puerta de datos para la gestión de reportes. Lista documentos, publica archivos comprimidos, calcula/valida SHA-256, obtiene versiones desde S3, actualiza metadatos y cambia estado.

Método Resultado visible
listarReportes() Carga catálogo y gestión.
publicarVersion() Crea reporte o agrega versión.
actualizarMetadatos() Cambia información/roles sin crear versión.
cambiarEstado() Archiva o reactiva.
restaurarVersion() Define una versión anterior como vigente.
obtenerHtmlVersion() Descarga, descomprime y verifica archivo antes de mostrarlo.

AreasOrganizacionalesService

Centraliza la colección AreasOrganizacionales. Normaliza nombres, evita duplicados en interfaz, conserva una caché corta y resuelve el área activa correspondiente a los roles del usuario. Para crear y editar usa operaciones genéricas sin auditoría, compatibles con una colección inicialmente vacía.

Ver modelo y reglas en Áreas organizacionales.


Servicios de telemetría

TelemetriaTrackerService

Inicia una sesión al mostrar un reporte y suma únicamente los segundos de pestaña visible. Envía un latido cada 60 segundos, considera activa una sesión reciente durante 150 segundos y sincroniza antes de eventos importantes o de abandonar la vista.

TelemetriaConsultaService

Solicita KPIs, franjas horarias, distribución por área, reportes, usuarios y tabla paginada mediante agregaciones de base de datos. Filtra antes de agrupar y pagina en servidor para mantener una carga rápida.


Compresión de respuestas de catálogos

El catálogo Roles se carga con el método genérico para evitar depender de un endpoint específico. El servicio detecta respuestas comprimidas en Zstandard y aplica una alternativa gzip cuando corresponde, por lo que la interfaz sigue consumiendo los roles reales de la colección.


Historial de cambios

Fecha Autor Cambio
2026-08-14 Iker Acevedo Vargas Servicios iniciales de reporte, sanitización y utilidades.
2026-09-21 Iker Acevedo Vargas Áreas organizacionales, seguimiento de consumo, consultas agregadas y carga robusta del catálogo de roles.