diff --git a/ShopifySharp.Tests/ShopifySharp.Tests.csproj b/ShopifySharp.Tests/ShopifySharp.Tests.csproj index 32751bca..eed125e8 100644 --- a/ShopifySharp.Tests/ShopifySharp.Tests.csproj +++ b/ShopifySharp.Tests/ShopifySharp.Tests.csproj @@ -27,7 +27,7 @@ - 1.5.1 + 1.5.2 diff --git a/ShopifySharp/Entities/GraphQL/GraphQLSchema.generated.cs b/ShopifySharp/Entities/GraphQL/GraphQLSchema.generated.cs index f31c0440..5c3521f3 100644 --- a/ShopifySharp/Entities/GraphQL/GraphQLSchema.generated.cs +++ b/ShopifySharp/Entities/GraphQL/GraphQLSchema.generated.cs @@ -2,6 +2,7 @@ #nullable enable using System; using System.Collections.Generic; +using System.Linq; using System.Text.Json; using System.Text.Json.Serialization; @@ -49,12 +50,17 @@ public static class GraphQLObjectExtensions public static string ToJson(this IGraphQLObject o) => Serializer.Serialize(o); } - public interface IConnectionWithEdges - where TEdge : IEdge + public interface IConnectionWithEdges : IConnectionWithEdges where TEdge : IEdge + { + IEnumerable>? IConnectionWithEdges.edges => this.edges?.Cast>(); + new IEnumerable? edges { get; } + } + + public interface IConnectionWithEdges { PageInfo? pageInfo { get; } - IEnumerable? edges { get; } + IEnumerable>? edges { get; } } public interface IConnectionWithNodes @@ -16746,7 +16752,7 @@ public class Fulfillment : GraphQLObject, ILegacyInteroperability, /// public Order? order { get; set; } /// - ///The address at which the fulfillment occurred. Typically this is the address of the warehouse or fulfillment center. + ///The address at which the fulfillment occurred. This field is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the `assignedLocation` field on the [`FulfillmentOrder`](/docs/api/admin-graphql/latest/objects/FulfillmentOrder) object instead. /// public FulfillmentOriginAddress? originAddress { get; set; } /// @@ -18719,7 +18725,7 @@ public enum FulfillmentOrdersSetFulfillmentDeadlineUserErrorCode } /// - ///The address at which the fulfillment occurred. Typically this is the address of the warehouse or fulfillment center. + ///The address at which the fulfillment occurred. This object is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the `assignedLocation` field on the [`FulfillmentOrder`](/docs/api/admin-graphql/latest/objects/FulfillmentOrder) object instead. /// public class FulfillmentOriginAddress : GraphQLObject { @@ -20357,7 +20363,7 @@ public class InventoryLevel : GraphQLObject, INode /// ///The quantity of inventory items that are available at the inventory level's associated location. /// - [Obsolete("Use `quantities` instead.")] + [Obsolete("Use the `quantities` field instead and specify available for names. Example: `quantities(names:[\"available\"]){name quantity}`.")] public int? available { get; set; } /// ///Whether the inventory items associated with the inventory level can be deactivated. @@ -20385,7 +20391,7 @@ public class InventoryLevel : GraphQLObject, INode /// ///The quantity of inventory items that are going to the inventory level's associated location. /// - [Obsolete("Use `quantities` instead.")] + [Obsolete("Use the `quantities` field instead and specify incoming for names. Example: `quantities(names:[\"incoming\"]){name quantity}`.")] public int? incoming { get; set; } /// ///Inventory item associated with the inventory level. @@ -23852,8 +23858,7 @@ public class MarketingActivity : GraphQLObject, INode /// public string? id { get; set; } /// - ///Whether the marketing activity is in the main workflow version of - /// the marketing automation. + ///Whether the marketing activity is in the main workflow version of the marketing automation. /// public bool? inMainWorkflowVersion { get; set; } /// @@ -26464,9 +26469,11 @@ public class Metaobject : GraphQLObject, INode, IMetafieldReference, ///List of back references metafields that belong to the resource. /// public MetafieldRelationConnection? referencedBy { get; set; } + /// ///The staff member who created the metaobject. /// + [Obsolete("Use `createdByStaff` instead.")] public StaffMember? staffMember { get; set; } /// ///The type of the metaobject. @@ -28186,7 +28193,7 @@ public class Mutation : GraphQLObject /// public MetaobjectUpsertPayload? metaobjectUpsert { get; set; } /// - ///Captures payment for an authorized transaction on an order. An order can only be captured if it has a successful authorization transaction. Capturing an order will claim the money reserved by the authorization. + ///Captures payment for an authorized transaction on an order. An order can only be captured if it has a successful authorization transaction. Capturing an order will claim the money reserved by the authorization. orderCapture can be used to capture multiple times as long as the OrderTransaction is multicapturable. To capture a partial payment, the included `amount` value should be less than the total order amount. Multicapture is available only to stores on a Shopify Plus plan. /// public OrderCapturePayload? orderCapture { get; set; } /// @@ -28670,9 +28677,11 @@ public class Mutation : GraphQLObject ///Creates a new reverse delivery with associated external shipping information. /// public ReverseDeliveryCreateWithShippingPayload? reverseDeliveryCreateWithShipping { get; set; } + /// ///Disposes reverse delivery line items for a reverse delivery on the same shop. /// + [Obsolete("`reverseDeliveryDispose` will be removed in API version 2025-01. Use `reverseFulfillmentOrderDispose` instead.")] public ReverseDeliveryDisposePayload? reverseDeliveryDispose { get; set; } /// ///Updates a reverse delivery with associated external shipping information. @@ -28698,6 +28707,9 @@ public class Mutation : GraphQLObject ///

