mirror of
https://github.com/OpenMaxIO/openmaxio-object-browser
synced 2026-07-01 07:41:18 -07:00
Use swagger api for delete KMS key (#3197)
This commit is contained in:
@@ -16,34 +16,27 @@
|
|||||||
|
|
||||||
import React, { useState, Fragment } from "react";
|
import React, { useState, Fragment } from "react";
|
||||||
import { ConfirmDeleteIcon, Grid, InformativeMessage, InputBox } from "mds";
|
import { ConfirmDeleteIcon, Grid, InformativeMessage, InputBox } from "mds";
|
||||||
import { ErrorResponseHandler } from "../../../common/types";
|
|
||||||
import { setErrorSnackMessage } from "../../../systemSlice";
|
import { setErrorSnackMessage } from "../../../systemSlice";
|
||||||
import { useAppDispatch } from "../../../store";
|
import { useAppDispatch } from "../../../store";
|
||||||
import useApi from "../Common/Hooks/useApi";
|
|
||||||
import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog";
|
import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog";
|
||||||
|
import { api } from "api";
|
||||||
|
import { errorToHandler } from "api/errors";
|
||||||
|
import { ApiError, HttpResponse } from "api/consoleApi";
|
||||||
|
|
||||||
interface IDeleteKMSModalProps {
|
interface IDeleteKMSModalProps {
|
||||||
closeDeleteModalAndRefresh: (refresh: boolean) => void;
|
closeDeleteModalAndRefresh: (refresh: boolean) => void;
|
||||||
deleteOpen: boolean;
|
deleteOpen: boolean;
|
||||||
selectedItem: string;
|
selectedItem: string;
|
||||||
endpoint: string;
|
|
||||||
element: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const DeleteKMSModal = ({
|
const DeleteKMSModal = ({
|
||||||
closeDeleteModalAndRefresh,
|
closeDeleteModalAndRefresh,
|
||||||
deleteOpen,
|
deleteOpen,
|
||||||
selectedItem,
|
selectedItem,
|
||||||
endpoint,
|
|
||||||
element,
|
|
||||||
}: IDeleteKMSModalProps) => {
|
}: IDeleteKMSModalProps) => {
|
||||||
const dispatch = useAppDispatch();
|
const dispatch = useAppDispatch();
|
||||||
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
|
|
||||||
const onDelError = (err: ErrorResponseHandler) =>
|
|
||||||
dispatch(setErrorSnackMessage(err));
|
|
||||||
const onClose = () => closeDeleteModalAndRefresh(false);
|
const onClose = () => closeDeleteModalAndRefresh(false);
|
||||||
|
const [loadingDelete, setLoadingDelete] = useState<boolean>(false);
|
||||||
const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);
|
|
||||||
const [retypeKey, setRetypeKey] = useState("");
|
const [retypeKey, setRetypeKey] = useState("");
|
||||||
|
|
||||||
if (!selectedItem) {
|
if (!selectedItem) {
|
||||||
@@ -51,20 +44,31 @@ const DeleteKMSModal = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const onConfirmDelete = () => {
|
const onConfirmDelete = () => {
|
||||||
invokeDeleteApi("DELETE", `${endpoint}${selectedItem}`);
|
setLoadingDelete(true);
|
||||||
|
api.kms
|
||||||
|
.kmsDeleteKey(selectedItem)
|
||||||
|
.then((_) => {
|
||||||
|
closeDeleteModalAndRefresh(true);
|
||||||
|
})
|
||||||
|
.catch(async (res: HttpResponse<void, ApiError>) => {
|
||||||
|
const err = (await res.json()) as ApiError;
|
||||||
|
dispatch(setErrorSnackMessage(errorToHandler(err)));
|
||||||
|
closeDeleteModalAndRefresh(false);
|
||||||
|
})
|
||||||
|
.finally(() => setLoadingDelete(false));
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ConfirmDialog
|
<ConfirmDialog
|
||||||
title={`Delete ${element}`}
|
title={`Delete Key`}
|
||||||
confirmText={"Delete"}
|
confirmText={"Delete"}
|
||||||
isOpen={deleteOpen}
|
isOpen={deleteOpen}
|
||||||
titleIcon={<ConfirmDeleteIcon />}
|
titleIcon={<ConfirmDeleteIcon />}
|
||||||
isLoading={deleteLoading}
|
isLoading={loadingDelete}
|
||||||
onConfirm={onConfirmDelete}
|
onConfirm={onConfirmDelete}
|
||||||
onClose={onClose}
|
onClose={onClose}
|
||||||
confirmButtonProps={{
|
confirmButtonProps={{
|
||||||
disabled: retypeKey !== selectedItem || deleteLoading,
|
disabled: retypeKey !== selectedItem || loadingDelete,
|
||||||
}}
|
}}
|
||||||
confirmationContent={
|
confirmationContent={
|
||||||
<Fragment>
|
<Fragment>
|
||||||
|
|||||||
@@ -130,8 +130,6 @@ const ListKeys = () => {
|
|||||||
<DeleteKMSModal
|
<DeleteKMSModal
|
||||||
deleteOpen={deleteOpen}
|
deleteOpen={deleteOpen}
|
||||||
selectedItem={selectedKey}
|
selectedItem={selectedKey}
|
||||||
endpoint={"/api/v1/kms/keys/"}
|
|
||||||
element={"Key"}
|
|
||||||
closeDeleteModalAndRefresh={closeDeleteModalAndRefresh}
|
closeDeleteModalAndRefresh={closeDeleteModalAndRefresh}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user