diff --git a/seasoned_api/src/plex/requestRepository.js b/seasoned_api/src/plex/requestRepository.js index 0af3f2f..81d569b 100644 --- a/seasoned_api/src/plex/requestRepository.js +++ b/seasoned_api/src/plex/requestRepository.js @@ -20,7 +20,8 @@ class RequestRepository { constructor(database) { this.database = database || establishedDatabase; this.queries = { - 'insertRequest': "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, CURRENT_DATE)" + 'insertRequest': "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, CURRENT_DATE)", + 'fetchRequstedItems': "SELECT * FROM requests", } } @@ -162,6 +163,10 @@ class RequestRepository { } + fetchRequested() { + return this.database.all(this.queries.fetchRequstedItems); + } + } module.exports = RequestRepository; \ No newline at end of file diff --git a/seasoned_api/src/webserver/app.js b/seasoned_api/src/webserver/app.js index b09f078..3da15b0 100644 --- a/seasoned_api/src/webserver/app.js +++ b/seasoned_api/src/webserver/app.js @@ -57,6 +57,8 @@ router.get('/v1/plex/request/:mediaId', require('./controllers/plex/readRequest. router.post('/v1/plex/request/:mediaId', require('./controllers/plex/submitRequest.js')); router.get('/v1/plex/hook', require('./controllers/plex/hookDump.js')); +router.get('/v1/plex/requests/all', mustBeAuthenticated, require('./controllers/plex/fetchRequested.js')); + /** * TMDB */ diff --git a/seasoned_api/src/webserver/controllers/plex/fetchRequested.js b/seasoned_api/src/webserver/controllers/plex/fetchRequested.js new file mode 100644 index 0000000..e5ffe44 --- /dev/null +++ b/seasoned_api/src/webserver/controllers/plex/fetchRequested.js @@ -0,0 +1,22 @@ +const RequestRepository = require('src/plex/requestRepository.js'); +const requestRepository = new RequestRepository(); + +/** + * Controller: Retrieves search history of a logged in user + * @param {Request} req http request variable + * @param {Response} res + * @returns {Callback} + */ +function historyController(req, res) { + const user = req.loggedInUser; + + requestRepository.fetchRequested() + .then((requestedItems) => { + res.send({ success: true, requestedItems }); + }) + .catch((error) => { + res.status(401).send({ success: false, error: error.message }); + }); +} + +module.exports = historyController;