Selaa lähdekoodia

Dependencies

- use referred schema
Alexey Kim 2 vuotta sitten
vanhempi
commit
e282b4e0a6
4 muutettua tiedostoa jossa 5 lisäystä ja 2970 poistoa
  1. 3 0
      .gitmodules
  2. 1 1
      graphql/gqlgen.yml
  3. 0 2969
      graphql/schema.graphql
  4. 1 0
      graphql/storefront-api

+ 3 - 0
.gitmodules

@@ -0,0 +1,3 @@
+[submodule "graphql/storefront-api"]
+	path = graphql/storefront-api
+	url = http://gitlab.izene.com/gshopify/storefront-api.git

+ 1 - 1
graphql/gqlgen.yml

@@ -3,7 +3,7 @@ federation:
   package: generated
   version: 2
 schema:
-  - schema.graphql
+  - storefront-api/subgraph/product.graphql
 exec:
   filename: generated/generated.go
 model:

+ 0 - 2969
graphql/schema.graphql

@@ -1,2969 +0,0 @@
-directive @goTag(
-    key: String!
-    value: String
-) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION
-
-directive @goField(
-    forceResolver: Boolean,
-    name: String
-) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION
-
-scalar DateTime
-scalar UnsignedInt64
-scalar HTML
-
-# A JSON object.
-scalar JSON
-
-# A signed decimal number, which supports arbitrary precision and is serialized as a string.
-scalar Decimal
-
-# Represents an RFC 3986 and
-# RFC 3987-compliant URI string.
-#
-# For example, 'https://johns-apparel.myshopify.com' is a valid URL. It includes a scheme (https) and a host
-# (johns-apparel.myshopify.com).
-scalar URL
-
-union MetafieldParentResource = Collection | Product | ProductVariant
-
-union MetafieldReference = Collection | Product | ProductVariant
-
-union SellingPlanCheckoutChargeValue = MoneyV2 | SellingPlanCheckoutChargePercentageValue
-
-# Represents by how much the price of a variant associated with a selling plan is adjusted. Each variant can have up to two price adjustments.
-union SellingPlanPriceAdjustmentValue = SellingPlanFixedAmountPriceAdjustment | SellingPlanFixedPriceAdjustment | SellingPlanPercentagePriceAdjustment
-
-type Query {
-    collection(handle: String id: ID): Collection
-
-    collections(
-        after: String,
-        before: String,
-        first: Int,
-        last: Int,
-        query: String,
-        reverse: Boolean = false,
-        sortKey: CollectionSortKeys = ID
-    ): CollectionConnection!
-
-    product(handle: String id: ID): Product
-
-    products(
-        after: String
-        before: String
-        first: Int
-        last: Int
-        query: String
-        reverse: Boolean = false
-        sortKey: ProductSortKeys = ID
-    ): ProductConnection!
-
-    # Tags added to products.
-    # Additional access scope required: unauthenticated_read_product_tags.
-    productTags(first: Int!): StringConnection!
-
-    # List of product types for the shop's products that are published to your app.
-    productTypes(first: Int!): StringConnection!
-
-    # Find recommended products related to a given `product_id`.
-    productRecommendations(productId: ID!): [Product!]
-}
-
-type StringConnection {
-    # A list of edges.
-    edges: [StringEdge!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-type StringEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of StringEdge.
-    node: String!
-}
-
-# An auto-generated type for paginating through multiple Collections.
-type CollectionConnection {
-    # A list of edges.
-    edges: [CollectionEdge!]!
-
-    # A list of the nodes contained in CollectionEdge.
-    nodes: [Collection!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-type CollectionEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of CollectionEdge.
-    node: Collection!
-}
-
-# A collection represents a grouping of products that a shop owner can create to organize them or make their shops easier to browse.
-type Collection implements HasMetafields&Node&OnlineStorePublishable {
-    # Stripped description of the collection, single line with HTML tags removed.
-    description(truncateAt: Int): String! @goField(forceResolver: true)
-
-    # The description of the collection, complete with HTML formatting.
-    descriptionHtml: HTML!
-
-    # A human-friendly unique string for the collection automatically generated from its title. Limit of 255 characters.
-    handle: String!
-
-    # A globally-unique identifier.
-    id: ID!
-
-    # Image associated with the collection.
-    image: Image
-
-    # Returns a metafield found by namespace and key.
-    metafield(key: String! namespace: String!): Metafield
-
-    # The metafields associated with the resource matching the supplied list of namespaces and keys.
-    metafields(identifiers: [HasMetafieldsIdentifier!]!): [Metafield]!
-
-    # The URL used for viewing the resource on the shop's Online Store. Returns null if the resource is currently not published to the Online Store sales channel.
-    onlineStoreUrl: URL
-
-    # List of products in the collection.
-    products(
-        after: String
-        before: String
-        filters: [ProductFilter!]
-        first: Int
-        last: Int
-        reverse: Boolean = false
-        sortKey: ProductCollectionSortKeys = COLLECTION_DEFAULT
-    ): ProductConnection! @goField(forceResolver: true)
-
-    # The collection's SEO information.
-    seo: SEO!
-
-    # The collection’s name. Limit of 255 characters.
-    title: String!
-
-    # The date and time when the collection was last modified.
-    updatedAt: DateTime!
-}
-
-# An object with an ID field to support global identification, in accordance with the
-# Relay specification.
-# This interface is used by the node
-# and nodes queries.
-interface Node {
-    # A globally-unique identifier.
-    id: ID!
-}
-
-# Represents information about the metafields associated to the specified resource.
-interface HasMetafields {
-    # Returns a metafield found by namespace and key.
-    metafield(namespace: String!key: String!): Metafield
-
-    # The metafields associated with the resource matching the supplied list of namespaces and keys.
-    metafields(identifiers: [HasMetafieldsIdentifier!]!): [Metafield]!
-}
-
-# Represents a resource that can be published to the Online Store sales channel.
-interface OnlineStorePublishable {
-    # The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel.
-    onlineStoreUrl: URL
-}
-
-# Represents a media interface.
-interface Media {
-    # A word or phrase to share the nature or contents of a media.
-    alt: String
-
-    # The media content type.
-    mediaContentType: MediaContentType!
-
-    # The preview image for the media.
-    previewImage: Image
-}
-
-type ProductConnection {
-    # A list of edges.
-    edges: [ProductEdge!]!
-
-    # A list of available filters.
-    filters: [Filter!]!
-
-    # A list of the nodes contained in ProductEdge.
-    nodes: [Product!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-type ProductEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of ProductEdge.
-    node: Product!
-}
-
-# A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
-# For example, a digital download (such as a movie, music or ebook file) also qualifies as a product, as do services (such as equipment rental, work for hire, customization of another product or an extended warranty).
-type Product implements HasMetafields&Node&OnlineStorePublishable {
-    # Indicates if at least one product variant is available for sale.
-    availableForSale: Boolean!
-
-    # List of collections a product belongs to.
-    collections(
-        after: String
-        before: String
-        first: Int
-        last: Int
-        reverse: Boolean = false
-    ): CollectionConnection! @goField(forceResolver: true)
-
-    # The compare at price of the product across all variants.
-    compareAtPriceRange: ProductPriceRange!
-
-    # The date and time when the product was created.
-    createdAt: DateTime!
-
-    # Stripped description of the product, single line with HTML tags removed.
-    description(truncateAt: Int): String! @goField(forceResolver: true)
-
-    # The description of the product, complete with HTML formatting.
-    descriptionHtml: HTML!
-
-    # The featured image for the product. This field is functionally equivalent to images(first: 1).
-    featuredImage: Image
-
-    # A human-friendly unique string for the Product automatically generated from its title. They are used by the Liquid templating language to refer to objects.
-    handle: String!
-
-    # A globally-unique identifier.
-    id: ID!
-
-    # List of images associated with the product.
-    images(
-        after: String
-        before: String
-        first: Int
-        last: Int
-        reverse: Boolean = false
-        sortKey: ProductImageSortKeys = POSITION
-    ): ImageConnection!
-
-    # Whether the product is a gift card.
-    isGiftCard: Boolean!
-
-    # The media associated with the product.
-    media(
-        after: String
-        before: String
-        first: Int
-        last: Int
-        reverse: Boolean = false
-        sortKey: ProductMediaSortKeys = POSITION
-    ): MediaConnection!
-
-    # Returns a metafield found by namespace and key.
-    metafield(key: String!namespace: String!): Metafield
-
-    # The metafields associated with the resource matching the supplied list of namespaces and keys.
-    metafields(identifiers: [HasMetafieldsIdentifier!]!): [Metafield]!
-
-    # The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel.
-    onlineStoreUrl: URL
-
-    # List of product options.
-    options(first: Int): [ProductOption!]! @goField(forceResolver: true)
-
-    # The price range.
-    priceRange: ProductPriceRange!
-
-    # A categorization that a product can be tagged with, commonly used for filtering and searching.
-    productType: String!
-
-    # The date and time when the product was published to the channel.
-    publishedAt: DateTime!
-
-    # Whether the product can only be purchased with a selling plan.
-    requiresSellingPlan: Boolean!
-
-    # A list of a product's available selling plan groups. A selling plan group represents a selling method. For example, 'Subscribe and save' is a selling method where customers pay for goods or services per delivery. A selling plan group contains individual selling plans.
-    sellingPlanGroups(
-        first: Int
-        after: String
-        last: Int
-        before: String
-        reverse: Boolean = false
-    ): SellingPlanGroupConnection!
-
-    # The product's SEO information.
-    seo: SEO!
-
-    # A comma separated list of tags that have been added to the product. Additional access scope required for private apps: unauthenticated_read_product_tags.
-    tags: [String!]!
-
-    # The product’s title.
-    title: String!
-
-    # The total quantity of inventory in stock for this Product.
-    totalInventory: Int
-
-    # The date and time when the product was last modified.
-    # A product's `updatedAt` value can change for different reasons. For example, if an order
-    # is placed for a product that has inventory tracking set up, then the inventory adjustment
-    # is counted as an update.
-    updatedAt: DateTime!
-
-    # Find a product’s variant based on its selected options.
-    # This is useful for converting a user’s selection of product options into a single matching variant.
-    # If there is not a variant for the selected options, `null` will be returned.
-    variantBySelectedOptions(selectedOptions: [SelectedOptionInput!]!): ProductVariant @goField(forceResolver: true)
-
-    # List of the product’s variants.
-    variants(
-        first: Int
-        after: String
-        last: Int
-        before: String
-        reverse: Boolean = false
-        sortKey: ProductVariantSortKeys = POSITION
-    ): ProductVariantConnection! @goField(forceResolver: true)
-
-    # The product’s vendor name.
-    vendor: String!
-}
-
-# The price range of the product.
-type ProductPriceRange {
-    # The highest variant's price.
-    maxVariantPrice: MoneyV2!
-
-    # The lowest variant's price.
-    minVariantPrice: MoneyV2!
-}
-
-# Product property names like 'Size', 'Color', and 'Material' that the customers can select.
-# Variants are selected based on permutations of these options.
-# 255 characters limit each.
-type ProductOption implements Node {
-    # A globally-unique identifier.
-    id: ID!
-
-    # The product option’s name.
-    name: String!
-
-    # The corresponding value to the product option name.
-    values: [String!]!
-}
-
-# A monetary value with currency.
-type MoneyV2 {
-    # Decimal money amount.
-    amount: Decimal!
-
-    # Currency of the money.
-    currencyCode: CurrencyCode!
-}
-
-# A filter that is supported on the parent field.
-type Filter {
-    # A unique identifier.
-    id: String!
-
-    # A human-friendly string for this filter.
-    label: String!
-
-    # An enumeration that denotes the type of data this filter represents.
-    type: FilterType!
-}
-
-# SEO information.
-type SEO {
-    # The meta description.
-    description: String
-
-    # The SEO title.
-    title: String
-}
-
-# An auto-generated type for paginating through multiple Media.
-type MediaConnection {
-    # A list of edges.
-    edges: [MediaEdge!]!
-
-    # A list of the nodes contained in MediaEdge.
-    nodes: [Media!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-# An auto-generated type which holds one Media and a cursor during pagination.
-type MediaEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of MediaEdge.
-    node: Media!
-}
-
-# Represents an image resource.
-type Image {
-    # A word or phrase to share the nature or contents of an image.
-    altText: String
-
-    # The original height of the image in pixels. Returns `null` if the image is not hosted by Shopify.
-    height: Int
-
-    # A unique identifier for the image.
-    id: ID
-
-    # The location of the image as a URL.
-    # If no transform options are specified, then the original image will be preserved including any pre-applied transforms.
-    # All transformation options are considered 'best-effort'. Any transformation that the original image type doesn't support will be ignored.
-    # If you need multiple variations of the same image, then you can use GraphQL aliases.
-    url(transform: ImageTransformInput): URL!
-
-    # The original width of the image in pixels. Returns null if the image is not hosted by Shopify.
-    width: Int
-
-    # The location of the original image as a URL.
-    #
-    # If there are any existing transformations in the original source URL, they will remain and not be stripped. Use url instead.
-    originalSrc: URL! @deprecated
-
-    # The location of the image as a URL. Use url instead.
-    src: URL! @deprecated
-
-    # The location of the transformed image as a URL.
-    # All transformation arguments are considered 'best-effort'. If they can be applied to an image, they will be. Otherwise any transformations which an image type does not support will be ignored. Use `url(transform:)` instead
-    transformedSrc: URL! @deprecated
-}
-
-# An auto-generated type for paginating through multiple Images.
-type ImageConnection {
-    # A list of edges.
-    edges: [ImageEdge!]!
-
-    # A list of the nodes contained in ImageEdge.
-    nodes: [Image!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-# An auto-generated type which holds one Image and a cursor during pagination.
-type ImageEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of ImageEdge.
-    node: Image!
-}
-
-# An auto-generated type for paginating through multiple SellingPlanGroups.
-type SellingPlanGroupConnection {
-    # A list of edges.
-    edges: [SellingPlanGroupEdge!]!
-
-    # A list of the nodes contained in SellingPlanGroupEdge.
-    nodes: [SellingPlanGroup!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-# An auto-generated type which holds one SellingPlanGroup and a cursor during pagination.
-type SellingPlanGroupEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of SellingPlanGroupEdge.
-    node: SellingPlanGroup!
-}
-
-# Represents a selling method. For example, 'Subscribe and save' is a selling method where customers pay for goods or services per delivery. A selling plan group contains individual selling plans.
-type SellingPlanGroup {
-    # A display friendly name for the app that created the selling plan group.
-    appName: String
-
-    # The name of the selling plan group.
-    name: String!
-
-    # Represents the selling plan options available in the drop-down list in the storefront. For example, 'Delivery every week' or 'Delivery every 2 weeks' specifies the delivery frequency options for the product.
-    options: [SellingPlanGroupOption!]!
-
-    # A list of selling plans in a selling plan group. A selling plan is a representation of how products and variants can be sold and purchased. For example, an individual selling plan could be '6 weeks of prepaid granola, delivered weekly'.
-    sellingPlans(
-        first: Int
-        after: String
-        last: Int
-        before: String
-        reverse: Boolean = false
-    ): SellingPlanConnection!
-}
-
-# Represents an option on a selling plan group that's available in the drop-down list in the storefront.
-#
-# Individual selling plans contribute their options to the associated selling plan group. For example, a selling plan group might have an option called option1: Delivery every. One selling plan in that group could contribute option1: 2 weeks with the pricing for that option, and another selling plan could contribute option1: 4 weeks, with different pricing.
-type SellingPlanGroupOption {
-    # The name of the option. For example, 'Delivery every'.
-    name: String!
-
-    # The values for the options specified by the selling plans in the selling plan group. For example, '1 week', '2 weeks', '3 weeks'.
-    values: [String!]!
-}
-
-# An auto-generated type for paginating through multiple SellingPlans.
-type SellingPlanConnection {
-    # A list of edges.
-    edges: [SellingPlanEdge!]!
-
-    # A list of the nodes contained in SellingPlanEdge.
-    nodes: [SellingPlan!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-# An auto-generated type which holds one SellingPlan and a cursor during pagination.
-type SellingPlanEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of SellingPlanEdge.
-    node: SellingPlan!
-}
-
-# Represents how products and variants can be sold and purchased.
-type SellingPlan implements Node {
-    # The initial payment due for the purchase.
-    checkoutCharge: SellingPlanCheckoutCharge!
-
-    # The description of the selling plan.
-    description: String
-
-    # A globally-unique identifier.
-    id: ID!
-
-    # The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.
-    name: String!
-
-    # The selling plan options available in the drop-down list in the storefront. For example, 'Delivery every week' or 'Delivery every 2 weeks' specifies the delivery frequency options for the product. Individual selling plans contribute their options to the associated selling plan group. For example, a selling plan group might have an option called option1: Delivery every. One selling plan in that group could contribute option1: 2 weeks with the pricing for that option, and another selling plan could contribute option1: 4 weeks, with different pricing.
-    options: [SellingPlanOption!]!
-
-    # The price adjustments that a selling plan makes when a variant is purchased with a selling plan.
-    priceAdjustments: [SellingPlanPriceAdjustment!]!
-
-    # Whether purchasing the selling plan will result in multiple deliveries.
-    recurringDeliveries: Boolean!
-}
-
-# The initial payment due for the purchase.
-type SellingPlanCheckoutCharge {
-    # The charge type for the checkout charge.
-    type: SellingPlanCheckoutChargeType!
-
-    # The charge value for the checkout charge.
-    value: SellingPlanCheckoutChargeValue!
-}
-
-# The percentage value of the price used for checkout charge.
-type SellingPlanCheckoutChargePercentageValue {
-    # The percentage value of the price used for checkout charge.
-    percentage: Float!
-}
-
-# An option provided by a Selling Plan.
-type SellingPlanOption {
-    # The name of the option (ie 'Delivery every').
-    name: String
-
-    # The value of the option (ie 'Month').
-    value: String
-}
-
-# Represents by how much the price of a variant associated with a selling plan is adjusted. Each variant can have up to two price adjustments. If a variant has multiple price adjustments, then the first price adjustment applies when the variant is initially purchased. The second price adjustment applies after a certain number of orders (specified by the `orderCount` field) are made. If a selling plan doesn't have any price adjustments, then the unadjusted price of the variant is the effective price.
-type SellingPlanPriceAdjustment {
-    # The type of price adjustment. An adjustment value can have one of three types: percentage, amount off, or a new price.
-    adjustmentValue: SellingPlanPriceAdjustmentValue!
-
-    # The number of orders that the price adjustment applies to. If the price adjustment always applies, then this field is `null`.
-    orderCount: Int
-}
-
-# A fixed amount that's deducted from the original variant price. For example, $10.00 off.
-type SellingPlanFixedAmountPriceAdjustment {
-    # The money value of the price adjustment.
-    adjustmentAmount: MoneyV2!
-}
-
-# A fixed price adjustment for a variant that's purchased with a selling plan.
-type SellingPlanFixedPriceAdjustment {
-    # A new price of the variant when it's purchased with the selling plan.
-    price: MoneyV2!
-}
-
-# A percentage amount that's deducted from the original variant price. For example, 10% off.
-type SellingPlanPercentagePriceAdjustment {
-    # The percentage value of the price adjustment.
-    adjustmentPercentage: Int!
-}
-
-# A product variant represents a different version of a product, such as differing sizes or differing colors.
-type ProductVariant implements Node&HasMetafields {
-    # Indicates if the product variant is available for sale.
-    availableForSale: Boolean!
-
-    # The barcode (for example, ISBN, UPC, or GTIN) associated with the variant.
-    barcode: String
-
-    # The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPrice` is higher than `price`.
-    compareAtPrice: MoneyV2
-
-    # Whether a product is out of stock but still available for purchase (used for backorders).
-    currentlyNotInStock: Boolean!
-
-    # A globally-unique identifier.
-    id: ID!
-
-    # Image associated with the product variant. This field falls back to the product image if no image is available.
-    image: Image
-
-    # Returns a metafield found by namespace and key.
-    metafield(namespace: String!key: String!): Metafield
-
-    # The metafields associated with the resource matching the supplied list of namespaces and keys.
-    metafields(identifiers: [HasMetafieldsIdentifier!]!): [Metafield]!
-
-    # The product variant’s price.
-    price: MoneyV2!
-
-    # The product object that the product variant belongs to.
-    product: Product! @goField(forceResolver: true)
-
-    # The total sellable quantity of the variant for online sales channels.
-    quantityAvailable: Int
-
-    # Whether a customer needs to provide a shipping address when placing an order for the product variant.
-    requiresShipping: Boolean!
-
-    # List of product options applied to the variant.
-    selectedOptions: [SelectedOption!]! @goField(forceResolver: true)
-
-    # Represents an association between a variant and a selling plan. Selling plan allocations describe which selling plans are available for each variant, and what their impact is on pricing.
-    sellingPlanAllocations(
-        first: Int
-        after: String
-        last: Int
-        before: String
-        reverse: Boolean = false
-    ): SellingPlanAllocationConnection!
-
-    # The SKU (stock keeping unit) associated with the variant.
-    sku: String
-
-    # The in-store pickup availability of this variant by location.
-    storeAvailability(
-        first: Int
-        after: String
-        last: Int
-        before: String
-        reverse: Boolean = false
-    ): StoreAvailabilityConnection! @goField(forceResolver: true)
-
-    # The product variant’s title.
-    title: String! @goField(forceResolver: true)
-
-    # The unit price value for the variant based on the variant's measurement.
-    unitPrice: MoneyV2
-
-    # The unit price measurement for the variant.
-    unitPriceMeasurement: UnitPriceMeasurement
-
-    # The weight of the product variant in the unit system specified with `weight_unit`.
-    weight: Float
-
-    # Unit of measurement for weight.
-    weightUnit: WeightUnit!
-}
-
-# Properties used by customers to select a product variant.
-# Products can have multiple options, like different sizes or colors.
-type SelectedOption {
-    # The product option’s name.
-    name: String!
-
-    # The product option’s value.
-    value: String!
-}
-
-# An auto-generated type for paginating through multiple SellingPlanAllocations.
-type SellingPlanAllocationConnection {
-    # A list of edges.
-    edges: [SellingPlanAllocationEdge!]!
-
-    # A list of the nodes contained in SellingPlanAllocationEdge.
-    nodes: [SellingPlanAllocation!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-# An auto-generated type which holds one SellingPlanAllocation and a cursor during pagination.
-type SellingPlanAllocationEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of SellingPlanAllocationEdge.
-    node: SellingPlanAllocation!
-}
-
-# Represents an association between a variant and a selling plan. Selling plan allocations describe the options offered for each variant, and the price of the variant when purchased with a selling plan.
-type SellingPlanAllocation {
-    # The checkout charge amount due for the purchase.
-    checkoutChargeAmount: MoneyV2!
-
-    # A list of price adjustments, with a maximum of two. When there are two, the first price adjustment goes into effect at the time of purchase, while the second one starts after a certain number of orders. A price adjustment represents how a selling plan affects pricing when a variant is purchased with a selling plan. Prices display in the customer's currency if the shop is configured for it.
-    priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!
-
-    # The remaining balance charge amount due for the purchase.
-    remainingBalanceChargeAmount: MoneyV2!
-
-    # A representation of how products and variants can be sold and purchased. For example, an individual selling plan could be '6 weeks of prepaid granola, delivered weekly'.
-    sellingPlan: SellingPlan!
-}
-
-# The resulting prices for variants when they're purchased with a specific selling plan.
-type SellingPlanAllocationPriceAdjustment {
-    # The price of the variant when it's purchased without a selling plan for the same number of deliveries. For example, if a customer purchases 6 deliveries of $10.00 granola separately, then the price is 6 x $10.00 = $60.00.
-    compareAtPrice: MoneyV2!
-
-    # The effective price for a single delivery. For example, for a prepaid subscription plan that includes 6 deliveries at the price of $48.00, the per delivery price is $8.00.
-    perDeliveryPrice: MoneyV2!
-
-    # The price of the variant when it's purchased with a selling plan For example, for a prepaid subscription plan that includes 6 deliveries of $10.00 granola, where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.
-    price: MoneyV2!
-
-    # The resulting price per unit for the variant associated with the selling plan. If the variant isn't sold by quantity or measurement, then this field returns `null`.
-    unitPrice: MoneyV2
-}
-
-# An auto-generated type for paginating through multiple StoreAvailabilities.
-type StoreAvailabilityConnection {
-    # A list of edges.
-    edges: [StoreAvailabilityEdge!]!
-
-    # A list of the nodes contained in StoreAvailabilityEdge.
-    nodes: [StoreAvailability!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-# An auto-generated type which holds one StoreAvailability and a cursor during pagination.
-type StoreAvailabilityEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of StoreAvailabilityEdge.
-    node: StoreAvailability!
-}
-
-# The availability of a product variant at a particular location.
-# Local pick-up must be enabled in the store's shipping settings, otherwise this will return an empty result.
-type StoreAvailability {
-    # Whether the product variant is in-stock at this location.
-    available: Boolean!
-
-    # The location where this product variant is stocked at.
-    location: Location! @provides(fields: "id")
-
-    # Returns the estimated amount of time it takes for pickup to be ready (Example: Usually ready in 24 hours).
-    pickUpTime: String!
-}
-
-# Represents a location where product inventory is held.
-extend type Location implements Node {
-    # The address of the location.
-    address: LocationAddress! @external
-
-    # A globally-unique identifier.
-    id: ID! @external
-
-    # The name of the location.
-    name: String! @external
-}
-
-# Represents the address of a location.
-extend type LocationAddress {
-    # The first line of the address for the location.
-    address1: String
-
-    # The second line of the address for the location.
-    address2: String
-
-    # The city of the location.
-    city: String
-
-    # The country of the location.
-    country: String
-
-    # The country code of the location.
-    countryCode: String
-
-    # A formatted version of the address for the location.
-    formatted: [String!]!
-
-    # The latitude coordinates of the location.
-    latitude: Float
-
-    # The longitude coordinates of the location.
-    longitude: Float
-
-    # The phone number of the location.
-    phone: String
-
-    # The province of the location.
-    province: String
-
-    # The code for the province, state, or district of the address of the location.
-    provinceCode: String
-
-    # The ZIP code of the location.
-    zip: String
-}
-
-# The measurement used to calculate a unit price for a product variant (e.g. $9.99 / 100ml).
-type UnitPriceMeasurement {
-    # The type of unit of measurement for the unit price measurement.
-    measuredType: UnitPriceMeasurementMeasuredType
-
-    # The quantity unit for the unit price measurement.
-    quantityUnit: UnitPriceMeasurementMeasuredUnit
-
-    # The quantity value for the unit price measurement.
-    quantityValue: Float!
-
-    # The reference unit for the unit price measurement.
-    referenceUnit: UnitPriceMeasurementMeasuredUnit
-
-    # The reference value for the unit price measurement.
-    referenceValue: Int!
-}
-
-# The available options for transforming an image.
-# All transformation options are considered best effort. Any transformation that the original image type doesn't support will be ignored.
-input ImageTransformInput {
-    # The region of the image to remain after cropping.
-    # Must be used in conjunction with the maxWidth and/or maxHeight fields, where the maxWidth and maxHeight aren't equal.
-    # The crop argument should coincide with the smaller value. A smaller maxWidth indicates a LEFT or RIGHT crop, while
-    # a smaller maxHeight indicates a TOP or BOTTOM crop. For example, { maxWidth: 5, maxHeight: 10, crop: LEFT } will result
-    # in an image with a width of 5 and height of 10, where the right side of the image is removed.
-    crop: CropRegion
-
-    # Image width in pixels between 1 and 5760.
-    maxWidth: Int
-
-    # Image height in pixels between 1 and 5760.
-    maxHeight: Int
-
-    # Image size multiplier for high-resolution retina displays. Must be within 1..3.
-    scale: Int = 1
-
-    # Convert the source image into the preferred content type.
-    # Supported conversions: .svg to .png, any file type to .jpg, and any file type to .webp.
-    preferredContentType: ImageContentType
-}
-
-# Identifies a metafield on an owner resource by namespace and key.
-input HasMetafieldsIdentifier {
-    # A container for a set of metafields.
-    namespace: String!
-
-    # The identifier for the metafield.
-    key: String!
-}
-
-input ProductFilter {
-    # Filter on if the product is available for sale.
-    available: Boolean
-
-    # A variant option to filter on.
-    variantOption: VariantOptionFilter
-
-    # The product type to filter on.
-    productType: String
-
-    # The product vendor to filter on.
-    productVendor: String
-
-    # A range of prices to filter with-in.
-    price: PriceRangeFilter
-
-    # A product metafield to filter on.
-    productMetafield: MetafieldFilter
-
-    # A variant metafield to filter on.
-    variantMetafield: MetafieldFilter
-}
-
-enum ProductSortKeys {
-    # Sort by the `title` value.
-    TITLE
-
-    # Sort by the `product_type` value.
-    PRODUCT_TYPE
-
-    # Sort by the `vendor` value.
-    VENDOR
-
-    # Sort by the `updated_at` value.
-    UPDATED_AT
-
-    # Sort by the `created_at` value.
-    CREATED_AT
-
-    # Sort by the `best_selling` value.
-    BEST_SELLING
-
-    # Sort by the price value.
-    PRICE
-
-    # Sort by the id value.
-    ID
-
-    # Sort by relevance to the search terms when the query parameter is specified on the connection.
-    # Don't use this sort key when no search query is specified.
-    RELEVANCE
-}
-
-# A filter used to view a subset of products in a collection matching a specific price range.
-input PriceRangeFilter {
-    # The minimum price in the range. Defaults to zero.
-    min: Float = 0
-
-    # The maximum price in the range. Empty indicates no max price.
-    max: Float
-}
-
-input VariantOptionFilter {
-    # The name of the variant option to filter on.
-    name: String!
-
-    # The value of the variant option to filter on.
-    value: String!
-}
-
-# Specifies the input fields required for a selected option.
-input SelectedOptionInput {
-    # The product option’s name.
-    name: String!
-
-    # The product option’s value.
-    value: String!
-}
-
-# Metafields represent custom metadata attached to a resource.
-# Metafields can be sorted into namespaces and are comprised of keys, values, and value types.
-type Metafield implements Node {
-    # The date and time when the storefront metafield was created.
-    createdAt: DateTime!
-
-    # The description of a metafield.
-    description: String
-
-    # A globally-unique identifier.
-    id: ID!
-
-    # The key name for a metafield.
-    key: String!
-
-    # The namespace for a metafield.
-    namespace: String!
-
-    # The parent object that the metafield belongs to.
-    parentResource: MetafieldParentResource!
-
-    # Returns a reference object if the metafield definition's type is a resource reference.
-    reference: MetafieldReference
-
-    # A list of reference objects if the metafield's type is a resource reference list.
-    references(
-        first: Int
-        after: String
-        last: Int
-        before: String
-    ): MetafieldReferenceConnection
-
-    # The type name of the metafield. See the list of supported types.
-    type: String!
-
-    # The date and time when the storefront metafield was updated.
-    updatedAt: DateTime!
-
-    # The value of a metafield.
-    value: String!
-}
-
-# An auto-generated type for paginating through multiple MetafieldReferences.
-type MetafieldReferenceConnection {
-    # A list of edges.
-    edges: [MetafieldReferenceEdge!]!
-
-    # A list of the nodes contained in MetafieldReferenceEdge.
-    nodes: [MetafieldReference!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-# Returns information about pagination in a connection, in accordance with the Relay specification.
-type PageInfo {
-    # The cursor corresponding to the last node in edges.
-    endCursor: String
-
-    # Whether there are more pages to fetch following the current page.
-    hasNextPage: Boolean!
-
-    # Whether there are any pages prior to the current page.
-    hasPreviousPage: Boolean!
-
-    # The cursor corresponding to the first node in edges.
-    startCursor: String
-}
-
-type MetafieldReferenceEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of MetafieldReferenceEdge.
-    node: MetafieldReference!
-}
-
-# A filter used to view a subset of products in a collection matching a specific metafield value.
-#
-# Only the following metafield types are currently supported:
-#
-# number_integer
-# number_decimal
-# single_line_text_field
-# boolean as of 2022-04.
-input MetafieldFilter {
-    # The namespace of the metafield to filter on.
-    namespace: String!
-
-    # The key of the metafield to filter on.
-    key: String!
-
-    # The value of the metafield.
-    value: String!
-}
-
-enum CollectionSortKeys {
-    # Sort by the `id` value.
-    ID,
-
-    # Sort by relevance to the search terms when the `query` parameter is specified on the connection. Don't use this sort key when no search query is specified.
-    RELEVANCE,
-
-    # Sort by the `title` value.
-    TITLE,
-
-    # Sort by the `updated_at` value.
-    UPDATED_AT
-}
-
-enum CollectionSortOrder {
-    # Alphabetically, in ascending order (A - Z).
-    ALPHA_ASC,
-
-    # Alphabetically, in descending order (Z - A).
-    ALPHA_DESC,
-
-    # By best-selling products.
-    BEST_SELLING,
-
-    # By date created, in ascending order (oldest - newest).
-    CREATED,
-
-    # By date created, in descending order (newest - oldest).
-    CREATED_DESC,
-
-    # In the order set manually by the merchant.
-    MANUAL,
-
-    # By price, in ascending order (lowest - highest).
-    PRICE_ASC,
-
-    # By price, in descending order (highest - lowest).
-    PRICE_DESC
-}
-
-enum ProductCollectionSortKeys {
-    # Sort by the `best-selling` value.
-    BEST_SELLING,
-
-    # Sort by the `collection-default` value.
-    COLLECTION_DEFAULT,
-
-    # Sort by the `created` value.
-    CREATED,
-
-    # Sort by the `id` value.
-    ID,
-
-    # Sort by the `manual` value.
-    MANUAL,
-
-    # Sort by the `price` value.
-    PRICE,
-
-    # Sort by relevance to the search terms when the `query` parameter is specified on the connection. Don't use this sort key when no search query is specified.
-    RELEVANCE,
-
-    # Sort by the `title` value.
-    TITLE
-}
-
-# List of supported image content types.
-enum ImageContentType {
-    # A PNG image.
-    PNG
-
-    # A JPG image.
-    JPG
-
-    # A WEBP image.
-    WEBP
-}
-
-# The part of the image that should remain after cropping.
-enum CropRegion {
-    # Keep the center of the image.
-    CENTER
-
-    # Keep the top of the image.
-    TOP
-
-    # Keep the bottom of the image.
-    BOTTOM
-
-    # Keep the left of the image.
-    LEFT
-
-    # Keep the right of the image.
-    RIGHT
-}
-
-# The type of data that the filter group represents.
-#
-# For more information, refer to [Filter products in a collection with the Storefront API]
-# (https://shopify.dev/custom-storefronts/products-collections/filter-products).
-enum FilterType {
-    # A list of selectable values.
-    LIST
-
-    # A range of prices.
-    PRICE_RANGE
-
-    # A boolean value.
-    BOOLEAN
-}
-
-# The three-letter currency codes that represent the world currencies used in stores. These include standard ISO 4217 codes, legacy codes, and non-standard codes.
-enum CurrencyCode {
-    # United Arab Emirates Dirham (AED).
-    AED
-
-    # Afghan Afghani (AFN).
-    AFN
-
-    # Albanian Lek (ALL).
-    ALL
-
-    # Armenian Dram (AMD).
-    AMD
-
-    # Netherlands Antillean Guilder.
-    ANG
-
-    # Angolan Kwanza (AOA).
-    AOA
-
-    # Argentine Pesos (ARS).
-    ARS
-
-    # Australian Dollars (AUD).
-    AUD
-
-    # Aruban Florin (AWG).
-    AWG
-
-    # Azerbaijani Manat (AZN).
-    AZN
-
-    # Bosnia and Herzegovina Convertible Mark (BAM).
-    BAM
-
-    # Barbadian Dollar (BBD).
-    BBD
-
-    # Bangladesh Taka (BDT).
-    BDT
-
-    # Bulgarian Lev (BGN).
-    BGN
-
-    # Bahraini Dinar (BHD).
-    BHD
-
-    # Burundian Franc (BIF).
-    BIF
-
-    # Bermudian Dollar (BMD).
-    BMD
-
-    # Brunei Dollar (BND).
-    BND
-
-    # Bolivian Boliviano (BOB).
-    BOB
-
-    # Brazilian Real (BRL).
-    BRL
-
-    # Bahamian Dollar (BSD).
-    BSD
-
-    # Bhutanese Ngultrum (BTN).
-    BTN
-
-    # Botswana Pula (BWP).
-    BWP
-
-    # Belarusian Ruble (BYN).
-    BYN
-
-    # Belize Dollar (BZD).
-    BZD
-
-    # Canadian Dollars (CAD).
-    CAD
-
-    # Congolese franc (CDF).
-    CDF
-
-    # Swiss Francs (CHF).
-    CHF
-
-    # Chilean Peso (CLP).
-    CLP
-
-    # Chinese Yuan Renminbi (CNY).
-    CNY
-
-    # Colombian Peso (COP).
-    COP
-
-    # Costa Rican Colones (CRC).
-    CRC
-
-    # Cape Verdean escudo (CVE).
-    CVE
-
-    # Czech Koruny (CZK).
-    CZK
-
-    # Djiboutian Franc (DJF).
-    DJF
-
-    # Danish Kroner (DKK).
-    DKK
-
-    # Dominican Peso (DOP).
-    DOP
-
-    # Algerian Dinar (DZD).
-    DZD
-
-    # Egyptian Pound (EGP).
-    EGP
-
-    # Eritrean Nakfa (ERN).
-    ERN
-
-    # Ethiopian Birr (ETB).
-    ETB
-
-    # Euro (EUR).
-    EUR
-
-    # Fijian Dollars (FJD).
-    FJD
-
-    # Falkland Islands Pounds (FKP).
-    FKP
-
-    # United Kingdom Pounds (GBP).
-    GBP
-
-    # Georgian Lari (GEL).
-    GEL
-
-    # Ghanaian Cedi (GHS).
-    GHS
-
-    # Gibraltar Pounds (GIP).
-    GIP
-
-    # Gambian Dalasi (GMD).
-    GMD
-
-    # Guinean Franc (GNF).
-    GNF
-
-    # Guatemalan Quetzal (GTQ).
-    GTQ
-
-    # Guyanese Dollar (GYD).
-    GYD
-
-    # Hong Kong Dollars (HKD).
-    HKD
-
-    # Honduran Lempira (HNL).
-    HNL
-
-    # Croatian Kuna (HRK).
-    HRK
-
-    # Haitian Gourde (HTG).
-    HTG
-
-    # Hungarian Forint (HUF).
-    HUF
-
-    # Indonesian Rupiah (IDR).
-    IDR
-
-    # Israeli New Shekel (NIS).
-    ILS
-
-    # Indian Rupees (INR).
-    INR
-
-    # Iraqi Dinar (IQD).
-    IQD
-
-    # Iranian Rial (IRR).
-    IRR
-
-    # Icelandic Kronur (ISK).
-    ISK
-
-    # Jersey Pound.
-    JEP
-
-    # Jamaican Dollars (JMD).
-    JMD
-
-    # Jordanian Dinar (JOD).
-    JOD
-
-    # Japanese Yen (JPY).
-    JPY
-
-    # Kenyan Shilling (KES).
-    KES
-
-    # Kyrgyzstani Som (KGS).
-    KGS
-
-    # Cambodian Riel.
-    KHR
-
-    # Kiribati Dollar (KID).
-    KID
-
-    # Comorian Franc (KMF).
-    KMF
-
-    # South Korean Won (KRW).
-    KRW
-
-    # Kuwaiti Dinar (KWD).
-    KWD
-
-    # Cayman Dollars (KYD).
-    KYD
-
-    # Kazakhstani Tenge (KZT).
-    KZT
-
-    # Laotian Kip (LAK).
-    LAK
-
-    # Lebanese Pounds (LBP).
-    LBP
-
-    # Sri Lankan Rupees (LKR).
-    LKR
-
-    # Liberian Dollar (LRD).
-    LRD
-
-    # Lesotho Loti (LSL).
-    LSL
-
-    # Lithuanian Litai (LTL).
-    LTL
-
-    # Latvian Lati (LVL).
-    LVL
-
-    # Libyan Dinar (LYD).
-    LYD
-
-    # Moroccan Dirham.
-    MAD
-
-    # Moldovan Leu (MDL).
-    MDL
-
-    # Malagasy Ariary (MGA).
-    MGA
-
-    # Macedonia Denar (MKD).
-    MKD
-
-    # Burmese Kyat (MMK).
-    MMK
-
-    # Mongolian Tugrik.
-    MNT
-
-    # Macanese Pataca (MOP).
-    MOP
-
-    # Mauritanian Ouguiya (MRU).
-    MRU
-
-    # Mauritian Rupee (MUR).
-    MUR
-
-    # Maldivian Rufiyaa (MVR).
-    MVR
-
-    # Malawian Kwacha (MWK).
-    MWK
-
-    # Mexican Pesos (MXN).
-    MXN
-
-    # Malaysian Ringgits (MYR).
-    MYR
-
-    # Mozambican Metical.
-    MZN
-
-    # Namibian Dollar.
-    NAD
-
-    # Nigerian Naira (NGN).
-    NGN
-
-    # Nicaraguan Córdoba (NIO).
-    NIO
-
-    # Norwegian Kroner (NOK).
-    NOK
-
-    # Nepalese Rupee (NPR).
-    NPR
-
-    # New Zealand Dollars (NZD).
-    NZD
-
-    # Omani Rial (OMR).
-    OMR
-
-    # Panamian Balboa (PAB).
-    PAB
-
-    # Peruvian Nuevo Sol (PEN).
-    PEN
-
-    # Papua New Guinean Kina (PGK).
-    PGK
-
-    # Philippine Peso (PHP).
-    PHP
-
-    # Pakistani Rupee (PKR).
-    PKR
-
-    # Polish Zlotych (PLN).
-    PLN
-
-    # Paraguayan Guarani (PYG).
-    PYG
-
-    # Qatari Rial (QAR).
-    QAR
-
-    # Romanian Lei (RON).
-    RON
-
-    # Serbian dinar (RSD).
-    RSD
-
-    # Russian Rubles (RUB).
-    RUB
-
-    # Rwandan Franc (RWF).
-    RWF
-
-    # Saudi Riyal (SAR).
-    SAR
-
-    # Solomon Islands Dollar (SBD).
-    SBD
-
-    # Seychellois Rupee (SCR).
-    SCR
-
-    # Sudanese Pound (SDG).
-    SDG
-
-    # Swedish Kronor (SEK).
-    SEK
-
-    # Singapore Dollars (SGD).
-    SGD
-
-    # Saint Helena Pounds (SHP).
-    SHP
-
-    # Sierra Leonean Leone (SLL).
-    SLL
-
-    # Somali Shilling (SOS).
-    SOS
-
-    # Surinamese Dollar (SRD).
-    SRD
-
-    # South Sudanese Pound (SSP).
-    SSP
-
-    # Sao Tome And Principe Dobra (STN).
-    STN
-
-    # Syrian Pound (SYP).
-    SYP
-
-    # Swazi Lilangeni (SZL).
-    SZL
-
-    # Thai baht (THB).
-    THB
-
-    # Tajikistani Somoni (TJS).
-    TJS
-
-    # Turkmenistani Manat (TMT).
-    TMT
-
-    # Tunisian Dinar (TND).
-    TND
-
-    # Tongan Pa'anga (TOP).
-    TOP
-
-    # Turkish Lira (TRY).
-    TRY
-
-    # Trinidad and Tobago Dollars (TTD).
-    TTD
-
-    # Taiwan Dollars (TWD).
-    TWD
-
-    # Tanzanian Shilling (TZS).
-    TZS
-
-    # Ukrainian Hryvnia (UAH).
-    UAH
-
-    # Ugandan Shilling (UGX).
-    UGX
-
-    # United States Dollars (USD).
-    USD
-
-    # Uruguayan Pesos (UYU).
-    UYU
-
-    # Uzbekistan som (UZS).
-    UZS
-
-    # Venezuelan Bolivares (VED).
-    VED
-
-    # Venezuelan Bolivares (VES).
-    VES
-
-    # Vietnamese đồng (VND).
-    VND
-
-    # Vanuatu Vatu (VUV).
-    VUV
-
-    # Samoan Tala (WST).
-    WST
-
-    # Central African CFA Franc (XAF).
-    XAF
-
-    # East Caribbean Dollar (XCD).
-    XCD
-
-    # West African CFA franc (XOF).
-    XOF
-
-    # CFP Franc (XPF).
-    XPF
-
-    # Unrecognized currency.
-    XXX
-
-    # Yemeni Rial (YER).
-    YER
-
-    # South African Rand (ZAR).
-    ZAR
-
-    # Zambian Kwacha (ZMW).
-    ZMW
-
-    # Belarusian Ruble (BYR).
-    BYR @deprecated
-}
-
-type ProductVariantConnection {
-    # A list of edges.
-    edges: [ProductVariantEdge!]!
-
-    # A list of the nodes contained in ProductVariantEdge.
-    nodes: [ProductVariant!]!
-
-    # Information to aid in pagination.
-    pageInfo: PageInfo!
-}
-
-type ProductVariantEdge {
-    # A cursor for use in pagination.
-    cursor: String!
-
-    # The item at the end of ProductVariantEdge.
-    node: ProductVariant!
-}
-
-# The set of valid sort keys for the ProductVariant query.
-enum ProductVariantSortKeys {
-    # Sort by the `title` value.
-    TITLE
-
-    # Sort by the `sku` value.
-    SKU
-
-    # Sort by the `position` value.
-    POSITION
-
-    # Sort by the `id` value.
-    ID
-
-    # Sort by relevance to the search terms when the `query` parameter is specified on the connection.
-    # Don't use this sort key when no search query is specified.
-    RELEVANCE
-}
-
-# The set of valid sort keys for the ProductImage query.
-enum ProductImageSortKeys {
-    # Sort by the `created_at` value.
-    CREATED_AT
-
-    # Sort by the `id` value.
-    ID
-
-    # Sort by the `position` value.
-    POSITION
-
-    # Sort by relevance to the search terms when the `query` parameter is specified on the connection. Don't use this sort key when no search query is specified.
-    RELEVANCE
-}
-
-# The set of valid sort keys for the ProductMedia query.
-enum ProductMediaSortKeys {
-    # Sort by the `id` value.
-    ID
-
-    # Sort by the `position` value.
-    POSITION
-
-    # Sort by relevance to the search terms when the `query` parameter is specified on the connection. Don't use this sort key when no search query is specified.
-    RELEVANCE
-}
-
-# The possible content types for a media object.
-enum MediaContentType {
-    # An externally hosted video.
-    EXTERNAL_VIDEO
-
-    # A Shopify hosted image.
-    IMAGE
-
-    # A 3d model.
-    MODEL_3D
-
-    # A Shopify hosted video.
-    VIDEO
-}
-
-# The checkout charge when the full amount isn't charged at checkout.
-enum SellingPlanCheckoutChargeType {
-    # The checkout charge is a percentage of the product or variant price.
-    PERCENTAGE
-
-    # The checkout charge is a fixed price amount.
-    PRICE
-}
-
-# Units of measurement for weight.
-enum WeightUnit {
-    # 1 kilogram equals 1000 grams.
-    KILOGRAMS
-
-    # Metric system unit of mass.
-    GRAMS
-
-    # 1 pound equals 16 ounces.
-    POUNDS
-
-    # Imperial system unit of mass.
-    OUNCES
-}
-
-# The accepted types of unit of measurement.
-enum UnitPriceMeasurementMeasuredType {
-    # Unit of measurements representing areas.
-    AREA
-
-    # Unit of measurements representing lengths.
-    LENGTH
-
-    # Unit of measurements representing volumes.
-    VOLUME
-
-    # Unit of measurements representing weights.
-    WEIGHT
-}
-
-# The valid units of measurement for a unit price measurement.
-enum UnitPriceMeasurementMeasuredUnit {
-    # 100 centiliters equals 1 liter.
-    CL
-
-    # 100 centimeters equals 1 meter.
-    CM
-
-    # Metric system unit of weight.
-    G
-
-    # 1 kilogram equals 1000 grams.
-    KG
-
-    # Metric system unit of volume.
-    L
-
-    # Metric system unit of length.
-    M
-
-    # Metric system unit of area.
-    M2
-
-    # 1 cubic meter equals 1000 liters.
-    M3
-
-    # 1000 milligrams equals 1 gram.
-    MG
-
-    # 1000 milliliters equals 1 liter.
-    ML
-
-    # 1000 millimeters equals 1 meter.
-    MM
-}
-
-# ISO 639-1 language codes supported by Shopify.
-enum LanguageCode {
-    # Afrikaans
-    AF
-
-    # Akan
-    AK
-
-    # Amharic
-    AM
-
-    # Arabic
-    AR
-
-    # Assamese
-    AS
-
-    # Azerbaijani
-    AZ
-
-    # Belarusian
-    BE
-
-    # Bulgarian
-    BG
-
-    # Bambara
-    BM
-
-    # Bangla
-    BN
-
-    # Tibetan
-    BO
-
-    # Breton
-    BR
-
-    # Bosnian
-    BS
-
-    # Catalan
-    CA
-
-    # Chechen
-    CE
-
-    # Czech
-    CS
-
-    # Church Slavic
-    CU
-
-    # Welsh
-    CY
-
-    # Danish
-    DA
-
-    # German
-    DE
-
-    # Dzongkha
-    DZ
-
-    # Ewe
-    EE
-
-    # Greek
-    EL
-
-    # English
-    EN
-
-    # Esperanto
-    EO
-
-    # Spanish
-    ES
-
-    # Estonian
-    ET
-
-    # Basque
-    EU
-
-    # Persian
-    FA
-
-    # Fulah
-    FF
-
-    # Finnish
-    FI
-
-    # Faroese
-    FO
-
-    # French
-    FR
-
-    # Western Frisian
-    FY
-
-    # Irish
-    GA
-
-    # Scottish Gaelic
-    GD
-
-    # Galician
-    GL
-
-    # Gujarati
-    GU
-
-    # Manx
-    GV
-
-    # Hausa
-    HA
-
-    # Hebrew
-    HE
-
-    # Hindi
-    HI
-
-    # Croatian
-    HR
-
-    # Hungarian
-    HU
-
-    # Armenian
-    HY
-
-    # Interlingua
-    IA
-
-    # Indonesian
-    ID
-
-    # Igbo
-    IG
-
-    # Sichuan Yi
-    II
-
-    # Icelandic
-    IS
-
-    # Italian
-    IT
-
-    # Japanese
-    JA
-
-    # Javanese
-    JV
-
-    # Georgian.
-    KA
-
-    # Kikuyu.
-    KI
-
-    # Kazakh.
-    KK
-
-    # Kalaallisut.
-    KL
-
-    # Khmer.
-    KM
-
-    # Kannada.
-    KN
-
-    # Korean.
-    KO
-
-    # Kashmiri.
-    KS
-
-    # Kurdish.
-    KU
-
-    # Cornish.
-    KW
-
-    # Kyrgyz.
-    KY
-
-    # Luxembourgish.
-    LB
-
-    # Ganda.
-    LG
-
-    # Lingala.
-    LN
-
-    # Lao.
-    LO
-
-    # Lithuanian.
-    LT
-
-    # Luba-Katanga.
-    LU
-
-    # Latvian.
-    LV
-
-    # Malagasy.
-    MG
-
-    # Māori.
-    MI
-
-    # Macedonian.
-    MK
-
-    # Malayalam.
-    ML
-
-    # Mongolian.
-    MN
-
-    # Marathi.
-    MR
-
-    # Malay.
-    MS
-
-    # Maltese.
-    MT
-
-    # Burmese.
-    MY
-
-    # Norwegian (Bokmål).
-    NB
-
-    # North Ndebele.
-    ND
-
-    # Nepali.
-    NE
-
-    # Dutch.
-    NL
-
-    # Norwegian Nynorsk.
-    NN
-
-    # Norwegian.
-    NO
-
-    # Oromo.
-    OM
-
-    # Odia.
-    OR
-
-    # Ossetic.
-    OS
-
-    # Punjabi.
-    PA
-
-    # Polish.
-    PL
-
-    # Pashto.
-    PS
-
-    # Portuguese (Brazil).
-    PT_BR
-
-    # Portuguese (Portugal).
-    PT_PT
-
-    QU
-    # Quechua.
-
-    # Romansh.
-    RM
-
-    # Rundi.
-    RN
-
-    # Romanian.
-    RO
-
-    # Russian.
-    RU
-
-    # Kinyarwanda.
-    RW
-
-    # Sindhi.
-    SD
-
-    # Northern Sami.
-    SE
-
-    # Sango.
-    SG
-
-    # Sinhala.
-    SI
-
-    # Slovak.
-    SK
-
-    # Slovenian.
-    SL
-
-    # Shona.
-    SN
-
-    # Somali.
-    SO
-
-    # Albanian.
-    SQ
-
-    # Serbian.
-    SR
-
-    # Sundanese.
-    SU
-
-    # Swedish.
-    SV
-
-    # Swahili.
-    SW
-
-    # Tamil.
-    TA
-
-    # Telugu.
-    TE
-
-    # Tajik.
-    TG
-
-    # Thai.
-    TH
-
-    # Tigrinya.
-    TI
-
-    # Turkmen.
-    TK
-
-    # Tongan.
-    TO
-
-    # Turkish.
-    TR
-
-    # Tatar.
-    TT
-
-    # Uyghur.
-    UG
-
-    # Ukrainian.
-    UK
-
-    # Urdu.
-    UR
-
-    # Uzbek.
-    UZ
-
-    # Vietnamese.
-    VI
-
-    # Wolof.
-    WO
-
-    # Xhosa.
-    XH
-
-    # Yiddish.
-    YI
-
-    # Yoruba.
-    YO
-
-    # Chinese (Simplified).
-    ZH_CN
-
-    # Chinese (Traditional).
-    ZH_TW
-
-    # Zulu.
-    ZU
-
-    # Chinese.
-    ZH
-
-    # Portuguese.
-    PT
-
-    # Volapük.
-    VO
-}
-
-# The code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.
-# If a territory doesn't have a country code value in the CountryCode enum, then it might be considered a subdivision
-# of another country. For example, the territories associated with Spain are represented by the country code ES,
-# and the territories associated with the United States of America are represented by the country code US.
-enum CountryCode {
-    # Afghanistan.
-    AF
-
-    # Åland Islands.
-    AX
-
-    # Albania.
-    AL
-
-    # Algeria.
-    DZ
-
-    # Andorra.
-    AD
-
-    # Angola.
-    AO
-
-    # Anguilla.
-    AI
-
-    # Antigua & Barbuda.
-    AG
-
-    # Argentina.
-    AR
-
-    # Armenia.
-    AM
-
-    # Aruba.
-    AW
-
-    # Ascension Island.
-    AC
-
-    # Australia.
-    AU
-
-    # Austria.
-    AT
-
-    # Azerbaijan.
-    AZ
-
-    # Bahamas.
-    BS
-
-    # Bahrain.
-    BH
-
-    # Bangladesh.
-    BD
-
-    # Barbados.
-    BB
-
-    # Belarus.
-    BY
-
-    # Belgium.
-    BE
-
-    # Belize.
-    BZ
-
-    # Benin.
-    BJ
-
-    # Bermuda.
-    BM
-
-    # Bhutan.
-    BT
-
-    # Bolivia.
-    BO
-
-    # Bosnia & Herzegovina.
-    BA
-
-    # Botswana.
-    BW
-
-    # Bouvet Island.
-    BV
-
-    # Brazil.
-    BR
-
-    # British Indian Ocean Territory.
-    IO
-
-    # Brunei.
-    BN
-
-    # Bulgaria.
-    BG
-
-    # Burkina Faso.
-    BF
-
-    # Burundi.
-    BI
-
-    # Cambodia.
-    KH
-
-    # Canada.
-    CA
-
-    # Cape Verde.
-    CV
-
-    # Caribbean Netherlands.
-    BQ
-
-    # Cayman Islands.
-    KY
-
-    # Central African Republic.
-    CF
-
-    # Chad.
-    TD
-
-    # Chile.
-    CL
-
-    # China.
-    CN
-
-    # Christmas Island.
-    CX
-
-    # Cocos (Keeling) Islands.
-    CC
-
-    # Colombia.
-    CO
-
-    # Comoros.
-    KM
-
-    # Congo - Brazzaville.
-    CG
-
-    # Congo - Kinshasa.
-    CD
-
-    # Cook Islands.
-    CK
-
-    # Costa Rica.
-    CR
-
-    # Croatia.
-    HR
-
-    # Cuba.
-    CU
-
-    # Curaçao.
-    CW
-
-    # Cyprus.
-    CY
-
-    # Czechia.
-    CZ
-
-    # Côte d’Ivoire.
-    CI
-
-    # Denmark.
-    DK
-
-    # Djibouti.
-    DJ
-
-    # Dominica.
-    DM
-
-    # Dominican Republic.
-    DO
-
-    # Ecuador.
-    EC
-
-    # Egypt.
-    EG
-
-    # El Salvador.
-    SV
-
-    # Equatorial Guinea.
-    GQ
-
-    # Eritrea.
-    ER
-
-    # Estonia.
-    EE
-
-    # Eswatini.
-    SZ
-
-    # Ethiopia.
-    ET
-
-    # Falkland Islands.
-    FK
-
-    # Faroe Islands.
-    FO
-
-    # Fiji.
-    FJ
-
-    # Finland.
-    FI
-
-    # France.
-    FR
-
-    # French Guiana.
-    GF
-
-    # French Polynesia.
-    PF
-
-    # French Southern Territories.
-    TF
-
-    # Gabon.
-    GA
-
-    # Gambia.
-    GM
-
-    # Georgia.
-    GE
-
-    # Germany.
-    DE
-
-    # Ghana.
-    GH
-
-    # Gibraltar.
-    GI
-
-    # Greece.
-    GR
-
-    # Greenland.
-    GL
-
-    # Grenada.
-    GD
-
-    # Guadeloupe.
-    GP
-
-    # Guatemala.
-    GT
-
-    # Guernsey.
-    GG
-
-    # Guinea.
-    GN
-
-    # Guinea-Bissau.
-    GW
-
-    # Guyana.
-    GY
-
-    # Haiti.
-    HT
-
-    # Heard & McDonald Islands.
-    HM
-
-    # Vatican City.
-    VA
-
-    # Honduras.
-    HN
-
-    # Hong Kong SAR.
-    HK
-
-    # Hungary.
-    HU
-
-    # Iceland.
-    IS
-
-    # India.
-    IN
-
-    # Indonesia.
-    ID
-
-    # Iran.
-    IR
-
-    # Iraq.
-    IQ
-
-    # Ireland.
-    IE
-
-    # Isle of Man.
-    IM
-
-    # Israel.
-    IL
-
-    # Italy.
-    IT
-
-    # Jamaica.
-    JM
-
-    # Japan.
-    JP
-
-    # Jersey.
-    JE
-
-    # Jordan.
-    JO
-
-    # Kazakhstan.
-    KZ
-
-    # Kenya.
-    KE
-
-    # Kiribati.
-    KI
-
-    # North Korea.
-    KP
-
-    # Kosovo.
-    XK
-
-    # Kuwait.
-    KW
-
-    # Kyrgyzstan.
-    KG
-
-    # Laos.
-    LA
-
-    # Latvia.
-    LV
-
-    # Lebanon.
-    LB
-
-    # Lesotho.
-    LS
-
-    # Liberia.
-    LR
-
-    # Libya.
-    LY
-
-    # Liechtenstein.
-    LI
-
-    # Lithuania.
-    LT
-
-    # Luxembourg.
-    LU
-
-    # Macao SAR.
-    MO
-
-    # Madagascar.
-    MG
-
-    # Malawi.
-    MW
-
-    # Malaysia.
-    MY
-
-    # Maldives.
-    MV
-
-    # Mali.
-    ML
-
-    # Malta.
-    MT
-
-    # Martinique.
-    MQ
-
-    # Mauritania.
-    MR
-
-    # Mauritius.
-    MU
-
-    # Mayotte.
-    YT
-
-    # Mexico.
-    MX
-
-    # Moldova.
-    MD
-
-    # Monaco.
-    MC
-
-    # Mongolia.
-    MN
-
-    # Montenegro.
-    ME
-
-    # Montserrat.
-    MS
-
-    # Morocco.
-    MA
-
-    # Mozambique.
-    MZ
-
-    # Myanmar (Burma).
-    MM
-
-    # Namibia.
-    NA
-
-    # Nauru.
-    NR
-
-    # Nepal.
-    NP
-
-    # Netherlands.
-    NL
-
-    # Netherlands Antilles.
-    AN
-
-    # New Caledonia.
-    NC
-
-    # New Zealand.
-    NZ
-
-    # Nicaragua.
-    NI
-
-    # Niger.
-    NE
-
-    # Nigeria.
-    NG
-
-    # Niue.
-    NU
-
-    # Norfolk Island.
-    NF
-
-    # North Macedonia.
-    MK
-
-    # Norway.
-    NO
-
-    # Oman.
-    OM
-
-    # Pakistan.
-    PK
-
-    # Palestinian Territories.
-    PS
-
-    # Panama.
-    PA
-
-    # Papua New Guinea.
-    PG
-
-    # Paraguay.
-    PY
-
-    # Peru.
-    PE
-
-    # Philippines.
-    PH
-
-    # Pitcairn Islands.
-    PN
-
-    # Poland.
-    PL
-
-    # Portugal.
-    PT
-
-    # Qatar.
-    QA
-
-    # Cameroon.
-    CM
-
-    # Réunion.
-    RE
-
-    # Romania.
-    RO
-
-    # Russia.
-    RU
-
-    # Rwanda.
-    RW
-
-    # St. Barthélemy.
-    BL
-
-    # St. Helena.
-    SH
-
-    # St. Kitts & Nevis.
-    KN
-
-    # St. Lucia.
-    LC
-
-    # St. Martin.
-    MF
-
-    # St. Pierre & Miquelon.
-    PM
-
-    # Samoa.
-    WS
-
-    # San Marino.
-    SM
-
-    # São Tomé & Príncipe.
-    ST
-
-    # Saudi Arabia.
-    SA
-
-    # Senegal.
-    SN
-
-    # Serbia.
-    RS
-
-    # Seychelles.
-    SC
-
-    # Sierra Leone.
-    SL
-
-    # Singapore.
-    SG
-
-    # Sint Maarten.
-    SX
-
-    # Slovakia.
-    SK
-
-    # Slovenia.
-    SI
-
-    # Solomon Islands.
-    SB
-
-    # Somalia.
-    SO
-
-    # South Africa.
-    ZA
-
-    # South Georgia & South Sandwich Islands.
-    GS
-
-    # South Korea.
-    KR
-
-    # South Sudan.
-    SS
-
-    # Spain.
-    ES
-
-    # Sri Lanka.
-    LK
-
-    # St. Vincent & Grenadines.
-    VC
-
-    # Sudan.
-    SD
-
-    # Suriname.
-    SR
-
-    # Svalbard & Jan Mayen.
-    SJ
-
-    # Sweden.
-    SE
-
-    # Switzerland.
-    CH
-
-    # Syria.
-    SY
-
-    # Taiwan.
-    TW
-
-    # Tajikistan.
-    TJ
-
-    # Tanzania.
-    TZ
-
-    # Thailand.
-    TH
-
-    # Timor-Leste.
-    TL
-
-    # Togo.
-    TG
-
-    # Tokelau.
-    TK
-
-    # Tonga.
-    TO
-
-    # Trinidad & Tobago.
-    TT
-
-    # Tristan da Cunha.
-    TA
-
-    # Tunisia.
-    TN
-
-    # Turkey.
-    TR
-
-    # Turkmenistan.
-    TM
-
-    # Turks & Caicos Islands.
-    TC
-
-    # Tuvalu.
-    TV
-
-    # Uganda.
-    UG
-
-    # Ukraine.
-    UA
-
-    # United Arab Emirates.
-    AE
-
-    # United Kingdom.
-    GB
-
-    # United States.
-    US
-
-    # U.S. Outlying Islands.
-    UM
-
-    # Uruguay.
-    UY
-
-    # Uzbekistan.
-    UZ
-
-    # Vanuatu.
-    VU
-
-    # Venezuela.
-    VE
-
-    # Vietnam.
-    VN
-
-    # British Virgin Islands.
-    VG
-
-    # Wallis & Futuna.
-    WF
-
-    # Western Sahara.
-    EH
-
-    # Yemen.
-    YE
-
-    # Zambia.
-    ZM
-
-    # Zimbabwe.
-    ZW
-
-    # Unknown Region.
-    ZZ
-}

+ 1 - 0
graphql/storefront-api

@@ -0,0 +1 @@
+Subproject commit 66d4eb7aaea7a189d8db12ef02fa0b6fbb110702