From 2c53d91816e1de6d4bfefafed76116a198164408 Mon Sep 17 00:00:00 2001 From: Konstantin Savosteev Date: Mon, 27 Jan 2025 20:01:21 +0200 Subject: [PATCH] VCST-2376: update GraphQL.NET to v8 (#130) --- Directory.Build.props | 2 +- .../Models/Address.cs | 2 ++ .../CreateQuoteFromCartCommandHandler.cs | 6 ++--- .../Commands/QuoteCommand.cs | 2 +- .../UpdateQuoteDynamicPropertiesCommand.cs | 6 ++--- .../Schemas/InputQuoteAddressType.cs | 3 +-- .../Schemas/QuoteAddressType.cs | 8 +++---- .../Schemas/QuoteAttachmentType.cs | 8 ++----- .../Schemas/QuoteItemType.cs | 7 +++--- .../Schemas/QuoteShipmentMethodType.cs | 6 ++--- .../Schemas/QuoteTaxDetailType.cs | 6 ++--- .../Schemas/QuoteTierPriceType.cs | 8 +++---- .../Schemas/QuoteTotalsType.cs | 20 ++++++++-------- .../Schemas/QuoteType.cs | 24 +++++++++---------- ...oCommerce.QuoteModule.ExperienceApi.csproj | 7 +++--- src/VirtoCommerce.QuoteModule.Web/Module.cs | 20 +++++++--------- .../module.manifest | 10 ++++---- 17 files changed, 69 insertions(+), 76 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 2c547d05..10d08b2c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ - 3.825.0 + 3.900.0 $(VersionSuffix)-$(BuildNumber) diff --git a/src/VirtoCommerce.QuoteModule.Core/Models/Address.cs b/src/VirtoCommerce.QuoteModule.Core/Models/Address.cs index 9bd3d188..fb3de36e 100644 --- a/src/VirtoCommerce.QuoteModule.Core/Models/Address.cs +++ b/src/VirtoCommerce.QuoteModule.Core/Models/Address.cs @@ -5,6 +5,8 @@ namespace VirtoCommerce.QuoteModule.Core.Models [SwaggerSchemaId("QuoteAddress")] public class Address : CoreModule.Core.Common.Address { + public string Id { get => Key; set => Key = value; } + public TaxModule.Core.Model.Address ToTaxModel(TaxModule.Core.Model.Address target) { target.Key = Key; diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/CreateQuoteFromCartCommandHandler.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/CreateQuoteFromCartCommandHandler.cs index 0caf68bf..9c146ebf 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/CreateQuoteFromCartCommandHandler.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/CreateQuoteFromCartCommandHandler.cs @@ -7,11 +7,11 @@ using MediatR; using VirtoCommerce.CartModule.Core.Model; using VirtoCommerce.CartModule.Core.Services; -using VirtoCommerce.Xapi.Core.Helpers; using VirtoCommerce.Platform.Core.Common; using VirtoCommerce.QuoteModule.Core.Services; using VirtoCommerce.QuoteModule.ExperienceApi.Aggregates; using VirtoCommerce.QuoteModule.ExperienceApi.Validation; +using VirtoCommerce.Xapi.Core.Helpers; using VirtoCommerce.XCart.Core.Services; using VirtoCommerce.XCart.Core.Validators; @@ -86,9 +86,9 @@ protected virtual async Task ValidateCart(ShoppingCart cart) }); // combine all errors - if (cartAggregate.ValidationErrors.Any() || cartAggregate.ValidationWarnings.Any() || lineItemValidationErrors.Any()) + if (cartAggregate.GetValidationErrors().Any() || cartAggregate.ValidationWarnings.Any() || lineItemValidationErrors.Any()) { - var errors = cartAggregate.ValidationErrors + var errors = cartAggregate.GetValidationErrors() .Union(cartAggregate.ValidationWarnings) .Union(lineItemValidationErrors) .GroupBy(x => x.ErrorCode) diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/QuoteCommand.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/QuoteCommand.cs index 927369ed..ac025da2 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/QuoteCommand.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/QuoteCommand.cs @@ -1,6 +1,6 @@ using GraphQL.Types; -using VirtoCommerce.Xapi.Core.Infrastructure; using VirtoCommerce.QuoteModule.ExperienceApi.Aggregates; +using VirtoCommerce.Xapi.Core.Infrastructure; namespace VirtoCommerce.QuoteModule.ExperienceApi.Commands; diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/UpdateQuoteDynamicPropertiesCommand.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/UpdateQuoteDynamicPropertiesCommand.cs index 417dcee1..27f67714 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/UpdateQuoteDynamicPropertiesCommand.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Commands/UpdateQuoteDynamicPropertiesCommand.cs @@ -14,9 +14,7 @@ public class UpdateQuoteDynamicPropertiesCommandType : QuoteCommandType>>( - "dynamicProperties", - "Dynamic properties" - ); + Field>>("dynamicProperties") + .Description("Dynamic properties"); } } diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/InputQuoteAddressType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/InputQuoteAddressType.cs index c32b4756..38cb10b7 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/InputQuoteAddressType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/InputQuoteAddressType.cs @@ -8,8 +8,7 @@ public class InputQuoteAddressType : InputObjectGraphType
public InputQuoteAddressType() { Field(nameof(Address.AddressType)); - Field("id", resolve: context => context.Source.Key); - + Field(x => x.Id, nullable: true); Field(x => x.Key, nullable: true); Field(x => x.OuterId, nullable: true); Field(x => x.Name, nullable: true); diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteAddressType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteAddressType.cs index b7bc4e08..0833126b 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteAddressType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteAddressType.cs @@ -1,15 +1,15 @@ using GraphQL.Types; using VirtoCommerce.QuoteModule.Core.Models; +using VirtoCommerce.Xapi.Core.Schemas; namespace VirtoCommerce.QuoteModule.ExperienceApi.Schemas; -public class QuoteAddressType : ObjectGraphType
+public class QuoteAddressType : ExtendableGraphType
{ public QuoteAddressType() { - Field(nameof(Address.AddressType), resolve: context => (int)context.Source.AddressType); - Field("id", resolve: context => context.Source.Key, description: "ID"); - + Field(nameof(Address.AddressType)).Resolve(context => (int)context.Source.AddressType); + Field("id").Resolve(context => context.Source.Key).Description("ID"); Field(x => x.Key, nullable: true); Field(x => x.OuterId, nullable: true); Field(x => x.Name, nullable: true); diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteAttachmentType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteAttachmentType.cs index b48e83ad..724fd544 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteAttachmentType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteAttachmentType.cs @@ -1,6 +1,6 @@ using GraphQL.Types; -using VirtoCommerce.Xapi.Core.Schemas; using VirtoCommerce.QuoteModule.Core.Models; +using VirtoCommerce.Xapi.Core.Schemas; namespace VirtoCommerce.QuoteModule.ExperienceApi.Schemas; @@ -10,11 +10,7 @@ public QuoteAttachmentType() { Field(x => x.Name, nullable: false); Field(x => x.Url, nullable: false); - Field("ContentType", resolve: context => context.Source.MimeType); + Field("ContentType").Resolve(context => context.Source.MimeType); Field(x => x.Size, nullable: false); - - Field(nameof(QuoteAttachment.MimeType), - resolve: context => context.Source.MimeType, - deprecationReason: "Use ContentType"); } } diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteItemType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteItemType.cs index ff167632..2a2e2ba0 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteItemType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteItemType.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Threading.Tasks; +using GraphQL; using GraphQL.DataLoader; using GraphQL.Resolvers; using GraphQL.Types; @@ -30,8 +31,8 @@ public QuoteItemType(IMediator mediator, IDataLoaderContextAccessor dataLoader) Field(x => x.Model.TaxType, nullable: true); Field(x => x.Model.Quantity, nullable: false); - Field>(nameof(QuoteItem.ListPrice), resolve: context => context.Source.Model.ListPrice.ToMoney(context.Source.Quote.Currency)); - Field>(nameof(QuoteItem.SalePrice), resolve: context => context.Source.Model.SalePrice.ToMoney(context.Source.Quote.Currency)); + Field>(nameof(QuoteItem.ListPrice)).Resolve(context => context.Source.Model.ListPrice.ToMoney(context.Source.Quote.Currency)); + Field>(nameof(QuoteItem.SalePrice)).Resolve(context => context.Source.Model.SalePrice.ToMoney(context.Source.Quote.Currency)); ExtendableField(nameof(QuoteItem.SelectedTierPrice), resolve: context => context.Source.SelectedTierPrice); ExtendableField>>>(nameof(QuoteItem.ProposalPrices), resolve: context => context.Source.ProposalPrices); @@ -39,7 +40,7 @@ public QuoteItemType(IMediator mediator, IDataLoaderContextAccessor dataLoader) var productField = new FieldType { Name = "product", - Type = GraphTypeExtenstionHelper.GetActualType(), + Type = GraphTypeExtensionHelper.GetActualType(), Resolver = new FuncFieldResolver>(context => { var loader = dataLoader.Context.GetOrAddBatchLoader("quote_lineItem_products", async ids => diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteShipmentMethodType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteShipmentMethodType.cs index fe50fd89..68f5e06f 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteShipmentMethodType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteShipmentMethodType.cs @@ -1,8 +1,8 @@ using GraphQL.Types; using VirtoCommerce.CoreModule.Core.Currency; -using VirtoCommerce.Xapi.Core.Schemas; using VirtoCommerce.QuoteModule.Core.Models; using VirtoCommerce.QuoteModule.ExperienceApi.Aggregates; +using VirtoCommerce.Xapi.Core.Schemas; namespace VirtoCommerce.QuoteModule.ExperienceApi.Schemas; @@ -14,7 +14,7 @@ public QuoteShipmentMethodType() Field(x => x.Model.OptionName, nullable: true); Field(x => x.Model.LogoUrl, nullable: true); Field(x => x.Model.TypeName, nullable: true); - Field>(nameof(ShipmentMethod.Currency), resolve: context => context.Source.Quote.Currency); - Field>(nameof(ShipmentMethod.Price), resolve: context => new Money(context.Source.Model.Price, context.Source.Quote.Currency)); + Field>(nameof(ShipmentMethod.Currency)).Resolve(context => context.Source.Quote.Currency); + Field>(nameof(ShipmentMethod.Price)).Resolve(context => new Money(context.Source.Model.Price, context.Source.Quote.Currency)); } } diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTaxDetailType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTaxDetailType.cs index 1f4a2060..bc85a01e 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTaxDetailType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTaxDetailType.cs @@ -1,8 +1,8 @@ using GraphQL.Types; using VirtoCommerce.CoreModule.Core.Currency; using VirtoCommerce.CoreModule.Core.Tax; -using VirtoCommerce.Xapi.Core.Schemas; using VirtoCommerce.QuoteModule.ExperienceApi.Aggregates; +using VirtoCommerce.Xapi.Core.Schemas; namespace VirtoCommerce.QuoteModule.ExperienceApi.Schemas; @@ -10,8 +10,8 @@ public class QuoteTaxDetailType : ExtendableGraphType { public QuoteTaxDetailType() { - Field>(nameof(TaxDetail.Rate), resolve: context => new Money(context.Source.Model.Rate, context.Source.Quote.Currency)); - Field>(nameof(TaxDetail.Amount), resolve: context => new Money(context.Source.Model.Amount, context.Source.Quote.Currency)); + Field>(nameof(TaxDetail.Rate)).Resolve(context => new Money(context.Source.Model.Rate, context.Source.Quote.Currency)); + Field>(nameof(TaxDetail.Amount)).Resolve(context => new Money(context.Source.Model.Amount, context.Source.Quote.Currency)); Field(x => x.Model.Name, nullable: true); } } diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTierPriceType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTierPriceType.cs index 91f4cb4c..7043ded1 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTierPriceType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTierPriceType.cs @@ -1,16 +1,16 @@ using GraphQL.Types; -using VirtoCommerce.Xapi.Core.Extensions; -using VirtoCommerce.Xapi.Core.Schemas; using VirtoCommerce.QuoteModule.Core.Models; using VirtoCommerce.QuoteModule.ExperienceApi.Aggregates; +using VirtoCommerce.Xapi.Core.Extensions; +using VirtoCommerce.Xapi.Core.Schemas; namespace VirtoCommerce.QuoteModule.ExperienceApi.Schemas; -public class QuoteTierPriceType : ObjectGraphType +public class QuoteTierPriceType : ExtendableGraphType { public QuoteTierPriceType() { Field(x => x.Model.Quantity, nullable: false); - Field>(nameof(TierPrice.Price), resolve: context => context.Source.Model.Price.ToMoney(context.Source.Quote.Currency)); + Field>(nameof(TierPrice.Price)).Resolve(context => context.Source.Model.Price.ToMoney(context.Source.Quote.Currency)); } } diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTotalsType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTotalsType.cs index 1f0733ad..0dcf2d02 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTotalsType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteTotalsType.cs @@ -1,22 +1,22 @@ using GraphQL.Types; using VirtoCommerce.CoreModule.Core.Currency; -using VirtoCommerce.Xapi.Core.Schemas; using VirtoCommerce.QuoteModule.Core.Models; using VirtoCommerce.QuoteModule.ExperienceApi.Aggregates; +using VirtoCommerce.Xapi.Core.Schemas; namespace VirtoCommerce.QuoteModule.ExperienceApi.Schemas; -public class QuoteTotalsType : ObjectGraphType +public class QuoteTotalsType : ExtendableGraphType { public QuoteTotalsType() { - Field>(nameof(QuoteRequestTotals.OriginalSubTotalExlTax), resolve: context => new Money(context.Source.Model.OriginalSubTotalExlTax, context.Source.Quote.Currency)); - Field>(nameof(QuoteRequestTotals.SubTotalExlTax), resolve: context => new Money(context.Source.Model.SubTotalExlTax, context.Source.Quote.Currency)); - Field>(nameof(QuoteRequestTotals.ShippingTotal), resolve: context => new Money(context.Source.Model.ShippingTotal, context.Source.Quote.Currency)); - Field>(nameof(QuoteRequestTotals.DiscountTotal), resolve: context => new Money(context.Source.Model.DiscountTotal, context.Source.Quote.Currency)); - Field>(nameof(QuoteRequestTotals.TaxTotal), resolve: context => new Money(context.Source.Model.TaxTotal, context.Source.Quote.Currency)); - Field>(nameof(QuoteRequestTotals.AdjustmentQuoteExlTax), resolve: context => new Money(context.Source.Model.AdjustmentQuoteExlTax, context.Source.Quote.Currency)); - Field>(nameof(QuoteRequestTotals.GrandTotalExlTax), resolve: context => new Money(context.Source.Model.GrandTotalExlTax, context.Source.Quote.Currency)); - Field>(nameof(QuoteRequestTotals.GrandTotalInclTax), resolve: context => new Money(context.Source.Model.GrandTotalInclTax, context.Source.Quote.Currency)); + Field>(nameof(QuoteRequestTotals.OriginalSubTotalExlTax)).Resolve(context => new Money(context.Source.Model.OriginalSubTotalExlTax, context.Source.Quote.Currency)); + Field>(nameof(QuoteRequestTotals.SubTotalExlTax)).Resolve(context => new Money(context.Source.Model.SubTotalExlTax, context.Source.Quote.Currency)); + Field>(nameof(QuoteRequestTotals.ShippingTotal)).Resolve(context => new Money(context.Source.Model.ShippingTotal, context.Source.Quote.Currency)); + Field>(nameof(QuoteRequestTotals.DiscountTotal)).Resolve(context => new Money(context.Source.Model.DiscountTotal, context.Source.Quote.Currency)); + Field>(nameof(QuoteRequestTotals.TaxTotal)).Resolve(context => new Money(context.Source.Model.TaxTotal, context.Source.Quote.Currency)); + Field>(nameof(QuoteRequestTotals.AdjustmentQuoteExlTax)).Resolve(context => new Money(context.Source.Model.AdjustmentQuoteExlTax, context.Source.Quote.Currency)); + Field>(nameof(QuoteRequestTotals.GrandTotalExlTax)).Resolve(context => new Money(context.Source.Model.GrandTotalExlTax, context.Source.Quote.Currency)); + Field>(nameof(QuoteRequestTotals.GrandTotalInclTax)).Resolve(context => new Money(context.Source.Model.GrandTotalInclTax, context.Source.Quote.Currency)); } } diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteType.cs b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteType.cs index be880e14..d5f0e3cc 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteType.cs +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/Schemas/QuoteType.cs @@ -1,10 +1,10 @@ using GraphQL.Types; +using VirtoCommerce.QuoteModule.Core.Models; +using VirtoCommerce.QuoteModule.ExperienceApi.Aggregates; using VirtoCommerce.Xapi.Core.Extensions; using VirtoCommerce.Xapi.Core.Helpers; using VirtoCommerce.Xapi.Core.Schemas; using VirtoCommerce.Xapi.Core.Services; -using VirtoCommerce.QuoteModule.Core.Models; -using VirtoCommerce.QuoteModule.ExperienceApi.Aggregates; namespace VirtoCommerce.QuoteModule.ExperienceApi.Schemas; @@ -42,14 +42,14 @@ public QuoteType(IDynamicPropertyResolverService dynamicPropertyResolverService) Field(x => x.Model.StoreId, nullable: false); Field(x => x.Model.Tag, nullable: true); - Field>(nameof(QuoteRequest.Currency), - resolve: context => context.Source.Currency); - Field>(nameof(QuoteRequest.ManualRelDiscountAmount), - resolve: context => context.Source.Model.ManualRelDiscountAmount.ToMoney(context.Source.Currency)); - Field>(nameof(QuoteRequest.ManualShippingTotal), - resolve: context => context.Source.Model.ManualShippingTotal.ToMoney(context.Source.Currency)); - Field>(nameof(QuoteRequest.ManualSubTotal), - resolve: context => context.Source.Model.ManualSubTotal.ToMoney(context.Source.Currency)); + Field>(nameof(QuoteRequest.Currency)) + .Resolve(context => context.Source.Currency); + Field>(nameof(QuoteRequest.ManualRelDiscountAmount)) + .Resolve(context => context.Source.Model.ManualRelDiscountAmount.ToMoney(context.Source.Currency)); + Field>(nameof(QuoteRequest.ManualShippingTotal)) + .Resolve(context => context.Source.Model.ManualShippingTotal.ToMoney(context.Source.Currency)); + Field>(nameof(QuoteRequest.ManualSubTotal)) + .Resolve(context => context.Source.Model.ManualSubTotal.ToMoney(context.Source.Currency)); ExtendableField>(nameof(QuoteRequest.Totals), resolve: context => context.Source.Totals); @@ -62,10 +62,10 @@ public QuoteType(IDynamicPropertyResolverService dynamicPropertyResolverService) ExtendableField(nameof(QuoteRequest.ShipmentMethod), resolve: context => context.Source.ShipmentMethod); ExtendableField>>>(nameof(QuoteRequest.TaxDetails), resolve: context => context.Source.TaxDetails); - ExtendableField>>>( + ExtendableFieldAsync>>>( nameof(QuoteRequest.DynamicProperties), "Quote dynamic property values", QueryArgumentPresets.GetArgumentForDynamicProperties(), - context => dynamicPropertyResolverService.LoadDynamicPropertyValues(context.Source.Model, context.GetArgumentOrValue("cultureName"))); + async context => await dynamicPropertyResolverService.LoadDynamicPropertyValues(context.Source.Model, context.GetArgumentOrValue("cultureName"))); } } diff --git a/src/VirtoCommerce.QuoteModule.ExperienceApi/VirtoCommerce.QuoteModule.ExperienceApi.csproj b/src/VirtoCommerce.QuoteModule.ExperienceApi/VirtoCommerce.QuoteModule.ExperienceApi.csproj index 80760658..52734240 100644 --- a/src/VirtoCommerce.QuoteModule.ExperienceApi/VirtoCommerce.QuoteModule.ExperienceApi.csproj +++ b/src/VirtoCommerce.QuoteModule.ExperienceApi/VirtoCommerce.QuoteModule.ExperienceApi.csproj @@ -8,10 +8,11 @@ - + - - + + + diff --git a/src/VirtoCommerce.QuoteModule.Web/Module.cs b/src/VirtoCommerce.QuoteModule.Web/Module.cs index 78be1dd4..d69e21f0 100644 --- a/src/VirtoCommerce.QuoteModule.Web/Module.cs +++ b/src/VirtoCommerce.QuoteModule.Web/Module.cs @@ -1,14 +1,13 @@ using System; using System.IO; using System.Threading.Tasks; -using GraphQL.Server; -using MediatR; +using GraphQL; +using GraphQL.MicrosoftDI; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Builder; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Options; using VirtoCommerce.FileExperienceApi.Core.Authorization; using VirtoCommerce.Platform.Core.Common; using VirtoCommerce.Platform.Core.DynamicProperties; @@ -36,7 +35,6 @@ using VirtoCommerce.StoreModule.Core.Model; using VirtoCommerce.Xapi.Core.Extensions; using VirtoCommerce.Xapi.Core.Infrastructure; -using VirtoCommerce.Xapi.Core.Models; namespace VirtoCommerce.QuoteModule.Web { @@ -81,12 +79,11 @@ public void Initialize(IServiceCollection serviceCollection) serviceCollection.AddTransient(); // GraphQL - var assemblyMarker = typeof(AssemblyMarker); - var graphQlBuilder = new CustomGraphQLBuilder(serviceCollection); - graphQlBuilder.AddGraphTypes(assemblyMarker); - serviceCollection.AddMediatR(assemblyMarker); - serviceCollection.AddAutoMapper(assemblyMarker); - serviceCollection.AddSchemaBuilders(assemblyMarker); + _ = new GraphQLBuilder(serviceCollection, builder => + { + builder.AddSchema(serviceCollection, typeof(AssemblyMarker)); + }); + serviceCollection.AddTransient(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); @@ -98,8 +95,7 @@ public void PostInitialize(IApplicationBuilder appBuilder) { _appBuilder = appBuilder; - var playgroundOptions = appBuilder.ApplicationServices.GetService>(); - appBuilder.UseSchemaGraphQL>(playgroundOptions?.Value?.Enable ?? true, "quote"); + appBuilder.UseScopedSchema("quote"); var dynamicPropertyRegistrar = appBuilder.ApplicationServices.GetRequiredService(); dynamicPropertyRegistrar.RegisterType(); diff --git a/src/VirtoCommerce.QuoteModule.Web/module.manifest b/src/VirtoCommerce.QuoteModule.Web/module.manifest index 3c5f3f9f..770a08cc 100644 --- a/src/VirtoCommerce.QuoteModule.Web/module.manifest +++ b/src/VirtoCommerce.QuoteModule.Web/module.manifest @@ -1,7 +1,7 @@ VirtoCommerce.Quote - 3.825.0 + 3.900.0 3.861.0 @@ -10,10 +10,10 @@ - - - - + + + +