builder.Services.AddScoped<IImapService, ImapService>();
builder.Services.AddScoped<ISmtpService, SmtpService>();
builder.Services.AddScoped<ISentMessagesRepository, SentMessagesRepository>();
builder.Services.AddScoped<ISessionsRepository, SessionsRepository>();
builder.Services.AddScoped<IUsersRepository, UsersRepository>();
builder.Services.AddScoped<IClientMessagesService, ClientMessagesService>();
builder.Services.AddScoped<IModeratorsService, ModeratorsService>();
builder.Services.AddScoped<ISentMessagesService, SentMessagesService>();
builder.Services.AddScoped<ISystemAdminsService, SystemAdminsService>();
builder.Services
.AddIdentityCore<UserEntity>()
.AddRoles<IdentityRole<Guid>>()
.AddEntityFrameworkStores<MailBridgeSupportDbContext>();
builder.Services.AddAutoMapper(config =>
{
config.AddProfile<ApiMappingProfile>();
config.AddProfile<DataAccessMappingProfile>();
});
builder.Services.AddSwaggerGen(options =>
{
options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Name = "Authorization",
Type = SecuritySchemeType.ApiKey
});
options.OperationFilter<SecurityRequirementsOperationFilter>();
});
builder.Services.AddScoped<IImapService, ImapService>();
builder.Services.AddScoped<ISmtpService, SmtpService>();
builder.Services.AddScoped<ISentMessagesRepository, SentMessagesRepository>();
builder.Services.AddScoped<ISessionsRepository, SessionsRepository>();
builder.Services.AddScoped<IUsersRepository, UsersRepository>();
builder.Services.AddScoped<IClientMessagesService, ClientMessagesService>();
builder.Services.AddScoped<IModeratorsService, ModeratorsService>();
builder.Services.AddScoped<ISentMessagesService, SentMessagesService>();
builder.Services.AddScoped<ISystemAdminsService, SystemAdminsService>();
builder.Services
.AddIdentityCore<UserEntity>()
.AddRoles<IdentityRole<Guid>>()
.AddEntityFrameworkStores<MailBridgeSupportDbContext>();
builder.Services.AddAutoMapper(config =>
{
config.AddProfile<ApiMappingProfile>();
config.AddProfile<DataAccessMappingProfile>();
});
builder.Services.AddSwaggerGen(options =>
{
options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Name = "Authorization",
Type = SecuritySchemeType.ApiKey
});
options.OperationFilter<SecurityRequirementsOperationFilter>();
});