🤖 Fixing a issue with specials route

pull/33/head
capitanwesler 4 years ago
parent 375ba8bb81
commit 8b53015280

@ -200,50 +200,179 @@ export default class AnimeController {
} }
} }
async getContent(req: Request, res: Response, next: NextFunction) { async getContentTv(req: Request, res: Response, next: NextFunction) {
const { type, page, url } = req.params; const { type, page } = req.params;
const url = 'tv';
let data: any; let data: any;
if (['movies', 'ova', 'tv', 'special'].indexOf(url) > -1) { try {
try { data = await requestGot(
data = await requestGot( `${urls.BASE_ANIMEFLV_JELU}${
`${urls.BASE_ANIMEFLV_JELU}${ url.charAt(0).toUpperCase() + url.slice(1)
url.charAt(0).toUpperCase() + url.slice(1) }/${type}/${page}`,
}/${type}/${page}`, {
{ parse: true,
parse: true, scrapy: false,
scrapy: false, },
}, );
); } catch (err) {
} catch (err) { return next(err);
return next(err); }
}
const animes: Movie[] = data[url.toLowerCase()].map((item: any) => { const animes: Movie[] = data[url].map((item: any) => {
return { return {
id: item.id, id: item.id,
title: item.title, title: item.title,
type: url.toLowerCase(), type: url,
page: page, page: page,
banner: item.banner, banner: item.banner,
image: item.poster, image: item.poster,
synopsis: item.synopsis, synopsis: item.synopsis,
status: item.debut, status: item.debut,
rate: item.rating, rate: item.rating,
genres: item.genres.map((genre: any) => genre), genres: item.genres.map((genre: any) => genre),
episodes: item.episodes.map((episode: any) => episode), episodes: item.episodes.map((episode: any) => episode),
}; };
});
if (animes.length > 0) {
res.status(200).json({
animes,
}); });
} else {
res.status(500).json({ message: 'Aruppi lost in the shell' });
}
}
if (animes.length > 0) { async getContentSpecial(req: Request, res: Response, next: NextFunction) {
res.status(200).json({ const { type, page } = req.params;
animes, const url = 'special';
}); let data: any;
} else {
res.status(500).json({ message: 'Aruppi lost in the shell' }); try {
} data = await requestGot(
`${urls.BASE_ANIMEFLV_JELU}${
url.charAt(0).toUpperCase() + url.slice(1)
}/${type}/${page}`,
{
parse: true,
scrapy: false,
},
);
} catch (err) {
return next(err);
}
const animes: Movie[] = data[url].map((item: any) => {
return {
id: item.id,
title: item.title,
type: url,
page: page,
banner: item.banner,
image: item.poster,
synopsis: item.synopsis,
status: item.debut,
rate: item.rating,
genres: item.genres.map((genre: any) => genre),
episodes: item.episodes.map((episode: any) => episode),
};
});
if (animes.length > 0) {
res.status(200).json({
animes,
});
} else { } else {
next(); res.status(500).json({ message: 'Aruppi lost in the shell' });
}
}
async getContentOva(req: Request, res: Response, next: NextFunction) {
const { type, page } = req.params;
const url = 'ova';
let data: any;
try {
data = await requestGot(
`${urls.BASE_ANIMEFLV_JELU}${
url.charAt(0).toUpperCase() + url.slice(1)
}/${type}/${page}`,
{
parse: true,
scrapy: false,
},
);
} catch (err) {
return next(err);
}
const animes: Movie[] = data[url].map((item: any) => {
return {
id: item.id,
title: item.title,
type: url,
page: page,
banner: item.banner,
image: item.poster,
synopsis: item.synopsis,
status: item.debut,
rate: item.rating,
genres: item.genres.map((genre: any) => genre),
episodes: item.episodes.map((episode: any) => episode),
};
});
if (animes.length > 0) {
res.status(200).json({
animes,
});
} else {
res.status(500).json({ message: 'Aruppi lost in the shell' });
}
}
async getContentMovie(req: Request, res: Response, next: NextFunction) {
const { type, page } = req.params;
const url = 'movies';
let data: any;
try {
data = await requestGot(
`${urls.BASE_ANIMEFLV_JELU}${
url.charAt(0).toUpperCase() + url.slice(1)
}/${type}/${page}`,
{
parse: true,
scrapy: false,
},
);
} catch (err) {
return next(err);
}
const animes: Movie[] = data[url].map((item: any) => {
return {
id: item.id,
title: item.title,
type: url,
page: page,
banner: item.banner,
image: item.poster,
synopsis: item.synopsis,
status: item.debut,
rate: item.rating,
genres: item.genres.map((genre: any) => genre),
episodes: item.episodes.map((episode: any) => episode),
};
});
if (animes.length > 0) {
res.status(200).json({
animes,
});
} else {
res.status(500).json({ message: 'Aruppi lost in the shell' });
} }
} }

@ -84,7 +84,7 @@ export default class UtilsController {
'Diciembre', 'Diciembre',
]; ];
feed.items.forEach(item => { feed.items.forEach((item: any) => {
const date: Date = new Date(item.pubDate!); const date: Date = new Date(item.pubDate!);
const formattedObject: Podcast = { const formattedObject: Podcast = {
@ -131,7 +131,7 @@ export default class UtilsController {
for (const rssPage of pagesRss) { for (const rssPage of pagesRss) {
const feed = await parser.parseURL(rssPage.url); const feed = await parser.parseURL(rssPage.url);
feed.items.forEach(item => { feed.items.forEach((item: any) => {
const formattedObject: News = { const formattedObject: News = {
title: item.title, title: item.title,
url: item.link, url: item.link,

@ -73,7 +73,10 @@ routes.get('/api/v4/schedule/:day', animeController.schedule);
routes.get('/api/v4/top/:type/:subtype?/:page', animeController.top); routes.get('/api/v4/top/:type/:subtype?/:page', animeController.top);
routes.get('/api/v4/allAnimes', animeController.getAllAnimes); routes.get('/api/v4/allAnimes', animeController.getAllAnimes);
routes.get('/api/v4/lastEpisodes', animeController.getLastEpisodes); routes.get('/api/v4/lastEpisodes', animeController.getLastEpisodes);
routes.get('/api/v4/:url/:type/:page', animeController.getContent); routes.get('/api/v4/movies/:type/:page', animeController.getContentMovie);
routes.get('/api/v4/ova/:type/:page', animeController.getContentOva);
routes.get('/api/v4/special/:type/:page', animeController.getContentSpecial);
routes.get('/api/v4/tv/:type/:page', animeController.getContentTv);
routes.get('/api/v4/getEpisodes/:title', animeController.getEpisodes); routes.get('/api/v4/getEpisodes/:title', animeController.getEpisodes);
routes.get( routes.get(
'/api/v4/getAnimeServers/:id([^/]+/[^/]+)', '/api/v4/getAnimeServers/:id([^/]+/[^/]+)',

Loading…
Cancel
Save