import { useParams } from "react-router-dom"; import { useBucket, useDenyKey } from "../hooks"; import { Card, Checkbox, Table } from "react-daisyui"; import Button from "@/components/ui/button"; import { Trash } from "lucide-react"; import AllowKeyDialog from "./allow-key-dialog"; import { useMemo } from "react"; import { toast } from "sonner"; import { handleError } from "@/lib/utils"; const PermissionsTab = () => { const { id } = useParams(); const { data, refetch } = useBucket(id); const denyKey = useDenyKey(id, { onSuccess: () => { toast.success("Key removed!"); refetch(); }, onError: handleError, }); const keys = useMemo(() => { return data?.keys.filter( (key) => key.permissions.read !== false || key.permissions.write !== false || key.permissions.owner !== false ); }, [data?.keys]); const onRemove = (id: string) => { if (window.confirm("Are you sure you want to remove this key?")) { denyKey.mutate({ keyId: id, permissions: { read: true, write: true, owner: true }, }); } }; return (
Access Keys key.accessKeyId)} />
# Key Read Write Owner {keys?.map((key, idx) => ( {idx + 1} {key.name || key.accessKeyId?.substring(0, 8)}
); }; export default PermissionsTab;