👻Fixing wrong property on reponse

pull/33/head
capitanwesler 4 years ago
parent aa016be0c8
commit e0b22d4edb

@ -643,7 +643,10 @@ export default class AnimeController {
if (data) { if (data) {
/* Set the key in the redis cache. */ /* Set the key in the redis cache. */
redisClient.set(`servers_${hashStringMd5(id)}`, JSON.stringify(data)); redisClient.set(
`servers_${hashStringMd5(id)}`,
JSON.stringify({ servers: data }),
);
/* After 24hrs expire the key. */ /* After 24hrs expire the key. */

@ -56,12 +56,22 @@ export const animeExtraInfo = async (mal_id: number) => {
}; };
try { try {
const resultQueryRedis: any = await redisClient.get(
`extraInfo_${hashStringMd5(`${mal_id}`)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return resultRedis;
} else {
data = await requestGot(`${urls.BASE_JIKAN}anime/${mal_id}`, { data = await requestGot(`${urls.BASE_JIKAN}anime/${mal_id}`, {
parse: true, parse: true,
scrapy: false, scrapy: false,
}); });
broadcast = data.broadcast.split('at')[0].trim().toLowerCase() || null; broadcast = data.broadcast.split('at')[0].trim().toLowerCase() || null;
}
} catch (err) { } catch (err) {
return err; return err;
} }
@ -90,34 +100,90 @@ export const animeExtraInfo = async (mal_id: number) => {
endingThemes: data.ending_themes || null, endingThemes: data.ending_themes || null,
}; };
if (formattedObject) {
/* Set the key in the redis cache. */
redisClient.set(
`extraInfo_${hashStringMd5(`${mal_id}`)}`,
JSON.stringify(formattedObject),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`extraInfo_${hashStringMd5(`${mal_id}`)}`,
new Date().getTime() + 86400000,
);
return formattedObject; return formattedObject;
} else {
return null;
}
}; };
export const getAnimeVideoPromo = async (mal_id: number) => { export const getAnimeVideoPromo = async (mal_id: number) => {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`promoInfo_${hashStringMd5(`${mal_id}`)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return resultRedis;
} else {
data = await requestGot(`${urls.BASE_JIKAN}anime/${mal_id}/videos`, { data = await requestGot(`${urls.BASE_JIKAN}anime/${mal_id}/videos`, {
parse: true, parse: true,
scrapy: false, scrapy: false,
}); });
}
} catch (err) { } catch (err) {
return err; return err;
} }
const promo: Promo[] = data.promo.map((item: Promo) => item); const promo: Promo[] = data.promo.map((item: Promo) => item);
if (promo.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`promoInfo_${hashStringMd5(`${mal_id}`)}`,
JSON.stringify(promo),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`promoInfo_${hashStringMd5(`${mal_id}`)}`,
new Date().getTime() + 86400000,
);
return promo; return promo;
} else {
return null;
}
}; };
export const getAnimeCharacters = async (mal_id: number) => { export const getAnimeCharacters = async (mal_id: number) => {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`charactersInfo_${hashStringMd5(`${mal_id}`)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return resultRedis;
} else {
data = await requestGot( data = await requestGot(
`${urls.BASE_JIKAN}anime/${mal_id}/characters_staff`, `${urls.BASE_JIKAN}anime/${mal_id}/characters_staff`,
{ parse: true, scrapy: false }, { parse: true, scrapy: false },
); );
}
} catch (err) { } catch (err) {
return err; return err;
} }
@ -131,7 +197,25 @@ export const getAnimeCharacters = async (mal_id: number) => {
}; };
}); });
if (characters.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`charactersInfo_${hashStringMd5(`${mal_id}`)}`,
JSON.stringify(characters),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`charactersInfo_${hashStringMd5(`${mal_id}`)}`,
new Date().getTime() + 86400000,
);
return characters; return characters;
} else {
return null;
}
}; };
const getPosterAndType = async ( const getPosterAndType = async (
@ -158,17 +242,30 @@ const getPosterAndType = async (
}; };
export const getRelatedAnimesFLV = async (id: string) => { export const getRelatedAnimesFLV = async (id: string) => {
const $: cheerio.Root = await requestGot( let $: cheerio.Root;
`${urls.BASE_ANIMEFLV}/anime/${id}`,
{ try {
const resultQueryRedis: any = await redisClient.get(
`relatedFLV_${hashStringMd5(id)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return resultRedis;
} else {
$ = await requestGot(`${urls.BASE_ANIMEFLV}/anime/${id}`, {
parse: false, parse: false,
scrapy: true, scrapy: true,
}, });
); }
} catch (err) {
return err;
}
let listRelated: any = {}; let listRelated: any = {};
let relatedAnimes: RelatedAnime[] = []; let relatedAnimes: RelatedAnime[] = [];
if ($('ul.ListAnmRel').length) {
$('ul.ListAnmRel li a').each((index: number, element: any) => { $('ul.ListAnmRel li a').each((index: number, element: any) => {
listRelated[$(element).text()] = $(element).attr('href'); listRelated[$(element).text()] = $(element).attr('href');
}); });
@ -188,6 +285,21 @@ export const getRelatedAnimesFLV = async (id: string) => {
} }
} }
if (relatedAnimes.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`relatedFLV_${hashStringMd5(id)}`,
JSON.stringify(relatedAnimes),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`relatedFLV_${hashStringMd5(id)}`,
new Date().getTime() + 86400000,
);
return relatedAnimes; return relatedAnimes;
} else { } else {
return []; return [];

Loading…
Cancel
Save