From: guillaume-peoch-sonarsource Date: Mon, 21 Aug 2023 15:31:30 +0000 (+0200) Subject: SONAR-19967 Fix error message parsing when updating user X-Git-Tag: 10.2.0.77647~134 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e6c3fd761f33c402d3da42ef7efbee95b530d3cd;p=sonarqube.git SONAR-19967 Fix error message parsing when updating user --- diff --git a/server/sonar-web/src/main/js/apps/users/components/UserForm.tsx b/server/sonar-web/src/main/js/apps/users/components/UserForm.tsx index a605cbdd5c2..cc7866c0d59 100644 --- a/server/sonar-web/src/main/js/apps/users/components/UserForm.tsx +++ b/server/sonar-web/src/main/js/apps/users/components/UserForm.tsx @@ -25,7 +25,7 @@ import MandatoryFieldMarker from '../../../components/ui/MandatoryFieldMarker'; import MandatoryFieldsExplanation from '../../../components/ui/MandatoryFieldsExplanation'; import { throwGlobalError } from '../../../helpers/error'; import { translate, translateWithParameters } from '../../../helpers/l10n'; -import { parseMessage } from '../../../helpers/request'; +import { parseError } from '../../../helpers/request'; import { usePostUserMutation, useUpdateUserMutation } from '../../../queries/users'; import { RestUserDetailed } from '../../../types/users'; import UserScmAccountInput from './UserScmAccountInput'; @@ -56,7 +56,7 @@ export default function UserForm(props: Props) { if (![BAD_REQUEST, INTERNAL_SERVER_ERROR].includes(response.status)) { throwGlobalError(response); } else { - parseMessage(response).then((errorMsg) => setError(errorMsg), throwGlobalError); + parseError(response).then((errorMsg) => setError(errorMsg), throwGlobalError); } }; diff --git a/server/sonar-web/src/main/js/helpers/request.ts b/server/sonar-web/src/main/js/helpers/request.ts index 5a1537dfb81..d48f498855d 100644 --- a/server/sonar-web/src/main/js/helpers/request.ts +++ b/server/sonar-web/src/main/js/helpers/request.ts @@ -183,17 +183,7 @@ export function parseText(response: Response): Promise { export function parseError(response: Response): Promise { const DEFAULT_MESSAGE = translate('default_error_message'); return parseJSON(response) - .then(({ errors }) => errors.map((error: any) => error.msg).join('. ')) - .catch(() => DEFAULT_MESSAGE); -} - -/** - * Parse message response of failed request - */ -export function parseMessage(response: Response): Promise { - const DEFAULT_MESSAGE = translate('default_error_message'); - return parseJSON(response) - .then(({ message }) => message) + .then(({ errors, message }) => message ?? errors.map((error: any) => error.msg).join('. ')) .catch(() => DEFAULT_MESSAGE); }