summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorTomatoCake <60300461+DEVTomatoCake@users.noreply.github.com>2024-08-18 06:50:42 +0200
committerGitHub <noreply@github.com>2024-08-18 06:50:42 +0200
commit1fe85d8be8844db5ca11af30ef904d397d616943 (patch)
tree27ce8db712772962eda0bca87699913ad6616425 /src
parentFix bug & handle 75k/large_threshold in opcode 8 (diff)
parentMerge pull request #1179 from DEVTomatoCake/fix/consistent-username-length-re... (diff)
downloadserver-ts-1fe85d8be8844db5ca11af30ef904d397d616943.tar.xz
Merge branch 'master' into fix/not_found-request-guild-members-error
Diffstat (limited to 'src')
-rw-r--r--src/api/routes/auth/register.ts16
-rw-r--r--src/api/routes/users/@me/index.ts4
-rw-r--r--src/util/schemas/RegisterSchema.ts7
-rw-r--r--src/util/schemas/UserModifySchema.ts3
4 files changed, 19 insertions, 11 deletions
diff --git a/src/api/routes/auth/register.ts b/src/api/routes/auth/register.ts

index de1cbd3d8..62152440b 100644 --- a/src/api/routes/auth/register.ts +++ b/src/api/routes/auth/register.ts
@@ -1,17 +1,17 @@ /* Spacebar: A FOSS re-implementation and extension of the Discord.com backend. Copyright (C) 2023 Spacebar and Spacebar Contributors - + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - + You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. */ @@ -287,6 +287,16 @@ router.post( }); } + const { maxUsername } = Config.get().limits.user; + if (body.username.length > maxUsername) { + throw FieldErrors({ + username: { + code: "BASE_TYPE_BAD_LENGTH", + message: `Must be between 2 and ${maxUsername} in length.`, + }, + }); + } + const user = await User.register({ ...body, req }); if (body.invite) { diff --git a/src/api/routes/users/@me/index.ts b/src/api/routes/users/@me/index.ts
index 5caf0d119..9cd8bfda8 100644 --- a/src/api/routes/users/@me/index.ts +++ b/src/api/routes/users/@me/index.ts
@@ -155,8 +155,8 @@ router.patch( if (check_username.length > maxUsername) { throw FieldErrors({ username: { - code: "USERNAME_INVALID", - message: `Username must be less than ${maxUsername} in length`, + code: "BASE_TYPE_BAD_LENGTH", + message: `Must be between 2 and ${maxUsername} in length.`, }, }); } diff --git a/src/util/schemas/RegisterSchema.ts b/src/util/schemas/RegisterSchema.ts
index 7b7de9c70..cfee0f025 100644 --- a/src/util/schemas/RegisterSchema.ts +++ b/src/util/schemas/RegisterSchema.ts
@@ -1,17 +1,17 @@ /* Spacebar: A FOSS re-implementation and extension of the Discord.com backend. Copyright (C) 2023 Spacebar and Spacebar Contributors - + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - + You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. */ @@ -19,7 +19,6 @@ export interface RegisterSchema { /** * @minLength 2 - * @maxLength 32 */ username: string; /** diff --git a/src/util/schemas/UserModifySchema.ts b/src/util/schemas/UserModifySchema.ts
index 4be6ad43a..e4ed10716 100644 --- a/src/util/schemas/UserModifySchema.ts +++ b/src/util/schemas/UserModifySchema.ts
@@ -18,8 +18,7 @@ export interface UserModifySchema { /** - * @minLength 1 - * @maxLength 100 + * @minLength 2 */ username?: string; avatar?: string | null;