diff options
Diffstat (limited to 'api/src/routes')
-rw-r--r-- | api/src/routes/downloads.ts | 19 | ||||
-rw-r--r-- | api/src/routes/updates.ts | 20 |
2 files changed, 39 insertions, 0 deletions
diff --git a/api/src/routes/downloads.ts b/api/src/routes/downloads.ts new file mode 100644 index 00000000..de261702 --- /dev/null +++ b/api/src/routes/downloads.ts @@ -0,0 +1,19 @@ +import { Router, Response, Request } from "express"; +import { route } from "@fosscord/api"; +import { Relase, Config } from "@fosscord/util"; + +const router = Router(); + +router.get("/:branch", route({}), async (req: Request, res: Response) => { + const { client } = Config.get(); + const { branch } = req.params; + const { platform } = req.query; + + if(!platform || !["linux", "osx", "win"].includes(platform.toString())) return res.status(404) + + const relase = await Relase.findOneOrFail({ name: client.relases.upstreamVersion }); + + res.redirect(relase[`win_url`]); +}); + +export default router; diff --git a/api/src/routes/updates.ts b/api/src/routes/updates.ts new file mode 100644 index 00000000..4682ce7c --- /dev/null +++ b/api/src/routes/updates.ts @@ -0,0 +1,20 @@ +import { Router, Response, Request } from "express"; +import { route } from "@fosscord/api"; +import { Config, Relase } from "@fosscord/util"; + +const router = Router(); + +router.get("/", route({}), async (req: Request, res: Response) => { + const { client } = Config.get(); + + const relase = await Relase.findOneOrFail({ name: client.relases.upstreamVersion}) + + res.json({ + name: relase.name, + pub_date: relase.pub_date, + url: relase.url, + notes: relase.notes + }); +}); + +export default router; |