From 861a8979991dc2aaaa621e0e2bb9e016ad4dfe6c Mon Sep 17 00:00:00 2001 From: Ritesh Ghosh Date: Sun, 22 Dec 2024 00:40:06 +0530 Subject: feat(az-list): add `/azlist/:sortOption` endpoint for scraping hianime's az-list animes --- src/routes/hianime.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/routes/hianime.ts b/src/routes/hianime.ts index fd34e5d..e636a5e 100644 --- a/src/routes/hianime.ts +++ b/src/routes/hianime.ts @@ -22,6 +22,25 @@ hianimeRouter.get("/home", async (c) => { return c.json({ success: true, data }, { status: 200 }); }); +// /api/v2/hianime/azlist/{sortOption}?page={page} +hianimeRouter.get("/azlist/:sortOption", async (c) => { + const cacheConfig = c.get("CACHE_CONFIG"); + + const sortOption = decodeURIComponent( + c.req.param("sortOption").trim().toLowerCase() + ) as HiAnime.AZListSortOptions; + const page: number = + Number(decodeURIComponent(c.req.query("page") || "")) || 1; + + const data = await cache.getOrSet( + cacheConfig.key, + async () => hianime.getAZList(sortOption, page), + cacheConfig.duration + ); + + return c.json({ success: true, data }, { status: 200 }); +}); + // /api/v2/hianime/category/{name}?page={page} hianimeRouter.get("/category/:name", async (c) => { const cacheConfig = c.get("CACHE_CONFIG"); -- cgit v1.2.3