// ========================================================================== // WriteModule.cs // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex Group // All rights reserved. // ========================================================================== using Autofac; using Microsoft.Extensions.Configuration; using Squidex.Core.Schemas; using Squidex.Infrastructure.CQRS.Commands; using Squidex.Infrastructure.CQRS.Events; using Squidex.Pipeline.CommandHandlers; using Squidex.Write; using Squidex.Write.Apps; using Squidex.Write.Contents; using Squidex.Write.Schemas; namespace Squidex.Config.Domain { public class WriteModule : Module { public IConfiguration Configuration { get; } public WriteModule(IConfiguration configuration) { Configuration = configuration; } protected override void Load(ContainerBuilder builder) { builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .AsSelf() .InstancePerDependency(); builder.RegisterType() .AsSelf() .InstancePerDependency(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.Register>(s => (id => new AppDomainObject(id, 0))) .AsSelf() .InstancePerDependency(); builder.Register>(s => (id => new ContentDomainObject(id, 0))) .AsSelf() .InstancePerDependency(); builder.Register>(s => (id => new SchemaDomainObject(id, 0, s.Resolve()))) .AsSelf() .InstancePerDependency(); } } }