fix(webui): handle name already being taken #2530
@ -2,7 +2,13 @@ import http from "http";
|
|||||||
import https from "https";
|
import https from "https";
|
||||||
import ws from "ws";
|
import ws from "ws";
|
||||||
import { Account } from "@/src/models/loginModel";
|
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 { IDatabaseAccountJson } from "@/src/types/loginTypes";
|
||||||
import { HydratedDocument } from "mongoose";
|
import { HydratedDocument } from "mongoose";
|
||||||
import { logError } from "@/src/utils/logger";
|
import { logError } from "@/src/utils/logger";
|
||||||
@ -105,6 +111,7 @@ const wsOnConnect = (ws: ws, req: http.IncomingMessage): void => {
|
|||||||
}
|
}
|
||||||
} else if (data.auth.isRegister) {
|
} else if (data.auth.isRegister) {
|
||||||
const name = await getUsernameFromEmail(data.auth.email);
|
const name = await getUsernameFromEmail(data.auth.email);
|
||||||
|
if (!(await isNameTaken(name))) {
|
||||||
account = await createAccount({
|
account = await createAccount({
|
||||||
email: data.auth.email,
|
email: data.auth.email,
|
||||||
password: data.auth.password,
|
password: data.auth.password,
|
||||||
@ -114,6 +121,7 @@ const wsOnConnect = (ws: ws, req: http.IncomingMessage): void => {
|
|||||||
Nonce: createNonce()
|
Nonce: createNonce()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (account) {
|
if (account) {
|
||||||
(ws as IWsCustomData).accountId = account.id;
|
(ws as IWsCustomData).accountId = account.id;
|
||||||
ws.send(
|
ws.send(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user