mirror of
https://github.com/JustAnimeCore/HiAnime-Api.git
synced 2026-04-17 22:01:44 +00:00
feature, not a bug
This commit is contained in:
29
src/controllers/category.controller.js
Normal file
29
src/controllers/category.controller.js
Normal file
@@ -0,0 +1,29 @@
|
||||
import { extractor } from "../extractors/category.extractor.js";
|
||||
import { getCachedData, setCachedData } from "../helper/cache.helper.js";
|
||||
|
||||
export const getCategory = async (req, res, routeType) => {
|
||||
if (routeType === "genre/martial-arts") {
|
||||
routeType = "genre/marial-arts";
|
||||
}
|
||||
const requestedPage = parseInt(req.query.page) || 1;
|
||||
// const cacheKey = `${routeType.replace(/\//g, "_")}_page_${requestedPage}`;
|
||||
try {
|
||||
// const cachedResponse = await getCachedData(cacheKey);
|
||||
// if (cachedResponse && Object.keys(cachedResponse).length > 0)
|
||||
// return cachedResponse;
|
||||
const { data, totalPages } = await extractor(routeType, requestedPage);
|
||||
if (requestedPage > totalPages) {
|
||||
const error = new Error("Requested page exceeds total available pages.");
|
||||
error.status = 404;
|
||||
throw error;
|
||||
}
|
||||
const responseData = { totalPages: totalPages, data: data };
|
||||
// setCachedData(cacheKey, responseData).catch((err) => {
|
||||
// console.error("Failed to set cache:", err);
|
||||
// });
|
||||
return responseData;
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
return e;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user