62 lines
1.4 KiB
JavaScript
62 lines
1.4 KiB
JavaScript
export default defineEventHandler(async (event) => {
|
|
const body = await readBody(event);
|
|
|
|
try {
|
|
// Update user
|
|
const user = await prisma.user.updateMany({
|
|
where: {
|
|
userUsername: body.username,
|
|
},
|
|
data: {
|
|
userFullName: body?.fullname || "",
|
|
userEmail: body?.email || "",
|
|
userPhone: body?.phone || "",
|
|
userStatus: body.status,
|
|
userModifiedDate: new Date(),
|
|
},
|
|
});
|
|
|
|
if (user) {
|
|
const getUserID = await prisma.user.findFirst({
|
|
where: {
|
|
userUsername: body.username,
|
|
},
|
|
});
|
|
|
|
if (getUserID) {
|
|
// Delete all user role
|
|
const userRole = await prisma.userrole.deleteMany({
|
|
where: {
|
|
userRoleUserID: getUserID.userID,
|
|
},
|
|
});
|
|
|
|
if (userRole) {
|
|
const userRoleList = body.role;
|
|
|
|
// Add new user role
|
|
userRoleList.forEach(async (role) => {
|
|
const userRole = await prisma.userrole.create({
|
|
data: {
|
|
userRoleUserID: getUserID.userID,
|
|
userRoleRoleID: role.value,
|
|
userRoleCreatedDate: new Date(),
|
|
},
|
|
});
|
|
});
|
|
|
|
return {
|
|
statusCode: 200,
|
|
message: "User updated successfully",
|
|
};
|
|
}
|
|
}
|
|
}
|
|
} catch (error) {
|
|
return {
|
|
statusCode: 500,
|
|
message: error.message,
|
|
};
|
|
}
|
|
});
|