video-accessibility/backend/app/api/v1
Vadym Samoilenko 09550cfca0 feat: audit log integration sweep + cost tracker URL fix + audit log admin UI
- Fix cost tracker dashboard URL (cost.oliver.agency → optical-dev.oliver.solutions/cost-tracker/analytics)
  in UserList, QCDetail, FinalDetail; centralise into src/lib/costTracker.ts

- Wire audit logging across backend routes (was 1 call site, now covers all key events):
  · routes_auth: LOGIN_SUCCESS/FAILURE for local + MS SSO, LOGOUT
  · routes_files: FILE_UPLOAD on signed URL generation
  · routes_jobs: JOB_CREATE, JOB_APPROVE, JOB_REJECT, JOB_STATUS_CHANGE, JOB_DELETE, VTT_EDIT
  · routes_admin: USER_CREATE, USER_UPDATE, USER_ROLE_CHANGE, USER_DEACTIVATE

- Add Audit Log admin UI page (/admin/audit-log):
  · Three tabs: All Events (paginated, server-side filters), Security Events, User Activity
  · Filters: action group, severity, success/failure, free-text search
  · Click-to-expand row shows IP, request ID, resource, details JSON
  · Wired into App.tsx (RoleGate: production + admin) and sidebar nav

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 11:34:06 +01:00
..
__pycache__ more fixes for refresh token - this time maintaining the username and role properly across refresh 2025-10-08 23:09:29 -05:00
routes_admin.py feat: audit log integration sweep + cost tracker URL fix + audit log admin UI 2026-04-29 11:34:06 +01:00
routes_auth.py feat: audit log integration sweep + cost tracker URL fix + audit log admin UI 2026-04-29 11:34:06 +01:00
routes_clients.py feat(saas): Phase 3 — membership-based authz + Mailgun + job.organization_id 2026-04-27 16:56:42 +01:00
routes_files.py feat: audit log integration sweep + cost tracker URL fix + audit log admin UI 2026-04-29 11:34:06 +01:00
routes_invitations.py feat(saas): Phase 3 — membership-based authz + Mailgun + job.organization_id 2026-04-27 16:56:42 +01:00
routes_jobs.py feat: audit log integration sweep + cost tracker URL fix + audit log admin UI 2026-04-29 11:34:06 +01:00
routes_organizations.py feat(saas): Phase 3 — membership-based authz + Mailgun + job.organization_id 2026-04-27 16:56:42 +01:00
routes_review_notes.py feat: add linguist role and user management navigation 2026-04-16 11:46:33 +01:00
routes_tts.py feat: Client → Team → Project isolation system with Project Manager role 2026-04-27 15:11:13 +01:00
routes_websockets.py wrote docker files and deployment instructions 2025-10-08 16:00:12 -05:00