summary refs log tree commit diff
path: root/src/api/routes/users/@me/settings.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/routes/users/@me/settings.ts')
-rw-r--r--src/api/routes/users/@me/settings.ts132
1 files changed, 66 insertions, 66 deletions
diff --git a/src/api/routes/users/@me/settings.ts b/src/api/routes/users/@me/settings.ts

index d220b859..57ffba14 100644 --- a/src/api/routes/users/@me/settings.ts +++ b/src/api/routes/users/@me/settings.ts
@@ -24,81 +24,81 @@ import { UserSettingsUpdateSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); router.get( - "/", - route({ - responses: { - 200: { - body: "UserSettings", - }, - 404: { - body: "APIErrorResponse", - }, - }, - }), - async (req: Request, res: Response) => { - const settings = await UserSettings.getOrDefault(req.user_id); - return res.json(settings); - }, + "/", + route({ + responses: { + 200: { + body: "UserSettings", + }, + 404: { + body: "APIErrorResponse", + }, + }, + }), + async (req: Request, res: Response) => { + const settings = await UserSettings.getOrDefault(req.user_id); + return res.json(settings); + }, ); router.patch( - "/", - route({ - requestBody: "UserSettingsUpdateSchema", - responses: { - 200: { - body: "UserSettings", - }, - 400: { - body: "APIErrorResponse", - }, - 404: { - body: "APIErrorResponse", - }, - }, - }), - async (req: Request, res: Response) => { - const body = req.body as UserSettingsUpdateSchema; - if (!body) return res.status(400).json({ code: 400, message: "Invalid request body" }); - if (body.locale === "en") body.locale = "en-US"; // fix discord client crash on unknown locale + "/", + route({ + requestBody: "UserSettingsUpdateSchema", + responses: { + 200: { + body: "UserSettings", + }, + 400: { + body: "APIErrorResponse", + }, + 404: { + body: "APIErrorResponse", + }, + }, + }), + async (req: Request, res: Response) => { + const body = req.body as UserSettingsUpdateSchema; + if (!body) return res.status(400).json({ code: 400, message: "Invalid request body" }); + if (body.locale === "en") body.locale = "en-US"; // fix discord client crash on unknown locale - const user = await User.findOneOrFail({ - where: { id: req.user_id, bot: false }, - relations: ["settings"], - }); + const user = await User.findOneOrFail({ + where: { id: req.user_id, bot: false }, + relations: ["settings"], + }); - if (!user.settings) user.settings = UserSettings.create<UserSettings>(body); - else user.settings.assign(body); + if (!user.settings) user.settings = UserSettings.create<UserSettings>(body); + else user.settings.assign(body); - if (body.guild_folders) user.settings.guild_folders = body.guild_folders; + if (body.guild_folders) user.settings.guild_folders = body.guild_folders; - await user.settings.save(); - await user.save(); - if (body.status) { - const [session] = (await Session.find({ - where: { user_id: user.id }, - })) as [Session | undefined]; - if (session) { - session.status = body.status; + await user.settings.save(); + await user.save(); + if (body.status) { + const [session] = (await Session.find({ + where: { user_id: user.id }, + })) as [Session | undefined]; + if (session) { + session.status = body.status; - await Promise.all([ - emitEvent({ - event: "PRESENCE_UPDATE", - user_id: user.id, - data: { - user: user.toPublicUser(), - activities: session.activities, - client_status: session?.client_status, - status: session.getPublicStatus(), - }, - } as PresenceUpdateEvent), - session.save(), - ]); - } - } + await Promise.all([ + emitEvent({ + event: "PRESENCE_UPDATE", + user_id: user.id, + data: { + user: user.toPublicUser(), + activities: session.activities, + client_status: session?.client_status, + status: session.getPublicStatus(), + }, + } as PresenceUpdateEvent), + session.save(), + ]); + } + } - res.json({ ...user.settings, index: undefined }); - }, + res.json({ ...user.settings, index: undefined }); + }, ); export default router;