3 const validator
= require('express-validator').validator
5 const constants
= require('../../initializers/constants')
6 const usersValidators
= require('./users')
7 const miscValidators
= require('./misc')
8 const VIDEOS_CONSTRAINTS_FIELDS
= constants
.CONSTRAINTS_FIELDS
.VIDEOS
9 const VIDEO_ABUSES_CONSTRAINTS_FIELDS
= constants
.CONSTRAINTS_FIELDS
.VIDEO_ABUSES
11 const videosValidators
= {
14 isVideoDescriptionValid
,
19 isVideoThumbnailValid
,
20 isVideoThumbnailDataValid
,
23 isVideoAbuseReasonValid
,
24 isVideoAbuseReporterUsernameValid
27 function isVideoAuthorValid (value
) {
28 return usersValidators
.isUserUsernameValid(value
)
31 function isVideoDateValid (value
) {
32 return validator
.isDate(value
)
35 function isVideoDescriptionValid (value
) {
36 return validator
.isLength(value
, VIDEOS_CONSTRAINTS_FIELDS
.DESCRIPTION
)
39 function isVideoDurationValid (value
) {
40 return validator
.isInt(value
+ '', VIDEOS_CONSTRAINTS_FIELDS
.DURATION
)
43 function isVideoExtnameValid (value
) {
44 return VIDEOS_CONSTRAINTS_FIELDS
.EXTNAME
.indexOf(value
) !== -1
47 function isVideoInfoHashValid (value
) {
48 return validator
.isLength(value
, VIDEOS_CONSTRAINTS_FIELDS
.INFO_HASH
)
51 function isVideoNameValid (value
) {
52 return validator
.isLength(value
, VIDEOS_CONSTRAINTS_FIELDS
.NAME
)
55 function isVideoTagsValid (tags
) {
56 return miscValidators
.isArray(tags
) &&
57 validator
.isInt(tags
.length
, VIDEOS_CONSTRAINTS_FIELDS
.TAGS
) &&
58 tags
.every(function (tag
) {
59 return validator
.isAlphanumeric(tag
) &&
60 validator
.isLength(tag
, VIDEOS_CONSTRAINTS_FIELDS
.TAG
)
64 function isVideoThumbnailValid (value
) {
65 return validator
.isLength(value
, VIDEOS_CONSTRAINTS_FIELDS
.THUMBNAIL
)
68 function isVideoThumbnailDataValid (value
) {
69 return validator
.isByteLength(value
, VIDEOS_CONSTRAINTS_FIELDS
.THUMBNAIL_DATA
)
72 function isVideoRemoteIdValid (value
) {
73 return validator
.isUUID(value
, 4)
76 function isVideoAbuseReasonValid (value
) {
77 return validator
.isLength(value
, VIDEO_ABUSES_CONSTRAINTS_FIELDS
.REASON
)
80 function isVideoAbuseReporterUsernameValid (value
) {
81 return usersValidators
.isUserUsernameValid(value
)
84 // ---------------------------------------------------------------------------
86 module
.exports
= videosValidators