controllers/blobstore/chain/create_blobstore.go (25 lines of code) (raw):

package chain import ( "context" "sigs.k8s.io/controller-runtime/pkg/client" nexusApi "github.com/epam/edp-nexus-operator/api/v1alpha1" "github.com/epam/edp-nexus-operator/pkg/client/nexus" ) type CreateBlobStore struct { nexusS3BlobStoreApiClient nexus.S3BlobStore nexusFileBlobStoreApiClient nexus.FileBlobStore k8sClient client.Client } func NewCreateBlobStore( nexusS3BlobStoreApiClient nexus.S3BlobStore, nexusFileBlobStoreApiClient nexus.FileBlobStore, k8sClient client.Client, ) *CreateBlobStore { return &CreateBlobStore{nexusS3BlobStoreApiClient: nexusS3BlobStoreApiClient, nexusFileBlobStoreApiClient: nexusFileBlobStoreApiClient, k8sClient: k8sClient} } func (c *CreateBlobStore) ServeRequest(ctx context.Context, blobStore *nexusApi.NexusBlobStore) error { if blobStore.Spec.File != nil { return NewCreateFileBlobStore(c.nexusFileBlobStoreApiClient).ServeRequest(ctx, blobStore) } return NewCreateS3BlobStore(c.nexusS3BlobStoreApiClient, c.k8sClient).ServeRequest(ctx, blobStore) }