// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using GraphQL.DataLoader; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Squidex.Domain.Apps.Core; using Squidex.Domain.Apps.Entities.Contents.GraphQL; using Squidex.Domain.Apps.Entities.Contents.GraphQL.Types; using Squidex.Web.Services; namespace Squidex.Config.Domain { public static class QueryServices { public static void AddSquidexQueries(this IServiceCollection services, IConfiguration config) { var exposeSourceUrl = config.GetOptionalValue("assetStore:exposeSourceUrl", true); services.Configure(config, "graphql"); services.AddSingletonAs(c => ActivatorUtilities.CreateInstance(c, exposeSourceUrl)) .As(); services.AddSingletonAs() .As(); services.AddTransientAs() .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .As(); } } }