Files
mixtape/zero.Core/Pages/ServiceCollectionExtensions.cs
T

29 lines
1.1 KiB
C#
Raw Normal View History

2021-11-26 12:31:33 +01:00
using Microsoft.Extensions.Configuration;
2021-11-24 15:49:25 +01:00
using Microsoft.Extensions.DependencyInjection;
2021-11-23 22:56:22 +01:00
namespace zero.Pages;
internal static class ServiceCollectionExtensions
{
2021-11-24 15:49:25 +01:00
public static IServiceCollection AddZeroPages(this IServiceCollection services, IConfiguration config)
2021-11-23 22:56:22 +01:00
{
2021-11-24 13:56:08 +01:00
services.AddScoped<IPagesStore, PagesStore>();
services.AddScoped<IPageTypeService, PageTypeService>();
2021-11-26 12:31:33 +01:00
services.AddScoped<IPageModuleTypeService, PageModuleTypeService>();
2021-11-24 13:56:08 +01:00
2021-11-24 15:49:25 +01:00
services.AddOptions<PageOptions>().Bind(config.GetSection("Zero:Pages"));
services.AddOptions<PageModuleOptions>().Bind(config.GetSection("Zero:PageModules"));
2021-11-23 22:56:22 +01:00
services.Configure<ZeroOptions>(opts =>
{
RavenOptions raven = opts.For<RavenOptions>();
raven.Indexes.Add<Pages_AsHistory>();
raven.Indexes.Add<Pages_ByHierarchy>();
raven.Indexes.Add<Pages_ByType>();
raven.Indexes.Add<Pages_WithChildren>();
2021-11-24 14:37:32 +01:00
opts.For<PageOptions>().Add<PageFolder>(Constants.Pages.FolderAlias, "@page.folder.name", "@page.folder.description", "fth-folder");
2021-11-23 22:56:22 +01:00
});
return services;
}
}