From 66cfee819d1c0d6f1aad647d60847754d91d1e91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Tue, 10 Oct 2023 21:58:29 -0400 Subject: [PATCH] feat(api): add endpoint to promote/demote a user to/from an admin --- server/api/user/[id]/admin.post.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 server/api/user/[id]/admin.post.ts diff --git a/server/api/user/[id]/admin.post.ts b/server/api/user/[id]/admin.post.ts new file mode 100644 index 0000000..e84ad07 --- /dev/null +++ b/server/api/user/[id]/admin.post.ts @@ -0,0 +1,15 @@ +import isAdmin from "~/lib/server/middlewareButNotReally/isAdmin"; +import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn"; +import { User } from "~/models/user"; + +export default eventHandler(async (ev) => { + isLoggedIn(ev); + isAdmin(ev); + const b = await readBody(ev); + let idee = parseInt(getRouterParam(ev, "id")!); + await User.findByIdAndUpdate(idee, { + $set: { + "profile.isAdmin": b.promote, + }, + }); +});