feat: added mal and anilist id to anime info endpoint

This commit is contained in:
Raze Viana
2024-04-13 00:21:31 +02:00
parent 05f62add76
commit 55eaf06081
2 changed files with 16 additions and 0 deletions
+12
View File
@@ -19,6 +19,8 @@ async function scrapeAnimeAboutInfo(
anime: {
info: {
id: null,
anilistId: null,
malId: null,
name: null,
poster: null,
description: null,
@@ -53,6 +55,16 @@ async function scrapeAnimeAboutInfo(
const $: CheerioAPI = load(mainPage.data);
try {
res.anime.info.anilistId = Number(
JSON.parse($("body")?.find("#syncData")?.text())?.anilist_id
);
res.anime.info.malId = Number(JSON.parse($("body")?.find("#syncData")?.text())?.mal_id);
} catch (err) {
res.anime.info.anilistId = null;
res.anime.info.malId = null;
}
const selector: SelectorType = "#ani_detail .container .anis-content";
res.anime.info.id =
+4
View File
@@ -1,5 +1,7 @@
export interface Anime {
id: string | null;
anilistId: number | null;
malId: number | null;
name: string | null;
poster: string | null;
duration: string | null;
@@ -43,6 +45,8 @@ export interface TopAiringAnime extends MostPopularAnime {}
export interface AnimeGeneralAboutInfo
extends Pick<Anime, CommonAnimeProps>,
Pick<SpotlightAnime, "description"> {
anilistId: number | null;
malId: number | null;
stats: {
quality: string | null;
} & Pick<Anime, "duration" | "episodes" | "rating" | "type">;