diff --git a/node/db/api.js b/node/db/api.js index 2466a30..07e3549 100644 --- a/node/db/api.js +++ b/node/db/api.js @@ -1,14 +1,16 @@ const knex = require('../db/knex.js'); -const tasks = knex.from('tasks') - .innerJoin('workers as assignee', 'assignee.id', 'tasks.assignee_id'); +function tasks() { + return knex.from('tasks') + .innerJoin('workers as assignee', 'assignee.id', 'tasks.assignee_id'); +} function get_task(id) { - return tasks.where('id', id).select('tasks.id', 'tasks.summary', 'tasks.description', 'assignee.id', 'assignee.name'); + return tasks().select('tasks.id', 'tasks.summary', 'tasks.description', 'assignee.id', 'assignee.name').where('id', id); } -function get_tasks(query) { - return tasks.where(query).select('tasks.id', 'tasks.summary', 'tasks.description', 'assignee.id', 'assignee.name'); +function get_tasks() { + return tasks().select('tasks.id', 'tasks.summary', 'tasks.description', 'assignee.id', 'assignee.name'); } module.exports = { diff --git a/node/rest/api.js b/node/rest/api.js index d01bf71..62b275b 100644 --- a/node/rest/api.js +++ b/node/rest/api.js @@ -24,17 +24,16 @@ async function get_task(id, res) { } function get_tasks(params, offset, res) { + let query = db.get_tasks(); - let query = function (builder) { - if (!!params["assignee_name"]) { - builder.where("assignee.name", "LIKE", "%" + params["assignee_name"] + "%") - } - if (!!params["summary"]) { - builder.where("summary", "LIKE", "%" + params["summary"] + "%") - } - }; + if (!!params["assignee_name"]) { + query.where("assignee.name", "LIKE", "%" + params["assignee_name"] + "%") + } + if (!!params["summary"]) { + query.where("summary", "LIKE", "%" + params["summary"] + "%") + } - db.get_tasks(query).offset(offset).limit(20).then(rows => { + query.then(rows => { res.send(rows) }) .catch(err => {throw err})