diff options
-rw-r--r-- | src/api/routes/applications/#id/bot/index.ts | 19 | ||||
-rw-r--r-- | src/api/routes/applications/index.ts | 21 | ||||
-rw-r--r-- | src/util/util/Application.ts | 24 | ||||
-rw-r--r-- | src/util/util/index.ts | 1 |
4 files changed, 30 insertions, 35 deletions
diff --git a/src/api/routes/applications/#id/bot/index.ts b/src/api/routes/applications/#id/bot/index.ts index 0a6e6fd4..3c431e3d 100644 --- a/src/api/routes/applications/#id/bot/index.ts +++ b/src/api/routes/applications/#id/bot/index.ts @@ -22,6 +22,7 @@ import { BotModifySchema, DiscordApiErrors, User, + createAppBotUser, generateToken, handleFile, } from "@spacebar/util"; @@ -52,23 +53,7 @@ router.post( if (app.owner.id != req.user_id) throw DiscordApiErrors.ACTION_NOT_AUTHORIZED_ON_APPLICATION; - const user = await User.register({ - username: app.name, - password: undefined, - id: app.id, - req, - }); - - user.id = app.id; - user.premium_since = new Date(); - user.bot = true; - - await user.save(); - - // flags is NaN here? - app.assign({ bot: user, flags: app.flags || 0 }); - - await app.save(); + const user = await createAppBotUser(app, req); res.send({ token: await generateToken(user.id), diff --git a/src/api/routes/applications/index.ts b/src/api/routes/applications/index.ts index 27300c4a..5bba3338 100644 --- a/src/api/routes/applications/index.ts +++ b/src/api/routes/applications/index.ts @@ -22,6 +22,7 @@ import { ApplicationCreateSchema, Config, User, + createAppBotUser, trimSpecial, } from "@spacebar/util"; import { Request, Response, Router } from "express"; @@ -72,24 +73,8 @@ router.post( // april 14, 2023: discord made bot users be automatically added to all new apps const { autoCreateBotUsers } = Config.get().general; if (autoCreateBotUsers) { - const user = await User.register({ - username: app.name, - password: undefined, - id: app.id, - req, - }); - - user.id = app.id; - user.premium_since = new Date(); - user.bot = true; - - await user.save(); - - // flags is NaN here? - app.assign({ bot: user, flags: app.flags || 0 }); - } - - await app.save(); + await createAppBotUser(app, req); + } else await app.save(); res.json(app); }, diff --git a/src/util/util/Application.ts b/src/util/util/Application.ts new file mode 100644 index 00000000..23019a7f --- /dev/null +++ b/src/util/util/Application.ts @@ -0,0 +1,24 @@ +import { Request } from "express"; +import { Application, User } from "../entities"; + +export async function createAppBotUser(app: Application, req: Request) { + const user = await User.register({ + username: app.name, + password: undefined, + id: app.id, + req, + }); + + user.id = app.id; + user.premium_since = new Date(); + user.bot = true; + + await user.save(); + + // flags is NaN here? + app.assign({ bot: user, flags: app.flags || 0 }); + + await app.save(); + + return user; +} diff --git a/src/util/util/index.ts b/src/util/util/index.ts index 3a98be15..6076f70a 100644 --- a/src/util/util/index.ts +++ b/src/util/util/index.ts @@ -18,6 +18,7 @@ export * from "./ApiError"; export * from "./Array"; +export * from "./Application"; export * from "./BitField"; //export * from "./Categories"; export * from "./cdn"; |