diff --git a/client/src/components/common/AdministrationModal/UsersPane/AddStep.jsx b/client/src/components/common/AdministrationModal/UsersPane/AddStep.jsx index 946c017c..d73a0363 100644 --- a/client/src/components/common/AdministrationModal/UsersPane/AddStep.jsx +++ b/client/src/components/common/AdministrationModal/UsersPane/AddStep.jsx @@ -221,7 +221,7 @@ const AddStep = React.memo(({ onClose }) => { ref={handleUsernameFieldRef} name="username" value={data.username} - maxLength={16} + maxLength={32} readOnly={isSubmitting} className={styles.field} onChange={handleFieldChange} diff --git a/client/src/components/users/EditUserUsernameStep/EditUserUsernameStep.jsx b/client/src/components/users/EditUserUsernameStep/EditUserUsernameStep.jsx index 7eadbf01..2ac2fbdb 100644 --- a/client/src/components/users/EditUserUsernameStep/EditUserUsernameStep.jsx +++ b/client/src/components/users/EditUserUsernameStep/EditUserUsernameStep.jsx @@ -172,7 +172,7 @@ const EditUserUsernameStep = React.memo(({ id, onBack, onClose }) => { name="username" value={data.username} placeholder={username} - maxLength={16} + maxLength={32} className={styles.field} onChange={handleFieldChange} /> diff --git a/client/src/utils/validator.js b/client/src/utils/validator.js index 95365e2b..787fd9a7 100644 --- a/client/src/utils/validator.js +++ b/client/src/utils/validator.js @@ -18,4 +18,4 @@ export const isUrl = (string) => export const isPassword = (string) => zxcvbn(string).score >= 2; // TODO: move to config export const isUsername = (string) => - string.length >= 3 && string.length <= 16 && USERNAME_REGEX.test(string); + string.length >= 3 && string.length <= 32 && USERNAME_REGEX.test(string); diff --git a/server/api/controllers/users/create.js b/server/api/controllers/users/create.js index 9fa87382..2382b79a 100755 --- a/server/api/controllers/users/create.js +++ b/server/api/controllers/users/create.js @@ -48,7 +48,7 @@ * username: * type: string * minLength: 3 - * maxLength: 16 + * maxLength: 32 * pattern: "^[a-zA-Z0-9]+((_{1}|\\.|){1}[a-zA-Z0-9])*$" * nullable: true * description: Unique username for user identification @@ -150,7 +150,7 @@ module.exports = { type: 'string', isNotEmptyString: true, minLength: 3, - maxLength: 16, + maxLength: 32, regex: /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/, allowNull: true, }, diff --git a/server/api/controllers/users/update-username.js b/server/api/controllers/users/update-username.js index e51ea22a..f402e6df 100644 --- a/server/api/controllers/users/update-username.js +++ b/server/api/controllers/users/update-username.js @@ -30,7 +30,7 @@ * username: * type: string * minLength: 3 - * maxLength: 16 + * maxLength: 32 * pattern: '^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$' * nullable: true * description: Unique username for user identification @@ -93,7 +93,7 @@ module.exports = { type: 'string', isNotEmptyString: true, minLength: 3, - maxLength: 16, + maxLength: 32, regex: /^[a-zA-Z0-9]+((_|\.)?[a-zA-Z0-9])*$/, allowNull: true, }, diff --git a/server/api/models/User.js b/server/api/models/User.js index fc660444..97587c1f 100755 --- a/server/api/models/User.js +++ b/server/api/models/User.js @@ -50,7 +50,7 @@ * username: * type: string * minLength: 3 - * maxLength: 32 + * maxLength: 64 * pattern: "^[a-z0-9._-]*$" * nullable: true * description: Unique username for user identification @@ -304,7 +304,7 @@ module.exports = { type: 'string', isNotEmptyString: true, minLength: 3, - maxLength: 32, + maxLength: 64, regex: /^[a-z0-9._-]*$/, allowNull: true, }, diff --git a/server/utils/validators.js b/server/utils/validators.js index 0ff11ca7..767027d4 100644 --- a/server/utils/validators.js +++ b/server/utils/validators.js @@ -33,7 +33,7 @@ const isPassword = (value) => zxcvbn(value).score >= 2; // TODO: move to config const isEmailOrUsername = (value) => value.includes('@') ? validator.isEmail(value) - : value.length >= 3 && value.length <= 16 && USERNAME_REGEX.test(value); + : value.length >= 3 && value.length <= 32 && USERNAME_REGEX.test(value); const isDueDate = (value) => moment(value, moment.ISO_8601, true).isValid();