Files
mixtape/zero.Core/Stores/ZeroStoreModule.cs
T

22 lines
1.2 KiB
C#
Raw Normal View History

2021-12-28 11:33:41 +01:00
using Microsoft.Extensions.Configuration;
2021-11-30 14:32:10 +01:00
using Microsoft.Extensions.DependencyInjection;
namespace zero.Stores;
2022-01-06 18:10:58 +01:00
internal class ZeroStoreModule : ZeroModule
2021-11-30 14:32:10 +01:00
{
public override void ConfigureServices(IServiceCollection services, IConfiguration configuration)
{
services.AddScoped<IStoreContext, StoreContext>();
services.AddSingleton<IStoreCache, StoreCache>();
2021-12-01 15:54:11 +01:00
2021-12-28 11:33:41 +01:00
services.AddTransient<IStoreOperations, StoreOperations>();
services.AddTransient<ISharedStoreOperations, StoreOperations>(x => new StoreOperations(x.GetRequiredService<IStoreContext>(), new() { Database = x.GetRequiredService<IZeroOptions>().For<RavenOptions>().Database }));
services.AddTransient<IStoreOperationsWithInactive, StoreOperations>(x => new StoreOperations(x.GetRequiredService<IStoreContext>(), new() { IncludeInactive = true }));
services.AddTransient<ISharedStoreOperationsWithInactive, StoreOperations>(x => new StoreOperations(x.GetRequiredService<IStoreContext>(), new() { Database = x.GetRequiredService<IZeroOptions>().For<RavenOptions>().Database, IncludeInactive = true }));
2021-12-01 15:54:11 +01:00
services.AddOptions<FlavorOptions>();
2021-12-22 16:36:18 +01:00
services.ConfigureOptions<ConfigureFlavorJsonOptions>();
2021-11-30 14:32:10 +01:00
}
}