diff options
Diffstat (limited to 'src/routes/api/preferences/pin/+server.ts')
| -rw-r--r-- | src/routes/api/preferences/pin/+server.ts | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/routes/api/preferences/pin/+server.ts b/src/routes/api/preferences/pin/+server.ts index 45a231fd..b69a8142 100644 --- a/src/routes/api/preferences/pin/+server.ts +++ b/src/routes/api/preferences/pin/+server.ts @@ -1,5 +1,5 @@ -import { userIdentity } from "$lib/Data/AniList/identity"; -import { decodeAuthCookieOrThrow } from "$lib/Effect/authCookie"; +import { safeUserIdentity } from "$lib/Data/AniList/identity"; +import { decodeAuthCookieOrNull } from "$lib/Effect/authCookie"; import { toggleHololiveStreamPinning } from "$lib/Database/SB/User/preferences"; import { appOriginHeaders } from "$lib/Utility/appOrigin"; @@ -10,11 +10,17 @@ export const PUT = async ({ cookies, url }) => { if (!userCookie) return unauthorised; - const user = decodeAuthCookieOrThrow(userCookie); + const user = decodeAuthCookieOrNull(userCookie); + + if (!user) return unauthorised; + + const identity = await safeUserIdentity(user); + + if (!identity) return unauthorised; return Response.json( await toggleHololiveStreamPinning( - (await userIdentity(user)).id, + identity.id, url.searchParams.get("stream") || "", ), { |