From c5da23b594b5e926189fc63266f904ffe7984157 Mon Sep 17 00:00:00 2001 From: cesnietor <> Date: Wed, 17 Jan 2024 11:24:03 -0800 Subject: [PATCH] Use swagger api for delete KMS key --- .../screens/Console/KMS/DeleteKMSModal.tsx | 34 +++++++++++-------- web-app/src/screens/Console/KMS/ListKeys.tsx | 2 -- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/web-app/src/screens/Console/KMS/DeleteKMSModal.tsx b/web-app/src/screens/Console/KMS/DeleteKMSModal.tsx index 81b6083db2..75749a7812 100644 --- a/web-app/src/screens/Console/KMS/DeleteKMSModal.tsx +++ b/web-app/src/screens/Console/KMS/DeleteKMSModal.tsx @@ -16,34 +16,27 @@ import React, { useState, Fragment } from "react"; import { ConfirmDeleteIcon, Grid, InformativeMessage, InputBox } from "mds"; -import { ErrorResponseHandler } from "../../../common/types"; import { setErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; -import useApi from "../Common/Hooks/useApi"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; +import { api } from "api"; +import { errorToHandler } from "api/errors"; +import { ApiError, HttpResponse } from "api/consoleApi"; interface IDeleteKMSModalProps { closeDeleteModalAndRefresh: (refresh: boolean) => void; deleteOpen: boolean; selectedItem: string; - endpoint: string; - element: string; } const DeleteKMSModal = ({ closeDeleteModalAndRefresh, deleteOpen, selectedItem, - endpoint, - element, }: IDeleteKMSModalProps) => { const dispatch = useAppDispatch(); - const onDelSuccess = () => closeDeleteModalAndRefresh(true); - const onDelError = (err: ErrorResponseHandler) => - dispatch(setErrorSnackMessage(err)); const onClose = () => closeDeleteModalAndRefresh(false); - - const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError); + const [loadingDelete, setLoadingDelete] = useState(false); const [retypeKey, setRetypeKey] = useState(""); if (!selectedItem) { @@ -51,20 +44,31 @@ const DeleteKMSModal = ({ } const onConfirmDelete = () => { - invokeDeleteApi("DELETE", `${endpoint}${selectedItem}`); + setLoadingDelete(true); + api.kms + .kmsDeleteKey(selectedItem) + .then((_) => { + closeDeleteModalAndRefresh(true); + }) + .catch(async (res: HttpResponse) => { + const err = (await res.json()) as ApiError; + dispatch(setErrorSnackMessage(errorToHandler(err))); + closeDeleteModalAndRefresh(false); + }) + .finally(() => setLoadingDelete(false)); }; return ( } - isLoading={deleteLoading} + isLoading={loadingDelete} onConfirm={onConfirmDelete} onClose={onClose} confirmButtonProps={{ - disabled: retypeKey !== selectedItem || deleteLoading, + disabled: retypeKey !== selectedItem || loadingDelete, }} confirmationContent={ diff --git a/web-app/src/screens/Console/KMS/ListKeys.tsx b/web-app/src/screens/Console/KMS/ListKeys.tsx index 13781bd7f7..2290171124 100644 --- a/web-app/src/screens/Console/KMS/ListKeys.tsx +++ b/web-app/src/screens/Console/KMS/ListKeys.tsx @@ -130,8 +130,6 @@ const ListKeys = () => { )}