Files
cloudflare-domain-manager/apps/api/src/routes/audit.ts
T
DenozordecandCursor 859ad23006
Build and Push CFDM Docker Image / build-and-push (push) Successful in 2m9s
Build and Push CFDM Docker Image / create-release (push) Skipped
Build and Push CFDM Docker Image / update-wiki (push) Successful in 5s
feat(audit): локальный журнал и push в auth-portal
Таблица audit_log, recordAudit на CRUD, GET /api/v1/audit и dual-write source_app=cfdm.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-21 13:24:32 +07:00

23 lines
694 B
TypeScript

import type { FastifyInstance } from "fastify";
import { listAudit } from "@cfdm/db";
import { auditListQuerySchema } from "@cfdm/shared";
import { AppError } from "../errors.js";
export async function auditRoutes(app: FastifyInstance): Promise<void> {
app.get("/audit", async (request) => {
const parsed = auditListQuerySchema.safeParse(request.query);
if (!parsed.success) {
throw AppError.validation("Некорректные параметры запроса");
}
const q = parsed.data;
return listAudit(app.db, {
action: q.action,
severity: q.severity,
userId: q.user_id,
sourceApp: q.source_app,
limit: q.limit,
});
});
}