CartoDB-SQL-API/lib/api/jobs-wip-controller.js
2019-10-03 19:35:18 +02:00

40 lines
924 B
JavaScript

'use strict';
const bodyParser = require('./middlewares/body-parser');
const error = require('./middlewares/error');
module.exports = class JobsWipController {
constructor ({ jobService }) {
this.jobService = jobService;
}
route (apiRouter) {
apiRouter.get('/jobs-wip', [
bodyParser(),
listWorkInProgressJobs(this.jobService),
sendResponse(),
error()
]);
}
};
function listWorkInProgressJobs (jobService) {
return function listWorkInProgressJobsMiddleware (req, res, next) {
jobService.listWorkInProgressJobs((err, list) => {
if (err) {
return next(err);
}
res.body = list;
next();
});
};
}
function sendResponse () {
return function sendResponseMiddleware (req, res) {
res.status(res.statusCode || 200).send(res.body);
};
}