import supabase from './supabase'; interface UserConfiguration { user_id: number; configuration: JSON; created_at: string; updated_at: string; } interface NewUserConfiguration { configuration: JSON; updated_at?: string; } export const getUserConfiguration = async (userId: number) => { const { data, error } = await supabase .from('user_configuration') .select('*') .eq('user_id', userId); if (error || data.length === 0 || data[0].user_id !== userId) return null; return data[0] as UserConfiguration; }; export const setUserConfiguration = async (userId: number, configuration: NewUserConfiguration) => { const { data, error } = await supabase .from('user_configuration') .upsert( { user_id: userId, configuration: configuration.configuration, updated_at: configuration.updated_at || new Date().toISOString() }, { onConflict: 'user_id' } ) .select(); if (error || !data || (data as []).length === 0) return null; return data[0].configuration as UserConfiguration; };