diff --git a/api/src/routes/applications/index.ts b/api/src/routes/applications/index.ts
index 28ce42da..c9be1131 100644
--- a/api/src/routes/applications/index.ts
+++ b/api/src/routes/applications/index.ts
@@ -1,11 +1,35 @@
import { Request, Response, Router } from "express";
import { route } from "@fosscord/api";
+import { Application, OrmUtils, Team, 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
- res.send([]).status(200);
+ let results = await Application.find({where: {owner: {id: req.user_id}}, relations: ["owner"] });
+ res.json(results).status(200);
+});
+
+router.post("/", route({}), 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(), {
+ name: trimSpecial(body.name),
+ description: "",
+ bot_public: true,
+ bot_require_code_grant: false,
+ owner: user,
+ verify_key: "IMPLEMENTME",
+ flags: ""
+ });
+ await app.save();
+ res.json(app).status(200);
});
-export default router;
+export default router;
\ No newline at end of file
|