using Microsoft.Extensions.Configuration; using Umbraco.Configuration.Models; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.HealthChecks; using Umbraco.Core.Configuration.UmbracoSettings; using ConnectionStrings = Umbraco.Configuration.Models.ConnectionStrings; using CoreDebugSettings = Umbraco.Configuration.Models.CoreDebugSettings; namespace Umbraco.Configuration { public class AspNetCoreConfigsFactory : IConfigsFactory { private readonly IConfiguration _configuration; public AspNetCoreConfigsFactory(IConfiguration configuration) { _configuration = configuration ?? throw new System.ArgumentNullException(nameof(configuration)); } public Configs Create() { var configs = new Configs(); configs.Add(() => new TourSettings(_configuration)); configs.Add(() => new CoreDebugSettings(_configuration)); configs.Add(() => new RequestHandlerSettings(_configuration)); configs.Add(() => new SecuritySettings(_configuration)); configs.Add(() => new UserPasswordConfigurationSettings(_configuration)); configs.Add(() => new MemberPasswordConfigurationSettings(_configuration)); configs.Add(() => new KeepAliveSettings(_configuration)); configs.Add(() => new ContentSettings(_configuration)); configs.Add(() => new HealthChecksSettings(_configuration)); configs.Add(() => new LoggingSettings(_configuration)); configs.Add(() => new ExceptionFilterSettings(_configuration)); configs.Add(() => new ActiveDirectorySettings(_configuration)); configs.Add(() => new RuntimeSettings(_configuration)); configs.Add(() => new TypeFinderSettings(_configuration)); configs.Add(() => new NuCacheSettings(_configuration)); configs.Add(() => new WebRoutingSettings(_configuration)); configs.Add(() => new IndexCreatorSettings(_configuration)); configs.Add(() => new ModelsBuilderConfig(_configuration)); configs.Add(() => new HostingSettings(_configuration)); configs.Add(() => new GlobalSettings(_configuration)); configs.Add(() => new ConnectionStrings(_configuration)); configs.Add(() => new ImagingSettings(_configuration)); return configs; } } }