summary refs log tree commit diff
path: root/src/routes/users/@me/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/users/@me/index.ts')
-rw-r--r--src/routes/users/@me/index.ts48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/routes/users/@me/index.ts b/src/routes/users/@me/index.ts
deleted file mode 100644

index 7bd4a486..00000000 --- a/src/routes/users/@me/index.ts +++ /dev/null
@@ -1,48 +0,0 @@ -import { Router, Request, Response } from "express"; -import { UserModel, toObject, PublicUserProjection } from "@fosscord/server-util"; -import { getPublicUser } from "../../../util/User"; -import { UserModifySchema } from "../../../schema/User"; -import { check } from "../../../util/instanceOf"; -import { handleFile } from "../../../util/cdn"; - -const router: Router = Router(); - -router.get("/", async (req: Request, res: Response) => { - res.json(await getPublicUser(req.user_id)); -}); - -const UserUpdateProjection = { - accent_color: true, - avatar: true, - banner: true, - bio: true, - bot: true, - discriminator: true, - email: true, - flags: true, - id: true, - locale: true, - mfa_enabled: true, - nsfw_alllowed: true, - phone: true, - public_flags: true, - purchased_flags: true, - // token: true, // this isn't saved in the db and needs to be set manually - username: true, - verified: true -}; - -router.patch("/", check(UserModifySchema), async (req: Request, res: Response) => { - const body = req.body as UserModifySchema; - - if (body.avatar) body.avatar = await handleFile(`/avatars/${req.user_id}`, body.avatar as string); - if (body.banner) body.banner = await handleFile(`/banners/${req.user_id}`, body.banner as string); - - const user = await UserModel.findOneAndUpdate({ id: req.user_id }, body, { projection: UserUpdateProjection }).exec(); - // TODO: dispatch user update event - - res.json(toObject(user)); -}); - -export default router; -// {"message": "Invalid two-factor code", "code": 60008}