Handle errors for Set Policy for Access keys (#3005)

Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
This commit is contained in:
Daniel Valdivia
2023-08-21 11:00:45 -07:00
committed by GitHub
parent c07b8dcf73
commit 0c480dd5ec
3 changed files with 33 additions and 28 deletions

View File

@@ -34,31 +34,32 @@ import { actionsTray } from "../Common/FormComponents/common/styleLibrary";
import ChangePasswordModal from "./ChangePasswordModal";
import SearchBox from "../Common/SearchBox";
import withSuspense from "../Common/Components/withSuspense";
import {
CONSOLE_UI_RESOURCE,
IAM_PAGES,
IAM_SCOPES,
} from "../../../common/SecureComponent/permissions";
import { SecureComponent } from "../../../common/SecureComponent";
import { selectSAs } from "../Configurations/utils";
import DeleteMultipleServiceAccounts from "../Users/DeleteMultipleServiceAccounts";
import ServiceAccountPolicy from "./ServiceAccountPolicy";
import {
setErrorSnackMessage,
setHelpName,
setSnackBarMessage,
} from "../../../systemSlice";
import { selFeatures } from "../consoleSlice";
import { useAppDispatch } from "../../../store";
import TooltipWrapper from "../Common/TooltipWrapper/TooltipWrapper";
import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper";
import { api } from "api";
import { errorToHandler } from "api/errors";
import HelpMenu from "../HelpMenu";
import { ServiceAccounts } from "../../../api/consoleApi";
import { usersSort } from "../../../utils/sortFunctions";
import { ACCOUNT_TABLE_COLUMNS } from "./AccountUtils";
import { useAppDispatch } from "store";
import { ApiError, ServiceAccounts } from "api/consoleApi";
import {
setErrorSnackMessage,
setHelpName,
setSnackBarMessage,
} from "systemSlice";
import { usersSort } from "utils/sortFunctions";
import { SecureComponent } from "common/SecureComponent";
import {
CONSOLE_UI_RESOURCE,
IAM_PAGES,
IAM_SCOPES,
} from "common/SecureComponent/permissions";
const DeleteServiceAccount = withSuspense(
React.lazy(() => import("./DeleteServiceAccount")),
@@ -103,8 +104,9 @@ const Account = () => {
const sortedRows = res.data.sort(usersSort);
setRecords(sortedRows);
})
.catch((err) => {
dispatch(setErrorSnackMessage(errorToHandler(err.error)));
.catch(async (res) => {
const err = (await res.json()) as ApiError;
dispatch(setErrorSnackMessage(errorToHandler(err)));
setLoading(false);
});
}

View File

@@ -33,17 +33,17 @@ import { modalStyleUtils } from "../Common/FormComponents/common/styleLibrary";
import { NewServiceAccount } from "../Common/CredentialsPrompt/types";
import { IAM_PAGES } from "../../../common/SecureComponent/permissions";
import { setErrorSnackMessage, setHelpName } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
import { getRandomString } from "../../../common/utils";
import { api } from "api";
import { errorToHandler } from "api/errors";
import { ContentType } from "api/consoleApi";
import { ApiError, ContentType } from "api/consoleApi";
import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper";
import AddServiceAccountHelpBox from "./AddServiceAccountHelpBox";
import CredentialsPrompt from "../Common/CredentialsPrompt/CredentialsPrompt";
import PanelTitle from "../Common/PanelTitle/PanelTitle";
import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper";
import HelpMenu from "../HelpMenu";
import { useAppDispatch } from "store";
import { getRandomString } from "common/utils";
const AddServiceAccount = () => {
const dispatch = useAppDispatch();
@@ -83,9 +83,10 @@ const AddServiceAccount = () => {
});
})
.catch((err) => {
.catch(async (res) => {
setAddSending(false);
dispatch(setErrorSnackMessage(errorToHandler(err.error)));
const err = (await res.json()) as ApiError;
dispatch(setErrorSnackMessage(errorToHandler(err)));
});
}
}, [addSending, setAddSending, dispatch, policyJSON, accessKey, secretKey]);

View File

@@ -16,14 +16,15 @@
import React, { useEffect, useState } from "react";
import { Button, ChangeAccessPolicyIcon, Grid } from "mds";
import { modalStyleUtils } from "../Common/FormComponents/common/styleLibrary";
import { encodeURLString } from "../../../common/utils";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
import { api } from "api";
import { errorToHandler } from "api/errors";
import ModalWrapper from "../Common/ModalWrapper/ModalWrapper";
import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper";
import { ApiError } from "api/consoleApi";
import { useAppDispatch } from "store";
import { encodeURLString } from "common/utils";
import { setErrorSnackMessage, setModalErrorSnackMessage } from "systemSlice";
import ModalWrapper from "../Common/ModalWrapper/ModalWrapper";
import { modalStyleUtils } from "../Common/FormComponents/common/styleLibrary";
interface IServiceAccountPolicyProps {
open: boolean;
@@ -66,8 +67,9 @@ const ServiceAccountPolicy = ({
.then(() => {
closeModalAndRefresh();
})
.catch((err) => {
dispatch(setModalErrorSnackMessage(errorToHandler(err)));
.catch(async (res) => {
const err = (await res.json()) as ApiError;
dispatch(setErrorSnackMessage(errorToHandler(err)));
});
};