From 793066729507b46578dd542a9d8cb87ffaaada93 Mon Sep 17 00:00:00 2001 From: capitanwesler Date: Sat, 30 Jan 2021 00:43:01 +0000 Subject: [PATCH] Fixing the issue with randomAnime not showing the exact object and adding it to the schedule --- src/api/api.js | 4 ++-- src/api/index.js | 1 + src/api/routes/index.js | 18 +++++++++++------- src/utils/animetheme.js | 5 ++--- src/utils/index.js | 2 -- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index fef6b1f..f00794c 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -532,11 +532,11 @@ const getProfilePlatform = async (id) => { }; -function getRandomAnime() { +async function getRandomAnime() { let directory = JSON.parse(JSON.stringify(require('../assets/directory.json'))); const randomNumber = Math.floor(Math.random() * directory.length); - return directory[randomNumber]; + return await getMoreInfo(directory[randomNumber].title); } module.exports = { diff --git a/src/api/index.js b/src/api/index.js index 1cd35ab..afac220 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -16,6 +16,7 @@ router.get('/', (req, res) => { 'Schedule': '/api/v3/schedule/:day', 'Top': '/api/v3/top/:type/:subtype/:page', 'AllAnimes': '/api/v3/allAnimes', + 'RandomAnime': '/api/v3/randomAnime', 'Anitakume': '/api/v3/anitakume', 'News': '/api/v3/news', 'Season': '/api/v3/season/:year/:type', diff --git a/src/api/routes/index.js b/src/api/routes/index.js index ebecfb5..980072f 100644 --- a/src/api/routes/index.js +++ b/src/api/routes/index.js @@ -517,13 +517,17 @@ router.get('/getByGenres/:genre?/:order?/:page?' , (req , res) =>{ }); router.get('/randomAnime', (req, res) => { - let randomAnime = api.getRandomAnime(); - - if (randomAnime) { - res.status(200).json({randomAnime}); - }else { - res.status(500).json({ message: 'Aruppi lost in the shell'}); - } + api.getRandomAnime() + .then(anime => { + if (anime) { + res.status(200).json(anime); + }else { + res.status(500).json({ message: 'Aruppi lost in the shell'}); + } + }) + .catch(error => { + console.log(error); + }); }); router.get('/destAnimePlatforms' , (req , res) =>{ diff --git a/src/utils/animetheme.js b/src/utils/animetheme.js index eae96a4..b43eccb 100644 --- a/src/utils/animetheme.js +++ b/src/utils/animetheme.js @@ -158,13 +158,12 @@ class ThemeParser { for (let i = 0; i < data.length; i++) { - let parsed = await this.parseAnime(data[i]) + let parsed = await this.parseAnime(data[i]); promises.push(parsed) if (i === data.length - 1) { - resolve(promises) + resolve(promises); } - } }) diff --git a/src/utils/index.js b/src/utils/index.js index 7f3f2d5..23b5a2d 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -510,13 +510,11 @@ const getThemesData = async (themes) => { }; const getThemes = async (themes) => { - return themes.map(doc => ({ name: doc.themeName, type: doc.themeType, video: doc.mirror.mirrorURL })); - }; module.exports = {