Files
RenewCMS/internal/infrastructure/storage/storage.go
T

29 lines
487 B
Go

package storage
import (
domain "RenewCMS/internal/domain/image"
"fmt"
)
const (
DriverLocal = "local"
DriverS3 = "s3"
)
type Config struct {
Driver string
Location string
S3 S3Config
}
func Open(config Config) (domain.Storage, error) {
switch config.Driver {
case DriverLocal:
return NewLocalStorage(config.Location), nil
case DriverS3:
return OpenS3Storage(config.S3)
default:
return nil, fmt.Errorf("unsupported storage driver %q", config.Driver)
}
}