mirror of
https://github.com/spacebarchat/server.git
synced 2026-05-03 05:26:25 +00:00
Change android and ios client downloads to use /download endpoint, update Release entity to suck less
This commit is contained in:
@@ -15,7 +15,7 @@ export const NO_AUTHORIZATION_ROUTES = [
|
||||
"/gateway",
|
||||
"/experiments",
|
||||
"/updates",
|
||||
"/downloads/",
|
||||
"/download",
|
||||
"/scheduled-maintenances/upcoming.json",
|
||||
// Public kubernetes integration
|
||||
"/-/readyz",
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import { Router, Response, Request } from "express";
|
||||
import { route } from "@fosscord/api";
|
||||
import { FieldErrors, Release } from "@fosscord/util";
|
||||
|
||||
const router = Router();
|
||||
|
||||
/*
|
||||
TODO: Putting the download route in /routes/download.ts doesn't register the route, for some reason
|
||||
But putting it here *does*
|
||||
*/
|
||||
|
||||
router.get("/", route({}), async (req: Request, res: Response) => {
|
||||
const { platform } = req.query;
|
||||
|
||||
if (!platform) throw FieldErrors({
|
||||
platform: {
|
||||
code: "BASE_TYPE_REQUIRED",
|
||||
message: req.t("common:field.BASE_TYPE_REQUIRED"),
|
||||
}
|
||||
});
|
||||
|
||||
const release = await Release.findOneOrFail({
|
||||
where: {
|
||||
enabled: true,
|
||||
platform: platform as string,
|
||||
},
|
||||
order: { pub_date: "DESC" }
|
||||
});
|
||||
|
||||
res.redirect(release.url);
|
||||
});
|
||||
|
||||
export default router;
|
||||
@@ -1,23 +0,0 @@
|
||||
import { Router, Response, Request } from "express";
|
||||
import { route } from "@fosscord/api";
|
||||
import { Release, 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;
|
||||
//TODO
|
||||
|
||||
if (!platform || !["linux", "osx", "win"].includes(platform.toString()))
|
||||
return res.status(404);
|
||||
|
||||
const release = await Release.findOneOrFail({
|
||||
where: { name: client.releases.upstreamVersion },
|
||||
});
|
||||
|
||||
res.redirect(release[`win_url`]);
|
||||
});
|
||||
|
||||
export default router;
|
||||
@@ -1,14 +1,26 @@
|
||||
import { Router, Response, Request } from "express";
|
||||
import { route } from "@fosscord/api";
|
||||
import { Config, Release } from "@fosscord/util";
|
||||
import { Config, FieldErrors, Release } from "@fosscord/util";
|
||||
|
||||
const router = Router();
|
||||
|
||||
router.get("/", route({}), async (req: Request, res: Response) => {
|
||||
const { client } = Config.get();
|
||||
const platform = req.query.platform;
|
||||
|
||||
if (!platform) throw FieldErrors({
|
||||
platform: {
|
||||
code: "BASE_TYPE_REQUIRED",
|
||||
message: req.t("common:field.BASE_TYPE_REQUIRED"),
|
||||
}
|
||||
});
|
||||
|
||||
const release = await Release.findOneOrFail({
|
||||
where: { name: client.releases.upstreamVersion },
|
||||
where: {
|
||||
enabled: true,
|
||||
platform: platform as string,
|
||||
},
|
||||
order: { pub_date: "DESC" }
|
||||
});
|
||||
|
||||
res.json({
|
||||
|
||||
Reference in New Issue
Block a user