aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Database
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-08-24 03:05:43 -0700
committerFuwn <[email protected]>2024-08-24 03:05:43 -0700
commitc654c46477602b162b931689902ecd09f574fbb1 (patch)
tree8a8c2db5314f52a344c3dff96dc5145e897f697d /src/lib/Database
parentrefactor(Data): rename database references (diff)
downloaddue.moe-c654c46477602b162b931689902ecd09f574fbb1.tar.xz
due.moe-c654c46477602b162b931689902ecd09f574fbb1.zip
feat(notifications): fingerprint for multiple grants
Diffstat (limited to 'src/lib/Database')
-rw-r--r--src/lib/Database/SB/User/notifications.ts14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/Database/SB/User/notifications.ts b/src/lib/Database/SB/User/notifications.ts
index b07a0a3a..add0c8a8 100644
--- a/src/lib/Database/SB/User/notifications.ts
+++ b/src/lib/Database/SB/User/notifications.ts
@@ -5,6 +5,7 @@ export interface UserNotifications {
updated_at: string;
user_id: number;
subscription: JSON;
+ fingerprint: string;
}
export const getUserSubscription = async (userId: number) =>
@@ -18,15 +19,20 @@ export const getUserSubscriptions = async () => {
return data as UserNotifications[];
};
-export const deleteUserSubscription = async (userId: number) =>
- await sb.from('user_notifications').delete().eq('user_id', userId);
+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) =>
+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
+ subscription: subscription,
+ fingerprint
},
{ onConflict: 'user_id' }
);