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" }, );