-'use strict'
-
-const checkErrors = require('./utils').checkErrors
-const constants = require('../../initializers/constants')
-const customVideosValidators = require('../../helpers/custom-validators').videos
const db = require('../../initializers/database')
-const logger = require('../../helpers/logger')
-
-const validatorsVideos = {
- videosAdd,
- videosUpdate,
- videosGet,
- videosRemove,
- videosSearch,
-
- videoAbuseReport,
-
- videoRate,
-
- videosBlacklist
-}
+import { checkErrors } from './utils'
+import { CONSTRAINTS_FIELDS, SEARCHABLE_COLUMNS } from '../../initializers'
+import { logger, isVideoDurationValid } from '../../helpers'
-function videosAdd (req, res, next) {
+function videosAddValidator (req, res, next) {
req.checkBody('videofile', 'Should have a valid file').isVideoFile(req.files)
req.checkBody('name', 'Should have a valid name').isVideoNameValid()
req.checkBody('category', 'Should have a valid category').isVideoCategoryValid()
return res.status(400).send('Cannot retrieve metadata of the file.')
}
- if (!customVideosValidators.isVideoDurationValid(duration)) {
- return res.status(400).send('Duration of the video file is too big (max: ' + constants.CONSTRAINTS_FIELDS.VIDEOS.DURATION.max + 's).')
+ if (!isVideoDurationValid(duration)) {
+ return res.status(400).send('Duration of the video file is too big (max: ' + CONSTRAINTS_FIELDS.VIDEOS.DURATION.max + 's).')
}
videoFile.duration = duration
})
}
-function videosUpdate (req, res, next) {
+function videosUpdateValidator (req, res, next) {
req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
req.checkBody('name', 'Should have a valid name').optional().isVideoNameValid()
req.checkBody('category', 'Should have a valid category').optional().isVideoCategoryValid()
})
}
-function videosGet (req, res, next) {
+function videosGetValidator (req, res, next) {
req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
logger.debug('Checking videosGet parameters', { parameters: req.params })
})
}
-function videosRemove (req, res, next) {
+function videosRemoveValidator (req, res, next) {
req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
logger.debug('Checking videosRemove parameters', { parameters: req.params })
})
}
-function videosSearch (req, res, next) {
- const searchableColumns = constants.SEARCHABLE_COLUMNS.VIDEOS
+function videosSearchValidator (req, res, next) {
+ const searchableColumns = SEARCHABLE_COLUMNS.VIDEOS
req.checkParams('value', 'Should have a valid search').notEmpty()
req.checkQuery('field', 'Should have correct searchable column').optional().isIn(searchableColumns)
checkErrors(req, res, next)
}
-function videoAbuseReport (req, res, next) {
+function videoAbuseReportValidator (req, res, next) {
req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
req.checkBody('reason', 'Should have a valid reason').isVideoAbuseReasonValid()
})
}
-function videoRate (req, res, next) {
+function videoRateValidator (req, res, next) {
req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
req.checkBody('rating', 'Should have a valid rate type').isVideoRatingTypeValid()
})
}
-function videosBlacklist (req, res, next) {
+function videosBlacklistValidator (req, res, next) {
req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
logger.debug('Checking videosBlacklist parameters', { parameters: req.params })
// ---------------------------------------------------------------------------
-module.exports = validatorsVideos
+export {
+ videosAddValidator,
+ videosUpdateValidator,
+ videosGetValidator,
+ videosRemoveValidator,
+ videosSearchValidator,
+
+ videoAbuseReportValidator,
+
+ videoRateValidator,
+
+ videosBlacklistValidator
+}
// ---------------------------------------------------------------------------