Skip to content

Commit 96923ae

Browse files
authored
Changed DeleteAccessRule to use swagger api (#3213)
1 parent a04f833 commit 96923ae

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

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

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@
1414
// You should have received a copy of the GNU Affero General Public License
1515
// along with this program. If not, see <http://www.gnu.org/licenses/>.
1616

17-
import React, { Fragment } from "react";
17+
import React, { Fragment, useState } from "react";
1818
import { ConfirmDeleteIcon } 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";
21+
import { api } from "api";
22+
import { ApiError, HttpResponse, PrefixWrapper } from "api/consoleApi";
23+
import { errorToHandler } from "api/errors";
2324
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
2425

2526
interface IDeleteAccessRule {
@@ -36,24 +37,31 @@ const DeleteAccessRule = ({
3637
toDelete,
3738
}: IDeleteAccessRule) => {
3839
const dispatch = useAppDispatch();
39-
const onDelSuccess = () => onClose();
40-
const onDelError = (err: ErrorResponseHandler) =>
41-
dispatch(setErrorSnackMessage(err));
4240

43-
const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);
41+
const [loadingDeleteAccessRule, setLoadingDeleteAccessRule] =
42+
useState<boolean>(false);
4443

4544
const onConfirmDelete = () => {
46-
invokeDeleteApi("DELETE", `/api/v1/bucket/${bucket}/access-rules`, {
47-
prefix: toDelete,
48-
});
45+
setLoadingDeleteAccessRule(true);
46+
let wrapper: PrefixWrapper = { prefix: toDelete };
47+
api.bucket
48+
.deleteAccessRuleWithBucket(bucket, wrapper)
49+
.then(() => {
50+
onClose();
51+
})
52+
.catch((res: HttpResponse<boolean, ApiError>) => {
53+
dispatch(setErrorSnackMessage(errorToHandler(res.error)));
54+
onClose();
55+
})
56+
.finally(() => setLoadingDeleteAccessRule(false));
4957
};
5058

5159
return (
5260
<ConfirmDialog
5361
title={`Delete Anonymous Access Rule`}
5462
confirmText={"Delete"}
5563
isOpen={modalOpen}
56-
isLoading={deleteLoading}
64+
isLoading={loadingDeleteAccessRule}
5765
onConfirm={onConfirmDelete}
5866
titleIcon={<ConfirmDeleteIcon />}
5967
onClose={onClose}

0 commit comments

Comments
 (0)