33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using Socialize.Infrastructure.BlobStorage.Contracts;
|
|
using Socialize.Infrastructure.BlobStorage.Services;
|
|
using Socialize.Infrastructure.Configuration;
|
|
using Socialize.Infrastructure.Emailer.Configuration;
|
|
using Socialize.Infrastructure.Emailer.Contracts;
|
|
using Socialize.Infrastructure.Emailer.Services;
|
|
using Socialize.Infrastructure.Payments.Stripe.Configuration;
|
|
|
|
namespace Socialize.Infrastructure;
|
|
|
|
public static class DependencyInjection
|
|
{
|
|
public static WebApplicationBuilder AddInfrastructureModule(
|
|
this WebApplicationBuilder builder)
|
|
{
|
|
builder.Services.Configure<WebsiteOptions>(
|
|
builder.Configuration.GetRequiredSection(WebsiteOptions.SectionName));
|
|
|
|
builder.Services.AddTransient<IBlobStorage, AzureBlobStorage>();
|
|
builder.Services.Configure<StripeOptions>(
|
|
builder.Configuration.GetSection(StripeOptions.ConfigurationSection));
|
|
|
|
builder.Services.Configure<EmailerOptions>(
|
|
builder.Configuration.GetSection(EmailerOptions.ConfigurationSection));
|
|
builder.Services.AddTransient<IEmailSender, ResendEmailSender>();
|
|
//builder.Services.AddTransient<IEmailSender, EmailSender>();
|
|
|
|
builder.Services.AddHttpClient();
|
|
|
|
return builder;
|
|
}
|
|
}
|