diff options
Diffstat (limited to 'src/routes/api/notifications/subscribe')
| -rw-r--r-- | src/routes/api/notifications/subscribe/+server.ts | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/routes/api/notifications/subscribe/+server.ts b/src/routes/api/notifications/subscribe/+server.ts index 499e2cf0..806785e4 100644 --- a/src/routes/api/notifications/subscribe/+server.ts +++ b/src/routes/api/notifications/subscribe/+server.ts @@ -1,6 +1,8 @@ import { userIdentity } from "$lib/Data/AniList/identity"; import { setUserSubscription } from "$lib/Database/SB/User/notifications"; import { decodeAuthCookieOrThrow } from "$lib/Effect/authCookie"; +import { decodeRequestJsonOrThrow } from "$lib/Effect/requestBody"; +import { Schema } from "effect"; const unauthorised = new Response("Unauthorised", { status: 401 }); @@ -15,7 +17,14 @@ export const POST = async ({ cookies, request, url }) => { if (!userId) return unauthorised; - await setUserSubscription(userId, await request.json(), fingerprint); + await setUserSubscription( + userId, + (await decodeRequestJsonOrThrow( + request, + Schema.Record(Schema.String, Schema.Unknown), + )) as unknown as JSON, + fingerprint, + ); return new Response(null, { status: 200 }); }; |