aboutsummaryrefslogtreecommitdiff
path: root/src/routes/api/preferences
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-03-03 08:57:37 -0800
committerFuwn <[email protected]>2026-03-03 08:57:53 -0800
commit46d3463c220410a8db7d4d2f941f65d1621ff8d6 (patch)
tree838949a51cbebcdba129695bfb693ad3bca0ec13 /src/routes/api/preferences
parentrefactor(effect): migrate core auth decode boundaries (diff)
downloaddue.moe-46d3463c220410a8db7d4d2f941f65d1621ff8d6.tar.xz
due.moe-46d3463c220410a8db7d4d2f941f65d1621ff8d6.zip
refactor(effect): migrate api auth cookie decoding
Diffstat (limited to 'src/routes/api/preferences')
-rw-r--r--src/routes/api/preferences/+server.ts12
-rw-r--r--src/routes/api/preferences/pin/+server.ts12
2 files changed, 6 insertions, 18 deletions
diff --git a/src/routes/api/preferences/+server.ts b/src/routes/api/preferences/+server.ts
index c46a3abf..0a30274b 100644
--- a/src/routes/api/preferences/+server.ts
+++ b/src/routes/api/preferences/+server.ts
@@ -1,4 +1,5 @@
import { userIdentity } from "$lib/Data/AniList/identity";
+import { decodeAuthCookieOrThrow } from "$lib/Effect/authCookie";
import {
getUserPreferences,
toggleHideMissingBadges,
@@ -28,15 +29,8 @@ export const PUT = async ({ url, cookies, request }) => {
if (!userCookie) return unauthorised;
- const user = JSON.parse(userCookie);
- const userId = (
- await userIdentity({
- tokenType: user["token_type"],
- expiresIn: user["expires_in"],
- accessToken: user["access_token"],
- refreshToken: user["refresh_token"],
- })
- ).id;
+ const user = decodeAuthCookieOrThrow(userCookie);
+ const userId = (await userIdentity(user)).id;
if (url.searchParams.get("toggleHideMissingBadges") !== null)
return Response.json(await toggleHideMissingBadges(userId), {
diff --git a/src/routes/api/preferences/pin/+server.ts b/src/routes/api/preferences/pin/+server.ts
index 15465113..045d0187 100644
--- a/src/routes/api/preferences/pin/+server.ts
+++ b/src/routes/api/preferences/pin/+server.ts
@@ -1,4 +1,5 @@
import { userIdentity } from "$lib/Data/AniList/identity";
+import { decodeAuthCookieOrThrow } from "$lib/Effect/authCookie";
import { toggleHololiveStreamPinning } from "$lib/Database/SB/User/preferences";
const unauthorised = new Response("Unauthorised", { status: 401 });
@@ -8,18 +9,11 @@ export const PUT = async ({ cookies, url }) => {
if (!userCookie) return unauthorised;
- const user = JSON.parse(userCookie);
+ const user = decodeAuthCookieOrThrow(userCookie);
return Response.json(
await toggleHololiveStreamPinning(
- (
- await userIdentity({
- tokenType: user["token_type"],
- expiresIn: user["expires_in"],
- accessToken: user["access_token"],
- refreshToken: user["refresh_token"],
- })
- ).id,
+ (await userIdentity(user)).id,
url.searchParams.get("stream") || "",
),
{