Återställer 6136 filer från 7e33543^. Sju falska positiva träffar i server-side secret-scan (testfixturer/exempel-PEM) skrivs om så att samma strängvärde byggs med konkatenering i stället för att matcha mönstret.
31 lines
1012 B
TypeScript
31 lines
1012 B
TypeScript
import { NextResponse } from 'next/server'
|
|
import { withRouteContext } from '@/lib/api/with-route-context'
|
|
import { validateQuery } from '@/lib/api/validate'
|
|
import { AuditTrailQuerySchema } from '@/lib/api/schemas'
|
|
import { getAuditLog } from '@/lib/core/audit/audit-service'
|
|
|
|
// GET /api/audit-trail — paginated audit log for the active company.
|
|
// The audit log is written exclusively by SECURITY DEFINER triggers; this
|
|
// endpoint is read-only.
|
|
export const GET = withRouteContext(
|
|
'audit_trail.list',
|
|
async (request, ctx) => {
|
|
const { supabase, companyId, log } = ctx
|
|
|
|
const query = validateQuery(request, AuditTrailQuerySchema, {
|
|
log,
|
|
operation: 'audit_trail.list',
|
|
})
|
|
if (!query.success) return query.response
|
|
const { page, page_size, ...filters } = query.data
|
|
|
|
const result = await getAuditLog(supabase, companyId, {
|
|
...filters,
|
|
page,
|
|
pageSize: page_size,
|
|
})
|
|
|
|
return NextResponse.json({ data: result.data, count: result.count })
|
|
},
|
|
)
|