all requirement added
This commit is contained in:
parent
d304e6e69d
commit
18f1ccc8f4
2 changed files with 73 additions and 72 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -25,6 +25,7 @@ yarn-debug.log*
|
|||
yarn-error.log*
|
||||
|
||||
# local env files
|
||||
.env
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
|
|
|
|||
|
|
@ -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" };
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue