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