mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 08:21:39 -06:00
9ef641e650
- audit_log table with action, resource, resourceId, description, ip, countryCode, meta - AuditEventsService (EventEmitter), AuditRepository, AuditService, AuditInterceptor - @Auditable decorator wired on all mutating endpoints across every controller - auth events (login, logout, register, password change, failed login) emitted directly in AuthService with IP capture - geoip-lite for offline IP-to-country resolution - nightly retention cleanup via cron with configurable audit_retention_days setting - superuser-only GET /audit-log endpoint with userId, action, resource, date range filters - AuditLogPage.vue with table, filters, pagination, and failed-auth row highlighting - regenerated baseline migration to include audit_log in 0000_baseline.sql