diff options
Diffstat (limited to 'server/helpers')
-rw-r--r-- | server/helpers/custom-validators/index.js | 2 | ||||
-rw-r--r-- | server/helpers/custom-validators/misc.js | 11 | ||||
-rw-r--r-- | server/helpers/custom-validators/pods.js | 21 |
3 files changed, 24 insertions, 10 deletions
diff --git a/server/helpers/custom-validators/index.js b/server/helpers/custom-validators/index.js index ab3066822..96b5b20b9 100644 --- a/server/helpers/custom-validators/index.js +++ b/server/helpers/custom-validators/index.js | |||
@@ -1,11 +1,13 @@ | |||
1 | 'use strict' | 1 | 'use strict' |
2 | 2 | ||
3 | const miscValidators = require('./misc') | 3 | const miscValidators = require('./misc') |
4 | const podsValidators = require('./pods') | ||
4 | const usersValidators = require('./users') | 5 | const usersValidators = require('./users') |
5 | const videosValidators = require('./videos') | 6 | const videosValidators = require('./videos') |
6 | 7 | ||
7 | const validators = { | 8 | const validators = { |
8 | misc: miscValidators, | 9 | misc: miscValidators, |
10 | pods: podsValidators, | ||
9 | users: usersValidators, | 11 | users: usersValidators, |
10 | videos: videosValidators | 12 | videos: videosValidators |
11 | } | 13 | } |
diff --git a/server/helpers/custom-validators/misc.js b/server/helpers/custom-validators/misc.js index 13904ea1b..782ae3dee 100644 --- a/server/helpers/custom-validators/misc.js +++ b/server/helpers/custom-validators/misc.js | |||
@@ -1,11 +1,8 @@ | |||
1 | 'use strict' | 1 | 'use strict' |
2 | 2 | ||
3 | const validator = require('express-validator').validator | ||
4 | |||
5 | const miscValidators = { | 3 | const miscValidators = { |
6 | exists: exists, | 4 | exists: exists, |
7 | isArray: isArray, | 5 | isArray: isArray |
8 | isEachUrl: isEachUrl | ||
9 | } | 6 | } |
10 | 7 | ||
11 | function exists (value) { | 8 | function exists (value) { |
@@ -16,12 +13,6 @@ function isArray (value) { | |||
16 | return Array.isArray(value) | 13 | return Array.isArray(value) |
17 | } | 14 | } |
18 | 15 | ||
19 | function isEachUrl (urls) { | ||
20 | return urls.every(function (url) { | ||
21 | return validator.isURL(url) | ||
22 | }) | ||
23 | } | ||
24 | |||
25 | // --------------------------------------------------------------------------- | 16 | // --------------------------------------------------------------------------- |
26 | 17 | ||
27 | module.exports = miscValidators | 18 | module.exports = miscValidators |
diff --git a/server/helpers/custom-validators/pods.js b/server/helpers/custom-validators/pods.js new file mode 100644 index 000000000..28d04a05d --- /dev/null +++ b/server/helpers/custom-validators/pods.js | |||
@@ -0,0 +1,21 @@ | |||
1 | 'use strict' | ||
2 | |||
3 | const validator = require('express-validator').validator | ||
4 | |||
5 | const miscValidators = require('./misc') | ||
6 | |||
7 | const podsValidators = { | ||
8 | isEachUniqueUrlValid: isEachUniqueUrlValid | ||
9 | } | ||
10 | |||
11 | function isEachUniqueUrlValid (urls) { | ||
12 | return miscValidators.isArray(urls) && | ||
13 | urls.length !== 0 && | ||
14 | urls.every(function (url) { | ||
15 | return validator.isURL(url) && urls.indexOf(url) === urls.lastIndexOf(url) | ||
16 | }) | ||
17 | } | ||
18 | |||
19 | // --------------------------------------------------------------------------- | ||
20 | |||
21 | module.exports = podsValidators | ||