diff --git a/src/handler/user/user.service.ts b/src/handler/user/user.service.ts index d76009c48da14d26a0b75b90964ad8c745c9e972..76edeb4c6bb443e3c817ea2a7420671e4bee5e1c 100644 --- a/src/handler/user/user.service.ts +++ b/src/handler/user/user.service.ts @@ -4,6 +4,7 @@ import {db} from "../../utils/db.server" type queryResult = User | null; export async function checkUsername(username : string) { + // TODO : SQL is using case insensitive comparison const result : queryResult = await db.user.findFirst({ where: { username : username @@ -25,6 +26,19 @@ export async function checkEmail(email : string) { export async function register(user : User) { let responseString = ""; + const usernameAvailable = await checkUsername(user.username); + const emailAvailable = await checkEmail(user.email); + + if(usernameAvailable === "exist") { + responseString = "username already exist"; + }else if(emailAvailable === "exist") { + responseString = "email already exist"; + } + + if(responseString !== "") { + return responseString; + } + try { const result : User = await db.user.create({ data : { @@ -36,15 +50,7 @@ export async function register(user : User) { }) responseString = "success"; }catch (err) { - const usernameAvailable = await checkUsername(user.username); - const emailAvailable = await checkEmail(user.email); - if(usernameAvailable === "exist") { - responseString = "username already exist"; - }else if(emailAvailable === "exist") { - responseString = "email already exist"; - }else { - responseString = "failed"; - } + responseString = "failed"; } return responseString; }