diff options
Diffstat (limited to 'packages/api/routes/admin.ts')
| -rw-r--r-- | packages/api/routes/admin.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/api/routes/admin.ts b/packages/api/routes/admin.ts new file mode 100644 index 00000000..4b5438d6 --- /dev/null +++ b/packages/api/routes/admin.ts @@ -0,0 +1,24 @@ +import { zValidator } from "@hono/zod-validator"; +import { Hono } from "hono"; + +import { updateUserSchema } from "@karakeep/shared/types/admin"; + +import { adminAuthMiddleware } from "../middlewares/auth"; + +const app = new Hono() + .use(adminAuthMiddleware) + + // PUT /admin/users/:userId + .put("/users/:userId", zValidator("json", updateUserSchema), async (c) => { + const userId = c.req.param("userId"); + const body = c.req.valid("json"); + + // Ensure the userId from the URL matches the one in the body + const input = { ...body, userId }; + + await c.var.api.admin.updateUser(input); + + return c.json({ success: true }, 200); + }); + +export default app; |
