diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/db/crud.js | 8 | ||||
| -rw-r--r-- | lib/worker/processTasks.js | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/db/crud.js b/lib/db/crud.js index c0e0e2c..948e50d 100644 --- a/lib/db/crud.js +++ b/lib/db/crud.js @@ -4,6 +4,7 @@ module.exports = function(model) { return model.query( (qb) => { const limit = q.limit || 100 const offset = q.offset || 0 + const orderBy = q.orderBy || 'id desc' if (limit) { delete q.limit } @@ -11,7 +12,12 @@ module.exports = function(model) { delete q.offset } if (Object.keys(q).length > 0) qb.where(q) - qb.orderBy("id", "desc") + if (orderBy) { + const ob = orderBy.split(" ") + const ob_field = ob[0] || 'id' + const ob_dir = ob[1] || 'desc' + qb.orderBy(ob_field, ob_dir) + } if (limit) qb.limit( limit ) if (offset) qb.offset( offset ) // console.log(qb) diff --git a/lib/worker/processTasks.js b/lib/worker/processTasks.js index c60aaf5..7eeaa98 100644 --- a/lib/worker/processTasks.js +++ b/lib/worker/processTasks.js @@ -14,7 +14,7 @@ module.exports = function processTasks() { processing = true console.log('fetching tasks...') - db.models.task.index({ completed: false, limit: 1 }).then( (tasks) => { + db.models.task.index({ completed: false, limit: 1, orderBy: 'id asc', }).then( (tasks) => { // console.log(tasks.length + ' tasks left to process') if (! tasks || tasks.length === 0) { console.log('> completed all tasks!') |
