// ========================================================================== // WriteServices.cs // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex Group // All rights reserved. // ========================================================================== using System; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Migrate_01; using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Core.Scripting; using Squidex.Domain.Apps.Entities.Apps; using Squidex.Domain.Apps.Entities.Assets; using Squidex.Domain.Apps.Entities.Contents; using Squidex.Domain.Apps.Entities.Rules; using Squidex.Domain.Apps.Entities.Schemas; using Squidex.Domain.Users; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Migrations; using Squidex.Pipeline.CommandMiddlewares; namespace Squidex.Config.Domain { public static class WriteServices { public static void AddMyWriteServices(this IServiceCollection services) { services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddTransientAs() .As(); services.AddTransientAs() .As(); services.AddTransientAs() .AsSelf(); services.AddTransientAs() .AsSelf(); services.AddTransientAs() .AsSelf(); services.AddTransientAs() .AsSelf(); services.AddTransientAs() .AsSelf(); services.AddSingleton(c => { var config = c.GetRequiredService>(); var result = new InitialPatterns(); foreach (var pattern in config.Value.RegexSuggestions) { if (!string.IsNullOrWhiteSpace(pattern.Key) && !string.IsNullOrWhiteSpace(pattern.Value)) { result[Guid.NewGuid()] = new AppPattern(pattern.Key, pattern.Value); } } return result; }); } } }