From 3a238429249a9a0d061dc49fab4bbc3b54320314 Mon Sep 17 00:00:00 2001 From: Puyodead1 Date: Sat, 25 Mar 2023 18:28:12 -0400 Subject: oapi: root level routes --- src/api/routes/download.ts | 47 ++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) (limited to 'src/api/routes/download.ts') 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 . */ -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; -- cgit 1.5.1