Can now filter the response by status.

This commit is contained in:
2018-02-26 17:17:37 +01:00
parent 4bc94ae3b7
commit ec0923f1c0
2 changed files with 9 additions and 4 deletions

View File

@@ -17,7 +17,8 @@ class RequestRepository {
this.database = database || establishedDatabase; this.database = database || establishedDatabase;
this.queries = { this.queries = {
insertRequest: "INSERT INTO requests VALUES (?, ?, ?, ?, ?, ?, ?, CURRENT_DATE, 'requested', ?, ?)", 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 ?', updateRequestedById: 'UPDATE requests SET status = ? WHERE id is ? AND type is ?',
checkIfIdRequested: 'SELECT * FROM requests 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(); return Promise.resolve();
} }
fetchRequested() { fetchRequested(status) {
return this.database.all(this.queries.fetchRequstedItems); 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) { updateRequestedById(id, type, status) {

View File

@@ -10,8 +10,9 @@ const requestRepository = new RequestRepository();
*/ */
function historyController(req, res) { function historyController(req, res) {
// const user = req.loggedInUser; // const user = req.loggedInUser;
const { status } = req.query;
requestRepository.fetchRequested() requestRepository.fetchRequested(status)
.then((requestedItems) => { .then((requestedItems) => {
res.send({ success: true, results: requestedItems, total_results: requestedItems.length }); res.send({ success: true, results: requestedItems, total_results: requestedItems.length });
}) })