diff --git a/lib/controllers/jobs.js b/lib/controllers/jobs.js index 3eb53be..d7c3da1 100644 --- a/lib/controllers/jobs.js +++ b/lib/controllers/jobs.js @@ -8,18 +8,27 @@ // function main (app) { + function find (conditions, req, res) { + app.models.job + .find(conditions) + .sort('-priority') + .exec(function (err, jobs) { + if (err) { + res.json(422, err); + } else { + res.json(jobs); + } + }); + } + + return { // GET /jobs // index: function (req,res) { - app.models.job - .find({}) - .sort('-priority') - .exec(function (err, jobs){ - res.json(jobs); - }); + find({}, req, res); }, // POST /jobs @@ -40,16 +49,7 @@ function main (app) { // GET /jobs/search // search: function (req,res) { - app.models.job - .find(req.query) - .sort('-priority') - .exec(function (err, jobs){ - if (err) { - res.json(422, err); - } else { - res.json(jobs); - } - }); + find(req.query, req, res); }, @@ -57,12 +57,7 @@ function main (app) { // GET /jobs/new // new: function (req,res) { - app.models.job - .find({status: 'new'}) - .sort('-priority') - .exec(function (err, jobs){ - res.json(jobs); - }); + find({status: 'new'}, req, res); }, @@ -70,12 +65,7 @@ function main (app) { // GET /jobs/processing // processing: function (req,res) { - app.models.job - .find({status: 'processing'}) - .sort('-priority') - .exec(function (err, jobs){ - res.json(jobs); - }); + find({status: 'processing'}, req, res); }, @@ -83,12 +73,7 @@ function main (app) { // GET /jobs/completed // completed: function (req,res) { - app.models.job - .find({status: 'completed'}) - .sort('-priority') - .exec(function (err, jobs){ - res.json(jobs); - }); + find({status: 'completed'}, req, res); }, @@ -96,12 +81,7 @@ function main (app) { // GET /jobs/failed // failed: function (req,res) { - app.models.job - .find({status: 'failed'}) - .sort('-priority') - .exec(function (err, jobs){ - res.json(jobs); - }); + find({status: 'failed'}, req, res); },