diff --git a/src/api/routes/applications/index.ts b/src/api/routes/applications/index.ts
index 41ce35b5..70af84e6 100644
--- a/src/api/routes/applications/index.ts
+++ b/src/api/routes/applications/index.ts
@@ -1,35 +1,31 @@
import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
-import { Application, OrmUtils, Team, trimSpecial, User } from "@fosscord/util";
+import { Application, ApplicationCreateSchema, trimSpecial, User } from "@fosscord/util";
const router: Router = Router();
-export interface ApplicationCreateSchema {
- name: string;
- team_id?: string | number;
-}
-
router.get("/", route({}), async (req: Request, res: Response) => {
- //TODO
- let results = await Application.find({where: {owner: {id: req.user_id}}, relations: ["owner", "bot"] });
+ let results = await Application.find({ where: { owner: { id: req.user_id } }, relations: ["owner", "bot"] });
res.json(results).status(200);
});
-router.post("/", route({}), async (req: Request, res: Response) => {
+router.post("/", route({ body: "ApplicationCreateSchema" }), async (req: Request, res: Response) => {
const body = req.body as ApplicationCreateSchema;
- const user = await User.findOne({where: {id: req.user_id}})
- if(!user) res.status(420);
- let app = OrmUtils.mergeDeep(new Application(), {
+ const user = await User.findOneOrFail({ where: { id: req.user_id } });
+
+ const app = Application.create({
name: trimSpecial(body.name),
description: "",
bot_public: true,
bot_require_code_grant: false,
owner: user,
verify_key: "IMPLEMENTME",
- flags: ""
+ flags: 0,
});
+
await app.save();
- res.json(app).status(200);
+
+ res.json(app);
});
export default router;
\ No newline at end of file
|