Files
graphql-test/Presentation/Program.cs
2025-11-26 16:50:06 -03:00

42 lines
1.2 KiB
C#

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<MutationType>()
.AddSubscriptionType<SubscriptionType>()
.AddInMemorySubscriptions()
.AddTypes()
.AddPagingArguments()
.AddQueryContext()
.AddSorting()
.AddFiltering()
.AddProjections()
.AddErrorFilter<LoggingErrorFilter>()
.AddErrorFilter<UserFriendlyErrorFilter>()
.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);