## ST-3.3 Documentation (3 SP) - Add 11 page specification files documenting 25 pages - Create docs/05-frontend/pages/ directory - Specs: Goals, MLM, Portfolio, RBAC, Notifications, Analytics, Audit, Storage, Webhooks, Settings - Add _INDEX.md with complete listing ## ST-3.4 Dead Code Analysis (1 SP) - Analyze usePortfolio hook usage (18/21 functions used) - Document components ready for future use - Decision: Keep all code as preparation for features - Create DEAD-CODE-REPORT.md ## Frontend Submodule - WCAG improvements (11 files) - 160 unit tests (8 new test files) Sprint 3 (P2) completed: 14 SP Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
93 lines
2.4 KiB
Markdown
93 lines
2.4 KiB
Markdown
# Audit Logs Page Specification
|
|
|
|
**Modulo:** audit
|
|
**Ultima actualizacion:** 2026-02-03
|
|
**Total Paginas:** 1
|
|
|
|
---
|
|
|
|
## AuditLogsPage
|
|
|
|
**Ruta:** `/dashboard/audit`
|
|
**Archivo:** `src/pages/dashboard/AuditLogsPage.tsx`
|
|
|
|
### Descripcion
|
|
Pagina de logs de auditoria. Muestra registro de todas las acciones realizadas en el sistema con filtros avanzados y timeline.
|
|
|
|
### Componentes Utilizados
|
|
- AuditFilters - Panel de filtros multiples
|
|
- AuditLogRow - Fila de log con detalles expandibles
|
|
- AuditStatsCard - Tarjetas de estadisticas
|
|
- ActivityTimeline - Timeline visual de actividad
|
|
|
|
### Hooks Utilizados
|
|
- `useAuditLogs(filters)` - Lista logs con filtros
|
|
- `useActivityLogs()` - Timeline de actividad
|
|
|
|
### Funcionalidades
|
|
1. Filtrar por usuario
|
|
2. Filtrar por tipo de accion (create, update, delete, login, logout)
|
|
3. Filtrar por entidad afectada
|
|
4. Filtrar por rango de fechas
|
|
5. Ver detalles de cada accion
|
|
6. Ver cambios realizados (before/after)
|
|
7. Ver timeline de actividad reciente
|
|
|
|
### Filtros Disponibles
|
|
|
|
| Filtro | Tipo | Opciones |
|
|
|--------|------|----------|
|
|
| Usuario | Select | Lista de usuarios |
|
|
| Accion | Select | create, update, delete, login, logout |
|
|
| Entidad | Select | user, tenant, invoice, etc |
|
|
| Fecha desde | Date | Datepicker |
|
|
| Fecha hasta | Date | Datepicker |
|
|
|
|
### Estados
|
|
- Loading: Spinner centrado
|
|
- Success: Tabla de logs con paginacion
|
|
- Empty: Mensaje "No audit logs found"
|
|
- Error: Mensaje de error
|
|
|
|
### Acciones del Usuario
|
|
| Accion | Resultado |
|
|
|--------|-----------|
|
|
| Seleccionar filtro | Filtra resultados |
|
|
| Click en fila | Expande detalles |
|
|
| Limpiar filtros | Reset a todos |
|
|
| Previous/Next | Cambia pagina |
|
|
|
|
### Permisos Requeridos
|
|
- `audit:read` - Ver logs de auditoria
|
|
|
|
### Estructura de Log
|
|
|
|
```typescript
|
|
interface AuditLog {
|
|
id: string;
|
|
user_id: string;
|
|
user_email: string;
|
|
action: 'create' | 'update' | 'delete' | 'login' | 'logout';
|
|
entity_type: string;
|
|
entity_id: string;
|
|
changes?: {
|
|
before: Record<string, any>;
|
|
after: Record<string, any>;
|
|
};
|
|
metadata?: Record<string, any>;
|
|
ip_address?: string;
|
|
user_agent?: string;
|
|
created_at: string;
|
|
}
|
|
```
|
|
|
|
### Notas
|
|
- Los logs son inmutables, no se pueden editar ni eliminar
|
|
- La retencion de logs depende del plan de suscripcion
|
|
- Los campos sensibles (passwords) nunca se registran
|
|
- El IP y user agent se registran para seguridad
|
|
|
|
---
|
|
|
|
*Documentacion generada - Template SaaS - 2026-02-03*
|