using FluentValidation; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using zero.Core.Api; using zero.Core.Entities; using zero.Core.Messages; using zero.Core.Options; using zero.Core.Plugins; using zero.Core.Routing; using zero.Core.Validation; using zero.Web.Routing; using zero.Web.Sections; using zero.Web.ViewHelpers; namespace zero.Web.Defaults { internal class ZeroBackofficePlugin : ZeroPlugin { public ZeroBackofficePlugin() { Options.Name = "zero.Defaults"; Options.LocalizationPaths.Add("~/Resources/Localization/zero.{lang}.json"); } public override void Configure(IZeroOptions zero) { zero.Sections.Add(); zero.Sections.Add(); zero.Sections.Add(); zero.Sections.Add(); zero.Sections.Add(); zero.Settings.AddGroup(); //zero.Settings.AddGroup(); zero.Permissions.AddCollection(); zero.Permissions.AddCollection(); zero.Permissions.AddCollection(); zero.Permissions.AddCollection(); } public override void ConfigureServices(IServiceCollection services, IConfiguration configuration) { //services.AddAll(typeof(IValidator<>), ServiceLifetime.Scoped); //services.AddAll(typeof(IValidator), ServiceLifetime.Scoped); services.AddSingleton(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient, ApplicationValidator>(); services.AddTransient, CountryValidator>(); services.AddTransient, LanguageValidator>(); services.AddTransient, TranslationValidator>(); services.AddTransient, PageValidator>(); services.AddTransient, MediaValidator>(); services.AddTransient, MediaFolderValidator>(); services.AddTransient, UserRoleValidator>(); services.AddTransient, BackofficeUserValidator>(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddScoped(); services.AddScoped(); services.AddScoped(); //services.AddTransient(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); } } }