- eachIsRemoteVideosAddValid: eachIsRemoteVideosAddValid,
- eachIsRemoteVideosRemoveValid: eachIsRemoteVideosRemoveValid,
- isArray: isArray
-}
-
-function eachIsRemoteVideosAddValid (values) {
- return values.every(function (val) {
- return validator.isLength(val.name, 1, 50) &&
- validator.isLength(val.description, 1, 50) &&
- validator.isLength(val.magnetUri, 10) &&
- validator.isURL(val.podUrl) &&
- !isNaN(val.duration) &&
- val.duration >= 0 &&
- val.duration < constants.MAXIMUM_VIDEO_DURATION &&
- validator.isLength(val.author, 1, constants.MAXIMUM_AUTHOR_LENGTH) &&
- validator.isBase64(val.thumbnailBase64) &&
- validator.isByteLength(val.thumbnailBase64, { min: 0, max: 20000 }) &&
- validator.isDate(val.createdDate)
+ exists: exists,
+ isEachAddRemoteVideosValid: isEachAddRemoteVideosValid,
+ isEachRemoveRemoteVideosValid: isEachRemoveRemoteVideosValid,
+ isArray: isArray,
+ isVideoAuthorValid: isVideoAuthorValid,
+ isVideoDateValid: isVideoDateValid,
+ isVideoDescriptionValid: isVideoDescriptionValid,
+ isVideoDurationValid: isVideoDurationValid,
+ isVideoMagnetUriValid: isVideoMagnetUriValid,
+ isVideoNameValid: isVideoNameValid,
+ isVideoPodUrlValid: isVideoPodUrlValid,
+ isVideoTagsValid: isVideoTagsValid,
+ isVideoThumbnailValid: isVideoThumbnailValid
+}
+
+function exists (value) {
+ return value !== undefined && value !== null
+}
+
+function isEachAddRemoteVideosValid (videos) {
+ return videos.every(function (video) {
+ return isVideoAuthorValid(video.author) &&
+ isVideoDateValid(video.createdDate) &&
+ isVideoDescriptionValid(video.description) &&
+ isVideoDurationValid(video.duration) &&
+ isVideoMagnetUriValid(video.magnetUri) &&
+ isVideoNameValid(video.name) &&
+ isVideoPodUrlValid(video.podUrl) &&
+ isVideoTagsValid(video.tags) &&
+ isVideoThumbnailValid(video.thumbnailBase64)