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) } }