// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using Squidex.Areas.Api.Controllers.Rules.Models; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules.Extensions; using Squidex.Domain.Apps.Core.Scripting; using Squidex.Domain.Apps.Core.Subscriptions; using Squidex.Domain.Apps.Core.Templates; using Squidex.Domain.Apps.Entities.Assets; using Squidex.Domain.Apps.Entities.Comments; using Squidex.Domain.Apps.Entities.Contents; using Squidex.Domain.Apps.Entities.Rules; using Squidex.Domain.Apps.Entities.Rules.Queries; using Squidex.Domain.Apps.Entities.Rules.Runner; using Squidex.Domain.Apps.Entities.Rules.UsageTracking; using Squidex.Domain.Apps.Entities.Schemas; using Squidex.Infrastructure.EventSourcing; using Squidex.Infrastructure.Reflection; namespace Squidex.Config.Domain { public static class RuleServices { public static void AddSquidexRules(this IServiceCollection services, IConfiguration config) { services.Configure(config, "rules"); services.AddSingletonAs() .As(); services.AddSingletonAs() .As().As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As().As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As().As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As().As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As().As(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .As().AsSelf(); services.AddSingletonAs() .As().As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .AsSelf(); services.AddInitializer("Serializer (Rules)", registry => { RuleActionConverter.Mapping = registry.Actions.ToDictionary(x => x.Key, x => x.Value.Type); }, -1); } } }