From ebc21e90acfba87293261dd7c515616587e2a6bf Mon Sep 17 00:00:00 2001 From: "kasia.oczkowska" Date: Thu, 19 Dec 2024 13:23:33 +0000 Subject: [PATCH] refactor: remove redundant errors setting in SignUpForm --- .../src/components/InstallationForm/index.jsx | 4 +-- .../src/components/SignUpForm/index.ee.jsx | 27 ++----------------- packages/web/src/helpers/errors.js | 18 ------------- packages/web/src/locales/en.json | 1 - 4 files changed, 3 insertions(+), 47 deletions(-) delete mode 100644 packages/web/src/helpers/errors.js diff --git a/packages/web/src/components/InstallationForm/index.jsx b/packages/web/src/components/InstallationForm/index.jsx index f1e30051..bba4d314 100644 --- a/packages/web/src/components/InstallationForm/index.jsx +++ b/packages/web/src/components/InstallationForm/index.jsx @@ -9,7 +9,6 @@ import { yupResolver } from '@hookform/resolvers/yup'; import { useQueryClient } from '@tanstack/react-query'; import Link from '@mui/material/Link'; -import { getGeneralErrorMessage } from 'helpers/errors'; import useFormatMessage from 'hooks/useFormatMessage'; import useInstallation from 'hooks/useInstallation'; import * as URLS from 'config/urls'; @@ -77,8 +76,7 @@ function InstallationForm() { }); } catch (error) { const errors = error?.response?.data?.errors; - - throw errors; + throw errors || error; } }; diff --git a/packages/web/src/components/SignUpForm/index.ee.jsx b/packages/web/src/components/SignUpForm/index.ee.jsx index 3cbc1033..a7daa326 100644 --- a/packages/web/src/components/SignUpForm/index.ee.jsx +++ b/packages/web/src/components/SignUpForm/index.ee.jsx @@ -7,7 +7,6 @@ import Alert from '@mui/material/Alert'; import * as yup from 'yup'; import { yupResolver } from '@hookform/resolvers/yup'; -import { getGeneralErrorMessage } from 'helpers/errors'; import useAuthentication from 'hooks/useAuthentication'; import * as URLS from 'config/urls'; import Form from 'components/Form'; @@ -70,7 +69,7 @@ function SignUpForm() { } }, [authentication.isAuthenticated]); - const handleSubmit = async (values, e, setError) => { + const handleSubmit = async (values) => { try { const { fullName, email, password } = values; await registerUser({ @@ -86,29 +85,7 @@ function SignUpForm() { authentication.updateToken(token); } 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('signupForm.error'), - }); - - if (generalError) { - setError('root.general', { - type: 'requestError', - message: generalError, - }); - } + throw errors || error; } }; 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 19c8aec4..373521e0 100644 --- a/packages/web/src/locales/en.json +++ b/packages/web/src/locales/en.json @@ -152,7 +152,6 @@ "signupForm.passwordsMustMatch": "Passwords must match.", "signupForm.passwordMinLength": "Password must be at least 6 characters long.", "signupForm.mandatoryInput": "{inputName} is required.", - "signupForm.error": "Something went wrong. Please try again.", "loginForm.title": "Login", "loginForm.emailFieldLabel": "Email", "loginForm.passwordFieldLabel": "Password",