From dae7c365ef5513d58bc193b1020d3373b6fd5b3e Mon Sep 17 00:00:00 2001 From: "kasia.oczkowska" Date: Fri, 20 Dec 2024 10:00:48 +0000 Subject: [PATCH] refactor: use form's centralized error management --- packages/web/src/helpers/errors.js | 18 --------------- packages/web/src/locales/en.json | 1 - packages/web/src/pages/EditUser/index.jsx | 27 ++--------------------- 3 files changed, 2 insertions(+), 44 deletions(-) delete mode 100644 packages/web/src/helpers/errors.js diff --git a/packages/web/src/helpers/errors.js b/packages/web/src/helpers/errors.js deleted file mode 100644 index dc73867d..00000000 --- a/packages/web/src/helpers/errors.js +++ /dev/null @@ -1,18 +0,0 @@ -// Helpers to extract errors received from the API - -export const getGeneralErrorMessage = ({ error, fallbackMessage }) => { - if (!error) { - return; - } - - const errors = error?.response?.data?.errors; - const generalError = errors?.general; - - if (generalError && Array.isArray(generalError)) { - return generalError.join(' '); - } - - if (!errors) { - return error?.message || fallbackMessage; - } -}; diff --git a/packages/web/src/locales/en.json b/packages/web/src/locales/en.json index 699bec75..cd6d1121 100644 --- a/packages/web/src/locales/en.json +++ b/packages/web/src/locales/en.json @@ -236,7 +236,6 @@ "editUser.status": "Status", "editUser.submit": "Update", "editUser.successfullyUpdated": "The user has been updated.", - "editUser.error": "Error while updating the user.", "userList.fullName": "Full name", "userList.email": "Email", "userList.role": "Role", diff --git a/packages/web/src/pages/EditUser/index.jsx b/packages/web/src/pages/EditUser/index.jsx index 8bba455e..28713ece 100644 --- a/packages/web/src/pages/EditUser/index.jsx +++ b/packages/web/src/pages/EditUser/index.jsx @@ -24,7 +24,6 @@ import useRoles from 'hooks/useRoles.ee'; import useAdminUpdateUser from 'hooks/useAdminUpdateUser'; import useAdminUser from 'hooks/useAdminUser'; import useCurrentUserAbility from 'hooks/useCurrentUserAbility'; -import { getGeneralErrorMessage } from 'helpers/errors'; function generateRoleOptions(roles) { return roles?.map(({ name: label, id: value }) => ({ label, value })); @@ -76,7 +75,7 @@ export default function EditUser() { const currentUserAbility = useCurrentUserAbility(); const canUpdateRole = currentUserAbility.can('update', 'Role'); - const handleUserUpdate = async (userDataToUpdate, e, setError) => { + const handleUserUpdate = async (userDataToUpdate) => { try { await updateUser({ fullName: userDataToUpdate.fullName, @@ -96,29 +95,7 @@ export default function EditUser() { } catch (error) { const errors = error?.response?.data?.errors; - if (errors) { - const fieldNames = Object.keys(defaultValues); - Object.entries(errors).forEach(([fieldName, fieldErrors]) => { - if (fieldNames.includes(fieldName) && Array.isArray(fieldErrors)) { - setError(fieldName, { - type: 'fieldRequestError', - message: fieldErrors.join(', '), - }); - } - }); - } - - const generalError = getGeneralErrorMessage({ - error, - fallbackMessage: formatMessage('editUser.error'), - }); - - if (generalError) { - setError('root.general', { - type: 'requestError', - message: generalError, - }); - } + throw errors || error; } };