From 859ab89c3fe7183ef323c7b5049129ae8e53e6bc Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Thu, 26 Dec 2019 16:50:06 +0800 Subject: [PATCH] fix: separate delete-object and delete-prefix methods --- pkg/multicloud/objectstore/shell.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkg/multicloud/objectstore/shell.go b/pkg/multicloud/objectstore/shell.go index f5ea0e2df6..de3eae56a3 100644 --- a/pkg/multicloud/objectstore/shell.go +++ b/pkg/multicloud/objectstore/shell.go @@ -297,11 +297,20 @@ func S3Shell() { if err != nil { return err } - if strings.HasSuffix(args.KEY, "/") { - err = cloudprovider.DeletePrefix(context.Background(), bucket, args.KEY) - } else { - err = bucket.DeleteObject(context.Background(), args.KEY) + err = bucket.DeleteObject(context.Background(), args.KEY) + if err != nil { + return err } + fmt.Printf("Delete success\n") + return nil + }) + + shellutils.R(&BucketDeleteObjectOptions{}, "delete-prefix", "Delete object from a bucket", func(cli cloudprovider.ICloudRegion, args *BucketDeleteObjectOptions) error { + bucket, err := cli.GetIBucketById(args.BUCKET) + if err != nil { + return err + } + err = cloudprovider.DeletePrefix(context.Background(), bucket, args.KEY) if err != nil { return err }