// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Squidex.Domain.Apps.Entities.Contents; using Squidex.Domain.Apps.Entities.Contents.Queries; using Squidex.Domain.Apps.Entities.Contents.Text; using Squidex.Domain.Apps.Entities.History; using Squidex.Infrastructure.EventSourcing; using Squidex.Infrastructure.Orleans; namespace Squidex.Config.Domain { public static class ContentsServices { public static void AddSquidexContents(this IServiceCollection services, IConfiguration config) { services.Configure( config.GetSection("contents")); services.AddSingletonAs(c => new Lazy(() => c.GetRequiredService())) .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .As(); services.AddSingletonAs() .AsOptional(); services.AddSingletonAs() .AsOptional(); services.AddSingletonAs() .As().As(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs>() .AsSelf(); } } }