Added endpoints for plex searching

This commit is contained in:
2017-04-14 18:54:30 +02:00
parent c6fa89f0fa
commit 16c89ab6e7
3 changed files with 45 additions and 8 deletions

View 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;

View File

@@ -4,25 +4,22 @@ var app = express(); // define our app using express
var bodyParser = require('body-parser');
// configure app to use bodyParser()
// this will let us get the data from a POST
// configure app to use bodyParser()
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
var port = 31459; // set our port
// ROUTES FOR OUR API
// =============================================================================
var router = express.Router(); // get an instance of the express Router
var router = express.Router();
router.use(function(req, res, next) {
// do logging
console.log('Something is happening.');
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) {
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.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/git/hooks', require('./controllers/git/dumpHook.js'));
router.post('/v1/git/dump', require('./controllers/git/dumpHook.js'));
// REGISTER OUR ROUTES -------------------------------

View 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;