SPB Git forge

spb/polyllm

Public
15commits 1branches 0releases
2.2 MBsize
maindefault branch
13 days agolast push
TypeScript 97.4% SQL 1% JavaScript 0.9% CSS 0.6%
735 B · 28 lines typescript
Raw Blame History
1import "server-only";2import { getDb, auditEvents } from "@/db";3import { ids } from "@/lib/ids";4import { log } from "@/lib/log";56export async function writeAudit(input: {7  userId?: string | null;8  action: string;9  ipAddress?: string | null;10  userAgent?: string | null;11  meta?: Record<string, unknown>;12}) {13  try {14    await getDb()15      .insert(auditEvents)16      .values({17        id: ids.audit(),18        userId: input.userId ?? null,19        action: input.action,20        ipAddress: input.ipAddress ?? null,21        userAgent: input.userAgent?.slice(0, 300) ?? null,22        meta: input.meta ?? {},23      });24  } catch (e) {25    log.warn("audit write failed", { action: input.action, error: (e as Error).message });26  }27}28