Add jobs tag to logger

This commit is contained in:
Chocobozzz 2021-03-09 09:22:05 +01:00
parent db4b15f21f
commit 18b24b2dc5
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
5 changed files with 28 additions and 21 deletions

View File

@ -9,10 +9,10 @@ import {
authenticate, authenticate,
ensureUserHasRight, ensureUserHasRight,
jobsSortValidator, jobsSortValidator,
paginationValidatorBuilder,
setDefaultPagination, setDefaultPagination,
setDefaultSort setDefaultSort
} from '../../middlewares' } from '../../middlewares'
import { paginationValidator } from '../../middlewares/validators'
import { listJobsValidator } from '../../middlewares/validators/jobs' import { listJobsValidator } from '../../middlewares/validators/jobs'
const jobsRouter = express.Router() const jobsRouter = express.Router()
@ -20,7 +20,7 @@ const jobsRouter = express.Router()
jobsRouter.get('/:state?', jobsRouter.get('/:state?',
authenticate, authenticate,
ensureUserHasRight(UserRight.MANAGE_JOBS), ensureUserHasRight(UserRight.MANAGE_JOBS),
paginationValidator, paginationValidatorBuilder([ 'jobs' ]),
jobsSortValidator, jobsSortValidator,
setDefaultSort, setDefaultSort,
setDefaultPagination, setDefaultPagination,

View File

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

View File

@ -4,7 +4,10 @@ import { logger } from '../../helpers/logger'
import { areValidationErrors } from './utils' import { areValidationErrors } from './utils'
import { PAGINATION } from '@server/initializers/constants' import { PAGINATION } from '@server/initializers/constants'
const paginationValidator = [ const paginationValidator = paginationValidatorBuilder()
function paginationValidatorBuilder (tags: string[] = []) {
return [
query('start') query('start')
.optional() .optional()
.isInt({ min: 0 }).withMessage('Should have a number start'), .isInt({ min: 0 }).withMessage('Should have a number start'),
@ -13,16 +16,18 @@ const paginationValidator = [
.isInt({ min: 0, max: PAGINATION.GLOBAL.COUNT.MAX }).withMessage(`Should have a number count (max: ${PAGINATION.GLOBAL.COUNT.MAX})`), .isInt({ min: 0, max: PAGINATION.GLOBAL.COUNT.MAX }).withMessage(`Should have a number count (max: ${PAGINATION.GLOBAL.COUNT.MAX})`),
(req: express.Request, res: express.Response, next: express.NextFunction) => { (req: express.Request, res: express.Response, next: express.NextFunction) => {
logger.debug('Checking pagination parameters', { parameters: req.query }) logger.debug('Checking pagination parameters', { parameters: req.query, tags })
if (areValidationErrors(req, res)) return if (areValidationErrors(req, res)) return
return next() return next()
} }
] ]
}
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
export { export {
paginationValidator paginationValidator,
paginationValidatorBuilder
} }

View File

@ -28,7 +28,7 @@ const SORTABLE_VIDEO_REDUNDANCIES_COLUMNS = createSortableColumns(SORTABLE_COLUM
const usersSortValidator = checkSort(SORTABLE_USERS_COLUMNS) const usersSortValidator = checkSort(SORTABLE_USERS_COLUMNS)
const accountsSortValidator = checkSort(SORTABLE_ACCOUNTS_COLUMNS) const accountsSortValidator = checkSort(SORTABLE_ACCOUNTS_COLUMNS)
const jobsSortValidator = checkSort(SORTABLE_JOBS_COLUMNS) const jobsSortValidator = checkSort(SORTABLE_JOBS_COLUMNS, [ 'jobs' ])
const abusesSortValidator = checkSort(SORTABLE_ABUSES_COLUMNS) const abusesSortValidator = checkSort(SORTABLE_ABUSES_COLUMNS)
const videosSortValidator = checkSort(SORTABLE_VIDEOS_COLUMNS) const videosSortValidator = checkSort(SORTABLE_VIDEOS_COLUMNS)
const videoImportsSortValidator = checkSort(SORTABLE_VIDEO_IMPORTS_COLUMNS) const videoImportsSortValidator = checkSort(SORTABLE_VIDEO_IMPORTS_COLUMNS)

View File

@ -17,12 +17,12 @@ function areValidationErrors (req: express.Request, res: express.Response) {
return false return false
} }
function checkSort (sortableColumns: string[]) { function checkSort (sortableColumns: string[], tags: string[] = []) {
return [ return [
query('sort').optional().isIn(sortableColumns).withMessage('Should have correct sortable column'), query('sort').optional().isIn(sortableColumns).withMessage('Should have correct sortable column'),
(req: express.Request, res: express.Response, next: express.NextFunction) => { (req: express.Request, res: express.Response, next: express.NextFunction) => {
logger.debug('Checking sort parameters', { parameters: req.query }) logger.debug('Checking sort parameters', { parameters: req.query, tags })
if (areValidationErrors(req, res)) return if (areValidationErrors(req, res)) return