diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-12-24 16:28:00 +1100 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-12-24 16:28:00 +1100 |
commit | ac8ac9ada0bf5725ddbffbf4ecdd26068ce0b334 (patch) | |
tree | 8c01bd102ef9cec6032da6bd46c9c86329d8a281 | |
parent | Merge branch 'maddy/refactor' of github.com:fosscord/fosscord-server into mad... (diff) | |
download | server-ac8ac9ada0bf5725ddbffbf4ecdd26068ce0b334.tar.xz |
Fix creating bot accounts
-rw-r--r-- | src/api/routes/applications/#id/bot/index.ts | 5 | ||||
-rw-r--r-- | 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) { |