Skip to content

Commit 8d99637

Browse files
authored
Use swagger api for Add KMS key in Bucket Encryption (#3205)
1 parent abd6678 commit 8d99637

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

web-app/src/screens/Console/Buckets/BucketDetails/AddKeyModal.tsx

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@
1616

1717
import React, { Fragment, useState } from "react";
1818
import { Grid, InputBox } from "mds";
19-
import { ErrorResponseHandler } from "../../../../common/types";
2019
import { useAppDispatch } from "../../../../store";
2120
import { setErrorSnackMessage } from "../../../../systemSlice";
22-
import useApi from "../../Common/Hooks/useApi";
2321
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
2422
import KMSHelpBox from "../../KMS/KMSHelpbox";
23+
import { api } from "api";
24+
import { ApiError, HttpResponse } from "api/consoleApi";
25+
import { errorToHandler } from "api/errors";
2526

2627
interface IAddKeyModalProps {
2728
closeAddModalAndRefresh: (refresh: boolean) => void;
@@ -33,30 +34,36 @@ const AddKeyModal = ({
3334
addOpen,
3435
}: IAddKeyModalProps) => {
3536
const dispatch = useAppDispatch();
36-
const onAddSuccess = () => closeAddModalAndRefresh(true);
37-
const onAddError = (err: ErrorResponseHandler) => {
38-
closeAddModalAndRefresh(false);
39-
dispatch(setErrorSnackMessage(err));
40-
};
4137
const onClose = () => closeAddModalAndRefresh(false);
4238

43-
const [addLoading, invokeAddApi] = useApi(onAddSuccess, onAddError);
39+
const [loadingAdd, setLoadingAdd] = useState<boolean>(false);
4440
const [keyName, setKeyName] = useState<string>("");
4541

4642
const onConfirmAdd = () => {
47-
invokeAddApi("POST", "/api/v1/kms/keys/", { key: keyName });
43+
setLoadingAdd(true);
44+
api.kms
45+
.kmsCreateKey({ key: keyName })
46+
.then((_) => {
47+
closeAddModalAndRefresh(true);
48+
})
49+
.catch(async (res: HttpResponse<void, ApiError>) => {
50+
const err = (await res.json()) as ApiError;
51+
dispatch(setErrorSnackMessage(errorToHandler(err)));
52+
closeAddModalAndRefresh(false);
53+
})
54+
.finally(() => setLoadingAdd(false));
4855
};
4956

5057
return (
5158
<ConfirmDialog
5259
title={""}
5360
confirmText={"Create"}
5461
isOpen={addOpen}
55-
isLoading={addLoading}
62+
isLoading={loadingAdd}
5663
onConfirm={onConfirmAdd}
5764
onClose={onClose}
5865
confirmButtonProps={{
59-
disabled: keyName.indexOf(" ") !== -1 || keyName === "" || addLoading,
66+
disabled: keyName.indexOf(" ") !== -1 || keyName === "" || loadingAdd,
6067
variant: "callAction",
6168
}}
6269
confirmationContent={

0 commit comments

Comments
 (0)