Problem
Admin operations leave no audit trail. If something
goes wrong there is no record of who did what.
What To Build
- Create audit_logs table in Supabase
- Create AuditService and AuditInterceptor
- GET /admin/audit-logs endpoint
- Immutable INSERT-only design
Files To Touch
- src/audit/ (new module)
- src/common/interceptors/audit.interceptor.ts
- All admin controllers
- supabase/migrations/[ts]_audit_logs.sql
Acceptance Criteria
Mandatory Checks Before PR
Problem
Admin operations leave no audit trail. If something
goes wrong there is no record of who did what.
What To Build
Files To Touch
Acceptance Criteria
Mandatory Checks Before PR