]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/helpers/customValidators.js
Add a check for the duration of videos
[github/Chocobozzz/PeerTube.git] / server / helpers / customValidators.js
1 'use strict'
2
3 const validator = require('validator')
4
5 const constants = require('../initializers/constants')
6
7 const customValidators = {
8 eachIsRemoteVideosAddValid: eachIsRemoteVideosAddValid,
9 eachIsRemoteVideosRemoveValid: eachIsRemoteVideosRemoveValid,
10 isArray: isArray
11 }
12
13 function eachIsRemoteVideosAddValid (values) {
14 return values.every(function (val) {
15 return validator.isLength(val.name, 1, 50) &&
16 validator.isLength(val.description, 1, 50) &&
17 validator.isLength(val.magnetUri, 10) &&
18 validator.isURL(val.podUrl) &&
19 !isNaN(val.duration) &&
20 val.duration >= 0 &&
21 val.duration < constants.MAXIMUM_VIDEO_DURATION &&
22 validator.isDate(val.createdDate)
23 })
24 }
25
26 function eachIsRemoteVideosRemoveValid (values) {
27 return values.every(function (val) {
28 return validator.isLength(val.magnetUri, 10)
29 })
30 }
31
32 function isArray (value) {
33 return Array.isArray(value)
34 }
35
36 // ---------------------------------------------------------------------------
37
38 module.exports = customValidators