feat: Use JsonSerializationContext for all types, enable trimming (#14)

This commit is contained in:
Valters Melnalksnis
2022-08-29 22:12:09 +03:00
parent 5666917676
commit 455bebb7b4
30 changed files with 501 additions and 336 deletions
@@ -75,12 +75,32 @@ public static class ServiceCollectionExtensions
.AddSingleton<NordigenTokenCache>()
.AddSingleton<NordigenJsonSerializerOptions>()
.AddTransient<INordigenClient, NordigenClient>()
.AddTransient<IAccountClient, AccountClient>()
.AddTransient<IAgreementClient, AgreementClient>()
.AddTransient<IInstitutionClient, InstitutionClient>()
.AddTransient<IRequisitionClient, RequisitionClient>()
.AddTransient<IAccountClient, AccountClient>(provider =>
{
var httpClient = provider.GetRequiredService<IHttpClientFactory>().CreateClient(NordigenOptions.SectionName);
var options = provider.GetRequiredService<NordigenJsonSerializerOptions>();
return new(httpClient, options);
})
.AddTransient<IAgreementClient, AgreementClient>(provider =>
{
var httpClient = provider.GetRequiredService<IHttpClientFactory>().CreateClient(NordigenOptions.SectionName);
var options = provider.GetRequiredService<NordigenJsonSerializerOptions>();
return new(httpClient, options);
})
.AddTransient<IInstitutionClient, InstitutionClient>(provider =>
{
var httpClient = provider.GetRequiredService<IHttpClientFactory>().CreateClient(NordigenOptions.SectionName);
var options = provider.GetRequiredService<NordigenJsonSerializerOptions>();
return new(httpClient, options);
})
.AddTransient<IRequisitionClient, RequisitionClient>(provider =>
{
var httpClient = provider.GetRequiredService<IHttpClientFactory>().CreateClient(NordigenOptions.SectionName);
var options = provider.GetRequiredService<NordigenJsonSerializerOptions>();
return new(httpClient, options);
})
.AddTransient(provider => provider.GetRequiredService<IOptionsMonitor<NordigenOptions>>().CurrentValue)
.AddHttpClient<NordigenHttpClient>(ConfigureNordigenClient)
.AddHttpClient(NordigenOptions.SectionName, ConfigureNordigenClient)
.AddHttpMessageHandler<TokenDelegatingHandler>();
}