Added endpoints for plex searching
This commit is contained in:
23
src/plex/plexRepository.js
Normal file
23
src/plex/plexRepository.js
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
const assert = require('assert');
|
||||||
|
var request = require('request');
|
||||||
|
|
||||||
|
class PlexRepository {
|
||||||
|
|
||||||
|
read(strayId) {
|
||||||
|
return this.database.get(this.queries.read, strayId).then((row) => {
|
||||||
|
assert.notEqual(row, undefined, `Could not find list with id ${strayId}.`);
|
||||||
|
return row;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
searchMedia(query) {
|
||||||
|
request
|
||||||
|
.get('10.0.0.41:32400/search?query=' + query)
|
||||||
|
.on('response', function(response) {
|
||||||
|
console.log(response.statusCode);
|
||||||
|
return response;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = PlexRepository;
|
||||||
@@ -4,25 +4,22 @@ var app = express(); // define our app using express
|
|||||||
var bodyParser = require('body-parser');
|
var bodyParser = require('body-parser');
|
||||||
|
|
||||||
|
|
||||||
// configure app to use bodyParser()
|
|
||||||
// this will let us get the data from a POST
|
// this will let us get the data from a POST
|
||||||
|
// configure app to use bodyParser()
|
||||||
app.use(bodyParser.json());
|
app.use(bodyParser.json());
|
||||||
app.use(bodyParser.urlencoded({ extended: true }));
|
app.use(bodyParser.urlencoded({ extended: true }));
|
||||||
|
|
||||||
var port = 31459; // set our port
|
var port = 31459; // set our port
|
||||||
|
|
||||||
// ROUTES FOR OUR API
|
var router = express.Router();
|
||||||
// =============================================================================
|
|
||||||
var router = express.Router(); // get an instance of the express Router
|
|
||||||
|
|
||||||
router.use(function(req, res, next) {
|
router.use(function(req, res, next) {
|
||||||
// do logging
|
// do logging
|
||||||
console.log('Something is happening.');
|
console.log('Something is happening.');
|
||||||
res.setHeader('Access-Control-Allow-Origin', 'https://kevinmidboe.com');
|
res.setHeader('Access-Control-Allow-Origin', 'https://kevinmidboe.com');
|
||||||
next(); // make sure we go to the next routes and don't stop here
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
// test route to make sure everything is working (accessed at GET http://localhost:8080/api)
|
|
||||||
router.get('/', function(req, res) {
|
router.get('/', function(req, res) {
|
||||||
res.json({ message: 'hooray! welcome to our api!' });
|
res.json({ message: 'hooray! welcome to our api!' });
|
||||||
});
|
});
|
||||||
@@ -32,10 +29,10 @@ router.get('/v1/seasoned/all', require('./controllers/seasoned/readStrays.js'));
|
|||||||
router.get('/v1/seasoned/:strayId', require('./controllers/seasoned/strayById.js'));
|
router.get('/v1/seasoned/:strayId', require('./controllers/seasoned/strayById.js'));
|
||||||
router.post('/v1/seasoned/verify/:strayId', require('./controllers/seasoned/verifyStray.js'));
|
router.post('/v1/seasoned/verify/:strayId', require('./controllers/seasoned/verifyStray.js'));
|
||||||
|
|
||||||
// router.get('/v1/plex/search', require('./controllers/plex/searchMedia.js'));
|
router.get('/v1/plex/search', require('./controllers/plex/searchMedia.js'));
|
||||||
// router.post('/v1/plex/request/:mediaId', require('./controllers/plex/request.js'));
|
// router.post('/v1/plex/request/:mediaId', require('./controllers/plex/request.js'));
|
||||||
|
|
||||||
router.post('/v1/git/hooks', require('./controllers/git/dumpHook.js'));
|
router.post('/v1/git/dump', require('./controllers/git/dumpHook.js'));
|
||||||
|
|
||||||
|
|
||||||
// REGISTER OUR ROUTES -------------------------------
|
// REGISTER OUR ROUTES -------------------------------
|
||||||
|
|||||||
17
src/webserver/controllers/plex/searchMedia.js
Normal file
17
src/webserver/controllers/plex/searchMedia.js
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
const configuration = require('src/config/configuration').getInstance();
|
||||||
|
const PlexRepository = require('src/plex/plexRepository');
|
||||||
|
const plexRepository = new PlexRepository();
|
||||||
|
|
||||||
|
function searchMediaController(req, res) {
|
||||||
|
const { query } = req.query;
|
||||||
|
|
||||||
|
plexRepository.searchMedia(query)
|
||||||
|
.then((movies) => {
|
||||||
|
res.send(movies);
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
res.status(500).send({success: false, error: error.message });
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = searchMediaController;
|
||||||
Reference in New Issue
Block a user