From f1a09f3348cf4dbc7a0fb6116f9f41fcde372f4c Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 17 Feb 2024 21:04:59 -0800 Subject: feat(hololive): move pinned to preferences --- src/routes/api/configuration/pin/+server.ts | 32 ----------------------------- src/routes/api/preferences/+server.ts | 8 ++++++++ src/routes/api/preferences/pin/+server.ts | 32 +++++++++++++++++++++++++++++ src/routes/hololive/+page.svelte | 4 ++-- 4 files changed, 42 insertions(+), 34 deletions(-) delete mode 100644 src/routes/api/configuration/pin/+server.ts create mode 100644 src/routes/api/preferences/+server.ts create mode 100644 src/routes/api/preferences/pin/+server.ts (limited to 'src/routes') diff --git a/src/routes/api/configuration/pin/+server.ts b/src/routes/api/configuration/pin/+server.ts deleted file mode 100644 index f813d8e8..00000000 --- a/src/routes/api/configuration/pin/+server.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { userIdentity } from '$lib/Data/AniList/identity'; -import { toggleHololiveStreamPinning } from '$lib/Database/userConfiguration'; - -const unauthorised = new Response('Unauthorised', { status: 401 }); - -export const PUT = async ({ cookies, url }) => { - const userCookie = cookies.get('user'); - - if (!userCookie) return unauthorised; - - const user = JSON.parse(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, - url.searchParams.get('stream') || '' - ), - { - headers: { - method: 'PUT', - 'Access-Control-Allow-Origin': 'https://due.moe' - } - } - ); -}; diff --git a/src/routes/api/preferences/+server.ts b/src/routes/api/preferences/+server.ts new file mode 100644 index 00000000..a36bd236 --- /dev/null +++ b/src/routes/api/preferences/+server.ts @@ -0,0 +1,8 @@ +import { getUserPreferences } from '$lib/Database/userPreferences'; + +export const GET = async ({ url }) => + Response.json(await getUserPreferences(Number(url.searchParams.get('id') || 0)), { + headers: { + 'Access-Control-Allow-Origin': 'https://due.moe' + } + }); diff --git a/src/routes/api/preferences/pin/+server.ts b/src/routes/api/preferences/pin/+server.ts new file mode 100644 index 00000000..90dfce62 --- /dev/null +++ b/src/routes/api/preferences/pin/+server.ts @@ -0,0 +1,32 @@ +import { userIdentity } from '$lib/Data/AniList/identity'; +import { toggleHololiveStreamPinning } from '$lib/Database/userPreferences'; + +const unauthorised = new Response('Unauthorised', { status: 401 }); + +export const PUT = async ({ cookies, url }) => { + const userCookie = cookies.get('user'); + + if (!userCookie) return unauthorised; + + const user = JSON.parse(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, + url.searchParams.get('stream') || '' + ), + { + headers: { + method: 'PUT', + 'Access-Control-Allow-Origin': 'https://due.moe' + } + } + ); +}; diff --git a/src/routes/hololive/+page.svelte b/src/routes/hololive/+page.svelte index e5d31056..866fc105 100644 --- a/src/routes/hololive/+page.svelte +++ b/src/routes/hololive/+page.svelte @@ -29,10 +29,10 @@ }; if ($identity.id !== -2) { - fetch(root(`/api/configuration?id=${$identity.id}`)).then((response) => { + fetch(root(`/api/preferences?id=${$identity.id}`)).then((response) => { if (response.ok) response.json().then((data) => { - if (data && data.configuration) streams = data.pinned_hololive_streams; + if (data && data.pinned_hololive_streams) streams = data.pinned_hololive_streams; setSchedule(); }); -- cgit v1.2.3