Controller for movie and shows. Each have multiple small export functions; one for each list search type
This commit is contained in:
@@ -0,0 +1,85 @@
|
|||||||
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
const Cache = require('src/tmdb/cache');
|
||||||
|
const TMDB = require('src/tmdb/tmdb');
|
||||||
|
const cache = new Cache();
|
||||||
|
const tmdb = new TMDB(cache, configuration.get('tmdb', 'apiKey'));
|
||||||
|
|
||||||
|
// there should be a translate function from query params to
|
||||||
|
// tmdb list that is valid. Should it be a helper function or does it
|
||||||
|
// belong in tmdb.
|
||||||
|
// + could also have default value that are sent to the client.
|
||||||
|
// * have the same class create a getListNames() and a fetchList()
|
||||||
|
// * dicover list might be overkill_https://tinyurl.com/y7f8ragw
|
||||||
|
// + trending! https://tinyurl.com/ydywrqox
|
||||||
|
// by all, mediatype, or person. Can also define time periode to
|
||||||
|
// get more trending view of what people are checking out.
|
||||||
|
// + newly created (tv/latest).
|
||||||
|
// + movie/latest
|
||||||
|
//
|
||||||
|
|
||||||
|
function getTmdbMovieList(res, listname, page) {
|
||||||
|
Promise.resolve()
|
||||||
|
.then(() => tmdb.movieList(listname, page))
|
||||||
|
.then((response) => res.send(response))
|
||||||
|
.catch((error) => {
|
||||||
|
res.status(500).send({ success: false, error: error.message });
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTmdbShowList(res, listname, page) {
|
||||||
|
Promise.resolve()
|
||||||
|
.then(() => tmdb.showList(listname, page))
|
||||||
|
.then((response) => res.send(response))
|
||||||
|
.catch((error) => {
|
||||||
|
res.status(500).send({ success: false, error: error.message });
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.nowPlayingMovies = (req, res) => {
|
||||||
|
const { page } = req.query;
|
||||||
|
const listname = 'miscNowPlayingMovies'
|
||||||
|
|
||||||
|
getTmdbMovieList(res, listname, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.popularMovies = (req, res) => {
|
||||||
|
const { page } = req.query;
|
||||||
|
const listname = 'miscPopularMovies'
|
||||||
|
|
||||||
|
getTmdbMovieList(res, listname, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.topRatedMovies = (req, res) => {
|
||||||
|
const { page } = req.query;
|
||||||
|
const listname = 'miscTopRatedMovies'
|
||||||
|
|
||||||
|
getTmdbMovieList(res, listname, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.upcomingMovies = (req, res) => {
|
||||||
|
const { page } = req.query;
|
||||||
|
const listname = 'miscUpcomingMovies'
|
||||||
|
|
||||||
|
getTmdbMovieList(res, listname, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.nowPlayingShows = (req, res) => {
|
||||||
|
const { page } = req.query;
|
||||||
|
const listname = 'tvOnTheAir'
|
||||||
|
|
||||||
|
getTmdbShowList(res, listname, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.popularShows = (req, res) => {
|
||||||
|
const { page } = req.query;
|
||||||
|
const listname = 'miscPopularTvs'
|
||||||
|
|
||||||
|
getTmdbShowList(res, listname, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.topRatedShows = (req, res) => {
|
||||||
|
const { page } = req.query;
|
||||||
|
const listname = 'miscTopRatedTvs'
|
||||||
|
|
||||||
|
getTmdbShowList(res, listname, page);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user