diff options
| author | Fuwn <[email protected]> | 2024-01-02 20:07:51 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-02 20:07:51 -0800 |
| commit | 2d34082353f859c8e09adc8a66794bb96f81822f (patch) | |
| tree | 42f853a7511faff322c9f5c94b7f9075d54befad /src/routes/api/badges | |
| parent | feat(tools): random follower finder (diff) | |
| download | due.moe-2d34082353f859c8e09adc8a66794bb96f81822f.tar.xz due.moe-2d34082353f859c8e09adc8a66794bb96f81822f.zip | |
feat(badges): update and delete ui
Diffstat (limited to 'src/routes/api/badges')
| -rw-r--r-- | src/routes/api/badges/+server.ts | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/src/routes/api/badges/+server.ts b/src/routes/api/badges/+server.ts index d06be6cd..fc5a4d0a 100644 --- a/src/routes/api/badges/+server.ts +++ b/src/routes/api/badges/+server.ts @@ -1,5 +1,5 @@ import { userIdentity } from '$lib/AniList/identity'; -import { removeUserBadge } from '$lib/Database/badges'; +import { removeUserBadge, updateUserBadge } from '$lib/Database/badges'; import { getUserBadges } from '$lib/Database/badges'; import { addUserBadge } from '$lib/Database/badges'; @@ -42,7 +42,43 @@ export const PUT = async ({ cookies, url }) => { refreshToken: user['refresh_token'] }); - addUserBadge(identity.id, { + if ( + getUserBadges(identity.id).find((badge) => badge.id === Number(url.searchParams.get('update'))) + ) { + 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 + }); + } else { + 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 + }); + } + + return Response.json({}); +}; + +export const PATCH = async ({ cookies, url }) => { + const userCookie = cookies.get('user'); + + if (!userCookie) { + return new Response('Unauthenticated', { status: 401 }); + } + + 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'] + }); + + updateUserBadge(identity.id, Number(url.searchParams.get('id')), { post: url.searchParams.get('post') || undefined, image: url.searchParams.get('image') || undefined, description: url.searchParams.get('description') || undefined, |