import { db } from "@/db/client"; import { auditEvents } from "@/db/schema"; /** Journal append-only ; métadonnées minimisées (jamais de code OTP, de jeton, d'adresse en clair). */ export async function audit(action: string, opts: { actorId?: string | null; objectType?: string; objectId?: string; ipHash?: string; meta?: Record } = {}) { try { await db().insert(auditEvents).values({ action, actorId: opts.actorId ?? null, objectType: opts.objectType ?? null, objectId: opts.objectId ?? null, ipHash: opts.ipHash ?? null, metadataRedacted: opts.meta ?? {} }); } catch (e) { console.error("[audit]", action, (e as Error).message); } }