"use server"; import { getDb, legalAcceptances } from "@fetcha/db"; import { newId } from "@fetcha/core"; import { getUser, requestMeta } from "@/lib/session"; import { LEGAL_VERSIONS } from "@/lib/legal-versions"; /** Record acceptance of Terms + Privacy (+ AUP) for the current user with version, timestamp and IP. */ export async function recordLegalAcceptance(): Promise { const user = await getUser(); if (!user) return; const meta = await requestMeta(); const db = getDb(); await db.insert(legalAcceptances).values( (Object.keys(LEGAL_VERSIONS) as Array).map((doc) => ({ id: newId("evt"), userId: user.id, document: doc, version: LEGAL_VERSIONS[doc], ipAddress: meta.ip, })), ); }