// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschränkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Squidex.Areas.Api.Config.Swagger; using Squidex.Areas.Api.Controllers.Contents; using Squidex.Areas.IdentityServer.Config; using Squidex.Config; using Squidex.Config.Authentication; using Squidex.Config.Domain; using Squidex.Config.Web; using Squidex.Domain.Apps.Entities.Assets; using Squidex.Domain.Apps.Entities.Contents; using Squidex.Extensions.Actions.Twitter; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Diagnostics; namespace Squidex { public static class AppServices { public static void AddAppServices(this IServiceCollection services, IConfiguration config) { services.AddHttpClient(); services.AddLogging(); services.AddMemoryCache(); services.AddOptions(); services.AddMyAssetServices(config); services.AddMyAuthentication(config); services.AddMyEntitiesServices(config); services.AddMyEventPublishersServices(config); services.AddMyEventStoreServices(config); services.AddMyIdentityServer(); services.AddMyInfrastructureServices(); services.AddMyLoggingServices(config); services.AddMyMigrationServices(); services.AddMyMvc(); services.AddMyRuleServices(); services.AddMySerializers(); services.AddMyStoreServices(config); services.AddMySwaggerSettings(); services.AddMySubscriptionServices(config); services.Configure( config.GetSection("contents")); services.Configure( config.GetSection("assets")); services.Configure( config.GetSection("mode")); services.Configure( config.GetSection("twitter")); services.Configure( config.GetSection("healthz:gc")); services.Configure( config.GetSection("contentsController")); services.Configure( config.GetSection("urls")); services.Configure( config.GetSection("identity")); services.Configure( config.GetSection("ui")); services.Configure( config.GetSection("usage")); } } }