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