feat(infrastructure): add dependency injection configuration
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
using IncidentOps.Infrastructure.Auth;
|
||||
using IncidentOps.Infrastructure.Data;
|
||||
using IncidentOps.Infrastructure.Data.Repositories;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace IncidentOps.Infrastructure;
|
||||
|
||||
public static class ServiceCollectionExtensions
|
||||
{
|
||||
public static IServiceCollection AddInfrastructure(this IServiceCollection services, string connectionString, JwtSettings jwtSettings)
|
||||
{
|
||||
services.AddSingleton<IDbConnectionFactory>(new DbConnectionFactory(connectionString));
|
||||
services.AddSingleton(jwtSettings);
|
||||
|
||||
services.AddScoped<IUserRepository, UserRepository>();
|
||||
services.AddScoped<IOrgRepository, OrgRepository>();
|
||||
services.AddScoped<IOrgMemberRepository, OrgMemberRepository>();
|
||||
services.AddScoped<IServiceRepository, ServiceRepository>();
|
||||
services.AddScoped<IIncidentRepository, IncidentRepository>();
|
||||
services.AddScoped<IIncidentEventRepository, IncidentEventRepository>();
|
||||
services.AddScoped<IRefreshTokenRepository, RefreshTokenRepository>();
|
||||
services.AddScoped<INotificationTargetRepository, NotificationTargetRepository>();
|
||||
|
||||
services.AddSingleton<ITokenService, TokenService>();
|
||||
services.AddSingleton<IPasswordService, PasswordService>();
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user