El módulo de auditoría expone el historial cronológico de todas las acciones que modifican datos en el sistema. Cada vez que un usuario crea, edita o cancela una visita, gestiona cuentas, cambia una configuración o añade un día inhábil, el backend inserta un registro en la tablaDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/JuanM84/gestor-visitas/llms.txt
Use this file to discover all available pages before exploring further.
LOGAUDITORIA. Estos registros son permanentes e inmutables: el sistema nunca actualiza ni elimina entradas de auditoría. Esta característica es fundamental para garantizar la trazabilidad de las operaciones del túnel subfluvial y facilitar la investigación de incidentes.
Control de acceso
El endpoint de auditoría está protegido con doble middleware: además de requerir un token JWT válido, exige el rol Admin. Un Guía que intente acceder recibirá403 Forbidden.
limite para controlar cuántos registros devuelve la API. Por defecto son los últimos 100; la interfaz solicita los últimos 500 para poblar la tabla con filtros del lado del cliente.
Estructura de la tabla LOGAUDITORIA
| Campo | Tipo | Descripción |
|---|---|---|
id | Integer (PK) | Identificador autoincremental del log |
usuario_id | Integer (FK → USUARIO) | ID del usuario que realizó la acción |
accion | Text | Descripción en texto libre de la operación realizada |
created_at | Timestamp | Fecha y hora exacta del evento; aliasada como fecha en la respuesta de la API |
USUARIO para mostrar también el email y el rol del usuario en el momento del log, presentando columnas: Fecha y Hora, Email del Usuario, Rol y Acción Realizada.
La tabla
LOGAUDITORIA es de solo escritura. El backend únicamente ejecuta sentencias INSERT sobre ella: no existen endpoints ni procedimientos internos que realicen UPDATE o DELETE sobre registros de auditoría. Esto garantiza que el historial nunca pueda ser alterado ni purgado desde la aplicación, ni siquiera por un Admin.Qué acciones quedan registradas
El sistema genera entradas de auditoría para cualquier operación que modifique el estado de la base de datos:Gestión de Visitas
Creación, edición de datos, cambio de estado (confirmada, cancelada) y eliminación de visitas.
Gestión de Usuarios
Alta de cuentas, modificación de datos, cambios de rol, desactivación y reactivación.
Cambios de Configuración
Actualizaciones de
capacidad_maxima, capacidad_por_turno y session_timeout_minutes.Días Inhábiles
Registro de nuevas fechas bloqueadas y eliminación de bloqueos del calendario.
Ejemplos de entradas de auditoría
La siguiente tabla ilustra el aspecto de registros reales tal como los devuelve el endpointGET /api/auditoria:
id | fecha | usuario_email | usuario_rol | accion |
|---|---|---|---|---|
#1 | 2025-07-01 08:15:22 | admin@tunel.gob.ar | Admin | Usuario “Carlos Ruiz” creado con rol Guía |
#2 | 2025-07-01 09:03:47 | admin@tunel.gob.ar | Admin | Configuración actualizada: capacidad_maxima = 250 |
#3 | 2025-07-01 10:22:08 | c.ruiz@tunel.gob.ar | Guía | Visita registrada: Grupo “Escuela Belgrano”, 32 personas, 09:00 hs |
#4 | 2025-07-02 11:45:00 | admin@tunel.gob.ar | Admin | Día inhábil agregado: 2025-07-09 — Día de la Independencia |
#5 | 2025-07-02 14:30:15 | c.ruiz@tunel.gob.ar | Guía | Visita #8 cancelada |
#6 | 2025-07-03 09:10:55 | admin@tunel.gob.ar | Admin | Usuario “Carlos Ruiz” desactivado |
#7 | 2025-07-03 09:12:30 | admin@tunel.gob.ar | Admin | Usuario “Carlos Ruiz” reactivado |
#8 | 2025-07-04 16:00:00 | admin@tunel.gob.ar | Admin | Configuración actualizada: session_timeout_minutes = 60 |
Interfaz de auditoría
La página Logs de Auditoría presenta los registros en una tabla ordenada cronológicamente (más reciente primero) con tres filtros independientes que se aplican en el cliente:- Filtro por Fecha
- Filtro por Email
- Filtro por Acción
Seleccione un día específico en el selector de fecha. Solo se mostrarán los registros cuya
fecha corresponda a esa jornada (en hora local). Para limpiar el filtro haga clic en la × junto al campo o en el botón Limpiar filtros.Uso de los logs para cumplimiento e investigación
Trazabilidad operativa diaria
Trazabilidad operativa diaria
Al inicio de cada turno, un Admin puede filtrar los logs del día para verificar qué visitas se registraron, quién las ingresó y si hubo cancelaciones. Esto permite detectar errores operativos rápidamente sin necesidad de consultar directamente la base de datos.
Investigación de incidentes
Investigación de incidentes
Si se detecta un cambio inesperado en la configuración (por ejemplo, el aforo máximo aparece reducido sin explicación), el Admin puede filtrar los logs por la palabra
configuracion o capacidad para identificar exactamente qué usuario realizó la modificación y en qué momento. La columna de email y rol facilita la rendición de cuentas.Auditoría de accesos a cuentas
Auditoría de accesos a cuentas
Para verificar si una cuenta fue desactivada o reactivada sin autorización, filtre el log por el nombre o email del usuario afectado. Las entradas relacionadas con gestión de usuarios incluyen el nombre del afectado en el texto de la acción, facilitando la búsqueda.
Cumplimiento normativo y reportes
Cumplimiento normativo y reportes
Dado que los logs son inmutables y contienen timestamps precisos, pueden exportarse (consultando el endpoint con un
limite alto) para adjuntarse a informes de auditoría externa, reportes de gestión o requerimientos de organismos de control. El historial completo desde el primer día de operación del sistema siempre estará disponible.Respuesta de la API
fecha está en formato ISO 8601 UTC; la interfaz lo convierte a hora local argentina (es-AR) para su visualización.