Skip to content

feat(audit): expose invoice audit trail export api#255

Open
Ayilojay wants to merge 1 commit into
Liquifact:mainfrom
Ayilojay:feature/audit-trail-api
Open

feat(audit): expose invoice audit trail export api#255
Ayilojay wants to merge 1 commit into
Liquifact:mainfrom
Ayilojay:feature/audit-trail-api

Conversation

@Ayilojay
Copy link
Copy Markdown

@Ayilojay Ayilojay commented May 30, 2026

  • Add GET /api/admin/audit/invoices/:invoiceId (paginated trail)
  • Add GET /api/admin/audit/invoices/:invoiceId/transitions (state history)
  • Add GET /api/admin/audit/invoices/:invoiceId/export (JSON/CSV)
  • Gate all routes with adminAuth (JWT or x-api-key) + tenant isolation
  • Extend auditLog service with exportInvoiceAuditLogs and tenant scoping
  • 22 tests covering auth, pagination, CSV escaping, secret redaction
  • Document endpoints in docs/compliance.md

Closes #224

- Add GET /api/admin/audit/invoices/:invoiceId (paginated trail)
- Add GET /api/admin/audit/invoices/:invoiceId/transitions (state history)
- Add GET /api/admin/audit/invoices/:invoiceId/export (JSON/CSV)
- Gate all routes with adminAuth (JWT or x-api-key) + tenant isolation
- Extend auditLog service with exportInvoiceAuditLogs and tenant scoping
- 22 tests covering auth, pagination, CSV escaping, secret redaction
- Document endpoints in docs/compliance.md

Closes Liquifact#208
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 30, 2026

@Ayilojay Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Harden Soroban escrow funding payload validation against injection and oversized metadata in escrowSubmit

1 participant