import sb from '../../sb'; interface UserConfiguration { user_id: number; configuration: object; created_at: string; updated_at: string; } interface NewUserConfiguration { configuration: object; updated_at?: string; } export const getUserConfiguration = async (userId: number) => { const { data, error } = await sb.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 sb .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; }; export const deleteUserConfiguration = async (userId: number) => { const { data, error } = await sb.from('user_configuration').delete().eq('user_id', userId); if (error || !data) return null; return data; };