From 18f1ccc8f45bfbefd243cabb8556b46a087cf65d Mon Sep 17 00:00:00 2001 From: Saimon8420 Date: Sat, 1 Mar 2025 14:15:32 +0600 Subject: [PATCH] all requirement added --- .gitignore | 1 + src/helper/auth/auth.helper.ts | 144 ++++++++++++++++----------------- 2 files changed, 73 insertions(+), 72 deletions(-) diff --git a/.gitignore b/.gitignore index 87e5610..996fc0e 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ yarn-debug.log* yarn-error.log* # local env files +.env .env.local .env.development.local .env.test.local diff --git a/src/helper/auth/auth.helper.ts b/src/helper/auth/auth.helper.ts index a0dbe5a..67e8125 100644 --- a/src/helper/auth/auth.helper.ts +++ b/src/helper/auth/auth.helper.ts @@ -13,84 +13,84 @@ export const checkUserInDb = async (email: string, password: string): Promise<{ email?: string; }> => { try { - // function isAdspillarEmail(email: string) { - // const regex = /^[a-zA-Z0-9._%+-]+@adspillar\.com$/; - // return regex.test(email); - // } - - // if (!isAdspillarEmail(email)) { - // return { success: false, message: "Invalid email domain", can_register: false, can_login: false }; - // } - - // else { - // const findUser = await db.select({ - // email: users.email, - // password: users.password, - // is_active: users.is_active, - // is_verified: users.is_verified, - // refresh_token: users.refresh_token, - // }).from(users).where(eq(users.email, email)); - - // if (!findUser[0]) { - // return { success: true, message: "User not found", can_register: true }; - // } - - // const hash = findUser[0].password; - // const isMatch = await Bun.password.verify(password, hash); - - // if (isMatch && findUser[0].is_verified && findUser[0].is_active) { - // return { - // success: true, - // message: "User verified successfully", - // can_login: true, - // email: findUser[0].email // Ensure email is included - // }; - // } - // else if (isMatch && findUser[0].is_verified === false && findUser[0].is_active) { - // return { success: false, message: "User not verified", can_login: false }; - // } - // else if (isMatch && findUser[0].is_active === false && findUser[0].is_verified) { - // return { success: false, message: "User not active", can_login: false }; - // } - // else { - // return { success: false, message: "Invalid password", can_login: false }; - // } - // } - - const findUser = await db.select({ - email: users.email, - password: users.password, - is_active: users.is_active, - is_verified: users.is_verified, - refresh_token: users.refresh_token, - }).from(users).where(eq(users.email, email)); - - if (!findUser[0]) { - return { success: true, message: "Wrong credentials", can_register: true }; + function isAdspillarEmail(email: string) { + const regex = /^[a-zA-Z0-9._%+-]+@adspillar\.com$/; + return regex.test(email); } - const hash = findUser[0].password; - const isMatch = await Bun.password.verify(password, hash); + if (!isAdspillarEmail(email)) { + return { success: false, message: "Invalid email domain", can_register: false, can_login: false }; + } - if (isMatch && findUser[0].is_verified && findUser[0].is_active) { - return { - success: true, - message: "User verified successfully", - can_login: true, - email: findUser[0].email, // Ensure email is included - can_register: false - }; - } - else if (isMatch && findUser[0].is_verified === false && findUser[0].is_active) { - return { success: false, message: "User not verified", can_login: false, can_register: false }; - } - else if (isMatch && findUser[0].is_active === false && findUser[0].is_verified) { - return { success: false, message: "User not active", can_login: false, can_register: false }; - } else { - return { success: false, message: "Invalid credentials", can_login: false, can_register: false }; + const findUser = await db.select({ + email: users.email, + password: users.password, + is_active: users.is_active, + is_verified: users.is_verified, + refresh_token: users.refresh_token, + }).from(users).where(eq(users.email, email)); + + if (!findUser[0]) { + return { success: true, message: "User not found", can_register: true }; + } + + const hash = findUser[0].password; + const isMatch = await Bun.password.verify(password, hash); + + if (isMatch && findUser[0].is_verified && findUser[0].is_active) { + return { + success: true, + message: "User verified successfully", + can_login: true, + email: findUser[0].email // Ensure email is included + }; + } + else if (isMatch && findUser[0].is_verified === false && findUser[0].is_active) { + return { success: false, message: "User not verified", can_login: false }; + } + else if (isMatch && findUser[0].is_active === false && findUser[0].is_verified) { + return { success: false, message: "User not active", can_login: false }; + } + else { + return { success: false, message: "Invalid password", can_login: false }; + } } + // const findUser = await db.select({ + // email: users.email, + // password: users.password, + // is_active: users.is_active, + // is_verified: users.is_verified, + // refresh_token: users.refresh_token, + // }).from(users).where(eq(users.email, email)); + + // if (!findUser[0]) { + // return { success: true, message: "Wrong credentials", can_register: true }; + // } + + // const hash = findUser[0].password; + // const isMatch = await Bun.password.verify(password, hash); + + // if (isMatch && findUser[0].is_verified && findUser[0].is_active) { + // return { + // success: true, + // message: "User verified successfully", + // can_login: true, + // email: findUser[0].email, // Ensure email is included + // can_register: false + // }; + // } + // else if (isMatch && findUser[0].is_verified === false && findUser[0].is_active) { + // return { success: false, message: "User not verified", can_login: false, can_register: false }; + // } + // else if (isMatch && findUser[0].is_active === false && findUser[0].is_verified) { + // return { success: false, message: "User not active", can_login: false, can_register: false }; + // } + // else { + // return { success: false, message: "Invalid credentials", can_login: false, can_register: false }; + // } + } catch (error: any) { console.log("Error verifying user:", error); return { success: false, message: "Error verifying user" };