diff --git a/src/controllers/AnimeController.ts b/src/controllers/AnimeController.ts index 1468511..6cf2390 100644 --- a/src/controllers/AnimeController.ts +++ b/src/controllers/AnimeController.ts @@ -254,17 +254,21 @@ export default class AnimeController { async getServers(req: Request, res: Response, next: NextFunction) { const { id } = req.params; - if (isNaN(parseInt(id.split('/')[0]))) { - res.status(200).json({ servers: await videoServersJK(id) }); - } else { - const data: any = await requestGot( - `${urls.BASE_ANIMEFLV_JELU}GetAnimeServers/${id}`, - { parse: true, scrapy: false }, - ); - - console.log(data); + try { + if (isNaN(parseInt(id.split('/')[0]))) { + res.status(200).json({ servers: await videoServersJK(id) }); + } else { + const data: any = await requestGot( + `${urls.BASE_ANIMEFLV_JELU}GetAnimeServers/${id}`, + { parse: true, scrapy: false }, + ); - res.status(200).json({ servers: await transformUrlServer(data.servers) }); + res + .status(200) + .json({ servers: await transformUrlServer(data.servers) }); + } + } catch (err) { + return next(err); } } } diff --git a/src/controllers/UtilsController.ts b/src/controllers/UtilsController.ts index 0799041..62eb6cd 100644 --- a/src/controllers/UtilsController.ts +++ b/src/controllers/UtilsController.ts @@ -2,6 +2,7 @@ import { NextFunction, Request, Response } from 'express'; import Parser from 'rss-parser'; import urls from '../utils/urls'; import { obtainPreviewNews } from '../utils/obtainPreviews'; +import { requestGot } from '../utils/requestCall'; /* UtilsController - controller to parse the @@ -140,4 +141,32 @@ export default class UtilsController { res.json({ news }); } + + async getImages(req: Request, res: Response, next: NextFunction) { + const { title } = req.params; + let data: any; + + try { + data = await requestGot( + `${urls.BASE_QWANT}count=51&q=${title}&t=images&safesearch=1&locale=es_ES&uiv=4`, + { scrapy: false, parse: true }, + ); + } catch (err) { + return next(err); + } + + const results: any[] = data.data.result.items.map((item: any) => { + return { + type: item.thumb_type, + thumbnail: `https:${item.thumbnail}`, + fullsize: `https:${item.media_fullsize}`, + }; + }); + + if (results.length > 0) { + res.status(200).json({ images: results }); + } else { + res.status(500).json({ message: 'Aruppi lost in the shell' }); + } + } } diff --git a/src/routes.ts b/src/routes.ts index f2583d2..b20822e 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -94,5 +94,6 @@ routes.get('/api/v4/search/:title', directoryController.search); /* Utils Controller */ routes.get('/api/v4/anitakume', utilsController.getAnitakume); routes.get('/api/v4/news', utilsController.getNews); +routes.get('/api/v4/images/:title', utilsController.getImages); export default routes;