fix create user
This commit is contained in:
@@ -42,31 +42,35 @@ class UserService {
|
|||||||
try {
|
try {
|
||||||
if (!data || typeof data !== 'object') data = {};
|
if (!data || typeof data !== 'object') data = {};
|
||||||
|
|
||||||
const creatorId = data.userId;
|
const creatorId = data.userId || null;
|
||||||
|
|
||||||
const existingEmail = await getUserByUserEmailDb(data.user_email);
|
// cek duplikasi username & email
|
||||||
const existingUsername = await getUserByUsernameDb(data.user_name);
|
const [existingUsername, existingEmail] = await Promise.all([
|
||||||
|
getUserByUsernameDb(data.user_name),
|
||||||
|
getUserByUserEmailDb(data.user_email)
|
||||||
|
]);
|
||||||
|
|
||||||
if (existingUsername) {
|
if (existingUsername) throw new ErrorHandler(400, 'Username is already taken');
|
||||||
throw new ErrorHandler(400, 'Username is already taken');
|
if (existingEmail) throw new ErrorHandler(400, 'Email is already taken');
|
||||||
}
|
|
||||||
if (existingEmail) {
|
|
||||||
throw new ErrorHandler(400, 'Email is already taken');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.user_password) {
|
// hash password
|
||||||
data.user_password = await hashPassword(data.user_password);
|
const hashedPassword = await hashPassword(data.user_password);
|
||||||
}
|
|
||||||
|
|
||||||
data.is_approve = 1;
|
// siapkan data untuk insert
|
||||||
data.approved_by = creatorId;
|
const userData = {
|
||||||
data.created_by = creatorId;
|
...data,
|
||||||
data.updated_by = creatorId;
|
user_password: hashedPassword,
|
||||||
data.is_sa = 0;
|
is_approve: 1,
|
||||||
data.is_active = 1;
|
approved_by: creatorId,
|
||||||
delete data.userId;
|
created_by: creatorId,
|
||||||
|
updated_by: creatorId,
|
||||||
|
is_sa: 0,
|
||||||
|
is_active: 1
|
||||||
|
};
|
||||||
|
|
||||||
const result = await createUserDb(data);
|
delete userData.userId;
|
||||||
|
|
||||||
|
const result = await createUserDb(userData);
|
||||||
return result;
|
return result;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new ErrorHandler(error.statusCode || 500, error.message);
|
throw new ErrorHandler(error.statusCode || 500, error.message);
|
||||||
|
|||||||
Reference in New Issue
Block a user