aboutsummaryrefslogtreecommitdiff
path: root/src/routes/api/notifications/subscribe
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/api/notifications/subscribe')
-rw-r--r--src/routes/api/notifications/subscribe/+server.ts11
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 });
};