using DD.Persistence.Client.Clients;
using DD.Persistence.Client.Clients.Interfaces;
using DD.Persistence.Client.Clients.Mapping;
using DD.Persistence.Models;
using Microsoft.Extensions.DependencyInjection;
namespace DD.Persistence.Client;
///
///
///
public static class DependencyInjection
{
///
///
///
///
///
public static IServiceCollection AddPersistenceClients(this IServiceCollection services, Dictionary? setpointTypeConfigs = null)
{
services.AddTransient(typeof(IRefitClientFactory<>), typeof(RefitClientFactory<>));
services.AddTransient();
services.AddTransient();
services.AddTransient();
services.AddTransient();
services.AddTransient();
services.AddTransient();
return services;
}
public static IServiceCollection AddPersistenceMapping(this IServiceCollection services, Dictionary? mappingConfigs)
{
services.AddTransient(provider =>
{
var client = provider.GetRequiredService();
return new SetpointMappingClient(client, mappingConfigs);
});
services.AddTransient();
return services;
}
}