Added endpoints for discover media (either movie or show), getUpcoming movies, nowPlaying (movies or shows), popular (movie or show) and search similar where the type movie/show must be defined
This commit is contained in:
@@ -40,6 +40,12 @@ router.post('/v1/plex/request/:mediaId', require('./controllers/plex/submitReque
|
|||||||
router.get('/v1/plex/hook', require('./controllers/plex/hookDump.js'));
|
router.get('/v1/plex/hook', require('./controllers/plex/hookDump.js'));
|
||||||
|
|
||||||
router.get('/v1/tmdb/search', require('./controllers/tmdb/searchMedia.js'));
|
router.get('/v1/tmdb/search', require('./controllers/tmdb/searchMedia.js'));
|
||||||
|
router.get('/v1/tmdb/discover', require('./controllers/tmdb/discoverMedia.js'));
|
||||||
|
router.get('/v1/tmdb/popular', require('./controllers/tmdb/popularMedia.js'));
|
||||||
|
router.get('/v1/tmdb/nowplaying', require('./controllers/tmdb/nowPlayingMedia.js'));
|
||||||
|
router.get('/v1/tmdb/upcoming', require('./controllers/tmdb/getUpcoming.js'));
|
||||||
|
|
||||||
|
router.get('/v1/tmdb/similar/:mediaId', require('./controllers/tmdb/searchSimilar.js'));
|
||||||
router.get('/v1/tmdb/:mediaId', require('./controllers/tmdb/readMedia.js'));
|
router.get('/v1/tmdb/:mediaId', require('./controllers/tmdb/readMedia.js'));
|
||||||
|
|
||||||
router.post('/v1/git/dump', require('./controllers/git/dumpHook.js'));
|
router.post('/v1/git/dump', require('./controllers/git/dumpHook.js'));
|
||||||
|
|||||||
21
seasoned_api/src/webserver/controllers/tmdb/discoverMedia.js
Normal file
21
seasoned_api/src/webserver/controllers/tmdb/discoverMedia.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
const TMDB = require('src/tmdb/tmdb');
|
||||||
|
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controller: Retrieve a list of movies or shows in discover section in TMDB
|
||||||
|
* @param {Request} req http request variable
|
||||||
|
* @param {Response} res
|
||||||
|
* @returns {Callback}
|
||||||
|
*/
|
||||||
|
function discoverMediaController(req, res) {
|
||||||
|
const { page, type } = req.query;
|
||||||
|
tmdb.discover(page, type)
|
||||||
|
.then((results) => {
|
||||||
|
res.send(results);
|
||||||
|
}).catch((error) => {
|
||||||
|
res.status(404).send({ success: false, error: error.message });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = discoverMediaController;
|
||||||
21
seasoned_api/src/webserver/controllers/tmdb/getUpcoming.js
Normal file
21
seasoned_api/src/webserver/controllers/tmdb/getUpcoming.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
const TMDB = require('src/tmdb/tmdb');
|
||||||
|
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controller: Retrieve upcoming movies
|
||||||
|
* @param {Request} req http request variable
|
||||||
|
* @param {Response} res
|
||||||
|
* @returns {Callback}
|
||||||
|
*/
|
||||||
|
function getUpcomingController(req, res) {
|
||||||
|
const { page } = req.query;
|
||||||
|
tmdb.upcoming(page)
|
||||||
|
.then((results) => {
|
||||||
|
res.send(results);
|
||||||
|
}).catch((error) => {
|
||||||
|
res.status(404).send({ success: false, error: error.message });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = getUpcomingController;
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
const TMDB = require('src/tmdb/tmdb');
|
||||||
|
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controller: Retrieve nowplaying movies / now airing shows
|
||||||
|
* @param {Request} req http request variable
|
||||||
|
* @param {Response} res
|
||||||
|
* @returns {Callback}
|
||||||
|
*/
|
||||||
|
function nowPlayingMediaController(req, res) {
|
||||||
|
const { page, type } = req.query;
|
||||||
|
tmdb.nowplaying(page, type)
|
||||||
|
.then((results) => {
|
||||||
|
res.send(results);
|
||||||
|
}).catch((error) => {
|
||||||
|
res.status(404).send({ success: false, error: error.message });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = nowPlayingMediaController;
|
||||||
21
seasoned_api/src/webserver/controllers/tmdb/popularMedia.js
Normal file
21
seasoned_api/src/webserver/controllers/tmdb/popularMedia.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
const TMDB = require('src/tmdb/tmdb');
|
||||||
|
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controller: Retrieve information for a movie
|
||||||
|
* @param {Request} req http request variable
|
||||||
|
* @param {Response} res
|
||||||
|
* @returns {Callback}
|
||||||
|
*/
|
||||||
|
function popularMediaController(req, res) {
|
||||||
|
const { page, type } = req.query;
|
||||||
|
tmdb.popular(page, type)
|
||||||
|
.then((results) => {
|
||||||
|
res.send(results);
|
||||||
|
}).catch((error) => {
|
||||||
|
res.status(404).send({ success: false, error: error.message });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = popularMediaController;
|
||||||
22
seasoned_api/src/webserver/controllers/tmdb/searchSimilar.js
Normal file
22
seasoned_api/src/webserver/controllers/tmdb/searchSimilar.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
const TMDB = require('src/tmdb/tmdb');
|
||||||
|
const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controller: Retrieve similar movies or shows
|
||||||
|
* @param {Request} req http request variable
|
||||||
|
* @param {Response} res
|
||||||
|
* @returns {Callback}
|
||||||
|
*/
|
||||||
|
function similarMediaController(req, res) {
|
||||||
|
const mediaId = req.params.mediaId;
|
||||||
|
const { type } = req.query;
|
||||||
|
tmdb.similar(mediaId, type)
|
||||||
|
.then((results) => {
|
||||||
|
res.send(results);
|
||||||
|
}).catch((error) => {
|
||||||
|
res.status(404).send({ success: false, error: error.message });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = similarMediaController;
|
||||||
Reference in New Issue
Block a user