diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/api/badges/+server.ts | 19 | ||||
| -rw-r--r-- | src/routes/api/configuration/+server.ts | 32 | ||||
| -rw-r--r-- | src/routes/api/preferences/+server.ts | 12 | ||||
| -rw-r--r-- | src/routes/api/preferences/pin/+server.ts | 12 |
4 files changed, 18 insertions, 57 deletions
diff --git a/src/routes/api/badges/+server.ts b/src/routes/api/badges/+server.ts index 3c389cf6..abd5c0cd 100644 --- a/src/routes/api/badges/+server.ts +++ b/src/routes/api/badges/+server.ts @@ -1,4 +1,5 @@ import { userIdentity } from "$lib/Data/AniList/identity"; +import { decodeAuthCookieOrThrow } from "$lib/Effect/authCookie"; import { removeAllUserBadges, removeUserBadge, @@ -31,13 +32,8 @@ export const DELETE = async ({ url, cookies }) => { if (!userCookie) return unauthorised; - const user = JSON.parse(userCookie); - const identity = await userIdentity({ - tokenType: user["token_type"], - expiresIn: user["expires_in"], - accessToken: user["access_token"], - refreshToken: user["refresh_token"], - }); + const user = decodeAuthCookieOrThrow(userCookie); + const identity = await userIdentity(user); if ((url.searchParams.get("prune") || 0) === "true") { await removeAllUserBadges(identity.id); @@ -61,13 +57,8 @@ export const PUT = async ({ cookies, url, request }) => { if (!userCookie) return unauthorised; - const user = JSON.parse(userCookie); - const identity = await userIdentity({ - tokenType: user["token_type"], - expiresIn: user["expires_in"], - accessToken: user["access_token"], - refreshToken: user["refresh_token"], - }); + const user = decodeAuthCookieOrThrow(userCookie); + const identity = await userIdentity(user); const authorised = privilegedUser(identity.id); if (url.searchParams.get("shadowHide")) diff --git a/src/routes/api/configuration/+server.ts b/src/routes/api/configuration/+server.ts index 10b6b09f..033e8dea 100644 --- a/src/routes/api/configuration/+server.ts +++ b/src/routes/api/configuration/+server.ts @@ -1,4 +1,5 @@ import { userIdentity } from "$lib/Data/AniList/identity"; +import { decodeAuthCookieOrThrow } from "$lib/Effect/authCookie"; import { deleteUserConfiguration, getUserConfiguration, @@ -22,22 +23,12 @@ export const PUT = async ({ cookies, request }) => { if (!userCookie) return unauthorised; - const user = JSON.parse(userCookie); + const user = decodeAuthCookieOrThrow(userCookie); return Response.json( - await setUserConfiguration( - ( - await userIdentity({ - tokenType: user["token_type"], - expiresIn: user["expires_in"], - accessToken: user["access_token"], - refreshToken: user["refresh_token"], - }) - ).id, - { - configuration: await request.json(), - }, - ), + await setUserConfiguration((await userIdentity(user)).id, { + configuration: await request.json(), + }), { headers: { "Access-Control-Allow-Origin": "https://due.moe", @@ -51,19 +42,10 @@ export const DELETE = async ({ cookies }) => { if (!userCookie) return unauthorised; - const user = JSON.parse(userCookie); + const user = decodeAuthCookieOrThrow(userCookie); return Response.json( - await deleteUserConfiguration( - ( - await userIdentity({ - tokenType: user["token_type"], - expiresIn: user["expires_in"], - accessToken: user["access_token"], - refreshToken: user["refresh_token"], - }) - ).id, - ), + await deleteUserConfiguration((await userIdentity(user)).id), { headers: { "Access-Control-Allow-Origin": "https://due.moe", 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") || "", ), { |