]>
Commit | Line | Data |
---|---|---|
5cd80545 | 1 | import * as express from 'express' |
3fd3ab2d | 2 | import { UserRight } from '../../../shared/models/users' |
da854ddd | 3 | import { getFormattedObjects } from '../../helpers/utils' |
f05a1c30 C |
4 | import { |
5 | asyncMiddleware, authenticate, ensureUserHasRight, jobsSortValidator, setDefaultPagination, | |
6 | setDefaultSort | |
7 | } from '../../middlewares' | |
3fd3ab2d C |
8 | import { paginationValidator } from '../../middlewares/validators' |
9 | import { JobModel } from '../../models/job/job' | |
5cd80545 C |
10 | |
11 | const jobsRouter = express.Router() | |
12 | ||
13 | jobsRouter.get('/', | |
14 | authenticate, | |
15 | ensureUserHasRight(UserRight.MANAGE_JOBS), | |
16 | paginationValidator, | |
17 | jobsSortValidator, | |
1174a847 | 18 | setDefaultSort, |
f05a1c30 | 19 | setDefaultPagination, |
5cd80545 C |
20 | asyncMiddleware(listJobs) |
21 | ) | |
22 | ||
23 | // --------------------------------------------------------------------------- | |
24 | ||
25 | export { | |
26 | jobsRouter | |
27 | } | |
28 | ||
29 | // --------------------------------------------------------------------------- | |
30 | ||
31 | async function listJobs (req: express.Request, res: express.Response, next: express.NextFunction) { | |
3fd3ab2d | 32 | const resultList = await JobModel.listForApi(req.query.start, req.query.count, req.query.sort) |
5cd80545 C |
33 | |
34 | return res.json(getFormattedObjects(resultList.data, resultList.total)) | |
35 | } |