aboutsummaryrefslogtreecommitdiff
path: root/src/routes/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/api')
-rw-r--r--src/routes/api/badges/+server.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/routes/api/badges/+server.ts b/src/routes/api/badges/+server.ts
index 2dc1d7b3..000dfa6c 100644
--- a/src/routes/api/badges/+server.ts
+++ b/src/routes/api/badges/+server.ts
@@ -73,6 +73,32 @@ export const PUT = async ({ cookies, url, request }) => {
return await badges(identity.id);
}
+ if (url.searchParams.get('hide') || undefined) {
+ const allBadges = await getUserBadges(identity.id);
+
+ await Promise.all(
+ allBadges
+ .filter((badge) => badge.category === (url.searchParams.get('category') || ''))
+ .map(async (badge) => {
+ await updateUserBadge(identity.id, badge.id as number, {
+ ...badge,
+ hidden:
+ allBadges
+ .filter((badge) => badge.category === (url.searchParams.get('category') || ''))
+ .filter((badge) => badge.hidden).length >
+ allBadges.filter(
+ (badge) => badge.category === (url.searchParams.get('category') || '')
+ ).length /
+ 2
+ ? false
+ : true
+ });
+ })
+ );
+
+ return await badges(identity.id);
+ }
+
const badge = {
post: url.searchParams.get('post') || undefined,
image: url.searchParams.get('image') || undefined,