From d503bb6c5c6c412deac29f55a0c734c68df29842 Mon Sep 17 00:00:00 2001 From: Ritesh Ghosh Date: Thu, 3 Aug 2023 23:22:53 +0530 Subject: [PATCH] feat(newController): added `animeAboutInfo` controller --- src/controllers/animeAboutInfo.controller.ts | 25 ++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/controllers/animeAboutInfo.controller.ts diff --git a/src/controllers/animeAboutInfo.controller.ts b/src/controllers/animeAboutInfo.controller.ts new file mode 100644 index 0000000..6cde2c7 --- /dev/null +++ b/src/controllers/animeAboutInfo.controller.ts @@ -0,0 +1,25 @@ +import { scrapeAnimeAboutInfo } from "../parsers"; +import createHttpError from "http-errors"; +import { Request, Response, NextFunction, Handler } from "express"; + +// /anime/info?id=${anime-id} +const getAnimeAboutInfo: Handler = async ( + req: Request, + res: Response, + next: NextFunction +) => { + try { + const id = req.query.id ? decodeURIComponent(req.query.id as string) : null; + if (id === null) + throw createHttpError.BadRequest("Anime unique id required"); + + const data = await scrapeAnimeAboutInfo(id); + + res.status(200).json(data); + } catch (err: any) { + console.error(err); + next(err); + } +}; + +export default getAnimeAboutInfo;