From ec0923f1c0e943acc8580c9a7333c09c31e22c55 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Mon, 26 Feb 2018 17:17:37 +0100 Subject: [PATCH] Can now filter the response by status. --- seasoned_api/src/plex/requestRepository.js | 10 +++++++--- .../src/webserver/controllers/plex/fetchRequested.js | 3 ++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/seasoned_api/src/plex/requestRepository.js b/seasoned_api/src/plex/requestRepository.js index 3cfb60b..2c4b58e 100644 --- a/seasoned_api/src/plex/requestRepository.js +++ b/seasoned_api/src/plex/requestRepository.js @@ -17,7 +17,8 @@ class RequestRepository { this.database = database || establishedDatabase; this.queries = { insertRequest: "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, ?, CURRENT_DATE, 'requested', ?, ?)", - fetchRequstedItems: 'SELECT * FROM requests', + fetchRequestedItems: 'SELECT * FROM requests', + fetchRequestedItemsByStatus: 'SELECT * FROM requests WHERE status is ?', updateRequestedById: 'UPDATE requests SET status = ? WHERE id is ? AND type is ?', checkIfIdRequested: 'SELECT * FROM requests WHERE id IS ? AND type IS ?', }; @@ -105,8 +106,11 @@ class RequestRepository { return Promise.resolve(); } - fetchRequested() { - return this.database.all(this.queries.fetchRequstedItems); + fetchRequested(status) { + if (status === 'requested' || status === 'downloading' || status === 'downloaded') + return this.database.all(this.queries.fetchRequestedItemsByStatus, status); + else + return this.database.all(this.queries.fetchRequestedItems); } updateRequestedById(id, type, status) { diff --git a/seasoned_api/src/webserver/controllers/plex/fetchRequested.js b/seasoned_api/src/webserver/controllers/plex/fetchRequested.js index 1602aba..3f5f4d0 100644 --- a/seasoned_api/src/webserver/controllers/plex/fetchRequested.js +++ b/seasoned_api/src/webserver/controllers/plex/fetchRequested.js @@ -10,8 +10,9 @@ const requestRepository = new RequestRepository(); */ function historyController(req, res) { // const user = req.loggedInUser; + const { status } = req.query; - requestRepository.fetchRequested() + requestRepository.fetchRequested(status) .then((requestedItems) => { res.send({ success: true, results: requestedItems, total_results: requestedItems.length }); })