using TEAMModelOS.SDK.Module.AzureBlob.Implements;
using TEAMModelOS.SDK.Module.AzureBlob.Interfaces;
using Microsoft.Extensions.DependencyInjection;
namespace TEAMModelOS.SDK.Module.AzureBlob.Configuration
{
public static class AzureBlobServiceCollectionExtensions
{
public static AzureBlobServiceBuilder Builder { get; set; }
///
///
///
///
///
private static AzureBlobServiceBuilder AddServerBuilder(this IServiceCollection services)
{
return new AzureBlobServiceBuilder(services);
}
///
///
///
///
///
public static AzureBlobServiceBuilder AddAzureBlobStorage(this IServiceCollection services)
{
if (Builder == null)
{
Builder = services.AddServerBuilder();
}
services.AddSingleton();
return Builder;
}
///
///
///
///
///
///
public static AzureBlobServiceBuilder AddConnection(this AzureBlobServiceBuilder builder, AzureBlobOptions databaseOptions)
{
builder.Services.AddSingleton(databaseOptions);
return builder;
}
}
}