Files management for bookings

This commit is contained in:
2022-11-01 17:06:12 +01:00
parent cb36a7c8dd
commit 72c9ca9635
12 changed files with 509 additions and 169 deletions

View File

@@ -9,6 +9,7 @@ import (
const (
PREFIX_BENEFICIARIES = "beneficiaries"
PREFIX_BOOKINGS = "fleets_bookings"
)
type FileInfo struct {
@@ -23,6 +24,7 @@ type FileStorage interface {
Put(reader io.Reader, prefix string, filename string, size int64, metadata map[string]string) error
List(prefix string) []FileInfo
Get(prefix string, file string) (io.Reader, *FileInfo, error)
Copy(src string, dest string) error
}
func NewFileStorage(cfg *viper.Viper) (FileStorage, error) {

View File

@@ -102,3 +102,23 @@ func (s *MinioStorageHandler) Get(prefix string, file string) (io.Reader, *FileI
return object, fileinfo, nil
}
func (s *MinioStorageHandler) Copy(src string, dst string) error {
srcOpts := minio.CopySrcOptions{
Bucket: s.BucketName,
Object: src,
}
// Destination object
dstOpts := minio.CopyDestOptions{
Bucket: s.BucketName,
Object: dst,
}
_, err := s.Client.CopyObject(context.Background(), dstOpts, srcOpts)
if err != nil {
fmt.Println(err)
return err
}
return nil
}