fixed user update
This commit is contained in:
@@ -169,34 +169,47 @@ export function UserManagementPage() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await saveUser();
|
try {
|
||||||
|
await saveUser();
|
||||||
|
} catch (error: unknown) {
|
||||||
|
setStatus(error instanceof Error ? error.message : "Unable to save user.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveUser() {
|
async function saveUser() {
|
||||||
|
const normalizedUserForm: AdminUserInput = {
|
||||||
|
...userForm,
|
||||||
|
password: userForm.password && userForm.password.trim().length > 0 ? userForm.password : null,
|
||||||
|
};
|
||||||
|
|
||||||
if (selectedUserId === "new") {
|
if (selectedUserId === "new") {
|
||||||
const createdUser = await api.createAdminUser(authToken, userForm);
|
const createdUser = await api.createAdminUser(authToken, normalizedUserForm);
|
||||||
await refreshData(`Created user ${createdUser.email}.`);
|
await refreshData(`Created user ${createdUser.email}.`);
|
||||||
setSelectedUserId(createdUser.id);
|
setSelectedUserId(createdUser.id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const updatedUser = await api.updateAdminUser(authToken, selectedUserId, userForm);
|
const updatedUser = await api.updateAdminUser(authToken, selectedUserId, normalizedUserForm);
|
||||||
await refreshData(`Updated user ${updatedUser.email}.`);
|
await refreshData(`Updated user ${updatedUser.email}.`);
|
||||||
setSelectedUserId(updatedUser.id);
|
setSelectedUserId(updatedUser.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handleRoleSave(event: React.FormEvent<HTMLFormElement>) {
|
async function handleRoleSave(event: React.FormEvent<HTMLFormElement>) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
if (selectedRoleId === "new") {
|
try {
|
||||||
const createdRole = await api.createAdminRole(authToken, roleForm);
|
if (selectedRoleId === "new") {
|
||||||
await refreshData(`Created role ${createdRole.name}.`);
|
const createdRole = await api.createAdminRole(authToken, roleForm);
|
||||||
setSelectedRoleId(createdRole.id);
|
await refreshData(`Created role ${createdRole.name}.`);
|
||||||
return;
|
setSelectedRoleId(createdRole.id);
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const updatedRole = await api.updateAdminRole(authToken, selectedRoleId, roleForm);
|
const updatedRole = await api.updateAdminRole(authToken, selectedRoleId, roleForm);
|
||||||
await refreshData(`Updated role ${updatedRole.name}.`);
|
await refreshData(`Updated role ${updatedRole.name}.`);
|
||||||
setSelectedRoleId(updatedRole.id);
|
setSelectedRoleId(updatedRole.id);
|
||||||
|
} catch (error: unknown) {
|
||||||
|
setStatus(error instanceof Error ? error.message : "Unable to save role.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleUserRole(roleId: string) {
|
function toggleUserRole(roleId: string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user