Theme app extensions

///

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

/// + ///

Script tag deprecation

+ ///

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ /// /// ///Creates a new script tag. ///
@@ -28706,6 +28718,9 @@ public class Mutation : GraphQLObject ///

Theme app extensions

///

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

/// + ///

Script tag deprecation

+ ///

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ /// /// ///Deletes a script tag. ///
@@ -28714,6 +28729,9 @@ public class Mutation : GraphQLObject ///

Theme app extensions

///

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

/// + ///

Script tag deprecation

+ ///

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ /// /// ///Updates a script tag. ///
@@ -29829,7 +29847,7 @@ public class Order : GraphQLObject, ICommentEventSubject, IHasEvents, IHa /// public MetafieldConnection? metafields { get; set; } /// - ///The unique identifier for the order that appears on the order page in the Shopify admin and the order status page. + ///The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page. ///For example, "#1001", "EN1001", or "1001-A". ///This value isn't unique across multiple stores. /// @@ -37774,7 +37792,7 @@ public class QueryRoot : GraphQLObject /// public AppInstallation? appInstallation { get; set; } /// - ///List of app installations. Requires contacting Shopify for access to the `read_apps` access scope. + ///A list of app installations. To use this query, you need to contact [Shopify Support](https://partners.shopify.com/current/support/) to grant your custom app the `read_apps` access scope. Public apps can't be granted this access scope. /// public AppInstallationConnection? appInstallations { get; set; } @@ -38379,6 +38397,9 @@ public class QueryRoot : GraphQLObject ///

Theme app extensions

///

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

/// + ///

Script tag deprecation

+ ///

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ /// /// ///Lookup a script tag resource by ID. /// @@ -38387,6 +38408,9 @@ public class QueryRoot : GraphQLObject ///

Theme app extensions

///

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

/// + ///

Script tag deprecation

+ ///

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ /// /// ///A list of script tags. /// @@ -40731,8 +40755,11 @@ public class ScriptDiscountApplication : GraphQLObject

Theme app extensions

///

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

/// + ///

Script tag deprecation

+ ///

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ /// /// - ///A script tag represents remote JavaScript code that is loaded into the pages of a shop's storefront or the order status page of checkout. + ///A script tag represents remote JavaScript code that is loaded into the pages of a shop's storefront or the **Order status** page of checkout. /// public class ScriptTag : GraphQLObject, ILegacyInteroperability, INode { @@ -40824,11 +40851,11 @@ public class ScriptTagDeletePayload : GraphQLObject public enum ScriptTagDisplayScope { /// - ///Include the script on both the web storefront and the order status page. + ///Include the script on both the web storefront and the Order status page. /// ALL, /// - ///Include the script only on the order status page. + ///Include the script only on the Order status page. /// ORDER_STATUS, ///