- const max = USERS_CONSTRAINTS_FIELDS.USERNAME.max
- const min = USERS_CONSTRAINTS_FIELDS.USERNAME.min
- return exists(value) && validator.matches(value, new RegExp(`^[a-zA-Z0-9._]{${min},${max}}$`))
+ return exists(value) &&
+ validator.matches(value, new RegExp(`^[a-z0-9_]+([a-z0-9_.-]+[a-z0-9_]+)?$`)) &&
+ validator.isLength(value, USERS_CONSTRAINTS_FIELDS.USERNAME)
+}
+
+function isUserDisplayNameValid (value: string) {
+ return value === null || (exists(value) && validator.isLength(value, CONSTRAINTS_FIELDS.USERS.NAME))
+}
+
+function isUserDescriptionValid (value: string) {
+ return value === null || (exists(value) && validator.isLength(value, CONSTRAINTS_FIELDS.USERS.DESCRIPTION))
+}
+
+function isUserEmailVerifiedValid (value: any) {
+ return isBooleanValid(value)
+}
+
+const nsfwPolicies = new Set(Object.values(NSFW_POLICY_TYPES))
+function isUserNSFWPolicyValid (value: any) {
+ return exists(value) && nsfwPolicies.has(value)
+}
+
+function isUserP2PEnabledValid (value: any) {
+ return isBooleanValid(value)
+}
+
+function isUserVideosHistoryEnabledValid (value: any) {
+ return isBooleanValid(value)
+}
+
+function isUserAutoPlayVideoValid (value: any) {
+ return isBooleanValid(value)
+}
+
+function isUserVideoLanguages (value: any) {
+ return value === null || (isArray(value) && value.length < CONSTRAINTS_FIELDS.USERS.VIDEO_LANGUAGES.max)
+}
+
+function isUserAdminFlagsValid (value: any) {
+ return exists(value) && validator.isInt('' + value)
+}
+
+function isUserBlockedValid (value: any) {
+ return isBooleanValid(value)
+}
+
+function isUserAutoPlayNextVideoValid (value: any) {
+ return isBooleanValid(value)