// ========================================================================== // WriteModule.cs // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex Group // All rights reserved. // ========================================================================== using Autofac; using Microsoft.Extensions.Configuration; using Squidex.Domain.Apps.Core.Schemas; using Squidex.Domain.Apps.Core.Scripting; using Squidex.Domain.Apps.Write.Apps; using Squidex.Domain.Apps.Write.Assets; using Squidex.Domain.Apps.Write.Contents; using Squidex.Domain.Apps.Write.Rules; using Squidex.Domain.Apps.Write.Schemas; using Squidex.Domain.Users; using Squidex.Infrastructure.CQRS.Commands; using Squidex.Pipeline.CommandMiddlewares; namespace Squidex.Config.Domain { public class WriteModule : Module { private 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() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.RegisterType() .As() .SingleInstance(); builder.Register>(c => (id => new AppDomainObject(id, -1))) .AsSelf() .SingleInstance(); builder.Register>(c => (id => new AssetDomainObject(id, -1))) .AsSelf() .SingleInstance(); builder.Register>(c => (id => new ContentDomainObject(id, -1))) .AsSelf() .SingleInstance(); builder.Register>(c => (id => new RuleDomainObject(id, -1))) .AsSelf() .SingleInstance(); builder.Register>(c => { var fieldRegistry = c.Resolve(); return id => new SchemaDomainObject(id, -1, fieldRegistry); }) .AsSelf() .SingleInstance(); } } }