using Microsoft.Azure.Cosmos;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Text;
using TEAMModelOS.SDK.Module.AzureCosmosDB.Configuration;
using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
namespace TEAMModelOS.SDK.Module.AzureCosmosDBV3
{
public static class AzureCosmosDBServiceCollectionExtensions
{
///
///
///
///
///
private static AzureCosmosDBServiceBuilder AddCosmosDBServerBuilder(this IServiceCollection services)
{
return new AzureCosmosDBServiceBuilder(services);
}
///
///
///
///
///
public static AzureCosmosDBServiceBuilder AddAzureCosmosDBV3(this IServiceCollection services)
{
var builder = services.AddCosmosDBServerBuilder();
services.AddSingleton();
return builder;
}
///
///
///
///
///
///
public static AzureCosmosDBServiceBuilder AddCosmosDBV3Connection(this AzureCosmosDBServiceBuilder builder, AzureCosmosDBOptions databaseOptions)
{
builder.Services.AddSingleton(databaseOptions);
return builder;
}
///
/// CosmosJsonDotNetSerializer SystemTextJsonCosmosSerializer
///
///
///
///
public static AzureCosmosDBServiceBuilder AddCosmosSerializer(this AzureCosmosDBServiceBuilder builder, CosmosSerializer databaseOptions)
{
builder.Services.AddSingleton(databaseOptions);
return builder;
}
}
}