👽Adding redis cache to the routes where is needed

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

@ -77,10 +77,20 @@ export default class AnimeController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`schedule_${hashStringMd5(day)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
data = await requestGot(`${urls.BASE_JIKAN}schedule/${day}`, { data = await requestGot(`${urls.BASE_JIKAN}schedule/${day}`, {
parse: true, parse: true,
scrapy: false, scrapy: false,
}); });
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -92,6 +102,20 @@ export default class AnimeController {
})); }));
if (animeList.length > 0) { if (animeList.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`schedule_${hashStringMd5(day)}`,
JSON.stringify({ day: animeList }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`schedule_${hashStringMd5(day)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ res.status(200).json({
day: animeList, day: animeList,
}); });
@ -102,10 +126,26 @@ export default class AnimeController {
async top(req: Request, res: Response, next: NextFunction) { async top(req: Request, res: Response, next: NextFunction) {
const { type, subtype, page } = req.params; const { type, subtype, page } = req.params;
let data: any; let data: any;
try { try {
let resultQueryRedis: any;
if (subtype) {
resultQueryRedis = await redisClient.get(
`top_${hashStringMd5(`${type}:${subtype}:${page}`)}`,
);
} else {
resultQueryRedis = await redisClient.get(
`top_${hashStringMd5(`${type}:${page}`)}`,
);
}
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
if (subtype !== undefined) { if (subtype !== undefined) {
data = await requestGot( data = await requestGot(
`${urls.BASE_JIKAN}top/${type}/${page}/${subtype}`, `${urls.BASE_JIKAN}top/${type}/${page}/${subtype}`,
@ -117,6 +157,7 @@ export default class AnimeController {
scrapy: false, scrapy: false,
}); });
} }
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -133,6 +174,33 @@ export default class AnimeController {
})); }));
if (top.length > 0) { if (top.length > 0) {
/* Set the key in the redis cache. */
if (subtype) {
redisClient.set(
`top_${hashStringMd5(`${type}:${subtype}:${page}`)}`,
JSON.stringify({ top }),
);
} else {
redisClient.set(
`top_${hashStringMd5(`${type}:${page}`)}`,
JSON.stringify({ top }),
);
}
/* After 24hrs expire the key. */
if (subtype) {
redisClient.expireat(
`top_${hashStringMd5(`${type}:${subtype}:${page}`)}`,
new Date().getTime() + 86400000,
);
} else {
redisClient.expireat(
`top_${hashStringMd5(`${type}:${page}`)}`,
new Date().getTime() + 86400000,
);
}
return res.status(200).json({ top }); return res.status(200).json({ top });
} else { } else {
return res.status(400).json({ message: 'Aruppi lost in the shell' }); return res.status(400).json({ message: 'Aruppi lost in the shell' });
@ -171,10 +239,23 @@ export default class AnimeController {
let episodes: Episode[] = []; let episodes: Episode[] = [];
try { try {
data = await requestGot(`${urls.BASE_ANIMEFLV_JELU}LatestEpisodesAdded`, { const resultQueryRedis: any = await redisClient.get(
`lastEpisodes_${hashStringMd5('lastEpisodes')}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
data = await requestGot(
`${urls.BASE_ANIMEFLV_JELU}LatestEpisodesAdded`,
{
parse: true, parse: true,
scrapy: false, scrapy: false,
}); },
);
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -192,6 +273,20 @@ export default class AnimeController {
} }
if (episodes.length > 0) { if (episodes.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`lastEpisodes_${hashStringMd5('lastEpisodes')}`,
JSON.stringify({ episodes }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`lastEpisodes_${hashStringMd5('lastEpisodes')}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ res.status(200).json({
episodes, episodes,
}); });
@ -206,6 +301,15 @@ export default class AnimeController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`contentTv_${hashStringMd5(`${type}:${page}`)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
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)
@ -215,6 +319,7 @@ export default class AnimeController {
scrapy: false, scrapy: false,
}, },
); );
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -236,6 +341,20 @@ export default class AnimeController {
}); });
if (animes.length > 0) { if (animes.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`contentTv_${hashStringMd5(`${type}:${page}`)}`,
JSON.stringify({ animes }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`contentTv_${hashStringMd5(`${type}:${page}`)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ res.status(200).json({
animes, animes,
}); });
@ -250,6 +369,15 @@ export default class AnimeController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`contentSpecial_${hashStringMd5(`${type}:${page}`)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
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)
@ -259,6 +387,7 @@ export default class AnimeController {
scrapy: false, scrapy: false,
}, },
); );
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -280,6 +409,20 @@ export default class AnimeController {
}); });
if (animes.length > 0) { if (animes.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`contentSpecial_${hashStringMd5(`${type}:${page}`)}`,
JSON.stringify({ animes }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`contentSpecial_${hashStringMd5(`${type}:${page}`)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ res.status(200).json({
animes, animes,
}); });
@ -294,6 +437,15 @@ export default class AnimeController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`contentOva_${hashStringMd5(`${type}:${page}`)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
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)
@ -303,6 +455,7 @@ export default class AnimeController {
scrapy: false, scrapy: false,
}, },
); );
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -324,6 +477,20 @@ export default class AnimeController {
}); });
if (animes.length > 0) { if (animes.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`contentOva_${hashStringMd5(`${type}:${page}`)}`,
JSON.stringify({ animes }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`contentOva_${hashStringMd5(`${type}:${page}`)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ res.status(200).json({
animes, animes,
}); });
@ -338,6 +505,15 @@ export default class AnimeController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`contentMovie_${hashStringMd5(`${type}:${page}`)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
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)
@ -347,6 +523,7 @@ export default class AnimeController {
scrapy: false, scrapy: false,
}, },
); );
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -368,6 +545,20 @@ export default class AnimeController {
}); });
if (animes.length > 0) { if (animes.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`contentMovie_${hashStringMd5(`${type}:${page}`)}`,
JSON.stringify({ animes }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`contentMovie_${hashStringMd5(`${type}:${page}`)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ res.status(200).json({
animes, animes,
}); });
@ -379,17 +570,48 @@ export default class AnimeController {
async getEpisodes(req: Request, res: Response, next: NextFunction) { async getEpisodes(req: Request, res: Response, next: NextFunction) {
const { title } = req.params; const { title } = req.params;
let searchAnime: ModelA | null; let searchAnime: ModelA | null;
let episodes: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`episodes_${hashStringMd5(title)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
searchAnime = await AnimeModel.findOne({ title: { $eq: title } }); searchAnime = await AnimeModel.findOne({ title: { $eq: title } });
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
if (!searchAnime?.jkanime) { if (!searchAnime?.jkanime) {
res.status(200).json({ episodes: await animeFlvInfo(searchAnime?.id) }); episodes = await animeFlvInfo(searchAnime?.id);
} else { } else {
res.status(200).json({ episodes: await jkanimeInfo(searchAnime?.id) }); episodes = await jkanimeInfo(searchAnime?.id);
}
if (episodes) {
/* Set the key in the redis cache. */
redisClient.set(
`episodes_${hashStringMd5(title)}`,
JSON.stringify({ episodes }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`episodes_${hashStringMd5(title)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ episodes });
} else {
res.status(500).json({ message: 'Aruppi lost in the shell' });
} }
} }

