From cbd356af7bf30a3a71cad766940e106f4b668889 Mon Sep 17 00:00:00 2001 From: Maximilian Arnold <62939182+maxonary@users.noreply.github.com> Date: Tue, 19 Mar 2024 16:10:07 +0100 Subject: [PATCH 1/4] Refactor isValidUsername regex --- backend/src/utils/isValidUsername.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/utils/isValidUsername.ts b/backend/src/utils/isValidUsername.ts index 7e14e2c..c0044a2 100644 --- a/backend/src/utils/isValidUsername.ts +++ b/backend/src/utils/isValidUsername.ts @@ -1,4 +1,4 @@ export const isValidUsername = (username: string, gameType: string) => { - const regex = gameType === 'Java Edition' ? /^[a-zA-Z0-9_]{3,16}$/ : /^[a-zA-Z0-9_][a-zA-Z0-9_ ]{1,14}[a-zA-Z0-9_]$/; + const regex = gameType === 'Java Edition' ? /^\w{3,16}$/ : /^\w[\w ]{1,14}\w$/; return regex.test(username); } \ No newline at end of file From 3ce3bc695daf55e3122c8e583b7f9b89c7f14fa6 Mon Sep 17 00:00:00 2001 From: Maximilian Arnold <62939182+maxonary@users.noreply.github.com> Date: Tue, 19 Mar 2024 16:11:20 +0100 Subject: [PATCH 2/4] Refactor isValidUsername Descriptive Variable Names --- backend/src/utils/isValidUsername.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/utils/isValidUsername.ts b/backend/src/utils/isValidUsername.ts index c0044a2..2f8e416 100644 --- a/backend/src/utils/isValidUsername.ts +++ b/backend/src/utils/isValidUsername.ts @@ -1,4 +1,4 @@ export const isValidUsername = (username: string, gameType: string) => { - const regex = gameType === 'Java Edition' ? /^\w{3,16}$/ : /^\w[\w ]{1,14}\w$/; - return regex.test(username); + const usernamePattern = gameType === 'Java Edition' ? /^\w{3,16}$/ : /^\w[\w ]{1,14}\w$/; + return usernamePattern.test(username); } \ No newline at end of file From 920a4aa7c4b02d953407aa28dc9404e00489349d Mon Sep 17 00:00:00 2001 From: Maximilian Arnold <62939182+maxonary@users.noreply.github.com> Date: Tue, 19 Mar 2024 16:12:50 +0100 Subject: [PATCH 3/4] Refactor isValidUsername Extract Regular Expressions --- backend/src/utils/isValidUsername.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/src/utils/isValidUsername.ts b/backend/src/utils/isValidUsername.ts index 2f8e416..a321946 100644 --- a/backend/src/utils/isValidUsername.ts +++ b/backend/src/utils/isValidUsername.ts @@ -1,4 +1,7 @@ +const JAVA_EDITION_USERNAME_PATTERN = /^\w{3,16}$/; +const OTHER_EDITION_USERNAME_PATTERN = /^\w[\w ]{1,14}\w$/; + export const isValidUsername = (username: string, gameType: string) => { - const usernamePattern = gameType === 'Java Edition' ? /^\w{3,16}$/ : /^\w[\w ]{1,14}\w$/; + const usernamePattern = gameType === 'Java Edition' ? JAVA_EDITION_USERNAME_PATTERN : OTHER_EDITION_USERNAME_PATTERN; return usernamePattern.test(username); } \ No newline at end of file From a01bc29ce00919edccee0df256f8783178e07759 Mon Sep 17 00:00:00 2001 From: Maximilian Arnold <62939182+maxonary@users.noreply.github.com> Date: Tue, 19 Mar 2024 16:15:28 +0100 Subject: [PATCH 4/4] Refactor return type to isValidUsername function --- backend/src/utils/isValidUsername.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/utils/isValidUsername.ts b/backend/src/utils/isValidUsername.ts index a321946..f123373 100644 --- a/backend/src/utils/isValidUsername.ts +++ b/backend/src/utils/isValidUsername.ts @@ -1,7 +1,7 @@ const JAVA_EDITION_USERNAME_PATTERN = /^\w{3,16}$/; const OTHER_EDITION_USERNAME_PATTERN = /^\w[\w ]{1,14}\w$/; -export const isValidUsername = (username: string, gameType: string) => { +export const isValidUsername = (username: string, gameType: string): boolean => { const usernamePattern = gameType === 'Java Edition' ? JAVA_EDITION_USERNAME_PATTERN : OTHER_EDITION_USERNAME_PATTERN; return usernamePattern.test(username); } \ No newline at end of file