From ca6118929197e01afdb58d46cccd25fca6395668 Mon Sep 17 00:00:00 2001 From: Quentin Date: Mon, 23 Aug 2021 22:23:19 +0200 Subject: [PATCH] WIP delete file --- s3_fs.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/s3_fs.go b/s3_fs.go index afc55b7..93ce8ac 100644 --- a/s3_fs.go +++ b/s3_fs.go @@ -72,8 +72,25 @@ func (s S3FS) OpenFile(ctx context.Context, name string, flag int, perm os.FileM } func (s S3FS) RemoveAll(ctx context.Context, name string) error { + //@FIXME nautilus deletes files one by one, at the end, it does not find its folder as it is "already deleted" s.ctx = ctx - return errors.New("Not implemented RemoveAll") + + p := NewS3Path(name) + if p.class == ROOT { + return errors.New("Unable to create another root folder") + } else if p.class == BUCKET { + log.Println("Deleting bucket is not implemented yet") + return nil + } + + objCh := s.mc.ListObjects(s.ctx, p.bucket, minio.ListObjectsOptions{Prefix: p.key, Recursive: true}) + rmCh := s.mc.RemoveObjects(s.ctx, p.bucket, objCh, minio.RemoveObjectsOptions{}) + + for rErr := range rmCh { + return rErr.Err + } + + return nil } func (s S3FS) Rename(ctx context.Context, oldName, newName string) error {