import sb from '../../sb'; export interface UserNotifications { created_at: string; updated_at: string; user_id: number; subscription: JSON; fingerprint: string; } export const getUserSubscription = async (userId: number) => await sb.from('user_notifications').select('*').eq('user_id', userId); export const getUserSubscriptions = async () => { const { data, error } = await sb.from('user_notifications').select('*'); if (error) return []; return data as UserNotifications[]; }; export const deleteUserSubscription = async (userId: number, fingerprint: string) => await sb.from('user_notifications').delete().eq('user_id', userId).eq('fingerprint', fingerprint); export const setUserSubscription = async ( userId: number, subscription: JSON, fingerprint: string ) => await sb.from('user_notifications').upsert( { user_id: userId, updated_at: new Date().toISOString(), subscription: subscription, fingerprint }, { onConflict: 'user_id' } );