CartoDB-SQL-API/lib/api/jobs-wip-controller.js

40 lines
924 B
JavaScript
Raw Normal View History

'use strict';
2019-10-04 01:35:18 +08:00
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', [
2019-10-04 01:35:18 +08:00
bodyParser(),
listWorkInProgressJobs(this.jobService),
sendResponse(),
2019-10-04 01:35:18 +08:00
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);
};
}