aboutsummaryrefslogtreecommitdiff
path: root/src/routes
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/api/badges/+server.ts41
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);
};