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