]>
Commit | Line | Data |
---|---|---|
55fa55a9 C |
1 | 'use strict' |
2 | ||
3 | const videosValidators = require('../videos') | |
4 | const miscValidators = require('../misc') | |
5 | ||
6 | const remoteVideosValidators = { | |
7 | isEachRemoteRequestVideosValid | |
8 | } | |
9 | ||
10 | function isEachRemoteRequestVideosValid (requests) { | |
11 | return miscValidators.isArray(requests) && | |
12 | requests.every(function (request) { | |
13 | const video = request.data | |
14 | return ( | |
15 | isRequestTypeAddValid(request.type) && | |
16 | videosValidators.isVideoAuthorValid(video.author) && | |
17 | videosValidators.isVideoDateValid(video.createdAt) && | |
18 | videosValidators.isVideoDateValid(video.updatedAt) && | |
19 | videosValidators.isVideoDescriptionValid(video.description) && | |
20 | videosValidators.isVideoDurationValid(video.duration) && | |
21 | videosValidators.isVideoInfoHashValid(video.infoHash) && | |
22 | videosValidators.isVideoNameValid(video.name) && | |
23 | videosValidators.isVideoTagsValid(video.tags) && | |
24 | videosValidators.isVideoThumbnailDataValid(video.thumbnailData) && | |
25 | videosValidators.isVideoRemoteIdValid(video.remoteId) && | |
26 | videosValidators.isVideoExtnameValid(video.extname) | |
27 | ) || | |
28 | ( | |
29 | isRequestTypeUpdateValid(request.type) && | |
30 | videosValidators.isVideoDateValid(video.createdAt) && | |
31 | videosValidators.isVideoDateValid(video.updatedAt) && | |
32 | videosValidators.isVideoDescriptionValid(video.description) && | |
33 | videosValidators.isVideoDurationValid(video.duration) && | |
34 | videosValidators.isVideoInfoHashValid(video.infoHash) && | |
35 | videosValidators.isVideoNameValid(video.name) && | |
36 | videosValidators.isVideoTagsValid(video.tags) && | |
37 | videosValidators.isVideoRemoteIdValid(video.remoteId) && | |
38 | videosValidators.isVideoExtnameValid(video.extname) | |
39 | ) || | |
40 | ( | |
41 | isRequestTypeRemoveValid(request.type) && | |
42 | videosValidators.isVideoNameValid(video.name) && | |
43 | videosValidators.isVideoRemoteIdValid(video.remoteId) | |
44 | ) || | |
45 | ( | |
46 | isRequestTypeReportAbuseValid(request.type) && | |
47 | videosValidators.isVideoRemoteIdValid(request.data.videoRemoteId) && | |
48 | videosValidators.isVideoAbuseReasonValid(request.data.reportReason) && | |
49 | videosValidators.isVideoAbuseReporterUsernameValid(request.data.reporterUsername) | |
50 | ) | |
51 | }) | |
52 | } | |
53 | ||
54 | // --------------------------------------------------------------------------- | |
55 | ||
56 | module.exports = remoteVideosValidators | |
57 | ||
58 | // --------------------------------------------------------------------------- | |
59 | ||
60 | function isRequestTypeAddValid (value) { | |
61 | return value === 'add' | |
62 | } | |
63 | ||
64 | function isRequestTypeUpdateValid (value) { | |
65 | return value === 'update' | |
66 | } | |
67 | ||
68 | function isRequestTypeRemoveValid (value) { | |
69 | return value === 'remove' | |
70 | } | |
71 | ||
72 | function isRequestTypeReportAbuseValid (value) { | |
73 | return value === 'report-abuse' | |
74 | } |