Files management for bookings
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user