Skip to content

Commit c87ebe4

Browse files
authored
Use swagger api for delete KMS key (#3197)
1 parent 462cf16 commit c87ebe4

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

web-app/src/screens/Console/KMS/DeleteKMSModal.tsx

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,55 +16,59 @@
1616

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

2526
interface IDeleteKMSModalProps {
2627
closeDeleteModalAndRefresh: (refresh: boolean) => void;
2728
deleteOpen: boolean;
2829
selectedItem: string;
29-
endpoint: string;
30-
element: string;
3130
}
3231

3332
const DeleteKMSModal = ({
3433
closeDeleteModalAndRefresh,
3534
deleteOpen,
3635
selectedItem,
37-
endpoint,
38-
element,
3936
}: IDeleteKMSModalProps) => {
4037
const dispatch = useAppDispatch();
41-
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
42-
const onDelError = (err: ErrorResponseHandler) =>
43-
dispatch(setErrorSnackMessage(err));
4438
const onClose = () => closeDeleteModalAndRefresh(false);
45-
46-
const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);
39+
const [loadingDelete, setLoadingDelete] = useState<boolean>(false);
4740
const [retypeKey, setRetypeKey] = useState("");
4841

4942
if (!selectedItem) {
5043
return null;
5144
}
5245

5346
const onConfirmDelete = () => {
54-
invokeDeleteApi("DELETE", `${endpoint}${selectedItem}`);
47+
setLoadingDelete(true);
48+
api.kms
49+
.kmsDeleteKey(selectedItem)
50+
.then((_) => {
51+
closeDeleteModalAndRefresh(true);
52+
})
53+
.catch(async (res: HttpResponse<void, ApiError>) => {
54+
const err = (await res.json()) as ApiError;
55+
dispatch(setErrorSnackMessage(errorToHandler(err)));
56+
closeDeleteModalAndRefresh(false);
57+
})
58+
.finally(() => setLoadingDelete(false));
5559
};
5660

5761
return (
5862
<ConfirmDialog
59-
title={`Delete ${element}`}
63+
title={`Delete Key`}
6064
confirmText={"Delete"}
6165
isOpen={deleteOpen}
6266
titleIcon={<ConfirmDeleteIcon />}
63-
isLoading={deleteLoading}
67+
isLoading={loadingDelete}
6468
onConfirm={onConfirmDelete}
6569
onClose={onClose}
6670
confirmButtonProps={{
67-
disabled: retypeKey !== selectedItem || deleteLoading,
71+
disabled: retypeKey !== selectedItem || loadingDelete,
6872
}}
6973
confirmationContent={
7074
<Fragment>

web-app/src/screens/Console/KMS/ListKeys.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,6 @@ const ListKeys = () => {
130130
<DeleteKMSModal
131131
deleteOpen={deleteOpen}
132132
selectedItem={selectedKey}
133-
endpoint={"/api/v1/kms/keys/"}
134-
element={"Key"}
135133
closeDeleteModalAndRefresh={closeDeleteModalAndRefresh}
136134
/>
137135
)}

0 commit comments

Comments
 (0)