import * as express from 'express'
-import { param } from 'express-validator/check'
-import { isValidJobState } from '../../helpers/custom-validators/jobs'
-import { logger } from '../../helpers/logger'
+import { param, query } from 'express-validator'
+import { isValidJobState, isValidJobType } from '../../helpers/custom-validators/jobs'
+import { logger, loggerTagsFactory } from '../../helpers/logger'
import { areValidationErrors } from './utils'
+const lTags = loggerTagsFactory('validators', 'jobs')
+
const listJobsValidator = [
- param('state').custom(isValidJobState).not().isEmpty().withMessage('Should have a valid job state'),
+ param('state')
+ .optional()
+ .custom(isValidJobState).not().isEmpty().withMessage('Should have a valid job state'),
+
+ query('jobType')
+ .optional()
+ .custom(isValidJobType).withMessage('Should have a valid job state'),
- async (req: express.Request, res: express.Response, next: express.NextFunction) => {
- logger.debug('Checking listJobsValidator parameters.', { parameters: req.params })
+ (req: express.Request, res: express.Response, next: express.NextFunction) => {
+ logger.debug('Checking listJobsValidator parameters.', { parameters: req.params, ...lTags() })
if (areValidationErrors(req, res)) return