diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-05-15 22:22:03 +0200 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-05-20 09:57:40 +0200 |
commit | 65fcc3119c334b75dd13bcfdebf186afdc580a8f (patch) | |
tree | 4f2158c61a9b7c3f47cfa233d01413b946ee53c0 /server/helpers/custom-validators/users.ts | |
parent | d5f345ed4cfac4e1fa84dcb4fce1cda4d32f9c73 (diff) | |
download | PeerTube-65fcc3119c334b75dd13bcfdebf186afdc580a8f.tar.gz PeerTube-65fcc3119c334b75dd13bcfdebf186afdc580a8f.tar.zst PeerTube-65fcc3119c334b75dd13bcfdebf186afdc580a8f.zip |
First typescript iteration
Diffstat (limited to 'server/helpers/custom-validators/users.ts')
-rw-r--r-- | server/helpers/custom-validators/users.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/server/helpers/custom-validators/users.ts b/server/helpers/custom-validators/users.ts new file mode 100644 index 000000000..8fd2dac4f --- /dev/null +++ b/server/helpers/custom-validators/users.ts | |||
@@ -0,0 +1,34 @@ | |||
1 | import { values } from 'lodash' | ||
2 | import expressValidator = require('express-validator') | ||
3 | // TODO: use .validator when express-validator typing will have validator field | ||
4 | const validator = expressValidator['validator'] | ||
5 | |||
6 | import { CONSTRAINTS_FIELDS, USER_ROLES } from '../../initializers' | ||
7 | const USERS_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.USERS | ||
8 | |||
9 | function isUserPasswordValid (value) { | ||
10 | return validator.isLength(value, USERS_CONSTRAINTS_FIELDS.PASSWORD) | ||
11 | } | ||
12 | |||
13 | function isUserRoleValid (value) { | ||
14 | return values(USER_ROLES).indexOf(value) !== -1 | ||
15 | } | ||
16 | |||
17 | function isUserUsernameValid (value) { | ||
18 | const max = USERS_CONSTRAINTS_FIELDS.USERNAME.max | ||
19 | const min = USERS_CONSTRAINTS_FIELDS.USERNAME.min | ||
20 | return validator.matches(value, new RegExp(`^[a-zA-Z0-9._]{${min},${max}}$`)) | ||
21 | } | ||
22 | |||
23 | function isUserDisplayNSFWValid (value) { | ||
24 | return validator.isBoolean(value) | ||
25 | } | ||
26 | |||
27 | // --------------------------------------------------------------------------- | ||
28 | |||
29 | export { | ||
30 | isUserPasswordValid, | ||
31 | isUserRoleValid, | ||
32 | isUserUsernameValid, | ||
33 | isUserDisplayNSFWValid | ||
34 | } | ||