@ -111,10 +111,20 @@ export default class DirectoryController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`season_${hashStringMd5(`${year}:${type}`)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
data = await requestGot(`${urls.BASE_JIKAN}season/${year}/${type}`, { data = await requestGot(`${urls.BASE_JIKAN}season/${year}/${type}`, {
scrapy: false, scrapy: false,
parse: true, parse: true,
}); });
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -128,6 +138,20 @@ export default class DirectoryController {
}); });
if (season.length > 0) { if (season.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`season_${hashStringMd5(`${year}:${type}`)}`,
JSON.stringify({ season }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`season_${hashStringMd5(`${year}:${type}`)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ res.status(200).json({
season, season,
}); });
@ -140,10 +164,20 @@ export default class DirectoryController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`allSeasons_${hashStringMd5('allSeasons')}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
data = await requestGot(`${urls.BASE_JIKAN}season/archive`, { data = await requestGot(`${urls.BASE_JIKAN}season/archive`, {
parse: true, parse: true,
scrapy: false, scrapy: false,
}); });
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -156,6 +190,20 @@ export default class DirectoryController {
}); });
if (archive.length > 0) { if (archive.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`allSeasons_${hashStringMd5('allSeasons')}`,
JSON.stringify({ archive }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`allSeasons_${hashStringMd5('allSeasons')}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ archive }); res.status(200).json({ archive });
} else { } else {
res.status(500).json({ message: 'Aruppi lost in the shell' }); res.status(500).json({ message: 'Aruppi lost in the shell' });
@ -166,10 +214,20 @@ export default class DirectoryController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`laterSeasons_${hashStringMd5('laterSeasons')}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
data = await requestGot(`${urls.BASE_JIKAN}season/later`, { data = await requestGot(`${urls.BASE_JIKAN}season/later`, {
parse: true, parse: true,
scrapy: false, scrapy: false,
}); });
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -183,6 +241,20 @@ export default class DirectoryController {
}); });
if (future.length > 0) { if (future.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`laterSeasons_${hashStringMd5('laterSeasons')}`,
JSON.stringify({ future }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`laterSeasons_${hashStringMd5('laterSeasons')}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ future }); res.status(200).json({ future });
} else { } else {
res.status(500).json({ message: 'Aruppi lost in the shell' }); res.status(500).json({ message: 'Aruppi lost in the shell' });

@ -11,6 +11,12 @@ import ThemeParser from '../utils/animeTheme';
import { structureThemes } from '../utils/util'; import { structureThemes } from '../utils/util';
import { getThemes } from '../utils/util'; import { getThemes } from '../utils/util';
import WaifuModel, { Waifu } from '../database/models/waifu.model'; import WaifuModel, { Waifu } from '../database/models/waifu.model';
import util from 'util';
import { hashStringMd5 } from '../utils/util';
import { redisClient } from '../database/connection';
// @ts-ignore
redisClient.get = util.promisify(redisClient.get);
/* /*
UtilsController - controller to parse the UtilsController - controller to parse the
@ -63,7 +69,17 @@ export default class UtilsController {
let feed: CustomFeed & Parser.Output<CustomItem>; let feed: CustomFeed & Parser.Output<CustomItem>;
try { try {
const resultQueryRedis: any = await redisClient.get(
`anitakume_${hashStringMd5('anitakume')}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
feed = await parser.parseURL(urls.BASE_IVOOX); feed = await parser.parseURL(urls.BASE_IVOOX);
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -100,6 +116,20 @@ export default class UtilsController {
}); });
if (podcast.length > 0) { if (podcast.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`anitakume_${hashStringMd5('anitakume')}`,
JSON.stringify({ podcast }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`anitakume_${hashStringMd5('anitakume')}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ podcast }); res.status(200).json({ podcast });
} else { } else {
res.status(500).json({ message: 'Aruppi lost in the shell' }); res.status(500).json({ message: 'Aruppi lost in the shell' });
@ -128,6 +158,15 @@ export default class UtilsController {
]; ];
try { try {
const resultQueryRedis: any = await redisClient.get(
`news_${hashStringMd5('news')}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
for (const rssPage of pagesRss) { for (const rssPage of pagesRss) {
const feed = await parser.parseURL(rssPage.url); const feed = await parser.parseURL(rssPage.url);
@ -145,11 +184,30 @@ export default class UtilsController {
news.push(formattedObject); news.push(formattedObject);
}); });
} }
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
res.json({ news }); if (news.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`news_${hashStringMd5('news')}`,
JSON.stringify({ news }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`news_${hashStringMd5('news')}`,
new Date().getTime() + 7200000,
);
res.status(200).json({ news });
} else {
res.status(500).json({ message: 'Aruppi lost in the shell' });
}
} }
async getImages(req: Request, res: Response, next: NextFunction) { async getImages(req: Request, res: Response, next: NextFunction) {
@ -157,10 +215,20 @@ export default class UtilsController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`images_${hashStringMd5(title)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
data = await requestGot( data = await requestGot(
`${urls.BASE_QWANT}count=51&q=${title}&t=images&safesearch=1&locale=es_ES&uiv=4`, `${urls.BASE_QWANT}count=51&q=${title}&t=images&safesearch=1&locale=es_ES&uiv=4`,
{ scrapy: false, parse: true }, { scrapy: false, parse: true },
); );
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -174,6 +242,20 @@ export default class UtilsController {
}); });
if (results.length > 0) { if (results.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`images_${hashStringMd5(title)}`,
JSON.stringify({ images: results }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`images_${hashStringMd5(title)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ images: results }); res.status(200).json({ images: results });
} else { } else {
res.status(500).json({ message: 'Aruppi lost in the shell' }); res.status(500).json({ message: 'Aruppi lost in the shell' });
@ -185,10 +267,20 @@ export default class UtilsController {
let data: any; let data: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`videos_${hashStringMd5(channelId)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
data = await requestGot( data = await requestGot(
`${urls.BASE_YOUTUBE}${channelId}&part=snippet,id&order=date&maxResults=50`, `${urls.BASE_YOUTUBE}${channelId}&part=snippet,id&order=date&maxResults=50`,
{ scrapy: false, parse: true }, { scrapy: false, parse: true },
); );
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
@ -204,6 +296,20 @@ export default class UtilsController {
}); });
if (results.length > 0) { if (results.length > 0) {
/* Set the key in the redis cache. */
redisClient.set(
`videos_${hashStringMd5(channelId)}`,
JSON.stringify({ videos: results }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`videos_${hashStringMd5(channelId)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ videos: results }); res.status(200).json({ videos: results });
} else { } else {
res.status(500).json({ message: 'Aruppi lost in the shell' }); res.status(500).json({ message: 'Aruppi lost in the shell' });
@ -341,12 +447,36 @@ export default class UtilsController {
let themes: any; let themes: any;
try { try {
const resultQueryRedis: any = await redisClient.get(
`oped_${hashStringMd5(title)}`,
);
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
themes = await structureThemes(await themeParser.serie(title), true); themes = await structureThemes(await themeParser.serie(title), true);
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
if (themes) { if (themes) {
/* Set the key in the redis cache. */
redisClient.set(
`oped_${hashStringMd5(title)}`,
JSON.stringify({ themes }),
);
/* After 24hrs expire the key. */
redisClient.expireat(
`oped_${hashStringMd5(title)}`,
new Date().getTime() + 86400000,
);
res.status(200).json({ themes }); res.status(200).json({ themes });
} else { } else {
res.status(500).json({ message: 'Aruppi lost in the shell' }); res.status(500).json({ message: 'Aruppi lost in the shell' });
@ -356,18 +486,63 @@ export default class UtilsController {
async getThemesYear(req: Request, res: Response, next: NextFunction) { async getThemesYear(req: Request, res: Response, next: NextFunction) {
const { year } = req.params; const { year } = req.params;
let themes: any; let themes: any;
let resultQueryRedis: any;
try { try {
if (year) {
resultQueryRedis = await redisClient.get(
`themesyear_${hashStringMd5(year)}`,
);
} else {
resultQueryRedis = await redisClient.get(
`themesyear_${hashStringMd5('allYear')}`,
);
}
if (resultQueryRedis) {
const resultRedis: any = JSON.parse(resultQueryRedis);
return res.status(200).json(resultRedis);
} else {
if (year === undefined) { if (year === undefined) {
themes = await themeParser.allYears(); themes = await themeParser.allYears();
} else { } else {
themes = await structureThemes(await themeParser.year(year), false); themes = await structureThemes(await themeParser.year(year), false);
} }
}
} catch (err) { } catch (err) {
return next(err); return next(err);
} }
if (themes.length > 0) { if (themes.length > 0) {
/* Set the key in the redis cache. */
if (year) {
redisClient.set(
`themesyear_${hashStringMd5(year)}`,
JSON.stringify({ themes }),
);
} else {
redisClient.set(
`themesyear_${hashStringMd5('allYear')}`,
JSON.stringify({ themes }),
);
}
/* After 24hrs expire the key. */
if (year) {
redisClient.expireat(
`themesyear_${hashStringMd5(year)}`,
new Date().getTime() + 86400000,
);
} else {
redisClient.expireat(
`themesyear_${hashStringMd5('allYear')}`,
new Date().getTime() + 86400000,
);
}
res.status(200).json({ themes }); res.status(200).json({ themes });
} else { } else {
res.status(500).json({ message: 'Aruppi lost in the shell' }); res.status(500).json({ message: 'Aruppi lost in the shell' });

@ -116,16 +116,16 @@ routes.get('/api/v4/platforms/:id?', utilsController.getPlatforms);
routes.get('/api/v4/generateWaifu/', utilsController.getWaifuRandom); routes.get('/api/v4/generateWaifu/', utilsController.getWaifuRandom);
/* Routes to handling the v3 deprecated */ /* Routes to handling the v3 deprecated */
// routes.get('/api/v3/*', (req: Request, res: Response, next: NextFunction) => { routes.get('/api/v3/*', (req: Request, res: Response, next: NextFunction) => {
// res.status(302).redirect('/api/v2'); res.status(302).redirect('/api/v2');
// }); });
// routes.get('/api/v3', (req: Request, res: Response, next: NextFunction) => { routes.get('/api/v3', (req: Request, res: Response, next: NextFunction) => {
// res.status(200).json({ res.status(200).json({
// message: message:
// 'Sorry, version v3 is not avaiable, if you want to see content go to v4', 'Sorry, version v3 is not avaiable, if you want to see content go to v4',
// }); });
// }); });
/* Routes to handling the v2 deprecated */ /* Routes to handling the v2 deprecated */
routes.get('/api/v2/*', (req: Request, res: Response, next: NextFunction) => { routes.get('/api/v2/*', (req: Request, res: Response, next: NextFunction) => {

Loading…
Cancel
Save