3 const constants
= require('../../../initializers/constants')
4 const videosValidators
= require('../videos')
5 const miscValidators
= require('../misc')
7 const ENDPOINT_ACTIONS
= constants
.REQUEST_ENDPOINT_ACTIONS
[constants
.REQUEST_ENDPOINTS
.VIDEOS
]
9 const remoteVideosValidators
= {
10 isEachRemoteRequestVideosValid
13 function isEachRemoteRequestVideosValid (requests
) {
14 return miscValidators
.isArray(requests
) &&
15 requests
.every(function (request
) {
16 const video
= request
.data
18 isRequestTypeAddValid(request
.type
) &&
19 isCommonVideoAttrbiutesValid(video
) &&
20 videosValidators
.isVideoAuthorValid(video
.author
) &&
21 videosValidators
.isVideoThumbnailDataValid(video
.thumbnailData
)
24 isRequestTypeUpdateValid(request
.type
) &&
25 isCommonVideoAttrbiutesValid(video
)
28 isRequestTypeRemoveValid(request
.type
) &&
29 videosValidators
.isVideoRemoteIdValid(video
.remoteId
)
32 isRequestTypeReportAbuseValid(request
.type
) &&
33 videosValidators
.isVideoRemoteIdValid(request
.data
.videoRemoteId
) &&
34 videosValidators
.isVideoAbuseReasonValid(request
.data
.reportReason
) &&
35 videosValidators
.isVideoAbuseReporterUsernameValid(request
.data
.reporterUsername
)
40 // ---------------------------------------------------------------------------
42 module
.exports
= remoteVideosValidators
44 // ---------------------------------------------------------------------------
46 function isCommonVideoAttrbiutesValid (video
) {
47 return videosValidators
.isVideoDateValid(video
.createdAt
) &&
48 videosValidators
.isVideoDateValid(video
.updatedAt
) &&
49 videosValidators
.isVideoDescriptionValid(video
.description
) &&
50 videosValidators
.isVideoDurationValid(video
.duration
) &&
51 videosValidators
.isVideoInfoHashValid(video
.infoHash
) &&
52 videosValidators
.isVideoNameValid(video
.name
) &&
53 videosValidators
.isVideoTagsValid(video
.tags
) &&
54 videosValidators
.isVideoRemoteIdValid(video
.remoteId
) &&
55 videosValidators
.isVideoExtnameValid(video
.extname
)
58 function isRequestTypeAddValid (value
) {
59 return value
=== ENDPOINT_ACTIONS
.ADD
62 function isRequestTypeUpdateValid (value
) {
63 return value
=== ENDPOINT_ACTIONS
.UPDATE
66 function isRequestTypeRemoveValid (value
) {
67 return value
=== ENDPOINT_ACTIONS
.REMOVE
70 function isRequestTypeReportAbuseValid (value
) {
71 return value
=== ENDPOINT_ACTIONS
.REPORT_ABUSE