Files
EvoFirewall/apps/api/src/routes/audit.ts
T
DenozordecandCursor 39e4856caa
Build and Push EvoFirewall Docker Image / build-and-push (push) Successful in 1m54s
Build and Push EvoFirewall Docker Image / create-release (push) Skipped
feat(audit): локальный журнал и push в auth-portal
Таблица audit_log, recordAudit на мутациях, GET /api/v1/audit и dual-write source_app=fw.

Co-authored-by: Cursor <[email protected]>
2026-07-21 13:24:34 +07:00

20 lines
649 B
TypeScript

import type { FastifyPluginAsync } from 'fastify'
import { listAudit } from '@evofw/db'
import { auditListQuerySchema } from '@evofw/shared'
import { AppError } from '../plugins/error-handler.js'
export const auditRoutes: FastifyPluginAsync = async (app) => {
app.get('/audit', async (req) => {
const parsed = auditListQuerySchema.safeParse(req.query)
if (!parsed.success) {
throw new AppError('VALIDATION_ERROR', 'Некорректные параметры запроса', 400)
}
const q = parsed.data
return listAudit(app.db, {
action: q.action,
severity: q.severity,
limit: q.limit,
})
})
}