import { userIdentity } from '$lib/Data/AniList/identity'; import { getUserPreferences, toggleHideMissingBadges, setCSS, setBiography, toggleHideAWCBadges, togglePinnedBadgeWallCategory, setPinnedBadgeWallCategories } from '$lib/Database/SB/User/preferences'; const unauthorised = new Response('Unauthorised', { status: 401 }); export const GET = async ({ url }) => { const preferences = await getUserPreferences(Number(url.searchParams.get('id') || 0)); return Response.json(preferences ? preferences : {}, { headers: { 'Access-Control-Allow-Origin': 'https://due.moe' } }); }; export const PUT = async ({ url, cookies, request }) => { const userCookie = cookies.get('user'); 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; if (url.searchParams.get('toggleHideMissingBadges') !== null) return Response.json(await toggleHideMissingBadges(userId), { headers: { 'Access-Control-Allow-Origin': 'https://due.moe' } }); if (url.searchParams.get('toggleHideAWCBadges') !== null) return Response.json(await toggleHideAWCBadges(userId), { headers: { 'Access-Control-Allow-Origin': 'https://due.moe' } }); if (url.searchParams.get('badgeWallCSS') !== null) return Response.json(await setCSS(userId, await request.text()), { headers: { 'Access-Control-Allow-Origin': 'https://due.moe' } }); if (url.searchParams.get('toggleCategory') !== null) return Response.json( await togglePinnedBadgeWallCategory(userId, url.searchParams.get('toggleCategory') || ''), { headers: { 'Access-Control-Allow-Origin': 'https://due.moe' } } ); if (url.searchParams.get('setCategories') !== null) return Response.json(await setPinnedBadgeWallCategories(userId, await request.json()), { headers: { 'Access-Control-Allow-Origin': 'https://due.moe' } }); if (url.searchParams.get('biography') !== null) return Response.json(await setBiography(userId, (await request.text()).slice(0, 3000)), { headers: { 'Access-Control-Allow-Origin': 'https://due.moe' } }); return Response.json(await getUserPreferences(Number(url.searchParams.get('id') || 0)), { headers: { 'Access-Control-Allow-Origin': 'https://due.moe' } }); };