1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-04 01:22:50 -05:00

move repos and services reg out to core extensions

This commit is contained in:
Kyle Spearrin
2017-04-26 16:13:24 -04:00
parent f116977498
commit 3a5f667683
3 changed files with 65 additions and 24 deletions

View File

@ -0,0 +1,47 @@
using Bit.Core.Repositories;
using Bit.Core.Services;
using Microsoft.Extensions.DependencyInjection;
using SqlServerRepos = Bit.Core.Repositories.SqlServer;
namespace Bit.Core
{
public static class ServiceCollectionExtensions
{
public static void AddSqlServerRepositories(this IServiceCollection services)
{
services.AddSingleton<IUserRepository, SqlServerRepos.UserRepository>();
services.AddSingleton<ICipherRepository, SqlServerRepos.CipherRepository>();
services.AddSingleton<IDeviceRepository, SqlServerRepos.DeviceRepository>();
services.AddSingleton<IGrantRepository, SqlServerRepos.GrantRepository>();
services.AddSingleton<IOrganizationRepository, SqlServerRepos.OrganizationRepository>();
services.AddSingleton<IOrganizationUserRepository, SqlServerRepos.OrganizationUserRepository>();
services.AddSingleton<ISubvaultRepository, SqlServerRepos.SubvaultRepository>();
services.AddSingleton<ISubvaultUserRepository, SqlServerRepos.SubvaultUserRepository>();
services.AddSingleton<IFolderRepository, SqlServerRepos.FolderRepository>();
services.AddSingleton<ISubvaultCipherRepository, SqlServerRepos.SubvaultCipherRepository>();
}
public static void AddBaseServices(this IServiceCollection services)
{
services.AddSingleton<ICipherService, CipherService>();
services.AddScoped<IUserService, UserService>();
services.AddScoped<IDeviceService, DeviceService>();
services.AddScoped<IOrganizationService, OrganizationService>();
services.AddScoped<ISubvaultService, SubvaultService>();
}
public static void AddDefaultServices(this IServiceCollection services)
{
services.AddSingleton<IMailService, SendGridMailService>();
services.AddScoped<IPushService, PushSharpPushService>();
services.AddScoped<IBlockIpService, AzureQueueBlockIpService>();
}
public static void AddNoopServices(this IServiceCollection services)
{
services.AddSingleton<IMailService, NoopMailService>();
services.AddScoped<IPushService, NoopPushService>();
services.AddScoped<IBlockIpService, NoopBlockIpService>();
}
}
}