42 lines
1.2 KiB
C#
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); |