SPB Git

spb/polyllm

Public
735 B · 28 lines typescript
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
Files · d6f683a5f3ce2650916bcde9467e60c640c62fa9
Menu

Theme