Documentation
¶
Index ¶
Constants ¶
View Source
const (
// FilesystemProvider indicates we'd like to use the filesystem adapter for blob.
FilesystemProvider = "filesystem"
)
View Source
const (
// GCPCloudStorageProvider indicates we'd like to use the GCP adapter for blob objectstorage.
GCPCloudStorageProvider = "gcp"
)
View Source
const (
// MemoryProvider indicates we'd like to use the memory adapter for blob.
MemoryProvider = "memory"
)
View Source
const (
// S3Provider indicates we'd like to use the s3 adapter for blob.
S3Provider = "s3"
)
Variables ¶
View Source
var ( // ErrNilConfig denotes that the provided configuration is nil. ErrNilConfig = platformerrors.New("nil config provided") )
View Source
var ( // Providers are what we provide to the dependency injection framework. Providers = wire.NewSet( NewUploadManager, ProvideUploadManager, ) )
Functions ¶
func ProvideUploadManager ¶
func ProvideUploadManager(u *Uploader) uploads.UploadManager
ProvideUploadManager transforms an *objectstorage.Uploader into an UploadManager.
func RegisterUploadManager ¶
RegisterUploadManager registers both *Uploader and uploads.UploadManager with the injector. Prerequisite: *Config must be registered (e.g. via uploadscfg.RegisterStorageConfig).
Types ¶
type Config ¶
type Config struct {
FilesystemConfig *FilesystemConfig `env:"init" envPrefix:"FILESYSTEM_" json:"filesystem,omitempty"`
S3Config *S3Config `env:"init" envPrefix:"S3_" json:"s3,omitempty"`
GCP *GCPConfig `env:"init" envPrefix:"GCP_" json:"gcpConfig,omitempty"`
BucketPrefix string `env:"BUCKET_PREFIX" json:"bucketPrefix,omitempty"`
BucketName string `env:"BUCKET_NAME" json:"bucketName,omitempty"`
UploadFilenameKey string `env:"UPLOAD_FILENAME_KEY" json:"uploadFilenameKey,omitempty"`
Provider string `env:"PROVIDER" json:"provider,omitempty"`
// contains filtered or unexported fields
}
Config configures our UploadManager.
type FilesystemConfig ¶
type FilesystemConfig struct {
RootDirectory string `env:"ROOT_DIRECTORY" json:"rootDirectory"`
// contains filtered or unexported fields
}
FilesystemConfig configures a filesystem-based objectstorage provider.
func (*FilesystemConfig) ValidateWithContext ¶
func (c *FilesystemConfig) ValidateWithContext(ctx context.Context) error
ValidateWithContext validates the FilesystemConfig.
type GCPConfig ¶
type GCPConfig struct {
BucketName string `env:"BUCKET_NAME" json:"bucketName"`
// contains filtered or unexported fields
}
GCPConfig configures an GCP-based objectstorage provider.
type MockUploader ¶
MockUploader is a mock uploads.UploadManager.
type S3Config ¶
type S3Config struct {
BucketName string `env:"BUCKET_NAME" json:"bucketName"`
// contains filtered or unexported fields
}
S3Config configures an S3-based objectstorage provider.
type Uploader ¶
type Uploader struct {
// contains filtered or unexported fields
}
Uploader implements our UploadManager struct.
func NewUploadManager ¶
func NewUploadManager(ctx context.Context, logger logging.Logger, tracerProvider tracing.TracerProvider, cfg *Config) (*Uploader, error)
NewUploadManager provides a new uploads.UploadManager.
Click to show internal directories.
Click to hide internal directories.