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