Compare commits

..

2 Commits

Author SHA1 Message Date
3c8ece72cc move mutation dest dir fix 2021-08-16 02:04:44 +02:00
72901e4685 copy mutation in dir fix 2021-08-16 01:40:01 +02:00
2 changed files with 19 additions and 0 deletions

View File

@@ -30,3 +30,7 @@ func getPathFromId(id string) string {
return dir + "/"
}
func getFilenameFromID(id string) string {
return filepath.Base(id)
}

View File

@@ -3,6 +3,7 @@ package s3browser
import (
"context"
"fmt"
"strings"
"github.com/minio/minio-go/v7"
)
@@ -33,6 +34,13 @@ func copyMutation(ctx context.Context, src, dest string) (*File, error) {
return nil, fmt.Errorf("Failed to get s3Client from context")
}
// Check if dest is a file or a dir
if strings.HasSuffix(dest, "/") {
// create new dest id
// TODO: What if a file with this id already exists?
dest += getFilenameFromID(src)
}
info, err := s3Client.CopyObject(ctx, minio.CopyDestOptions{
Bucket: bucketName,
Object: dest,
@@ -62,6 +70,13 @@ func moveMutation(ctx context.Context, src, dest string) (*File, error) {
return nil, fmt.Errorf("Failed to get s3Client from context")
}
// Check if dest is a file or a dir
if strings.HasSuffix(dest, "/") {
// create new dest id
// TODO: What if a file with this id already exists?
dest += getFilenameFromID(src)
}
// There is no (spoon) move. Only copy and delete
info, err := s3Client.CopyObject(ctx, minio.CopyDestOptions{
Bucket: bucketName,