diff options
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/api/badges/+server.ts | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/src/routes/api/badges/+server.ts b/src/routes/api/badges/+server.ts index 7d1b6329..2bf9a728 100644 --- a/src/routes/api/badges/+server.ts +++ b/src/routes/api/badges/+server.ts @@ -3,16 +3,18 @@ import { removeUserBadge, updateUserBadge } from '$lib/Database/badges'; import { getUserBadges } from '$lib/Database/badges'; import { addUserBadge } from '$lib/Database/badges'; +const unauthorised = new Response('Unauthorised', { status: 401 }); + +const badges = async (id: number) => Response.json(await getUserBadges(id)); + export const GET = async ({ url }) => { - return Response.json(await getUserBadges(Number(url.searchParams.get('id') || 0))); + return badges(Number(url.searchParams.get('id') || 0)); }; export const DELETE = async ({ url, cookies }) => { const userCookie = cookies.get('user'); - if (!userCookie) { - return new Response('Unauthenticated', { status: 401 }); - } + if (!userCookie) return unauthorised; const user = JSON.parse(userCookie); const identity = await userIdentity({ @@ -24,15 +26,13 @@ export const DELETE = async ({ url, cookies }) => { await removeUserBadge(identity.id, Number(url.searchParams.get('id'))); - return Response.json(await getUserBadges(identity.id)); + return badges(identity.id); }; export const PUT = async ({ cookies, url }) => { const userCookie = cookies.get('user'); - if (!userCookie) { - return new Response('Unauthenticated', { status: 401 }); - } + if (!userCookie) return unauthorised; const user = JSON.parse(userCookie); const identity = await userIdentity({ @@ -41,28 +41,23 @@ export const PUT = async ({ cookies, url }) => { accessToken: user['access_token'], refreshToken: user['refresh_token'] }); + const badge = { + post: url.searchParams.get('post') || undefined, + image: url.searchParams.get('image') || undefined, + description: url.searchParams.get('description') || undefined, + time: url.searchParams.get('time') || undefined, + category: url.searchParams.get('category') || undefined + }; if ( (await getUserBadges(identity.id)).find( (badge) => Number(badge.id) === Number(url.searchParams.get('update')) ) ) { - await updateUserBadge(identity.id, Number(url.searchParams.get('update')), { - post: url.searchParams.get('post') || undefined, - image: url.searchParams.get('image') || undefined, - description: url.searchParams.get('description') || undefined, - time: url.searchParams.get('time') || undefined, - category: url.searchParams.get('category') || undefined - }); + await updateUserBadge(identity.id, Number(url.searchParams.get('update')), badge); } else { - await addUserBadge(identity.id, { - post: url.searchParams.get('post') || undefined, - image: url.searchParams.get('image') || undefined, - description: url.searchParams.get('description') || undefined, - time: url.searchParams.get('time') || undefined, - category: url.searchParams.get('category') || undefined - }); + await addUserBadge(identity.id, badge); } - return Response.json(await getUserBadges(identity.id)); + return badges(identity.id); }; |