+import { UploadFilesForCheck } from 'express'
import { values } from 'lodash'
+import magnetUtil from 'magnet-uri'
import validator from 'validator'
-import { VideoFilter, VideoPrivacy, VideoRateType } from '../../../shared'
+import { VideoFilter, VideoInclude, VideoPrivacy, VideoRateType } from '@shared/models'
import {
CONSTRAINTS_FIELDS,
MIMETYPES,
VIDEO_CATEGORIES,
VIDEO_LICENCES,
+ VIDEO_LIVE,
VIDEO_PRIVACIES,
VIDEO_RATE_TYPES,
- VIDEO_STATES,
- VIDEO_LIVE
+ VIDEO_STATES
} from '../../initializers/constants'
import { exists, isArray, isDateValid, isFileMimeTypeValid, isFileValid } from './misc'
-import * as magnetUtil from 'magnet-uri'
const VIDEOS_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.VIDEOS
return filter === 'local' || filter === 'all-local' || filter === 'all'
}
+function isVideoIncludeValid (include: VideoInclude) {
+ return exists(include) && validator.isInt('' + include)
+}
+
function isVideoCategoryValid (value: any) {
return value === null || VIDEO_CATEGORIES[value] !== undefined
}
return exists(value) && (value === VIDEO_LIVE.EXTENSION || MIMETYPES.VIDEO.EXT_MIMETYPE[value] !== undefined)
}
-function isVideoFileMimeTypeValid (files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[]) {
+function isVideoFileMimeTypeValid (files: UploadFilesForCheck) {
return isFileMimeTypeValid(files, MIMETYPES.VIDEO.MIMETYPES_REGEX, 'videofile')
}
isVideoOriginallyPublishedAtValid,
isVideoMagnetUriValid,
isVideoStateValid,
+ isVideoIncludeValid,
isVideoViewsValid,
isVideoRatingTypeValid,
isVideoFileExtnameValid,