diff options
Diffstat (limited to 'src/api/routes/applications/index.ts')
-rw-r--r-- | src/api/routes/applications/index.ts | 24 |
1 files changed, 10 insertions, 14 deletions
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 |