import { db } from "@/lib/db"; import { getCurrentSession } from "@/lib/session"; import { activityLog } from "./schema"; export async function logActivity(input: { entityType: string; entityId: string; action: string; payload?: Record; }): Promise { const { user, household } = await getCurrentSession(); await db.insert(activityLog).values({ householdId: household.id, entityType: input.entityType, entityId: input.entityId, actorId: user.id, action: input.action, payload: input.payload ?? null, }); } export async function logShareActivity(input: { householdId: string; entityType: string; entityId: string; action: string; payload?: Record; }): Promise { await db.insert(activityLog).values({ householdId: input.householdId, entityType: input.entityType, entityId: input.entityId, actorId: null, action: input.action, payload: input.payload ?? null, }); } export async function logActivityForScope( scope: { householdId: string; userId: string | null }, input: { entityType: string; entityId: string; action: string; payload?: Record; }, ): Promise { await db.insert(activityLog).values({ householdId: scope.householdId, entityType: input.entityType, entityId: input.entityId, actorId: scope.userId, action: input.action, payload: input.payload ?? null, }); }