import { UploadFilesForCheck } from 'express'
-import { values } from 'lodash'
-import magnetUtil from 'magnet-uri'
+import { decode as magnetUriDecode } from 'magnet-uri'
import validator from 'validator'
import { VideoFilter, VideoInclude, VideoPrivacy, VideoRateType } from '@shared/models'
import {
return exists(value) && validator.isInt(value + '', VIDEOS_CONSTRAINTS_FIELDS.DURATION)
}
-function isVideoTruncatedDescriptionValid (value: string) {
- return exists(value) && validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.TRUNCATED_DESCRIPTION)
-}
-
function isVideoDescriptionValid (value: string) {
return value === null || (exists(value) && validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.DESCRIPTION))
}
return exists(value) && validator.isInt(value + '', VIDEOS_CONSTRAINTS_FIELDS.VIEWS)
}
+const ratingTypes = new Set(Object.values(VIDEO_RATE_TYPES))
function isVideoRatingTypeValid (value: string) {
- return value === 'none' || values(VIDEO_RATE_TYPES).includes(value as VideoRateType)
+ return value === 'none' || ratingTypes.has(value as VideoRateType)
}
function isVideoFileExtnameValid (value: string) {
function isVideoMagnetUriValid (value: string) {
if (!exists(value)) return false
- const parsed = magnetUtil.decode(value)
+ const parsed = magnetUriDecode(value)
return parsed && isVideoFileInfoHashValid(parsed.infoHash)
}
isVideoCategoryValid,
isVideoLicenceValid,
isVideoLanguageValid,
- isVideoTruncatedDescriptionValid,
isVideoDescriptionValid,
isVideoFileInfoHashValid,
isVideoNameValid,