using Socialize.Api.Infrastructure.BlobStorage.Contracts; using Socialize.Api.Infrastructure.BlobStorage.Services; using Socialize.Api.Infrastructure.BlobStorage.Configuration; using Socialize.Api.Infrastructure.Configuration; using Socialize.Api.Infrastructure.Emailer.Configuration; using Socialize.Api.Infrastructure.Emailer.Contracts; using Socialize.Api.Infrastructure.Emailer.Services; using Socialize.Api.Infrastructure.Payments.Stripe.Configuration; namespace Socialize.Api.Infrastructure; public static class DependencyInjection { public static WebApplicationBuilder AddInfrastructureModule( this WebApplicationBuilder builder) { builder.Services.Configure( builder.Configuration.GetRequiredSection(WebsiteOptions.SectionName)); builder.Services.Configure( builder.Configuration.GetSection(LocalBlobStorageOptions.SectionName)); builder.Services.AddTransient(); builder.Services.AddTransient(services => services.GetRequiredService()); builder.Services.Configure( builder.Configuration.GetSection(StripeOptions.ConfigurationSection)); builder.Services.Configure( builder.Configuration.GetSection(EmailerOptions.ConfigurationSection)); builder.Services.AddTransient(); //builder.Services.AddTransient(); builder.Services.AddHttpClient(); return builder; } }