From 35938556fe1ed6cbbde636c9d88beeeb85105e9d Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Sat, 24 Dec 2022 16:28:00 +1100 Subject: Fix creating bot accounts --- src/api/routes/applications/#id/bot/index.ts | 5 ++++- src/util/entities/User.ts | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/api/routes/applications/#id/bot/index.ts b/src/api/routes/applications/#id/bot/index.ts index ed5d6a70..c21e19ca 100644 --- a/src/api/routes/applications/#id/bot/index.ts +++ b/src/api/routes/applications/#id/bot/index.ts @@ -15,6 +15,7 @@ router.post("/", route({}), async (req: Request, res: Response) => { const user = await User.register({ username: app.name, password: undefined, + id: app.id, req, }); @@ -29,7 +30,9 @@ router.post("/", route({}), async (req: Request, res: Response) => { await app.save(); - res.send().status(204); + res.send({ + token: await generateToken(user.id) + }).status(204); }); router.post("/reset", route({}), async (req: Request, res: Response) => { diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts index 79ea6c3c..eeffab5b 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts @@ -306,12 +306,14 @@ export class User extends BaseClass { username, password, date_of_birth, + id, req, }: { username: string; password?: string; email?: string; date_of_birth?: Date; // "2000-04-03" + id?: string, req?: any; }) { // trim special uf8 control characters -> Backspace, Newline, ... @@ -334,10 +336,14 @@ export class User extends BaseClass { const language = req.language === "en" ? "en-US" : req.language || "en-US"; + const settings = UserSettings.create({ + locale: language, + }) + const user = User.create({ username: username, discriminator, - id: Snowflake.generate(), + id: id || Snowflake.generate(), email: email, rights: Config.get().register.defaultRights, data: { @@ -348,12 +354,14 @@ export class User extends BaseClass { premium_type: Config.get().defaults.user.premium_type, premium: Config.get().defaults.user.premium, verified: Config.get().defaults.user.verified, - settings: { ...new UserSettings(), locale: language } + settings: settings, }); user.validate(); - await user.save(); - await user.settings.save(); + await Promise.all([ + user.save(), + settings.save(), + ]) setImmediate(async () => { if (Config.get().guild.autoJoin.enabled) { -- cgit 1.4.1