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; } } }