summary refs log tree commit diff
path: root/src/api/routes/download.ts
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2023-04-29 01:11:22 +1000
committerGitHub <noreply@github.com>2023-04-29 01:11:22 +1000
commit009a3ad27f994318f72deb016ef4042cdd070865 (patch)
treea759056de60fb7ed285314e63d378315dfef40b0 /src/api/routes/download.ts
parentstart listening before starting components in bundle (diff)
parentMerge branch 'master' into openapi (diff)
downloadserver-009a3ad27f994318f72deb016ef4042cdd070865.tar.xz
Merge pull request #1032 from spacebarchat/openapi
Better OpenAPI
Diffstat (limited to 'src/api/routes/download.ts')
-rw-r--r--src/api/routes/download.ts47
1 files changed, 29 insertions, 18 deletions
diff --git a/src/api/routes/download.ts b/src/api/routes/download.ts

index c4eea8e8..85fb41be 100644 --- a/src/api/routes/download.ts +++ b/src/api/routes/download.ts
@@ -16,32 +16,43 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { Router, Response, Request } from "express"; import { route } from "@spacebar/api"; import { FieldErrors, Release } from "@spacebar/util"; +import { Request, Response, Router } from "express"; const router = Router(); -router.get("/", route({}), async (req: Request, res: Response) => { - const { platform } = req.query; +router.get( + "/", + route({ + responses: { + 302: {}, + 404: { + body: "APIErrorResponse", + }, + }, + }), + 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"), + }, + }); - 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" }, }); - const release = await Release.findOneOrFail({ - where: { - enabled: true, - platform: platform as string, - }, - order: { pub_date: "DESC" }, - }); - - res.redirect(release.url); -}); + res.redirect(release.url); + }, +); export default router;