import { getSupabaseServerClient } from '@kit/supabase/server-client'; export enum DoctorPageViewAction { VIEW_ANALYSIS_RESULTS = 'VIEW_ANALYSIS_RESULTS', VIEW_DASHBOARD = 'VIEW_DASHBOARD', VIEW_OPEN_JOBS = 'VIEW_OPEN_JOBS', VIEW_OWN_JOBS = 'VIEW_OWN_JOBS', VIEW_DONE_JOBS = 'VIEW_DONE_JOBS', } export const createDoctorPageViewLog = async ({ action, recordKey, dataOwnerUserId, }: { action: DoctorPageViewAction; recordKey?: string; dataOwnerUserId?: string; }) => { try { const supabase = getSupabaseServerClient(); const { data: { user }, error: userError, } = await supabase.auth.getUser(); if (userError || !user) { console.error('No authenticated user found; skipping audit insert'); return; } await supabase .schema('audit') .from('doctor_page_views') .insert({ viewer_user_id: user.id, data_owner_user_id: dataOwnerUserId, viewed_record_key: recordKey, action, }) .throwOnError(); } catch (error) { console.error('Failed to insert doctor page view log', error); } };