diff options
Diffstat (limited to 'server/helpers/custom-validators/videos.ts')
-rw-r--r-- | server/helpers/custom-validators/videos.ts | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/server/helpers/custom-validators/videos.ts b/server/helpers/custom-validators/videos.ts index 1505632da..c97c9a2ad 100644 --- a/server/helpers/custom-validators/videos.ts +++ b/server/helpers/custom-validators/videos.ts | |||
@@ -69,6 +69,10 @@ function isVideoNSFWValid (value: any) { | |||
69 | return typeof value === 'boolean' || (typeof value === 'string' && validator.isBoolean(value)) | 69 | return typeof value === 'boolean' || (typeof value === 'string' && validator.isBoolean(value)) |
70 | } | 70 | } |
71 | 71 | ||
72 | function isVideoDurationValid (value: string) { | ||
73 | return exists(value) && validator.isInt(value + '', VIDEOS_CONSTRAINTS_FIELDS.DURATION) | ||
74 | } | ||
75 | |||
72 | function isVideoTruncatedDescriptionValid (value: string) { | 76 | function isVideoTruncatedDescriptionValid (value: string) { |
73 | return exists(value) && validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.TRUNCATED_DESCRIPTION) | 77 | return exists(value) && validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.TRUNCATED_DESCRIPTION) |
74 | } | 78 | } |
@@ -77,15 +81,6 @@ function isVideoDescriptionValid (value: string) { | |||
77 | return exists(value) && validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.DESCRIPTION) | 81 | return exists(value) && validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.DESCRIPTION) |
78 | } | 82 | } |
79 | 83 | ||
80 | function isVideoDurationValid (value: string) { | ||
81 | // https://www.w3.org/TR/activitystreams-vocabulary/#dfn-duration | ||
82 | return exists(value) && | ||
83 | typeof value === 'string' && | ||
84 | value.startsWith('PT') && | ||
85 | value.endsWith('S') && | ||
86 | validator.isInt(value.replace(/[^0-9]+/, ''), VIDEOS_CONSTRAINTS_FIELDS.DURATION) | ||
87 | } | ||
88 | |||
89 | function isVideoNameValid (value: string) { | 84 | function isVideoNameValid (value: string) { |
90 | return exists(value) && validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.NAME) | 85 | return exists(value) && validator.isLength(value, VIDEOS_CONSTRAINTS_FIELDS.NAME) |
91 | } | 86 | } |
@@ -197,7 +192,6 @@ export { | |||
197 | isVideoNSFWValid, | 192 | isVideoNSFWValid, |
198 | isVideoTruncatedDescriptionValid, | 193 | isVideoTruncatedDescriptionValid, |
199 | isVideoDescriptionValid, | 194 | isVideoDescriptionValid, |
200 | isVideoDurationValid, | ||
201 | isVideoFileInfoHashValid, | 195 | isVideoFileInfoHashValid, |
202 | isVideoNameValid, | 196 | isVideoNameValid, |
203 | isVideoTagsValid, | 197 | isVideoTagsValid, |
@@ -214,6 +208,7 @@ export { | |||
214 | isVideoFileSizeValid, | 208 | isVideoFileSizeValid, |
215 | isVideoPrivacyValid, | 209 | isVideoPrivacyValid, |
216 | isRemoteVideoPrivacyValid, | 210 | isRemoteVideoPrivacyValid, |
211 | isVideoDurationValid, | ||
217 | isVideoFileResolutionValid, | 212 | isVideoFileResolutionValid, |
218 | checkVideoExists, | 213 | checkVideoExists, |
219 | isVideoTagValid, | 214 | isVideoTagValid, |