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";
|