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