using Application; using GraphQLTEST.GraphQL; using GraphQLTEST.GraphQL.ErrorFilters; using GraphQLTEST.GraphQL.Mutations; using Infrastructure; using Infrastructure.Database; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; var builder = WebApplication.CreateBuilder(args); builder.Services.AddApplication(); builder.Services.AddInfrastructure(); builder .Services.AddGraphQLServer() .AddMutationType() .AddSubscriptionType() .AddInMemorySubscriptions() .AddTypes() .AddPagingArguments() .AddQueryContext() .AddSorting() .AddFiltering() .AddProjections() .AddErrorFilter() .AddErrorFilter() .AddMutationConventions( new MutationConventionOptions { InputArgumentName = "input", InputTypeNamePattern = "{MutationName}Input", PayloadTypeNamePattern = "{MutationName}Payload", PayloadErrorTypeNamePattern = "{MutationName}Error", PayloadErrorsFieldName = "errors", ApplyToAllMutations = true, }); var app = builder.Build(); app.MapGraphQL(); app.RunWithGraphQLCommands(args);