using TEAMModelOS.SDK.Module.LiteDB.Implements;
using TEAMModelOS.SDK.Module.LiteDB.Interfaces;
using Microsoft.Extensions.DependencyInjection;
namespace TEAMModelOS.SDK.Module.LiteDB.Configuration
{
///
///
///
public static class LiteDBServiceCollectionExtensions
{
public static LiteDBServiceBuilder Builder { get; set; }
///
///
///
///
///
private static LiteDBServiceBuilder AddServerBuilder(this IServiceCollection services)
{
return new LiteDBServiceBuilder(services);
}
///
///
///
///
///
public static LiteDBServiceBuilder AddLiteDB(this IServiceCollection services)
{
if (Builder == null)
{
Builder = services.AddServerBuilder();
}
services.AddSingleton();
return Builder;
}
///
///
///
///
///
///
public static LiteDBServiceBuilder AddConnection(this LiteDBServiceBuilder builder, LiteDBOptions options)
{
builder.Services.AddSingleton(options);
return builder;
}
}
}