import { prisma } from "./prisma";

// Catat audit log untuk aksi sensitif (adjustment stok, override, delete, dsb).
export async function audit(params: {
  actorUserId: string;
  action: string;
  targetTable: string;
  targetId?: string | null;
  before?: unknown;
  after?: unknown;
  reason?: string | null;
}) {
  await prisma.auditLog.create({
    data: {
      actorUserId: params.actorUserId,
      action: params.action,
      targetTable: params.targetTable,
      targetId: params.targetId ?? null,
      beforeData: params.before != null ? JSON.stringify(params.before) : null,
      afterData: params.after != null ? JSON.stringify(params.after) : null,
      reason: params.reason ?? null,
    },
  });
}
