From f11277bc4bed060cd3c4d25428bde84f9fd3fce1 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Mon, 21 Jul 2025 16:45:56 +0200 Subject: [PATCH 1/2] fix(webui): handle name already being taken --- src/services/wsService.ts | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/services/wsService.ts b/src/services/wsService.ts index fb4bbee3..f358f284 100644 --- a/src/services/wsService.ts +++ b/src/services/wsService.ts @@ -2,7 +2,7 @@ import http from "http"; import https from "https"; import ws from "ws"; import { Account } from "@/src/models/loginModel"; -import { createAccount, createNonce, getUsernameFromEmail, isCorrectPassword } from "@/src/services/loginService"; +import { createAccount, createNonce, getUsernameFromEmail, isCorrectPassword, isNameTaken } from "@/src/services/loginService"; import { IDatabaseAccountJson } from "@/src/types/loginTypes"; import { HydratedDocument } from "mongoose"; import { logError } from "@/src/utils/logger"; @@ -105,14 +105,16 @@ const wsOnConnect = (ws: ws, req: http.IncomingMessage): void => { } } else if (data.auth.isRegister) { const name = await getUsernameFromEmail(data.auth.email); - account = await createAccount({ - email: data.auth.email, - password: data.auth.password, - ClientType: "webui", - LastLogin: new Date(), - DisplayName: name, - Nonce: createNonce() - }); + if (!(await isNameTaken(name))) { + account = await createAccount({ + email: data.auth.email, + password: data.auth.password, + ClientType: "webui", + LastLogin: new Date(), + DisplayName: name, + Nonce: createNonce() + }); + } } if (account) { (ws as IWsCustomData).accountId = account.id; -- 2.47.2 From 6e89efd09f67687e130e756b880c38032cb1d995 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Mon, 21 Jul 2025 17:51:05 +0200 Subject: [PATCH 2/2] prettier --- src/services/wsService.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/services/wsService.ts b/src/services/wsService.ts index f358f284..01ebe7aa 100644 --- a/src/services/wsService.ts +++ b/src/services/wsService.ts @@ -2,7 +2,13 @@ import http from "http"; import https from "https"; import ws from "ws"; import { Account } from "@/src/models/loginModel"; -import { createAccount, createNonce, getUsernameFromEmail, isCorrectPassword, isNameTaken } from "@/src/services/loginService"; +import { + createAccount, + createNonce, + getUsernameFromEmail, + isCorrectPassword, + isNameTaken +} from "@/src/services/loginService"; import { IDatabaseAccountJson } from "@/src/types/loginTypes"; import { HydratedDocument } from "mongoose"; import { logError } from "@/src/utils/logger"; -- 2.47.2