mirror of
https://github.com/rustfs/console.git
synced 2026-09-18 09:10:17 +08:00
fix: Delete Bucket must be empty bucket . resolved rustfs/s3-rustfs#281
This commit is contained in:
@@ -41,6 +41,18 @@ export function useObject({ bucket, region }: { bucket: string, region?: string
|
||||
return await $client.send(new DeleteObjectCommand(params))
|
||||
}
|
||||
|
||||
const listObject = async (bucket:string,prefix :string| undefined = undefined,pageSize :number = 25) => {
|
||||
const params = {
|
||||
Bucket: bucket,
|
||||
Prefix: prefix,
|
||||
MaxKeys: pageSize ,
|
||||
Delimiter: "/",
|
||||
}
|
||||
|
||||
return await $client.send(new ListObjectsV2Command(params))
|
||||
}
|
||||
|
||||
|
||||
async function mapAllFiles(bucketName: string, prefix: string, callback: (fileKey: string) => void) {
|
||||
let isTruncated = true;
|
||||
let continuationToken: string | undefined = undefined;
|
||||
@@ -101,5 +113,5 @@ export function useObject({ bucket, region }: { bucket: string, region?: string
|
||||
return await $client.send(new DeleteObjectTaggingCommand(params))
|
||||
}
|
||||
|
||||
return { headObject, putObject, deleteObject, getSignedUrl, mapAllFiles,getObjectTagging ,putObjectTagging,deleteObjectTagging}
|
||||
return { headObject, putObject, deleteObject, getSignedUrl, mapAllFiles,listObject,getObjectTagging ,putObjectTagging,deleteObjectTagging}
|
||||
}
|
||||
|
||||
@@ -154,6 +154,14 @@ const handleRowClick = (row: RowData,e: Event) => {
|
||||
|
||||
const message = useMessage();
|
||||
const deleteItem = async (row: RowData) => {
|
||||
const objectApi = useObject({ bucket: row.Name});
|
||||
|
||||
const files = await objectApi.listObject(row.Name);
|
||||
|
||||
if(files.KeyCount){
|
||||
message.error("当前桶不为空,请先删除桶内容")
|
||||
return
|
||||
}
|
||||
deleteBucket(row.Name).then(()=>{
|
||||
message.success("删除成功")
|
||||
refresh();
|
||||
|
||||
Reference in New Issue
Block a user