aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/routes/api/badges/+server.ts19
-rw-r--r--src/routes/api/configuration/+server.ts32
-rw-r--r--src/routes/api/preferences/+server.ts12
-rw-r--r--src/routes/api/preferences/pin/+server.ts12
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") || "",
),
{