// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschränkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Squidex.Config.Domain; using Squidex.Domain.Apps.Entities; using Squidex.Pipeline.Plugins; using Squidex.Pipeline.Robots; using Squidex.Web; using Squidex.Web.Pipeline; namespace Squidex.Config.Web { public static class WebServices { public static void AddMyMvcWithPlugins(this IServiceCollection services, IConfiguration config) { services.AddSingletonAs(c => new ExposedValues(c.GetRequiredService>().Value, config, typeof(WebServices).Assembly)) .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .AsSelf(); services.AddSingletonAs() .As(); services.AddSingletonAs() .AsOptional(); services.Configure(options => { options.SuppressModelStateInvalidFilter = true; }); services.AddMvc(options => { options.Filters.Add(); options.Filters.Add(); options.Filters.Add(); options.Filters.Add(); }) .AddMyPlugins(config) .AddMySerializers(); services.AddCors(); services.AddRouting(); } } }