La pantalla “Auditoría” tiene dos pestañas que nunca se mezclan en una misma consulta:
- Incidentes (
audit.incidents.view, Supervisor y Super admin): todo el historial deincident_activities, incluidos los incidentes eliminados. - Administración (
audit.admin.view, Administrador y Super admin):admin_actions, es decir, cuentas, roles, exportaciones y acciones de sistema.
Es de solo lectura: nadie puede editar ni borrar un registro.
Paso a paso
- PersonaAbre Auditoría y filtra
Rango de fechas (30 días por defecto), quién hizo el cambio, tipo, incidente (
26-0142) o persona o rol afectado. Los filtros quedan en la dirección. "Ver su actividad" en la ficha de una persona abre esta pantalla ya filtrada. - Navegador¿Qué pestaña puede ver?
Si entra a
/auditoriasin elegir, va a la primera que su permiso le deja ver. - API¿Tiene audit.incidents.view?
- API¿Tiene audit.admin.view?
- APIAplica el alcance por jerarquía
El Super admin ve todo. Los demás ven sus propias acciones y las que tocan a una persona o un rol de un nivel menor al suyo (nivel de hoy).
- APIFija el rango de fechas
Sin fechas, los últimos 30 días; con solo el final, los 30 anteriores; con solo el inicio, hasta ahora. Ninguna consulta recorre toda la tabla sin querer. El rango aplicado vuelve en
meta. - Base de datosLee una página por cursor
Cursor = fecha + id (en base64), y una fila de más para saber si hay otra página, sin contar el total. Medido sobre unas 523.000 filas: menos de 2 ms.
- NavegadorMuestra filas y "Cargar más"
Fecha, quién, qué, sobre qué y resumen del cambio. El detalle muestra todo, más IP y navegador, con enlaces al incidente o a la ficha si quien mira puede abrirlos.
Qué ve la persona en cada error
| Código | HTTP | Cuándo | Mensaje en pantalla |
|---|---|---|---|
INVALID_CURSOR | 422 | El cursor de “Cargar más” está dañado | No pudimos seguir cargando la lista. Vuelve a cargarla desde el principio. |
INCIDENT_CODE_FORMAT | 422 | El filtro de incidente no tiene forma de código | Escribe el código del incidente con su año, por ejemplo 26-0142. |
FORBIDDEN_ACTION | 403 | Sin el permiso de esa pestaña | No tienes permiso para hacer esta acción. Si crees que deberías tenerlo, habla con un administrador. |
Dónde está en el código
ListIncidentAudityListAdminAudit.AuditAccess,AdminAuditScopeyAuditPeriod.AuditWindow,DatabaseIncidentAudityDatabaseAdminAudit.useAudityAuditPage.- Explicación: Módulo Audit.