]>
Commit | Line | Data |
---|---|---|
e4c55619 C |
1 | 'use strict' |
2 | ||
3 | const validator = require('express-validator').validator | |
9bd26629 | 4 | const values = require('lodash/values') |
e4c55619 C |
5 | |
6 | const constants = require('../../initializers/constants') | |
7 | const USERS_CONSTRAINTS_FIELDS = constants.CONSTRAINTS_FIELDS.USERS | |
8 | ||
9 | const usersValidators = { | |
c4403b29 C |
10 | isUserPasswordValid, |
11 | isUserRoleValid, | |
1d49e1e2 C |
12 | isUserUsernameValid, |
13 | isUserDisplayNSFWValid | |
e4c55619 C |
14 | } |
15 | ||
9bd26629 C |
16 | function isUserPasswordValid (value) { |
17 | return validator.isLength(value, USERS_CONSTRAINTS_FIELDS.PASSWORD) | |
18 | } | |
19 | ||
20 | function isUserRoleValid (value) { | |
21 | return values(constants.USER_ROLES).indexOf(value) !== -1 | |
22 | } | |
23 | ||
e4c55619 | 24 | function isUserUsernameValid (value) { |
9bd26629 C |
25 | const max = USERS_CONSTRAINTS_FIELDS.USERNAME.max |
26 | const min = USERS_CONSTRAINTS_FIELDS.USERNAME.min | |
27 | return validator.matches(value, new RegExp(`^[a-zA-Z0-9._]{${min},${max}}$`)) | |
e4c55619 C |
28 | } |
29 | ||
1d49e1e2 C |
30 | function isUserDisplayNSFWValid (value) { |
31 | return validator.isBoolean(value) | |
32 | } | |
33 | ||
e4c55619 C |
34 | // --------------------------------------------------------------------------- |
35 | ||
36 | module.exports = usersValidators |