update: auth login with username or email
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
const {
|
||||
getUserByUserEmailDb,
|
||||
createUserDb
|
||||
createUserDb,
|
||||
getUserByUsernameDb
|
||||
} = require('../db/user.db');
|
||||
const { hashPassword, comparePassword } = require('../helpers/hashPassword');
|
||||
const { ErrorHandler } = require('../helpers/error');
|
||||
@@ -46,10 +47,17 @@ class AuthService {
|
||||
}
|
||||
|
||||
// Login
|
||||
static async login({ email, password }) {
|
||||
const user = await getUserByUserEmailDb(email);
|
||||
static async login({ identifier, password }) {
|
||||
let user;
|
||||
|
||||
if (identifier.includes('@')) {
|
||||
user = await getUserByUserEmailDb(identifier);
|
||||
} else {
|
||||
user = await getUserByUsernameDb(identifier);
|
||||
}
|
||||
|
||||
if (!user) {
|
||||
throw new ErrorHandler(401, 'Invalid credentials');
|
||||
throw new ErrorHandler(401, 'Invalid credentials')
|
||||
}
|
||||
|
||||
const passwordMatch = await comparePassword(password, user.user_password);
|
||||
|
||||
Reference in New Issue
Block a user