XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

fix(webui): handle name already being taken (#2530)

Closes #2528 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2530 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

304af514
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +17 -9
Modified src/services/wsService.ts +17 -9
@@ -2,7 +2,13 @@ import http from "http";
2 2 import https from "https";
3 3 import ws from "ws";
4 4 import { Account } from "@/src/models/loginModel";
5 import { createAccount, createNonce, getUsernameFromEmail, isCorrectPassword } from "@/src/services/loginService";
5 import {
6 createAccount,
7 createNonce,
8 getUsernameFromEmail,
9 isCorrectPassword,
10 isNameTaken
11 } from "@/src/services/loginService";
6 12 import { IDatabaseAccountJson } from "@/src/types/loginTypes";
7 13 import { HydratedDocument } from "mongoose";
8 14 import { logError } from "@/src/utils/logger";
@@ -105,14 +111,16 @@ const wsOnConnect = (ws: ws, req: http.IncomingMessage): void => {
105 111 }
106 112 } else if (data.auth.isRegister) {
107 113 const name = await getUsernameFromEmail(data.auth.email);
108 account = await createAccount({
109 email: data.auth.email,
110 password: data.auth.password,
111 ClientType: "webui",
112 LastLogin: new Date(),
113 DisplayName: name,
114 Nonce: createNonce()
115 });
114 if (!(await isNameTaken(name))) {
115 account = await createAccount({
116 email: data.auth.email,
117 password: data.auth.password,
118 ClientType: "webui",
119 LastLogin: new Date(),
120 DisplayName: name,
121 Nonce: createNonce()
122 });
123 }
116 124 }
117 125 if (account) {
118 126 (ws as IWsCustomData).accountId = account.id;