aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRitesh Ghosh <[email protected]>2024-12-22 00:40:06 +0530
committerRitesh Ghosh <[email protected]>2024-12-22 00:40:06 +0530
commit861a8979991dc2aaaa621e0e2bb9e016ad4dfe6c (patch)
treea263bb522b5957a1a37a8ea73d439deb399267a6
parent062e662fbcde1947694b39740b9896f75325959c (diff)
downloadaniwatch-api-861a8979991dc2aaaa621e0e2bb9e016ad4dfe6c.tar.xz
aniwatch-api-861a8979991dc2aaaa621e0e2bb9e016ad4dfe6c.zip
feat(az-list): add `/azlist/:sortOption` endpoint for scraping hianime's az-list animes
-rw-r--r--src/routes/hianime.ts19
1 files changed, 19 insertions, 0 deletions
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<HiAnime.ScrapedAnimeAZList>(
+ 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");