diff --git a/apps/automated-tests/tests/e2e/checkout/checkout-guest.spec.ts b/apps/automated-tests/tests/e2e/checkout/checkout-guest.spec.ts index ee8e79d30..10f083e9c 100644 --- a/apps/automated-tests/tests/e2e/checkout/checkout-guest.spec.ts +++ b/apps/automated-tests/tests/e2e/checkout/checkout-guest.spec.ts @@ -6,7 +6,7 @@ test.describe("Guest checkout", () => { test.beforeEach(async ({ productPage, cartPage, checkoutLoginPage }) => { await productPage.goto(product.url); - // Add to bag mutation must finished and set checkoutId cookie, thus + // Add to bag mutation must finished and set checkout cookie, thus // navigation to cart page is required - the cookie will be set by the time the page loads await productPage.addProductToBagAndGoToCart(); diff --git a/apps/automated-tests/tests/e2e/checkout/checkout.spec.ts b/apps/automated-tests/tests/e2e/checkout/checkout.spec.ts index 0a029e749..8375095bd 100644 --- a/apps/automated-tests/tests/e2e/checkout/checkout.spec.ts +++ b/apps/automated-tests/tests/e2e/checkout/checkout.spec.ts @@ -6,7 +6,7 @@ test.describe("Logged-in user checkout", () => { test.beforeEach(async ({ productPage, cartPage, checkoutLoginPage }) => { await productPage.goto(product.url); - // Add to bag mutation must finished and set checkoutId cookie, thus + // Add to bag mutation must finished and set checkout cookie, thus // navigation to cart page is required - the cookie will be set by the time the page loads await productPage.addProductToBagAndGoToCart(); diff --git a/apps/docs/versioned_docs/version-1.15.0/marketplace.mdx b/apps/docs/versioned_docs/version-1.15.0/marketplace.mdx index 9bde7e43b..5a8cbe84e 100644 --- a/apps/docs/versioned_docs/version-1.15.0/marketplace.mdx +++ b/apps/docs/versioned_docs/version-1.15.0/marketplace.mdx @@ -77,6 +77,12 @@ The marketplace app provides the following vendor-facing features: - **Vendor Pages** - Manage vendor profile pages and page status - **Customer Management** - View and manage customers +## Vendor onboarding flow + +During public vendor sign-up, the marketplace app creates the Saleor vendor profile page and default vendor collection before registering the customer account. The vendor page is created as a draft with `isPublished: false`, then the customer account is linked to that page through the `vendor.id` customer metadata key. + +The vendor page is published only after the vendor confirms their Saleor account from the account confirmation link. When confirmation succeeds and Saleor returns an active user, the marketplace app reads the customer's `vendor.id` metadata and updates the linked vendor page with `isPublished: true`. + ## i18n The marketplace app also uses the shared i18n package described in the [i18n architecture docs](/i18n). It passes `app: "marketplace"` to `@nimara/i18n`'s `createRequestConfig`, so it receives the `common` + `marketplace` message bundles (with locale-specific overrides applied where defined). diff --git a/apps/marketplace/src/app/(public)/account-confirm/actions.ts b/apps/marketplace/src/app/(public)/account-confirm/actions.ts index eb748f444..4dc796bda 100644 --- a/apps/marketplace/src/app/(public)/account-confirm/actions.ts +++ b/apps/marketplace/src/app/(public)/account-confirm/actions.ts @@ -2,14 +2,33 @@ import { ConfirmVendorAccountDocument } from "@/graphql/generated/client"; import { executeGraphQL } from "@/lib/graphql/execute"; +import { publishVendorPageForConfirmedAccount } from "@/lib/saleor/vendor-page-publication"; export async function confirmAccount(variables: { email: string; token: string; }) { - return executeGraphQL( + const result = await executeGraphQL( ConfirmVendorAccountDocument, "ConfirmVendorAccountMutation", variables, ); + + if (!result.ok) { + return result; + } + + const user = result.data.confirmAccount?.user; + + if (user?.isActive) { + const publishResult = await publishVendorPageForConfirmedAccount( + user.email, + ); + + if (!publishResult.ok) { + return publishResult; + } + } + + return result; } diff --git a/apps/marketplace/src/graphql/generated/client.ts b/apps/marketplace/src/graphql/generated/client.ts index bd80286b6..bc7d1e108 100644 --- a/apps/marketplace/src/graphql/generated/client.ts +++ b/apps/marketplace/src/graphql/generated/client.ts @@ -255,8 +255,8 @@ export type AccountErrorCode = | 'DELETE_OWN_ACCOUNT' | 'DELETE_STAFF_ACCOUNT' | 'DELETE_SUPERUSER_ACCOUNT' - | 'DISABLED_AUTHENTICATION_METHOD' | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' | 'GRAPHQL_ERROR' | 'INACTIVE' | 'INVALID' @@ -1046,21 +1046,38 @@ export type AppExtension = Node & { /** Label of the extension to show in the dashboard. */ label: Scalars['String']['output']; /** - * Name of the extension mount point in the dashboard. Value returned in UPPERCASE. + * Place where given extension will be mounted. + * @deprecated Use `mountName` instead. + */ + mount: AppExtensionMountEnum; + /** + * Name of the extension mount point in the dashboard. Replaces `mount` * * Added in Saleor 3.22. */ mountName: Scalars['String']['output']; + /** + * App extension options. + * + * Added in Saleor 3.22. + * @deprecated Use `settings` field instead. + */ + options: Maybe; /** List of the app extension's permissions. */ permissions: Array; /** - * App extension settings. + * App extension settings. Replaces `options` field. * * Added in Saleor 3.22. */ settings: Scalars['JSON']['output']; /** - * Name of the extension target in the dashboard. Value returned in UPPERCASE. + * Type of way how app extension will be opened. + * @deprecated Use `targetName` instead. + */ + target: AppExtensionTargetEnum; + /** + * Name of the extension target in the dashboard. Replaces `target` * * Added in Saleor 3.22. */ @@ -1085,12 +1102,24 @@ export type AppExtensionCountableEdge = { }; export type AppExtensionFilterInput = { + /** + * DEPRECATED: Use `mountName` instead. + * + * DEPRECATED: this field will be removed. + */ + mount?: InputMaybe>; /** * Plain-text mount name (case insensitive) * * Added in Saleor 3.22. */ mountName?: InputMaybe>; + /** + * DEPRECATED: Use `targetName` instead. + * + * DEPRECATED: this field will be removed. + */ + target?: InputMaybe; /** * Plain-text target name (case insensitive) * @@ -1099,6 +1128,92 @@ export type AppExtensionFilterInput = { targetName?: InputMaybe; }; +/** All places where app extension can be mounted. */ +export type AppExtensionMountEnum = + | 'CATEGORY_DETAILS_MORE_ACTIONS' + | 'CATEGORY_OVERVIEW_CREATE' + | 'CATEGORY_OVERVIEW_MORE_ACTIONS' + | 'COLLECTION_DETAILS_MORE_ACTIONS' + | 'COLLECTION_DETAILS_WIDGETS' + | 'COLLECTION_OVERVIEW_CREATE' + | 'COLLECTION_OVERVIEW_MORE_ACTIONS' + | 'CUSTOMER_DETAILS_MORE_ACTIONS' + | 'CUSTOMER_DETAILS_WIDGETS' + | 'CUSTOMER_OVERVIEW_CREATE' + | 'CUSTOMER_OVERVIEW_MORE_ACTIONS' + | 'DISCOUNT_DETAILS_MORE_ACTIONS' + | 'DISCOUNT_OVERVIEW_CREATE' + | 'DISCOUNT_OVERVIEW_MORE_ACTIONS' + | 'DRAFT_ORDER_DETAILS_MORE_ACTIONS' + | 'DRAFT_ORDER_DETAILS_WIDGETS' + | 'DRAFT_ORDER_OVERVIEW_CREATE' + | 'DRAFT_ORDER_OVERVIEW_MORE_ACTIONS' + | 'GIFT_CARD_DETAILS_MORE_ACTIONS' + | 'GIFT_CARD_DETAILS_WIDGETS' + | 'GIFT_CARD_OVERVIEW_CREATE' + | 'GIFT_CARD_OVERVIEW_MORE_ACTIONS' + | 'MENU_DETAILS_MORE_ACTIONS' + | 'MENU_OVERVIEW_CREATE' + | 'MENU_OVERVIEW_MORE_ACTIONS' + | 'NAVIGATION_CATALOG' + | 'NAVIGATION_CUSTOMERS' + | 'NAVIGATION_DISCOUNTS' + | 'NAVIGATION_ORDERS' + | 'NAVIGATION_PAGES' + | 'NAVIGATION_TRANSLATIONS' + | 'ORDER_DETAILS_MORE_ACTIONS' + | 'ORDER_DETAILS_WIDGETS' + | 'ORDER_OVERVIEW_CREATE' + | 'ORDER_OVERVIEW_MORE_ACTIONS' + | 'PAGE_DETAILS_MORE_ACTIONS' + | 'PAGE_OVERVIEW_CREATE' + | 'PAGE_OVERVIEW_MORE_ACTIONS' + | 'PAGE_TYPE_DETAILS_MORE_ACTIONS' + | 'PAGE_TYPE_OVERVIEW_CREATE' + | 'PAGE_TYPE_OVERVIEW_MORE_ACTIONS' + | 'PRODUCT_DETAILS_MORE_ACTIONS' + | 'PRODUCT_DETAILS_WIDGETS' + | 'PRODUCT_OVERVIEW_CREATE' + | 'PRODUCT_OVERVIEW_MORE_ACTIONS' + | 'TRANSLATIONS_MORE_ACTIONS' + | 'VOUCHER_DETAILS_MORE_ACTIONS' + | 'VOUCHER_DETAILS_WIDGETS' + | 'VOUCHER_OVERVIEW_CREATE' + | 'VOUCHER_OVERVIEW_MORE_ACTIONS'; + +/** Represents the options for an app extension. */ +export type AppExtensionOptionsNewTab = { + /** + * Options controlling behavior of the NEW_TAB extension target + * @deprecated Use `settings` field directly. + */ + newTabTarget: Maybe; +}; + +/** Represents the options for an app extension. */ +export type AppExtensionOptionsWidget = { + /** + * Options for displaying a Widget + * @deprecated Use `settings` field directly. + */ + widgetTarget: Maybe; +}; + +export type AppExtensionPossibleOptions = AppExtensionOptionsNewTab | AppExtensionOptionsWidget; + +/** + * All available ways of opening an app extension. + * + * POPUP - app's extension will be mounted as a popup window + * APP_PAGE - redirect to app's page + * + */ +export type AppExtensionTargetEnum = + | 'APP_PAGE' + | 'NEW_TAB' + | 'POPUP' + | 'WIDGET'; + /** * Fetch and validate manifest. * @@ -1143,9 +1258,9 @@ export type AppInstallInput = { /** Determine if app will be set active or not. */ activateAfterInstallation?: InputMaybe; /** Name of the app to install. */ - appName: Scalars['String']['input']; + appName?: InputMaybe; /** URL to app's manifest in JSON format. */ - manifestUrl: Scalars['String']['input']; + manifestUrl?: InputMaybe; /** List of permission code names to assign to this app. */ permissions?: InputMaybe>; }; @@ -1207,7 +1322,12 @@ export type AppManifestExtension = { /** Label of the extension to show in the dashboard. */ label: Scalars['String']['output']; /** - * Name of the extension mount point in the dashboard. Value returned in UPPERCASE. + * Place where given extension will be mounted. + * @deprecated Use `mountName` instead. + */ + mount: AppExtensionMountEnum; + /** + * Name of the extension mount point in the dashboard. Replaces `mount` * * Added in Saleor 3.22. */ @@ -1215,13 +1335,18 @@ export type AppManifestExtension = { /** List of the app extension's permissions. */ permissions: Array; /** - * App extension settings. + * JSON object with settings for this extension. * * Added in Saleor 3.22. */ settings: Scalars['JSON']['output']; /** - * Name of the extension target in the dashboard. Value returned in UPPERCASE. + * Type of way how app extension will be opened. + * @deprecated Use `targetName` instead. + */ + target: AppExtensionTargetEnum; + /** + * Name of the extension target in the dashboard. Replaces `target` * * Added in Saleor 3.22. */ @@ -2064,7 +2189,7 @@ export type Attribute = Node & ObjectWithMetadata & { /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ metafields: Maybe; /** Name of an attribute displayed in the interface. */ - name: Scalars['String']['output']; + name: Maybe; /** List of private metadata items. Requires staff permissions to access. */ privateMetadata: Array; /** @@ -2086,7 +2211,7 @@ export type Attribute = Node & ObjectWithMetadata & { */ referenceTypes: Maybe>; /** Internal representation of an attribute name. */ - slug: Scalars['String']['output']; + slug: Maybe; /** * The position of the attribute in the storefront navigation (0 by default). Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. * @deprecated No longer supported @@ -2095,7 +2220,7 @@ export type Attribute = Node & ObjectWithMetadata & { /** Returns translated attribute fields for the given language code. */ translation: Maybe; /** The attribute type. */ - type: AttributeTypeEnum; + type: Maybe; /** The unit of attribute values. */ unit: Maybe; /** Whether the attribute requires values to be passed or not. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. */ @@ -4230,19 +4355,12 @@ export type Checkout = Node & ObjectWithMetadata & { * Added in Saleor 3.21. */ customerNote: Scalars['String']['output']; - /** - * The delivery method selected for this checkout. - * - * Added in Saleor 3.23. - */ - delivery: Maybe; /** * The delivery method selected for this checkout. * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. - * @deprecated Use `delivery` instead. */ deliveryMethod: Maybe; /** The total discount applied to the checkout. Note: Only discount created via voucher are included in this field. */ @@ -4302,7 +4420,7 @@ export type Checkout = Node & ObjectWithMetadata & { * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. - * @deprecated Use `delivery` instead. + * @deprecated Use `deliveryMethod` instead. */ shippingMethod: Maybe; /** @@ -4708,7 +4826,6 @@ export type CheckoutCustomerNoteUpdate = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout delivery method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ export type CheckoutDeliveryMethodUpdate = { @@ -5107,25 +5224,7 @@ export type CheckoutPaymentCreate = { }; /** Represents an problem in the checkout. */ -export type CheckoutProblem = CheckoutLineProblemInsufficientStock | CheckoutLineProblemVariantNotAvailable | CheckoutProblemDeliveryMethodInvalid | CheckoutProblemDeliveryMethodStale; - -/** - * Indicates that the selected delivery method is invalid. - * - * Added in Saleor 3.23. - */ -export type CheckoutProblemDeliveryMethodInvalid = { - delivery: Delivery; -}; - -/** - * Indicates that the delivery methods are stale. - * - * Added in Saleor 3.23. - */ -export type CheckoutProblemDeliveryMethodStale = { - delivery: Delivery; -}; +export type CheckoutProblem = CheckoutLineProblemInsufficientStock | CheckoutLineProblemVariantNotAvailable; /** * Remove a gift card or a voucher from a checkout. @@ -5143,12 +5242,6 @@ export type CheckoutRemovePromoCode = { /** Represents the channel-specific checkout settings. */ export type CheckoutSettings = { - /** - * Default to `true`. Determines whether gift cards can be attached to a Checkout via `addPromoCode` mutation. Usage of this mutation with gift cards is deprecated. - * - * Added in Saleor 3.23. - */ - allowLegacyGiftCardUse: Scalars['Boolean']['output']; /** * The date time defines the earliest checkout creation date on which fully paid checkouts can begin to be automatically completed. * @@ -5176,12 +5269,6 @@ export type CheckoutSettings = { }; export type CheckoutSettingsInput = { - /** - * Default to `true`. Determines whether gift cards can be attached to a Checkout via `addPromoCode` mutation. Usage of this mutation with gift cards is deprecated. - * - * Added in Saleor 3.23. - */ - allowLegacyGiftCardUse?: InputMaybe; /** * Settings for automatic completion of fully paid checkouts. * @@ -5223,7 +5310,6 @@ export type CheckoutShippingAddressUpdate = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout shipping method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ export type CheckoutShippingMethodUpdate = { @@ -5240,9 +5326,7 @@ export type CheckoutSortField = /** Sort checkouts by customer. */ | 'CUSTOMER' /** Sort checkouts by payment. */ - | 'PAYMENT' - /** Sort checkouts by rank. Note: This option is available only with the `search` filter. */ - | 'RANK'; + | 'PAYMENT'; export type CheckoutSortingInput = { /** Specifies the direction in which to sort checkouts. */ @@ -5609,6 +5693,7 @@ export type CollectionError = { export type CollectionErrorCode = | 'CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT' | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' | 'GRAPHQL_ERROR' | 'INVALID' | 'NOT_FOUND' @@ -6666,6 +6751,8 @@ export type CustomerEvent = Node & { message: Maybe; /** The concerned order. */ order: Maybe; + /** The concerned order line. */ + orderLine: Maybe; /** Customer event type. */ type: Maybe; /** User who performed the action. */ @@ -6931,49 +7018,207 @@ export type DeletePrivateMetadata = { metadataErrors: Array; }; +/** Represents a delivery method chosen for the checkout. `Warehouse` type is used when checkout is marked as "click and collect" and `ShippingMethod` otherwise. */ +export type DeliveryMethod = ShippingMethod | Warehouse; + +/** Represents digital content associated with a product variant. */ +export type DigitalContent = Node & ObjectWithMetadata & { + /** Indicator for automatic fulfillment of digital content. */ + automaticFulfillment: Scalars['Boolean']['output']; + /** File associated with digital content. */ + contentFile: Scalars['String']['output']; + /** The ID of the digital content. */ + id: Scalars['ID']['output']; + /** Maximum number of allowed downloads for the digital content. */ + maxDownloads: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Product variant assigned to digital content. */ + productVariant: ProductVariant; + /** Number of days the URL for the digital content remains valid. */ + urlValidDays: Maybe; + /** List of URLs for the digital variant. */ + urls: Maybe>; + /** Default settings indicator for digital content. */ + useDefaultSettings: Scalars['Boolean']['output']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentMetafieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentMetafieldsArgs = { + keys?: InputMaybe>; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentPrivateMetafieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentPrivateMetafieldsArgs = { + keys?: InputMaybe>; +}; + +/** A connection to a list of digital content items. */ +export type DigitalContentCountableConnection = { + edges: Array; + /** Pagination data for this connection. */ + pageInfo: PageInfo; + /** A total count of items in the collection. */ + totalCount: Maybe; +}; + +export type DigitalContentCountableEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: DigitalContent; +}; + /** - * Represents a delivery option for the checkout. + * Create new digital content. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec * - * Added in Saleor 3.23. + * Requires one of the following permissions: MANAGE_PRODUCTS. */ -export type Delivery = { - /** The ID of the delivery. */ - id: Scalars['ID']['output']; - /** Shipping method represented by the delivery. */ - shippingMethod: Maybe; +export type DigitalContentCreate = { + content: Maybe; + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; + variant: Maybe; }; -/** Represents a delivery method chosen for the checkout. `Warehouse` type is used when checkout is marked as "click and collect" and `ShippingMethod` otherwise. */ -export type DeliveryMethod = ShippingMethod | Warehouse; - /** - * Calculates available delivery options for a checkout. + * Remove digital content assigned to given variant. * - * Added in Saleor 3.23. + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ +export type DigitalContentDelete = { + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; + variant: Maybe; +}; + +export type DigitalContentInput = { + /** Overwrite default automatic_fulfillment setting for variant. */ + automaticFulfillment?: InputMaybe; + /** Determines how many times a download link can be accessed by a customer. */ + maxDownloads?: InputMaybe; + /** + * Fields required to update the digital content metadata. Can be read by any API client authorized to read the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + metadata?: InputMaybe>; + /** + * Fields required to update the digital content private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + privateMetadata?: InputMaybe>; + /** Determines for how many days a download link is active since it was generated. */ + urlValidDays?: InputMaybe; + /** Use default digital content settings for this product. */ + useDefaultSettings: Scalars['Boolean']['input']; +}; + +/** + * Updates digital content. * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered to fetch external shipping methods. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Triggered to filter shipping methods. + * Requires one of the following permissions: MANAGE_PRODUCTS. */ -export type DeliveryOptionsCalculate = { - /** List of the available deliveries. */ - deliveries: Array; - errors: Array; +export type DigitalContentUpdate = { + content: Maybe; + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; + variant: Maybe; }; -export type DeliveryOptionsCalculateError = { - /** The error code. */ - code: DeliveryOptionsCalculateErrorCode; - /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; - /** The error message. */ - message: Maybe; +export type DigitalContentUploadInput = { + /** Overwrite default automatic_fulfillment setting for variant. */ + automaticFulfillment?: InputMaybe; + /** Represents an file in a multipart request. */ + contentFile: Scalars['Upload']['input']; + /** Determines how many times a download link can be accessed by a customer. */ + maxDownloads?: InputMaybe; + /** + * Fields required to update the digital content metadata. Can be read by any API client authorized to read the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + metadata?: InputMaybe>; + /** + * Fields required to update the digital content private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + privateMetadata?: InputMaybe>; + /** Determines for how many days a download link is active since it was generated. */ + urlValidDays?: InputMaybe; + /** Use default digital content settings for this product. */ + useDefaultSettings: Scalars['Boolean']['input']; }; -export type DeliveryOptionsCalculateErrorCode = - | 'GRAPHQL_ERROR' - | 'INVALID' - | 'NOT_FOUND'; +/** Represents a URL for digital content. */ +export type DigitalContentUrl = Node & { + /** Digital content associated with the URL. */ + content: DigitalContent; + /** Date and time when the digital content URL was created. */ + created: Scalars['DateTime']['output']; + /** Number of times digital content has been downloaded. */ + downloadNum: Scalars['Int']['output']; + /** The ID of the digital content URL. */ + id: Scalars['ID']['output']; + /** UUID of digital content. */ + token: Scalars['UUID']['output']; + /** URL for digital content. */ + url: Maybe; +}; + +/** + * Generate new URL to digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ +export type DigitalContentUrlCreate = { + digitalContentUrl: Maybe; + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; +}; + +export type DigitalContentUrlCreateInput = { + /** Digital content ID which URL will belong to. */ + content: Scalars['ID']['input']; +}; export type DiscountError = { /** List of channels IDs which causes the error. */ @@ -7144,11 +7389,7 @@ export type DraftOrderCreateInput = { user?: InputMaybe; /** Email address of the customer. */ userEmail?: InputMaybe; - /** - * ID of the voucher associated with the order. - * - * DEPRECATED: this field will be removed. Use `voucherCode` instead. - */ + /** ID of the voucher associated with the order. */ voucher?: InputMaybe; /** * A code of the voucher associated with the order. @@ -7257,11 +7498,7 @@ export type DraftOrderInput = { user?: InputMaybe; /** Email address of the customer. */ userEmail?: InputMaybe; - /** - * ID of the voucher associated with the order. - * - * DEPRECATED: this field will be removed. Use `voucherCode` instead. - */ + /** ID of the voucher associated with the order. */ voucher?: InputMaybe; /** * A code of the voucher associated with the order. @@ -7675,6 +7912,8 @@ export type ExportScope = * * Added in Saleor 3.18. * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + * * Requires one of the following permissions: MANAGE_DISCOUNTS. * * Triggers the following webhook events: @@ -8155,7 +8394,7 @@ export type GiftCard = Node & ObjectWithMetadata & { */ endDate: Maybe; /** - * List of events associated with the gift card. Requires MANAGE_GIFT_CARD permission to access all events. Users with MANAGE_ORDERS permission can access only USED_IN_ORDER and REFUNDED_IN_ORDER events. + * List of events associated with the gift card. Requires MANAGE_GIFT_CARD permission to access all events. Users with MANAGE_ORDERS permission can access only USED_IN_ORDER events. * * Requires one of the following permissions: MANAGE_GIFT_CARD, MANAGE_ORDERS. */ @@ -8577,7 +8816,6 @@ export type GiftCardEventsEnum = | 'EXPIRY_DATE_UPDATED' | 'ISSUED' | 'NOTE_ADDED' - | 'REFUNDED_IN_ORDER' | 'RESENT' | 'SENT_TO_CUSTOMER' | 'TAGS_UPDATED' @@ -8626,55 +8864,6 @@ export type GiftCardMetadataUpdated = Event & { version: Maybe; }; -/** - * Represents a gift card payment method used for a transaction. - * - * Added in Saleor 3.23. - */ -export type GiftCardPaymentMethodDetails = PaymentMethodDetails & { - /** - * Brand of the gift card. - * - * Added in Saleor 3.23. - */ - brand: Maybe; - /** - * Indicates whether the gift card is a built-in Saleor gift card. - * - * Added in Saleor 3.23. - */ - isSaleorGiftcard: Scalars['Boolean']['output']; - /** - * Last characters of the gift card code. Max 4 characters. - * - * Added in Saleor 3.23. - */ - lastChars: Maybe; - /** Name of the gift card. */ - name: Scalars['String']['output']; -}; - -export type GiftCardPaymentMethodDetailsInput = { - /** - * Brand of the gift card used for the transaction. Max length is 40 characters. - * - * Added in Saleor 3.23. - */ - brand?: InputMaybe; - /** - * Last characters of the gift card used for the transaction. Max length is 4 characters. - * - * Added in Saleor 3.23. - */ - lastChars?: InputMaybe; - /** - * Name of the payment method used for the transaction. Max length is 256 characters. - * - * Added in Saleor 3.23. - */ - name: Scalars['String']['input']; -}; - /** * Resend a gift card. * @@ -8767,8 +8956,6 @@ export type GiftCardSortField = | 'CURRENT_BALANCE' /** Sort gift cards by product. */ | 'PRODUCT' - /** Sort gift cards by rank. Note: This option is available only with the `search` filter. */ - | 'RANK' /** Sort gift cards by used by. */ | 'USED_BY'; @@ -8933,6 +9120,10 @@ export type GroupCountableEdge = { node: Group; }; +export type HttpMethod = + | 'GET' + | 'POST'; + /** Thumbnail formats for icon images. */ export type IconThumbnailFormatEnum = | 'ORIGINAL' @@ -12156,7 +12347,6 @@ export type Mutation = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout delivery method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ checkoutDeliveryMethodUpdate: Maybe; @@ -12224,7 +12414,6 @@ export type Mutation = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout shipping method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. * @deprecated Use `checkoutDeliveryMethodUpdate` instead. */ @@ -12368,15 +12557,33 @@ export type Mutation = { */ deleteWarehouse: Maybe; /** - * Calculates available delivery options for a checkout. + * Create new digital content. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentCreate: Maybe; + /** + * Remove digital content assigned to given variant. * - * Added in Saleor 3.23. + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentDelete: Maybe; + /** + * Updates digital content. * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered to fetch external shipping methods. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Triggered to filter shipping methods. + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. */ - deliveryOptionsCalculate: Maybe; + digitalContentUpdate: Maybe; + /** + * Generate new URL to digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentUrlCreate: Maybe; /** * Deletes draft orders. * @@ -12428,7 +12635,6 @@ export type Mutation = { * Triggers the following webhook events: * - NOTIFY_USER (async): A notification for the exported file. * - GIFT_CARD_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportGiftCards: Maybe; /** @@ -12439,7 +12645,6 @@ export type Mutation = { * Triggers the following webhook events: * - NOTIFY_USER (async): A notification for the exported file. * - PRODUCT_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportProducts: Maybe; /** @@ -12447,11 +12652,12 @@ export type Mutation = { * * Added in Saleor 3.18. * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + * * Requires one of the following permissions: MANAGE_DISCOUNTS. * * Triggers the following webhook events: * - VOUCHER_CODE_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportVoucherCodes: Maybe; /** Prepare external authentication URL for user by custom plugin. */ @@ -14553,8 +14759,25 @@ export type MutationDeleteWarehouseArgs = { }; -export type MutationDeliveryOptionsCalculateArgs = { - id: Scalars['ID']['input']; +export type MutationDigitalContentCreateArgs = { + input: DigitalContentUploadInput; + variantId: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentDeleteArgs = { + variantId: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentUpdateArgs = { + input: DigitalContentInput; + variantId: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentUrlCreateArgs = { + input: DigitalContentUrlCreateInput; }; @@ -15911,6 +16134,15 @@ export type NavigationType = /** Secondary storefront navigation. */ | 'SECONDARY'; +/** Represents the NEW_TAB target options for an app extension. */ +export type NewTabTargetOptions = { + /** + * HTTP method for New Tab target (GET or POST) + * @deprecated Use `settings` field directly. + */ + method: HttpMethod; +}; + /** An object with an ID */ export type Node = { /** The ID of the object. */ @@ -17553,6 +17785,7 @@ export type OrderLine = Node & ObjectWithMetadata & { * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. */ allocations: Maybe>; + digitalContentUrl: Maybe; /** * List of applied discounts * @@ -18717,8 +18950,6 @@ export type PageSortField = | 'PUBLICATION_DATE' /** Sort pages by publication date. */ | 'PUBLISHED_AT' - /** Sort pages by rank. Note: This option is available only with the `search` filter. */ - | 'RANK' /** Sort pages by slug. */ | 'SLUG' /** Sort pages by title. */ @@ -19058,7 +19289,7 @@ export type PageTypeUpdateInput = { addAttributes?: InputMaybe>; /** Name of the page type. */ name?: InputMaybe; - /** List of attribute IDs to be unassigned from the page type. */ + /** List of attribute IDs to be assigned to the page type. */ removeAttributes?: InputMaybe>; /** Page type slug. */ slug?: InputMaybe; @@ -19133,21 +19364,6 @@ export type PasswordChange = { user: Maybe; }; -/** - * Controls whether password-based authentication is allowed. - * - * ENABLED - any user can log in with a password. This is the default behavior. - * CUSTOMERS_ONLY - only customer users can log in with a password. - * If a staff user logs in with a password, they will be treated as a customer - * — the issued token will not contain any staff permissions. - * DISABLED - no user can log in with a password. - * - */ -export type PasswordLoginModeEnum = - | 'CUSTOMERS_ONLY' - | 'DISABLED' - | 'ENABLED'; - /** Represents a payment of a given type. */ export type Payment = Node & ObjectWithMetadata & { /** @@ -19204,6 +19420,11 @@ export type Payment = Node & ObjectWithMetadata & { modified: Scalars['DateTime']['output']; /** Order associated with a payment. */ order: Maybe; + /** + * Informs whether this is a partial payment. + * @deprecated This field is reserved for the Adyen Gateway plugin. For other gateways, its value is always `false`. This field will be removed in 3.23 along with the plugin. + */ + partial: Scalars['Boolean']['output']; /** Type of method used for payment. */ paymentMethodType: Scalars['String']['output']; /** List of private metadata items. Requires staff permissions to access. */ @@ -19611,19 +19832,13 @@ export type PaymentMethodDetailsFilterInput = { }; /** - * Details of the payment method used for the transaction. One of `card`, `other`, or `giftCard` is required. + * Details of the payment method used for the transaction. One of `card` or `other` is required. * * Added in Saleor 3.22. */ export type PaymentMethodDetailsInput = { /** Details of the card payment method used for the transaction. */ card?: InputMaybe; - /** - * Details of the gift card payment method used for the transaction. - * - * Added in Saleor 3.23. - */ - giftCard?: InputMaybe; /** Details of the non-card payment method used for this transaction. */ other?: InputMaybe; }; @@ -19769,13 +19984,11 @@ export type PaymentMethodTokenizationResult = * The following types are possible: * CARD - represents a card payment method. * OTHER - represents any payment method that is not a card payment. - * GIFT_CARD - represents a gift card payment method. * * */ export type PaymentMethodTypeEnum = | 'CARD' - | 'GIFT_CARD' | 'OTHER'; export type PaymentMethodTypeEnumFilterInput = { @@ -20624,6 +20837,7 @@ export type ProductBulkCreateErrorCode = | 'ATTRIBUTE_VARIANTS_DISABLED' | 'BLANK' | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' | 'GRAPHQL_ERROR' | 'INVALID' | 'INVALID_PRICE' @@ -21045,6 +21259,7 @@ export type ProductErrorCode = | 'ATTRIBUTE_VARIANTS_DISABLED' | 'CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT' | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' | 'GRAPHQL_ERROR' | 'INVALID' | 'INVALID_FILE_TYPE' @@ -21059,7 +21274,8 @@ export type ProductErrorCode = | 'REQUIRED' | 'UNIQUE' | 'UNSUPPORTED_MEDIA_PROVIDER' - | 'UNSUPPORTED_MIME_TYPE'; + | 'UNSUPPORTED_MIME_TYPE' + | 'VARIANT_NO_DIGITAL_CONTENT'; /** Event sent when product export is completed. */ export type ProductExportCompleted = Event & { @@ -21654,17 +21870,11 @@ export type ProductType = Node & ObjectWithMetadata & { * Requires one of the following permissions: MANAGE_PRODUCTS. */ availableAttributes: Maybe; - /** - * Whether the product type has variants. - * @deprecated This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ + /** Whether the product type has variants. */ hasVariants: Scalars['Boolean']['output']; /** The ID of the product type. */ id: Scalars['ID']['output']; - /** - * Whether the product type is digital - doesn't have any effect, it's present for backward-compatibility. - * @deprecated Will be removed in v3.24.0, use metadata or attributes instead. - */ + /** Whether the product type is digital. */ isDigital: Scalars['Boolean']['output']; /** Whether shipping is required for this product type. */ isShippingRequired: Scalars['Boolean']['output']; @@ -21840,11 +22050,6 @@ export type ProductTypeEnum = | 'SHIPPABLE'; export type ProductTypeFilterInput = { - /** - * - * - * DEPRECATED: this field will be removed. The field has no effect on the API behavior. This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ configurable?: InputMaybe; ids?: InputMaybe>; kind?: InputMaybe; @@ -21855,13 +22060,9 @@ export type ProductTypeFilterInput = { }; export type ProductTypeInput = { - /** - * Determines if product of this type has multiple variants. This option mainly simplifies product management in the dashboard. There is always at least one variant created under the hood. - * - * DEPRECATED: this field will be removed. The field has no effect on the API behavior. This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ + /** Determines if product of this type has multiple variants. This option mainly simplifies product management in the dashboard. There is always at least one variant created under the hood. */ hasVariants?: InputMaybe; - /** Determines if products are digital - doesn't have any effect, it's present for backward-compatibility. */ + /** Determines if products are digital. */ isDigital?: InputMaybe; /** Determines if shipping is required for products of this variant. */ isShippingRequired?: InputMaybe; @@ -21994,6 +22195,12 @@ export type ProductVariant = Node & ObjectWithAttributes & ObjectWithMetadata & channelListings: Maybe>; /** The date and time when the product variant was created. */ created: Scalars['DateTime']['output']; + /** + * Digital content for the product variant. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ + digitalContent: Maybe; /** External ID of this product. */ externalReference: Maybe; /** The ID of the product variant. */ @@ -22393,9 +22600,7 @@ export type ProductVariantChannelListing = Node & { /** The price of the variant. */ price: Maybe; /** - * Previous price of the variant in channel. Useful for providing promotion information required by customer protection laws such as EU Omnibus directive. - * - * Warning: This field is not updated automatically. Use Channel Listings mutation to update it manually. + * Prior price of the variant used for discount calculations. * * Added in Saleor 3.21. */ @@ -24020,6 +24225,20 @@ export type Query = { * Requires one of the following permissions: MANAGE_ORDERS, MANAGE_USERS. */ customers: Maybe; + /** + * Look up digital content by ID. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContent: Maybe; + /** + * List of digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContents: Maybe; /** * List of draft orders. The query will not initiate any external requests, including filtering available shipping methods, or performing external tax calculations. * @@ -24347,7 +24566,7 @@ export type Query = { export type Query_EntitiesArgs = { - representations: Array; + representations?: InputMaybe>>; }; @@ -24495,6 +24714,19 @@ export type QueryCustomersArgs = { }; +export type QueryDigitalContentArgs = { + id: Scalars['ID']['input']; +}; + + +export type QueryDigitalContentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + export type QueryDraftOrdersArgs = { after?: InputMaybe; before?: InputMaybe; @@ -24888,7 +25120,6 @@ export type QueryTransactionsArgs = { before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - sortBy?: InputMaybe; where?: InputMaybe; }; @@ -25033,7 +25264,7 @@ export type RefundSettingsErrorCode = export type RefundSettingsUpdate = { errors: Array; /** Refund settings. */ - refundSettings: Maybe; + refundSettings: RefundSettings; /** @deprecated Use `errors` field instead. */ refundSettingsErrors: Array; }; @@ -25784,10 +26015,7 @@ export type ShippingMethod = Node & ObjectWithMetadata & { id: Scalars['ID']['output']; /** Maximum delivery days for this shipping method. */ maximumDeliveryDays: Maybe; - /** - * Maximum order price for this shipping method. - * @deprecated No longer supported - */ + /** Maximum order price for this shipping method. */ maximumOrderPrice: Maybe; /** * Maximum order weight for this shipping method. @@ -25808,10 +26036,7 @@ export type ShippingMethod = Node & ObjectWithMetadata & { metafields: Maybe; /** Minimum delivery days for this shipping method. */ minimumDeliveryDays: Maybe; - /** - * Minimal order price for this shipping method. - * @deprecated No longer supported - */ + /** Minimal order price for this shipping method. */ minimumOrderPrice: Maybe; /** * Minimum order weight for this shipping method. @@ -26582,6 +26807,12 @@ export type Shop = ObjectWithMetadata & { * Requires one of the following permissions: MANAGE_SETTINGS. */ allowLoginWithoutConfirmation: Maybe; + /** + * Enable automatic fulfillment for all digital products. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + automaticFulfillmentDigitalProducts: Maybe; /** List of available external authentications. */ availableExternalAuthentications: Array; /** List of available payment gateways. */ @@ -26615,6 +26846,18 @@ export type Shop = ObjectWithMetadata & { customerSetPasswordUrl: Maybe; /** Shop's default country. */ defaultCountry: Maybe; + /** + * Default number of max downloads per digital content URL. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + defaultDigitalMaxDownloads: Maybe; + /** + * Default number of days which digital content URL will be valid. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + defaultDigitalUrlValidDays: Maybe; /** * Default shop's email sender's address. * @@ -26684,12 +26927,6 @@ export type Shop = ObjectWithMetadata & { metafields: Maybe; /** Shop's name. */ name: Scalars['String']['output']; - /** - * Controls whether password-based authentication is allowed. - * - * Added in Saleor 3.23. - */ - passwordLoginMode: PasswordLoginModeEnum; /** List of available permissions. */ permissions: Array; /** List of possible phone prefixes. */ @@ -26736,12 +26973,6 @@ export type Shop = ObjectWithMetadata & { trackInventoryByDefault: Maybe; /** Returns translated shop fields for the given language code. */ translation: Maybe; - /** - * When enabled, stock availability is filtered by shipping zones and the destination address (legacy behavior). When disabled, stock availability is determined only by the direct warehouse-channel link, ignoring shipping zones. - * - * Added in Saleor 3.23. - */ - useLegacyShippingZoneStockAvailability: Scalars['Boolean']['output']; /** * Use legacy update webhook emission. When enabled, update webhooks (e.g. `customerUpdated`,`productVariantUpdated`) are sent even when only metadata changes. When disabled, update webhooks are not sent for metadata-only changes; only metadata-specific webhooks (e.g., `customerMetadataUpdated`, `productVariantMetadataUpdated`) are sent. * @@ -26849,7 +27080,6 @@ export type ShopErrorCode = | 'GRAPHQL_ERROR' | 'INVALID' | 'NOT_FOUND' - | 'PASSWORD_AUTH_RESTRICTION' | 'REQUIRED' | 'UNIQUE'; @@ -26883,6 +27113,8 @@ export type ShopMetadataUpdated = Event & { export type ShopSettingsInput = { /** Enable possibility to login without account confirmation. */ allowLoginWithoutConfirmation?: InputMaybe; + /** Enable automatic fulfillment for all digital products. */ + automaticFulfillmentDigitalProducts?: InputMaybe; /** * Charge taxes on shipping. * @@ -26891,6 +27123,10 @@ export type ShopSettingsInput = { chargeTaxesOnShipping?: InputMaybe; /** URL of a view where customers can set their password. */ customerSetPasswordUrl?: InputMaybe; + /** Default number of max downloads per digital content URL. */ + defaultDigitalMaxDownloads?: InputMaybe; + /** Default number of days which digital content URL will be valid. */ + defaultDigitalUrlValidDays?: InputMaybe; /** Default email sender's address. */ defaultMailSenderAddress?: InputMaybe; /** Default email sender's name. */ @@ -26927,12 +27163,6 @@ export type ShopSettingsInput = { * Warning: never store sensitive information, including financial data such as credit card details. */ metadata?: InputMaybe>; - /** - * Controls whether password-based authentication is allowed. - * - * Added in Saleor 3.23. - */ - passwordLoginMode?: InputMaybe; /** * When enabled, address fields that are not valid for a given country (according to Google's i18n address data) will be preserved instead of being removed during validation. Validation errors are still returned. * @@ -26951,12 +27181,6 @@ export type ShopSettingsInput = { reserveStockDurationAuthenticatedUser?: InputMaybe; /** This field is used as a default value for `ProductVariant.trackInventory`. */ trackInventoryByDefault?: InputMaybe; - /** - * When enabled, stock availability is filtered by shipping zones and the destination address (legacy behavior). When disabled, stock availability is determined only by the direct warehouse-channel link, ignoring shipping zones. - * - * Added in Saleor 3.23. - */ - useLegacyShippingZoneStockAvailability?: InputMaybe; /** * Use legacy update webhook emission. When enabled, update webhooks (e.g. `customerUpdated`,`productVariantUpdated`) are sent even when only metadata changes. When disabled, update webhooks are not sent for metadata-only changes; only metadata-specific webhooks (e.g., `customerMetadataUpdated`, `productVariantMetadataUpdated`) are sent. * @@ -28639,26 +28863,6 @@ export type TransactionEvent = Node & { type: Maybe; }; -/** - * Filter input for transaction events data. - * - * Added in Saleor 3.23. - */ -export type TransactionEventFilterInput = { - /** - * Filter transaction events by created at date. - * - * Added in Saleor 3.23. - */ - createdAt?: InputMaybe; - /** - * Filter transaction events by type. - * - * Added in Saleor 3.23. - */ - type?: InputMaybe; -}; - export type TransactionEventInput = { /** The message related to the event. */ message?: InputMaybe; @@ -28751,13 +28955,6 @@ export type TransactionEventTypeEnum = | 'REFUND_REVERSE' | 'REFUND_SUCCESS'; -export type TransactionEventTypeEnumFilterInput = { - /** The value equal to. */ - eq?: InputMaybe; - /** The value included in. */ - oneOf?: InputMaybe>; -}; - /** Filter input for transactions. */ export type TransactionFilterInput = { /** Filter by metadata fields of transactions. */ @@ -29107,27 +29304,6 @@ export type TransactionRequestRefundForGrantedRefundErrorCode = | 'REFUND_ALREADY_PROCESSED' | 'REFUND_IS_PENDING'; -export type TransactionSortField = - /** - * Sort transactions by creation date. - * - * Added in Saleor 3.23. - */ - | 'CREATED_AT' - /** - * Sort transactions by modification date. - * - * Added in Saleor 3.23. - */ - | 'MODIFIED_AT'; - -export type TransactionSortingInput = { - /** Specifies the direction in which to sort transactions. */ - direction: OrderDirection; - /** Sort transactions by the selected field. */ - field: TransactionSortField; -}; - /** * Update transaction. * @@ -29201,25 +29377,7 @@ export type TransactionWhereInput = { OR?: InputMaybe>; /** Filter by app identifier. */ appIdentifier?: InputMaybe; - /** - * Filter transactions by created at date. - * - * Added in Saleor 3.23. - */ - createdAt?: InputMaybe; - /** - * Filter by transaction events. Each list item represents conditions that must be satisfied by a single event. The filter matches transactions that have related events meeting all specified groups of conditions. - * - * Added in Saleor 3.23. - */ - events?: InputMaybe>; ids?: InputMaybe>; - /** - * Filter transactions by modified at date. - * - * Added in Saleor 3.23. - */ - modifiedAt?: InputMaybe; /** Filter by PSP reference. */ pspReference?: InputMaybe; }; @@ -29693,9 +29851,7 @@ export type UserSortField = /** Sort users by last name. */ | 'LAST_NAME' /** Sort users by order count. */ - | 'ORDER_COUNT' - /** Sort users by rank. Note: This option is available only with the `search` filter. */ - | 'RANK'; + | 'ORDER_COUNT'; export type UserSortingInput = { /** Specifies the direction in which to sort users. */ @@ -31910,6 +32066,15 @@ export type WeightUnitsEnum = | 'OZ' | 'TONNE'; +/** Represents the WIDGET target options for an app extension. */ +export type WidgetTargetOptions = { + /** + * HTTP method for Widget target (GET or POST) + * @deprecated Use `settings` field directly. + */ + method: HttpMethod; +}; + /** _Entity union as defined by Federation spec. */ export type _Entity = Address | App | Category | Collection | Group | Order | PageType | Product | ProductMedia | ProductType | ProductVariant | User; @@ -32730,6 +32895,23 @@ export type VendorPageDeleteVariables = Exact<{ export type VendorPageDelete = VendorPageDelete_Mutation; +export type VendorPagePublish_pageUpdate_PageUpdate_page_Page = { id: string, isPublished: boolean, publishedAt: string | null }; + +export type VendorPagePublish_pageUpdate_PageUpdate_errors_PageError = { field: string | null, message: string | null, code: PageErrorCode }; + +export type VendorPagePublish_pageUpdate_PageUpdate = { page: VendorPagePublish_pageUpdate_PageUpdate_page_Page | null, errors: Array }; + +export type VendorPagePublish_Mutation = { pageUpdate: VendorPagePublish_pageUpdate_PageUpdate | null }; + + +export type VendorPagePublishVariables = Exact<{ + id: Scalars['ID']['input']; + input: PageInput; +}>; + + +export type VendorPagePublish = VendorPagePublish_Mutation; + export type CategoriesList_categories_CategoryCountableConnection_edges_CategoryCountableEdge_node_Category = { id: string, name: string, slug: string }; export type CategoriesList_categories_CategoryCountableConnection_edges_CategoryCountableEdge = { cursor: string, node: CategoriesList_categories_CategoryCountableConnection_edges_CategoryCountableEdge_node_Category }; @@ -32867,6 +33049,8 @@ export type CollectionsListVariables = Exact<{ export type CollectionsList = CollectionsList_Query; +export type CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_metadata_MetadataItem = { key: string, value: string }; + export type CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_addresses_Address_country_CountryDisplay = { code: string, country: string }; export type CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_addresses_Address = { id: string, firstName: string, lastName: string, companyName: string, streetAddress1: string, streetAddress2: string, city: string, cityArea: string, countryArea: string, postalCode: string, phone: string | null, country: CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_addresses_Address_country_CountryDisplay }; @@ -32879,7 +33063,7 @@ export type CustomerByEmail_customers_UserCountableConnection_edges_UserCountabl export type CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_defaultShippingAddress_Address = { id: string, firstName: string, lastName: string, companyName: string, streetAddress1: string, streetAddress2: string, city: string, cityArea: string, countryArea: string, postalCode: string, phone: string | null, country: CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_defaultShippingAddress_Address_country_CountryDisplay }; -export type CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User = { id: string, firstName: string, lastName: string, email: string, addresses: Array, defaultBillingAddress: CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_defaultBillingAddress_Address | null, defaultShippingAddress: CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_defaultShippingAddress_Address | null }; +export type CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User = { id: string, firstName: string, lastName: string, email: string, metadata: Array, addresses: Array, defaultBillingAddress: CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_defaultBillingAddress_Address | null, defaultShippingAddress: CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User_defaultShippingAddress_Address | null }; export type CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge = { node: CustomerByEmail_customers_UserCountableConnection_edges_UserCountableEdge_node_User }; @@ -33122,7 +33306,7 @@ export type ProductDetail_product_Product_assignedAttributes_AssignedBooleanAttr export type ProductDetail_product_Product_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute_choices_AttributeValueCountableConnection = { edges: Array }; -export type ProductDetail_product_Product_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute = { id: string, name: string, slug: string, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductDetail_product_Product_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute_choices_AttributeValueCountableConnection | null }; +export type ProductDetail_product_Product_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute = { id: string, name: string | null, slug: string | null, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductDetail_product_Product_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute_choices_AttributeValueCountableConnection | null }; export type ProductDetail_product_Product_assignedAttributes_AssignedFileAttribute_fileValue_File = { url: string, contentType: string | null }; @@ -33265,7 +33449,7 @@ export type ProductTypeDetail_productType_ProductType_productAttributes_Attribut export type ProductTypeDetail_productType_ProductType_productAttributes_Attribute_choices_AttributeValueCountableConnection = { edges: Array }; -export type ProductTypeDetail_productType_ProductType_productAttributes_Attribute = { id: string, name: string, slug: string, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductTypeDetail_productType_ProductType_productAttributes_Attribute_choices_AttributeValueCountableConnection | null }; +export type ProductTypeDetail_productType_ProductType_productAttributes_Attribute = { id: string, name: string | null, slug: string | null, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductTypeDetail_productType_ProductType_productAttributes_Attribute_choices_AttributeValueCountableConnection | null }; export type ProductTypeDetail_productType_ProductType_assignedVariantAttributes_AssignedVariantAttribute_attribute_Attribute_choices_AttributeValueCountableConnection_edges_AttributeValueCountableEdge_node_AttributeValue = { id: string, name: string | null, slug: string | null }; @@ -33273,7 +33457,7 @@ export type ProductTypeDetail_productType_ProductType_assignedVariantAttributes_ export type ProductTypeDetail_productType_ProductType_assignedVariantAttributes_AssignedVariantAttribute_attribute_Attribute_choices_AttributeValueCountableConnection = { edges: Array }; -export type ProductTypeDetail_productType_ProductType_assignedVariantAttributes_AssignedVariantAttribute_attribute_Attribute = { id: string, name: string, slug: string, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductTypeDetail_productType_ProductType_assignedVariantAttributes_AssignedVariantAttribute_attribute_Attribute_choices_AttributeValueCountableConnection | null }; +export type ProductTypeDetail_productType_ProductType_assignedVariantAttributes_AssignedVariantAttribute_attribute_Attribute = { id: string, name: string | null, slug: string | null, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductTypeDetail_productType_ProductType_assignedVariantAttributes_AssignedVariantAttribute_attribute_Attribute_choices_AttributeValueCountableConnection | null }; export type ProductTypeDetail_productType_ProductType_assignedVariantAttributes_AssignedVariantAttribute = { variantSelection: boolean, attribute: ProductTypeDetail_productType_ProductType_assignedVariantAttributes_AssignedVariantAttribute_attribute_Attribute }; @@ -33295,7 +33479,7 @@ export type ProductTypesList_productTypes_ProductTypeCountableConnection_edges_P export type ProductTypesList_productTypes_ProductTypeCountableConnection_edges_ProductTypeCountableEdge_node_ProductType_productAttributes_Attribute_choices_AttributeValueCountableConnection = { edges: Array }; -export type ProductTypesList_productTypes_ProductTypeCountableConnection_edges_ProductTypeCountableEdge_node_ProductType_productAttributes_Attribute = { id: string, name: string, slug: string, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductTypesList_productTypes_ProductTypeCountableConnection_edges_ProductTypeCountableEdge_node_ProductType_productAttributes_Attribute_choices_AttributeValueCountableConnection | null }; +export type ProductTypesList_productTypes_ProductTypeCountableConnection_edges_ProductTypeCountableEdge_node_ProductType_productAttributes_Attribute = { id: string, name: string | null, slug: string | null, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductTypesList_productTypes_ProductTypeCountableConnection_edges_ProductTypeCountableEdge_node_ProductType_productAttributes_Attribute_choices_AttributeValueCountableConnection | null }; export type ProductTypesList_productTypes_ProductTypeCountableConnection_edges_ProductTypeCountableEdge_node_ProductType = { id: string, name: string, slug: string, hasVariants: boolean, productAttributes: Array | null }; @@ -33336,7 +33520,7 @@ export type ProductVariantDetail_productVariant_ProductVariant_assignedAttribute export type ProductVariantDetail_productVariant_ProductVariant_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute_choices_AttributeValueCountableConnection = { edges: Array }; -export type ProductVariantDetail_productVariant_ProductVariant_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute = { id: string, name: string, slug: string, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductVariantDetail_productVariant_ProductVariant_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute_choices_AttributeValueCountableConnection | null }; +export type ProductVariantDetail_productVariant_ProductVariant_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute = { id: string, name: string | null, slug: string | null, inputType: AttributeInputTypeEnum | null, valueRequired: boolean, choices: ProductVariantDetail_productVariant_ProductVariant_assignedAttributes_AssignedBooleanAttribute_attribute_Attribute_choices_AttributeValueCountableConnection | null }; export type ProductVariantDetail_productVariant_ProductVariant_assignedAttributes_AssignedFileAttribute_fileValue_File = { url: string, contentType: string | null }; @@ -33534,7 +33718,7 @@ export type VendorCustomerIdsVariables = Exact<{ export type VendorCustomerIds = VendorCustomerIds_Query; -export type VendorPageStatus_page_Page_attributes_SelectedAttribute_attribute_Attribute = { id: string, slug: string }; +export type VendorPageStatus_page_Page_attributes_SelectedAttribute_attribute_Attribute = { id: string, slug: string | null }; export type VendorPageStatus_page_Page_attributes_SelectedAttribute_values_AttributeValue_file_File = { url: string }; @@ -33554,7 +33738,7 @@ export type VendorPageStatusVariables = Exact<{ export type VendorPageStatus = VendorPageStatus_Query; -export type VendorPageType_pageTypes_PageTypeCountableConnection_edges_PageTypeCountableEdge_node_PageType_attributes_Attribute = { id: string, slug: string, inputType: AttributeInputTypeEnum | null }; +export type VendorPageType_pageTypes_PageTypeCountableConnection_edges_PageTypeCountableEdge_node_PageType_attributes_Attribute = { id: string, slug: string | null, inputType: AttributeInputTypeEnum | null }; export type VendorPageType_pageTypes_PageTypeCountableConnection_edges_PageTypeCountableEdge_node_PageType = { id: string, name: string, slug: string, attributes: Array | null }; @@ -34488,6 +34672,22 @@ export const VendorPageDeleteDocument = new TypedDocumentString(` } } `) as unknown as TypedDocumentString; +export const VendorPagePublishDocument = new TypedDocumentString(` + mutation VendorPagePublish($id: ID!, $input: PageInput!) { + pageUpdate(id: $id, input: $input) { + page { + id + isPublished + publishedAt + } + errors { + field + message + code + } + } +} + `) as unknown as TypedDocumentString; export const CategoriesListDocument = new TypedDocumentString(` query CategoriesList($first: Int = 100, $after: String, $filter: CategoryFilterInput) { categories(first: $first, after: $after, filter: $filter) { @@ -34667,6 +34867,10 @@ export const CustomerByEmailDocument = new TypedDocumentString(` firstName lastName email + metadata { + key + value + } addresses { id firstName diff --git a/apps/marketplace/src/graphql/mutations/VendorPagePublish.graphql b/apps/marketplace/src/graphql/mutations/VendorPagePublish.graphql new file mode 100644 index 000000000..6e9b61dfb --- /dev/null +++ b/apps/marketplace/src/graphql/mutations/VendorPagePublish.graphql @@ -0,0 +1,14 @@ +mutation VendorPagePublish($id: ID!, $input: PageInput!) { + pageUpdate(id: $id, input: $input) { + page { + id + isPublished + publishedAt + } + errors { + field + message + code + } + } +} diff --git a/apps/marketplace/src/graphql/queries/CustomerByEmail.graphql b/apps/marketplace/src/graphql/queries/CustomerByEmail.graphql index f56a699bf..c9c087c9b 100644 --- a/apps/marketplace/src/graphql/queries/CustomerByEmail.graphql +++ b/apps/marketplace/src/graphql/queries/CustomerByEmail.graphql @@ -6,6 +6,10 @@ query CustomerByEmail($search: String!, $ids: [ID!]) { firstName lastName email + metadata { + key + value + } addresses { id firstName diff --git a/apps/marketplace/src/lib/saleor/vendor-page-publication.ts b/apps/marketplace/src/lib/saleor/vendor-page-publication.ts new file mode 100644 index 000000000..1db638110 --- /dev/null +++ b/apps/marketplace/src/lib/saleor/vendor-page-publication.ts @@ -0,0 +1,173 @@ +import type { BaseError } from "@nimara/domain/objects/Error"; +import { + type AsyncResult, + err, + ok, + type Result, +} from "@nimara/domain/objects/Result"; +import { graphqlClient } from "@nimara/infrastructure/graphql/client"; + +import { + CustomerByEmailDocument, + VendorPagePublishDocument, +} from "@/graphql/generated/client"; +import { config } from "@/lib/config"; +import { METADATA_KEYS } from "@/lib/saleor/consts"; +import { marketplaceLogger } from "@/services/logging"; + +import { getAppConfig } from "./app-config"; + +type VendorPagePublicationError = BaseError<"ACCOUNT_CONFIRM_ERROR">; + +function fail( + stage: string, + details?: Record, +): Result<{ vendorPageId: string }, VendorPagePublicationError> { + marketplaceLogger.error("Failed to publish vendor page", { + stage, + ...details, + }); + + return err([ + { + code: "ACCOUNT_CONFIRM_ERROR", + message: "Account confirmed, but vendor page publication failed.", + }, + ]); +} + +function getSaleorDomainFromEnv(): string { + const url = process.env.NEXT_PUBLIC_SALEOR_URL; + + if (!url) { + throw new Error("NEXT_PUBLIC_SALEOR_URL is not set"); + } + + return new URL(url).hostname; +} + +function isNonEmptyString(value: unknown): value is string { + return typeof value === "string" && value.trim().length > 0; +} + +function getFirstSaleorErrorMessage( + errors: + | Array<{ field?: string | null; message?: string | null }> + | null + | undefined, +): string | undefined { + return errors?.find((error) => error?.message)?.message ?? undefined; +} + +export async function publishVendorPageForConfirmedAccount( + email: string, +): AsyncResult<{ vendorPageId: string }, VendorPagePublicationError> { + let saleorDomain: string; + + try { + saleorDomain = getSaleorDomainFromEnv(); + } catch (error) { + return fail("saleor_domain_missing", { + error: error instanceof Error ? error.message : String(error), + }); + } + + let appConfig: Awaited>; + + try { + appConfig = await getAppConfig(saleorDomain); + } catch (error) { + return fail("app_config_load_failed", { + appConfigProvider: config.appConfig.provider, + error: error instanceof Error ? error.message : String(error), + saleorDomain, + }); + } + + if (!appConfig?.authToken) { + return fail("app_config_missing_auth_token", { + appConfigProvider: config.appConfig.provider, + saleorDomain, + }); + } + + const apiUrl = + typeof (appConfig.config as { apiUrl?: unknown })?.apiUrl === "string" + ? String((appConfig.config as { apiUrl: string }).apiUrl) + : `https://${saleorDomain}/graphql/`; + + const saleor = graphqlClient(apiUrl, appConfig.authToken); + const customerResult = await saleor.execute(CustomerByEmailDocument, { + operationName: "CustomerByEmailQuery", + variables: { search: email }, + options: { cache: "no-store" }, + }); + + if (!customerResult.ok) { + return fail("customer_lookup_request_failed", { + errors: customerResult.errors, + operationName: "CustomerByEmailQuery", + }); + } + + const normalizedEmail = email.trim().toLowerCase(); + const customer = customerResult.data.customers?.edges + .map((edge) => edge?.node) + .find( + (node) => + isNonEmptyString(node?.email) && + node.email.trim().toLowerCase() === normalizedEmail, + ); + + const vendorPageId = customer?.metadata.find( + (metadata) => metadata.key === METADATA_KEYS.VENDOR_ID, + )?.value; + + if (!isNonEmptyString(vendorPageId)) { + return fail("vendor_page_id_missing", { + customerId: customer?.id, + email, + }); + } + + const publishResult = await saleor.execute(VendorPagePublishDocument, { + operationName: "VendorPagePublishMutation", + variables: { + id: vendorPageId, + input: { + isPublished: true, + publishedAt: new Date().toISOString(), + }, + }, + options: { cache: "no-store" }, + }); + + if (!publishResult.ok) { + return fail("vendor_page_publish_request_failed", { + errors: publishResult.errors, + operationName: "VendorPagePublishMutation", + vendorPageId, + }); + } + + const payload = publishResult.data.pageUpdate; + const errors = payload?.errors ?? []; + + if (!payload) { + return fail("vendor_page_publish_missing_payload", { vendorPageId }); + } + + if (errors.length > 0) { + return fail("vendor_page_publish_validation_errors", { + errors, + message: getFirstSaleorErrorMessage(errors), + vendorPageId, + }); + } + + if (!payload.page?.isPublished) { + return fail("vendor_page_publish_not_published", { vendorPageId }); + } + + return ok({ vendorPageId }); +} diff --git a/apps/storefront/global.d.ts b/apps/storefront/global.d.ts index 49be4feb2..bf9207417 100644 --- a/apps/storefront/global.d.ts +++ b/apps/storefront/global.d.ts @@ -75,7 +75,8 @@ type RevalidateTag = | `CMS:${Slug}` | `COLLECTION:${Slug}` | `PRODUCT:${Slug}` - | `SEARCH:${Slug}`; + | `SEARCH:${Slug}` + | `MARKETPLACE:VENDOR:${Id}`; declare global { type RevalidateTag = RevalidateTag; diff --git a/apps/storefront/src/app/[locale]/(checkout)/checkout/page.tsx b/apps/storefront/src/app/[locale]/(checkout)/checkout/page.tsx index a1bdec4e4..e9bb76573 100644 --- a/apps/storefront/src/app/[locale]/(checkout)/checkout/page.tsx +++ b/apps/storefront/src/app/[locale]/(checkout)/checkout/page.tsx @@ -5,6 +5,11 @@ import { type AllCountryCode } from "@nimara/domain/consts"; import { type AppErrorCode } from "@nimara/domain/objects/Error"; import { redirect } from "@nimara/i18n/routing"; +import { + MARKETPLACE_DEFAULT_VENDOR_DISPLAY_NAME, + MARKETPLACE_NO_VENDOR_BUCKET, +} from "@/config"; +import { clientEnvs } from "@/envs/client"; import { getCheckoutOrRedirect, getMarketplaceCheckoutsOrRedirect, @@ -38,43 +43,43 @@ export const metadata: Metadata = { }; export default async function Page(props: PageProps) { - const isMarketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; - - if (isMarketplaceEnabled) { - return renderMarketplaceCheckoutPage(props); - } - - return renderLegacyCheckoutPage(props); -} + const isMarketplaceEnabled = clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED; -const renderLegacyCheckoutPage = async (props: PageProps) => { - const [{ locale }, searchParams, checkout, accessToken, services] = + const [{ locale }, searchParams, checkoutData, accessToken, services] = await Promise.all([ props.params, props.searchParams, - getCheckoutOrRedirect(), + isMarketplaceEnabled + ? getMarketplaceCheckoutsOrRedirect() + : getCheckoutOrRedirect(), getAccessToken(), getServiceRegistry(), ]); + const marketplaceCheckouts = Array.isArray(checkoutData) + ? checkoutData + : null; + const checkout = Array.isArray(checkoutData) + ? getMarketplaceCheckoutSummary(checkoutData) + : checkoutData; + const primaryCheckout = + marketplaceCheckouts?.find((item) => item.checkout.isShippingRequired) + ?.checkout ?? + marketplaceCheckouts?.[0].checkout ?? + checkout; + const currentStep = searchParams.step; if (!currentStep) { - let step: CheckoutStep | null = null; + let step: CheckoutStep; - const requiresEmail = checkout.email === null; - const requiresShipping = checkout.isShippingRequired; - const requiresShippingAddress = checkout.shippingAddress === null; - const requiresDeliveryMethod = checkout.deliveryMethod === null; - - if (requiresEmail) { + if (checkout.email === null) { step = CHECKOUT_STEPS_MAP.USER_DETAILS; - } else if (!requiresShipping) { + } else if (!checkout.isShippingRequired) { step = CHECKOUT_STEPS_MAP.PAYMENT; - } else if (requiresShippingAddress) { + } else if (checkout.shippingAddress === null) { step = CHECKOUT_STEPS_MAP.SHIPPING_ADDRESS; - } else if (requiresDeliveryMethod) { + } else if (checkout.deliveryMethod === null) { step = CHECKOUT_STEPS_MAP.DELIVERY_METHOD; } else { step = CHECKOUT_STEPS_MAP.PAYMENT; @@ -88,12 +93,12 @@ const renderLegacyCheckoutPage = async (props: PageProps) => { const userService = await services.getUserService(); const resultUserGet = await userService.userGet(accessToken); - const user = resultUserGet.ok ? resultUserGet.data : null; + const shippingAddressSectionData = checkout.isShippingRequired ? await getCheckoutShippingAddressSectionData({ accessToken, - checkout, + checkout: primaryCheckout, country: searchParams.country, locale, user, @@ -103,7 +108,7 @@ const renderLegacyCheckoutPage = async (props: PageProps) => { currentStep === CHECKOUT_STEPS_MAP.PAYMENT ? await getCheckoutPaymentSectionData({ accessToken, - checkout, + checkout: primaryCheckout, country: searchParams.country, errorCode: searchParams.errorCode, locale, @@ -111,118 +116,48 @@ const renderLegacyCheckoutPage = async (props: PageProps) => { }) : null; + const vendorIdNames: Record = { + // Default vendor name for marketplace checkouts + [MARKETPLACE_NO_VENDOR_BUCKET]: MARKETPLACE_DEFAULT_VENDOR_DISPLAY_NAME, + }; + + if (isMarketplaceEnabled) { + const marketplaceService = await services.getMarketplaceService(); + const vendorIds = [ + ...new Set(checkout.lines.map((line) => line.product.vendorId)), + ].filter(Boolean); + + await Promise.all( + vendorIds.map(async (vendorId) => { + const result = await marketplaceService.vendorGetByID(vendorId); + + if (result.ok && result.data) { + vendorIdNames[vendorId] = result.data.name; + } + }), + ); + } + return ( } - > - - - ); -}; - -const renderMarketplaceCheckoutPage = async (props: PageProps) => { - const [{ locale }, searchParams, checkoutItems, accessToken, services] = - await Promise.all([ - props.params, - props.searchParams, - getMarketplaceCheckoutsOrRedirect(), - getAccessToken(), - getServiceRegistry(), - ]); - - const checkoutSummary = getMarketplaceCheckoutSummary(checkoutItems); - const primaryCheckout = - checkoutItems.find((item) => item.checkout.isShippingRequired)?.checkout ?? - checkoutItems[0].checkout; - - const currentStep = searchParams.step; - - if (!currentStep) { - let step: CheckoutStep | null = null; - - const requiresEmail = checkoutItems.some( - (item) => item.checkout.email === null, - ); - const requiresShipping = checkoutItems.some( - (item) => item.checkout.isShippingRequired, - ); - const requiresShippingAddress = checkoutItems.some( - (item) => - item.checkout.isShippingRequired && - item.checkout.shippingAddress === null, - ); - const requiresDeliveryMethod = checkoutItems.some( - (item) => - item.checkout.isShippingRequired && - item.checkout.deliveryMethod === null, - ); - - if (requiresEmail) { - step = CHECKOUT_STEPS_MAP.USER_DETAILS; - } else if (!requiresShipping) { - step = CHECKOUT_STEPS_MAP.PAYMENT; - } else if (requiresShippingAddress) { - step = CHECKOUT_STEPS_MAP.SHIPPING_ADDRESS; - } else if (requiresDeliveryMethod) { - step = CHECKOUT_STEPS_MAP.DELIVERY_METHOD; - } else { - step = CHECKOUT_STEPS_MAP.PAYMENT; - } - - redirect({ - href: paths.checkout.asPath({ query: { step } }), - locale, - }); - } - - const userService = await services.getUserService(); - const resultUserGet = await userService.userGet(accessToken); - const user = resultUserGet.ok ? resultUserGet.data : null; - const shippingAddressSectionData = checkoutSummary.isShippingRequired - ? await getCheckoutShippingAddressSectionData({ - accessToken, - checkout: primaryCheckout, - country: searchParams.country, - locale, - user, - }) - : null; - const paymentSectionData = - currentStep === CHECKOUT_STEPS_MAP.PAYMENT - ? await getCheckoutPaymentSectionData({ - accessToken, - checkout: primaryCheckout, - country: searchParams.country, - errorCode: searchParams.errorCode, - locale, - user, - }) - : null; - - return ( - } > ); -}; +} diff --git a/apps/storefront/src/app/[locale]/(main)/cart/_actions/cart-actions.ts b/apps/storefront/src/app/[locale]/(main)/cart/_actions/cart-actions.ts index c5e0ada7e..64b733449 100644 --- a/apps/storefront/src/app/[locale]/(main)/cart/_actions/cart-actions.ts +++ b/apps/storefront/src/app/[locale]/(main)/cart/_actions/cart-actions.ts @@ -2,10 +2,16 @@ import { deleteLine, + type DeleteLineInput, updateLineQuantity, } from "@nimara/features/cart/shared/actions/cart-actions.core"; -import { revalidateCart } from "@/features/checkout/cart"; +import { + getAllCheckoutIds, + revalidateCart, + setMarketplaceCheckoutIdsCookie, +} from "@/features/checkout/server"; +import { getCurrentRegion } from "@/foundation/regions"; import { storefrontLogger } from "@/services/logging"; import { getServiceRegistry } from "@/services/registry"; @@ -24,6 +30,23 @@ export const updateLineQuantityAction = async ({ }) => { const services = await getServiceRegistry(); + // If the quantity is 0, delete the line + if (quantity === 0) { + const result = await deleteLineAction({ cartId, lineId }); + + if (result.ok) { + void revalidateCart(cartId); + } else { + storefrontLogger.error("Failed to delete line", { + cartId, + lineId, + errors: result.errors, + }); + } + + return result; + } + // Call the pure function with services and context const result = await updateLineQuantity( services, @@ -38,15 +61,15 @@ export const updateLineQuantityAction = async ({ // Handle Next.js-specific side effects (revalidation) if (result.ok) { void revalidateCart(cartId); + } else { + storefrontLogger.error("Failed to update line quantity", { + cartId, + lineId, + quantity, + errors: result.errors, + }); } - storefrontLogger.error("Failed to update line quantity", { - cartId, - lineId, - quantity, - errors: result.errors, - }); - return result; }; @@ -54,13 +77,7 @@ export const updateLineQuantityAction = async ({ * Server action wrapper for deleting a line from the cart. * This is the only file that uses "use server" and Next.js-specific APIs. */ -export const deleteLineAction = async ({ - cartId, - lineId, -}: { - cartId: string; - lineId: string; -}) => { +export const deleteLineAction = async ({ cartId, lineId }: DeleteLineInput) => { const services = await getServiceRegistry(); // Call the pure function with services and context @@ -69,13 +86,64 @@ export const deleteLineAction = async ({ // Handle Next.js-specific side effects (revalidation) if (result.ok) { void revalidateCart(cartId); + } else { + storefrontLogger.error("Failed to delete line", { + cartId, + lineId, + errors: result.errors, + }); } - storefrontLogger.error("Failed to delete line", { - cartId, - lineId, - errors: result.errors, - }); + return result; +}; + +/** + * This server function removes a line from a cart. + * @param cartId - The ID of the cart to delete the line from. + * @param lineId - The ID of the line to delete from the cart. + * @returns The result of the delete operation. + */ +export const deleteLineMarketplaceAction = async ({ + cartId, + lineId, +}: DeleteLineInput) => { + // Standard delete line logic from above + const result = await deleteLineAction({ cartId, lineId }); + + // Marketplace specific logic + // If the delete succeeded, check if the cart is now empty and clean up marketplace cookie + if (result.ok) { + const [services, region] = await Promise.all([ + getServiceRegistry(), + getCurrentRegion(), + ]); + const cartService = await services.getCartService(); + const cartAfterDelete = await cartService.cartGet({ + cartId, + languageCode: region.language.code, + countryCode: region.market.countryCode, + }); + + if (cartAfterDelete.ok && cartAfterDelete.data.lines.length === 0) { + // Cart is now empty, find and remove this checkout ID from the marketplace cookie + const allCheckoutIds = await getAllCheckoutIds(); + + if (Object.keys(allCheckoutIds).length > 0) { + // Find the vendor key that maps to this cartId + const vendorKeyToRemove = Object.entries(allCheckoutIds).find( + ([_, checkoutId]) => checkoutId === cartId, + )?.[0]; + + if (vendorKeyToRemove) { + // Remove this vendor's checkout ID from the cookie + const { [vendorKeyToRemove]: _, ...remainingCheckoutIds } = + allCheckoutIds; + + await setMarketplaceCheckoutIdsCookie(remainingCheckoutIds); + } + } + } + } return result; }; diff --git a/apps/storefront/src/app/[locale]/(main)/cart/_components/marketplace-cart-view.tsx b/apps/storefront/src/app/[locale]/(main)/cart/_components/marketplace-cart-view.tsx index fc2fe39e6..fc41c8f8b 100644 --- a/apps/storefront/src/app/[locale]/(main)/cart/_components/marketplace-cart-view.tsx +++ b/apps/storefront/src/app/[locale]/(main)/cart/_components/marketplace-cart-view.tsx @@ -1,10 +1,15 @@ import { type Cart } from "@nimara/domain/objects/Cart"; import { CartDetails } from "@nimara/features/cart/shared/components/cart-details"; +import { CartShell } from "@nimara/features/cart/shared/components/cart-shell"; import { EmptyCart } from "@nimara/features/cart/shared/components/empty-cart"; import { type CartViewProps } from "@nimara/features/cart/shared/types"; +import { + MARKETPLACE_DEFAULT_VENDOR_DISPLAY_NAME, + MARKETPLACE_NO_VENDOR_BUCKET, +} from "@/config"; import { aggregateCarts } from "@/features/checkout/aggregations"; -import { getCheckoutIdsByVendor } from "@/features/checkout/cart"; +import { getAllCheckoutIds } from "@/features/checkout/server"; export const MarketplaceCartView = async (props: CartViewProps) => { const { @@ -18,11 +23,15 @@ export const MarketplaceCartView = async (props: CartViewProps) => { logger, } = props; - const checkoutIdsByVendor = await getCheckoutIdsByVendor(); - const checkoutIds = [...new Set(Object.values(checkoutIdsByVendor))]; + const allCheckoutIds = await getAllCheckoutIds(); + const checkoutIds = Object.values(allCheckoutIds); if (!checkoutIds.length) { - return ; + return ( + + + + ); } const cartService = await services.getCartService(); @@ -58,7 +67,11 @@ export const MarketplaceCartView = async (props: CartViewProps) => { if (!cartsWithIds.length) { logger.debug("No active marketplace checkouts. Rendering empty cart."); - return ; + return ( + + + + ); } const { aggregatedCart, lineCheckoutIdMap } = aggregateCarts(cartsWithIds); @@ -69,22 +82,37 @@ export const MarketplaceCartView = async (props: CartViewProps) => { : { ok: false as const, errors: [], data: null }; const user = resultUserGet.ok ? resultUserGet.data : null; + const marketplaceService = await services.getMarketplaceService(); + const vendorIdNames: Record = {}; + + for (const [vendorId, _] of Object.entries(allCheckoutIds)) { + if (vendorId === MARKETPLACE_NO_VENDOR_BUCKET) { + vendorIdNames[vendorId] = MARKETPLACE_DEFAULT_VENDOR_DISPLAY_NAME; + } else { + const result = await marketplaceService.vendorGetByID(vendorId); + + if (result.ok && result.data) { + vendorIdNames[vendorId] = result.data.name; + } + } + } + return ( -
-
- -
-
+ + + ); }; diff --git a/apps/storefront/src/app/[locale]/(main)/cart/page.tsx b/apps/storefront/src/app/[locale]/(main)/cart/page.tsx index c9acac613..f44ca301b 100644 --- a/apps/storefront/src/app/[locale]/(main)/cart/page.tsx +++ b/apps/storefront/src/app/[locale]/(main)/cart/page.tsx @@ -3,7 +3,8 @@ import { StandardCartView, } from "@nimara/features/cart/shop-basic-cart/standard"; -import { getCheckoutId, revalidateCart } from "@/features/checkout/cart"; +import { clientEnvs } from "@/envs/client"; +import { getCheckoutId, revalidateCart } from "@/features/checkout/server"; import { getCurrentRegion } from "@/foundation/regions"; import { paths } from "@/foundation/routing/paths"; import { storefrontLogger } from "@/services/logging"; @@ -12,6 +13,7 @@ import { getAccessToken } from "@/services/tokens"; import { deleteLineAction, + deleteLineMarketplaceAction, updateLineQuantityAction, } from "./_actions/cart-actions"; import { MarketplaceCartView } from "./_components/marketplace-cart-view"; @@ -19,52 +21,43 @@ import { MarketplaceCartView } from "./_components/marketplace-cart-view"; export const generateMetadata = generateStandardCartMetadata; export default async function Page(props: any) { - const isMarketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; - const [services, region, accessToken, checkoutId] = await Promise.all([ + const [services, region, accessToken] = await Promise.all([ getServiceRegistry(), getCurrentRegion(), getAccessToken(), - getCheckoutId(), ]); - if (isMarketplaceEnabled) { + const sharedProps = { + ...props, + services, + accessToken, + onCartUpdate: revalidateCart, + region, + logger: storefrontLogger, + onLineQuantityChange: updateLineQuantityAction, + paths: { + home: paths.home.asPath(), + checkout: paths.checkout.asPath(), + checkoutSignIn: paths.checkout.signIn.asPath(), + }, + }; + + if (clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED) { return ( ); } + const checkoutId = await getCheckoutId(); + return ( ); } diff --git a/apps/storefront/src/app/[locale]/(main)/payment/confirmation/page.tsx b/apps/storefront/src/app/[locale]/(main)/payment/confirmation/page.tsx index 807df3cf6..f752b83e7 100644 --- a/apps/storefront/src/app/[locale]/(main)/payment/confirmation/page.tsx +++ b/apps/storefront/src/app/[locale]/(main)/payment/confirmation/page.tsx @@ -3,6 +3,7 @@ import { type Locale } from "next-intl"; import { type AppErrorCode } from "@nimara/domain/objects/Error"; import { redirect } from "@nimara/i18n/routing"; +import { clientEnvs } from "@/envs/client"; import { getCheckoutOrRedirect } from "@/features/checkout/checkout-actions"; import { paths, QUERY_PARAMS } from "@/foundation/routing/paths"; import { getServiceRegistry } from "@/services/registry"; @@ -15,8 +16,7 @@ type PageProps = { }; export default async function Page(props: PageProps) { - const isMarketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; + const isMarketplaceEnabled = clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED; if (isMarketplaceEnabled) { const [{ locale }, searchParams] = await Promise.all([ diff --git a/apps/storefront/src/app/[locale]/(main)/products/[slug]/_actions/add-to-bag.ts b/apps/storefront/src/app/[locale]/(main)/products/[slug]/_actions/add-to-bag.ts index 2bfbc4d43..922225236 100644 --- a/apps/storefront/src/app/[locale]/(main)/products/[slug]/_actions/add-to-bag.ts +++ b/apps/storefront/src/app/[locale]/(main)/products/[slug]/_actions/add-to-bag.ts @@ -4,12 +4,7 @@ import { revalidatePath } from "next/cache"; import { addToBag } from "@nimara/features/product-detail-page/shared/actions/add-to-bag.core"; -import { - getCheckoutId, - getCheckoutIdForVendor, - setCheckoutIdCookie, - setCheckoutIdForVendor, -} from "@/features/checkout/cart"; +import { getCheckoutId, setCheckoutId } from "@/features/checkout/server"; import { revalidateTag } from "@/foundation/cache/cache"; import { getCurrentRegion } from "@/foundation/regions"; import { paths } from "@/foundation/routing/paths"; @@ -17,9 +12,6 @@ import { storefrontLogger } from "@/services/logging"; import { getServiceRegistry } from "@/services/registry"; import { getAccessToken } from "@/services/tokens"; -const marketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; - /** * Server action wrapper for adding items to the cart. * This is the only file that uses "use server" and Next.js-specific APIs. @@ -38,9 +30,7 @@ export const addToBagAction = async ({ getCurrentRegion(), getAccessToken(), ]); - const cartId = marketplaceEnabled - ? await getCheckoutIdForVendor(clientProductVendorId) - : await getCheckoutId(); + const cartId = await getCheckoutId(clientProductVendorId); // Call the pure function with services and context const result = await addToBag( @@ -58,12 +48,11 @@ export const addToBagAction = async ({ // Handle Next.js-specific side effects (cookies, revalidation) if (result.ok) { - if (marketplaceEnabled) { - await setCheckoutIdForVendor(clientProductVendorId, result.data.cartId); - } else if (!cartId) { - // Save the cartId in the cookie for future requests - await setCheckoutIdCookie(result.data.cartId); - } + // Save the cartId in the cookie for future requests + await setCheckoutId({ + checkoutId: result.data.cartId, + vendorKey: clientProductVendorId, + }); revalidateTag(`CHECKOUT:${cartId ?? result.data.cartId}`, "max"); revalidatePath(paths.cart.asPath()); diff --git a/apps/storefront/src/app/[locale]/(main)/products/[slug]/page.tsx b/apps/storefront/src/app/[locale]/(main)/products/[slug]/page.tsx index 07781827d..e90133a7f 100644 --- a/apps/storefront/src/app/[locale]/(main)/products/[slug]/page.tsx +++ b/apps/storefront/src/app/[locale]/(main)/products/[slug]/page.tsx @@ -2,15 +2,18 @@ import type { Metadata } from "next"; import { type Locale } from "next-intl"; import { generateStandardPDPMetadata } from "@nimara/features/product-detail-page/shared/metadata/standard-metadata"; +import { type PDPViewProps } from "@nimara/features/product-detail-page/shared/types"; import { StandardPDPView } from "@nimara/features/product-detail-page/shop-basic-pdp/standard"; +import { MarketplacePDPView } from "@nimara/features/product-detail-page/shop-marketplace-pdp/marketplace"; -import { addToBagAction } from "@/app/[locale]/(main)/products/[slug]/_actions/add-to-bag"; import { clientEnvs } from "@/envs/client"; -import { getCheckoutId } from "@/features/checkout/cart"; +import { getCheckoutId } from "@/features/checkout/server"; import { getCurrentRegion } from "@/foundation/regions"; import { paths } from "@/foundation/routing/paths"; import { getServiceRegistry } from "@/services/registry"; +import { addToBagAction } from "./_actions/add-to-bag"; + type ProductPageProps = { params: Promise<{ locale: Locale; slug: string }>; searchParams: Promise>; @@ -37,27 +40,37 @@ export async function generateMetadata({ } export default async function ProductPage(props: ProductPageProps) { - const services = await getServiceRegistry(); - const [checkoutId, region] = await Promise.all([ + const [checkoutId, services, region] = await Promise.all([ getCheckoutId(), + getServiceRegistry(), getCurrentRegion(), ]); - return ( - paths.search.asPath({ query }), - product: (slug) => paths.products.asPath({ slug }), - vendor: (vendorSlug) => paths.vendor.asPath({ vendorSlug }), - }} - addToBagAction={addToBagAction} - /> - ); + const standardProps = { + ...props, + services, + checkoutId, + region, + paths: { + home: paths.home.asPath(), + cart: paths.cart.asPath(), + search: (query) => paths.search.asPath({ query }), + product: (slug) => paths.products.asPath({ slug }), + }, + addToBagAction, + } satisfies PDPViewProps; + + if (clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED) { + return ( + paths.vendor.asPath({ vendorSlug }), + }} + /> + ); + } + + return ; } diff --git a/apps/storefront/src/config.ts b/apps/storefront/src/config.ts index d8ff0e0f1..cf36642b3 100644 --- a/apps/storefront/src/config.ts +++ b/apps/storefront/src/config.ts @@ -12,7 +12,7 @@ export const DEFAULT_SORT_BY = "price-asc"; export const DEFAULT_RESULTS_PER_PAGE = 16; export const COOKIE_KEY = { - checkoutId: "checkoutId", + checkout: "checkout", accessToken: "accessToken", refreshToken: "refreshToken", searchProvider: "searchProvider", @@ -28,4 +28,7 @@ export const MIN_PASSWORD_LENGTH = 8; export const CHANGE_EMAIL_TOKEN_VALIDITY_IN_HOURS = 72; -// TODO: group this somehow to make more logical +// Marketplace config +export const MARKETPLACE_VENDOR_PROFILE_CACHE_TTL = 7 * DAY; +export const MARKETPLACE_NO_VENDOR_BUCKET = "__DEFAULT__"; +export const MARKETPLACE_DEFAULT_VENDOR_DISPLAY_NAME = "Marketplace"; diff --git a/apps/storefront/src/features/checkout/cart.ts b/apps/storefront/src/features/checkout/cart.ts index 5d1121275..8dec03ee2 100644 --- a/apps/storefront/src/features/checkout/cart.ts +++ b/apps/storefront/src/features/checkout/cart.ts @@ -4,115 +4,21 @@ import { revalidatePath } from "next/cache"; import { cookies } from "next/headers"; import { COOKIE_KEY, COOKIE_MAX_AGE } from "@/config"; -import { MARKETPLACE_NO_VENDOR_BUCKET } from "@/features/checkout/constants"; import { revalidateTag } from "@/foundation/cache/cache"; import { paths } from "@/foundation/routing/paths"; import { getStorefrontLogger } from "@/services/lazy-logging"; -const MARKETPLACE_COOKIE_VERSION = 1; - -type MarketplaceCheckoutCookieV1 = { - checkouts: Record; - v: number; -}; - -const isMarketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; - -const sanitizeCheckoutId = (value: unknown): string | null => { - if (typeof value !== "string") { - return null; - } - - const normalized = value.trim(); - - return normalized.length > 0 ? normalized : null; -}; - -const normalizeVendorKey = (vendorKey: string | null | undefined): string => { - const normalized = vendorKey?.trim(); - - if (!normalized) { - return MARKETPLACE_NO_VENDOR_BUCKET; - } - - return normalized; -}; - -const parseCheckoutCookie = ( - cookieValue: string | undefined, -): { - checkoutIdsByVendor: Record; - legacyCheckoutId: string | null; -} => { - const normalizedCookieValue = cookieValue?.trim(); - - if (!normalizedCookieValue) { - return { - checkoutIdsByVendor: {}, - legacyCheckoutId: null, - }; - } - - try { - const parsed = JSON.parse( - normalizedCookieValue, - ) as MarketplaceCheckoutCookieV1 | null; - - const checkouts = parsed?.checkouts; - - if ( - typeof parsed?.v === "number" && - parsed.v === MARKETPLACE_COOKIE_VERSION && - typeof checkouts === "object" && - checkouts !== null - ) { - const sanitizedCheckouts = Object.fromEntries( - Object.entries(checkouts) - .map(([vendorKey, checkoutId]) => [ - normalizeVendorKey(vendorKey), - sanitizeCheckoutId(checkoutId), - ]) - .filter( - (entry): entry is [string, string] => - typeof entry[1] === "string" && entry[1].length > 0, - ), - ); - - return { - checkoutIdsByVendor: sanitizedCheckouts, - legacyCheckoutId: null, - }; - } - } catch { - // Ignore parse errors and fallback to legacy string handling. - } - - return { - checkoutIdsByVendor: {}, - legacyCheckoutId: sanitizeCheckoutId(normalizedCookieValue), - }; -}; - -const serializeMarketplaceCheckoutCookie = ( - checkoutIdsByVendor: Record, -): string => - JSON.stringify({ - v: MARKETPLACE_COOKIE_VERSION, - checkouts: checkoutIdsByVendor, - } satisfies MarketplaceCheckoutCookieV1); - -const getParsedCheckoutCookie = async () => { - const cookieStorage = await cookies(); - const cookieValue = cookieStorage.get(COOKIE_KEY.checkoutId)?.value; - - return parseCheckoutCookie(cookieValue); -}; - -const setCheckoutCookieRaw = async (value: string) => { +/** + * Stores the given checkout ID in an HTTP-only cookie for the current user session. + * Overwrites any existing checkout ID cookie. + * + * @param id - The checkout ID to persist as a cookie. + * @returns void + */ +export const setCheckoutIdCookie = async (id: string): Promise => { const cookieStorage = await cookies(); - cookieStorage.set(COOKIE_KEY.checkoutId, value, { + cookieStorage.set(COOKIE_KEY.checkout, id, { path: "/", maxAge: COOKIE_MAX_AGE.checkout, httpOnly: true, @@ -122,147 +28,14 @@ const setCheckoutCookieRaw = async (value: string) => { }; /** - * Revalidates the cart/checkout cache. - * @param id - The checkout ID - * @returns void + * Triggers cache revalidation for the user's cart and checkout pages based on the given checkout ID. + * + * This should be called after any cart or checkout mutation to ensure up-to-date UI state. + * + * @param id - The Saleor checkout ID whose associated cache should be invalidated. */ export const revalidateCart = async (id: string): Promise => { revalidateTag(`CHECKOUT:${id}`); revalidatePath(paths.cart.asPath()); revalidatePath(paths.checkout.asPath()); }; - -/** - * Saves the checkout ID to a cookie. - * @param id - The checkout ID - * @returns void - */ -export const setCheckoutIdCookie = async (id: string) => { - await setCheckoutCookieRaw(id); - const cookieStorage = await cookies(); - const checkoutIdCookie = cookieStorage.get(COOKIE_KEY.checkoutId); - - const storefrontLogger = await getStorefrontLogger(); - - if (checkoutIdCookie) { - storefrontLogger.debug("Checkout ID cookie set successfully.", { - checkoutId: checkoutIdCookie.value, - }); - } else { - storefrontLogger.error("Failed to set checkout ID cookie.", { - checkoutId: id, - }); - } -}; - -export const setMarketplaceCheckoutIdsCookie = async ( - checkoutIdsByVendor: Record, -) => { - const normalizedCheckouts = Object.fromEntries( - Object.entries(checkoutIdsByVendor) - .map(([vendorKey, checkoutId]) => [ - normalizeVendorKey(vendorKey), - sanitizeCheckoutId(checkoutId), - ]) - .filter( - (entry): entry is [string, string] => - typeof entry[1] === "string" && entry[1].length > 0, - ), - ); - - if (Object.keys(normalizedCheckouts).length === 0) { - return clearCheckoutCookie(); - } - - await setCheckoutCookieRaw( - serializeMarketplaceCheckoutCookie(normalizedCheckouts), - ); -}; - -export const setCheckoutIdForVendor = async ( - vendorKey: string | null | undefined, - checkoutId: string, -) => { - const { checkoutIdsByVendor, legacyCheckoutId } = - await getParsedCheckoutCookie(); - const currentMarketplaceState = - Object.keys(checkoutIdsByVendor).length > 0 - ? checkoutIdsByVendor - : legacyCheckoutId - ? { - [MARKETPLACE_NO_VENDOR_BUCKET]: legacyCheckoutId, - } - : {}; - - currentMarketplaceState[normalizeVendorKey(vendorKey)] = checkoutId; - - await setMarketplaceCheckoutIdsCookie(currentMarketplaceState); -}; - -export const getCheckoutIdsByVendor = async (): Promise< - Record -> => { - const { checkoutIdsByVendor, legacyCheckoutId } = - await getParsedCheckoutCookie(); - - if (Object.keys(checkoutIdsByVendor).length > 0) { - return checkoutIdsByVendor; - } - - if (legacyCheckoutId) { - return { - [MARKETPLACE_NO_VENDOR_BUCKET]: legacyCheckoutId, - }; - } - - return {}; -}; - -export const getCheckoutIdForVendor = async ( - vendorKey: string | null | undefined, -): Promise => { - const checkoutIdsByVendor = await getCheckoutIdsByVendor(); - - return checkoutIdsByVendor[normalizeVendorKey(vendorKey)] ?? null; -}; - -export const getCheckoutIds = async (): Promise => { - if (!isMarketplaceEnabled) { - const checkoutId = await getCheckoutId(); - - return checkoutId ? [checkoutId] : []; - } - - const checkoutIdsByVendor = await getCheckoutIdsByVendor(); - - return [...new Set(Object.values(checkoutIdsByVendor))]; -}; - -/** - * Gets the checkout ID from the cookie. - * @returns The checkout ID from the cookie, or null if not found. - */ -export const getCheckoutId = async (): Promise => { - const { checkoutIdsByVendor, legacyCheckoutId } = - await getParsedCheckoutCookie(); - - const checkoutId = - legacyCheckoutId ?? Object.values(checkoutIdsByVendor)[0] ?? null; - - // If the checkout ID is not found, return null - if (!checkoutId) { - const storefrontLogger = await getStorefrontLogger(); - - storefrontLogger.debug("Checkout ID cookie not found."); - - return null; - } - - return checkoutId; -}; - -export const clearCheckoutCookie = async () => { - const cookieStorage = await cookies(); - - cookieStorage.delete(COOKIE_KEY.checkoutId); -}; diff --git a/apps/storefront/src/features/checkout/checkout-actions.ts b/apps/storefront/src/features/checkout/checkout-actions.ts index 6a8626353..179664812 100644 --- a/apps/storefront/src/features/checkout/checkout-actions.ts +++ b/apps/storefront/src/features/checkout/checkout-actions.ts @@ -4,20 +4,27 @@ import { getLocale } from "next-intl/server"; import { type Checkout } from "@nimara/domain/objects/Checkout"; import { redirect } from "@nimara/i18n/routing"; +import { + MARKETPLACE_DEFAULT_VENDOR_DISPLAY_NAME, + MARKETPLACE_NO_VENDOR_BUCKET, +} from "@/config"; import { aggregateMarketplaceCheckouts } from "@/features/checkout/aggregations"; import { - clearCheckoutCookie, + deleteCheckoutIdCookie, + getAllCheckoutIds, getCheckoutId, - getCheckoutIdsByVendor, - setMarketplaceCheckoutIdsCookie, -} from "@/features/checkout/cart"; -import { deleteCheckoutIdCookie } from "@/features/checkout/checkout"; -import { MARKETPLACE_NO_VENDOR_BUCKET } from "@/features/checkout/constants"; +} from "@/features/checkout/server"; import { type MarketplaceCheckoutItem } from "@/features/checkout/types"; import { getCurrentRegion } from "@/foundation/regions"; import { paths } from "@/foundation/routing/paths"; import { getServiceRegistry } from "@/services/registry"; +/** + * Retrieves the current checkout for the user or redirects to the cart page if not found or invalid. + * + * @returns {Promise} The current valid checkout object. + * @throws Redirects to the cart page on error or missing/invalid checkout. + */ export const getCheckoutOrRedirect = async (): Promise | never => { const checkoutId = await getCheckoutId(); const [locale, region] = await Promise.all([getLocale(), getCurrentRegion()]); @@ -47,30 +54,11 @@ export const getCheckoutOrRedirect = async (): Promise | never => { return resultCheckout.data.checkout; }; -const getVendorDisplayName = ( - checkout: Checkout, - vendorKey: string, -): string => { - const vendorFromLines = checkout.lines - .map((line) => line.product.vendorId) - .find((vendorId): vendorId is string => !!vendorId); - - if (vendorFromLines) { - return vendorFromLines; - } - - if (vendorKey === MARKETPLACE_NO_VENDOR_BUCKET) { - return "No vendor"; - } - - return vendorKey; -}; - export const getMarketplaceCheckoutsOrRedirect = async (): | Promise | never => { const [checkoutIdsByVendor, locale, region, services] = await Promise.all([ - getCheckoutIdsByVendor(), + getAllCheckoutIds(), getLocale(), getCurrentRegion(), getServiceRegistry(), @@ -105,13 +93,25 @@ export const getMarketplaceCheckoutsOrRedirect = async (): checkoutIdToVendorKey.get(checkoutId) ?? MARKETPLACE_NO_VENDOR_BUCKET; const checkout = result.data.checkout; + let displayName = MARKETPLACE_DEFAULT_VENDOR_DISPLAY_NAME; + + if (vendorKey !== MARKETPLACE_NO_VENDOR_BUCKET) { + const marketplaceService = await services.getMarketplaceService(); + const vendorProfileResult = + await marketplaceService.vendorGetByID(vendorKey); + + if (vendorProfileResult.ok && vendorProfileResult.data) { + displayName = vendorProfileResult.data.name; + } + } + await validateCheckoutLinesAction({ checkout, locale }); return { checkout, checkoutId, vendorKey, - vendorDisplayName: getVendorDisplayName(checkout, vendorKey), + vendorDisplayName: displayName, } satisfies MarketplaceCheckoutItem; }), ); @@ -122,26 +122,10 @@ export const getMarketplaceCheckoutsOrRedirect = async (): ); if (!validCheckoutItems.length) { - await clearCheckoutCookie(); + await deleteCheckoutIdCookie(); redirect({ href: paths.cart.asPath(), locale }); } - const validCheckoutIds = new Set( - validCheckoutItems.map((item) => item.checkoutId), - ); - const filteredCheckoutIdsByVendor = Object.fromEntries( - Object.entries(checkoutIdsByVendor).filter(([, checkoutId]) => - validCheckoutIds.has(checkoutId), - ), - ); - - if ( - Object.keys(filteredCheckoutIdsByVendor).length !== - Object.keys(checkoutIdsByVendor).length - ) { - await setMarketplaceCheckoutIdsCookie(filteredCheckoutIdsByVendor); - } - return validCheckoutItems; }; diff --git a/apps/storefront/src/features/checkout/checkout.ts b/apps/storefront/src/features/checkout/checkout.ts index 4f4168cf1..24ca4c351 100644 --- a/apps/storefront/src/features/checkout/checkout.ts +++ b/apps/storefront/src/features/checkout/checkout.ts @@ -18,6 +18,6 @@ export const deleteCheckoutIdCookie = async () => { headers: { "Content-Type": "application/json", }, - body: JSON.stringify({ cookieKey: COOKIE_KEY.checkoutId }), + body: JSON.stringify({ cookieKey: COOKIE_KEY.checkout }), }); }; diff --git a/apps/storefront/src/features/checkout/constants.ts b/apps/storefront/src/features/checkout/constants.ts deleted file mode 100644 index 04b65c712..000000000 --- a/apps/storefront/src/features/checkout/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export const MARKETPLACE_NO_VENDOR_BUCKET = "__NO_VENDOR__"; diff --git a/apps/storefront/src/features/checkout/server.ts b/apps/storefront/src/features/checkout/server.ts new file mode 100644 index 000000000..7c8a89729 --- /dev/null +++ b/apps/storefront/src/features/checkout/server.ts @@ -0,0 +1,411 @@ +"use server"; + +import { revalidatePath } from "next/cache"; +import { cookies } from "next/headers"; + +import { + COOKIE_KEY, + COOKIE_MAX_AGE, + MARKETPLACE_NO_VENDOR_BUCKET, +} from "@/config"; +import { revalidateTag } from "@/foundation/cache/cache"; +import { paths } from "@/foundation/routing/paths"; + +const CHECKOUT_COOKIE_VERSION = "1"; + +/** + * Checkout cookie payload structure. + * Always uses a versioned record format for both single and multi-vendor modes. + * + * @internal + */ +interface CheckoutCookiePayload { + /** Record mapping vendor IDs to their checkout IDs */ + checkouts: Record; + /** Version number for future schema evolution */ + v: string; +} + +// ============================================================================= +// PRIVATE HELPERS +// ============================================================================= + +/** + * Sanitizes and validates a checkout ID string. + * + * @internal + * @param value - The value to validate + * @returns Trimmed checkout ID or null if invalid + */ +const sanitizeCheckoutId = (value: unknown): string | null => { + if (typeof value !== "string") { + return null; + } + const normalized = value.trim(); + + return normalized.length > 0 ? normalized : null; +}; + +/** + * Normalizes vendor key to a consistent format. + * Null or empty keys are converted to the default marketplace bucket. + * + * @internal + * @param vendorKey - The vendor key to normalize + * @returns Normalized vendor key (never null) + */ +const normalizeVendorKey = (vendorKey?: string | null): string => { + const normalized = vendorKey?.trim(); + + return normalized && normalized.length > 0 + ? normalized + : MARKETPLACE_NO_VENDOR_BUCKET; +}; + +/** + * Serializes a checkout ID record into a JSON cookie value. + * + * @internal + * @param checkoutIdsByVendor - Record of vendor IDs to checkout IDs + * @returns JSON string representation + */ +const serializeCheckoutCookie = ( + checkoutIdsByVendor: Record, +): string => + JSON.stringify({ + v: CHECKOUT_COOKIE_VERSION, + checkouts: checkoutIdsByVendor, + } satisfies CheckoutCookiePayload); + +/** + * Reads the checkout ID cookie value from the request cookies. + * + * @internal + * @returns The raw cookie value or undefined + */ +const readCheckoutCookie = async (): Promise => { + return (await cookies()).get(COOKIE_KEY.checkout)?.value; +}; + +// ============================================================================= +// PUBLIC GETTERS +// ============================================================================= + +/** + * Retrieves the checkout ID for a specific vendor. + * Automatically handles both single-vendor and multi-vendor cookie formats. + * + * When marketplace is disabled, treats the entire checkout ID record as a + * single default vendor. When marketplace is enabled, retrieves the specific + * vendor's checkout ID. + * + * Handles graceful fallback for legacy string-format cookies. + * + * @param vendorId - The vendor ID to retrieve. Optional in single-vendor mode. + * @returns The checkout ID string, or null if not found + * + * @example + * // Single-vendor mode + * const checkoutId = await getCheckoutId(); + * + * @example + * // Multi-vendor mode + * const vendorCheckoutId = await getCheckoutId("vendor-123"); + */ +export const getCheckoutId = async ( + vendorId?: string | null, +): Promise => { + const cookieValue = await readCheckoutCookie(); + + if (!cookieValue) { + return null; + } + + const key = normalizeVendorKey(vendorId); + + try { + const parsed = JSON.parse(cookieValue) as CheckoutCookiePayload; + + return parsed.checkouts?.[key] ?? null; + } catch { + // Graceful fallback for legacy string format + // If parsing fails and requesting default vendor, return the string as-is + return key === MARKETPLACE_NO_VENDOR_BUCKET ? cookieValue : null; + } +}; + +/** + * Retrieves all checkout IDs as a record of vendor IDs to checkout IDs. + * + * In single-vendor mode, returns a record with a single default vendor key. + * In multi-vendor mode, returns all vendor checkouts. + * + * Handles graceful fallback for legacy string-format cookies. + * + * @returns Record mapping vendor IDs to checkout IDs, or null if not found + * + * @example + * const allCheckouts = await getAllCheckoutIds(); + * // Returns: { "vendor-1": "chkt_123", "vendor-2": "chkt_456" } + */ +export const getAllCheckoutIds = async (): Promise> => { + const cookieValue = await readCheckoutCookie(); + + if (!cookieValue) { + return {}; + } + + try { + const parsed = JSON.parse(cookieValue) as CheckoutCookiePayload | null; + + return parsed?.checkouts ?? {}; + } catch { + // Graceful fallback for legacy string format + return { [MARKETPLACE_NO_VENDOR_BUCKET]: cookieValue }; + } +}; + +/** + * Alias for getAllCheckoutIds when marketplace mode is explicitly needed. + * Use this when the code path is specific to multi-vendor flows. + * + * @returns Record mapping vendor IDs to checkout IDs, or null if not found + * + * @deprecated Use {@link getAllCheckoutIds} instead + */ +export const getCheckoutIdsByVendor = getAllCheckoutIds; + +// ============================================================================= +// PUBLIC SETTERS +// ============================================================================= + +/** + * Sets a raw cookie value for the checkout ID cookie. + * + * This is the low-level setter used by higher-level functions. + * Respects Next.js server cookie security rules (httpOnly, secure in production, sameSite). + * + * @param value - The serialized JSON value to set in the cookie + * + * @internal Use setCheckoutId or setCheckoutIdForVendor instead + */ +export const setCheckoutCookieRaw = async (value: string): Promise => { + const cookieStorage = await cookies(); + + cookieStorage.set(COOKIE_KEY.checkout, value, { + path: "/", + maxAge: COOKIE_MAX_AGE.checkout, + httpOnly: true, + secure: process.env.NODE_ENV === "production", + sameSite: "lax", + }); +}; + +/** + * Sets the checkout ID for a specific vendor, updating the cookie. + * + * Automatically normalizes vendor keys and checkout IDs. + * Merges with existing vendor checkouts in the cookie. + * Deletes the cookie if no valid checkout IDs remain after normalization. + * + * Behavior depends on NEXT_PUBLIC_MARKETPLACE_ENABLED: + * - When disabled: Sets the single-vendor checkout ID + * - When enabled: Sets the checkout ID for the specified vendor + * + * @param data - Object containing the checkout ID and optional vendor key + * @param data.checkoutId - The checkout ID to store + * @param data.vendorKey - The vendor ID (optional, defaults to default bucket) + * + * @example + * // Single-vendor mode + * await setCheckoutId({ checkoutId: "chkt_123" }); + * + * @example + * // Multi-vendor mode + * await setCheckoutId({ checkoutId: "chkt_456", vendorKey: "vendor-1" }); + */ +export const setCheckoutId = async (data: { + checkoutId: string; + vendorKey?: string | null; +}): Promise => { + const allCheckoutIds = await getAllCheckoutIds(); + const normalizedVendorKey = normalizeVendorKey(data.vendorKey); + + const updatedCheckoutIds: Record = { + ...(allCheckoutIds ?? {}), + [normalizedVendorKey]: data.checkoutId, + }; + + await setMarketplaceCheckoutIdsCookie(updatedCheckoutIds); +}; + +/** + * Alias for setCheckoutId for backward compatibility with single-vendor API. + * + * @param id - The checkout ID to store + * + * @deprecated Use {@link setCheckoutId} instead + */ +export const setCheckoutIdCookie = async (id: string): Promise => { + await setCheckoutId({ checkoutId: id }); +}; + +/** + * Alias for setCheckoutId when explicitly setting for a vendor in marketplace mode. + * + * @param data - Object containing checkout ID and optional vendor key + * + * @deprecated Use {@link setCheckoutId} instead + */ +export const setCheckoutIdForVendor = async (data: { + checkoutId: string; + vendorKey?: string | null; +}): Promise => { + await setCheckoutId(data); +}; + +/** + * Internal function to set the marketplace checkout IDs cookie. + * + * Normalizes all vendor keys and checkout IDs, filters invalid values, + * and updates the cookie. Deletes the cookie if no valid IDs remain. + * + * @internal + * @param checkoutIdsByVendor - Record of vendor IDs to checkout IDs + */ +export const setMarketplaceCheckoutIdsCookie = async ( + checkoutIdsByVendor: Record, +): Promise => { + const normalizedCheckouts = Object.fromEntries( + Object.entries(checkoutIdsByVendor) + .map(([vendorKey, checkoutId]) => [ + normalizeVendorKey(vendorKey), + sanitizeCheckoutId(checkoutId), + ]) + .filter( + (entry): entry is [string, string] => + typeof entry[1] === "string" && entry[1].length > 0, + ), + ); + + // If no valid checkout IDs remain after normalization, delete the cookie + if (Object.keys(normalizedCheckouts).length === 0) { + const cookieStorage = await cookies(); + + cookieStorage.delete(COOKIE_KEY.checkout); + + return; + } + + // Set the new checkout IDs in the cookie + await setCheckoutCookieRaw(serializeCheckoutCookie(normalizedCheckouts)); +}; + +/** + * Deletes the checkout ID cookie. + * + * This is a low-level setter. Prefer using API route handlers for deletion + * to avoid server action overhead. + * + * @example + * // Via server action (less ideal) + * await deleteCheckoutIdCookie(); + * + * @example + * // Via API route handler (preferred) + * // POST /api/cookies/delete with body: { cookieKey: "checkout" } + */ +export const deleteCheckoutIdCookie = async (): Promise => { + const cookieStorage = await cookies(); + + cookieStorage.delete(COOKIE_KEY.checkout); +}; + +/** + * Removes a specific vendor's checkout ID from the cookie. + * + * When marketplace is enabled, removes the checkout for a specific vendor. + * Deletes the entire cookie if no valid checkouts remain. + * + * Has no effect if the vendor key is not found in the cookie. + * + * @param vendorKey - The vendor ID whose checkout should be removed + * + * @example + * await removeCheckoutIdForVendor("vendor-1"); + */ +export const removeCheckoutIdForVendor = async ( + vendorKey?: string | null, +): Promise => { + const allCheckoutIds = await getAllCheckoutIds(); + + if (!allCheckoutIds) { + return; + } + + const normalizedKey = normalizeVendorKey(vendorKey); + const { [normalizedKey]: _, ...remaining } = allCheckoutIds; + + await setMarketplaceCheckoutIdsCookie(remaining); +}; + +// ============================================================================= +// CACHE MANAGEMENT +// ============================================================================= + +/** + * Triggers cache revalidation for cart and checkout pages. + * + * Should be called after any cart mutation to ensure the UI reflects + * the current server state. + * + * Revalidates: + * - The specific checkout's cache tag + * - The cart page + * - The checkout page + * + * @param checkoutId - The checkout ID to revalidate + * + * @example + * // After adding an item to cart + * revalidateCart(checkoutId); + */ +export const revalidateCart = async (checkoutId: string): Promise => { + revalidateTag(`CHECKOUT:${checkoutId}`); + revalidatePath(paths.cart.asPath()); + revalidatePath(paths.checkout.asPath()); +}; + +// ============================================================================= +// MIGRATION & COMPATIBILITY +// ============================================================================= + +/** + * Checks if the checkout cookie exists and is valid. + * + * @returns true if a checkout ID cookie is present + */ +export const hasCheckoutId = async (): Promise => { + const cookieValue = await readCheckoutCookie(); + + return cookieValue !== undefined; +}; + +/** + * Gets the active checkout IDs for the current mode. + * + * In single-vendor mode: Returns array with one checkout ID + * In multi-vendor mode: Returns array with all vendor checkout IDs + * + * @returns Array of active checkout IDs + * + * @example + * const activeCheckouts = await getActiveCheckoutIds(); + * // Single-vendor: ["chkt_123"] + * // Multi-vendor: ["chkt_123", "chkt_456"] + */ +export const getActiveCheckoutIds = async (): Promise => { + const allCheckoutIds = await getAllCheckoutIds(); + + return Object.values(allCheckoutIds ?? {}).filter(Boolean); +}; diff --git a/apps/storefront/src/features/checkout/summary.tsx b/apps/storefront/src/features/checkout/summary.tsx index 159c1cbfb..a43414f9a 100644 --- a/apps/storefront/src/features/checkout/summary.tsx +++ b/apps/storefront/src/features/checkout/summary.tsx @@ -11,10 +11,17 @@ interface SummaryProps { }) => Promise>; checkout: Checkout; hidePromoCode?: boolean; + /** + * The mode of the checkout. Determines which summary UI to display. + * - "standard": Single checkout with promo code support + * - "marketplace": Aggregated multi-vendor checkout + */ + mode?: "standard" | "marketplace"; removePromoCodeAction?: (params: { checkoutId: string; promoCode: string; }) => Promise>; + vendorIdNames?: Record; } export const Summary = ({ @@ -22,14 +29,18 @@ export const Summary = ({ addPromoCodeAction, removePromoCodeAction, hidePromoCode = false, + mode = "standard", + vendorIdNames, }: SummaryProps) => { return ( {!hidePromoCode && ( { const resultUserGet = await userService.userGet(accessToken); const user = resultUserGet.ok ? resultUserGet.data : null; - const isMarketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; + const isMarketplaceEnabled = clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED; let checkoutLinesCount = 0; + + const checkoutIdsByVendor = isMarketplaceEnabled + ? await getAllCheckoutIds() + : {}; const checkoutIds = isMarketplaceEnabled - ? await getCheckoutIds() - : [await getCheckoutId()].filter( - (checkoutId): checkoutId is string => !!checkoutId, - ); + ? Object.values(checkoutIdsByVendor) + : [await getCheckoutId()].filter(Boolean); if (checkoutIds.length) { const cartService = await services.getCartService(); diff --git a/apps/storefront/src/features/header/locale-switch/actions.ts b/apps/storefront/src/features/header/locale-switch/actions.ts index f639f561b..371138458 100644 --- a/apps/storefront/src/features/header/locale-switch/actions.ts +++ b/apps/storefront/src/features/header/locale-switch/actions.ts @@ -13,7 +13,7 @@ export const handleLocaleChange = async (locale: Locale) => { const cookieStore = await cookies(); cookieStore.set(COOKIE_KEY.locale, locale); - cookieStore.delete(COOKIE_KEY.checkoutId); + cookieStore.delete(COOKIE_KEY.checkout); revalidatePath("/"); redirect(locale === DEFAULT_LOCALE ? "/" : LOCALE_PREFIXES[locale]); diff --git a/apps/storefront/src/foundation/auth/auth.ts b/apps/storefront/src/foundation/auth/auth.ts index 4c31c24de..bce11b10f 100644 --- a/apps/storefront/src/foundation/auth/auth.ts +++ b/apps/storefront/src/foundation/auth/auth.ts @@ -22,7 +22,7 @@ export async function handleLogout() { cookieStore.delete(COOKIE_KEY.accessToken); cookieStore.delete(COOKIE_KEY.refreshToken); - cookieStore.delete(COOKIE_KEY.checkoutId); + cookieStore.delete(COOKIE_KEY.checkout); storefrontLogger.debug("Cleared auth and checkout cookies after logout."); } diff --git a/apps/storefront/src/foundation/auth/login.ts b/apps/storefront/src/foundation/auth/login.ts index fd9e2fffe..d03a3d808 100644 --- a/apps/storefront/src/foundation/auth/login.ts +++ b/apps/storefront/src/foundation/auth/login.ts @@ -5,12 +5,13 @@ import { AuthError } from "next-auth"; import { signIn } from "@/auth"; import { CACHE_TTL } from "@/config"; +import { clientEnvs } from "@/envs/client"; import { + getAllCheckoutIds, getCheckoutId, - getCheckoutIds, setCheckoutIdCookie, setCheckoutIdForVendor, -} from "@/features/checkout/cart"; +} from "@/features/checkout/server"; import { getCurrentRegion } from "@/foundation/regions"; import { paths } from "@/foundation/routing/paths"; import { errorService } from "@/services/error"; @@ -27,8 +28,7 @@ export async function login({ redirectUrl?: string; }) { try { - const isMarketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; + const isMarketplaceEnabled = clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED; await signIn("credentials", { email, @@ -36,10 +36,9 @@ export async function login({ redirect: false, }); - const [accessToken, checkoutId, checkoutIds, services] = await Promise.all([ + const [accessToken, checkoutId, services] = await Promise.all([ getAccessToken(), getCheckoutId(), - getCheckoutIds(), getServiceRegistry(), ]); const [checkoutService, userService] = await Promise.all([ @@ -51,6 +50,9 @@ export async function login({ const user = resultUserGet.ok ? resultUserGet.data : null; if (isMarketplaceEnabled) { + const allCheckoutIds = await getAllCheckoutIds(); + const checkoutIds = Object.values(allCheckoutIds); + if (checkoutIds.length > 0) { await Promise.all( checkoutIds.map((checkoutId) => @@ -61,7 +63,10 @@ export async function login({ ), ); } else if (user?.checkoutIds.length) { - await setCheckoutIdForVendor(null, user.checkoutIds[0]); + await setCheckoutIdForVendor({ + checkoutId: user.checkoutIds[0], + vendorKey: null, + }); } } else if (user?.checkoutIds.length) { const userLatestCheckoutId = user.checkoutIds[0]; diff --git a/apps/storefront/src/foundation/checkout/actions/update-checkout-address-action.ts b/apps/storefront/src/foundation/checkout/actions/update-checkout-address-action.ts index 741388996..e386d3ee8 100644 --- a/apps/storefront/src/foundation/checkout/actions/update-checkout-address-action.ts +++ b/apps/storefront/src/foundation/checkout/actions/update-checkout-address-action.ts @@ -9,7 +9,8 @@ import { import { type Checkout } from "@nimara/domain/objects/Checkout"; import { type AsyncResult, ok } from "@nimara/domain/objects/Result"; -import { getCheckoutIds } from "@/features/checkout/cart"; +import { clientEnvs } from "@/envs/client"; +import { getAllCheckoutIds } from "@/features/checkout/server"; import { paths } from "@/foundation/routing/paths"; import { getServiceRegistry } from "@/services/registry"; @@ -36,8 +37,7 @@ export const updateCheckoutAddressAction = async ({ }): AsyncResult<{ success: true; }> => { - const isMarketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; + const isMarketplaceEnabled = clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED; const services = await getServiceRegistry(); const checkoutService = await services.getCheckoutService(); @@ -47,7 +47,8 @@ export const updateCheckoutAddressAction = async ({ : checkoutService.checkoutBillingAddressUpdate; if (isMarketplaceEnabled) { - const checkoutIds = await getCheckoutIds(); + const allCheckoutIds = await getAllCheckoutIds(); + const checkoutIds = Object.values(allCheckoutIds).filter(Boolean); const targetCheckoutIds = checkoutIds.length ? checkoutIds : [values.id]; const results = await Promise.all( targetCheckoutIds.map((id) => diff --git a/apps/storefront/src/foundation/checkout/order-placed-cleanup-middleware.ts b/apps/storefront/src/foundation/checkout/order-placed-cleanup-middleware.ts index e1cfd5ae0..2af3f0850 100644 --- a/apps/storefront/src/foundation/checkout/order-placed-cleanup-middleware.ts +++ b/apps/storefront/src/foundation/checkout/order-placed-cleanup-middleware.ts @@ -42,7 +42,7 @@ export function orderPlacedCleanupMiddleware( const response = NextResponse.redirect(url); - response.cookies.delete(COOKIE_KEY.checkoutId); + response.cookies.delete(COOKIE_KEY.checkout); return response; }; diff --git a/apps/storefront/src/foundation/checkout/sections/checkout-section.tsx b/apps/storefront/src/foundation/checkout/sections/checkout-section.tsx index ed2a01b11..e5b1f8e56 100644 --- a/apps/storefront/src/foundation/checkout/sections/checkout-section.tsx +++ b/apps/storefront/src/foundation/checkout/sections/checkout-section.tsx @@ -12,7 +12,7 @@ import { type CheckoutStep } from "@/foundation/checkout/steps"; import { paths } from "@/foundation/routing/paths"; interface Props { - closedContent?: React.ReactNode; + collapsedSummary?: React.ReactNode; disabled?: boolean; isComplete: boolean; isOpen: boolean; @@ -26,7 +26,7 @@ export const CheckoutSection = ({ children, isOpen, isComplete, - closedContent, + collapsedSummary, disabled, }: PropsWithChildren) => { return ( @@ -65,7 +65,7 @@ export const CheckoutSection = ({ {children} ) : ( - closedContent && {closedContent} + collapsedSummary && {collapsedSummary} )} diff --git a/apps/storefront/src/foundation/checkout/sections/delivery-method/marketplace-form.tsx b/apps/storefront/src/foundation/checkout/sections/delivery-method/marketplace-form.tsx index b57c90633..b0563706d 100644 --- a/apps/storefront/src/foundation/checkout/sections/delivery-method/marketplace-form.tsx +++ b/apps/storefront/src/foundation/checkout/sections/delivery-method/marketplace-form.tsx @@ -77,15 +77,20 @@ export const MarketplaceDeliveryMethodForm = ({ return (
{checkoutItems.map(({ checkout, checkoutId, vendorDisplayName }) => ( -
-

- Vendor: {vendorDisplayName} -

+
+
+ + {t("vendor.checkout-label")} + + + {vendorDisplayName} + +
(

{method.name}

-

+

{formatter.number(method.price.amount, { style: "currency", currency: method.price.currency, diff --git a/apps/storefront/src/foundation/checkout/sections/delivery-method/section.tsx b/apps/storefront/src/foundation/checkout/sections/delivery-method/section.tsx index 3338ff28b..0f4e2a18b 100644 --- a/apps/storefront/src/foundation/checkout/sections/delivery-method/section.tsx +++ b/apps/storefront/src/foundation/checkout/sections/delivery-method/section.tsx @@ -1,5 +1,5 @@ import { useTranslations } from "next-intl"; -import { type PropsWithChildren } from "react"; +import { type PropsWithChildren, type ReactNode } from "react"; import { type Checkout } from "@nimara/domain/objects/Checkout"; @@ -7,6 +7,7 @@ import { CheckoutSection } from "../checkout-section"; interface CheckoutDeliveryMethodSectionProps { checkout: Checkout; + collapsedSummary?: ReactNode; isOpen: boolean; } @@ -14,12 +15,19 @@ export const CheckoutDeliveryMethodSection = ({ checkout, isOpen, children, + collapsedSummary, }: PropsWithChildren) => { const t = useTranslations(); const isDeliveryMethodProvided = checkout.deliveryMethod !== null; const disabled = !isDeliveryMethodProvided; + const defaultSummary = checkout.deliveryMethod ? ( +

+ {checkout.deliveryMethod.name} +

+ ) : null; + return ( - {checkout.deliveryMethod.name} -

- ) : null - } + collapsedSummary={collapsedSummary ?? defaultSummary} > {children}
diff --git a/apps/storefront/src/foundation/checkout/sections/payment/payment.tsx b/apps/storefront/src/foundation/checkout/sections/payment/payment.tsx index e63e0984d..7236e2a8d 100644 --- a/apps/storefront/src/foundation/checkout/sections/payment/payment.tsx +++ b/apps/storefront/src/foundation/checkout/sections/payment/payment.tsx @@ -35,6 +35,7 @@ import { import { useToast } from "@nimara/ui/hooks"; import { cn } from "@nimara/ui/lib/utils"; +import { clientEnvs } from "@/envs/client"; import { PAYMENT_ELEMENT_ID } from "@/features/checkout/consts"; import { PaymentMethods } from "@/features/checkout/payment-methods"; import { type MarketplaceCheckoutItem } from "@/features/checkout/types"; @@ -124,7 +125,7 @@ export const Payment = ({ const [isMounted, setIsMounted] = useState(false); const [isCountryChanging, setIsCountryChanging] = useState(false); const isMarketplacePayment = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false" && + clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED && !!marketplaceCheckouts && marketplaceCheckouts.length > 0; const hasSavedPaymentMethods = diff --git a/apps/storefront/src/foundation/checkout/sections/sections.tsx b/apps/storefront/src/foundation/checkout/sections/sections.tsx index 77a55e839..ccbd3dd01 100644 --- a/apps/storefront/src/foundation/checkout/sections/sections.tsx +++ b/apps/storefront/src/foundation/checkout/sections/sections.tsx @@ -45,11 +45,11 @@ export const CheckoutSections = ({ }: Props) => { const t = useTranslations(); const router = useRouter(); - const isMarketplaceFlow = + const isMarketplaceMode = clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED && !!marketplaceCheckouts && marketplaceCheckouts.length > 0; - const checkoutCollection = isMarketplaceFlow + const checkoutCollection = isMarketplaceMode ? marketplaceCheckouts.map((item) => item.checkout) : [checkout]; const emailProvidedForAll = checkoutCollection.every( @@ -64,7 +64,7 @@ export const CheckoutSections = ({ const isShippingRequiredForAny = checkoutCollection.some( (entry) => entry.isShippingRequired, ); - const marketplaceShippingCheckouts = marketplaceCheckouts?.filter( + const checkoutsWithShippingRequired = marketplaceCheckouts?.filter( (item) => item.checkout.isShippingRequired, ); const checkoutForSections: Checkout = { @@ -88,6 +88,15 @@ export const CheckoutSections = ({ null) : null, }; + const isDeliverySelected = checkoutForSections.deliveryMethod !== null; + + const submitDeliveryMethod = () => { + router.push( + paths.checkout.asPath({ + query: { step: "payment" }, + }), + ); + }; return ( @@ -133,36 +142,55 @@ export const CheckoutSections = ({ )} - {checkoutForSections.isShippingRequired && ( + {isMarketplaceMode && checkoutsWithShippingRequired && ( + <> + + ( +
+ + {vendorDisplayName} - {checkout.deliveryMethod?.name} + +
+ ), + ) + : null + } + > + +
+ + )} + + {!isMarketplaceMode && checkoutForSections.isShippingRequired && ( <> + {checkoutForSections.deliveryMethod.name} +

+ ) : null + } > - {isMarketplaceFlow && marketplaceShippingCheckouts ? ( - { - router.push( - paths.checkout.asPath({ - query: { step: "payment" }, - }), - ); - }} - /> - ) : ( - { - router.push( - paths.checkout.asPath({ - query: { step: "payment" }, - }), - ); - }} - /> - )} +
)} diff --git a/apps/storefront/src/foundation/checkout/sections/shipping-address/section.tsx b/apps/storefront/src/foundation/checkout/sections/shipping-address/section.tsx index f999afd61..4984340f8 100644 --- a/apps/storefront/src/foundation/checkout/sections/shipping-address/section.tsx +++ b/apps/storefront/src/foundation/checkout/sections/shipping-address/section.tsx @@ -26,7 +26,7 @@ export const CheckoutShippingAddressSection = ({ step="shipping-address" title={t("shipping-address.title")} isOpen={isOpen} - closedContent={ + collapsedSummary={ checkout.shippingAddress && formattedShippingAddress ? (
{displayFormattedAddressLines({ diff --git a/apps/storefront/src/foundation/checkout/sections/user-details/actions.ts b/apps/storefront/src/foundation/checkout/sections/user-details/actions.ts index f5139e7c4..a3939a961 100644 --- a/apps/storefront/src/foundation/checkout/sections/user-details/actions.ts +++ b/apps/storefront/src/foundation/checkout/sections/user-details/actions.ts @@ -5,8 +5,9 @@ import { revalidatePath } from "next/cache"; import { type Checkout } from "@nimara/domain/objects/Checkout"; import { ok } from "@nimara/domain/objects/Result"; +import { clientEnvs } from "@/envs/client"; import { serverEnvs } from "@/envs/server"; -import { getCheckoutIds } from "@/features/checkout/cart"; +import { getAllCheckoutIds } from "@/features/checkout/server"; import { paths } from "@/foundation/routing/paths"; import { getServiceRegistry } from "@/services/registry"; @@ -47,13 +48,13 @@ export const updateCheckoutUserDetailsAction = async ( payload: UpdateCheckoutUserDetailsPayload, opts: UpdateCheckoutUserDetailsOpts = {}, ) => { - const isMarketplaceEnabled = - process.env.NEXT_PUBLIC_MARKETPLACE_ENABLED !== "false"; + const isMarketplaceEnabled = clientEnvs.NEXT_PUBLIC_MARKETPLACE_ENABLED; const services = await getServiceRegistry(); const checkoutService = await services.getCheckoutService(); if (isMarketplaceEnabled) { - const checkoutIds = await getCheckoutIds(); + const allCheckoutIds = await getAllCheckoutIds(); + const checkoutIds = Object.values(allCheckoutIds); const targetCheckoutIds = checkoutIds.length ? checkoutIds : [payload.checkout.id]; diff --git a/apps/storefront/src/foundation/checkout/sections/user-details/section.tsx b/apps/storefront/src/foundation/checkout/sections/user-details/section.tsx index e86b1a4f5..04155b33d 100644 --- a/apps/storefront/src/foundation/checkout/sections/user-details/section.tsx +++ b/apps/storefront/src/foundation/checkout/sections/user-details/section.tsx @@ -23,7 +23,7 @@ export const CheckoutUserDetailsSection = ({ step="user-details" title={t("user-details.title")} isOpen={isOpen} - closedContent={ + collapsedSummary={ checkout.email ? (

{checkout.email}

) : null diff --git a/apps/storefront/src/foundation/i18n/middleware.ts b/apps/storefront/src/foundation/i18n/middleware.ts index 21d803784..fc38acccb 100644 --- a/apps/storefront/src/foundation/i18n/middleware.ts +++ b/apps/storefront/src/foundation/i18n/middleware.ts @@ -19,7 +19,7 @@ import { storefrontLogger } from "@/services/logging"; export const i18nMiddleware: (next: CustomMiddleware) => CustomMiddleware = createI18nMiddleware({ localeCookieKey: COOKIE_KEY.locale, - checkoutIdCookieKey: COOKIE_KEY.checkoutId, + checkoutCookieKey: COOKIE_KEY.checkout, localeCookieMaxAge: COOKIE_MAX_AGE.locale, logger: storefrontLogger, onLocaleChange: (from, to) => { diff --git a/apps/storefront/src/proxy.ts b/apps/storefront/src/proxy.ts index ba023bfa8..efbb34ab7 100644 --- a/apps/storefront/src/proxy.ts +++ b/apps/storefront/src/proxy.ts @@ -14,7 +14,7 @@ export default chain([ ucpProxyMiddleware({ redirectEnabled: true, checkoutCookie: { - key: COOKIE_KEY.checkoutId, + key: COOKIE_KEY.checkout, maxAge: COOKIE_MAX_AGE.checkout, path: "/", httpOnly: true, diff --git a/apps/storefront/src/services/lazy-loaders/marketplace.ts b/apps/storefront/src/services/lazy-loaders/marketplace.ts new file mode 100644 index 000000000..545afa0be --- /dev/null +++ b/apps/storefront/src/services/lazy-loaders/marketplace.ts @@ -0,0 +1,35 @@ +import { type Logger } from "@nimara/foundation/logging/types"; +import { type MarketplaceService } from "@nimara/infrastructure/marketplace/types"; + +import { MARKETPLACE_VENDOR_PROFILE_CACHE_TTL } from "@/config"; +import { clientEnvs } from "@/envs/client"; + +/** + * Creates a lazy loader function for the checkout service. + * This function is only used by the service registry. + * @internal + * @param logger - The logger to use for the checkout service. + * @returns A promise that resolves to the checkout service. + */ +export const createMarketplaceServiceLoader = (logger: Logger) => { + let marketplaceServiceInstance: MarketplaceService | null = null; + + return async (): Promise => { + if (marketplaceServiceInstance) { + return marketplaceServiceInstance; + } + + const { saleorMarketplaceService } = + await import("@nimara/infrastructure/marketplace/saleor/service"); + + marketplaceServiceInstance = saleorMarketplaceService({ + apiURL: clientEnvs.NEXT_PUBLIC_SALEOR_API_URL, + logger, + cacheTTL: { + vendorProfile: MARKETPLACE_VENDOR_PROFILE_CACHE_TTL, + }, + }); + + return marketplaceServiceInstance; + }; +}; diff --git a/apps/storefront/src/services/marketplace.ts b/apps/storefront/src/services/marketplace.ts new file mode 100644 index 000000000..6017720fb --- /dev/null +++ b/apps/storefront/src/services/marketplace.ts @@ -0,0 +1,7 @@ +import { getServiceRegistry } from "@/services/registry"; + +export const getMarketplaceService = async () => { + const serviceRegistry = await getServiceRegistry(); + + return serviceRegistry.getMarketplaceService(); +}; diff --git a/apps/storefront/src/services/registry.ts b/apps/storefront/src/services/registry.ts index ef14edfe6..7b58619c2 100644 --- a/apps/storefront/src/services/registry.ts +++ b/apps/storefront/src/services/registry.ts @@ -4,6 +4,7 @@ import type { ServiceRegistry } from "@nimara/infrastructure/types"; import { CACHE_TTL } from "@/config"; import { createAddressServiceLoader } from "@/services/lazy-loaders/address"; import { createCheckoutServiceLoader } from "@/services/lazy-loaders/checkout"; +import { createMarketplaceServiceLoader } from "@/services/lazy-loaders/marketplace"; import { createPaymentServiceLoader } from "@/services/lazy-loaders/payment"; import { createCartServiceLoader } from "./lazy-loaders/cart"; @@ -44,6 +45,7 @@ export const getServiceRegistry = async (): Promise => { const getSearchService = createSearchServiceLoader(logger); const getStoreService = createStoreServiceLoader(logger); const getUserService = createUserServiceLoader(logger); + const getMarketplaceService = createMarketplaceServiceLoader(logger); serviceRegistryInstance = { config, @@ -57,6 +59,7 @@ export const getServiceRegistry = async (): Promise => { getStoreService, getUserService, getPaymentService, + getMarketplaceService, }; return serviceRegistryInstance; diff --git a/apps/stripe/src/graphql/generated/client.ts b/apps/stripe/src/graphql/generated/client.ts index 1eaf4023b..d6f706e30 100644 --- a/apps/stripe/src/graphql/generated/client.ts +++ b/apps/stripe/src/graphql/generated/client.ts @@ -1,49 +1,36 @@ /* eslint-disable */ -import type { DocumentTypeDecoration } from "@graphql-typed-document-node/core"; +import type { DocumentTypeDecoration } from '@graphql-typed-document-node/core'; export type Maybe = T | null; export type InputMaybe = Maybe; -export type Exact = { - [K in keyof T]: T[K]; -}; -export type MakeOptional = Omit & { - [SubKey in K]?: Maybe; -}; -export type MakeMaybe = Omit & { - [SubKey in K]: Maybe; -}; -export type MakeEmpty< - T extends { [key: string]: unknown }, - K extends keyof T, -> = { [_ in K]?: never }; -export type Incremental = - | T - | { - [P in keyof T]?: P extends " $fragmentName" | "__typename" ? T[P] : never; - }; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type MakeEmpty = { [_ in K]?: never }; +export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { - ID: { input: string; output: string }; - String: { input: string; output: string }; - Boolean: { input: boolean; output: boolean }; - Int: { input: number; output: number }; - Float: { input: number; output: number }; - Date: { input: string; output: string }; - DateTime: { input: string; output: string }; - Day: { input: number; output: number }; - Decimal: { input: number; output: number }; - GenericScalar: { input: unknown; output: unknown }; - Hour: { input: number; output: number }; - JSON: { input: unknown; output: unknown }; - JSONString: { input: string; output: string }; - Metadata: { input: Record; output: Record }; - Minute: { input: number; output: number }; - PositiveDecimal: { input: number; output: number }; - PositiveInt: { input: number; output: number }; - UUID: { input: string; output: string }; - Upload: { input: unknown; output: unknown }; - WeightScalar: { input: unknown; output: unknown }; - _Any: { input: unknown; output: unknown }; + ID: { input: string; output: string; } + String: { input: string; output: string; } + Boolean: { input: boolean; output: boolean; } + Int: { input: number; output: number; } + Float: { input: number; output: number; } + Date: { input: string; output: string; } + DateTime: { input: string; output: string; } + Day: { input: number; output: number; } + Decimal: { input: number; output: number; } + GenericScalar: { input: unknown; output: unknown; } + Hour: { input: number; output: number; } + JSON: { input: unknown; output: unknown; } + JSONString: { input: string; output: string; } + Metadata: { input: Record; output: Record; } + Minute: { input: number; output: number; } + PositiveDecimal: { input: number; output: number; } + PositiveInt: { input: number; output: number; } + UUID: { input: string; output: string; } + Upload: { input: unknown; output: unknown; } + WeightScalar: { input: unknown; output: unknown; } + _Any: { input: unknown; output: unknown; } }; /** @@ -99,23 +86,23 @@ export type AccountChangeEmailRequested = Event & { /** The channel data. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The new email address the user wants to change to. */ - newEmail: Maybe; + newEmail: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** The URL to redirect the user after he accepts the request. */ - redirectUrl: Maybe; + redirectUrl: Maybe; /** Shop data. */ shop: Maybe; /** The token required to confirm request. */ - token: Maybe; + token: Maybe; /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when account confirmation requested. This event is always sent. enableAccountConfirmationByEmail flag set to True is not required. */ @@ -123,21 +110,21 @@ export type AccountConfirmationRequested = Event & { /** The channel data. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** The URL to redirect the user after he accepts the request. */ - redirectUrl: Maybe; + redirectUrl: Maybe; /** Shop data. */ shop: Maybe; /** The token required to confirm request. */ - token: Maybe; + token: Maybe; /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when account is confirmed. */ @@ -145,21 +132,21 @@ export type AccountConfirmed = Event & { /** The channel data. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** The URL to redirect the user after he accepts the request. */ - redirectUrl: Maybe; + redirectUrl: Maybe; /** Shop data. */ shop: Maybe; /** The token required to confirm request. */ - token: Maybe; + token: Maybe; /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -182,21 +169,21 @@ export type AccountDeleteRequested = Event & { /** The channel data. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** The URL to redirect the user after he accepts the request. */ - redirectUrl: Maybe; + redirectUrl: Maybe; /** Shop data. */ shop: Maybe; /** The token required to confirm request. */ - token: Maybe; + token: Maybe; /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when account is deleted. */ @@ -204,21 +191,21 @@ export type AccountDeleted = Event & { /** The channel data. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** The URL to redirect the user after he accepts the request. */ - redirectUrl: Maybe; + redirectUrl: Maybe; /** Shop data. */ shop: Maybe; /** The token required to confirm request. */ - token: Maybe; + token: Maybe; /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when account email is changed. */ @@ -226,23 +213,23 @@ export type AccountEmailChanged = Event & { /** The channel data. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The new email address. */ - newEmail: Maybe; + newEmail: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** The URL to redirect the user after he accepts the request. */ - redirectUrl: Maybe; + redirectUrl: Maybe; /** Shop data. */ shop: Maybe; /** The token required to confirm request. */ - token: Maybe; + token: Maybe; /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Represents errors in account mutations. */ @@ -252,49 +239,49 @@ export type AccountError = { /** The error code. */ code: AccountErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type AccountErrorCode = - | "ACCOUNT_NOT_CONFIRMED" - | "ACTIVATE_OWN_ACCOUNT" - | "ACTIVATE_SUPERUSER_ACCOUNT" - | "CHANNEL_INACTIVE" - | "DEACTIVATE_OWN_ACCOUNT" - | "DEACTIVATE_SUPERUSER_ACCOUNT" - | "DELETE_NON_STAFF_USER" - | "DELETE_OWN_ACCOUNT" - | "DELETE_STAFF_ACCOUNT" - | "DELETE_SUPERUSER_ACCOUNT" - | "DISABLED_AUTHENTICATION_METHOD" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INACTIVE" - | "INVALID" - | "INVALID_CREDENTIALS" - | "INVALID_PASSWORD" - | "JWT_DECODE_ERROR" - | "JWT_INVALID_CSRF_TOKEN" - | "JWT_INVALID_TOKEN" - | "JWT_MISSING_TOKEN" - | "JWT_SIGNATURE_EXPIRED" - | "LEFT_NOT_MANAGEABLE_PERMISSION" - | "LOGIN_ATTEMPT_DELAYED" - | "MISSING_CHANNEL_SLUG" - | "NOT_FOUND" - | "OUT_OF_SCOPE_GROUP" - | "OUT_OF_SCOPE_PERMISSION" - | "OUT_OF_SCOPE_USER" - | "PASSWORD_ENTIRELY_NUMERIC" - | "PASSWORD_RESET_ALREADY_REQUESTED" - | "PASSWORD_TOO_COMMON" - | "PASSWORD_TOO_SHORT" - | "PASSWORD_TOO_SIMILAR" - | "REQUIRED" - | "UNIQUE" - | "UNKNOWN_IP_ADDRESS"; + | 'ACCOUNT_NOT_CONFIRMED' + | 'ACTIVATE_OWN_ACCOUNT' + | 'ACTIVATE_SUPERUSER_ACCOUNT' + | 'CHANNEL_INACTIVE' + | 'DEACTIVATE_OWN_ACCOUNT' + | 'DEACTIVATE_SUPERUSER_ACCOUNT' + | 'DELETE_NON_STAFF_USER' + | 'DELETE_OWN_ACCOUNT' + | 'DELETE_STAFF_ACCOUNT' + | 'DELETE_SUPERUSER_ACCOUNT' + | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' + | 'GRAPHQL_ERROR' + | 'INACTIVE' + | 'INVALID' + | 'INVALID_CREDENTIALS' + | 'INVALID_PASSWORD' + | 'JWT_DECODE_ERROR' + | 'JWT_INVALID_CSRF_TOKEN' + | 'JWT_INVALID_TOKEN' + | 'JWT_MISSING_TOKEN' + | 'JWT_SIGNATURE_EXPIRED' + | 'LEFT_NOT_MANAGEABLE_PERMISSION' + | 'LOGIN_ATTEMPT_DELAYED' + | 'MISSING_CHANNEL_SLUG' + | 'NOT_FOUND' + | 'OUT_OF_SCOPE_GROUP' + | 'OUT_OF_SCOPE_PERMISSION' + | 'OUT_OF_SCOPE_USER' + | 'PASSWORD_ENTIRELY_NUMERIC' + | 'PASSWORD_RESET_ALREADY_REQUESTED' + | 'PASSWORD_TOO_COMMON' + | 'PASSWORD_TOO_SHORT' + | 'PASSWORD_TOO_SIMILAR' + | 'REQUIRED' + | 'UNIQUE' + | 'UNKNOWN_IP_ADDRESS'; /** Fields required to update the user. */ export type AccountInput = { @@ -303,11 +290,11 @@ export type AccountInput = { /** Shipping address of the customer. */ defaultShippingAddress?: InputMaybe; /** Given name. */ - firstName?: InputMaybe; + firstName?: InputMaybe; /** User language code. */ languageCode?: InputMaybe; /** Family name. */ - lastName?: InputMaybe; + lastName?: InputMaybe; /** * Fields required to update the user metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -329,7 +316,7 @@ export type AccountRegister = { accountErrors: Array; errors: Array; /** Informs whether users need to confirm their email address. */ - requiresConfirmation: Maybe; + requiresConfirmation: Maybe; /** @deprecated The field always returns a `User` object constructed from the input data. The `user.id` is always empty. To determine whether the user exists in Saleor, query via an external app with the required permissions. */ user: Maybe; }; @@ -337,15 +324,15 @@ export type AccountRegister = { /** Fields required to create a user. */ export type AccountRegisterInput = { /** Slug of a channel which will be used to notify users. Optional when only one channel exists. */ - channel?: InputMaybe; + channel?: InputMaybe; /** The email address of the user. */ - email: Scalars["String"]["input"]; + email: Scalars['String']['input']; /** Given name. */ - firstName?: InputMaybe; + firstName?: InputMaybe; /** User language code. */ languageCode?: InputMaybe; /** Family name. */ - lastName?: InputMaybe; + lastName?: InputMaybe; /** * User public metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -353,9 +340,9 @@ export type AccountRegisterInput = { */ metadata?: InputMaybe>; /** Password. */ - password: Scalars["String"]["input"]; + password: Scalars['String']['input']; /** Base of frontend URL that will be needed to create confirmation URL. Required when account confirmation is enabled. */ - redirectUrl?: InputMaybe; + redirectUrl?: InputMaybe; }; /** @@ -394,21 +381,21 @@ export type AccountSetPasswordRequested = Event & { /** The channel data. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** The URL to redirect the user after he accepts the request. */ - redirectUrl: Maybe; + redirectUrl: Maybe; /** Shop data. */ shop: Maybe; /** The token required to confirm request. */ - token: Maybe; + token: Maybe; /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -428,76 +415,79 @@ export type AccountUpdate = { }; /** Represents user address data. */ -export type Address = Node & - ObjectWithMetadata & { - /** The city of the address. */ - city: Scalars["String"]["output"]; - /** The district of the address. */ - cityArea: Scalars["String"]["output"]; - /** Company or organization name. */ - companyName: Scalars["String"]["output"]; - /** The country of the address. */ - country: CountryDisplay; - /** The country area of the address. */ - countryArea: Scalars["String"]["output"]; - /** The given name of the address. */ - firstName: Scalars["String"]["output"]; - /** The ID of the address. */ - id: Scalars["ID"]["output"]; - /** Address is user's default billing address. */ - isDefaultBillingAddress: Maybe; - /** Address is user's default shipping address. */ - isDefaultShippingAddress: Maybe; - /** The family name of the address. */ - lastName: Scalars["String"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** The phone number assigned the address. */ - phone: Maybe; - /** The postal code of the address. */ - postalCode: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** The first line of the address. */ - streetAddress1: Scalars["String"]["output"]; - /** The second line of the address. */ - streetAddress2: Scalars["String"]["output"]; - }; +export type Address = Node & ObjectWithMetadata & { + /** The city of the address. */ + city: Scalars['String']['output']; + /** The district of the address. */ + cityArea: Scalars['String']['output']; + /** Company or organization name. */ + companyName: Scalars['String']['output']; + /** The country of the address. */ + country: CountryDisplay; + /** The country area of the address. */ + countryArea: Scalars['String']['output']; + /** The given name of the address. */ + firstName: Scalars['String']['output']; + /** The ID of the address. */ + id: Scalars['ID']['output']; + /** Address is user's default billing address. */ + isDefaultBillingAddress: Maybe; + /** Address is user's default shipping address. */ + isDefaultShippingAddress: Maybe; + /** The family name of the address. */ + lastName: Scalars['String']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** The phone number assigned the address. */ + phone: Maybe; + /** The postal code of the address. */ + postalCode: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** The first line of the address. */ + streetAddress1: Scalars['String']['output']; + /** The second line of the address. */ + streetAddress2: Scalars['String']['output']; +}; + /** Represents user address data. */ export type AddressMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents user address data. */ export type AddressMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents user address data. */ export type AddressPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents user address data. */ export type AddressPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** @@ -522,13 +512,13 @@ export type AddressCreated = Event & { /** The address the event relates to. */ address: Maybe
; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -553,13 +543,13 @@ export type AddressDeleted = Event & { /** The address the event relates to. */ address: Maybe
; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Filtering options for addresses. */ @@ -570,19 +560,19 @@ export type AddressFilterInput = { export type AddressInput = { /** City. */ - city?: InputMaybe; + city?: InputMaybe; /** District. */ - cityArea?: InputMaybe; + cityArea?: InputMaybe; /** Company or organization. */ - companyName?: InputMaybe; + companyName?: InputMaybe; /** Country. */ country?: InputMaybe; /** State or province. */ - countryArea?: InputMaybe; + countryArea?: InputMaybe; /** Given name. */ - firstName?: InputMaybe; + firstName?: InputMaybe; /** Family name. */ - lastName?: InputMaybe; + lastName?: InputMaybe; /** * Address public metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -594,9 +584,9 @@ export type AddressInput = { * * Phone numbers are validated with Google's [libphonenumber](https://github.com/google/libphonenumber) library. */ - phone?: InputMaybe; + phone?: InputMaybe; /** Postal code. */ - postalCode?: InputMaybe; + postalCode?: InputMaybe; /** * Determine if the address should be validated. By default, Saleor accepts only address inputs matching ruleset from [Google Address Data]{https://chromium-i18n.appspot.com/ssl-address), using [i18naddress](https://github.com/mirumee/google-i18n-address) library. Some mutations may require additional permissions to use the the field. More info about permissions can be found in relevant mutation. * @@ -604,11 +594,11 @@ export type AddressInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - skipValidation?: InputMaybe; + skipValidation?: InputMaybe; /** Address. */ - streetAddress1?: InputMaybe; + streetAddress1?: InputMaybe; /** Address. */ - streetAddress2?: InputMaybe; + streetAddress2?: InputMaybe; }; /** @@ -627,7 +617,9 @@ export type AddressSetDefault = { user: Maybe; }; -export type AddressTypeEnum = "BILLING" | "SHIPPING"; +export type AddressTypeEnum = + | 'BILLING' + | 'SHIPPING'; /** * Updates an address. @@ -651,13 +643,13 @@ export type AddressUpdated = Event & { /** The address the event relates to. */ address: Maybe
; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Represents address validation rules for a country. */ @@ -678,7 +670,7 @@ export type AddressValidationData = { * * [Click here for more information.](https://github.com/google/libaddressinput/wiki/AddressValidationMetadata) */ - addressFormat: Scalars["String"]["output"]; + addressFormat: Scalars['String']['output']; /** * The latin address format of the address validation rule. * @@ -695,49 +687,49 @@ export type AddressValidationData = { * * [Click here for more information.](https://github.com/google/libaddressinput/wiki/AddressValidationMetadata) */ - addressLatinFormat: Scalars["String"]["output"]; + addressLatinFormat: Scalars['String']['output']; /** The allowed fields to use in address. */ - allowedFields: Array; + allowedFields: Array; /** The available choices for the city area of the address validation rule. */ cityAreaChoices: Array; /** The formal name of the city area of the address validation rule. */ - cityAreaType: Scalars["String"]["output"]; + cityAreaType: Scalars['String']['output']; /** The available choices for the city of the address validation rule. */ cityChoices: Array; /** The formal name of the city of the address validation rule. */ - cityType: Scalars["String"]["output"]; + cityType: Scalars['String']['output']; /** The available choices for the country area of the address validation rule. */ countryAreaChoices: Array; /** The formal name of the county area of the address validation rule. */ - countryAreaType: Scalars["String"]["output"]; + countryAreaType: Scalars['String']['output']; /** The country code of the address validation rule. */ - countryCode: Scalars["String"]["output"]; + countryCode: Scalars['String']['output']; /** The country name of the address validation rule. */ - countryName: Scalars["String"]["output"]; + countryName: Scalars['String']['output']; /** The example postal code of the address validation rule. */ - postalCodeExamples: Array; + postalCodeExamples: Array; /** The regular expression for postal code validation. */ - postalCodeMatchers: Array; + postalCodeMatchers: Array; /** The postal code prefix of the address validation rule. */ - postalCodePrefix: Scalars["String"]["output"]; + postalCodePrefix: Scalars['String']['output']; /** The formal name of the postal code of the address validation rule. */ - postalCodeType: Scalars["String"]["output"]; + postalCodeType: Scalars['String']['output']; /** The required fields to create a valid address. */ - requiredFields: Array; + requiredFields: Array; /** The list of fields that should be in upper case for address validation rule. */ - upperFields: Array; + upperFields: Array; }; /** Represents allocation. */ export type Allocation = Node & { /** The ID of allocation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** * Quantity allocated for orders. * * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. */ - quantity: Scalars["Int"]["output"]; + quantity: Scalars['Int']['output']; /** * The warehouse were items were allocated. * @@ -756,139 +748,143 @@ export type Allocation = Node & { * */ export type AllocationStrategyEnum = - | "PRIORITIZE_HIGH_STOCK" - | "PRIORITIZE_SORTING_ORDER"; + | 'PRIORITIZE_HIGH_STOCK' + | 'PRIORITIZE_SORTING_ORDER'; /** Represents app data. */ -export type App = Node & - ObjectWithMetadata & { - /** Description of this app. */ - aboutApp: Maybe; - /** JWT token used to authenticate by third-party app. */ - accessToken: Maybe; - /** URL to iframe with the app. */ - appUrl: Maybe; - /** The App's author name. */ - author: Maybe; - /** App's brand data. */ - brand: Maybe; - /** - * Circuit breaker last state change date. - * - * Added in Saleor 3.21. - */ - breakerLastStateChange: Maybe; - /** - * Circuit breaker state, if open, sync webhooks operation is disrupted. - * - * Added in Saleor 3.21. - */ - breakerState: CircuitBreakerStateEnum; - /** - * URL to iframe with the configuration for the app. - * @deprecated Use `appUrl` instead. - */ - configurationUrl: Maybe; - /** The date and time when the app was created. */ - created: Maybe; - /** - * Description of the data privacy defined for this app. - * @deprecated Use `dataPrivacyUrl` instead. - */ - dataPrivacy: Maybe; - /** URL to details about the privacy policy on the app owner page. */ - dataPrivacyUrl: Maybe; - /** App's dashboard extensions. */ - extensions: Array; - /** Homepage of the app. */ - homepageUrl: Maybe; - /** The ID of the app. */ - id: Scalars["ID"]["output"]; - /** - * Canonical app ID from the manifest - * - * Added in Saleor 3.19. - */ - identifier: Maybe; - /** Determine if app will be set active or not. */ - isActive: Maybe; - /** URL to manifest used during app's installation. */ - manifestUrl: Maybe; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Name of the app. */ - name: Maybe; - /** List of the app's permissions. */ - permissions: Maybe>; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** - * List of problems associated with this app. - * - * Added in Saleor 3.22. - * - * Requires one of the following permissions: AUTHENTICATED_APP, MANAGE_APPS. - */ - problems: Maybe>; - /** Support page for the app. */ - supportUrl: Maybe; - /** - * Last 4 characters of the tokens. - * - * Requires one of the following permissions: MANAGE_APPS, OWNER. - */ - tokens: Maybe>; - /** Type of the app. */ - type: Maybe; - /** Version number of the app. */ - version: Maybe; - /** - * List of webhooks assigned to this app. - * - * Requires one of the following permissions: MANAGE_APPS, OWNER. - */ - webhooks: Maybe>; - }; +export type App = Node & ObjectWithMetadata & { + /** Description of this app. */ + aboutApp: Maybe; + /** JWT token used to authenticate by third-party app. */ + accessToken: Maybe; + /** URL to iframe with the app. */ + appUrl: Maybe; + /** The App's author name. */ + author: Maybe; + /** App's brand data. */ + brand: Maybe; + /** + * Circuit breaker last state change date. + * + * Added in Saleor 3.21. + */ + breakerLastStateChange: Maybe; + /** + * Circuit breaker state, if open, sync webhooks operation is disrupted. + * + * Added in Saleor 3.21. + */ + breakerState: CircuitBreakerStateEnum; + /** + * URL to iframe with the configuration for the app. + * @deprecated Use `appUrl` instead. + */ + configurationUrl: Maybe; + /** The date and time when the app was created. */ + created: Maybe; + /** + * Description of the data privacy defined for this app. + * @deprecated Use `dataPrivacyUrl` instead. + */ + dataPrivacy: Maybe; + /** URL to details about the privacy policy on the app owner page. */ + dataPrivacyUrl: Maybe; + /** App's dashboard extensions. */ + extensions: Array; + /** Homepage of the app. */ + homepageUrl: Maybe; + /** The ID of the app. */ + id: Scalars['ID']['output']; + /** + * Canonical app ID from the manifest + * + * Added in Saleor 3.19. + */ + identifier: Maybe; + /** Determine if app will be set active or not. */ + isActive: Maybe; + /** URL to manifest used during app's installation. */ + manifestUrl: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Name of the app. */ + name: Maybe; + /** List of the app's permissions. */ + permissions: Maybe>; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** + * List of problems associated with this app. + * + * Added in Saleor 3.22. + * + * Requires one of the following permissions: AUTHENTICATED_APP, MANAGE_APPS. + */ + problems: Maybe>; + /** Support page for the app. */ + supportUrl: Maybe; + /** + * Last 4 characters of the tokens. + * + * Requires one of the following permissions: MANAGE_APPS, OWNER. + */ + tokens: Maybe>; + /** Type of the app. */ + type: Maybe; + /** Version number of the app. */ + version: Maybe; + /** + * List of webhooks assigned to this app. + * + * Requires one of the following permissions: MANAGE_APPS, OWNER. + */ + webhooks: Maybe>; +}; + /** Represents app data. */ export type AppMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents app data. */ export type AppMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents app data. */ export type AppPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents app data. */ export type AppPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents app data. */ export type AppProblemsArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; /** @@ -915,13 +911,14 @@ export type AppBrand = { /** Represents the app's brand logo data. */ export type AppBrandLogo = { /** URL to the default logo image. */ - default: Scalars["String"]["output"]; + default: Scalars['String']['output']; }; + /** Represents the app's brand logo data. */ export type AppBrandLogoDefaultArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; export type AppCountableConnection = { @@ -929,12 +926,12 @@ export type AppCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type AppCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: App; }; @@ -950,7 +947,7 @@ export type AppCreate = { /** @deprecated Use `errors` field instead. */ appErrors: Array; /** The newly created authentication token. */ - authToken: Maybe; + authToken: Maybe; errors: Array; }; @@ -1001,75 +998,92 @@ export type AppDeleted = Event & { /** The application the event relates to. */ app: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type AppError = { /** The error code. */ code: AppErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of permissions which causes the error. */ permissions: Maybe>; }; export type AppErrorCode = - | "FORBIDDEN" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_CUSTOM_HEADERS" - | "INVALID_MANIFEST_FORMAT" - | "INVALID_PERMISSION" - | "INVALID_STATUS" - | "INVALID_URL_FORMAT" - | "MANIFEST_URL_CANT_CONNECT" - | "NOT_FOUND" - | "OUT_OF_SCOPE_APP" - | "OUT_OF_SCOPE_PERMISSION" - | "REQUIRED" - | "UNIQUE" - | "UNSUPPORTED_SALEOR_VERSION"; + | 'FORBIDDEN' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_CUSTOM_HEADERS' + | 'INVALID_MANIFEST_FORMAT' + | 'INVALID_PERMISSION' + | 'INVALID_STATUS' + | 'INVALID_URL_FORMAT' + | 'MANIFEST_URL_CANT_CONNECT' + | 'NOT_FOUND' + | 'OUT_OF_SCOPE_APP' + | 'OUT_OF_SCOPE_PERMISSION' + | 'REQUIRED' + | 'UNIQUE' + | 'UNSUPPORTED_SALEOR_VERSION'; /** Represents app data. */ export type AppExtension = Node & { /** JWT token used to authenticate by third-party app extension. */ - accessToken: Maybe; + accessToken: Maybe; /** The app assigned to app extension. */ app: App; /** The ID of the app extension. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Label of the extension to show in the dashboard. */ - label: Scalars["String"]["output"]; + label: Scalars['String']['output']; + /** + * Place where given extension will be mounted. + * @deprecated Use `mountName` instead. + */ + mount: AppExtensionMountEnum; + /** + * Name of the extension mount point in the dashboard. Replaces `mount` + * + * Added in Saleor 3.22. + */ + mountName: Scalars['String']['output']; /** - * Name of the extension mount point in the dashboard. Value returned in UPPERCASE. + * App extension options. * * Added in Saleor 3.22. + * @deprecated Use `settings` field instead. */ - mountName: Scalars["String"]["output"]; + options: Maybe; /** List of the app extension's permissions. */ permissions: Array; /** - * App extension settings. + * App extension settings. Replaces `options` field. * * Added in Saleor 3.22. */ - settings: Scalars["JSON"]["output"]; + settings: Scalars['JSON']['output']; /** - * Name of the extension target in the dashboard. Value returned in UPPERCASE. + * Type of way how app extension will be opened. + * @deprecated Use `targetName` instead. + */ + target: AppExtensionTargetEnum; + /** + * Name of the extension target in the dashboard. Replaces `target` * * Added in Saleor 3.22. */ - targetName: Scalars["String"]["output"]; + targetName: Scalars['String']['output']; /** URL of a view where extension's iframe is placed. */ - url: Scalars["String"]["output"]; + url: Scalars['String']['output']; }; export type AppExtensionCountableConnection = { @@ -1077,30 +1091,128 @@ export type AppExtensionCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type AppExtensionCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: AppExtension; }; export type AppExtensionFilterInput = { + /** + * DEPRECATED: Use `mountName` instead. + * + * DEPRECATED: this field will be removed. + */ + mount?: InputMaybe>; /** * Plain-text mount name (case insensitive) * * Added in Saleor 3.22. */ - mountName?: InputMaybe>; + mountName?: InputMaybe>; + /** + * DEPRECATED: Use `targetName` instead. + * + * DEPRECATED: this field will be removed. + */ + target?: InputMaybe; /** * Plain-text target name (case insensitive) * * Added in Saleor 3.22. */ - targetName?: InputMaybe; -}; + targetName?: InputMaybe; +}; + +/** All places where app extension can be mounted. */ +export type AppExtensionMountEnum = + | 'CATEGORY_DETAILS_MORE_ACTIONS' + | 'CATEGORY_OVERVIEW_CREATE' + | 'CATEGORY_OVERVIEW_MORE_ACTIONS' + | 'COLLECTION_DETAILS_MORE_ACTIONS' + | 'COLLECTION_DETAILS_WIDGETS' + | 'COLLECTION_OVERVIEW_CREATE' + | 'COLLECTION_OVERVIEW_MORE_ACTIONS' + | 'CUSTOMER_DETAILS_MORE_ACTIONS' + | 'CUSTOMER_DETAILS_WIDGETS' + | 'CUSTOMER_OVERVIEW_CREATE' + | 'CUSTOMER_OVERVIEW_MORE_ACTIONS' + | 'DISCOUNT_DETAILS_MORE_ACTIONS' + | 'DISCOUNT_OVERVIEW_CREATE' + | 'DISCOUNT_OVERVIEW_MORE_ACTIONS' + | 'DRAFT_ORDER_DETAILS_MORE_ACTIONS' + | 'DRAFT_ORDER_DETAILS_WIDGETS' + | 'DRAFT_ORDER_OVERVIEW_CREATE' + | 'DRAFT_ORDER_OVERVIEW_MORE_ACTIONS' + | 'GIFT_CARD_DETAILS_MORE_ACTIONS' + | 'GIFT_CARD_DETAILS_WIDGETS' + | 'GIFT_CARD_OVERVIEW_CREATE' + | 'GIFT_CARD_OVERVIEW_MORE_ACTIONS' + | 'MENU_DETAILS_MORE_ACTIONS' + | 'MENU_OVERVIEW_CREATE' + | 'MENU_OVERVIEW_MORE_ACTIONS' + | 'NAVIGATION_CATALOG' + | 'NAVIGATION_CUSTOMERS' + | 'NAVIGATION_DISCOUNTS' + | 'NAVIGATION_ORDERS' + | 'NAVIGATION_PAGES' + | 'NAVIGATION_TRANSLATIONS' + | 'ORDER_DETAILS_MORE_ACTIONS' + | 'ORDER_DETAILS_WIDGETS' + | 'ORDER_OVERVIEW_CREATE' + | 'ORDER_OVERVIEW_MORE_ACTIONS' + | 'PAGE_DETAILS_MORE_ACTIONS' + | 'PAGE_OVERVIEW_CREATE' + | 'PAGE_OVERVIEW_MORE_ACTIONS' + | 'PAGE_TYPE_DETAILS_MORE_ACTIONS' + | 'PAGE_TYPE_OVERVIEW_CREATE' + | 'PAGE_TYPE_OVERVIEW_MORE_ACTIONS' + | 'PRODUCT_DETAILS_MORE_ACTIONS' + | 'PRODUCT_DETAILS_WIDGETS' + | 'PRODUCT_OVERVIEW_CREATE' + | 'PRODUCT_OVERVIEW_MORE_ACTIONS' + | 'TRANSLATIONS_MORE_ACTIONS' + | 'VOUCHER_DETAILS_MORE_ACTIONS' + | 'VOUCHER_DETAILS_WIDGETS' + | 'VOUCHER_OVERVIEW_CREATE' + | 'VOUCHER_OVERVIEW_MORE_ACTIONS'; + +/** Represents the options for an app extension. */ +export type AppExtensionOptionsNewTab = { + /** + * Options controlling behavior of the NEW_TAB extension target + * @deprecated Use `settings` field directly. + */ + newTabTarget: Maybe; +}; + +/** Represents the options for an app extension. */ +export type AppExtensionOptionsWidget = { + /** + * Options for displaying a Widget + * @deprecated Use `settings` field directly. + */ + widgetTarget: Maybe; +}; + +export type AppExtensionPossibleOptions = AppExtensionOptionsNewTab | AppExtensionOptionsWidget; + +/** + * All available ways of opening an app extension. + * + * POPUP - app's extension will be mounted as a popup window + * APP_PAGE - redirect to app's page + * + */ +export type AppExtensionTargetEnum = + | 'APP_PAGE' + | 'NEW_TAB' + | 'POPUP' + | 'WIDGET'; /** * Fetch and validate manifest. @@ -1116,8 +1228,8 @@ export type AppFetchManifest = { }; export type AppFilterInput = { - isActive?: InputMaybe; - search?: InputMaybe; + isActive?: InputMaybe; + search?: InputMaybe; type?: InputMaybe; }; @@ -1127,9 +1239,9 @@ export type AppInput = { * * Added in Saleor 3.19. */ - identifier?: InputMaybe; + identifier?: InputMaybe; /** Name of the app. */ - name?: InputMaybe; + name?: InputMaybe; /** List of permission code names to assign to this app. */ permissions?: InputMaybe>; }; @@ -1144,48 +1256,47 @@ export type AppInstall = { export type AppInstallInput = { /** Determine if app will be set active or not. */ - activateAfterInstallation?: InputMaybe; + activateAfterInstallation?: InputMaybe; /** Name of the app to install. */ - appName: Scalars["String"]["input"]; + appName?: InputMaybe; /** URL to app's manifest in JSON format. */ - manifestUrl: Scalars["String"]["input"]; + manifestUrl?: InputMaybe; /** List of permission code names to assign to this app. */ permissions?: InputMaybe>; }; /** Represents ongoing installation of app. */ -export type AppInstallation = Job & - Node & { - /** The name of the app installation. */ - appName: Scalars["String"]["output"]; - /** App's brand data. */ - brand: Maybe; - /** Created date time of job in ISO 8601 format. */ - createdAt: Scalars["DateTime"]["output"]; - /** The ID of the app installation. */ - id: Scalars["ID"]["output"]; - /** The URL address of manifest for the app installation. */ - manifestUrl: Scalars["String"]["output"]; - /** Job message. */ - message: Maybe; - /** Job status. */ - status: JobStatusEnum; - /** Date time of job last update in ISO 8601 format. */ - updatedAt: Scalars["DateTime"]["output"]; - }; +export type AppInstallation = Job & Node & { + /** The name of the app installation. */ + appName: Scalars['String']['output']; + /** App's brand data. */ + brand: Maybe; + /** Created date time of job in ISO 8601 format. */ + createdAt: Scalars['DateTime']['output']; + /** The ID of the app installation. */ + id: Scalars['ID']['output']; + /** The URL address of manifest for the app installation. */ + manifestUrl: Scalars['String']['output']; + /** Job message. */ + message: Maybe; + /** Job status. */ + status: JobStatusEnum; + /** Date time of job last update in ISO 8601 format. */ + updatedAt: Scalars['DateTime']['output']; +}; /** Event sent when new app is installed. */ export type AppInstalled = Event & { /** The application the event relates to. */ app: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Represents the app's manifest brand data. */ @@ -1197,60 +1308,71 @@ export type AppManifestBrand = { /** Represents the app's manifest brand data. */ export type AppManifestBrandLogo = { /** Data URL with a base64 encoded logo image. */ - default: Scalars["String"]["output"]; + default: Scalars['String']['output']; }; + /** Represents the app's manifest brand data. */ export type AppManifestBrandLogoDefaultArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; export type AppManifestExtension = { /** Label of the extension to show in the dashboard. */ - label: Scalars["String"]["output"]; + label: Scalars['String']['output']; + /** + * Place where given extension will be mounted. + * @deprecated Use `mountName` instead. + */ + mount: AppExtensionMountEnum; /** - * Name of the extension mount point in the dashboard. Value returned in UPPERCASE. + * Name of the extension mount point in the dashboard. Replaces `mount` * * Added in Saleor 3.22. */ - mountName: Scalars["String"]["output"]; + mountName: Scalars['String']['output']; /** List of the app extension's permissions. */ permissions: Array; /** - * App extension settings. + * JSON object with settings for this extension. * * Added in Saleor 3.22. */ - settings: Scalars["JSON"]["output"]; + settings: Scalars['JSON']['output']; + /** + * Type of way how app extension will be opened. + * @deprecated Use `targetName` instead. + */ + target: AppExtensionTargetEnum; /** - * Name of the extension target in the dashboard. Value returned in UPPERCASE. + * Name of the extension target in the dashboard. Replaces `target` * * Added in Saleor 3.22. */ - targetName: Scalars["String"]["output"]; + targetName: Scalars['String']['output']; /** URL of a view where extension's iframe is placed. */ - url: Scalars["String"]["output"]; + url: Scalars['String']['output']; }; export type AppManifestRequiredSaleorVersion = { /** Required Saleor version as semver range. */ - constraint: Scalars["String"]["output"]; + constraint: Scalars['String']['output']; /** Informs if the Saleor version matches the required one. */ - satisfied: Scalars["Boolean"]["output"]; + satisfied: Scalars['Boolean']['output']; }; export type AppManifestWebhook = { /** The asynchronous events that webhook wants to subscribe. */ asyncEvents: Maybe>; /** The name of the webhook. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Subscription query of a webhook */ - query: Scalars["String"]["output"]; + query: Scalars['String']['output']; /** The synchronous events that webhook wants to subscribe. */ syncEvents: Maybe>; /** The url to receive the payload. */ - targetUrl: Scalars["String"]["output"]; + targetUrl: Scalars['String']['output']; }; /** @@ -1264,13 +1386,13 @@ export type AppProblem = Node & { * * Added in Saleor 3.22. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; /** * The date and time when the problem was created. * * Added in Saleor 3.22. */ - createdAt: Scalars["DateTime"]["output"]; + createdAt: Scalars['DateTime']['output']; /** * Dismissal information. Null if the problem has not been dismissed. * @@ -1284,31 +1406,31 @@ export type AppProblem = Node & { * * Added in Saleor 3.22. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** * Whether the problem has reached critical threshold. * * Added in Saleor 3.22. */ - isCritical: Scalars["Boolean"]["output"]; + isCritical: Scalars['Boolean']['output']; /** * Key identifying the type of problem. * * Added in Saleor 3.22. */ - key: Scalars["String"]["output"]; + key: Scalars['String']['output']; /** * The problem message. * * Added in Saleor 3.22. */ - message: Scalars["String"]["output"]; + message: Scalars['String']['output']; /** * The date and time when the problem was last updated. * * Added in Saleor 3.22. */ - updatedAt: Scalars["DateTime"]["output"]; + updatedAt: Scalars['DateTime']['output']; }; /** @@ -1328,26 +1450,26 @@ export type AppProblemCreateError = { /** The error code. */ code: AppProblemCreateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type AppProblemCreateErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; export type AppProblemCreateInput = { /** Time window in minutes for aggregating problems with the same key. Defaults to 60. If 0, a new problem is always created. */ - aggregationPeriod?: InputMaybe; + aggregationPeriod?: InputMaybe; /** If set, the problem becomes critical when count reaches this value. If sent again with higher value than already counted, problem can be de-escalated. */ - criticalThreshold?: InputMaybe; + criticalThreshold?: InputMaybe; /** Key identifying the type of problem. App can add multiple problems under the same key, to merge them together or delete them in batch. Must be between 3 and 128 characters. */ - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; /** The problem message to display. Must be at least 3 characters. Messages longer than 2048 characters will be truncated to 2048 characters with '...' suffix. */ - message: Scalars["String"]["input"]; + message: Scalars['String']['input']; }; /** @@ -1364,40 +1486,40 @@ export type AppProblemDismiss = { /** Input for app callers to dismiss their own problems. */ export type AppProblemDismissByAppInput = { /** List of problem IDs to dismiss. Cannot be combined with keys. Max 100. */ - ids?: InputMaybe>; + ids?: InputMaybe>; /** List of problem keys to dismiss. Cannot be combined with ids. Max 100. */ - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** Input for staff callers to dismiss problems by IDs. */ export type AppProblemDismissByStaffWithIdsInput = { /** List of problem IDs to dismiss. Max 100. */ - ids: Array; + ids: Array; }; /** Input for staff callers to dismiss problems by keys. */ export type AppProblemDismissByStaffWithKeysInput = { /** ID of the app whose problems to dismiss. */ - app: Scalars["ID"]["input"]; + app: Scalars['ID']['input']; /** List of problem keys to dismiss. Max 100. */ - keys: Array; + keys: Array; }; export type AppProblemDismissError = { /** The error code. */ code: AppProblemDismissErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type AppProblemDismissErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "OUT_OF_SCOPE_APP" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'OUT_OF_SCOPE_APP' + | 'REQUIRED'; /** Input for dismissing app problems. Only one can be specified. */ export type AppProblemDismissInput = { @@ -1436,10 +1558,12 @@ export type AppProblemDismissed = { * * Requires one of the following permissions: AUTHENTICATED_STAFF_USER. */ - userEmail: Maybe; + userEmail: Maybe; }; -export type AppProblemDismissedByEnum = "APP" | "USER"; +export type AppProblemDismissedByEnum = + | 'APP' + | 'USER'; /** * Re-enable sync webhooks for provided app. Can be used to manually re-enable sync webhooks for the app before the cooldown period ends. @@ -1473,9 +1597,9 @@ export type AppRetryInstall = { export type AppSortField = /** Sort apps by creation date. */ - | "CREATION_DATE" + | 'CREATION_DATE' /** Sort apps by name. */ - | "NAME"; + | 'NAME'; export type AppSortingInput = { /** Specifies the direction in which to sort apps. */ @@ -1489,23 +1613,23 @@ export type AppStatusChanged = Event & { /** The application the event relates to. */ app: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Represents token data. */ export type AppToken = Node & { /** Last 4 characters of the token. */ - authToken: Maybe; + authToken: Maybe; /** The ID of the app token. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the authenticated token. */ - name: Maybe; + name: Maybe; }; /** @@ -1518,7 +1642,7 @@ export type AppTokenCreate = { appErrors: Array; appToken: Maybe; /** The newly created authentication token. */ - authToken: Maybe; + authToken: Maybe; errors: Array; }; @@ -1536,9 +1660,9 @@ export type AppTokenDelete = { export type AppTokenInput = { /** ID of app. */ - app: Scalars["ID"]["input"]; + app: Scalars['ID']['input']; /** Name of the token. */ - name?: InputMaybe; + name?: InputMaybe; }; /** Verify provided app token. */ @@ -1547,15 +1671,15 @@ export type AppTokenVerify = { appErrors: Array; errors: Array; /** Determine if token is valid or not. */ - valid: Scalars["Boolean"]["output"]; + valid: Scalars['Boolean']['output']; }; /** Enum determining type of your App. */ export type AppTypeEnum = /** Local Saleor App. The app is fully manageable from dashboard. You can change assigned permissions, add webhooks, or authentication token */ - | "LOCAL" + | 'LOCAL' /** Third party external App. Installation is fully automated. Saleor uses a defined App manifest to gather all required information. */ - | "THIRDPARTY"; + | 'THIRDPARTY'; /** * Updates an existing app. @@ -1577,24 +1701,24 @@ export type AppUpdated = Event & { /** The application the event relates to. */ app: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type AreaUnitsEnum = - | "SQ_CM" - | "SQ_DM" - | "SQ_FT" - | "SQ_INCH" - | "SQ_KM" - | "SQ_M" - | "SQ_MM" - | "SQ_YD"; + | 'SQ_CM' + | 'SQ_DM' + | 'SQ_FT' + | 'SQ_INCH' + | 'SQ_KM' + | 'SQ_M' + | 'SQ_MM' + | 'SQ_YD'; /** * Assigns storefront's navigation menus. @@ -1636,7 +1760,7 @@ export type AssignedAttributeReferenceInput = { export type AssignedAttributeValueInput = { /** Filter by boolean value for attributes of boolean type. */ - boolean?: InputMaybe; + boolean?: InputMaybe; /** Filter by date value for attributes of date type. */ date?: InputMaybe; /** Filter by date time value for attributes of date time type. */ @@ -1653,7 +1777,7 @@ export type AssignedAttributeValueInput = { export type AssignedAttributeWhereInput = { /** Filter by attribute slug. */ - slug?: InputMaybe; + slug?: InputMaybe; /** Filter by value of the attribute. Only one value input field is allowed. If provided more than one, the error will be raised. */ value?: InputMaybe; }; @@ -1667,7 +1791,7 @@ export type AssignedBooleanAttribute = AssignedAttribute & { /** Attribute assigned to an object. */ attribute: Attribute; /** The assigned boolean value. */ - value: Maybe; + value: Maybe; }; /** @@ -1677,13 +1801,14 @@ export type AssignedBooleanAttribute = AssignedAttribute & { */ export type AssignedChoiceAttributeValue = { /** Name of a value displayed in the interface. */ - name: Maybe; + name: Maybe; /** Internal representation of a value (unique per attribute). */ - slug: Maybe; + slug: Maybe; /** Translation of the name. */ - translation: Maybe; + translation: Maybe; }; + /** * Represents a single choice value of the attribute. * @@ -1702,7 +1827,7 @@ export type AssignedDateAttribute = AssignedAttribute & { /** Attribute assigned to an object. */ attribute: Attribute; /** The assigned date value. */ - value: Maybe; + value: Maybe; }; /** @@ -1714,7 +1839,7 @@ export type AssignedDateTimeAttribute = AssignedAttribute & { /** Attribute assigned to an object. */ attribute: Attribute; /** The assigned date time value. */ - value: Maybe; + value: Maybe; }; /** @@ -1741,13 +1866,14 @@ export type AssignedMultiCategoryReferenceAttribute = AssignedAttribute & { value: Array; }; + /** * Represents multi category reference attribute. * * Added in Saleor 3.22. */ export type AssignedMultiCategoryReferenceAttributeValueArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; /** @@ -1762,13 +1888,14 @@ export type AssignedMultiChoiceAttribute = AssignedAttribute & { value: Array; }; + /** * Represents a multi choice attribute. * * Added in Saleor 3.22. */ export type AssignedMultiChoiceAttributeValueArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; /** @@ -1783,13 +1910,14 @@ export type AssignedMultiCollectionReferenceAttribute = AssignedAttribute & { value: Array; }; + /** * Represents multi collection reference attribute. * * Added in Saleor 3.22. */ export type AssignedMultiCollectionReferenceAttributeValueArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; /** @@ -1804,13 +1932,14 @@ export type AssignedMultiPageReferenceAttribute = AssignedAttribute & { value: Array; }; + /** * Represents multi page reference attribute. * * Added in Saleor 3.22. */ export type AssignedMultiPageReferenceAttributeValueArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; /** @@ -1825,13 +1954,14 @@ export type AssignedMultiProductReferenceAttribute = AssignedAttribute & { value: Array; }; + /** * Represents multi product reference attribute. * * Added in Saleor 3.22. */ export type AssignedMultiProductReferenceAttributeValueArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; /** @@ -1839,13 +1969,13 @@ export type AssignedMultiProductReferenceAttributeValueArgs = { * * Added in Saleor 3.22. */ -export type AssignedMultiProductVariantReferenceAttribute = - AssignedAttribute & { - /** Attribute assigned to an object. */ - attribute: Attribute; - /** List of assigned product variant references. */ - value: Array; - }; +export type AssignedMultiProductVariantReferenceAttribute = AssignedAttribute & { + /** Attribute assigned to an object. */ + attribute: Attribute; + /** List of assigned product variant references. */ + value: Array; +}; + /** * Represents multi product variant reference attribute. @@ -1853,7 +1983,7 @@ export type AssignedMultiProductVariantReferenceAttribute = * Added in Saleor 3.22. */ export type AssignedMultiProductVariantReferenceAttributeValueArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; /** @@ -1865,7 +1995,7 @@ export type AssignedNumericAttribute = AssignedAttribute & { /** Attribute assigned to an object. */ attribute: Attribute; /** The assigned numeric value. */ - value: Maybe; + value: Maybe; }; /** @@ -1877,11 +2007,12 @@ export type AssignedPlainTextAttribute = AssignedAttribute & { /** Attribute assigned to an object. */ attribute: Attribute; /** Translation of the plain text content in the specified language. */ - translation: Maybe; + translation: Maybe; /** The assigned plain text content. */ - value: Maybe; + value: Maybe; }; + /** * Represents plain text attribute. * @@ -1956,13 +2087,12 @@ export type AssignedSingleProductReferenceAttribute = AssignedAttribute & { * * Added in Saleor 3.22. */ -export type AssignedSingleProductVariantReferenceAttribute = - AssignedAttribute & { - /** Attribute assigned to an object. */ - attribute: Attribute; - /** The assigned product variant reference. */ - value: Maybe; - }; +export type AssignedSingleProductVariantReferenceAttribute = AssignedAttribute & { + /** Attribute assigned to an object. */ + attribute: Attribute; + /** The assigned product variant reference. */ + value: Maybe; +}; /** * Represents a swatch attribute. @@ -1985,11 +2115,11 @@ export type AssignedSwatchAttributeValue = { /** File associated with the attribute. */ file: Maybe; /** Hex color code. */ - hexColor: Maybe; + hexColor: Maybe; /** Name of the selected swatch value. */ - name: Maybe; + name: Maybe; /** Slug of the selected swatch value. */ - slug: Maybe; + slug: Maybe; }; /** @@ -2001,11 +2131,12 @@ export type AssignedTextAttribute = AssignedAttribute & { /** Attribute assigned to an object. */ attribute: Attribute; /** Translation of the rich text content in the specified language. */ - translation: Maybe; + translation: Maybe; /** The assigned rich text content. */ - value: Maybe; + value: Maybe; }; + /** * Represents text attribute. * @@ -2020,140 +2151,148 @@ export type AssignedVariantAttribute = { /** Attribute assigned to variant. */ attribute: Attribute; /** Determines, whether assigned attribute is allowed for variant selection. Supported variant types for variant selection are: ['dropdown', 'boolean', 'swatch', 'numeric'] */ - variantSelection: Scalars["Boolean"]["output"]; + variantSelection: Scalars['Boolean']['output']; }; /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ -export type Attribute = Node & - ObjectWithMetadata & { - /** - * Whether the attribute can be displayed in the admin product list. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. - * @deprecated No longer supported - */ - availableInGrid: Scalars["Boolean"]["output"]; - /** A list of predefined attribute choices available for selection. Available only for attributes with predefined choices. */ - choices: Maybe; - /** The entity type which can be used as a reference. */ - entityType: Maybe; - /** External ID of this attribute. */ - externalReference: Maybe; - /** Whether the attribute can be filtered in dashboard. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. */ - filterableInDashboard: Scalars["Boolean"]["output"]; - /** - * Whether the attribute can be filtered in storefront. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. - * @deprecated No longer supported - */ - filterableInStorefront: Scalars["Boolean"]["output"]; - /** The ID of the attribute. */ - id: Scalars["ID"]["output"]; - /** The input type to use for entering attribute values in the dashboard. */ - inputType: Maybe; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Name of an attribute displayed in the interface. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** A list of product types that use this attribute as a product attribute. */ - productTypes: ProductTypeCountableConnection; - /** A list of product types that use this attribute as a product variant attribute. */ - productVariantTypes: ProductTypeCountableConnection; - /** - * The reference types (product or page type) that are used to narrow down the choices of reference objects. - * - * Added in Saleor 3.22. - */ - referenceTypes: Maybe>; - /** Internal representation of an attribute name. */ - slug: Scalars["String"]["output"]; - /** - * The position of the attribute in the storefront navigation (0 by default). Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. - * @deprecated No longer supported - */ - storefrontSearchPosition: Scalars["Int"]["output"]; - /** Returns translated attribute fields for the given language code. */ - translation: Maybe; - /** The attribute type. */ - type: AttributeTypeEnum; - /** The unit of attribute values. */ - unit: Maybe; - /** Whether the attribute requires values to be passed or not. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. */ - valueRequired: Scalars["Boolean"]["output"]; - /** Whether the attribute should be visible or not in storefront. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. */ - visibleInStorefront: Scalars["Boolean"]["output"]; - /** Flag indicating that attribute has predefined choices. */ - withChoices: Scalars["Boolean"]["output"]; - }; +export type Attribute = Node & ObjectWithMetadata & { + /** + * Whether the attribute can be displayed in the admin product list. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. + * @deprecated No longer supported + */ + availableInGrid: Scalars['Boolean']['output']; + /** A list of predefined attribute choices available for selection. Available only for attributes with predefined choices. */ + choices: Maybe; + /** The entity type which can be used as a reference. */ + entityType: Maybe; + /** External ID of this attribute. */ + externalReference: Maybe; + /** Whether the attribute can be filtered in dashboard. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. */ + filterableInDashboard: Scalars['Boolean']['output']; + /** + * Whether the attribute can be filtered in storefront. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. + * @deprecated No longer supported + */ + filterableInStorefront: Scalars['Boolean']['output']; + /** The ID of the attribute. */ + id: Scalars['ID']['output']; + /** The input type to use for entering attribute values in the dashboard. */ + inputType: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Name of an attribute displayed in the interface. */ + name: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** A list of product types that use this attribute as a product attribute. */ + productTypes: ProductTypeCountableConnection; + /** A list of product types that use this attribute as a product variant attribute. */ + productVariantTypes: ProductTypeCountableConnection; + /** + * The reference types (product or page type) that are used to narrow down the choices of reference objects. + * + * Added in Saleor 3.22. + */ + referenceTypes: Maybe>; + /** Internal representation of an attribute name. */ + slug: Maybe; + /** + * The position of the attribute in the storefront navigation (0 by default). Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. + * @deprecated No longer supported + */ + storefrontSearchPosition: Scalars['Int']['output']; + /** Returns translated attribute fields for the given language code. */ + translation: Maybe; + /** The attribute type. */ + type: Maybe; + /** The unit of attribute values. */ + unit: Maybe; + /** Whether the attribute requires values to be passed or not. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. */ + valueRequired: Scalars['Boolean']['output']; + /** Whether the attribute should be visible or not in storefront. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. */ + visibleInStorefront: Scalars['Boolean']['output']; + /** Flag indicating that attribute has predefined choices. */ + withChoices: Scalars['Boolean']['output']; +}; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributeChoicesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributeMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributeMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributeProductTypesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributeProductVariantTypesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributeReferenceTypesArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; + /** Custom attribute of a product. Attributes can be assigned to products and variants at the product type level. */ export type AttributeTranslationArgs = { languageCode: LanguageCodeEnum; @@ -2167,7 +2306,7 @@ export type AttributeTranslationArgs = { */ export type AttributeBulkCreate = { /** Returns how many objects were created. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the created attributes. */ results: Array; @@ -2177,21 +2316,21 @@ export type AttributeBulkCreateError = { /** The error code. */ code: AttributeBulkCreateErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; }; export type AttributeBulkCreateErrorCode = - | "ALREADY_EXISTS" - | "BLANK" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "MAX_LENGTH" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'BLANK' + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'MAX_LENGTH' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type AttributeBulkCreateResult = { /** Attribute data. */ @@ -2212,7 +2351,7 @@ export type AttributeBulkDelete = { /** @deprecated Use `errors` field instead. */ attributeErrors: Array; /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -2223,7 +2362,7 @@ export type AttributeBulkDelete = { */ export type AttributeBulkTranslate = { /** Returns how many translations were created/updated. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the translations. */ results: Array; @@ -2233,16 +2372,16 @@ export type AttributeBulkTranslateError = { /** The error code. */ code: AttributeTranslateErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; }; export type AttributeBulkTranslateInput = { /** External reference of an attribute. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Attribute ID. */ - id?: InputMaybe; + id?: InputMaybe; /** Translation language code. */ languageCode: LanguageCodeEnum; /** Translation fields. */ @@ -2266,7 +2405,7 @@ export type AttributeBulkTranslateResult = { */ export type AttributeBulkUpdate = { /** Returns how many objects were updated. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the updated attributes. */ results: Array; @@ -2276,29 +2415,29 @@ export type AttributeBulkUpdateError = { /** The error code. */ code: AttributeBulkUpdateErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; }; export type AttributeBulkUpdateErrorCode = - | "ALREADY_EXISTS" - | "BLANK" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "MAX_LENGTH" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'BLANK' + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'MAX_LENGTH' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type AttributeBulkUpdateInput = { /** External ID of this attribute. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Fields to update. */ fields: AttributeUpdateInput; /** ID of an attribute to update. */ - id?: InputMaybe; + id?: InputMaybe; }; export type AttributeBulkUpdateResult = { @@ -2310,9 +2449,9 @@ export type AttributeBulkUpdateResult = { export type AttributeChoicesSortField = /** Sort attribute choice by name. */ - | "NAME" + | 'NAME' /** Sort attribute choice by slug. */ - | "SLUG"; + | 'SLUG'; export type AttributeChoicesSortingInput = { /** Specifies the direction in which to sort attribute choices. */ @@ -2326,12 +2465,12 @@ export type AttributeCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type AttributeCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Attribute; }; @@ -2361,25 +2500,25 @@ export type AttributeCreateInput = { * * DEPRECATED: this field will be removed. */ - availableInGrid?: InputMaybe; + availableInGrid?: InputMaybe; /** The entity type which can be used as a reference. */ entityType?: InputMaybe; /** External ID of this attribute. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Whether the attribute can be filtered in dashboard. */ - filterableInDashboard?: InputMaybe; + filterableInDashboard?: InputMaybe; /** * Whether the attribute can be filtered in storefront. * * DEPRECATED: this field will be removed. */ - filterableInStorefront?: InputMaybe; + filterableInStorefront?: InputMaybe; /** The input type to use for entering attribute values in the dashboard. */ inputType?: InputMaybe; /** Whether the attribute is for variants only. */ - isVariantOnly?: InputMaybe; + isVariantOnly?: InputMaybe; /** Name of an attribute displayed in the interface. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** * Specifies reference types to narrow down the choices of reference objects. Applicable only for `REFERENCE` and `SINGLE_REFERENCE` attributes with `PRODUCT`, `PRODUCT_VARIANT` and `PAGE` entity types. Accepts `ProductType` IDs for `PRODUCT` and `PRODUCT_VARIANT` entity types, and `PageType` IDs for `PAGE` entity type. If omitted, all objects of the selected entity type are available as attribute values. * @@ -2387,25 +2526,25 @@ export type AttributeCreateInput = { * * Added in Saleor 3.22. */ - referenceTypes?: InputMaybe>; + referenceTypes?: InputMaybe>; /** Internal representation of an attribute name. */ - slug?: InputMaybe; + slug?: InputMaybe; /** * The position of the attribute in the storefront navigation (0 by default). * * DEPRECATED: this field will be removed. */ - storefrontSearchPosition?: InputMaybe; + storefrontSearchPosition?: InputMaybe; /** The attribute type. */ type: AttributeTypeEnum; /** The unit of attribute values. */ unit?: InputMaybe; /** Whether the attribute requires values to be passed or not. */ - valueRequired?: InputMaybe; + valueRequired?: InputMaybe; /** List of attribute's values. */ values?: InputMaybe>; /** Whether the attribute should be visible or not in storefront. */ - visibleInStorefront?: InputMaybe; + visibleInStorefront?: InputMaybe; }; /** Event sent when new attribute is created. */ @@ -2413,13 +2552,13 @@ export type AttributeCreated = Event & { /** The attribute the event relates to. */ attribute: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -2442,21 +2581,21 @@ export type AttributeDeleted = Event & { /** The attribute the event relates to. */ attribute: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type AttributeEntityTypeEnum = - | "CATEGORY" - | "COLLECTION" - | "PAGE" - | "PRODUCT" - | "PRODUCT_VARIANT"; + | 'CATEGORY' + | 'COLLECTION' + | 'PAGE' + | 'PRODUCT' + | 'PRODUCT_VARIANT'; export type AttributeEntityTypeEnumFilterInput = { /** The value equal to. */ @@ -2469,39 +2608,39 @@ export type AttributeError = { /** The error code. */ code: AttributeErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type AttributeErrorCode = - | "ALREADY_EXISTS" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type AttributeFilterInput = { - availableInGrid?: InputMaybe; + availableInGrid?: InputMaybe; /** * Specifies the channel by which the data should be filtered. * * DEPRECATED: this field will be removed. Use root-level channel argument instead. */ - channel?: InputMaybe; - filterableInDashboard?: InputMaybe; - filterableInStorefront?: InputMaybe; - ids?: InputMaybe>; - inCategory?: InputMaybe; - inCollection?: InputMaybe; - isVariantOnly?: InputMaybe; + channel?: InputMaybe; + filterableInDashboard?: InputMaybe; + filterableInStorefront?: InputMaybe; + ids?: InputMaybe>; + inCategory?: InputMaybe; + inCollection?: InputMaybe; + isVariantOnly?: InputMaybe; metadata?: InputMaybe>; - search?: InputMaybe; - slugs?: InputMaybe>; + search?: InputMaybe; + slugs?: InputMaybe>; type?: InputMaybe; - valueRequired?: InputMaybe; - visibleInStorefront?: InputMaybe; + valueRequired?: InputMaybe; + visibleInStorefront?: InputMaybe; }; export type AttributeInput = { @@ -2510,7 +2649,7 @@ export type AttributeInput = { * * DEPRECATED: this field will be removed. Use `value` instead. */ - boolean?: InputMaybe; + boolean?: InputMaybe; /** * The date range that the returned values should be in. In case of date/time attributes, the UTC midnight of the given date is used. Requires `slug` to be provided. * @@ -2524,7 +2663,7 @@ export type AttributeInput = { */ dateTime?: InputMaybe; /** Internal representation of an attribute name. */ - slug?: InputMaybe; + slug?: InputMaybe; /** Filter by value of the attribute. Only one value input field is allowed. If provided more than one, the error will be raised. Cannot be combined with deprecated fields of `AttributeInput`. */ value?: InputMaybe; /** @@ -2532,7 +2671,7 @@ export type AttributeInput = { * * DEPRECATED: this field will be removed. Use `value` instead. */ - values?: InputMaybe>; + values?: InputMaybe>; /** * The range that the returned values should be in. Requires `slug` to be provided. * @@ -2542,18 +2681,18 @@ export type AttributeInput = { }; export type AttributeInputTypeEnum = - | "BOOLEAN" - | "DATE" - | "DATE_TIME" - | "DROPDOWN" - | "FILE" - | "MULTISELECT" - | "NUMERIC" - | "PLAIN_TEXT" - | "REFERENCE" - | "RICH_TEXT" - | "SINGLE_REFERENCE" - | "SWATCH"; + | 'BOOLEAN' + | 'DATE' + | 'DATE_TIME' + | 'DROPDOWN' + | 'FILE' + | 'MULTISELECT' + | 'NUMERIC' + | 'PLAIN_TEXT' + | 'REFERENCE' + | 'RICH_TEXT' + | 'SINGLE_REFERENCE' + | 'SWATCH'; export type AttributeInputTypeEnumFilterInput = { /** The value equal to. */ @@ -2581,23 +2720,23 @@ export type AttributeReorderValues = { export type AttributeSortField = /** Sort attributes based on whether they can be displayed or not in a product grid. */ - | "AVAILABLE_IN_GRID" + | 'AVAILABLE_IN_GRID' /** Sort attributes by the filterable in dashboard flag */ - | "FILTERABLE_IN_DASHBOARD" + | 'FILTERABLE_IN_DASHBOARD' /** Sort attributes by the filterable in storefront flag */ - | "FILTERABLE_IN_STOREFRONT" + | 'FILTERABLE_IN_STOREFRONT' /** Sort attributes by the variant only flag */ - | "IS_VARIANT_ONLY" + | 'IS_VARIANT_ONLY' /** Sort attributes by name */ - | "NAME" + | 'NAME' /** Sort attributes by slug */ - | "SLUG" + | 'SLUG' /** Sort attributes by their position in storefront */ - | "STOREFRONT_SEARCH_POSITION" + | 'STOREFRONT_SEARCH_POSITION' /** Sort attributes by the value required flag */ - | "VALUE_REQUIRED" + | 'VALUE_REQUIRED' /** Sort attributes by visibility in the storefront */ - | "VISIBLE_IN_STOREFRONT"; + | 'VISIBLE_IN_STOREFRONT'; export type AttributeSortingInput = { /** Specifies the direction in which to sort attributes. */ @@ -2614,15 +2753,16 @@ export type AttributeTranslatableContent = Node & { */ attribute: Maybe; /** The ID of the attribute to translate. */ - attributeId: Scalars["ID"]["output"]; + attributeId: Scalars['ID']['output']; /** The ID of the attribute translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the attribute to translate. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Returns translated attribute fields for the given language code. */ translation: Maybe; }; + /** Represents attribute's original translatable fields and related translations. */ export type AttributeTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -2641,24 +2781,26 @@ export type AttributeTranslate = { }; export type AttributeTranslateErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; /** Represents attribute translations. */ export type AttributeTranslation = Node & { /** The ID of the attribute translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated attribute name. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Represents the attribute fields to translate. */ translatableContent: Maybe; }; -export type AttributeTypeEnum = "PAGE_TYPE" | "PRODUCT_TYPE"; +export type AttributeTypeEnum = + | 'PAGE_TYPE' + | 'PRODUCT_TYPE'; export type AttributeTypeEnumFilterInput = { /** The value equal to. */ @@ -2696,21 +2838,21 @@ export type AttributeUpdateInput = { * * DEPRECATED: this field will be removed. */ - availableInGrid?: InputMaybe; + availableInGrid?: InputMaybe; /** External ID of this product. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Whether the attribute can be filtered in dashboard. */ - filterableInDashboard?: InputMaybe; + filterableInDashboard?: InputMaybe; /** * Whether the attribute can be filtered in storefront. * * DEPRECATED: this field will be removed. */ - filterableInStorefront?: InputMaybe; + filterableInStorefront?: InputMaybe; /** Whether the attribute is for variants only. */ - isVariantOnly?: InputMaybe; + isVariantOnly?: InputMaybe; /** Name of an attribute displayed in the interface. */ - name?: InputMaybe; + name?: InputMaybe; /** * Specifies reference types to narrow down the choices of reference objects. Applicable only for `REFERENCE` and `SINGLE_REFERENCE` attributes with `PRODUCT`, `PRODUCT_VARIANT` and `PAGE` entity types. Accepts `ProductType` IDs for `PRODUCT` and `PRODUCT_VARIANT` entity types, and `PageType` IDs for `PAGE` entity type. If omitted, all objects of the selected entity type are available as attribute values. * @@ -2718,23 +2860,23 @@ export type AttributeUpdateInput = { * * Added in Saleor 3.22. */ - referenceTypes?: InputMaybe>; + referenceTypes?: InputMaybe>; /** IDs of values to be removed from this attribute. */ - removeValues?: InputMaybe>; + removeValues?: InputMaybe>; /** Internal representation of an attribute name. */ - slug?: InputMaybe; + slug?: InputMaybe; /** * The position of the attribute in the storefront navigation (0 by default). * * DEPRECATED: this field will be removed. */ - storefrontSearchPosition?: InputMaybe; + storefrontSearchPosition?: InputMaybe; /** The unit of attribute values. */ unit?: InputMaybe; /** Whether the attribute requires values to be passed or not. */ - valueRequired?: InputMaybe; + valueRequired?: InputMaybe; /** Whether the attribute should be visible or not in storefront. */ - visibleInStorefront?: InputMaybe; + visibleInStorefront?: InputMaybe; }; /** Event sent when attribute is updated. */ @@ -2742,51 +2884,52 @@ export type AttributeUpdated = Event & { /** The attribute the event relates to. */ attribute: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Represents a value of an attribute. */ export type AttributeValue = Node & { /** Represents the boolean value of the attribute value. */ - boolean: Maybe; + boolean: Maybe; /** Represents the date value of the attribute value. */ - date: Maybe; + date: Maybe; /** Represents the date/time value of the attribute value. */ - dateTime: Maybe; + dateTime: Maybe; /** External ID of this attribute value. */ - externalReference: Maybe; + externalReference: Maybe; /** Represents file URL and content type (if attribute value is a file). */ file: Maybe; /** The ID of the attribute value. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** The input type to use for entering attribute values in the dashboard. */ inputType: Maybe; /** Name of a value displayed in the interface. */ - name: Maybe; + name: Maybe; /** Represents the text of the attribute value, plain text without formatting. */ - plainText: Maybe; + plainText: Maybe; /** The ID of the referenced object. */ - reference: Maybe; + reference: Maybe; /** * Represents the text of the attribute value, includes formatting. * * Rich text format. For reference see https://editorjs.io/ */ - richText: Maybe; + richText: Maybe; /** Internal representation of a value (unique per attribute). */ - slug: Maybe; + slug: Maybe; /** Returns translated attribute value fields for the given language code. */ translation: Maybe; /** Represent value of the attribute value (e.g. color values for swatch attributes). */ - value: Maybe; + value: Maybe; }; + /** Represents a value of an attribute. */ export type AttributeValueTranslationArgs = { languageCode: LanguageCodeEnum; @@ -2805,7 +2948,7 @@ export type AttributeValueBulkDelete = { /** @deprecated Use `errors` field instead. */ attributeErrors: Array; /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -2816,7 +2959,7 @@ export type AttributeValueBulkDelete = { */ export type AttributeValueBulkTranslate = { /** Returns how many translations were created/updated. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the translations. */ results: Array; @@ -2826,16 +2969,16 @@ export type AttributeValueBulkTranslateError = { /** The error code. */ code: AttributeValueTranslateErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; }; export type AttributeValueBulkTranslateInput = { /** External reference of an attribute value. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Attribute value ID. */ - id?: InputMaybe; + id?: InputMaybe; /** Translation language code. */ languageCode: LanguageCodeEnum; /** Translation fields. */ @@ -2854,12 +2997,12 @@ export type AttributeValueCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type AttributeValueCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: AttributeValue; }; @@ -2884,19 +3027,19 @@ export type AttributeValueCreate = { export type AttributeValueCreateInput = { /** File content type. */ - contentType?: InputMaybe; + contentType?: InputMaybe; /** External ID of this attribute value. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** URL of the file attribute. Every time, a new value is created. */ - fileUrl?: InputMaybe; + fileUrl?: InputMaybe; /** Name of a value displayed in the interface. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** * Represents the text of the attribute value, plain text without formatting. * * DEPRECATED: this field will be removed.The plain text attribute hasn't got predefined value, so can be specified only from instance that supports the given attribute. */ - plainText?: InputMaybe; + plainText?: InputMaybe; /** * Represents the text of the attribute value, includes formatting. * @@ -2904,9 +3047,9 @@ export type AttributeValueCreateInput = { * * DEPRECATED: this field will be removed.The rich text attribute hasn't got predefined value, so can be specified only from instance that supports the given attribute. */ - richText?: InputMaybe; + richText?: InputMaybe; /** Represent value of the attribute value (e.g. color values for swatch attributes). */ - value?: InputMaybe; + value?: InputMaybe; }; /** Event sent when new attribute value is created. */ @@ -2914,13 +3057,13 @@ export type AttributeValueCreated = Event & { /** The attribute value the event relates to. */ attributeValue: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -2946,54 +3089,54 @@ export type AttributeValueDeleted = Event & { /** The attribute value the event relates to. */ attributeValue: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type AttributeValueFilterInput = { - ids?: InputMaybe>; - search?: InputMaybe; - slugs?: InputMaybe>; + ids?: InputMaybe>; + search?: InputMaybe; + slugs?: InputMaybe>; }; export type AttributeValueInput = { /** Represents the boolean value of the attribute value. */ - boolean?: InputMaybe; + boolean?: InputMaybe; /** File content type. */ - contentType?: InputMaybe; + contentType?: InputMaybe; /** Represents the date value of the attribute value. */ - date?: InputMaybe; + date?: InputMaybe; /** Represents the date/time value of the attribute value. */ - dateTime?: InputMaybe; + dateTime?: InputMaybe; /** Attribute value ID or external reference. */ dropdown?: InputMaybe; /** External ID of this attribute. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** URL of the file attribute. Every time, a new value is created. */ - file?: InputMaybe; + file?: InputMaybe; /** ID of the selected attribute. */ - id?: InputMaybe; + id?: InputMaybe; /** List of attribute value IDs or external references. */ multiselect?: InputMaybe>; /** Numeric value of an attribute. */ - numeric?: InputMaybe; + numeric?: InputMaybe; /** Plain text content. */ - plainText?: InputMaybe; + plainText?: InputMaybe; /** * ID of the referenced entity for single reference attribute. * * Added in Saleor 3.22. */ - reference?: InputMaybe; + reference?: InputMaybe; /** List of entity IDs that will be used as references. */ - references?: InputMaybe>; + references?: InputMaybe>; /** Text content in JSON format. */ - richText?: InputMaybe; + richText?: InputMaybe; /** Attribute value ID or external reference. */ swatch?: InputMaybe; /** @@ -3001,7 +3144,7 @@ export type AttributeValueInput = { * * DEPRECATED: this field will be removed. */ - values?: InputMaybe>; + values?: InputMaybe>; }; /** @@ -3013,11 +3156,11 @@ export type AttributeValueInput = { */ export type AttributeValueSelectableTypeInput = { /** External reference of an attribute value. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** ID of an attribute value. */ - id?: InputMaybe; + id?: InputMaybe; /** The value or slug of an attribute to resolve. If the passed value is non-existent, it will be created. */ - value?: InputMaybe; + value?: InputMaybe; }; /** Represents attribute value's original translatable fields and related translations. */ @@ -3030,23 +3173,24 @@ export type AttributeValueTranslatableContent = Node & { */ attributeValue: Maybe; /** The ID of the attribute value to translate. */ - attributeValueId: Scalars["ID"]["output"]; + attributeValueId: Scalars['ID']['output']; /** The ID of the attribute value translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the attribute value to translate. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Attribute plain text value. */ - plainText: Maybe; + plainText: Maybe; /** * Attribute value. * * Rich text format. For reference see https://editorjs.io/ */ - richText: Maybe; + richText: Maybe; /** Returns translated attribute value fields for the given language code. */ translation: Maybe; }; + /** Represents attribute value's original translatable fields and related translations. */ export type AttributeValueTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -3065,41 +3209,41 @@ export type AttributeValueTranslate = { }; export type AttributeValueTranslateErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; /** Represents attribute value translations. */ export type AttributeValueTranslation = Node & { /** The ID of the attribute value translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated attribute value name. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Translated plain text attribute value . */ - plainText: Maybe; + plainText: Maybe; /** * Translated rich-text attribute value. * * Rich text format. For reference see https://editorjs.io/ */ - richText: Maybe; + richText: Maybe; /** Represents the attribute value fields to translate. */ translatableContent: Maybe; }; export type AttributeValueTranslationInput = { - name?: InputMaybe; + name?: InputMaybe; /** Translated text. */ - plainText?: InputMaybe; + plainText?: InputMaybe; /** * Translated text. * * Rich text format. For reference see https://editorjs.io/ */ - richText?: InputMaybe; + richText?: InputMaybe; }; /** @@ -3122,19 +3266,19 @@ export type AttributeValueUpdate = { export type AttributeValueUpdateInput = { /** File content type. */ - contentType?: InputMaybe; + contentType?: InputMaybe; /** External ID of this attribute value. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** URL of the file attribute. Every time, a new value is created. */ - fileUrl?: InputMaybe; + fileUrl?: InputMaybe; /** Name of a value displayed in the interface. */ - name?: InputMaybe; + name?: InputMaybe; /** * Represents the text of the attribute value, plain text without formatting. * * DEPRECATED: this field will be removed.The plain text attribute hasn't got predefined value, so can be specified only from instance that supports the given attribute. */ - plainText?: InputMaybe; + plainText?: InputMaybe; /** * Represents the text of the attribute value, includes formatting. * @@ -3142,9 +3286,9 @@ export type AttributeValueUpdateInput = { * * DEPRECATED: this field will be removed.The rich text attribute hasn't got predefined value, so can be specified only from instance that supports the given attribute. */ - richText?: InputMaybe; + richText?: InputMaybe; /** Represent value of the attribute value (e.g. color values for swatch attributes). */ - value?: InputMaybe; + value?: InputMaybe; }; /** Event sent when attribute value is updated. */ @@ -3152,13 +3296,13 @@ export type AttributeValueUpdated = Event & { /** The attribute value the event relates to. */ attributeValue: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Where filtering options for attribute values. */ @@ -3167,7 +3311,7 @@ export type AttributeValueWhereInput = { AND?: InputMaybe>; /** A list of conditions of which at least one must be met. */ OR?: InputMaybe>; - ids?: InputMaybe>; + ids?: InputMaybe>; name?: InputMaybe; slug?: InputMaybe; }; @@ -3179,54 +3323,54 @@ export type AttributeWhereInput = { /** A list of conditions of which at least one must be met. */ OR?: InputMaybe>; entityType?: InputMaybe; - filterableInDashboard?: InputMaybe; - ids?: InputMaybe>; - inCategory?: InputMaybe; - inCollection?: InputMaybe; + filterableInDashboard?: InputMaybe; + ids?: InputMaybe>; + inCategory?: InputMaybe; + inCollection?: InputMaybe; inputType?: InputMaybe; metadata?: InputMaybe>; name?: InputMaybe; slug?: InputMaybe; type?: InputMaybe; unit?: InputMaybe; - valueRequired?: InputMaybe; - visibleInStorefront?: InputMaybe; - withChoices?: InputMaybe; + valueRequired?: InputMaybe; + visibleInStorefront?: InputMaybe; + withChoices?: InputMaybe; }; export type BulkAttributeValueInput = { /** The boolean value of an attribute to resolve. If the passed value is non-existent, it will be created. */ - boolean?: InputMaybe; + boolean?: InputMaybe; /** File content type. */ - contentType?: InputMaybe; + contentType?: InputMaybe; /** Represents the date value of the attribute value. */ - date?: InputMaybe; + date?: InputMaybe; /** Represents the date/time value of the attribute value. */ - dateTime?: InputMaybe; + dateTime?: InputMaybe; /** Attribute value ID. */ dropdown?: InputMaybe; /** External ID of this attribute. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** URL of the file attribute. Every time, a new value is created. */ - file?: InputMaybe; + file?: InputMaybe; /** ID of the selected attribute. */ - id?: InputMaybe; + id?: InputMaybe; /** List of attribute value IDs. */ multiselect?: InputMaybe>; /** Numeric value of an attribute. */ - numeric?: InputMaybe; + numeric?: InputMaybe; /** Plain text content. */ - plainText?: InputMaybe; + plainText?: InputMaybe; /** * ID of the referenced entity for single reference attribute. * * Added in Saleor 3.22. */ - reference?: InputMaybe; + reference?: InputMaybe; /** List of entity IDs that will be used as references. */ - references?: InputMaybe>; + references?: InputMaybe>; /** Text content in JSON format. */ - richText?: InputMaybe; + richText?: InputMaybe; /** Attribute value ID. */ swatch?: InputMaybe; /** @@ -3234,61 +3378,61 @@ export type BulkAttributeValueInput = { * * DEPRECATED: this field will be removed. */ - values?: InputMaybe>; + values?: InputMaybe>; }; export type BulkProductError = { /** List of attributes IDs which causes the error. */ - attributes: Maybe>; + attributes: Maybe>; /** List of channel IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: ProductErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** Index of an input list item that caused the error. */ - index: Maybe; + index: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of attribute values IDs which causes the error. */ - values: Maybe>; + values: Maybe>; /** List of warehouse IDs which causes the error. */ - warehouses: Maybe>; + warehouses: Maybe>; }; export type BulkStockError = { /** List of attributes IDs which causes the error. */ - attributes: Maybe>; + attributes: Maybe>; /** The error code. */ code: ProductErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** Index of an input list item that caused the error. */ - index: Maybe; + index: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of attribute values IDs which causes the error. */ - values: Maybe>; + values: Maybe>; }; /** Synchronous webhook for calculating checkout/order taxes. */ export type CalculateTaxes = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; taxBase: TaxableObject; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type CardInput = { /** Payment method nonce, a token returned by the appropriate provider's SDK. */ - code: Scalars["String"]["input"]; + code: Scalars['String']['input']; /** Card security code. */ - cvc?: InputMaybe; + cvc?: InputMaybe; /** Information about currency and amount. */ money: MoneyInput; }; @@ -3300,43 +3444,43 @@ export type CardInput = { */ export type CardPaymentMethodDetails = PaymentMethodDetails & { /** Card brand. */ - brand: Maybe; + brand: Maybe; /** Two-digit number representing the card’s expiration month. */ - expMonth: Maybe; + expMonth: Maybe; /** Four-digit number representing the card’s expiration year. */ - expYear: Maybe; + expYear: Maybe; /** First 4 digits of the card number. */ - firstDigits: Maybe; + firstDigits: Maybe; /** Last 4 digits of the card number. */ - lastDigits: Maybe; + lastDigits: Maybe; /** Name of the payment method. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; export type CardPaymentMethodDetailsInput = { /** Brand of the payment method used for the transaction. Max length is 40 characters. */ - brand?: InputMaybe; + brand?: InputMaybe; /** Expiration month of the card used for the transaction. Value must be between 1 and 12. */ - expMonth?: InputMaybe; + expMonth?: InputMaybe; /** Expiration year of the card used for the transaction. Value must be between 2000 and 9999. */ - expYear?: InputMaybe; + expYear?: InputMaybe; /** First digits of the card used for the transaction. Max length is 4 characters. */ - firstDigits?: InputMaybe; + firstDigits?: InputMaybe; /** Last digits of the card used for the transaction. Max length is 4 characters. */ - lastDigits?: InputMaybe; + lastDigits?: InputMaybe; /** Name of the payment method used for the transaction. Max length is 256 characters. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; }; export type CatalogueInput = { /** Categories related to the discount. */ - categories?: InputMaybe>; + categories?: InputMaybe>; /** Collections related to the discount. */ - collections?: InputMaybe>; + collections?: InputMaybe>; /** Products related to the discount. */ - products?: InputMaybe>; + products?: InputMaybe>; /** Product variant related to the discount. */ - variants?: InputMaybe>; + variants?: InputMaybe>; }; export type CataloguePredicateInput = { @@ -3355,124 +3499,132 @@ export type CataloguePredicateInput = { }; /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ -export type Category = Node & - ObjectWithMetadata & { - /** List of ancestors of the category. */ - ancestors: Maybe; - /** Background image of the category. */ - backgroundImage: Maybe; - /** List of children of the category. */ - children: Maybe; - /** - * Description of the category. - * - * Rich text format. For reference see https://editorjs.io/ - */ - description: Maybe; - /** - * Description of the category. - * - * Rich text format. For reference see https://editorjs.io/ - * @deprecated Use the `description` field instead. - */ - descriptionJson: Maybe; - /** The ID of the category. */ - id: Scalars["ID"]["output"]; - /** Level of the category. */ - level: Scalars["Int"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Name of category */ - name: Scalars["String"]["output"]; - /** Parent category. */ - parent: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** List of products in the category. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. */ - products: Maybe; - /** SEO description of category. */ - seoDescription: Maybe; - /** SEO title of category. */ - seoTitle: Maybe; - /** Slug of the category. */ - slug: Scalars["String"]["output"]; - /** Returns translated category fields for the given language code. */ - translation: Maybe; - /** The date and time when the category was last updated. */ - updatedAt: Scalars["DateTime"]["output"]; - }; +export type Category = Node & ObjectWithMetadata & { + /** List of ancestors of the category. */ + ancestors: Maybe; + /** Background image of the category. */ + backgroundImage: Maybe; + /** List of children of the category. */ + children: Maybe; + /** + * Description of the category. + * + * Rich text format. For reference see https://editorjs.io/ + */ + description: Maybe; + /** + * Description of the category. + * + * Rich text format. For reference see https://editorjs.io/ + * @deprecated Use the `description` field instead. + */ + descriptionJson: Maybe; + /** The ID of the category. */ + id: Scalars['ID']['output']; + /** Level of the category. */ + level: Scalars['Int']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Name of category */ + name: Scalars['String']['output']; + /** Parent category. */ + parent: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** List of products in the category. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. */ + products: Maybe; + /** SEO description of category. */ + seoDescription: Maybe; + /** SEO title of category. */ + seoTitle: Maybe; + /** Slug of the category. */ + slug: Scalars['String']['output']; + /** Returns translated category fields for the given language code. */ + translation: Maybe; + /** The date and time when the category was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryAncestorsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryBackgroundImageArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryChildrenArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryProductsArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + /** Represents a single category of products. Categories allow to organize products in a tree-hierarchies which can be used for navigation in the storefront. */ export type CategoryTranslationArgs = { languageCode: LanguageCodeEnum; @@ -3485,7 +3637,7 @@ export type CategoryTranslationArgs = { */ export type CategoryBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ productErrors: Array; @@ -3496,12 +3648,12 @@ export type CategoryCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type CategoryCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Category; }; @@ -3523,13 +3675,13 @@ export type CategoryCreated = Event & { /** The category the event relates to. */ category: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -3549,35 +3701,35 @@ export type CategoryDeleted = Event & { /** The category the event relates to. */ category: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type CategoryFilterInput = { - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; - search?: InputMaybe; - slugs?: InputMaybe>; + search?: InputMaybe; + slugs?: InputMaybe>; /** Filter by when was the most recent update. */ updatedAt?: InputMaybe; }; export type CategoryInput = { /** Background image file. */ - backgroundImage?: InputMaybe; + backgroundImage?: InputMaybe; /** Alt text for a product media. */ - backgroundImageAlt?: InputMaybe; + backgroundImageAlt?: InputMaybe; /** * Category description. * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; + description?: InputMaybe; /** * Fields required to update the category metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -3585,7 +3737,7 @@ export type CategoryInput = { */ metadata?: InputMaybe>; /** Category name. */ - name?: InputMaybe; + name?: InputMaybe; /** * Fields required to update the category private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -3595,16 +3747,16 @@ export type CategoryInput = { /** Search engine optimization fields. */ seo?: InputMaybe; /** Category slug. */ - slug?: InputMaybe; + slug?: InputMaybe; }; export type CategorySortField = /** Sort categories by name. */ - | "NAME" + | 'NAME' /** Sort categories by product count. */ - | "PRODUCT_COUNT" + | 'PRODUCT_COUNT' /** Sort categories by subcategory count. */ - | "SUBCATEGORY_COUNT"; + | 'SUBCATEGORY_COUNT'; export type CategorySortingInput = { /** @@ -3612,7 +3764,7 @@ export type CategorySortingInput = { * * DEPRECATED: this field will be removed. Use root-level channel argument instead. */ - channel?: InputMaybe; + channel?: InputMaybe; /** Specifies the direction in which to sort categories. */ direction: OrderDirection; /** Sort categories by the selected field. */ @@ -3627,38 +3779,39 @@ export type CategoryTranslatableContent = Node & { */ category: Maybe; /** The ID of the category to translate. */ - categoryId: Scalars["ID"]["output"]; + categoryId: Scalars['ID']['output']; /** * Category description to translate. * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** * Description of the category. * * Rich text format. For reference see https://editorjs.io/ * @deprecated Use the `description` field instead. */ - descriptionJson: Maybe; + descriptionJson: Maybe; /** The ID of the category translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the category translatable content. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** SEO description to translate. */ - seoDescription: Maybe; + seoDescription: Maybe; /** SEO title to translate. */ - seoTitle: Maybe; + seoTitle: Maybe; /** * Slug to translate. * * Added in Saleor 3.21. */ - slug: Maybe; + slug: Maybe; /** Returns translated category fields for the given language code. */ translation: Maybe; }; + /** Represents category original translatable fields and related translations. */ export type CategoryTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -3683,30 +3836,30 @@ export type CategoryTranslation = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** * Translated description of the category. * * Rich text format. For reference see https://editorjs.io/ * @deprecated Use the `description` field instead. */ - descriptionJson: Maybe; + descriptionJson: Maybe; /** The ID of the category translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated category name. */ - name: Maybe; + name: Maybe; /** Translated SEO description. */ - seoDescription: Maybe; + seoDescription: Maybe; /** Translated SEO title. */ - seoTitle: Maybe; + seoTitle: Maybe; /** * Translated category slug. * * Added in Saleor 3.21. */ - slug: Maybe; + slug: Maybe; /** Represents the category fields to translate. */ translatableContent: Maybe; }; @@ -3728,13 +3881,13 @@ export type CategoryUpdated = Event & { /** The category the event relates to. */ category: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type CategoryWhereInput = { @@ -3742,151 +3895,155 @@ export type CategoryWhereInput = { AND?: InputMaybe>; /** A list of conditions of which at least one must be met. */ OR?: InputMaybe>; - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; }; /** Represents channel. */ -export type Channel = Node & - ObjectWithMetadata & { - /** Shipping methods that are available for the channel. */ - availableShippingMethodsPerCountry: Maybe>; - /** - * Channel-specific checkout settings. - * - * Requires one of the following permissions: MANAGE_CHANNELS, MANAGE_CHECKOUTS. - */ - checkoutSettings: CheckoutSettings; - /** List of shippable countries for the channel. */ - countries: Maybe>; - /** - * A currency that is assigned to the channel. - * - * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. - */ - currencyCode: Scalars["String"]["output"]; - /** - * Default country for the channel. Default country can be used in checkout to determine the stock quantities or calculate taxes when the country was not explicitly provided. - * - * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. - */ - defaultCountry: CountryDisplay; - /** - * Whether a channel has associated orders. - * - * Requires one of the following permissions: MANAGE_CHANNELS. - */ - hasOrders: Scalars["Boolean"]["output"]; - /** The ID of the channel. */ - id: Scalars["ID"]["output"]; - /** - * Whether the channel is active. - * - * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. - */ - isActive: Scalars["Boolean"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** - * Name of the channel. - * - * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. - */ - name: Scalars["String"]["output"]; - /** - * Channel-specific order settings. - * - * Requires one of the following permissions: MANAGE_CHANNELS, MANAGE_ORDERS. - */ - orderSettings: OrderSettings; - /** - * Channel-specific payment settings. - * - * Requires one of the following permissions: MANAGE_CHANNELS, HANDLE_PAYMENTS. - */ - paymentSettings: PaymentSettings; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Slug of the channel. */ - slug: Scalars["String"]["output"]; - /** - * Define the stock setting for this channel. - * - * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. - */ - stockSettings: StockSettings; - /** - * Channel specific tax configuration. - * - * Added in Saleor 3.20. - * - * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. - */ - taxConfiguration: TaxConfiguration; - /** - * List of warehouses assigned to this channel. - * - * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. - */ - warehouses: Array; - }; - -/** Represents channel. */ -export type ChannelAvailableShippingMethodsPerCountryArgs = { - countries?: InputMaybe>; -}; - -/** Represents channel. */ -export type ChannelMetafieldArgs = { - key: Scalars["String"]["input"]; -}; - -/** Represents channel. */ -export type ChannelMetafieldsArgs = { - keys?: InputMaybe>; -}; - -/** Represents channel. */ -export type ChannelPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; -}; - -/** Represents channel. */ -export type ChannelPrivateMetafieldsArgs = { - keys?: InputMaybe>; -}; - -/** - * Activate a channel. - * - * Requires one of the following permissions: MANAGE_CHANNELS. - * - * Triggers the following webhook events: - * - CHANNEL_STATUS_CHANGED (async): A channel was activated. - */ -export type ChannelActivate = { - /** Activated channel. */ - channel: Maybe; - /** @deprecated Use `errors` field instead. */ - channelErrors: Array; - errors: Array; -}; +export type Channel = Node & ObjectWithMetadata & { + /** Shipping methods that are available for the channel. */ + availableShippingMethodsPerCountry: Maybe>; + /** + * Channel-specific checkout settings. + * + * Requires one of the following permissions: MANAGE_CHANNELS, MANAGE_CHECKOUTS. + */ + checkoutSettings: CheckoutSettings; + /** List of shippable countries for the channel. */ + countries: Maybe>; + /** + * A currency that is assigned to the channel. + * + * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. + */ + currencyCode: Scalars['String']['output']; + /** + * Default country for the channel. Default country can be used in checkout to determine the stock quantities or calculate taxes when the country was not explicitly provided. + * + * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. + */ + defaultCountry: CountryDisplay; + /** + * Whether a channel has associated orders. + * + * Requires one of the following permissions: MANAGE_CHANNELS. + */ + hasOrders: Scalars['Boolean']['output']; + /** The ID of the channel. */ + id: Scalars['ID']['output']; + /** + * Whether the channel is active. + * + * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. + */ + isActive: Scalars['Boolean']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** + * Name of the channel. + * + * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. + */ + name: Scalars['String']['output']; + /** + * Channel-specific order settings. + * + * Requires one of the following permissions: MANAGE_CHANNELS, MANAGE_ORDERS. + */ + orderSettings: OrderSettings; + /** + * Channel-specific payment settings. + * + * Requires one of the following permissions: MANAGE_CHANNELS, HANDLE_PAYMENTS. + */ + paymentSettings: PaymentSettings; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Slug of the channel. */ + slug: Scalars['String']['output']; + /** + * Define the stock setting for this channel. + * + * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. + */ + stockSettings: StockSettings; + /** + * Channel specific tax configuration. + * + * Added in Saleor 3.20. + * + * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. + */ + taxConfiguration: TaxConfiguration; + /** + * List of warehouses assigned to this channel. + * + * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. + */ + warehouses: Array; +}; + + +/** Represents channel. */ +export type ChannelAvailableShippingMethodsPerCountryArgs = { + countries?: InputMaybe>; +}; + + +/** Represents channel. */ +export type ChannelMetafieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Represents channel. */ +export type ChannelMetafieldsArgs = { + keys?: InputMaybe>; +}; + + +/** Represents channel. */ +export type ChannelPrivateMetafieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Represents channel. */ +export type ChannelPrivateMetafieldsArgs = { + keys?: InputMaybe>; +}; + +/** + * Activate a channel. + * + * Requires one of the following permissions: MANAGE_CHANNELS. + * + * Triggers the following webhook events: + * - CHANNEL_STATUS_CHANGED (async): A channel was activated. + */ +export type ChannelActivate = { + /** Activated channel. */ + channel: Maybe; + /** @deprecated Use `errors` field instead. */ + channelErrors: Array; + errors: Array; +}; /** * Creates a new channel. @@ -3905,17 +4062,17 @@ export type ChannelCreate = { export type ChannelCreateInput = { /** List of shipping zones to assign to the channel. */ - addShippingZones?: InputMaybe>; + addShippingZones?: InputMaybe>; /** List of warehouses to assign to the channel. */ - addWarehouses?: InputMaybe>; + addWarehouses?: InputMaybe>; /** The channel checkout settings */ checkoutSettings?: InputMaybe; /** Currency of the channel. */ - currencyCode: Scalars["String"]["input"]; + currencyCode: Scalars['String']['input']; /** Default country for the channel. Default country can be used in checkout to determine the stock quantities or calculate taxes when the country was not explicitly provided. */ defaultCountry: CountryCode; /** Determine if channel will be set active or not. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** * Channel public metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -3923,7 +4080,7 @@ export type ChannelCreateInput = { */ metadata?: InputMaybe>; /** Name of the channel. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** The channel order settings */ orderSettings?: InputMaybe; /** The channel payment settings */ @@ -3935,7 +4092,7 @@ export type ChannelCreateInput = { */ privateMetadata?: InputMaybe>; /** Slug of the channel. */ - slug: Scalars["String"]["input"]; + slug: Scalars['String']['input']; /** The channel stock settings. */ stockSettings?: InputMaybe; }; @@ -3945,13 +4102,13 @@ export type ChannelCreated = Event & { /** The channel the event relates to. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -3987,7 +4144,7 @@ export type ChannelDelete = { export type ChannelDeleteInput = { /** ID of a channel to migrate orders from the origin channel. Target channel has to have the same currency as the origin. */ - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; }; /** Event sent when channel is deleted. */ @@ -3995,50 +4152,50 @@ export type ChannelDeleted = Event & { /** The channel the event relates to. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type ChannelError = { /** The error code. */ code: ChannelErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of shipping zone IDs which causes the error. */ - shippingZones: Maybe>; + shippingZones: Maybe>; /** List of warehouses IDs which causes the error. */ - warehouses: Maybe>; + warehouses: Maybe>; }; export type ChannelErrorCode = - | "ALREADY_EXISTS" - | "CHANNELS_CURRENCY_MUST_BE_THE_SAME" - | "CHANNEL_WITH_ORDERS" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'CHANNELS_CURRENCY_MUST_BE_THE_SAME' + | 'CHANNEL_WITH_ORDERS' + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type ChannelListingUpdateInput = { /** ID of a channel listing. */ - channelListing: Scalars["ID"]["input"]; + channelListing: Scalars['ID']['input']; /** Cost price of the variant in channel. */ - costPrice?: InputMaybe; + costPrice?: InputMaybe; /** The threshold for preorder variant in channel. */ - preorderThreshold?: InputMaybe; + preorderThreshold?: InputMaybe; /** Price of the particular variant in channel. */ - price?: InputMaybe; + price?: InputMaybe; /** Price of the variant before discount. */ - priorPrice?: InputMaybe; + priorPrice?: InputMaybe; }; /** Event sent when channel metadata is updated. */ @@ -4046,13 +4203,13 @@ export type ChannelMetadataUpdated = Event & { /** The channel the event relates to. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -4071,13 +4228,13 @@ export type ChannelStatusChanged = Event & { /** The channel the event relates to. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -4101,15 +4258,15 @@ export type ChannelUpdate = { export type ChannelUpdateInput = { /** List of shipping zones to assign to the channel. */ - addShippingZones?: InputMaybe>; + addShippingZones?: InputMaybe>; /** List of warehouses to assign to the channel. */ - addWarehouses?: InputMaybe>; + addWarehouses?: InputMaybe>; /** The channel checkout settings */ checkoutSettings?: InputMaybe; /** Default country for the channel. Default country can be used in checkout to determine the stock quantities or calculate taxes when the country was not explicitly provided. */ defaultCountry?: InputMaybe; /** Determine if channel will be set active or not. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** * Channel public metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -4117,7 +4274,7 @@ export type ChannelUpdateInput = { */ metadata?: InputMaybe>; /** Name of the channel. */ - name?: InputMaybe; + name?: InputMaybe; /** The channel order settings */ orderSettings?: InputMaybe; /** The channel payment settings */ @@ -4129,11 +4286,11 @@ export type ChannelUpdateInput = { */ privateMetadata?: InputMaybe>; /** List of shipping zones to unassign from the channel. */ - removeShippingZones?: InputMaybe>; + removeShippingZones?: InputMaybe>; /** List of warehouses to unassign from the channel. */ - removeWarehouses?: InputMaybe>; + removeWarehouses?: InputMaybe>; /** Slug of the channel. */ - slug?: InputMaybe; + slug?: InputMaybe; /** The channel stock settings. */ stockSettings?: InputMaybe; }; @@ -4143,224 +4300,221 @@ export type ChannelUpdated = Event & { /** The channel the event relates to. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Checkout object. */ -export type Checkout = Node & - ObjectWithMetadata & { - /** - * The authorize status of the checkout. - * - * Triggers the following webhook events: - * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. - */ - authorizeStatus: CheckoutAuthorizeStatusEnum; - /** Collection points that can be used for this order. */ - availableCollectionPoints: Array; - /** - * List of available payment gateways. - * - * Triggers the following webhook events: - * - PAYMENT_LIST_GATEWAYS (sync): Fetch payment gateways available for checkout. - */ - availablePaymentGateways: Array; - /** - * Shipping methods that can be used with this checkout. - * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. - * @deprecated Use `shippingMethods` instead. - */ - availableShippingMethods: Array; - /** The billing address of the checkout. */ - billingAddress: Maybe
; - /** The channel for which checkout was created. */ - channel: Channel; - /** - * The charge status of the checkout. - * - * Triggers the following webhook events: - * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. - */ - chargeStatus: CheckoutChargeStatusEnum; - /** The date and time when the checkout was created. */ - created: Scalars["DateTime"]["output"]; - /** - * The customer note for the checkout. - * - * Added in Saleor 3.21. - */ - customerNote: Scalars["String"]["output"]; - /** - * The delivery method selected for this checkout. - * - * Added in Saleor 3.23. - */ - delivery: Maybe; - /** - * The delivery method selected for this checkout. - * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. - * @deprecated Use `delivery` instead. - */ - deliveryMethod: Maybe; - /** The total discount applied to the checkout. Note: Only discount created via voucher are included in this field. */ - discount: Maybe; - /** The name of voucher assigned to the checkout. */ - discountName: Maybe; - /** Determines whether displayed prices should include taxes. */ - displayGrossPrices: Scalars["Boolean"]["output"]; - /** Email of a customer. */ - email: Maybe; - /** List of gift cards associated with this checkout. */ - giftCards: Array; - /** The ID of the checkout. */ - id: Scalars["ID"]["output"]; - /** Returns True, if checkout requires shipping. */ - isShippingRequired: Scalars["Boolean"]["output"]; - /** Checkout language code. */ - languageCode: LanguageCodeEnum; - /** @deprecated Use `updatedAt` instead. */ - lastChange: Scalars["DateTime"]["output"]; - /** A list of checkout lines, each containing information about an item in the checkout. */ - lines: Array; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** - * The note for the checkout. - * @deprecated Use `customerNote` instead. - */ - note: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** List of problems with the checkout. */ - problems: Maybe>; - /** The number of items purchased. */ - quantity: Scalars["Int"]["output"]; - /** The shipping address of the checkout. */ - shippingAddress: Maybe
; - /** - * The shipping method related with checkout. - * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. - * @deprecated Use `delivery` instead. - */ - shippingMethod: Maybe; - /** - * Shipping methods that can be used with this checkout. - * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. - */ - shippingMethods: Array; - /** - * The price of the shipping, with all the taxes included. Set to 0 when no delivery method is selected. - * - * Triggers the following webhook events: - * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. - */ - shippingPrice: TaxedMoney; - /** Date when oldest stock reservation for this checkout expires or null if no stock is reserved. */ - stockReservationExpires: Maybe; - /** List of user's stored payment methods that can be used in this checkout session. It uses the channel that the checkout was created in. When `amount` is not provided, `checkout.total` will be used as a default value. */ - storedPaymentMethods: Maybe>; - /** - * The price of the checkout before shipping, with taxes included. - * - * Triggers the following webhook events: - * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. - */ - subtotalPrice: TaxedMoney; - /** Returns True if checkout has to be exempt from taxes. */ - taxExemption: Scalars["Boolean"]["output"]; - /** The checkout's token. */ - token: Scalars["UUID"]["output"]; - /** - * The difference between the paid and the checkout total amount. - * - * Triggers the following webhook events: - * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. - */ - totalBalance: Money; - /** - * The sum of the checkout line prices, with all the taxes,shipping costs, and discounts included. - * - * Triggers the following webhook events: - * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. - */ - totalPrice: TaxedMoney; - /** List of transactions for the checkout. Requires one of the following permissions: MANAGE_CHECKOUTS, HANDLE_PAYMENTS. */ - transactions: Maybe>; - /** Translation of the discountName field in the language set in Checkout.languageCode field.Note: this field is set automatically when Checkout.languageCode is defined; otherwise it's null */ - translatedDiscountName: Maybe; - /** Time of last modification of the given checkout. */ - updatedAt: Scalars["DateTime"]["output"]; - /** The user assigned to the checkout. Requires one of the following permissions: MANAGE_USERS, HANDLE_PAYMENTS, OWNER. */ - user: Maybe; - /** - * The voucher assigned to the checkout. - * - * Added in Saleor 3.18. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - voucher: Maybe; - /** The code of voucher assigned to the checkout. */ - voucherCode: Maybe; - }; +export type Checkout = Node & ObjectWithMetadata & { + /** + * The authorize status of the checkout. + * + * Triggers the following webhook events: + * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. + */ + authorizeStatus: CheckoutAuthorizeStatusEnum; + /** Collection points that can be used for this order. */ + availableCollectionPoints: Array; + /** + * List of available payment gateways. + * + * Triggers the following webhook events: + * - PAYMENT_LIST_GATEWAYS (sync): Fetch payment gateways available for checkout. + */ + availablePaymentGateways: Array; + /** + * Shipping methods that can be used with this checkout. + * + * Triggers the following webhook events: + * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. + * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. + * @deprecated Use `shippingMethods` instead. + */ + availableShippingMethods: Array; + /** The billing address of the checkout. */ + billingAddress: Maybe
; + /** The channel for which checkout was created. */ + channel: Channel; + /** + * The charge status of the checkout. + * + * Triggers the following webhook events: + * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. + */ + chargeStatus: CheckoutChargeStatusEnum; + /** The date and time when the checkout was created. */ + created: Scalars['DateTime']['output']; + /** + * The customer note for the checkout. + * + * Added in Saleor 3.21. + */ + customerNote: Scalars['String']['output']; + /** + * The delivery method selected for this checkout. + * + * Triggers the following webhook events: + * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. + * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. + */ + deliveryMethod: Maybe; + /** The total discount applied to the checkout. Note: Only discount created via voucher are included in this field. */ + discount: Maybe; + /** The name of voucher assigned to the checkout. */ + discountName: Maybe; + /** Determines whether displayed prices should include taxes. */ + displayGrossPrices: Scalars['Boolean']['output']; + /** Email of a customer. */ + email: Maybe; + /** List of gift cards associated with this checkout. */ + giftCards: Array; + /** The ID of the checkout. */ + id: Scalars['ID']['output']; + /** Returns True, if checkout requires shipping. */ + isShippingRequired: Scalars['Boolean']['output']; + /** Checkout language code. */ + languageCode: LanguageCodeEnum; + /** @deprecated Use `updatedAt` instead. */ + lastChange: Scalars['DateTime']['output']; + /** A list of checkout lines, each containing information about an item in the checkout. */ + lines: Array; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** + * The note for the checkout. + * @deprecated Use `customerNote` instead. + */ + note: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** List of problems with the checkout. */ + problems: Maybe>; + /** The number of items purchased. */ + quantity: Scalars['Int']['output']; + /** The shipping address of the checkout. */ + shippingAddress: Maybe
; + /** + * The shipping method related with checkout. + * + * Triggers the following webhook events: + * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. + * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. + * @deprecated Use `deliveryMethod` instead. + */ + shippingMethod: Maybe; + /** + * Shipping methods that can be used with this checkout. + * + * Triggers the following webhook events: + * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. + * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. + */ + shippingMethods: Array; + /** + * The price of the shipping, with all the taxes included. Set to 0 when no delivery method is selected. + * + * Triggers the following webhook events: + * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. + */ + shippingPrice: TaxedMoney; + /** Date when oldest stock reservation for this checkout expires or null if no stock is reserved. */ + stockReservationExpires: Maybe; + /** List of user's stored payment methods that can be used in this checkout session. It uses the channel that the checkout was created in. When `amount` is not provided, `checkout.total` will be used as a default value. */ + storedPaymentMethods: Maybe>; + /** + * The price of the checkout before shipping, with taxes included. + * + * Triggers the following webhook events: + * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. + */ + subtotalPrice: TaxedMoney; + /** Returns True if checkout has to be exempt from taxes. */ + taxExemption: Scalars['Boolean']['output']; + /** The checkout's token. */ + token: Scalars['UUID']['output']; + /** + * The difference between the paid and the checkout total amount. + * + * Triggers the following webhook events: + * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. + */ + totalBalance: Money; + /** + * The sum of the checkout line prices, with all the taxes,shipping costs, and discounts included. + * + * Triggers the following webhook events: + * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. + */ + totalPrice: TaxedMoney; + /** List of transactions for the checkout. Requires one of the following permissions: MANAGE_CHECKOUTS, HANDLE_PAYMENTS. */ + transactions: Maybe>; + /** Translation of the discountName field in the language set in Checkout.languageCode field.Note: this field is set automatically when Checkout.languageCode is defined; otherwise it's null */ + translatedDiscountName: Maybe; + /** Time of last modification of the given checkout. */ + updatedAt: Scalars['DateTime']['output']; + /** The user assigned to the checkout. Requires one of the following permissions: MANAGE_USERS, HANDLE_PAYMENTS, OWNER. */ + user: Maybe; + /** + * The voucher assigned to the checkout. + * + * Added in Saleor 3.18. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + voucher: Maybe; + /** The code of voucher assigned to the checkout. */ + voucherCode: Maybe; +}; + /** Checkout object. */ export type CheckoutMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Checkout object. */ export type CheckoutMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Checkout object. */ export type CheckoutPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Checkout object. */ export type CheckoutPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Checkout object. */ export type CheckoutStoredPaymentMethodsArgs = { - amount?: InputMaybe; + amount?: InputMaybe; }; /** @@ -4379,11 +4533,11 @@ export type CheckoutAddPromoCode = { export type CheckoutAddressValidationRules = { /** Determines if an error should be raised when the provided address doesn't match the expected format. Example: using letters for postal code when the numbers are expected. */ - checkFieldsFormat?: InputMaybe; + checkFieldsFormat?: InputMaybe; /** Determines if an error should be raised when the provided address doesn't have all the required fields. The list of required fields is dynamic and depends on the country code (use the `addressValidationRules` query to fetch them). Note: country code is mandatory for all addresses regardless of the rules provided in this input. */ - checkRequiredFields?: InputMaybe; + checkRequiredFields?: InputMaybe; /** Determines if Saleor should apply normalization on address fields. Example: converting city field to uppercase letters. */ - enableFieldsNormalization?: InputMaybe; + enableFieldsNormalization?: InputMaybe; }; /** @@ -4401,15 +4555,18 @@ export type CheckoutAddressValidationRules = { * FULL - the cover funds covers the checkout's total * */ -export type CheckoutAuthorizeStatusEnum = "FULL" | "NONE" | "PARTIAL"; +export type CheckoutAuthorizeStatusEnum = + | 'FULL' + | 'NONE' + | 'PARTIAL'; export type CheckoutAutoCompleteInput = { /** Specifies the earliest date on which fully paid checkouts can begin to be automatically completed. Fully paid checkouts dated before this cut-off will not be automatically completed. Must be less than the threshold of the oldest modified checkout eligible for automatic completion. Default is current date time. */ - cutOffDate?: InputMaybe; + cutOffDate?: InputMaybe; /** The time in minutes after which the fully paid checkout will be automatically completed. Default is 30. Set to 0 for immediate completion. Should be less than the threshold for the oldest modified checkout eligible for automatic completion. */ - delay?: InputMaybe; + delay?: InputMaybe; /** Default `false`. Determines if the paid checkouts should be automatically completed. This setting applies only to checkouts where payment was processed through transactions.When enabled, the checkout will be automatically completed once the checkout `charge_status` reaches `FULL`. This occurs when the total sum of charged and authorized transaction amounts equals or exceeds the checkout's total amount. */ - enabled: Scalars["Boolean"]["input"]; + enabled: Scalars['Boolean']['input']; }; /** @@ -4444,10 +4601,10 @@ export type CheckoutBillingAddressUpdate = { * */ export type CheckoutChargeStatusEnum = - | "FULL" - | "NONE" - | "OVERCHARGED" - | "PARTIAL"; + | 'FULL' + | 'NONE' + | 'OVERCHARGED' + | 'PARTIAL'; /** * Completes the checkout. As a result a new order is created. The mutation allows to create the unpaid order when setting `orderSettings.allowUnpaidOrders` for given `Channel` is set to `true`. When `orderSettings.allowUnpaidOrders` is set to `false`, checkout can be completed only when attached `Payment`/`TransactionItem`s fully cover the checkout's total. When processing the checkout with `Payment`, in case of required additional confirmation step like 3D secure, the `confirmationNeeded` flag will be set to True and no order will be created until payment is confirmed with second call of this mutation. @@ -4468,9 +4625,9 @@ export type CheckoutComplete = { /** @deprecated Use `errors` field instead. */ checkoutErrors: Array; /** Confirmation data used to process additional authorization steps. */ - confirmationData: Maybe; + confirmationData: Maybe; /** Set to true if payment needs to be confirmed before checkout is complete. */ - confirmationNeeded: Scalars["Boolean"]["output"]; + confirmationNeeded: Scalars['Boolean']['output']; errors: Array; /** Placed order. */ order: Maybe; @@ -4481,12 +4638,12 @@ export type CheckoutCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type CheckoutCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Checkout; }; @@ -4507,7 +4664,7 @@ export type CheckoutCreate = { * Whether the checkout was created or the current active one was returned. Refer to checkoutLinesAdd and checkoutLinesUpdate to merge a cart with an active checkout. * @deprecated Always returns `true`. */ - created: Maybe; + created: Maybe; errors: Array; }; @@ -4524,44 +4681,44 @@ export type CheckoutCreateFromOrderError = { /** The error code. */ code: CheckoutCreateFromOrderErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type CheckoutCreateFromOrderErrorCode = - | "CHANNEL_INACTIVE" - | "GRAPHQL_ERROR" - | "INVALID" - | "ORDER_NOT_FOUND" - | "TAX_ERROR"; + | 'CHANNEL_INACTIVE' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'ORDER_NOT_FOUND' + | 'TAX_ERROR'; export type CheckoutCreateFromOrderUnavailableVariant = { /** The error code. */ code: CheckoutCreateFromOrderUnavailableVariantErrorCode; /** Order line ID that is unavailable. */ - lineId: Scalars["ID"]["output"]; + lineId: Scalars['ID']['output']; /** The error message. */ - message: Scalars["String"]["output"]; + message: Scalars['String']['output']; /** Variant ID that is unavailable. */ - variantId: Scalars["ID"]["output"]; + variantId: Scalars['ID']['output']; }; export type CheckoutCreateFromOrderUnavailableVariantErrorCode = - | "INSUFFICIENT_STOCK" - | "NOT_FOUND" - | "PRODUCT_NOT_PUBLISHED" - | "PRODUCT_UNAVAILABLE_FOR_PURCHASE" - | "QUANTITY_GREATER_THAN_LIMIT" - | "UNAVAILABLE_VARIANT_IN_CHANNEL"; + | 'INSUFFICIENT_STOCK' + | 'NOT_FOUND' + | 'PRODUCT_NOT_PUBLISHED' + | 'PRODUCT_UNAVAILABLE_FOR_PURCHASE' + | 'QUANTITY_GREATER_THAN_LIMIT' + | 'UNAVAILABLE_VARIANT_IN_CHANNEL'; export type CheckoutCreateInput = { /** Billing address of the customer. `skipValidation` requires HANDLE_CHECKOUTS and AUTHENTICATED_APP permissions. */ billingAddress?: InputMaybe; /** Slug of a channel in which to create a checkout. */ - channel?: InputMaybe; + channel?: InputMaybe; /** The customer's email address. */ - email?: InputMaybe; + email?: InputMaybe; /** Checkout language code. */ languageCode?: InputMaybe; /** A list of checkout lines, each containing information about an item in the checkout. */ @@ -4589,13 +4746,13 @@ export type CheckoutCreateInput = { * * Added in Saleor 3.21. */ - saveBillingAddress?: InputMaybe; + saveBillingAddress?: InputMaybe; /** * Indicates whether the shipping address should be saved to the user’s address book upon checkout completion.Can only be set when a shipping address is provided. If not specified along with the address, the default behavior is to save the address. * * Added in Saleor 3.21. */ - saveShippingAddress?: InputMaybe; + saveShippingAddress?: InputMaybe; /** The mailing address to where the checkout will be shipped. Note: the address will be ignored if the checkout doesn't contain shippable items. `skipValidation` requires HANDLE_CHECKOUTS and AUTHENTICATED_APP permissions. */ shippingAddress?: InputMaybe; /** The checkout validation rules that can be changed. */ @@ -4607,13 +4764,13 @@ export type CheckoutCreated = Event & { /** The checkout the event relates to. */ checkout: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -4669,7 +4826,6 @@ export type CheckoutCustomerNoteUpdate = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout delivery method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ export type CheckoutDeliveryMethodUpdate = { @@ -4698,57 +4854,57 @@ export type CheckoutError = { /** The error code. */ code: CheckoutErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** List of line Ids which cause the error. */ - lines: Maybe>; + lines: Maybe>; /** The error message. */ - message: Maybe; + message: Maybe; /** List of variant IDs which causes the error. */ - variants: Maybe>; + variants: Maybe>; }; export type CheckoutErrorCode = - | "BILLING_ADDRESS_NOT_SET" - | "CHANNEL_INACTIVE" - | "CHECKOUT_NOT_FULLY_PAID" - | "DELIVERY_METHOD_NOT_APPLICABLE" - | "EMAIL_NOT_SET" - | "GIFT_CARD_NOT_APPLICABLE" - | "GRAPHQL_ERROR" - | "INACTIVE_PAYMENT" - | "INSUFFICIENT_STOCK" - | "INVALID" - | "INVALID_SHIPPING_METHOD" - | "MISSING_ADDRESS_DATA" - | "MISSING_CHANNEL_SLUG" - | "NON_EDITABLE_GIFT_LINE" - | "NON_REMOVABLE_GIFT_LINE" - | "NOT_FOUND" - | "NO_LINES" - | "PAYMENT_ERROR" - | "PRODUCT_NOT_PUBLISHED" - | "PRODUCT_UNAVAILABLE_FOR_PURCHASE" - | "QUANTITY_GREATER_THAN_LIMIT" - | "REQUIRED" - | "SHIPPING_ADDRESS_NOT_SET" - | "SHIPPING_CHANGE_FORBIDDEN" - | "SHIPPING_METHOD_NOT_APPLICABLE" - | "SHIPPING_METHOD_NOT_SET" - | "SHIPPING_NOT_REQUIRED" - | "TAX_ERROR" - | "UNAVAILABLE_VARIANT_IN_CHANNEL" - | "UNIQUE" - | "VOUCHER_NOT_APPLICABLE" - | "ZERO_QUANTITY"; + | 'BILLING_ADDRESS_NOT_SET' + | 'CHANNEL_INACTIVE' + | 'CHECKOUT_NOT_FULLY_PAID' + | 'DELIVERY_METHOD_NOT_APPLICABLE' + | 'EMAIL_NOT_SET' + | 'GIFT_CARD_NOT_APPLICABLE' + | 'GRAPHQL_ERROR' + | 'INACTIVE_PAYMENT' + | 'INSUFFICIENT_STOCK' + | 'INVALID' + | 'INVALID_SHIPPING_METHOD' + | 'MISSING_ADDRESS_DATA' + | 'MISSING_CHANNEL_SLUG' + | 'NON_EDITABLE_GIFT_LINE' + | 'NON_REMOVABLE_GIFT_LINE' + | 'NOT_FOUND' + | 'NO_LINES' + | 'PAYMENT_ERROR' + | 'PRODUCT_NOT_PUBLISHED' + | 'PRODUCT_UNAVAILABLE_FOR_PURCHASE' + | 'QUANTITY_GREATER_THAN_LIMIT' + | 'REQUIRED' + | 'SHIPPING_ADDRESS_NOT_SET' + | 'SHIPPING_CHANGE_FORBIDDEN' + | 'SHIPPING_METHOD_NOT_APPLICABLE' + | 'SHIPPING_METHOD_NOT_SET' + | 'SHIPPING_NOT_REQUIRED' + | 'TAX_ERROR' + | 'UNAVAILABLE_VARIANT_IN_CHANNEL' + | 'UNIQUE' + | 'VOUCHER_NOT_APPLICABLE' + | 'ZERO_QUANTITY'; export type CheckoutFilterInput = { authorizeStatus?: InputMaybe>; - channels?: InputMaybe>; + channels?: InputMaybe>; chargeStatus?: InputMaybe>; created?: InputMaybe; - customer?: InputMaybe; + customer?: InputMaybe; metadata?: InputMaybe>; - search?: InputMaybe; + search?: InputMaybe; updatedAt?: InputMaybe; }; @@ -4757,7 +4913,7 @@ export type CheckoutFilterShippingMethods = Event & { /** The checkout the event relates to. */ checkout: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -4765,7 +4921,7 @@ export type CheckoutFilterShippingMethods = Event & { /** Shipping methods that can be used with this checkout. */ shippingMethods: Maybe>; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -4777,13 +4933,13 @@ export type CheckoutFullyAuthorized = Event & { /** The checkout the event relates to. */ checkout: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -4795,13 +4951,13 @@ export type CheckoutFullyPaid = Event & { /** The checkout the event relates to. */ checkout: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -4819,96 +4975,99 @@ export type CheckoutLanguageCodeUpdate = { }; /** Represents an item in the checkout. */ -export type CheckoutLine = Node & - ObjectWithMetadata & { - /** The ID of the checkout line. */ - id: Scalars["ID"]["output"]; - /** - * Determine if the line is a gift. - * - * Added in Saleor 3.19. - * - * Note: this API is currently in Feature Preview and can be subject to changes at later point. - */ - isGift: Maybe; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** - * The sum of the checkout line price prior to promotion. - * - * Added in Saleor 3.21. - */ - priorTotalPrice: Maybe; - /** - * The unit price of the checkout line prior to promotion. - * - * Added in Saleor 3.21. - */ - priorUnitPrice: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** List of problems with the checkout line. */ - problems: Maybe>; - /** The quantity of product variant assigned to the checkout line. */ - quantity: Scalars["Int"]["output"]; - /** Indicates whether the item need to be delivered. */ - requiresShipping: Scalars["Boolean"]["output"]; - /** - * The sum of the checkout line price, taxes and discounts. - * - * Triggers the following webhook events: - * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. - */ - totalPrice: TaxedMoney; - /** The sum of the checkout line price, without discounts. */ - undiscountedTotalPrice: Money; - /** The unit price of the checkout line, without discounts. */ - undiscountedUnitPrice: Money; - /** - * The unit price of the checkout line, with taxes and discounts. - * - * Triggers the following webhook events: - * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. - */ - unitPrice: TaxedMoney; - /** The product variant from which the checkout line was created. */ - variant: ProductVariant; - }; +export type CheckoutLine = Node & ObjectWithMetadata & { + /** The ID of the checkout line. */ + id: Scalars['ID']['output']; + /** + * Determine if the line is a gift. + * + * Added in Saleor 3.19. + * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + */ + isGift: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** + * The sum of the checkout line price prior to promotion. + * + * Added in Saleor 3.21. + */ + priorTotalPrice: Maybe; + /** + * The unit price of the checkout line prior to promotion. + * + * Added in Saleor 3.21. + */ + priorUnitPrice: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** List of problems with the checkout line. */ + problems: Maybe>; + /** The quantity of product variant assigned to the checkout line. */ + quantity: Scalars['Int']['output']; + /** Indicates whether the item need to be delivered. */ + requiresShipping: Scalars['Boolean']['output']; + /** + * The sum of the checkout line price, taxes and discounts. + * + * Triggers the following webhook events: + * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. + */ + totalPrice: TaxedMoney; + /** The sum of the checkout line price, without discounts. */ + undiscountedTotalPrice: Money; + /** The unit price of the checkout line, without discounts. */ + undiscountedUnitPrice: Money; + /** + * The unit price of the checkout line, with taxes and discounts. + * + * Triggers the following webhook events: + * - CHECKOUT_CALCULATE_TAXES (sync): Optionally triggered when checkout prices are expired. + */ + unitPrice: TaxedMoney; + /** The product variant from which the checkout line was created. */ + variant: ProductVariant; +}; + /** Represents an item in the checkout. */ export type CheckoutLineMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents an item in the checkout. */ export type CheckoutLineMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents an item in the checkout. */ export type CheckoutLinePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents an item in the checkout. */ export type CheckoutLinePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; export type CheckoutLineCountableConnection = { @@ -4916,12 +5075,12 @@ export type CheckoutLineCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type CheckoutLineCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: CheckoutLine; }; @@ -4942,7 +5101,7 @@ export type CheckoutLineDelete = { export type CheckoutLineInput = { /** Flag that allow force splitting the same variant into multiple lines by skipping the matching logic. */ - forceNewLine?: InputMaybe; + forceNewLine?: InputMaybe; /** * Fields required to update the object's metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -4950,22 +5109,20 @@ export type CheckoutLineInput = { */ metadata?: InputMaybe>; /** Custom price of the item. Can be set only by apps with `HANDLE_CHECKOUTS` permission. When the line with the same variant will be provided multiple times, the last price will be used. */ - price?: InputMaybe; + price?: InputMaybe; /** The number of items purchased. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** ID of the product variant. */ - variantId: Scalars["ID"]["input"]; + variantId: Scalars['ID']['input']; }; /** Represents an problem in the checkout line. */ -export type CheckoutLineProblem = - | CheckoutLineProblemInsufficientStock - | CheckoutLineProblemVariantNotAvailable; +export type CheckoutLineProblem = CheckoutLineProblemInsufficientStock | CheckoutLineProblemVariantNotAvailable; /** Indicates insufficient stock for a given checkout line.Placing the order will not be possible until solving this problem. */ export type CheckoutLineProblemInsufficientStock = { /** Available quantity of a variant. */ - availableQuantity: Maybe; + availableQuantity: Maybe; /** The line that has variant with insufficient stock. */ line: CheckoutLine; /** The variant with insufficient stock. */ @@ -4980,7 +5137,7 @@ export type CheckoutLineProblemVariantNotAvailable = { export type CheckoutLineUpdateInput = { /** ID of the line. */ - lineId?: InputMaybe; + lineId?: InputMaybe; /** * Checkout line public metadata. Will add and update keys. To delete keys use deleteMetadata mutation. * @@ -4990,15 +5147,15 @@ export type CheckoutLineUpdateInput = { */ metadata?: InputMaybe>; /** Custom price of the item. Can be set only by apps with `HANDLE_CHECKOUTS` permission. When the line with the same variant will be provided multiple times, the last price will be used. */ - price?: InputMaybe; + price?: InputMaybe; /** The number of items purchased. Optional for apps, required for any other users. */ - quantity?: InputMaybe; + quantity?: InputMaybe; /** * ID of the product variant. * * DEPRECATED: this field will be removed. Use `lineId` instead. */ - variantId?: InputMaybe; + variantId?: InputMaybe; }; /** @@ -5046,13 +5203,13 @@ export type CheckoutMetadataUpdated = Event & { /** The checkout the event relates to. */ checkout: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Creates a new payment for given checkout. */ @@ -5067,29 +5224,7 @@ export type CheckoutPaymentCreate = { }; /** Represents an problem in the checkout. */ -export type CheckoutProblem = - | CheckoutLineProblemInsufficientStock - | CheckoutLineProblemVariantNotAvailable - | CheckoutProblemDeliveryMethodInvalid - | CheckoutProblemDeliveryMethodStale; - -/** - * Indicates that the selected delivery method is invalid. - * - * Added in Saleor 3.23. - */ -export type CheckoutProblemDeliveryMethodInvalid = { - delivery: Delivery; -}; - -/** - * Indicates that the delivery methods are stale. - * - * Added in Saleor 3.23. - */ -export type CheckoutProblemDeliveryMethodStale = { - delivery: Delivery; -}; +export type CheckoutProblem = CheckoutLineProblemInsufficientStock | CheckoutLineProblemVariantNotAvailable; /** * Remove a gift card or a voucher from a checkout. @@ -5107,45 +5242,33 @@ export type CheckoutRemovePromoCode = { /** Represents the channel-specific checkout settings. */ export type CheckoutSettings = { - /** - * Default to `true`. Determines whether gift cards can be attached to a Checkout via `addPromoCode` mutation. Usage of this mutation with gift cards is deprecated. - * - * Added in Saleor 3.23. - */ - allowLegacyGiftCardUse: Scalars["Boolean"]["output"]; /** * The date time defines the earliest checkout creation date on which fully paid checkouts can begin to be automatically completed. * * Added in Saleor 3.22. */ - automaticCompletionCutOffDate: Maybe; + automaticCompletionCutOffDate: Maybe; /** * The time in minutes to wait after a checkout is fully paid before automatically completing it. * * Added in Saleor 3.22. */ - automaticCompletionDelay: Maybe; + automaticCompletionDelay: Maybe; /** * Default `false`. Determines if the paid checkouts should be automatically completed. This setting applies only to checkouts where payment was processed through transactions.When enabled, the checkout will be automatically completed once the checkout `charge_status` reaches `FULL`. This occurs when the total sum of charged and authorized transaction amounts equals or exceeds the checkout's total amount. * * Added in Saleor 3.20. */ - automaticallyCompleteFullyPaidCheckouts: Scalars["Boolean"]["output"]; + automaticallyCompleteFullyPaidCheckouts: Scalars['Boolean']['output']; /** * Default `true`. Determines if the checkout mutations should use legacy error flow. In legacy flow, all mutations can raise an exception unrelated to the requested action - (e.g. out-of-stock exception when updating checkoutShippingAddress.) If `false`, the errors will be aggregated in `checkout.problems` field. Some of the `problems` can block the finalizing checkout process. The legacy flow will be removed in Saleor 4.0. The flow with `checkout.problems` will be the default one. * * DEPRECATED: this field will be removed. */ - useLegacyErrorFlow: Scalars["Boolean"]["output"]; + useLegacyErrorFlow: Scalars['Boolean']['output']; }; export type CheckoutSettingsInput = { - /** - * Default to `true`. Determines whether gift cards can be attached to a Checkout via `addPromoCode` mutation. Usage of this mutation with gift cards is deprecated. - * - * Added in Saleor 3.23. - */ - allowLegacyGiftCardUse?: InputMaybe; /** * Settings for automatic completion of fully paid checkouts. * @@ -5159,15 +5282,13 @@ export type CheckoutSettingsInput = { * * DEPRECATED: this field will be removed. Use `automatic_completion` instead. */ - automaticallyCompleteFullyPaidCheckouts?: InputMaybe< - Scalars["Boolean"]["input"] - >; + automaticallyCompleteFullyPaidCheckouts?: InputMaybe; /** * Default `true`. Determines if the checkout mutations should use legacy error flow. In legacy flow, all mutations can raise an exception unrelated to the requested action - (e.g. out-of-stock exception when updating checkoutShippingAddress.) If `false`, the errors will be aggregated in `checkout.problems` field. Some of the `problems` can block the finalizing checkout process. The legacy flow will be removed in Saleor 4.0. The flow with `checkout.problems` will be the default one. * * DEPRECATED: this field will be removed. */ - useLegacyErrorFlow?: InputMaybe; + useLegacyErrorFlow?: InputMaybe; }; /** @@ -5189,7 +5310,6 @@ export type CheckoutShippingAddressUpdate = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout shipping method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ export type CheckoutShippingMethodUpdate = { @@ -5202,13 +5322,11 @@ export type CheckoutShippingMethodUpdate = { export type CheckoutSortField = /** Sort checkouts by creation date. */ - | "CREATION_DATE" + | 'CREATION_DATE' /** Sort checkouts by customer. */ - | "CUSTOMER" + | 'CUSTOMER' /** Sort checkouts by payment. */ - | "PAYMENT" - /** Sort checkouts by rank. Note: This option is available only with the `search` filter. */ - | "RANK"; + | 'PAYMENT'; export type CheckoutSortingInput = { /** Specifies the direction in which to sort checkouts. */ @@ -5222,13 +5340,13 @@ export type CheckoutUpdated = Event & { /** The checkout the event relates to. */ checkout: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type CheckoutValidationRules = { @@ -5240,120 +5358,126 @@ export type CheckoutValidationRules = { export type ChoiceValue = { /** The raw name of the choice. */ - raw: Maybe; + raw: Maybe; /** The verbose name of the choice. */ - verbose: Maybe; + verbose: Maybe; }; /** Enum determining the state of a circuit breaker. */ export type CircuitBreakerStateEnum = /** The breaker is conducting (requests are passing through). */ - | "CLOSED" + | 'CLOSED' /** The breaker is in a trial period (to close or open). Note that unlike classic breaker patterns, this is not a state where we are throttling the number of requests, it's a state similar to CLOSED but with different thresholds. */ - | "HALF_OPEN" + | 'HALF_OPEN' /** The breaker is tripped (no requests are passing). Breaker will enter half-open state after cooldown period. */ - | "OPEN"; + | 'OPEN'; /** Represents a collection of products. */ -export type Collection = Node & - ObjectWithMetadata & { - /** Background image of the collection. */ - backgroundImage: Maybe; - /** Channel given to retrieve this collection. Also used by federation gateway to resolve this object in a federated query. */ - channel: Maybe; - /** - * List of channels in which the collection is available. - * - * Requires one of the following permissions: MANAGE_PRODUCTS. - */ - channelListings: Maybe>; - /** - * Description of the collection. - * - * Rich text format. For reference see https://editorjs.io/ - */ - description: Maybe; - /** - * Description of the collection. - * - * Rich text format. For reference see https://editorjs.io/ - * @deprecated Use the `description` field instead. - */ - descriptionJson: Maybe; - /** The ID of the collection. */ - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Name of the collection. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** List of products in this collection. */ - products: Maybe; - /** SEO description of the collection. */ - seoDescription: Maybe; - /** SEO title of the collection. */ - seoTitle: Maybe; - /** Slug of the collection. */ - slug: Scalars["String"]["output"]; - /** Returns translated collection fields for the given language code. */ - translation: Maybe; - }; +export type Collection = Node & ObjectWithMetadata & { + /** Background image of the collection. */ + backgroundImage: Maybe; + /** Channel given to retrieve this collection. Also used by federation gateway to resolve this object in a federated query. */ + channel: Maybe; + /** + * List of channels in which the collection is available. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ + channelListings: Maybe>; + /** + * Description of the collection. + * + * Rich text format. For reference see https://editorjs.io/ + */ + description: Maybe; + /** + * Description of the collection. + * + * Rich text format. For reference see https://editorjs.io/ + * @deprecated Use the `description` field instead. + */ + descriptionJson: Maybe; + /** The ID of the collection. */ + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Name of the collection. */ + name: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** List of products in this collection. */ + products: Maybe; + /** SEO description of the collection. */ + seoDescription: Maybe; + /** SEO title of the collection. */ + seoTitle: Maybe; + /** Slug of the collection. */ + slug: Scalars['String']['output']; + /** Returns translated collection fields for the given language code. */ + translation: Maybe; +}; + /** Represents a collection of products. */ export type CollectionBackgroundImageArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; + /** Represents a collection of products. */ export type CollectionMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a collection of products. */ export type CollectionMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a collection of products. */ export type CollectionPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a collection of products. */ export type CollectionPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a collection of products. */ export type CollectionProductsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + /** Represents a collection of products. */ export type CollectionTranslationArgs = { languageCode: LanguageCodeEnum; @@ -5381,7 +5505,7 @@ export type CollectionBulkDelete = { /** @deprecated Use `errors` field instead. */ collectionErrors: Array; /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -5390,28 +5514,28 @@ export type CollectionChannelListing = Node & { /** The channel to which the collection belongs. */ channel: Channel; /** The ID of the collection channel listing. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Indicates if the collection is published in the channel. */ - isPublished: Scalars["Boolean"]["output"]; + isPublished: Scalars['Boolean']['output']; /** @deprecated Use the `publishedAt` field to fetch the publication date. */ - publicationDate: Maybe; + publicationDate: Maybe; /** The collection publication date. */ - publishedAt: Maybe; + publishedAt: Maybe; }; export type CollectionChannelListingError = { /** List of attributes IDs which causes the error. */ - attributes: Maybe>; + attributes: Maybe>; /** List of channels IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: ProductErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of attribute values IDs which causes the error. */ - values: Maybe>; + values: Maybe>; }; /** @@ -5431,7 +5555,7 @@ export type CollectionChannelListingUpdateInput = { /** List of channels to which the collection should be assigned. */ addChannels?: InputMaybe>; /** List of channels from which the collection should be unassigned. */ - removeChannels?: InputMaybe>; + removeChannels?: InputMaybe>; }; /** Represents a connection to a list of collections. */ @@ -5440,12 +5564,12 @@ export type CollectionCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type CollectionCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Collection; }; @@ -5464,17 +5588,17 @@ export type CollectionCreate = { export type CollectionCreateInput = { /** Background image file. */ - backgroundImage?: InputMaybe; + backgroundImage?: InputMaybe; /** Alt text for an image. */ - backgroundImageAlt?: InputMaybe; + backgroundImageAlt?: InputMaybe; /** * Description of the collection. * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; + description?: InputMaybe; /** Informs whether a collection is published. */ - isPublished?: InputMaybe; + isPublished?: InputMaybe; /** * Fields required to update the collection metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -5482,7 +5606,7 @@ export type CollectionCreateInput = { */ metadata?: InputMaybe>; /** Name of the collection. */ - name?: InputMaybe; + name?: InputMaybe; /** * Fields required to update the collection private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -5490,17 +5614,17 @@ export type CollectionCreateInput = { */ privateMetadata?: InputMaybe>; /** List of products to be added to the collection. */ - products?: InputMaybe>; + products?: InputMaybe>; /** * Publication date. ISO 8601 standard. * * DEPRECATED: this field will be removed. */ - publicationDate?: InputMaybe; + publicationDate?: InputMaybe; /** Search engine optimization fields. */ seo?: InputMaybe; /** Slug of the collection. */ - slug?: InputMaybe; + slug?: InputMaybe; }; /** Event sent when new collection is created. */ @@ -5508,18 +5632,19 @@ export type CollectionCreated = Event & { /** The collection the event relates to. */ collection: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when new collection is created. */ export type CollectionCreatedCollectionArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -5539,39 +5664,41 @@ export type CollectionDeleted = Event & { /** The collection the event relates to. */ collection: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when collection is deleted. */ export type CollectionDeletedCollectionArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type CollectionError = { /** The error code. */ code: CollectionErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of products IDs which causes the error. */ - products: Maybe>; + products: Maybe>; }; export type CollectionErrorCode = - | "CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT' + | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type CollectionFilterInput = { /** @@ -5579,27 +5706,27 @@ export type CollectionFilterInput = { * * DEPRECATED: this field will be removed. Use root-level channel argument instead. */ - channel?: InputMaybe; - ids?: InputMaybe>; + channel?: InputMaybe; + ids?: InputMaybe>; metadata?: InputMaybe>; published?: InputMaybe; - search?: InputMaybe; - slugs?: InputMaybe>; + search?: InputMaybe; + slugs?: InputMaybe>; }; export type CollectionInput = { /** Background image file. */ - backgroundImage?: InputMaybe; + backgroundImage?: InputMaybe; /** Alt text for an image. */ - backgroundImageAlt?: InputMaybe; + backgroundImageAlt?: InputMaybe; /** * Description of the collection. * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; + description?: InputMaybe; /** Informs whether a collection is published. */ - isPublished?: InputMaybe; + isPublished?: InputMaybe; /** * Fields required to update the collection metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -5607,7 +5734,7 @@ export type CollectionInput = { */ metadata?: InputMaybe>; /** Name of the collection. */ - name?: InputMaybe; + name?: InputMaybe; /** * Fields required to update the collection private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -5619,11 +5746,11 @@ export type CollectionInput = { * * DEPRECATED: this field will be removed. */ - publicationDate?: InputMaybe; + publicationDate?: InputMaybe; /** Search engine optimization fields. */ seo?: InputMaybe; /** Slug of the collection. */ - slug?: InputMaybe; + slug?: InputMaybe; }; /** Event sent when collection metadata is updated. */ @@ -5631,21 +5758,24 @@ export type CollectionMetadataUpdated = Event & { /** The collection the event relates to. */ collection: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when collection metadata is updated. */ export type CollectionMetadataUpdatedCollectionArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; -export type CollectionPublished = "HIDDEN" | "PUBLISHED"; +export type CollectionPublished = + | 'HIDDEN' + | 'PUBLISHED'; /** * Remove products from a collection. @@ -5679,23 +5809,23 @@ export type CollectionSortField = * * This option requires a channel filter to work as the values can vary between channels. */ - | "AVAILABILITY" + | 'AVAILABILITY' /** Sort collections by name. */ - | "NAME" + | 'NAME' /** Sort collections by product count. */ - | "PRODUCT_COUNT" + | 'PRODUCT_COUNT' /** * Sort collections by publication date. * * This option requires a channel filter to work as the values can vary between channels. */ - | "PUBLICATION_DATE" + | 'PUBLICATION_DATE' /** * Sort collections by published at. * * This option requires a channel filter to work as the values can vary between channels. */ - | "PUBLISHED_AT"; + | 'PUBLISHED_AT'; export type CollectionSortingInput = { /** @@ -5703,7 +5833,7 @@ export type CollectionSortingInput = { * * DEPRECATED: this field will be removed. Use root-level channel argument instead. */ - channel?: InputMaybe; + channel?: InputMaybe; /** Specifies the direction in which to sort collections. */ direction: OrderDirection; /** Sort collections by the selected field. */ @@ -5718,38 +5848,39 @@ export type CollectionTranslatableContent = Node & { */ collection: Maybe; /** The ID of the collection to translate. */ - collectionId: Scalars["ID"]["output"]; + collectionId: Scalars['ID']['output']; /** * Collection's description to translate. * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** * Description of the collection. * * Rich text format. For reference see https://editorjs.io/ * @deprecated Use the `description` field instead. */ - descriptionJson: Maybe; + descriptionJson: Maybe; /** The ID of the collection translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Collection's name to translate. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** SEO description to translate. */ - seoDescription: Maybe; + seoDescription: Maybe; /** SEO title to translate. */ - seoTitle: Maybe; + seoTitle: Maybe; /** * Slug to translate * * Added in Saleor 3.21. */ - slug: Maybe; + slug: Maybe; /** Returns translated collection fields for the given language code. */ translation: Maybe; }; + /** Represents collection's original translatable fields and related translations. */ export type CollectionTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -5774,30 +5905,30 @@ export type CollectionTranslation = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** * Translated description of the collection. * * Rich text format. For reference see https://editorjs.io/ * @deprecated Use the `description` field instead. */ - descriptionJson: Maybe; + descriptionJson: Maybe; /** The ID of the collection translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated collection name. */ - name: Maybe; + name: Maybe; /** Translated SEO description. */ - seoDescription: Maybe; + seoDescription: Maybe; /** Translated SEO title. */ - seoTitle: Maybe; + seoTitle: Maybe; /** * Translated collection slug. * * Added in Saleor 3.21. */ - slug: Maybe; + slug: Maybe; /** Represents the collection fields to translate. */ translatableContent: Maybe; }; @@ -5819,18 +5950,19 @@ export type CollectionUpdated = Event & { /** The collection the event relates to. */ collection: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when collection is updated. */ export type CollectionUpdatedCollectionArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type CollectionWhereInput = { @@ -5838,39 +5970,39 @@ export type CollectionWhereInput = { AND?: InputMaybe>; /** A list of conditions of which at least one must be met. */ OR?: InputMaybe>; - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; }; /** Stores information about a single configuration field. */ export type ConfigurationItem = { /** Help text for the field. */ - helpText: Maybe; + helpText: Maybe; /** Label for the field. */ - label: Maybe; + label: Maybe; /** Name of the field. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Type of the field. */ type: Maybe; /** Current value of the field. */ - value: Maybe; + value: Maybe; }; export type ConfigurationItemInput = { /** Name of the field to update. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** Value of the given field to update. */ - value?: InputMaybe; + value?: InputMaybe; }; export type ConfigurationTypeFieldEnum = - | "BOOLEAN" - | "MULTILINE" - | "OUTPUT" - | "PASSWORD" - | "SECRET" - | "SECRETMULTILINE" - | "STRING"; + | 'BOOLEAN' + | 'MULTILINE' + | 'OUTPUT' + | 'PASSWORD' + | 'SECRET' + | 'SECRETMULTILINE' + | 'STRING'; /** * Confirm user account with token sent by email during registration. @@ -5907,9 +6039,9 @@ export type ConfirmEmailChange = { /** Define the filtering options for fields that can contain multiple values. */ export type ContainsFilterInput = { /** The field contains all of the specified values. */ - containsAll?: InputMaybe>; + containsAll?: InputMaybe>; /** The field contains at least one of the specified values. */ - containsAny?: InputMaybe>; + containsAny?: InputMaybe>; }; /** @@ -5919,507 +6051,507 @@ export type ContainsFilterInput = { */ export type CountryCode = /** Andorra */ - | "AD" + | 'AD' /** United Arab Emirates */ - | "AE" + | 'AE' /** Afghanistan */ - | "AF" + | 'AF' /** Antigua and Barbuda */ - | "AG" + | 'AG' /** Anguilla */ - | "AI" + | 'AI' /** Albania */ - | "AL" + | 'AL' /** Armenia */ - | "AM" + | 'AM' /** Angola */ - | "AO" + | 'AO' /** Antarctica */ - | "AQ" + | 'AQ' /** Argentina */ - | "AR" + | 'AR' /** American Samoa */ - | "AS" + | 'AS' /** Austria */ - | "AT" + | 'AT' /** Australia */ - | "AU" + | 'AU' /** Aruba */ - | "AW" + | 'AW' /** Åland Islands */ - | "AX" + | 'AX' /** Azerbaijan */ - | "AZ" + | 'AZ' /** Bosnia and Herzegovina */ - | "BA" + | 'BA' /** Barbados */ - | "BB" + | 'BB' /** Bangladesh */ - | "BD" + | 'BD' /** Belgium */ - | "BE" + | 'BE' /** Burkina Faso */ - | "BF" + | 'BF' /** Bulgaria */ - | "BG" + | 'BG' /** Bahrain */ - | "BH" + | 'BH' /** Burundi */ - | "BI" + | 'BI' /** Benin */ - | "BJ" + | 'BJ' /** Saint Barthélemy */ - | "BL" + | 'BL' /** Bermuda */ - | "BM" + | 'BM' /** Brunei */ - | "BN" + | 'BN' /** Bolivia */ - | "BO" + | 'BO' /** Bonaire, Sint Eustatius and Saba */ - | "BQ" + | 'BQ' /** Brazil */ - | "BR" + | 'BR' /** Bahamas */ - | "BS" + | 'BS' /** Bhutan */ - | "BT" + | 'BT' /** Bouvet Island */ - | "BV" + | 'BV' /** Botswana */ - | "BW" + | 'BW' /** Belarus */ - | "BY" + | 'BY' /** Belize */ - | "BZ" + | 'BZ' /** Canada */ - | "CA" + | 'CA' /** Cocos (Keeling) Islands */ - | "CC" + | 'CC' /** Congo (the Democratic Republic of the) */ - | "CD" + | 'CD' /** Central African Republic */ - | "CF" + | 'CF' /** Congo */ - | "CG" + | 'CG' /** Switzerland */ - | "CH" + | 'CH' /** Côte d'Ivoire */ - | "CI" + | 'CI' /** Cook Islands */ - | "CK" + | 'CK' /** Chile */ - | "CL" + | 'CL' /** Cameroon */ - | "CM" + | 'CM' /** China */ - | "CN" + | 'CN' /** Colombia */ - | "CO" + | 'CO' /** Costa Rica */ - | "CR" + | 'CR' /** Cuba */ - | "CU" + | 'CU' /** Cabo Verde */ - | "CV" + | 'CV' /** Curaçao */ - | "CW" + | 'CW' /** Christmas Island */ - | "CX" + | 'CX' /** Cyprus */ - | "CY" + | 'CY' /** Czechia */ - | "CZ" + | 'CZ' /** Germany */ - | "DE" + | 'DE' /** Djibouti */ - | "DJ" + | 'DJ' /** Denmark */ - | "DK" + | 'DK' /** Dominica */ - | "DM" + | 'DM' /** Dominican Republic */ - | "DO" + | 'DO' /** Algeria */ - | "DZ" + | 'DZ' /** Ecuador */ - | "EC" + | 'EC' /** Estonia */ - | "EE" + | 'EE' /** Egypt */ - | "EG" + | 'EG' /** Western Sahara */ - | "EH" + | 'EH' /** Eritrea */ - | "ER" + | 'ER' /** Spain */ - | "ES" + | 'ES' /** Ethiopia */ - | "ET" + | 'ET' /** European Union */ - | "EU" + | 'EU' /** Finland */ - | "FI" + | 'FI' /** Fiji */ - | "FJ" + | 'FJ' /** Falkland Islands (Malvinas) */ - | "FK" + | 'FK' /** Micronesia */ - | "FM" + | 'FM' /** Faroe Islands */ - | "FO" + | 'FO' /** France */ - | "FR" + | 'FR' /** Gabon */ - | "GA" + | 'GA' /** United Kingdom */ - | "GB" + | 'GB' /** Grenada */ - | "GD" + | 'GD' /** Georgia */ - | "GE" + | 'GE' /** French Guiana */ - | "GF" + | 'GF' /** Guernsey */ - | "GG" + | 'GG' /** Ghana */ - | "GH" + | 'GH' /** Gibraltar */ - | "GI" + | 'GI' /** Greenland */ - | "GL" + | 'GL' /** Gambia */ - | "GM" + | 'GM' /** Guinea */ - | "GN" + | 'GN' /** Guadeloupe */ - | "GP" + | 'GP' /** Equatorial Guinea */ - | "GQ" + | 'GQ' /** Greece */ - | "GR" + | 'GR' /** South Georgia and the South Sandwich Islands */ - | "GS" + | 'GS' /** Guatemala */ - | "GT" + | 'GT' /** Guam */ - | "GU" + | 'GU' /** Guinea-Bissau */ - | "GW" + | 'GW' /** Guyana */ - | "GY" + | 'GY' /** Hong Kong */ - | "HK" + | 'HK' /** Heard Island and McDonald Islands */ - | "HM" + | 'HM' /** Honduras */ - | "HN" + | 'HN' /** Croatia */ - | "HR" + | 'HR' /** Haiti */ - | "HT" + | 'HT' /** Hungary */ - | "HU" + | 'HU' /** Indonesia */ - | "ID" + | 'ID' /** Ireland */ - | "IE" + | 'IE' /** Israel */ - | "IL" + | 'IL' /** Isle of Man */ - | "IM" + | 'IM' /** India */ - | "IN" + | 'IN' /** British Indian Ocean Territory */ - | "IO" + | 'IO' /** Iraq */ - | "IQ" + | 'IQ' /** Iran */ - | "IR" + | 'IR' /** Iceland */ - | "IS" + | 'IS' /** Italy */ - | "IT" + | 'IT' /** Jersey */ - | "JE" + | 'JE' /** Jamaica */ - | "JM" + | 'JM' /** Jordan */ - | "JO" + | 'JO' /** Japan */ - | "JP" + | 'JP' /** Kenya */ - | "KE" + | 'KE' /** Kyrgyzstan */ - | "KG" + | 'KG' /** Cambodia */ - | "KH" + | 'KH' /** Kiribati */ - | "KI" + | 'KI' /** Comoros */ - | "KM" + | 'KM' /** Saint Kitts and Nevis */ - | "KN" + | 'KN' /** North Korea */ - | "KP" + | 'KP' /** South Korea */ - | "KR" + | 'KR' /** Kuwait */ - | "KW" + | 'KW' /** Cayman Islands */ - | "KY" + | 'KY' /** Kazakhstan */ - | "KZ" + | 'KZ' /** Laos */ - | "LA" + | 'LA' /** Lebanon */ - | "LB" + | 'LB' /** Saint Lucia */ - | "LC" + | 'LC' /** Liechtenstein */ - | "LI" + | 'LI' /** Sri Lanka */ - | "LK" + | 'LK' /** Liberia */ - | "LR" + | 'LR' /** Lesotho */ - | "LS" + | 'LS' /** Lithuania */ - | "LT" + | 'LT' /** Luxembourg */ - | "LU" + | 'LU' /** Latvia */ - | "LV" + | 'LV' /** Libya */ - | "LY" + | 'LY' /** Morocco */ - | "MA" + | 'MA' /** Monaco */ - | "MC" + | 'MC' /** Moldova */ - | "MD" + | 'MD' /** Montenegro */ - | "ME" + | 'ME' /** Saint Martin (French part) */ - | "MF" + | 'MF' /** Madagascar */ - | "MG" + | 'MG' /** Marshall Islands */ - | "MH" + | 'MH' /** North Macedonia */ - | "MK" + | 'MK' /** Mali */ - | "ML" + | 'ML' /** Myanmar */ - | "MM" + | 'MM' /** Mongolia */ - | "MN" + | 'MN' /** Macao */ - | "MO" + | 'MO' /** Northern Mariana Islands */ - | "MP" + | 'MP' /** Martinique */ - | "MQ" + | 'MQ' /** Mauritania */ - | "MR" + | 'MR' /** Montserrat */ - | "MS" + | 'MS' /** Malta */ - | "MT" + | 'MT' /** Mauritius */ - | "MU" + | 'MU' /** Maldives */ - | "MV" + | 'MV' /** Malawi */ - | "MW" + | 'MW' /** Mexico */ - | "MX" + | 'MX' /** Malaysia */ - | "MY" + | 'MY' /** Mozambique */ - | "MZ" + | 'MZ' /** Namibia */ - | "NA" + | 'NA' /** New Caledonia */ - | "NC" + | 'NC' /** Niger */ - | "NE" + | 'NE' /** Norfolk Island */ - | "NF" + | 'NF' /** Nigeria */ - | "NG" + | 'NG' /** Nicaragua */ - | "NI" + | 'NI' /** Netherlands */ - | "NL" + | 'NL' /** Norway */ - | "NO" + | 'NO' /** Nepal */ - | "NP" + | 'NP' /** Nauru */ - | "NR" + | 'NR' /** Niue */ - | "NU" + | 'NU' /** New Zealand */ - | "NZ" + | 'NZ' /** Oman */ - | "OM" + | 'OM' /** Panama */ - | "PA" + | 'PA' /** Peru */ - | "PE" + | 'PE' /** French Polynesia */ - | "PF" + | 'PF' /** Papua New Guinea */ - | "PG" + | 'PG' /** Philippines */ - | "PH" + | 'PH' /** Pakistan */ - | "PK" + | 'PK' /** Poland */ - | "PL" + | 'PL' /** Saint Pierre and Miquelon */ - | "PM" + | 'PM' /** Pitcairn */ - | "PN" + | 'PN' /** Puerto Rico */ - | "PR" + | 'PR' /** Palestine, State of */ - | "PS" + | 'PS' /** Portugal */ - | "PT" + | 'PT' /** Palau */ - | "PW" + | 'PW' /** Paraguay */ - | "PY" + | 'PY' /** Qatar */ - | "QA" + | 'QA' /** Réunion */ - | "RE" + | 'RE' /** Romania */ - | "RO" + | 'RO' /** Serbia */ - | "RS" + | 'RS' /** Russia */ - | "RU" + | 'RU' /** Rwanda */ - | "RW" + | 'RW' /** Saudi Arabia */ - | "SA" + | 'SA' /** Solomon Islands */ - | "SB" + | 'SB' /** Seychelles */ - | "SC" + | 'SC' /** Sudan */ - | "SD" + | 'SD' /** Sweden */ - | "SE" + | 'SE' /** Singapore */ - | "SG" + | 'SG' /** Saint Helena, Ascension and Tristan da Cunha */ - | "SH" + | 'SH' /** Slovenia */ - | "SI" + | 'SI' /** Svalbard and Jan Mayen */ - | "SJ" + | 'SJ' /** Slovakia */ - | "SK" + | 'SK' /** Sierra Leone */ - | "SL" + | 'SL' /** San Marino */ - | "SM" + | 'SM' /** Senegal */ - | "SN" + | 'SN' /** Somalia */ - | "SO" + | 'SO' /** Suriname */ - | "SR" + | 'SR' /** South Sudan */ - | "SS" + | 'SS' /** Sao Tome and Principe */ - | "ST" + | 'ST' /** El Salvador */ - | "SV" + | 'SV' /** Sint Maarten (Dutch part) */ - | "SX" + | 'SX' /** Syria */ - | "SY" + | 'SY' /** Eswatini */ - | "SZ" + | 'SZ' /** Turks and Caicos Islands */ - | "TC" + | 'TC' /** Chad */ - | "TD" + | 'TD' /** French Southern Territories */ - | "TF" + | 'TF' /** Togo */ - | "TG" + | 'TG' /** Thailand */ - | "TH" + | 'TH' /** Tajikistan */ - | "TJ" + | 'TJ' /** Tokelau */ - | "TK" + | 'TK' /** Timor-Leste */ - | "TL" + | 'TL' /** Turkmenistan */ - | "TM" + | 'TM' /** Tunisia */ - | "TN" + | 'TN' /** Tonga */ - | "TO" + | 'TO' /** Türkiye */ - | "TR" + | 'TR' /** Trinidad and Tobago */ - | "TT" + | 'TT' /** Tuvalu */ - | "TV" + | 'TV' /** Taiwan */ - | "TW" + | 'TW' /** Tanzania */ - | "TZ" + | 'TZ' /** Ukraine */ - | "UA" + | 'UA' /** Uganda */ - | "UG" + | 'UG' /** United States Minor Outlying Islands */ - | "UM" + | 'UM' /** United States of America */ - | "US" + | 'US' /** Uruguay */ - | "UY" + | 'UY' /** Uzbekistan */ - | "UZ" + | 'UZ' /** Holy See */ - | "VA" + | 'VA' /** Saint Vincent and the Grenadines */ - | "VC" + | 'VC' /** Venezuela */ - | "VE" + | 'VE' /** Virgin Islands (British) */ - | "VG" + | 'VG' /** Virgin Islands (U.S.) */ - | "VI" + | 'VI' /** Vietnam */ - | "VN" + | 'VN' /** Vanuatu */ - | "VU" + | 'VU' /** Wallis and Futuna */ - | "WF" + | 'WF' /** Samoa */ - | "WS" + | 'WS' /** Kosovo */ - | "XK" + | 'XK' /** Yemen */ - | "YE" + | 'YE' /** Mayotte */ - | "YT" + | 'YT' /** South Africa */ - | "ZA" + | 'ZA' /** Zambia */ - | "ZM" + | 'ZM' /** Zimbabwe */ - | "ZW"; + | 'ZW'; /** Filter by country code. */ export type CountryCodeEnumFilterInput = { @@ -6433,9 +6565,9 @@ export type CountryCodeEnumFilterInput = { export type CountryDisplay = { /** Country code. */ - code: Scalars["String"]["output"]; + code: Scalars['String']['output']; /** Country name. */ - country: Scalars["String"]["output"]; + country: Scalars['String']['output']; /** * Country tax. * @deprecated Always returns `null`. Use `TaxClassCountryRate` type to manage tax rates per country. @@ -6445,21 +6577,21 @@ export type CountryDisplay = { export type CountryFilterInput = { /** Boolean for filtering countries by having shipping zone assigned.If 'true', return countries with shipping zone assigned.If 'false', return countries without any shipping zone assigned.If the argument is not provided (null), return all countries. */ - attachedToShippingZones?: InputMaybe; + attachedToShippingZones?: InputMaybe; }; export type CountryRateInput = { /** Country in which this rate applies. */ countryCode: CountryCode; /** Tax rate value provided as percentage. Example: provide `23` to represent `23%` tax rate. */ - rate: Scalars["Float"]["input"]; + rate: Scalars['Float']['input']; }; export type CountryRateUpdateInput = { /** Country in which this rate applies. */ countryCode: CountryCode; /** Tax rate value provided as percentage. Example: provide `23` to represent `23%` tax rate. Provide `null` to remove the particular rate. */ - rate?: InputMaybe; + rate?: InputMaybe; }; /** Create JWT token. */ @@ -6467,27 +6599,27 @@ export type CreateToken = { /** @deprecated Use `errors` field instead. */ accountErrors: Array; /** CSRF token required to re-generate access token. */ - csrfToken: Maybe; + csrfToken: Maybe; errors: Array; /** JWT refresh token, required to re-generate access token. */ - refreshToken: Maybe; + refreshToken: Maybe; /** JWT token, required to authenticate. */ - token: Maybe; + token: Maybe; /** A user instance. */ user: Maybe; }; export type CreditCard = { /** Card brand. */ - brand: Scalars["String"]["output"]; + brand: Scalars['String']['output']; /** Two-digit number representing the card’s expiration month. */ - expMonth: Maybe; + expMonth: Maybe; /** Four-digit number representing the card’s expiration year. */ - expYear: Maybe; + expYear: Maybe; /** First 4 digits of the card number. */ - firstDigits: Maybe; + firstDigits: Maybe; /** Last 4 digits of the card number. */ - lastDigits: Scalars["String"]["output"]; + lastDigits: Scalars['String']['output']; }; /** @@ -6502,7 +6634,7 @@ export type CustomerBulkDelete = { /** @deprecated Use `errors` field instead. */ accountErrors: Array; /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -6524,7 +6656,7 @@ export type CustomerBulkResult = { */ export type CustomerBulkUpdate = { /** Returns how many objects were created. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the updated customers. */ results: Array; @@ -6534,26 +6666,26 @@ export type CustomerBulkUpdateError = { /** The error code. */ code: CustomerBulkUpdateErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; }; export type CustomerBulkUpdateErrorCode = - | "BLANK" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "MAX_LENGTH" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'BLANK' + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'MAX_LENGTH' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type CustomerBulkUpdateInput = { /** External ID of a customer to update. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** ID of a customer to update. */ - id?: InputMaybe; + id?: InputMaybe; /** Fields required to update a customer. */ input: CustomerInput; }; @@ -6579,7 +6711,7 @@ export type CustomerCreate = { /** Event sent when new customer user is created. */ export type CustomerCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -6587,7 +6719,7 @@ export type CustomerCreated = Event & { /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -6610,15 +6742,17 @@ export type CustomerEvent = Node & { /** App that performed the action. */ app: Maybe; /** Number of objects concerned by the event. */ - count: Maybe; + count: Maybe; /** Date when event happened at in ISO 8601 format. */ - date: Maybe; + date: Maybe; /** The ID of the customer event. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Content of the event. */ - message: Maybe; + message: Maybe; /** The concerned order. */ order: Maybe; + /** The concerned order line. */ + orderLine: Maybe; /** Customer event type. */ type: Maybe; /** User who performed the action. */ @@ -6626,30 +6760,30 @@ export type CustomerEvent = Node & { }; export type CustomerEventsEnum = - | "ACCOUNT_ACTIVATED" - | "ACCOUNT_CREATED" - | "ACCOUNT_DEACTIVATED" - | "CUSTOMER_DELETED" - | "DIGITAL_LINK_DOWNLOADED" - | "EMAIL_ASSIGNED" - | "EMAIL_CHANGED" - | "EMAIL_CHANGED_REQUEST" - | "NAME_ASSIGNED" - | "NOTE_ADDED" - | "NOTE_ADDED_TO_ORDER" - | "PASSWORD_CHANGED" - | "PASSWORD_RESET" - | "PASSWORD_RESET_LINK_SENT" - | "PLACED_ORDER"; + | 'ACCOUNT_ACTIVATED' + | 'ACCOUNT_CREATED' + | 'ACCOUNT_DEACTIVATED' + | 'CUSTOMER_DELETED' + | 'DIGITAL_LINK_DOWNLOADED' + | 'EMAIL_ASSIGNED' + | 'EMAIL_CHANGED' + | 'EMAIL_CHANGED_REQUEST' + | 'NAME_ASSIGNED' + | 'NOTE_ADDED' + | 'NOTE_ADDED_TO_ORDER' + | 'PASSWORD_CHANGED' + | 'PASSWORD_RESET' + | 'PASSWORD_RESET_LINK_SENT' + | 'PLACED_ORDER'; export type CustomerFilterInput = { dateJoined?: InputMaybe; /** Filter by ids. */ - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; numberOfOrders?: InputMaybe; placedOrders?: InputMaybe; - search?: InputMaybe; + search?: InputMaybe; updatedAt?: InputMaybe; }; @@ -6659,19 +6793,19 @@ export type CustomerInput = { /** Shipping address of the customer. */ defaultShippingAddress?: InputMaybe; /** The unique email address of the user. */ - email?: InputMaybe; + email?: InputMaybe; /** External ID of the customer. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Given name. */ - firstName?: InputMaybe; + firstName?: InputMaybe; /** User account is active. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** User account is confirmed. */ - isConfirmed?: InputMaybe; + isConfirmed?: InputMaybe; /** User language code. */ languageCode?: InputMaybe; /** Family name. */ - lastName?: InputMaybe; + lastName?: InputMaybe; /** * Fields required to update the user metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -6679,7 +6813,7 @@ export type CustomerInput = { */ metadata?: InputMaybe>; /** A note about the user. */ - note?: InputMaybe; + note?: InputMaybe; /** * Fields required to update the user private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -6691,7 +6825,7 @@ export type CustomerInput = { /** Event sent when customer user metadata is updated. */ export type CustomerMetadataUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -6699,7 +6833,7 @@ export type CustomerMetadataUpdated = Event & { /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type CustomerOrderWhereInput = { @@ -6722,18 +6856,18 @@ export type CustomerOrderWhereInput = { /** Filter order by created at date. */ createdAt?: InputMaybe; /** Filter by whether the order has any fulfillments. */ - hasFulfillments?: InputMaybe; + hasFulfillments?: InputMaybe; /** Filter by whether the order has any invoices. */ - hasInvoices?: InputMaybe; - ids?: InputMaybe>; + hasInvoices?: InputMaybe; + ids?: InputMaybe>; /** Filter by invoice data associated with the order. Each list item represents conditions that must be satisfied by a single object. The filter matches orders that have related objects meeting all specified groups of conditions. */ invoices?: InputMaybe>; /** Filter by whether the order uses the click and collect delivery method. */ - isClickAndCollect?: InputMaybe; + isClickAndCollect?: InputMaybe; /** Filter based on whether the order includes a gift card purchase. */ - isGiftCardBought?: InputMaybe; + isGiftCardBought?: InputMaybe; /** Filter based on whether a gift card was used in the order. */ - isGiftCardUsed?: InputMaybe; + isGiftCardUsed?: InputMaybe; /** Filter by number of lines in the order. */ linesCount?: InputMaybe; /** Filter by metadata fields. */ @@ -6777,7 +6911,7 @@ export type CustomerUpdate = { /** Event sent when customer user is updated. */ export type CustomerUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -6785,7 +6919,7 @@ export type CustomerUpdated = Event & { /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type CustomerWhereInput = { @@ -6801,9 +6935,9 @@ export type CustomerWhereInput = { email?: InputMaybe; /** Filter by first name. */ firstName?: InputMaybe; - ids?: InputMaybe>; + ids?: InputMaybe>; /** Filter by whether the user is active. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** Filter by last name. */ lastName?: InputMaybe; /** Filter by metadata fields. */ @@ -6818,26 +6952,26 @@ export type CustomerWhereInput = { export type DateRangeInput = { /** Start date. */ - gte?: InputMaybe; + gte?: InputMaybe; /** End date. */ - lte?: InputMaybe; + lte?: InputMaybe; }; /** Define the filtering options for date time fields. */ export type DateTimeFilterInput = { /** The value equal to. */ - eq?: InputMaybe; + eq?: InputMaybe; /** The value included in. */ - oneOf?: InputMaybe>; + oneOf?: InputMaybe>; /** The value in range. */ range?: InputMaybe; }; export type DateTimeRangeInput = { /** Start date. */ - gte?: InputMaybe; + gte?: InputMaybe; /** End date. */ - lte?: InputMaybe; + lte?: InputMaybe; }; /** @@ -6854,113 +6988,276 @@ export type DeactivateAllUserTokens = { /** Define the filtering options for decimal fields. */ export type DecimalFilterInput = { /** The value equal to. */ - eq?: InputMaybe; + eq?: InputMaybe; /** The value included in. */ - oneOf?: InputMaybe>; + oneOf?: InputMaybe>; /** The value in range. */ range?: InputMaybe; }; export type DecimalRangeInput = { /** Decimal value greater than or equal to. */ - gte?: InputMaybe; + gte?: InputMaybe; /** Decimal value less than or equal to. */ - lte?: InputMaybe; + lte?: InputMaybe; +}; + +/** Delete metadata of an object. To use it, you need to have access to the modified object. */ +export type DeleteMetadata = { + errors: Array; + item: Maybe; + /** @deprecated Use `errors` field instead. */ + metadataErrors: Array; +}; + +/** Delete object's private metadata. To use it, you need to be an authenticated staff user or an app and have access to the modified object. */ +export type DeletePrivateMetadata = { + errors: Array; + item: Maybe; + /** @deprecated Use `errors` field instead. */ + metadataErrors: Array; +}; + +/** Represents a delivery method chosen for the checkout. `Warehouse` type is used when checkout is marked as "click and collect" and `ShippingMethod` otherwise. */ +export type DeliveryMethod = ShippingMethod | Warehouse; + +/** Represents digital content associated with a product variant. */ +export type DigitalContent = Node & ObjectWithMetadata & { + /** Indicator for automatic fulfillment of digital content. */ + automaticFulfillment: Scalars['Boolean']['output']; + /** File associated with digital content. */ + contentFile: Scalars['String']['output']; + /** The ID of the digital content. */ + id: Scalars['ID']['output']; + /** Maximum number of allowed downloads for the digital content. */ + maxDownloads: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Product variant assigned to digital content. */ + productVariant: ProductVariant; + /** Number of days the URL for the digital content remains valid. */ + urlValidDays: Maybe; + /** List of URLs for the digital variant. */ + urls: Maybe>; + /** Default settings indicator for digital content. */ + useDefaultSettings: Scalars['Boolean']['output']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentMetafieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentMetafieldsArgs = { + keys?: InputMaybe>; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentPrivateMetafieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentPrivateMetafieldsArgs = { + keys?: InputMaybe>; +}; + +/** A connection to a list of digital content items. */ +export type DigitalContentCountableConnection = { + edges: Array; + /** Pagination data for this connection. */ + pageInfo: PageInfo; + /** A total count of items in the collection. */ + totalCount: Maybe; +}; + +export type DigitalContentCountableEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: DigitalContent; }; -/** Delete metadata of an object. To use it, you need to have access to the modified object. */ -export type DeleteMetadata = { - errors: Array; - item: Maybe; +/** + * Create new digital content. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ +export type DigitalContentCreate = { + content: Maybe; + errors: Array; /** @deprecated Use `errors` field instead. */ - metadataErrors: Array; + productErrors: Array; + variant: Maybe; }; -/** Delete object's private metadata. To use it, you need to be an authenticated staff user or an app and have access to the modified object. */ -export type DeletePrivateMetadata = { - errors: Array; - item: Maybe; +/** + * Remove digital content assigned to given variant. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ +export type DigitalContentDelete = { + errors: Array; /** @deprecated Use `errors` field instead. */ - metadataErrors: Array; + productErrors: Array; + variant: Maybe; +}; + +export type DigitalContentInput = { + /** Overwrite default automatic_fulfillment setting for variant. */ + automaticFulfillment?: InputMaybe; + /** Determines how many times a download link can be accessed by a customer. */ + maxDownloads?: InputMaybe; + /** + * Fields required to update the digital content metadata. Can be read by any API client authorized to read the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + metadata?: InputMaybe>; + /** + * Fields required to update the digital content private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + privateMetadata?: InputMaybe>; + /** Determines for how many days a download link is active since it was generated. */ + urlValidDays?: InputMaybe; + /** Use default digital content settings for this product. */ + useDefaultSettings: Scalars['Boolean']['input']; }; /** - * Represents a delivery option for the checkout. + * Updates digital content. * - * Added in Saleor 3.23. + * Requires one of the following permissions: MANAGE_PRODUCTS. */ -export type Delivery = { - /** The ID of the delivery. */ - id: Scalars["ID"]["output"]; - /** Shipping method represented by the delivery. */ - shippingMethod: Maybe; +export type DigitalContentUpdate = { + content: Maybe; + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; + variant: Maybe; }; -/** Represents a delivery method chosen for the checkout. `Warehouse` type is used when checkout is marked as "click and collect" and `ShippingMethod` otherwise. */ -export type DeliveryMethod = ShippingMethod | Warehouse; +export type DigitalContentUploadInput = { + /** Overwrite default automatic_fulfillment setting for variant. */ + automaticFulfillment?: InputMaybe; + /** Represents an file in a multipart request. */ + contentFile: Scalars['Upload']['input']; + /** Determines how many times a download link can be accessed by a customer. */ + maxDownloads?: InputMaybe; + /** + * Fields required to update the digital content metadata. Can be read by any API client authorized to read the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + metadata?: InputMaybe>; + /** + * Fields required to update the digital content private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + privateMetadata?: InputMaybe>; + /** Determines for how many days a download link is active since it was generated. */ + urlValidDays?: InputMaybe; + /** Use default digital content settings for this product. */ + useDefaultSettings: Scalars['Boolean']['input']; +}; + +/** Represents a URL for digital content. */ +export type DigitalContentUrl = Node & { + /** Digital content associated with the URL. */ + content: DigitalContent; + /** Date and time when the digital content URL was created. */ + created: Scalars['DateTime']['output']; + /** Number of times digital content has been downloaded. */ + downloadNum: Scalars['Int']['output']; + /** The ID of the digital content URL. */ + id: Scalars['ID']['output']; + /** UUID of digital content. */ + token: Scalars['UUID']['output']; + /** URL for digital content. */ + url: Maybe; +}; /** - * Calculates available delivery options for a checkout. + * Generate new URL to digital content. * - * Added in Saleor 3.23. - * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered to fetch external shipping methods. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Triggered to filter shipping methods. + * Requires one of the following permissions: MANAGE_PRODUCTS. */ -export type DeliveryOptionsCalculate = { - /** List of the available deliveries. */ - deliveries: Array; - errors: Array; +export type DigitalContentUrlCreate = { + digitalContentUrl: Maybe; + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; }; -export type DeliveryOptionsCalculateError = { - /** The error code. */ - code: DeliveryOptionsCalculateErrorCode; - /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; - /** The error message. */ - message: Maybe; +export type DigitalContentUrlCreateInput = { + /** Digital content ID which URL will belong to. */ + content: Scalars['ID']['input']; }; -export type DeliveryOptionsCalculateErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; - export type DiscountError = { /** List of channels IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: DiscountErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of products IDs which causes the error. */ - products: Maybe>; + products: Maybe>; /** * List of voucher codes which causes the error. * * Added in Saleor 3.18. */ - voucherCodes: Maybe>; + voucherCodes: Maybe>; }; export type DiscountErrorCode = - | "ALREADY_EXISTS" - | "CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE" - | "VOUCHER_ALREADY_USED"; - -export type DiscountStatusEnum = "ACTIVE" | "EXPIRED" | "SCHEDULED"; - -export type DiscountValueTypeEnum = "FIXED" | "PERCENTAGE"; + | 'ALREADY_EXISTS' + | 'CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT' + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE' + | 'VOUCHER_ALREADY_USED'; + +export type DiscountStatusEnum = + | 'ACTIVE' + | 'EXPIRED' + | 'SCHEDULED'; + +export type DiscountValueTypeEnum = + | 'FIXED' + | 'PERCENTAGE'; export type DiscountedObjectWhereInput = { /** List of conditions that must be met. */ @@ -6974,23 +7271,23 @@ export type DiscountedObjectWhereInput = { }; export type DistanceUnitsEnum = - | "CM" - | "DM" - | "FT" - | "INCH" - | "KM" - | "M" - | "MM" - | "YD"; + | 'CM' + | 'DM' + | 'FT' + | 'INCH' + | 'KM' + | 'M' + | 'MM' + | 'YD'; /** Represents API domain. */ export type Domain = { /** The host name of the domain. */ - host: Scalars["String"]["output"]; + host: Scalars['String']['output']; /** Inform if SSL is enabled. */ - sslEnabled: Scalars["Boolean"]["output"]; + sslEnabled: Scalars['Boolean']['output']; /** The absolute URL of the API. */ - url: Scalars["String"]["output"]; + url: Scalars['String']['output']; }; /** @@ -7000,7 +7297,7 @@ export type Domain = { */ export type DraftOrderBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ orderErrors: Array; @@ -7035,17 +7332,17 @@ export type DraftOrderCreateInput = { /** Billing address of the customer. */ billingAddress?: InputMaybe; /** ID of the channel associated with the order. */ - channelId?: InputMaybe; + channelId?: InputMaybe; /** A note from a customer. Visible by customers in the order summary. */ - customerNote?: InputMaybe; + customerNote?: InputMaybe; /** * Discount amount for the order. * * DEPRECATED: this field will be removed. Providing a value for the field has no effect. Use `orderDiscountAdd` mutation instead. */ - discount?: InputMaybe; + discount?: InputMaybe; /** External ID of this order. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** * Order language code. * @@ -7071,45 +7368,41 @@ export type DraftOrderCreateInput = { */ privateMetadata?: InputMaybe>; /** URL of a view where users should be redirected to see the order details. URL in RFC 1808 format. */ - redirectUrl?: InputMaybe; + redirectUrl?: InputMaybe; /** * Indicates whether the billing address should be saved to the user’s address book upon draft order completion. Can only be set when a billing address is provided. If not specified along with the address, the default behavior is to not save the address. * * Added in Saleor 3.21. */ - saveBillingAddress?: InputMaybe; + saveBillingAddress?: InputMaybe; /** * Indicates whether the shipping address should be saved to the user’s address book upon draft order completion.Can only be set when a shipping address is provided. If not specified along with the address, the default behavior is to not save the address. * * Added in Saleor 3.21. */ - saveShippingAddress?: InputMaybe; + saveShippingAddress?: InputMaybe; /** Shipping address of the customer. */ shippingAddress?: InputMaybe; /** ID of a selected shipping method. */ - shippingMethod?: InputMaybe; + shippingMethod?: InputMaybe; /** Customer associated with the draft order. */ - user?: InputMaybe; + user?: InputMaybe; /** Email address of the customer. */ - userEmail?: InputMaybe; - /** - * ID of the voucher associated with the order. - * - * DEPRECATED: this field will be removed. Use `voucherCode` instead. - */ - voucher?: InputMaybe; + userEmail?: InputMaybe; + /** ID of the voucher associated with the order. */ + voucher?: InputMaybe; /** * A code of the voucher associated with the order. * * Added in Saleor 3.18. */ - voucherCode?: InputMaybe; + voucherCode?: InputMaybe; }; /** Event sent when new draft order is created. */ export type DraftOrderCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -7117,7 +7410,7 @@ export type DraftOrderCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -7135,7 +7428,7 @@ export type DraftOrderDelete = { /** Event sent when draft order is deleted. */ export type DraftOrderDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -7143,24 +7436,24 @@ export type DraftOrderDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type DraftOrderInput = { /** Billing address of the customer. */ billingAddress?: InputMaybe; /** ID of the channel associated with the order. */ - channelId?: InputMaybe; + channelId?: InputMaybe; /** A note from a customer. Visible by customers in the order summary. */ - customerNote?: InputMaybe; + customerNote?: InputMaybe; /** * Discount amount for the order. * * DEPRECATED: this field will be removed. Providing a value for the field has no effect. Use `orderDiscountAdd` mutation instead. */ - discount?: InputMaybe; + discount?: InputMaybe; /** External ID of this order. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** * Order language code. * @@ -7184,39 +7477,35 @@ export type DraftOrderInput = { */ privateMetadata?: InputMaybe>; /** URL of a view where users should be redirected to see the order details. URL in RFC 1808 format. */ - redirectUrl?: InputMaybe; + redirectUrl?: InputMaybe; /** * Indicates whether the billing address should be saved to the user’s address book upon draft order completion. Can only be set when a billing address is provided. If not specified along with the address, the default behavior is to not save the address. * * Added in Saleor 3.21. */ - saveBillingAddress?: InputMaybe; + saveBillingAddress?: InputMaybe; /** * Indicates whether the shipping address should be saved to the user’s address book upon draft order completion.Can only be set when a shipping address is provided. If not specified along with the address, the default behavior is to not save the address. * * Added in Saleor 3.21. */ - saveShippingAddress?: InputMaybe; + saveShippingAddress?: InputMaybe; /** Shipping address of the customer. */ shippingAddress?: InputMaybe; /** ID of a selected shipping method. */ - shippingMethod?: InputMaybe; + shippingMethod?: InputMaybe; /** Customer associated with the draft order. */ - user?: InputMaybe; + user?: InputMaybe; /** Email address of the customer. */ - userEmail?: InputMaybe; - /** - * ID of the voucher associated with the order. - * - * DEPRECATED: this field will be removed. Use `voucherCode` instead. - */ - voucher?: InputMaybe; + userEmail?: InputMaybe; + /** ID of the voucher associated with the order. */ + voucher?: InputMaybe; /** * A code of the voucher associated with the order. * * Added in Saleor 3.18. */ - voucherCode?: InputMaybe; + voucherCode?: InputMaybe; }; /** @@ -7226,7 +7515,7 @@ export type DraftOrderInput = { */ export type DraftOrderLinesBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ orderErrors: Array; @@ -7247,7 +7536,7 @@ export type DraftOrderUpdate = { /** Event sent when draft order is updated. */ export type DraftOrderUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -7255,7 +7544,7 @@ export type DraftOrderUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type DraftOrderWhereInput = { @@ -7275,9 +7564,9 @@ export type DraftOrderWhereInput = { createdAt?: InputMaybe; /** Filter by order events. Each list item represents conditions that must be satisfied by a single object. The filter matches orders that have related objects meeting all specified groups of conditions. */ events?: InputMaybe>; - ids?: InputMaybe>; + ids?: InputMaybe>; /** Filter by whether the order uses the click and collect delivery method. */ - isClickAndCollect?: InputMaybe; + isClickAndCollect?: InputMaybe; /** Filter by line items associated with the order. Each list item represents conditions that must be satisfied by a single object. The filter matches orders that have related objects meeting all specified groups of conditions. */ lines?: InputMaybe>; /** Filter by number of lines in the order. */ @@ -7308,21 +7597,21 @@ export type DraftOrderWhereInput = { export type ErrorPolicyEnum = /** Save what is possible within a single row. If there are errors in an input data row, try to save it partially and skip the invalid part. */ - | "IGNORE_FAILED" + | 'IGNORE_FAILED' /** Reject all rows if there is at least one error in any of them. */ - | "REJECT_EVERYTHING" + | 'REJECT_EVERYTHING' /** Reject rows with errors. */ - | "REJECT_FAILED_ROWS"; + | 'REJECT_FAILED_ROWS'; export type Event = { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event delivery. */ @@ -7330,46 +7619,47 @@ export type EventDelivery = Node & { /** Event delivery attempts. */ attempts: Maybe; /** Creation time of an event delivery. */ - createdAt: Scalars["DateTime"]["output"]; + createdAt: Scalars['DateTime']['output']; /** Webhook event type. */ eventType: WebhookEventTypeEnum; /** The ID of an event delivery. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Event payload. */ - payload: Maybe; + payload: Maybe; /** Event delivery status. */ status: EventDeliveryStatusEnum; }; + /** Event delivery. */ export type EventDeliveryAttemptsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; /** Event delivery attempts. */ export type EventDeliveryAttempt = Node & { /** Event delivery creation date and time. */ - createdAt: Scalars["DateTime"]["output"]; + createdAt: Scalars['DateTime']['output']; /** Delivery attempt duration. */ - duration: Maybe; + duration: Maybe; /** The ID of Event Delivery Attempt. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Request headers for delivery attempt. */ - requestHeaders: Maybe; + requestHeaders: Maybe; /** Delivery attempt response content. */ - response: Maybe; + response: Maybe; /** Response headers for delivery attempt. */ - responseHeaders: Maybe; + responseHeaders: Maybe; /** Delivery attempt response status code. */ - responseStatusCode: Maybe; + responseStatusCode: Maybe; /** Event delivery status. */ status: EventDeliveryStatusEnum; /** Task id for delivery attempt. */ - taskId: Maybe; + taskId: Maybe; }; export type EventDeliveryAttemptCountableConnection = { @@ -7377,19 +7667,19 @@ export type EventDeliveryAttemptCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type EventDeliveryAttemptCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: EventDeliveryAttempt; }; export type EventDeliveryAttemptSortField = /** Sort event delivery attempts by created at. */ - "CREATED_AT"; + | 'CREATED_AT'; export type EventDeliveryAttemptSortingInput = { /** Specifies the direction in which to sort attempts. */ @@ -7403,12 +7693,12 @@ export type EventDeliveryCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type EventDeliveryCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: EventDelivery; }; @@ -7431,7 +7721,7 @@ export type EventDeliveryRetry = { export type EventDeliverySortField = /** Sort event deliveries by created at. */ - "CREATED_AT"; + | 'CREATED_AT'; export type EventDeliverySortingInput = { /** Specifies the direction in which to sort deliveries. */ @@ -7440,33 +7730,36 @@ export type EventDeliverySortingInput = { field: EventDeliverySortField; }; -export type EventDeliveryStatusEnum = "FAILED" | "PENDING" | "SUCCESS"; +export type EventDeliveryStatusEnum = + | 'FAILED' + | 'PENDING' + | 'SUCCESS'; export type ExportError = { /** The error code. */ code: ExportErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type ExportErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; /** History log of export file. */ export type ExportEvent = Node & { /** App which performed the action. Requires one of the following permissions: OWNER, MANAGE_APPS. */ app: Maybe; /** Date when event happened at in ISO 8601 format. */ - date: Scalars["DateTime"]["output"]; + date: Scalars['DateTime']['output']; /** The ID of the object. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Content of the event. */ - message: Scalars["String"]["output"]; + message: Scalars['String']['output']; /** Export event type. */ type: ExportEventsEnum; /** User who performed the action. Requires one of the following permissions: OWNER, MANAGE_STAFF. */ @@ -7474,64 +7767,63 @@ export type ExportEvent = Node & { }; export type ExportEventsEnum = - | "EXPORTED_FILE_SENT" - | "EXPORT_DELETED" - | "EXPORT_FAILED" - | "EXPORT_FAILED_INFO_SENT" - | "EXPORT_PENDING" - | "EXPORT_SUCCESS"; + | 'EXPORTED_FILE_SENT' + | 'EXPORT_DELETED' + | 'EXPORT_FAILED' + | 'EXPORT_FAILED_INFO_SENT' + | 'EXPORT_PENDING' + | 'EXPORT_SUCCESS'; /** Represents a job data of exported file. */ -export type ExportFile = Job & - Node & { - /** The app which requests file export. */ - app: Maybe; - /** Created date time of job in ISO 8601 format. */ - createdAt: Scalars["DateTime"]["output"]; - /** List of events associated with the export. */ - events: Maybe>; - /** The ID of the export file. */ - id: Scalars["ID"]["output"]; - /** Job message. */ - message: Maybe; - /** Job status. */ - status: JobStatusEnum; - /** Date time of job last update in ISO 8601 format. */ - updatedAt: Scalars["DateTime"]["output"]; - /** The URL of field to download. */ - url: Maybe; - /** The user who requests file export. */ - user: Maybe; - }; +export type ExportFile = Job & Node & { + /** The app which requests file export. */ + app: Maybe; + /** Created date time of job in ISO 8601 format. */ + createdAt: Scalars['DateTime']['output']; + /** List of events associated with the export. */ + events: Maybe>; + /** The ID of the export file. */ + id: Scalars['ID']['output']; + /** Job message. */ + message: Maybe; + /** Job status. */ + status: JobStatusEnum; + /** Date time of job last update in ISO 8601 format. */ + updatedAt: Scalars['DateTime']['output']; + /** The URL of field to download. */ + url: Maybe; + /** The user who requests file export. */ + user: Maybe; +}; export type ExportFileCountableConnection = { edges: Array; /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type ExportFileCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: ExportFile; }; export type ExportFileFilterInput = { - app?: InputMaybe; + app?: InputMaybe; createdAt?: InputMaybe; status?: InputMaybe; updatedAt?: InputMaybe; - user?: InputMaybe; + user?: InputMaybe; }; export type ExportFileSortField = - | "CREATED_AT" - | "LAST_MODIFIED_AT" - | "STATUS" - | "UPDATED_AT"; + | 'CREATED_AT' + | 'LAST_MODIFIED_AT' + | 'STATUS' + | 'UPDATED_AT'; export type ExportFileSortingInput = { /** Specifies the direction in which to sort export file. */ @@ -7561,20 +7853,20 @@ export type ExportGiftCardsInput = { /** Filtering options for gift cards. */ filter?: InputMaybe; /** List of gift cards IDs to export. */ - ids?: InputMaybe>; + ids?: InputMaybe>; /** Determine which gift cards should be exported. */ scope: ExportScope; }; export type ExportInfoInput = { /** List of attribute ids witch should be exported. */ - attributes?: InputMaybe>; + attributes?: InputMaybe>; /** List of channels ids which should be exported. */ - channels?: InputMaybe>; + channels?: InputMaybe>; /** List of product fields witch should be exported. */ fields?: InputMaybe>; /** List of warehouse ids witch should be exported. */ - warehouses?: InputMaybe>; + warehouses?: InputMaybe>; }; /** @@ -7602,24 +7894,26 @@ export type ExportProductsInput = { /** Filtering options for products. */ filter?: InputMaybe; /** List of products IDs to export. */ - ids?: InputMaybe>; + ids?: InputMaybe>; /** Determine which products should be exported. */ scope: ExportScope; }; export type ExportScope = /** Export all products. */ - | "ALL" + | 'ALL' /** Export the filtered products. */ - | "FILTER" + | 'FILTER' /** Export products with given ids. */ - | "IDS"; + | 'IDS'; /** * Export voucher codes to csv/xlsx file. * * Added in Saleor 3.18. * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + * * Requires one of the following permissions: MANAGE_DISCOUNTS. * * Triggers the following webhook events: @@ -7635,17 +7929,17 @@ export type ExportVoucherCodesInput = { /** Type of exported file. */ fileType: FileTypesEnum; /** List of voucher code IDs to export. */ - ids?: InputMaybe>; + ids?: InputMaybe>; /** The ID of the voucher. If provided, exports all codes belonging to the voucher. */ - voucherId?: InputMaybe; + voucherId?: InputMaybe; }; /** External authentication plugin. */ export type ExternalAuthentication = { /** ID of external authentication plugin. */ - id: Scalars["String"]["output"]; + id: Scalars['String']['output']; /** Name of external authentication plugin. */ - name: Maybe; + name: Maybe; }; /** Prepare external authentication URL for user by custom plugin. */ @@ -7653,7 +7947,7 @@ export type ExternalAuthenticationUrl = { /** @deprecated Use `errors` field instead. */ accountErrors: Array; /** The data returned by authentication plugin. */ - authenticationData: Maybe; + authenticationData: Maybe; errors: Array; }; @@ -7663,23 +7957,23 @@ export type ExternalLogout = { accountErrors: Array; errors: Array; /** The data returned by authentication plugin. */ - logoutData: Maybe; + logoutData: Maybe; }; export type ExternalNotificationError = { /** The error code. */ code: ExternalNotificationErrorCodes; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type ExternalNotificationErrorCodes = - | "CHANNEL_INACTIVE" - | "INVALID_MODEL_TYPE" - | "NOT_FOUND" - | "REQUIRED"; + | 'CHANNEL_INACTIVE' + | 'INVALID_MODEL_TYPE' + | 'NOT_FOUND' + | 'REQUIRED'; /** Trigger sending a notification with the notify plugin method. Serializes nodes provided as ids parameter and includes this data in the notification payload. */ export type ExternalNotificationTrigger = { @@ -7688,11 +7982,11 @@ export type ExternalNotificationTrigger = { export type ExternalNotificationTriggerInput = { /** External event type. This field is passed to a plugin as an event type. */ - externalEventType: Scalars["String"]["input"]; + externalEventType: Scalars['String']['input']; /** Additional payload that will be merged with the one based on the business object ID. */ - extraPayload?: InputMaybe; + extraPayload?: InputMaybe; /** The list of customers or orders node IDs that will be serialized and included in the notification payload. */ - ids: Array; + ids: Array; }; /** Obtain external access tokens for user by custom plugin. */ @@ -7700,12 +7994,12 @@ export type ExternalObtainAccessTokens = { /** @deprecated Use `errors` field instead. */ accountErrors: Array; /** CSRF token required to re-generate external access token. */ - csrfToken: Maybe; + csrfToken: Maybe; errors: Array; /** The refresh token, required to re-generate external access token. */ - refreshToken: Maybe; + refreshToken: Maybe; /** The token, required to authenticate. */ - token: Maybe; + token: Maybe; /** A user instance. */ user: Maybe; }; @@ -7715,12 +8009,12 @@ export type ExternalRefresh = { /** @deprecated Use `errors` field instead. */ accountErrors: Array; /** CSRF token required to re-generate external access token. */ - csrfToken: Maybe; + csrfToken: Maybe; errors: Array; /** The refresh token, required to re-generate external access token. */ - refreshToken: Maybe; + refreshToken: Maybe; /** The token, required to authenticate. */ - token: Maybe; + token: Maybe; /** A user instance. */ user: Maybe; }; @@ -7731,21 +8025,23 @@ export type ExternalVerify = { accountErrors: Array; errors: Array; /** Determine if authentication data is valid or not. */ - isValid: Scalars["Boolean"]["output"]; + isValid: Scalars['Boolean']['output']; /** User assigned to data. */ user: Maybe; /** External data. */ - verifyData: Maybe; + verifyData: Maybe; }; export type File = { /** Content type of the file. */ - contentType: Maybe; + contentType: Maybe; /** The URL of the file. */ - url: Scalars["String"]["output"]; + url: Scalars['String']['output']; }; -export type FileTypesEnum = "CSV" | "XLSX"; +export type FileTypesEnum = + | 'CSV' + | 'XLSX'; /** * Upload a file. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec @@ -7760,68 +8056,71 @@ export type FileUpload = { }; /** Represents order fulfillment. */ -export type Fulfillment = Node & - ObjectWithMetadata & { - /** Date and time when fulfillment was created. */ - created: Scalars["DateTime"]["output"]; - /** Sequence in which the fulfillments were created for an order. */ - fulfillmentOrder: Scalars["Int"]["output"]; - /** ID of the fulfillment. */ - id: Scalars["ID"]["output"]; - /** List of lines for the fulfillment. */ - lines: Maybe>; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Amount of refunded shipping price. */ - shippingRefundedAmount: Maybe; - /** Status of fulfillment. */ - status: FulfillmentStatus; - /** User-friendly fulfillment status. */ - statusDisplay: Maybe; - /** Total refunded amount assigned to this fulfillment. */ - totalRefundedAmount: Maybe; - /** Fulfillment tracking number. */ - trackingNumber: Scalars["String"]["output"]; - /** Warehouse from fulfillment was fulfilled. */ - warehouse: Maybe; - }; +export type Fulfillment = Node & ObjectWithMetadata & { + /** Date and time when fulfillment was created. */ + created: Scalars['DateTime']['output']; + /** Sequence in which the fulfillments were created for an order. */ + fulfillmentOrder: Scalars['Int']['output']; + /** ID of the fulfillment. */ + id: Scalars['ID']['output']; + /** List of lines for the fulfillment. */ + lines: Maybe>; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Amount of refunded shipping price. */ + shippingRefundedAmount: Maybe; + /** Status of fulfillment. */ + status: FulfillmentStatus; + /** User-friendly fulfillment status. */ + statusDisplay: Maybe; + /** Total refunded amount assigned to this fulfillment. */ + totalRefundedAmount: Maybe; + /** Fulfillment tracking number. */ + trackingNumber: Scalars['String']['output']; + /** Warehouse from fulfillment was fulfilled. */ + warehouse: Maybe; +}; + /** Represents order fulfillment. */ export type FulfillmentMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents order fulfillment. */ export type FulfillmentMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents order fulfillment. */ export type FulfillmentPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents order fulfillment. */ export type FulfillmentPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** @@ -7847,17 +8146,17 @@ export type FulfillmentApproved = Event & { /** The fulfillment the event relates to. */ fulfillment: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** If true, send a notification to the customer. */ - notifyCustomer: Scalars["Boolean"]["output"]; + notifyCustomer: Scalars['Boolean']['output']; /** The order the fulfillment belongs to. */ order: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -7877,7 +8176,7 @@ export type FulfillmentCancel = { export type FulfillmentCancelInput = { /** ID of a warehouse where items will be restocked. Optional when fulfillment is in WAITING_FOR_APPROVAL state. */ - warehouseId?: InputMaybe; + warehouseId?: InputMaybe; }; /** Event sent when fulfillment is canceled. */ @@ -7885,7 +8184,7 @@ export type FulfillmentCanceled = Event & { /** The fulfillment the event relates to. */ fulfillment: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the fulfillment belongs to. */ @@ -7893,7 +8192,7 @@ export type FulfillmentCanceled = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when new fulfillment is created. */ @@ -7901,17 +8200,17 @@ export type FulfillmentCreated = Event & { /** The fulfillment the event relates to. */ fulfillment: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** If true, the app should send a notification to the customer. */ - notifyCustomer: Scalars["Boolean"]["output"]; + notifyCustomer: Scalars['Boolean']['output']; /** The order the fulfillment belongs to. */ order: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Filter input for order fulfillments data. */ @@ -7927,11 +8226,11 @@ export type FulfillmentFilterInput = { /** Represents line of the fulfillment. */ export type FulfillmentLine = Node & { /** ID of the fulfillment line. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** The order line to which the fulfillment line is related. */ orderLine: Maybe; /** The number of items included in the fulfillment line. */ - quantity: Scalars["Int"]["output"]; + quantity: Scalars['Int']['output']; }; /** Event sent when fulfillment metadata is updated. */ @@ -7939,7 +8238,7 @@ export type FulfillmentMetadataUpdated = Event & { /** The fulfillment the event relates to. */ fulfillment: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the fulfillment belongs to. */ @@ -7947,7 +8246,7 @@ export type FulfillmentMetadataUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -7985,13 +8284,13 @@ export type FulfillmentReturnProducts = { }; export type FulfillmentStatus = - | "CANCELED" - | "FULFILLED" - | "REFUNDED" - | "REFUNDED_AND_RETURNED" - | "REPLACED" - | "RETURNED" - | "WAITING_FOR_APPROVAL"; + | 'CANCELED' + | 'FULFILLED' + | 'REFUNDED' + | 'REFUNDED_AND_RETURNED' + | 'REPLACED' + | 'RETURNED' + | 'WAITING_FOR_APPROVAL'; /** Filter by fulfillment status. */ export type FulfillmentStatusEnumFilterInput = { @@ -8006,7 +8305,7 @@ export type FulfillmentTrackingNumberUpdated = Event & { /** The fulfillment the event relates to. */ fulfillment: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the fulfillment belongs to. */ @@ -8014,7 +8313,7 @@ export type FulfillmentTrackingNumberUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -8037,9 +8336,9 @@ export type FulfillmentUpdateTracking = { export type FulfillmentUpdateTrackingInput = { /** If true, send an email notification to the customer. */ - notifyCustomer?: InputMaybe; + notifyCustomer?: InputMaybe; /** Fulfillment tracking number. */ - trackingNumber?: InputMaybe; + trackingNumber?: InputMaybe; }; /** Filter input for fulfillment warehouses. */ @@ -8055,135 +8354,139 @@ export type FulfillmentWarehouseFilterInput = { /** Payment gateway client configuration key and value pair. */ export type GatewayConfigLine = { /** Gateway config key. */ - field: Scalars["String"]["output"]; + field: Scalars['String']['output']; /** Gateway config value for key. */ - value: Maybe; + value: Maybe; }; /** A gift card is a prepaid electronic payment card accepted in stores. They can be used during checkout by providing a valid gift card codes. */ -export type GiftCard = Node & - ObjectWithMetadata & { - /** - * App which created the gift card. - * - * Requires one of the following permissions: MANAGE_APPS, OWNER. - */ - app: Maybe; - /** Slug of the channel where the gift card was bought. */ - boughtInChannel: Maybe; - /** - * Gift card code. It can be fetched both by a staff member with 'MANAGE_GIFT_CARD' when gift card hasn't been used yet or a user who bought or issued the gift card. - * - * Requires one of the following permissions: MANAGE_GIFT_CARD, OWNER. - */ - code: Scalars["String"]["output"]; - /** Date and time when gift card was created. */ - created: Scalars["DateTime"]["output"]; - /** The user who bought or issued a gift card. */ - createdBy: Maybe; - /** - * Email address of the user who bought or issued gift card. - * - * Requires one of the following permissions: MANAGE_USERS, OWNER. - */ - createdByEmail: Maybe; - currentBalance: Money; - /** Code in format which allows displaying in a user interface. */ - displayCode: Scalars["String"]["output"]; - /** - * End date of gift card. - * @deprecated Use `expiryDate` field instead. - */ - endDate: Maybe; - /** - * List of events associated with the gift card. Requires MANAGE_GIFT_CARD permission to access all events. Users with MANAGE_ORDERS permission can access only USED_IN_ORDER and REFUNDED_IN_ORDER events. - * - * Requires one of the following permissions: MANAGE_GIFT_CARD, MANAGE_ORDERS. - */ - events: Array; - /** Expiry date of the gift card. */ - expiryDate: Maybe; - /** ID of the gift card. */ - id: Scalars["ID"]["output"]; - initialBalance: Money; - isActive: Scalars["Boolean"]["output"]; - /** Last 4 characters of gift card code. */ - last4CodeChars: Scalars["String"]["output"]; - /** Date and time when gift card was last used. */ - lastUsedOn: Maybe; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Related gift card product. */ - product: Maybe; - /** - * Start date of gift card. - * @deprecated No longer supported - */ - startDate: Maybe; - /** - * The gift card tag. - * - * Requires one of the following permissions: MANAGE_GIFT_CARD. - */ - tags: Array; - /** - * The customer who used a gift card. - * @deprecated No longer supported - */ - usedBy: Maybe; - /** - * Email address of the customer who used a gift card. - * @deprecated No longer supported - */ - usedByEmail: Maybe; - /** - * The customer who bought a gift card. - * @deprecated Use `createdBy` field instead. - */ - user: Maybe; - }; +export type GiftCard = Node & ObjectWithMetadata & { + /** + * App which created the gift card. + * + * Requires one of the following permissions: MANAGE_APPS, OWNER. + */ + app: Maybe; + /** Slug of the channel where the gift card was bought. */ + boughtInChannel: Maybe; + /** + * Gift card code. It can be fetched both by a staff member with 'MANAGE_GIFT_CARD' when gift card hasn't been used yet or a user who bought or issued the gift card. + * + * Requires one of the following permissions: MANAGE_GIFT_CARD, OWNER. + */ + code: Scalars['String']['output']; + /** Date and time when gift card was created. */ + created: Scalars['DateTime']['output']; + /** The user who bought or issued a gift card. */ + createdBy: Maybe; + /** + * Email address of the user who bought or issued gift card. + * + * Requires one of the following permissions: MANAGE_USERS, OWNER. + */ + createdByEmail: Maybe; + currentBalance: Money; + /** Code in format which allows displaying in a user interface. */ + displayCode: Scalars['String']['output']; + /** + * End date of gift card. + * @deprecated Use `expiryDate` field instead. + */ + endDate: Maybe; + /** + * List of events associated with the gift card. Requires MANAGE_GIFT_CARD permission to access all events. Users with MANAGE_ORDERS permission can access only USED_IN_ORDER events. + * + * Requires one of the following permissions: MANAGE_GIFT_CARD, MANAGE_ORDERS. + */ + events: Array; + /** Expiry date of the gift card. */ + expiryDate: Maybe; + /** ID of the gift card. */ + id: Scalars['ID']['output']; + initialBalance: Money; + isActive: Scalars['Boolean']['output']; + /** Last 4 characters of gift card code. */ + last4CodeChars: Scalars['String']['output']; + /** Date and time when gift card was last used. */ + lastUsedOn: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Related gift card product. */ + product: Maybe; + /** + * Start date of gift card. + * @deprecated No longer supported + */ + startDate: Maybe; + /** + * The gift card tag. + * + * Requires one of the following permissions: MANAGE_GIFT_CARD. + */ + tags: Array; + /** + * The customer who used a gift card. + * @deprecated No longer supported + */ + usedBy: Maybe; + /** + * Email address of the customer who used a gift card. + * @deprecated No longer supported + */ + usedByEmail: Maybe; + /** + * The customer who bought a gift card. + * @deprecated Use `createdBy` field instead. + */ + user: Maybe; +}; + /** A gift card is a prepaid electronic payment card accepted in stores. They can be used during checkout by providing a valid gift card codes. */ export type GiftCardEventsArgs = { filter?: InputMaybe; }; + /** A gift card is a prepaid electronic payment card accepted in stores. They can be used during checkout by providing a valid gift card codes. */ export type GiftCardMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** A gift card is a prepaid electronic payment card accepted in stores. They can be used during checkout by providing a valid gift card codes. */ export type GiftCardMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** A gift card is a prepaid electronic payment card accepted in stores. They can be used during checkout by providing a valid gift card codes. */ export type GiftCardPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** A gift card is a prepaid electronic payment card accepted in stores. They can be used during checkout by providing a valid gift card codes. */ export type GiftCardPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** @@ -8220,7 +8523,7 @@ export type GiftCardAddNote = { export type GiftCardAddNoteInput = { /** Note message. */ - message: Scalars["String"]["input"]; + message: Scalars['String']['input']; }; /** @@ -8233,7 +8536,7 @@ export type GiftCardAddNoteInput = { */ export type GiftCardBulkActivate = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -8248,7 +8551,7 @@ export type GiftCardBulkActivate = { */ export type GiftCardBulkCreate = { /** Returns how many objects were created. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of created gift cards. */ giftCards: Array; @@ -8258,13 +8561,13 @@ export type GiftCardBulkCreateInput = { /** Balance of the gift card. */ balance: PriceInput; /** The number of cards to issue. */ - count: Scalars["Int"]["input"]; + count: Scalars['Int']['input']; /** The gift card expiry date. */ - expiryDate?: InputMaybe; + expiryDate?: InputMaybe; /** Determine if gift card is active. */ - isActive: Scalars["Boolean"]["input"]; + isActive: Scalars['Boolean']['input']; /** The gift card tags. */ - tags?: InputMaybe>; + tags?: InputMaybe>; }; /** @@ -8277,7 +8580,7 @@ export type GiftCardBulkCreateInput = { */ export type GiftCardBulkDeactivate = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -8291,7 +8594,7 @@ export type GiftCardBulkDeactivate = { */ export type GiftCardBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -8300,12 +8603,12 @@ export type GiftCardCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type GiftCardCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: GiftCard; }; @@ -8328,27 +8631,27 @@ export type GiftCardCreate = { export type GiftCardCreateInput = { /** The gift card tags to add. */ - addTags?: InputMaybe>; + addTags?: InputMaybe>; /** Balance of the gift card. */ balance: PriceInput; /** Slug of a channel from which the email should be sent. */ - channel?: InputMaybe; + channel?: InputMaybe; /** * Code to use the gift card. * * DEPRECATED: this field will be removed. The code is now auto generated. */ - code?: InputMaybe; + code?: InputMaybe; /** * End date of the gift card in ISO 8601 format. * * DEPRECATED: this field will be removed. Use `expiryDate` from `expirySettings` instead. */ - endDate?: InputMaybe; + endDate?: InputMaybe; /** The gift card expiry date. */ - expiryDate?: InputMaybe; + expiryDate?: InputMaybe; /** Determine if gift card is active. */ - isActive: Scalars["Boolean"]["input"]; + isActive: Scalars['Boolean']['input']; /** * Gift Card public metadata. * @@ -8358,7 +8661,7 @@ export type GiftCardCreateInput = { */ metadata?: InputMaybe>; /** The gift card note from the staff member. */ - note?: InputMaybe; + note?: InputMaybe; /** * Gift Card private metadata. * @@ -8372,9 +8675,9 @@ export type GiftCardCreateInput = { * * DEPRECATED: this field will be removed. */ - startDate?: InputMaybe; + startDate?: InputMaybe; /** Email of the customer to whom gift card will be sent. */ - userEmail?: InputMaybe; + userEmail?: InputMaybe; }; /** Event sent when new gift card is created. */ @@ -8382,13 +8685,13 @@ export type GiftCardCreated = Event & { /** The gift card the event relates to. */ giftCard: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -8427,35 +8730,35 @@ export type GiftCardDeleted = Event & { /** The gift card the event relates to. */ giftCard: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type GiftCardError = { /** The error code. */ code: GiftCardErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of tag values that cause the error. */ - tags: Maybe>; + tags: Maybe>; }; export type GiftCardErrorCode = - | "ALREADY_EXISTS" - | "DUPLICATED_INPUT_ITEM" - | "EXPIRED_GIFT_CARD" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'DUPLICATED_INPUT_ITEM' + | 'EXPIRED_GIFT_CARD' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; /** History log of the gift card. */ export type GiftCardEvent = Node & { @@ -8464,25 +8767,25 @@ export type GiftCardEvent = Node & { /** The gift card balance. */ balance: Maybe; /** Date when event happened at in ISO 8601 format. */ - date: Maybe; + date: Maybe; /** Email of the customer. */ - email: Maybe; + email: Maybe; /** The gift card expiry date. */ - expiryDate: Maybe; + expiryDate: Maybe; /** ID of the event associated with a gift card. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Content of the event. */ - message: Maybe; + message: Maybe; /** Previous gift card expiry date. */ - oldExpiryDate: Maybe; + oldExpiryDate: Maybe; /** The list of old gift card tags. */ - oldTags: Maybe>; + oldTags: Maybe>; /** The order ID where gift card was used or bought. */ - orderId: Maybe; + orderId: Maybe; /** User-friendly number of an order where gift card was used or bought. */ - orderNumber: Maybe; + orderNumber: Maybe; /** The list of gift card tags. */ - tags: Maybe>; + tags: Maybe>; /** Gift card event type. */ type: Maybe; /** User who performed the action. Requires one of the following permissions: MANAGE_USERS, MANAGE_STAFF, OWNER. */ @@ -8501,51 +8804,50 @@ export type GiftCardEventBalance = { }; export type GiftCardEventFilterInput = { - orders?: InputMaybe>; + orders?: InputMaybe>; type?: InputMaybe; }; export type GiftCardEventsEnum = - | "ACTIVATED" - | "BALANCE_RESET" - | "BOUGHT" - | "DEACTIVATED" - | "EXPIRY_DATE_UPDATED" - | "ISSUED" - | "NOTE_ADDED" - | "REFUNDED_IN_ORDER" - | "RESENT" - | "SENT_TO_CUSTOMER" - | "TAGS_UPDATED" - | "UPDATED" - | "USED_IN_ORDER"; + | 'ACTIVATED' + | 'BALANCE_RESET' + | 'BOUGHT' + | 'DEACTIVATED' + | 'EXPIRY_DATE_UPDATED' + | 'ISSUED' + | 'NOTE_ADDED' + | 'RESENT' + | 'SENT_TO_CUSTOMER' + | 'TAGS_UPDATED' + | 'UPDATED' + | 'USED_IN_ORDER'; /** Event sent when gift card export is completed. */ export type GiftCardExportCompleted = Event & { /** The export file for gift cards. */ export: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type GiftCardFilterInput = { - code?: InputMaybe; - createdByEmail?: InputMaybe; - currency?: InputMaybe; + code?: InputMaybe; + createdByEmail?: InputMaybe; + currency?: InputMaybe; currentBalance?: InputMaybe; initialBalance?: InputMaybe; - isActive?: InputMaybe; + isActive?: InputMaybe; metadata?: InputMaybe>; - products?: InputMaybe>; - tags?: InputMaybe>; - used?: InputMaybe; - usedBy?: InputMaybe>; + products?: InputMaybe>; + tags?: InputMaybe>; + used?: InputMaybe; + usedBy?: InputMaybe>; }; /** Event sent when gift card metadata is updated. */ @@ -8553,62 +8855,13 @@ export type GiftCardMetadataUpdated = Event & { /** The gift card the event relates to. */ giftCard: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; -}; - -/** - * Represents a gift card payment method used for a transaction. - * - * Added in Saleor 3.23. - */ -export type GiftCardPaymentMethodDetails = PaymentMethodDetails & { - /** - * Brand of the gift card. - * - * Added in Saleor 3.23. - */ - brand: Maybe; - /** - * Indicates whether the gift card is a built-in Saleor gift card. - * - * Added in Saleor 3.23. - */ - isSaleorGiftcard: Scalars["Boolean"]["output"]; - /** - * Last characters of the gift card code. Max 4 characters. - * - * Added in Saleor 3.23. - */ - lastChars: Maybe; - /** Name of the gift card. */ - name: Scalars["String"]["output"]; -}; - -export type GiftCardPaymentMethodDetailsInput = { - /** - * Brand of the gift card used for the transaction. Max length is 40 characters. - * - * Added in Saleor 3.23. - */ - brand?: InputMaybe; - /** - * Last characters of the gift card used for the transaction. Max length is 4 characters. - * - * Added in Saleor 3.23. - */ - lastChars?: InputMaybe; - /** - * Name of the payment method used for the transaction. Max length is 256 characters. - * - * Added in Saleor 3.23. - */ - name: Scalars["String"]["input"]; + version: Maybe; }; /** @@ -8627,29 +8880,29 @@ export type GiftCardResend = { export type GiftCardResendInput = { /** Slug of a channel from which the email should be sent. */ - channel: Scalars["String"]["input"]; + channel: Scalars['String']['input']; /** Email to which gift card should be send. */ - email?: InputMaybe; + email?: InputMaybe; /** ID of a gift card to resend. */ - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; /** Event sent when gift card is e-mailed. */ export type GiftCardSent = Event & { /** Slug of a channel for which this gift card email was sent. */ - channel: Maybe; + channel: Maybe; /** The gift card the event relates to. */ giftCard: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** E-mail address to which gift card was sent. */ - sentToEmail: Maybe; + sentToEmail: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Gift card related settings from site settings. */ @@ -8664,17 +8917,19 @@ export type GiftCardSettingsError = { /** The error code. */ code: GiftCardSettingsErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type GiftCardSettingsErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'REQUIRED'; -export type GiftCardSettingsExpiryTypeEnum = "EXPIRY_PERIOD" | "NEVER_EXPIRE"; +export type GiftCardSettingsExpiryTypeEnum = + | 'EXPIRY_PERIOD' + | 'NEVER_EXPIRE'; /** * Update gift card settings. @@ -8696,15 +8951,13 @@ export type GiftCardSettingsUpdateInput = { export type GiftCardSortField = /** Sort gift cards by created at. */ - | "CREATED_AT" + | 'CREATED_AT' /** Sort gift cards by current balance. */ - | "CURRENT_BALANCE" + | 'CURRENT_BALANCE' /** Sort gift cards by product. */ - | "PRODUCT" - /** Sort gift cards by rank. Note: This option is available only with the `search` filter. */ - | "RANK" + | 'PRODUCT' /** Sort gift cards by used by. */ - | "USED_BY"; + | 'USED_BY'; export type GiftCardSortingInput = { /** Specifies the direction in which to sort gift cards. */ @@ -8718,21 +8971,21 @@ export type GiftCardStatusChanged = Event & { /** The gift card the event relates to. */ giftCard: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** The gift card tag. */ export type GiftCardTag = Node & { /** ID of the tag associated with a gift card. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the tag associated with a gift card. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; export type GiftCardTagCountableConnection = { @@ -8740,18 +8993,18 @@ export type GiftCardTagCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type GiftCardTagCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: GiftCardTag; }; export type GiftCardTagFilterInput = { - search?: InputMaybe; + search?: InputMaybe; }; /** @@ -8771,17 +9024,17 @@ export type GiftCardUpdate = { export type GiftCardUpdateInput = { /** The gift card tags to add. */ - addTags?: InputMaybe>; + addTags?: InputMaybe>; /** The gift card balance amount. */ - balanceAmount?: InputMaybe; + balanceAmount?: InputMaybe; /** * End date of the gift card in ISO 8601 format. * * DEPRECATED: this field will be removed. Use `expiryDate` from `expirySettings` instead. */ - endDate?: InputMaybe; + endDate?: InputMaybe; /** The gift card expiry date. */ - expiryDate?: InputMaybe; + expiryDate?: InputMaybe; /** * Gift Card public metadata. * @@ -8799,13 +9052,13 @@ export type GiftCardUpdateInput = { */ privateMetadata?: InputMaybe>; /** The gift card tags to remove. */ - removeTags?: InputMaybe>; + removeTags?: InputMaybe>; /** * Start date of the gift card in ISO 8601 format. * * DEPRECATED: this field will be removed. */ - startDate?: InputMaybe; + startDate?: InputMaybe; }; /** Event sent when gift card is updated. */ @@ -8813,21 +9066,21 @@ export type GiftCardUpdated = Event & { /** The gift card the event relates to. */ giftCard: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Define the filtering options for foreign key fields. */ export type GlobalIdFilterInput = { /** The value equal to. */ - eq?: InputMaybe; + eq?: InputMaybe; /** The value included in. */ - oneOf?: InputMaybe>; + oneOf?: InputMaybe>; }; /** Represents permission group data. */ @@ -8835,15 +9088,15 @@ export type Group = Node & { /** List of channels the group has access to. */ accessibleChannels: Maybe>; /** The ID of the group. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** The name of the group. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** List of group permissions */ permissions: Maybe>; /** Determine if the group have restricted access to channels. */ - restrictedAccessToChannels: Scalars["Boolean"]["output"]; + restrictedAccessToChannels: Scalars['Boolean']['output']; /** True, if the currently authenticated user has rights to manage a group. */ - userCanManage: Scalars["Boolean"]["output"]; + userCanManage: Scalars['Boolean']['output']; /** * List of group users * @@ -8857,109 +9110,117 @@ export type GroupCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type GroupCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Group; }; +export type HttpMethod = + | 'GET' + | 'POST'; + /** Thumbnail formats for icon images. */ -export type IconThumbnailFormatEnum = "ORIGINAL" | "WEBP"; +export type IconThumbnailFormatEnum = + | 'ORIGINAL' + | 'WEBP'; /** Represents an image. */ export type Image = { /** Alt text for an image. */ - alt: Maybe; + alt: Maybe; /** The URL of the image. */ - url: Scalars["String"]["output"]; + url: Scalars['String']['output']; }; /** Define the filtering options for integer fields. */ export type IntFilterInput = { /** The value equal to. */ - eq?: InputMaybe; + eq?: InputMaybe; /** The value included in. */ - oneOf?: InputMaybe>; + oneOf?: InputMaybe>; /** The value in range. */ range?: InputMaybe; }; export type IntRangeInput = { /** Value greater than or equal to. */ - gte?: InputMaybe; + gte?: InputMaybe; /** Value less than or equal to. */ - lte?: InputMaybe; + lte?: InputMaybe; }; /** Represents an Invoice. */ -export type Invoice = Job & - Node & - ObjectWithMetadata & { - /** Date and time at which invoice was created. */ - createdAt: Scalars["DateTime"]["output"]; - /** - * URL to view an invoice. - * @deprecated Use `url` field. - */ - externalUrl: Maybe; - /** The ID of the object. */ - id: Scalars["ID"]["output"]; - /** Message associated with an invoice. */ - message: Maybe; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Invoice number. */ - number: Maybe; - /** Order related to the invoice. */ - order: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Job status. */ - status: JobStatusEnum; - /** Date and time at which invoice was updated. */ - updatedAt: Scalars["DateTime"]["output"]; - /** URL to view/download an invoice. */ - url: Maybe; - }; +export type Invoice = Job & Node & ObjectWithMetadata & { + /** Date and time at which invoice was created. */ + createdAt: Scalars['DateTime']['output']; + /** + * URL to view an invoice. + * @deprecated Use `url` field. + */ + externalUrl: Maybe; + /** The ID of the object. */ + id: Scalars['ID']['output']; + /** Message associated with an invoice. */ + message: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Invoice number. */ + number: Maybe; + /** Order related to the invoice. */ + order: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Job status. */ + status: JobStatusEnum; + /** Date and time at which invoice was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** URL to view/download an invoice. */ + url: Maybe; +}; + /** Represents an Invoice. */ export type InvoiceMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents an Invoice. */ export type InvoiceMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents an Invoice. */ export type InvoicePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents an Invoice. */ export type InvoicePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** @@ -8982,7 +9243,7 @@ export type InvoiceCreateInput = { */ metadata?: InputMaybe>; /** Invoice number. */ - number: Scalars["String"]["input"]; + number: Scalars['String']['input']; /** * Fields required to update the invoice private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -8990,7 +9251,7 @@ export type InvoiceCreateInput = { */ privateMetadata?: InputMaybe>; /** URL of an invoice to download. */ - url: Scalars["String"]["input"]; + url: Scalars['String']['input']; }; /** @@ -9010,7 +9271,7 @@ export type InvoiceDeleted = Event & { /** The invoice the event relates to. */ invoice: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Order related to the invoice. */ @@ -9018,27 +9279,27 @@ export type InvoiceDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type InvoiceError = { /** The error code. */ code: InvoiceErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type InvoiceErrorCode = - | "EMAIL_NOT_SET" - | "INVALID_STATUS" - | "NOT_FOUND" - | "NOT_READY" - | "NO_INVOICE_PLUGIN" - | "NUMBER_NOT_SET" - | "REQUIRED" - | "URL_NOT_SET"; + | 'EMAIL_NOT_SET' + | 'INVALID_STATUS' + | 'NOT_FOUND' + | 'NOT_READY' + | 'NO_INVOICE_PLUGIN' + | 'NUMBER_NOT_SET' + | 'REQUIRED' + | 'URL_NOT_SET'; /** Filter input for invoices. */ export type InvoiceFilterInput = { @@ -9083,7 +9344,7 @@ export type InvoiceRequested = Event & { /** The invoice the event relates to. */ invoice: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Order related to the invoice. */ @@ -9091,7 +9352,7 @@ export type InvoiceRequested = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -9115,7 +9376,7 @@ export type InvoiceSent = Event & { /** The invoice the event relates to. */ invoice: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Order related to the invoice. */ @@ -9123,7 +9384,7 @@ export type InvoiceSent = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -9142,1583 +9403,1587 @@ export type IssuingPrincipal = App | User; export type Job = { /** Created date time of job in ISO 8601 format. */ - createdAt: Scalars["DateTime"]["output"]; + createdAt: Scalars['DateTime']['output']; /** Job message. */ - message: Maybe; + message: Maybe; /** Job status. */ status: JobStatusEnum; /** Date time of job last update in ISO 8601 format. */ - updatedAt: Scalars["DateTime"]["output"]; + updatedAt: Scalars['DateTime']['output']; }; -export type JobStatusEnum = "DELETED" | "FAILED" | "PENDING" | "SUCCESS"; +export type JobStatusEnum = + | 'DELETED' + | 'FAILED' + | 'PENDING' + | 'SUCCESS'; /** Language code enum. It contains all the languages supported by Saleor. */ export type LanguageCodeEnum = /** Afrikaans */ - | "AF" + | 'AF' /** Afrikaans (Namibia) */ - | "AF_NA" + | 'AF_NA' /** Afrikaans (South Africa) */ - | "AF_ZA" + | 'AF_ZA' /** Aghem */ - | "AGQ" + | 'AGQ' /** Aghem (Cameroon) */ - | "AGQ_CM" + | 'AGQ_CM' /** Akan */ - | "AK" + | 'AK' /** Akan (Ghana) */ - | "AK_GH" + | 'AK_GH' /** Amharic */ - | "AM" + | 'AM' /** Amharic (Ethiopia) */ - | "AM_ET" + | 'AM_ET' /** Arabic */ - | "AR" + | 'AR' /** Arabic (United Arab Emirates) */ - | "AR_AE" + | 'AR_AE' /** Arabic (Bahrain) */ - | "AR_BH" + | 'AR_BH' /** Arabic (Djibouti) */ - | "AR_DJ" + | 'AR_DJ' /** Arabic (Algeria) */ - | "AR_DZ" + | 'AR_DZ' /** Arabic (Egypt) */ - | "AR_EG" + | 'AR_EG' /** Arabic (Western Sahara) */ - | "AR_EH" + | 'AR_EH' /** Arabic (Eritrea) */ - | "AR_ER" + | 'AR_ER' /** Arabic (Israel) */ - | "AR_IL" + | 'AR_IL' /** Arabic (Iraq) */ - | "AR_IQ" + | 'AR_IQ' /** Arabic (Jordan) */ - | "AR_JO" + | 'AR_JO' /** Arabic (Comoros) */ - | "AR_KM" + | 'AR_KM' /** Arabic (Kuwait) */ - | "AR_KW" + | 'AR_KW' /** Arabic (Lebanon) */ - | "AR_LB" + | 'AR_LB' /** Arabic (Libya) */ - | "AR_LY" + | 'AR_LY' /** Arabic (Morocco) */ - | "AR_MA" + | 'AR_MA' /** Arabic (Mauritania) */ - | "AR_MR" + | 'AR_MR' /** Arabic (Oman) */ - | "AR_OM" + | 'AR_OM' /** Arabic (Palestinian Territories) */ - | "AR_PS" + | 'AR_PS' /** Arabic (Qatar) */ - | "AR_QA" + | 'AR_QA' /** Arabic (Saudi Arabia) */ - | "AR_SA" + | 'AR_SA' /** Arabic (Sudan) */ - | "AR_SD" + | 'AR_SD' /** Arabic (Somalia) */ - | "AR_SO" + | 'AR_SO' /** Arabic (South Sudan) */ - | "AR_SS" + | 'AR_SS' /** Arabic (Syria) */ - | "AR_SY" + | 'AR_SY' /** Arabic (Chad) */ - | "AR_TD" + | 'AR_TD' /** Arabic (Tunisia) */ - | "AR_TN" + | 'AR_TN' /** Arabic (Yemen) */ - | "AR_YE" + | 'AR_YE' /** Assamese */ - | "AS" + | 'AS' /** Asu */ - | "ASA" + | 'ASA' /** Asu (Tanzania) */ - | "ASA_TZ" + | 'ASA_TZ' /** Asturian */ - | "AST" + | 'AST' /** Asturian (Spain) */ - | "AST_ES" + | 'AST_ES' /** Assamese (India) */ - | "AS_IN" + | 'AS_IN' /** Azerbaijani */ - | "AZ" + | 'AZ' /** Azerbaijani (Cyrillic) */ - | "AZ_CYRL" + | 'AZ_CYRL' /** Azerbaijani (Cyrillic, Azerbaijan) */ - | "AZ_CYRL_AZ" + | 'AZ_CYRL_AZ' /** Azerbaijani (Latin) */ - | "AZ_LATN" + | 'AZ_LATN' /** Azerbaijani (Latin, Azerbaijan) */ - | "AZ_LATN_AZ" + | 'AZ_LATN_AZ' /** Basaa */ - | "BAS" + | 'BAS' /** Basaa (Cameroon) */ - | "BAS_CM" + | 'BAS_CM' /** Belarusian */ - | "BE" + | 'BE' /** Bemba */ - | "BEM" + | 'BEM' /** Bemba (Zambia) */ - | "BEM_ZM" + | 'BEM_ZM' /** Bena */ - | "BEZ" + | 'BEZ' /** Bena (Tanzania) */ - | "BEZ_TZ" + | 'BEZ_TZ' /** Belarusian (Belarus) */ - | "BE_BY" + | 'BE_BY' /** Bulgarian */ - | "BG" + | 'BG' /** Bulgarian (Bulgaria) */ - | "BG_BG" + | 'BG_BG' /** Bambara */ - | "BM" + | 'BM' /** Bambara (Mali) */ - | "BM_ML" + | 'BM_ML' /** Bangla */ - | "BN" + | 'BN' /** Bangla (Bangladesh) */ - | "BN_BD" + | 'BN_BD' /** Bangla (India) */ - | "BN_IN" + | 'BN_IN' /** Tibetan */ - | "BO" + | 'BO' /** Tibetan (China) */ - | "BO_CN" + | 'BO_CN' /** Tibetan (India) */ - | "BO_IN" + | 'BO_IN' /** Breton */ - | "BR" + | 'BR' /** Bodo */ - | "BRX" + | 'BRX' /** Bodo (India) */ - | "BRX_IN" + | 'BRX_IN' /** Breton (France) */ - | "BR_FR" + | 'BR_FR' /** Bosnian */ - | "BS" + | 'BS' /** Bosnian (Cyrillic) */ - | "BS_CYRL" + | 'BS_CYRL' /** Bosnian (Cyrillic, Bosnia & Herzegovina) */ - | "BS_CYRL_BA" + | 'BS_CYRL_BA' /** Bosnian (Latin) */ - | "BS_LATN" + | 'BS_LATN' /** Bosnian (Latin, Bosnia & Herzegovina) */ - | "BS_LATN_BA" + | 'BS_LATN_BA' /** Catalan */ - | "CA" + | 'CA' /** Catalan (Andorra) */ - | "CA_AD" + | 'CA_AD' /** Catalan (Spain) */ - | "CA_ES" + | 'CA_ES' /** Catalan (Spain, Valencian) */ - | "CA_ES_VALENCIA" + | 'CA_ES_VALENCIA' /** Catalan (France) */ - | "CA_FR" + | 'CA_FR' /** Catalan (Italy) */ - | "CA_IT" + | 'CA_IT' /** Chakma */ - | "CCP" + | 'CCP' /** Chakma (Bangladesh) */ - | "CCP_BD" + | 'CCP_BD' /** Chakma (India) */ - | "CCP_IN" + | 'CCP_IN' /** Chechen */ - | "CE" + | 'CE' /** Cebuano */ - | "CEB" + | 'CEB' /** Cebuano (Philippines) */ - | "CEB_PH" + | 'CEB_PH' /** Chechen (Russia) */ - | "CE_RU" + | 'CE_RU' /** Chiga */ - | "CGG" + | 'CGG' /** Chiga (Uganda) */ - | "CGG_UG" + | 'CGG_UG' /** Cherokee */ - | "CHR" + | 'CHR' /** Cherokee (United States) */ - | "CHR_US" + | 'CHR_US' /** Central Kurdish */ - | "CKB" + | 'CKB' /** Central Kurdish (Iraq) */ - | "CKB_IQ" + | 'CKB_IQ' /** Central Kurdish (Iran) */ - | "CKB_IR" + | 'CKB_IR' /** Czech */ - | "CS" + | 'CS' /** Czech (Czechia) */ - | "CS_CZ" + | 'CS_CZ' /** Church Slavic */ - | "CU" + | 'CU' /** Church Slavic (Russia) */ - | "CU_RU" + | 'CU_RU' /** Welsh */ - | "CY" + | 'CY' /** Welsh (United Kingdom) */ - | "CY_GB" + | 'CY_GB' /** Danish */ - | "DA" + | 'DA' /** Taita */ - | "DAV" + | 'DAV' /** Taita (Kenya) */ - | "DAV_KE" + | 'DAV_KE' /** Danish (Denmark) */ - | "DA_DK" + | 'DA_DK' /** Danish (Greenland) */ - | "DA_GL" + | 'DA_GL' /** German */ - | "DE" + | 'DE' /** German (Austria) */ - | "DE_AT" + | 'DE_AT' /** German (Belgium) */ - | "DE_BE" + | 'DE_BE' /** German (Switzerland) */ - | "DE_CH" + | 'DE_CH' /** German (Germany) */ - | "DE_DE" + | 'DE_DE' /** German (Italy) */ - | "DE_IT" + | 'DE_IT' /** German (Liechtenstein) */ - | "DE_LI" + | 'DE_LI' /** German (Luxembourg) */ - | "DE_LU" + | 'DE_LU' /** Zarma */ - | "DJE" + | 'DJE' /** Zarma (Niger) */ - | "DJE_NE" + | 'DJE_NE' /** Lower Sorbian */ - | "DSB" + | 'DSB' /** Lower Sorbian (Germany) */ - | "DSB_DE" + | 'DSB_DE' /** Duala */ - | "DUA" + | 'DUA' /** Duala (Cameroon) */ - | "DUA_CM" + | 'DUA_CM' /** Jola-Fonyi */ - | "DYO" + | 'DYO' /** Jola-Fonyi (Senegal) */ - | "DYO_SN" + | 'DYO_SN' /** Dzongkha */ - | "DZ" + | 'DZ' /** Dzongkha (Bhutan) */ - | "DZ_BT" + | 'DZ_BT' /** Embu */ - | "EBU" + | 'EBU' /** Embu (Kenya) */ - | "EBU_KE" + | 'EBU_KE' /** Ewe */ - | "EE" + | 'EE' /** Ewe (Ghana) */ - | "EE_GH" + | 'EE_GH' /** Ewe (Togo) */ - | "EE_TG" + | 'EE_TG' /** Greek */ - | "EL" + | 'EL' /** Greek (Cyprus) */ - | "EL_CY" + | 'EL_CY' /** Greek (Greece) */ - | "EL_GR" + | 'EL_GR' /** English */ - | "EN" + | 'EN' /** English (United Arab Emirates) */ - | "EN_AE" + | 'EN_AE' /** English (Antigua & Barbuda) */ - | "EN_AG" + | 'EN_AG' /** English (Anguilla) */ - | "EN_AI" + | 'EN_AI' /** English (American Samoa) */ - | "EN_AS" + | 'EN_AS' /** English (Austria) */ - | "EN_AT" + | 'EN_AT' /** English (Australia) */ - | "EN_AU" + | 'EN_AU' /** English (Barbados) */ - | "EN_BB" + | 'EN_BB' /** English (Belgium) */ - | "EN_BE" + | 'EN_BE' /** English (Burundi) */ - | "EN_BI" + | 'EN_BI' /** English (Bermuda) */ - | "EN_BM" + | 'EN_BM' /** English (Bahamas) */ - | "EN_BS" + | 'EN_BS' /** English (Botswana) */ - | "EN_BW" + | 'EN_BW' /** English (Belize) */ - | "EN_BZ" + | 'EN_BZ' /** English (Canada) */ - | "EN_CA" + | 'EN_CA' /** English (Cocos (Keeling) Islands) */ - | "EN_CC" + | 'EN_CC' /** English (Switzerland) */ - | "EN_CH" + | 'EN_CH' /** English (Cook Islands) */ - | "EN_CK" + | 'EN_CK' /** English (Cameroon) */ - | "EN_CM" + | 'EN_CM' /** English (Christmas Island) */ - | "EN_CX" + | 'EN_CX' /** English (Cyprus) */ - | "EN_CY" + | 'EN_CY' /** English (Germany) */ - | "EN_DE" + | 'EN_DE' /** English (Diego Garcia) */ - | "EN_DG" + | 'EN_DG' /** English (Denmark) */ - | "EN_DK" + | 'EN_DK' /** English (Dominica) */ - | "EN_DM" + | 'EN_DM' /** English (Eritrea) */ - | "EN_ER" + | 'EN_ER' /** English (Finland) */ - | "EN_FI" + | 'EN_FI' /** English (Fiji) */ - | "EN_FJ" + | 'EN_FJ' /** English (Falkland Islands) */ - | "EN_FK" + | 'EN_FK' /** English (Micronesia) */ - | "EN_FM" + | 'EN_FM' /** English (United Kingdom) */ - | "EN_GB" + | 'EN_GB' /** English (Grenada) */ - | "EN_GD" + | 'EN_GD' /** English (Guernsey) */ - | "EN_GG" + | 'EN_GG' /** English (Ghana) */ - | "EN_GH" + | 'EN_GH' /** English (Gibraltar) */ - | "EN_GI" + | 'EN_GI' /** English (Gambia) */ - | "EN_GM" + | 'EN_GM' /** English (Guam) */ - | "EN_GU" + | 'EN_GU' /** English (Guyana) */ - | "EN_GY" + | 'EN_GY' /** English (Hong Kong SAR China) */ - | "EN_HK" + | 'EN_HK' /** English (Ireland) */ - | "EN_IE" + | 'EN_IE' /** English (Israel) */ - | "EN_IL" + | 'EN_IL' /** English (Isle of Man) */ - | "EN_IM" + | 'EN_IM' /** English (India) */ - | "EN_IN" + | 'EN_IN' /** English (British Indian Ocean Territory) */ - | "EN_IO" + | 'EN_IO' /** English (Jersey) */ - | "EN_JE" + | 'EN_JE' /** English (Jamaica) */ - | "EN_JM" + | 'EN_JM' /** English (Kenya) */ - | "EN_KE" + | 'EN_KE' /** English (Kiribati) */ - | "EN_KI" + | 'EN_KI' /** English (St. Kitts & Nevis) */ - | "EN_KN" + | 'EN_KN' /** English (Cayman Islands) */ - | "EN_KY" + | 'EN_KY' /** English (St. Lucia) */ - | "EN_LC" + | 'EN_LC' /** English (Liberia) */ - | "EN_LR" + | 'EN_LR' /** English (Lesotho) */ - | "EN_LS" + | 'EN_LS' /** English (Madagascar) */ - | "EN_MG" + | 'EN_MG' /** English (Marshall Islands) */ - | "EN_MH" + | 'EN_MH' /** English (Macao SAR China) */ - | "EN_MO" + | 'EN_MO' /** English (Northern Mariana Islands) */ - | "EN_MP" + | 'EN_MP' /** English (Montserrat) */ - | "EN_MS" + | 'EN_MS' /** English (Malta) */ - | "EN_MT" + | 'EN_MT' /** English (Mauritius) */ - | "EN_MU" + | 'EN_MU' /** English (Malawi) */ - | "EN_MW" + | 'EN_MW' /** English (Malaysia) */ - | "EN_MY" + | 'EN_MY' /** English (Namibia) */ - | "EN_NA" + | 'EN_NA' /** English (Norfolk Island) */ - | "EN_NF" + | 'EN_NF' /** English (Nigeria) */ - | "EN_NG" + | 'EN_NG' /** English (Netherlands) */ - | "EN_NL" + | 'EN_NL' /** English (Nauru) */ - | "EN_NR" + | 'EN_NR' /** English (Niue) */ - | "EN_NU" + | 'EN_NU' /** English (New Zealand) */ - | "EN_NZ" + | 'EN_NZ' /** English (Papua New Guinea) */ - | "EN_PG" + | 'EN_PG' /** English (Philippines) */ - | "EN_PH" + | 'EN_PH' /** English (Pakistan) */ - | "EN_PK" + | 'EN_PK' /** English (Pitcairn Islands) */ - | "EN_PN" + | 'EN_PN' /** English (Puerto Rico) */ - | "EN_PR" + | 'EN_PR' /** English (Palau) */ - | "EN_PW" + | 'EN_PW' /** English (Rwanda) */ - | "EN_RW" + | 'EN_RW' /** English (Solomon Islands) */ - | "EN_SB" + | 'EN_SB' /** English (Seychelles) */ - | "EN_SC" + | 'EN_SC' /** English (Sudan) */ - | "EN_SD" + | 'EN_SD' /** English (Sweden) */ - | "EN_SE" + | 'EN_SE' /** English (Singapore) */ - | "EN_SG" + | 'EN_SG' /** English (St. Helena) */ - | "EN_SH" + | 'EN_SH' /** English (Slovenia) */ - | "EN_SI" + | 'EN_SI' /** English (Sierra Leone) */ - | "EN_SL" + | 'EN_SL' /** English (South Sudan) */ - | "EN_SS" + | 'EN_SS' /** English (Sint Maarten) */ - | "EN_SX" + | 'EN_SX' /** English (Eswatini) */ - | "EN_SZ" + | 'EN_SZ' /** English (Turks & Caicos Islands) */ - | "EN_TC" + | 'EN_TC' /** English (Tokelau) */ - | "EN_TK" + | 'EN_TK' /** English (Tonga) */ - | "EN_TO" + | 'EN_TO' /** English (Trinidad & Tobago) */ - | "EN_TT" + | 'EN_TT' /** English (Tuvalu) */ - | "EN_TV" + | 'EN_TV' /** English (Tanzania) */ - | "EN_TZ" + | 'EN_TZ' /** English (Uganda) */ - | "EN_UG" + | 'EN_UG' /** English (U.S. Outlying Islands) */ - | "EN_UM" + | 'EN_UM' /** English (United States) */ - | "EN_US" + | 'EN_US' /** English (St. Vincent & Grenadines) */ - | "EN_VC" + | 'EN_VC' /** English (British Virgin Islands) */ - | "EN_VG" + | 'EN_VG' /** English (U.S. Virgin Islands) */ - | "EN_VI" + | 'EN_VI' /** English (Vanuatu) */ - | "EN_VU" + | 'EN_VU' /** English (Samoa) */ - | "EN_WS" + | 'EN_WS' /** English (South Africa) */ - | "EN_ZA" + | 'EN_ZA' /** English (Zambia) */ - | "EN_ZM" + | 'EN_ZM' /** English (Zimbabwe) */ - | "EN_ZW" + | 'EN_ZW' /** Esperanto */ - | "EO" + | 'EO' /** Spanish */ - | "ES" + | 'ES' /** Spanish (Argentina) */ - | "ES_AR" + | 'ES_AR' /** Spanish (Bolivia) */ - | "ES_BO" + | 'ES_BO' /** Spanish (Brazil) */ - | "ES_BR" + | 'ES_BR' /** Spanish (Belize) */ - | "ES_BZ" + | 'ES_BZ' /** Spanish (Chile) */ - | "ES_CL" + | 'ES_CL' /** Spanish (Colombia) */ - | "ES_CO" + | 'ES_CO' /** Spanish (Costa Rica) */ - | "ES_CR" + | 'ES_CR' /** Spanish (Cuba) */ - | "ES_CU" + | 'ES_CU' /** Spanish (Dominican Republic) */ - | "ES_DO" + | 'ES_DO' /** Spanish (Ceuta & Melilla) */ - | "ES_EA" + | 'ES_EA' /** Spanish (Ecuador) */ - | "ES_EC" + | 'ES_EC' /** Spanish (Spain) */ - | "ES_ES" + | 'ES_ES' /** Spanish (Equatorial Guinea) */ - | "ES_GQ" + | 'ES_GQ' /** Spanish (Guatemala) */ - | "ES_GT" + | 'ES_GT' /** Spanish (Honduras) */ - | "ES_HN" + | 'ES_HN' /** Spanish (Canary Islands) */ - | "ES_IC" + | 'ES_IC' /** Spanish (Mexico) */ - | "ES_MX" + | 'ES_MX' /** Spanish (Nicaragua) */ - | "ES_NI" + | 'ES_NI' /** Spanish (Panama) */ - | "ES_PA" + | 'ES_PA' /** Spanish (Peru) */ - | "ES_PE" + | 'ES_PE' /** Spanish (Philippines) */ - | "ES_PH" + | 'ES_PH' /** Spanish (Puerto Rico) */ - | "ES_PR" + | 'ES_PR' /** Spanish (Paraguay) */ - | "ES_PY" + | 'ES_PY' /** Spanish (El Salvador) */ - | "ES_SV" + | 'ES_SV' /** Spanish (United States) */ - | "ES_US" + | 'ES_US' /** Spanish (Uruguay) */ - | "ES_UY" + | 'ES_UY' /** Spanish (Venezuela) */ - | "ES_VE" + | 'ES_VE' /** Estonian */ - | "ET" + | 'ET' /** Estonian (Estonia) */ - | "ET_EE" + | 'ET_EE' /** Basque */ - | "EU" + | 'EU' /** Basque (Spain) */ - | "EU_ES" + | 'EU_ES' /** Ewondo */ - | "EWO" + | 'EWO' /** Ewondo (Cameroon) */ - | "EWO_CM" + | 'EWO_CM' /** Persian */ - | "FA" + | 'FA' /** Persian (Afghanistan) */ - | "FA_AF" + | 'FA_AF' /** Persian (Iran) */ - | "FA_IR" + | 'FA_IR' /** Fulah */ - | "FF" + | 'FF' /** Fulah (Adlam) */ - | "FF_ADLM" + | 'FF_ADLM' /** Fulah (Adlam, Burkina Faso) */ - | "FF_ADLM_BF" + | 'FF_ADLM_BF' /** Fulah (Adlam, Cameroon) */ - | "FF_ADLM_CM" + | 'FF_ADLM_CM' /** Fulah (Adlam, Ghana) */ - | "FF_ADLM_GH" + | 'FF_ADLM_GH' /** Fulah (Adlam, Gambia) */ - | "FF_ADLM_GM" + | 'FF_ADLM_GM' /** Fulah (Adlam, Guinea) */ - | "FF_ADLM_GN" + | 'FF_ADLM_GN' /** Fulah (Adlam, Guinea-Bissau) */ - | "FF_ADLM_GW" + | 'FF_ADLM_GW' /** Fulah (Adlam, Liberia) */ - | "FF_ADLM_LR" + | 'FF_ADLM_LR' /** Fulah (Adlam, Mauritania) */ - | "FF_ADLM_MR" + | 'FF_ADLM_MR' /** Fulah (Adlam, Niger) */ - | "FF_ADLM_NE" + | 'FF_ADLM_NE' /** Fulah (Adlam, Nigeria) */ - | "FF_ADLM_NG" + | 'FF_ADLM_NG' /** Fulah (Adlam, Sierra Leone) */ - | "FF_ADLM_SL" + | 'FF_ADLM_SL' /** Fulah (Adlam, Senegal) */ - | "FF_ADLM_SN" + | 'FF_ADLM_SN' /** Fulah (Latin) */ - | "FF_LATN" + | 'FF_LATN' /** Fulah (Latin, Burkina Faso) */ - | "FF_LATN_BF" + | 'FF_LATN_BF' /** Fulah (Latin, Cameroon) */ - | "FF_LATN_CM" + | 'FF_LATN_CM' /** Fulah (Latin, Ghana) */ - | "FF_LATN_GH" + | 'FF_LATN_GH' /** Fulah (Latin, Gambia) */ - | "FF_LATN_GM" + | 'FF_LATN_GM' /** Fulah (Latin, Guinea) */ - | "FF_LATN_GN" + | 'FF_LATN_GN' /** Fulah (Latin, Guinea-Bissau) */ - | "FF_LATN_GW" + | 'FF_LATN_GW' /** Fulah (Latin, Liberia) */ - | "FF_LATN_LR" + | 'FF_LATN_LR' /** Fulah (Latin, Mauritania) */ - | "FF_LATN_MR" + | 'FF_LATN_MR' /** Fulah (Latin, Niger) */ - | "FF_LATN_NE" + | 'FF_LATN_NE' /** Fulah (Latin, Nigeria) */ - | "FF_LATN_NG" + | 'FF_LATN_NG' /** Fulah (Latin, Sierra Leone) */ - | "FF_LATN_SL" + | 'FF_LATN_SL' /** Fulah (Latin, Senegal) */ - | "FF_LATN_SN" + | 'FF_LATN_SN' /** Finnish */ - | "FI" + | 'FI' /** Filipino */ - | "FIL" + | 'FIL' /** Filipino (Philippines) */ - | "FIL_PH" + | 'FIL_PH' /** Finnish (Finland) */ - | "FI_FI" + | 'FI_FI' /** Faroese */ - | "FO" + | 'FO' /** Faroese (Denmark) */ - | "FO_DK" + | 'FO_DK' /** Faroese (Faroe Islands) */ - | "FO_FO" + | 'FO_FO' /** French */ - | "FR" + | 'FR' /** French (Belgium) */ - | "FR_BE" + | 'FR_BE' /** French (Burkina Faso) */ - | "FR_BF" + | 'FR_BF' /** French (Burundi) */ - | "FR_BI" + | 'FR_BI' /** French (Benin) */ - | "FR_BJ" + | 'FR_BJ' /** French (St. Barthélemy) */ - | "FR_BL" + | 'FR_BL' /** French (Canada) */ - | "FR_CA" + | 'FR_CA' /** French (Congo - Kinshasa) */ - | "FR_CD" + | 'FR_CD' /** French (Central African Republic) */ - | "FR_CF" + | 'FR_CF' /** French (Congo - Brazzaville) */ - | "FR_CG" + | 'FR_CG' /** French (Switzerland) */ - | "FR_CH" + | 'FR_CH' /** French (Côte d’Ivoire) */ - | "FR_CI" + | 'FR_CI' /** French (Cameroon) */ - | "FR_CM" + | 'FR_CM' /** French (Djibouti) */ - | "FR_DJ" + | 'FR_DJ' /** French (Algeria) */ - | "FR_DZ" + | 'FR_DZ' /** French (France) */ - | "FR_FR" + | 'FR_FR' /** French (Gabon) */ - | "FR_GA" + | 'FR_GA' /** French (French Guiana) */ - | "FR_GF" + | 'FR_GF' /** French (Guinea) */ - | "FR_GN" + | 'FR_GN' /** French (Guadeloupe) */ - | "FR_GP" + | 'FR_GP' /** French (Equatorial Guinea) */ - | "FR_GQ" + | 'FR_GQ' /** French (Haiti) */ - | "FR_HT" + | 'FR_HT' /** French (Comoros) */ - | "FR_KM" + | 'FR_KM' /** French (Luxembourg) */ - | "FR_LU" + | 'FR_LU' /** French (Morocco) */ - | "FR_MA" + | 'FR_MA' /** French (Monaco) */ - | "FR_MC" + | 'FR_MC' /** French (St. Martin) */ - | "FR_MF" + | 'FR_MF' /** French (Madagascar) */ - | "FR_MG" + | 'FR_MG' /** French (Mali) */ - | "FR_ML" + | 'FR_ML' /** French (Martinique) */ - | "FR_MQ" + | 'FR_MQ' /** French (Mauritania) */ - | "FR_MR" + | 'FR_MR' /** French (Mauritius) */ - | "FR_MU" + | 'FR_MU' /** French (New Caledonia) */ - | "FR_NC" + | 'FR_NC' /** French (Niger) */ - | "FR_NE" + | 'FR_NE' /** French (French Polynesia) */ - | "FR_PF" + | 'FR_PF' /** French (St. Pierre & Miquelon) */ - | "FR_PM" + | 'FR_PM' /** French (Réunion) */ - | "FR_RE" + | 'FR_RE' /** French (Rwanda) */ - | "FR_RW" + | 'FR_RW' /** French (Seychelles) */ - | "FR_SC" + | 'FR_SC' /** French (Senegal) */ - | "FR_SN" + | 'FR_SN' /** French (Syria) */ - | "FR_SY" + | 'FR_SY' /** French (Chad) */ - | "FR_TD" + | 'FR_TD' /** French (Togo) */ - | "FR_TG" + | 'FR_TG' /** French (Tunisia) */ - | "FR_TN" + | 'FR_TN' /** French (Vanuatu) */ - | "FR_VU" + | 'FR_VU' /** French (Wallis & Futuna) */ - | "FR_WF" + | 'FR_WF' /** French (Mayotte) */ - | "FR_YT" + | 'FR_YT' /** Friulian */ - | "FUR" + | 'FUR' /** Friulian (Italy) */ - | "FUR_IT" + | 'FUR_IT' /** Western Frisian */ - | "FY" + | 'FY' /** Western Frisian (Netherlands) */ - | "FY_NL" + | 'FY_NL' /** Irish */ - | "GA" + | 'GA' /** Irish (United Kingdom) */ - | "GA_GB" + | 'GA_GB' /** Irish (Ireland) */ - | "GA_IE" + | 'GA_IE' /** Scottish Gaelic */ - | "GD" + | 'GD' /** Scottish Gaelic (United Kingdom) */ - | "GD_GB" + | 'GD_GB' /** Galician */ - | "GL" + | 'GL' /** Galician (Spain) */ - | "GL_ES" + | 'GL_ES' /** Swiss German */ - | "GSW" + | 'GSW' /** Swiss German (Switzerland) */ - | "GSW_CH" + | 'GSW_CH' /** Swiss German (France) */ - | "GSW_FR" + | 'GSW_FR' /** Swiss German (Liechtenstein) */ - | "GSW_LI" + | 'GSW_LI' /** Gujarati */ - | "GU" + | 'GU' /** Gusii */ - | "GUZ" + | 'GUZ' /** Gusii (Kenya) */ - | "GUZ_KE" + | 'GUZ_KE' /** Gujarati (India) */ - | "GU_IN" + | 'GU_IN' /** Manx */ - | "GV" + | 'GV' /** Manx (Isle of Man) */ - | "GV_IM" + | 'GV_IM' /** Hausa */ - | "HA" + | 'HA' /** Hawaiian */ - | "HAW" + | 'HAW' /** Hawaiian (United States) */ - | "HAW_US" + | 'HAW_US' /** Hausa (Ghana) */ - | "HA_GH" + | 'HA_GH' /** Hausa (Niger) */ - | "HA_NE" + | 'HA_NE' /** Hausa (Nigeria) */ - | "HA_NG" + | 'HA_NG' /** Hebrew */ - | "HE" + | 'HE' /** Hebrew (Israel) */ - | "HE_IL" + | 'HE_IL' /** Hindi */ - | "HI" + | 'HI' /** Hindi (India) */ - | "HI_IN" + | 'HI_IN' /** Croatian */ - | "HR" + | 'HR' /** Croatian (Bosnia & Herzegovina) */ - | "HR_BA" + | 'HR_BA' /** Croatian (Croatia) */ - | "HR_HR" + | 'HR_HR' /** Upper Sorbian */ - | "HSB" + | 'HSB' /** Upper Sorbian (Germany) */ - | "HSB_DE" + | 'HSB_DE' /** Hungarian */ - | "HU" + | 'HU' /** Hungarian (Hungary) */ - | "HU_HU" + | 'HU_HU' /** Armenian */ - | "HY" + | 'HY' /** Armenian (Armenia) */ - | "HY_AM" + | 'HY_AM' /** Interlingua */ - | "IA" + | 'IA' /** Indonesian */ - | "ID" + | 'ID' /** Indonesian (Indonesia) */ - | "ID_ID" + | 'ID_ID' /** Igbo */ - | "IG" + | 'IG' /** Igbo (Nigeria) */ - | "IG_NG" + | 'IG_NG' /** Sichuan Yi */ - | "II" + | 'II' /** Sichuan Yi (China) */ - | "II_CN" + | 'II_CN' /** Icelandic */ - | "IS" + | 'IS' /** Icelandic (Iceland) */ - | "IS_IS" + | 'IS_IS' /** Italian */ - | "IT" + | 'IT' /** Italian (Switzerland) */ - | "IT_CH" + | 'IT_CH' /** Italian (Italy) */ - | "IT_IT" + | 'IT_IT' /** Italian (San Marino) */ - | "IT_SM" + | 'IT_SM' /** Italian (Vatican City) */ - | "IT_VA" + | 'IT_VA' /** Japanese */ - | "JA" + | 'JA' /** Japanese (Japan) */ - | "JA_JP" + | 'JA_JP' /** Ngomba */ - | "JGO" + | 'JGO' /** Ngomba (Cameroon) */ - | "JGO_CM" + | 'JGO_CM' /** Machame */ - | "JMC" + | 'JMC' /** Machame (Tanzania) */ - | "JMC_TZ" + | 'JMC_TZ' /** Javanese */ - | "JV" + | 'JV' /** Javanese (Indonesia) */ - | "JV_ID" + | 'JV_ID' /** Georgian */ - | "KA" + | 'KA' /** Kabyle */ - | "KAB" + | 'KAB' /** Kabyle (Algeria) */ - | "KAB_DZ" + | 'KAB_DZ' /** Kamba */ - | "KAM" + | 'KAM' /** Kamba (Kenya) */ - | "KAM_KE" + | 'KAM_KE' /** Georgian (Georgia) */ - | "KA_GE" + | 'KA_GE' /** Makonde */ - | "KDE" + | 'KDE' /** Makonde (Tanzania) */ - | "KDE_TZ" + | 'KDE_TZ' /** Kabuverdianu */ - | "KEA" + | 'KEA' /** Kabuverdianu (Cape Verde) */ - | "KEA_CV" + | 'KEA_CV' /** Koyra Chiini */ - | "KHQ" + | 'KHQ' /** Koyra Chiini (Mali) */ - | "KHQ_ML" + | 'KHQ_ML' /** Kikuyu */ - | "KI" + | 'KI' /** Kikuyu (Kenya) */ - | "KI_KE" + | 'KI_KE' /** Kazakh */ - | "KK" + | 'KK' /** Kako */ - | "KKJ" + | 'KKJ' /** Kako (Cameroon) */ - | "KKJ_CM" + | 'KKJ_CM' /** Kazakh (Kazakhstan) */ - | "KK_KZ" + | 'KK_KZ' /** Kalaallisut */ - | "KL" + | 'KL' /** Kalenjin */ - | "KLN" + | 'KLN' /** Kalenjin (Kenya) */ - | "KLN_KE" + | 'KLN_KE' /** Kalaallisut (Greenland) */ - | "KL_GL" + | 'KL_GL' /** Khmer */ - | "KM" + | 'KM' /** Khmer (Cambodia) */ - | "KM_KH" + | 'KM_KH' /** Kannada */ - | "KN" + | 'KN' /** Kannada (India) */ - | "KN_IN" + | 'KN_IN' /** Korean */ - | "KO" + | 'KO' /** Konkani */ - | "KOK" + | 'KOK' /** Konkani (India) */ - | "KOK_IN" + | 'KOK_IN' /** Korean (North Korea) */ - | "KO_KP" + | 'KO_KP' /** Korean (South Korea) */ - | "KO_KR" + | 'KO_KR' /** Kashmiri */ - | "KS" + | 'KS' /** Shambala */ - | "KSB" + | 'KSB' /** Shambala (Tanzania) */ - | "KSB_TZ" + | 'KSB_TZ' /** Bafia */ - | "KSF" + | 'KSF' /** Bafia (Cameroon) */ - | "KSF_CM" + | 'KSF_CM' /** Colognian */ - | "KSH" + | 'KSH' /** Colognian (Germany) */ - | "KSH_DE" + | 'KSH_DE' /** Kashmiri (Arabic) */ - | "KS_ARAB" + | 'KS_ARAB' /** Kashmiri (Arabic, India) */ - | "KS_ARAB_IN" + | 'KS_ARAB_IN' /** Kurdish */ - | "KU" + | 'KU' /** Kurdish (Turkey) */ - | "KU_TR" + | 'KU_TR' /** Cornish */ - | "KW" + | 'KW' /** Cornish (United Kingdom) */ - | "KW_GB" + | 'KW_GB' /** Kyrgyz */ - | "KY" + | 'KY' /** Kyrgyz (Kyrgyzstan) */ - | "KY_KG" + | 'KY_KG' /** Langi */ - | "LAG" + | 'LAG' /** Langi (Tanzania) */ - | "LAG_TZ" + | 'LAG_TZ' /** Luxembourgish */ - | "LB" + | 'LB' /** Luxembourgish (Luxembourg) */ - | "LB_LU" + | 'LB_LU' /** Ganda */ - | "LG" + | 'LG' /** Ganda (Uganda) */ - | "LG_UG" + | 'LG_UG' /** Lakota */ - | "LKT" + | 'LKT' /** Lakota (United States) */ - | "LKT_US" + | 'LKT_US' /** Lingala */ - | "LN" + | 'LN' /** Lingala (Angola) */ - | "LN_AO" + | 'LN_AO' /** Lingala (Congo - Kinshasa) */ - | "LN_CD" + | 'LN_CD' /** Lingala (Central African Republic) */ - | "LN_CF" + | 'LN_CF' /** Lingala (Congo - Brazzaville) */ - | "LN_CG" + | 'LN_CG' /** Lao */ - | "LO" + | 'LO' /** Lao (Laos) */ - | "LO_LA" + | 'LO_LA' /** Northern Luri */ - | "LRC" + | 'LRC' /** Northern Luri (Iraq) */ - | "LRC_IQ" + | 'LRC_IQ' /** Northern Luri (Iran) */ - | "LRC_IR" + | 'LRC_IR' /** Lithuanian */ - | "LT" + | 'LT' /** Lithuanian (Lithuania) */ - | "LT_LT" + | 'LT_LT' /** Luba-Katanga */ - | "LU" + | 'LU' /** Luo */ - | "LUO" + | 'LUO' /** Luo (Kenya) */ - | "LUO_KE" + | 'LUO_KE' /** Luyia */ - | "LUY" + | 'LUY' /** Luyia (Kenya) */ - | "LUY_KE" + | 'LUY_KE' /** Luba-Katanga (Congo - Kinshasa) */ - | "LU_CD" + | 'LU_CD' /** Latvian */ - | "LV" + | 'LV' /** Latvian (Latvia) */ - | "LV_LV" + | 'LV_LV' /** Maithili */ - | "MAI" + | 'MAI' /** Maithili (India) */ - | "MAI_IN" + | 'MAI_IN' /** Masai */ - | "MAS" + | 'MAS' /** Masai (Kenya) */ - | "MAS_KE" + | 'MAS_KE' /** Masai (Tanzania) */ - | "MAS_TZ" + | 'MAS_TZ' /** Meru */ - | "MER" + | 'MER' /** Meru (Kenya) */ - | "MER_KE" + | 'MER_KE' /** Morisyen */ - | "MFE" + | 'MFE' /** Morisyen (Mauritius) */ - | "MFE_MU" + | 'MFE_MU' /** Malagasy */ - | "MG" + | 'MG' /** Makhuwa-Meetto */ - | "MGH" + | 'MGH' /** Makhuwa-Meetto (Mozambique) */ - | "MGH_MZ" + | 'MGH_MZ' /** Metaʼ */ - | "MGO" + | 'MGO' /** Metaʼ (Cameroon) */ - | "MGO_CM" + | 'MGO_CM' /** Malagasy (Madagascar) */ - | "MG_MG" + | 'MG_MG' /** Maori */ - | "MI" + | 'MI' /** Maori (New Zealand) */ - | "MI_NZ" + | 'MI_NZ' /** Macedonian */ - | "MK" + | 'MK' /** Macedonian (North Macedonia) */ - | "MK_MK" + | 'MK_MK' /** Malayalam */ - | "ML" + | 'ML' /** Malayalam (India) */ - | "ML_IN" + | 'ML_IN' /** Mongolian */ - | "MN" + | 'MN' /** Manipuri */ - | "MNI" + | 'MNI' /** Manipuri (Bangla) */ - | "MNI_BENG" + | 'MNI_BENG' /** Manipuri (Bangla, India) */ - | "MNI_BENG_IN" + | 'MNI_BENG_IN' /** Mongolian (Mongolia) */ - | "MN_MN" + | 'MN_MN' /** Marathi */ - | "MR" + | 'MR' /** Marathi (India) */ - | "MR_IN" + | 'MR_IN' /** Malay */ - | "MS" + | 'MS' /** Malay (Brunei) */ - | "MS_BN" + | 'MS_BN' /** Malay (Indonesia) */ - | "MS_ID" + | 'MS_ID' /** Malay (Malaysia) */ - | "MS_MY" + | 'MS_MY' /** Malay (Singapore) */ - | "MS_SG" + | 'MS_SG' /** Maltese */ - | "MT" + | 'MT' /** Maltese (Malta) */ - | "MT_MT" + | 'MT_MT' /** Mundang */ - | "MUA" + | 'MUA' /** Mundang (Cameroon) */ - | "MUA_CM" + | 'MUA_CM' /** Burmese */ - | "MY" + | 'MY' /** Burmese (Myanmar (Burma)) */ - | "MY_MM" + | 'MY_MM' /** Mazanderani */ - | "MZN" + | 'MZN' /** Mazanderani (Iran) */ - | "MZN_IR" + | 'MZN_IR' /** Nama */ - | "NAQ" + | 'NAQ' /** Nama (Namibia) */ - | "NAQ_NA" + | 'NAQ_NA' /** Norwegian Bokmål */ - | "NB" + | 'NB' /** Norwegian Bokmål (Norway) */ - | "NB_NO" + | 'NB_NO' /** Norwegian Bokmål (Svalbard & Jan Mayen) */ - | "NB_SJ" + | 'NB_SJ' /** North Ndebele */ - | "ND" + | 'ND' /** Low German */ - | "NDS" + | 'NDS' /** Low German (Germany) */ - | "NDS_DE" + | 'NDS_DE' /** Low German (Netherlands) */ - | "NDS_NL" + | 'NDS_NL' /** North Ndebele (Zimbabwe) */ - | "ND_ZW" + | 'ND_ZW' /** Nepali */ - | "NE" + | 'NE' /** Nepali (India) */ - | "NE_IN" + | 'NE_IN' /** Nepali (Nepal) */ - | "NE_NP" + | 'NE_NP' /** Dutch */ - | "NL" + | 'NL' /** Dutch (Aruba) */ - | "NL_AW" + | 'NL_AW' /** Dutch (Belgium) */ - | "NL_BE" + | 'NL_BE' /** Dutch (Caribbean Netherlands) */ - | "NL_BQ" + | 'NL_BQ' /** Dutch (Curaçao) */ - | "NL_CW" + | 'NL_CW' /** Dutch (Netherlands) */ - | "NL_NL" + | 'NL_NL' /** Dutch (Suriname) */ - | "NL_SR" + | 'NL_SR' /** Dutch (Sint Maarten) */ - | "NL_SX" + | 'NL_SX' /** Kwasio */ - | "NMG" + | 'NMG' /** Kwasio (Cameroon) */ - | "NMG_CM" + | 'NMG_CM' /** Norwegian Nynorsk */ - | "NN" + | 'NN' /** Ngiemboon */ - | "NNH" + | 'NNH' /** Ngiemboon (Cameroon) */ - | "NNH_CM" + | 'NNH_CM' /** Norwegian Nynorsk (Norway) */ - | "NN_NO" + | 'NN_NO' /** Nuer */ - | "NUS" + | 'NUS' /** Nuer (South Sudan) */ - | "NUS_SS" + | 'NUS_SS' /** Nyankole */ - | "NYN" + | 'NYN' /** Nyankole (Uganda) */ - | "NYN_UG" + | 'NYN_UG' /** Oromo */ - | "OM" + | 'OM' /** Oromo (Ethiopia) */ - | "OM_ET" + | 'OM_ET' /** Oromo (Kenya) */ - | "OM_KE" + | 'OM_KE' /** Odia */ - | "OR" + | 'OR' /** Odia (India) */ - | "OR_IN" + | 'OR_IN' /** Ossetic */ - | "OS" + | 'OS' /** Ossetic (Georgia) */ - | "OS_GE" + | 'OS_GE' /** Ossetic (Russia) */ - | "OS_RU" + | 'OS_RU' /** Punjabi */ - | "PA" + | 'PA' /** Punjabi (Arabic) */ - | "PA_ARAB" + | 'PA_ARAB' /** Punjabi (Arabic, Pakistan) */ - | "PA_ARAB_PK" + | 'PA_ARAB_PK' /** Punjabi (Gurmukhi) */ - | "PA_GURU" + | 'PA_GURU' /** Punjabi (Gurmukhi, India) */ - | "PA_GURU_IN" + | 'PA_GURU_IN' /** Nigerian Pidgin */ - | "PCM" + | 'PCM' /** Nigerian Pidgin (Nigeria) */ - | "PCM_NG" + | 'PCM_NG' /** Polish */ - | "PL" + | 'PL' /** Polish (Poland) */ - | "PL_PL" + | 'PL_PL' /** Prussian */ - | "PRG" + | 'PRG' /** Pashto */ - | "PS" + | 'PS' /** Pashto (Afghanistan) */ - | "PS_AF" + | 'PS_AF' /** Pashto (Pakistan) */ - | "PS_PK" + | 'PS_PK' /** Portuguese */ - | "PT" + | 'PT' /** Portuguese (Angola) */ - | "PT_AO" + | 'PT_AO' /** Portuguese (Brazil) */ - | "PT_BR" + | 'PT_BR' /** Portuguese (Switzerland) */ - | "PT_CH" + | 'PT_CH' /** Portuguese (Cape Verde) */ - | "PT_CV" + | 'PT_CV' /** Portuguese (Equatorial Guinea) */ - | "PT_GQ" + | 'PT_GQ' /** Portuguese (Guinea-Bissau) */ - | "PT_GW" + | 'PT_GW' /** Portuguese (Luxembourg) */ - | "PT_LU" + | 'PT_LU' /** Portuguese (Macao SAR China) */ - | "PT_MO" + | 'PT_MO' /** Portuguese (Mozambique) */ - | "PT_MZ" + | 'PT_MZ' /** Portuguese (Portugal) */ - | "PT_PT" + | 'PT_PT' /** Portuguese (São Tomé & Príncipe) */ - | "PT_ST" + | 'PT_ST' /** Portuguese (Timor-Leste) */ - | "PT_TL" + | 'PT_TL' /** Quechua */ - | "QU" + | 'QU' /** Quechua (Bolivia) */ - | "QU_BO" + | 'QU_BO' /** Quechua (Ecuador) */ - | "QU_EC" + | 'QU_EC' /** Quechua (Peru) */ - | "QU_PE" + | 'QU_PE' /** Romansh */ - | "RM" + | 'RM' /** Romansh (Switzerland) */ - | "RM_CH" + | 'RM_CH' /** Rundi */ - | "RN" + | 'RN' /** Rundi (Burundi) */ - | "RN_BI" + | 'RN_BI' /** Romanian */ - | "RO" + | 'RO' /** Rombo */ - | "ROF" + | 'ROF' /** Rombo (Tanzania) */ - | "ROF_TZ" + | 'ROF_TZ' /** Romanian (Moldova) */ - | "RO_MD" + | 'RO_MD' /** Romanian (Romania) */ - | "RO_RO" + | 'RO_RO' /** Russian */ - | "RU" + | 'RU' /** Russian (Belarus) */ - | "RU_BY" + | 'RU_BY' /** Russian (Kyrgyzstan) */ - | "RU_KG" + | 'RU_KG' /** Russian (Kazakhstan) */ - | "RU_KZ" + | 'RU_KZ' /** Russian (Moldova) */ - | "RU_MD" + | 'RU_MD' /** Russian (Russia) */ - | "RU_RU" + | 'RU_RU' /** Russian (Ukraine) */ - | "RU_UA" + | 'RU_UA' /** Kinyarwanda */ - | "RW" + | 'RW' /** Rwa */ - | "RWK" + | 'RWK' /** Rwa (Tanzania) */ - | "RWK_TZ" + | 'RWK_TZ' /** Kinyarwanda (Rwanda) */ - | "RW_RW" + | 'RW_RW' /** Sakha */ - | "SAH" + | 'SAH' /** Sakha (Russia) */ - | "SAH_RU" + | 'SAH_RU' /** Samburu */ - | "SAQ" + | 'SAQ' /** Samburu (Kenya) */ - | "SAQ_KE" + | 'SAQ_KE' /** Santali */ - | "SAT" + | 'SAT' /** Santali (Ol Chiki) */ - | "SAT_OLCK" + | 'SAT_OLCK' /** Santali (Ol Chiki, India) */ - | "SAT_OLCK_IN" + | 'SAT_OLCK_IN' /** Sangu */ - | "SBP" + | 'SBP' /** Sangu (Tanzania) */ - | "SBP_TZ" + | 'SBP_TZ' /** Sindhi */ - | "SD" + | 'SD' /** Sindhi (Arabic) */ - | "SD_ARAB" + | 'SD_ARAB' /** Sindhi (Arabic, Pakistan) */ - | "SD_ARAB_PK" + | 'SD_ARAB_PK' /** Sindhi (Devanagari) */ - | "SD_DEVA" + | 'SD_DEVA' /** Sindhi (Devanagari, India) */ - | "SD_DEVA_IN" + | 'SD_DEVA_IN' /** Northern Sami */ - | "SE" + | 'SE' /** Sena */ - | "SEH" + | 'SEH' /** Sena (Mozambique) */ - | "SEH_MZ" + | 'SEH_MZ' /** Koyraboro Senni */ - | "SES" + | 'SES' /** Koyraboro Senni (Mali) */ - | "SES_ML" + | 'SES_ML' /** Northern Sami (Finland) */ - | "SE_FI" + | 'SE_FI' /** Northern Sami (Norway) */ - | "SE_NO" + | 'SE_NO' /** Northern Sami (Sweden) */ - | "SE_SE" + | 'SE_SE' /** Sango */ - | "SG" + | 'SG' /** Sango (Central African Republic) */ - | "SG_CF" + | 'SG_CF' /** Tachelhit */ - | "SHI" + | 'SHI' /** Tachelhit (Latin) */ - | "SHI_LATN" + | 'SHI_LATN' /** Tachelhit (Latin, Morocco) */ - | "SHI_LATN_MA" + | 'SHI_LATN_MA' /** Tachelhit (Tifinagh) */ - | "SHI_TFNG" + | 'SHI_TFNG' /** Tachelhit (Tifinagh, Morocco) */ - | "SHI_TFNG_MA" + | 'SHI_TFNG_MA' /** Sinhala */ - | "SI" + | 'SI' /** Sinhala (Sri Lanka) */ - | "SI_LK" + | 'SI_LK' /** Slovak */ - | "SK" + | 'SK' /** Slovak (Slovakia) */ - | "SK_SK" + | 'SK_SK' /** Slovenian */ - | "SL" + | 'SL' /** Slovenian (Slovenia) */ - | "SL_SI" + | 'SL_SI' /** Inari Sami */ - | "SMN" + | 'SMN' /** Inari Sami (Finland) */ - | "SMN_FI" + | 'SMN_FI' /** Shona */ - | "SN" + | 'SN' /** Shona (Zimbabwe) */ - | "SN_ZW" + | 'SN_ZW' /** Somali */ - | "SO" + | 'SO' /** Somali (Djibouti) */ - | "SO_DJ" + | 'SO_DJ' /** Somali (Ethiopia) */ - | "SO_ET" + | 'SO_ET' /** Somali (Kenya) */ - | "SO_KE" + | 'SO_KE' /** Somali (Somalia) */ - | "SO_SO" + | 'SO_SO' /** Albanian */ - | "SQ" + | 'SQ' /** Albanian (Albania) */ - | "SQ_AL" + | 'SQ_AL' /** Albanian (North Macedonia) */ - | "SQ_MK" + | 'SQ_MK' /** Albanian (Kosovo) */ - | "SQ_XK" + | 'SQ_XK' /** Serbian */ - | "SR" + | 'SR' /** Serbian (Cyrillic) */ - | "SR_CYRL" + | 'SR_CYRL' /** Serbian (Cyrillic, Bosnia & Herzegovina) */ - | "SR_CYRL_BA" + | 'SR_CYRL_BA' /** Serbian (Cyrillic, Montenegro) */ - | "SR_CYRL_ME" + | 'SR_CYRL_ME' /** Serbian (Cyrillic, Serbia) */ - | "SR_CYRL_RS" + | 'SR_CYRL_RS' /** Serbian (Cyrillic, Kosovo) */ - | "SR_CYRL_XK" + | 'SR_CYRL_XK' /** Serbian (Latin) */ - | "SR_LATN" + | 'SR_LATN' /** Serbian (Latin, Bosnia & Herzegovina) */ - | "SR_LATN_BA" + | 'SR_LATN_BA' /** Serbian (Latin, Montenegro) */ - | "SR_LATN_ME" + | 'SR_LATN_ME' /** Serbian (Latin, Serbia) */ - | "SR_LATN_RS" + | 'SR_LATN_RS' /** Serbian (Latin, Kosovo) */ - | "SR_LATN_XK" + | 'SR_LATN_XK' /** Sundanese */ - | "SU" + | 'SU' /** Sundanese (Latin) */ - | "SU_LATN" + | 'SU_LATN' /** Sundanese (Latin, Indonesia) */ - | "SU_LATN_ID" + | 'SU_LATN_ID' /** Swedish */ - | "SV" + | 'SV' /** Swedish (Åland Islands) */ - | "SV_AX" + | 'SV_AX' /** Swedish (Finland) */ - | "SV_FI" + | 'SV_FI' /** Swedish (Sweden) */ - | "SV_SE" + | 'SV_SE' /** Swahili */ - | "SW" + | 'SW' /** Swahili (Congo - Kinshasa) */ - | "SW_CD" + | 'SW_CD' /** Swahili (Kenya) */ - | "SW_KE" + | 'SW_KE' /** Swahili (Tanzania) */ - | "SW_TZ" + | 'SW_TZ' /** Swahili (Uganda) */ - | "SW_UG" + | 'SW_UG' /** Tamil */ - | "TA" + | 'TA' /** Tamil (India) */ - | "TA_IN" + | 'TA_IN' /** Tamil (Sri Lanka) */ - | "TA_LK" + | 'TA_LK' /** Tamil (Malaysia) */ - | "TA_MY" + | 'TA_MY' /** Tamil (Singapore) */ - | "TA_SG" + | 'TA_SG' /** Telugu */ - | "TE" + | 'TE' /** Teso */ - | "TEO" + | 'TEO' /** Teso (Kenya) */ - | "TEO_KE" + | 'TEO_KE' /** Teso (Uganda) */ - | "TEO_UG" + | 'TEO_UG' /** Telugu (India) */ - | "TE_IN" + | 'TE_IN' /** Tajik */ - | "TG" + | 'TG' /** Tajik (Tajikistan) */ - | "TG_TJ" + | 'TG_TJ' /** Thai */ - | "TH" + | 'TH' /** Thai (Thailand) */ - | "TH_TH" + | 'TH_TH' /** Tigrinya */ - | "TI" + | 'TI' /** Tigrinya (Eritrea) */ - | "TI_ER" + | 'TI_ER' /** Tigrinya (Ethiopia) */ - | "TI_ET" + | 'TI_ET' /** Turkmen */ - | "TK" + | 'TK' /** Turkmen (Turkmenistan) */ - | "TK_TM" + | 'TK_TM' /** Tongan */ - | "TO" + | 'TO' /** Tongan (Tonga) */ - | "TO_TO" + | 'TO_TO' /** Turkish */ - | "TR" + | 'TR' /** Turkish (Cyprus) */ - | "TR_CY" + | 'TR_CY' /** Turkish (Turkey) */ - | "TR_TR" + | 'TR_TR' /** Tatar */ - | "TT" + | 'TT' /** Tatar (Russia) */ - | "TT_RU" + | 'TT_RU' /** Tasawaq */ - | "TWQ" + | 'TWQ' /** Tasawaq (Niger) */ - | "TWQ_NE" + | 'TWQ_NE' /** Central Atlas Tamazight */ - | "TZM" + | 'TZM' /** Central Atlas Tamazight (Morocco) */ - | "TZM_MA" + | 'TZM_MA' /** Uyghur */ - | "UG" + | 'UG' /** Uyghur (China) */ - | "UG_CN" + | 'UG_CN' /** Ukrainian */ - | "UK" + | 'UK' /** Ukrainian (Ukraine) */ - | "UK_UA" + | 'UK_UA' /** Urdu */ - | "UR" + | 'UR' /** Urdu (India) */ - | "UR_IN" + | 'UR_IN' /** Urdu (Pakistan) */ - | "UR_PK" + | 'UR_PK' /** Uzbek */ - | "UZ" + | 'UZ' /** Uzbek (Arabic) */ - | "UZ_ARAB" + | 'UZ_ARAB' /** Uzbek (Arabic, Afghanistan) */ - | "UZ_ARAB_AF" + | 'UZ_ARAB_AF' /** Uzbek (Cyrillic) */ - | "UZ_CYRL" + | 'UZ_CYRL' /** Uzbek (Cyrillic, Uzbekistan) */ - | "UZ_CYRL_UZ" + | 'UZ_CYRL_UZ' /** Uzbek (Latin) */ - | "UZ_LATN" + | 'UZ_LATN' /** Uzbek (Latin, Uzbekistan) */ - | "UZ_LATN_UZ" + | 'UZ_LATN_UZ' /** Vai */ - | "VAI" + | 'VAI' /** Vai (Latin) */ - | "VAI_LATN" + | 'VAI_LATN' /** Vai (Latin, Liberia) */ - | "VAI_LATN_LR" + | 'VAI_LATN_LR' /** Vai (Vai) */ - | "VAI_VAII" + | 'VAI_VAII' /** Vai (Vai, Liberia) */ - | "VAI_VAII_LR" + | 'VAI_VAII_LR' /** Vietnamese */ - | "VI" + | 'VI' /** Vietnamese (Vietnam) */ - | "VI_VN" + | 'VI_VN' /** Volapük */ - | "VO" + | 'VO' /** Vunjo */ - | "VUN" + | 'VUN' /** Vunjo (Tanzania) */ - | "VUN_TZ" + | 'VUN_TZ' /** Walser */ - | "WAE" + | 'WAE' /** Walser (Switzerland) */ - | "WAE_CH" + | 'WAE_CH' /** Wolof */ - | "WO" + | 'WO' /** Wolof (Senegal) */ - | "WO_SN" + | 'WO_SN' /** Xhosa */ - | "XH" + | 'XH' /** Xhosa (South Africa) */ - | "XH_ZA" + | 'XH_ZA' /** Soga */ - | "XOG" + | 'XOG' /** Soga (Uganda) */ - | "XOG_UG" + | 'XOG_UG' /** Yangben */ - | "YAV" + | 'YAV' /** Yangben (Cameroon) */ - | "YAV_CM" + | 'YAV_CM' /** Yiddish */ - | "YI" + | 'YI' /** Yoruba */ - | "YO" + | 'YO' /** Yoruba (Benin) */ - | "YO_BJ" + | 'YO_BJ' /** Yoruba (Nigeria) */ - | "YO_NG" + | 'YO_NG' /** Cantonese */ - | "YUE" + | 'YUE' /** Cantonese (Simplified) */ - | "YUE_HANS" + | 'YUE_HANS' /** Cantonese (Simplified, China) */ - | "YUE_HANS_CN" + | 'YUE_HANS_CN' /** Cantonese (Traditional) */ - | "YUE_HANT" + | 'YUE_HANT' /** Cantonese (Traditional, Hong Kong SAR China) */ - | "YUE_HANT_HK" + | 'YUE_HANT_HK' /** Standard Moroccan Tamazight */ - | "ZGH" + | 'ZGH' /** Standard Moroccan Tamazight (Morocco) */ - | "ZGH_MA" + | 'ZGH_MA' /** Chinese */ - | "ZH" + | 'ZH' /** Chinese (Simplified) */ - | "ZH_HANS" + | 'ZH_HANS' /** Chinese (Simplified, China) */ - | "ZH_HANS_CN" + | 'ZH_HANS_CN' /** Chinese (Simplified, Hong Kong SAR China) */ - | "ZH_HANS_HK" + | 'ZH_HANS_HK' /** Chinese (Simplified, Macao SAR China) */ - | "ZH_HANS_MO" + | 'ZH_HANS_MO' /** Chinese (Simplified, Singapore) */ - | "ZH_HANS_SG" + | 'ZH_HANS_SG' /** Chinese (Traditional) */ - | "ZH_HANT" + | 'ZH_HANT' /** Chinese (Traditional, Hong Kong SAR China) */ - | "ZH_HANT_HK" + | 'ZH_HANT_HK' /** Chinese (Traditional, Macao SAR China) */ - | "ZH_HANT_MO" + | 'ZH_HANT_MO' /** Chinese (Traditional, Taiwan) */ - | "ZH_HANT_TW" + | 'ZH_HANT_TW' /** Zulu */ - | "ZU" + | 'ZU' /** Zulu (South Africa) */ - | "ZU_ZA"; + | 'ZU_ZA'; export type LanguageDisplay = { /** ISO 639 representation of the language name. */ code: LanguageCodeEnum; /** Full name of the language. */ - language: Scalars["String"]["output"]; + language: Scalars['String']['output']; }; /** Store the current and allowed usage. */ @@ -10731,15 +10996,15 @@ export type LimitInfo = { export type Limits = { /** Defines the number of channels. */ - channels: Maybe; + channels: Maybe; /** Defines the number of order. */ - orders: Maybe; + orders: Maybe; /** Defines the number of product variants. */ - productVariants: Maybe; + productVariants: Maybe; /** Defines the number of staff users. */ - staffUsers: Maybe; + staffUsers: Maybe; /** Defines the number of warehouses. */ - warehouses: Maybe; + warehouses: Maybe; }; /** Filter input for order lines data. */ @@ -10757,7 +11022,7 @@ export type ListStoredPaymentMethods = Event & { /** Channel in context which was used to fetch the list of payment methods. */ channel: Channel; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -10765,51 +11030,51 @@ export type ListStoredPaymentMethods = Event & { /** The user for which the app should return a list of payment methods. */ user: User; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** The manifest definition. */ export type Manifest = { /** Description of the app displayed in the dashboard. */ - about: Maybe; + about: Maybe; /** App website rendered in the dashboard. */ - appUrl: Maybe; + appUrl: Maybe; /** The audience that will be included in all JWT tokens for the app. */ - audience: Maybe; + audience: Maybe; /** The App's author name. */ - author: Maybe; + author: Maybe; /** App's brand data. */ brand: Maybe; /** * URL to iframe with the configuration for the app. * @deprecated Use `appUrl` instead. */ - configurationUrl: Maybe; + configurationUrl: Maybe; /** * Description of the data privacy defined for this app. * @deprecated Use `dataPrivacyUrl` instead. */ - dataPrivacy: Maybe; + dataPrivacy: Maybe; /** URL to the full privacy policy. */ - dataPrivacyUrl: Maybe; + dataPrivacyUrl: Maybe; /** List of extensions that will be mounted in Saleor's dashboard. For details, please [see the extension section.](https://docs.saleor.io/developer/extending/apps/extending-dashboard-with-apps#key-concepts) */ extensions: Array; /** External URL to the app homepage. */ - homepageUrl: Maybe; + homepageUrl: Maybe; /** The identifier of the manifest for the app. */ - identifier: Scalars["String"]["output"]; + identifier: Scalars['String']['output']; /** The name of the manifest for the app . */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** The array permissions required for the app. */ permissions: Maybe>; /** Determines the app's required Saleor version as semver range. */ requiredSaleorVersion: Maybe; /** External URL to the page where app users can find support. */ - supportUrl: Maybe; + supportUrl: Maybe; /** Endpoint used during process of app installation, [see installing an app.](https://docs.saleor.io/developer/extending/apps/installing-apps#installing-an-app) */ - tokenTargetUrl: Maybe; + tokenTargetUrl: Maybe; /** The version of the manifest for the app. */ - version: Scalars["String"]["output"]; + version: Scalars['String']['output']; /** List of the app's webhooks. */ webhooks: Array; }; @@ -10817,9 +11082,9 @@ export type Manifest = { /** Metadata for the Margin class. */ export type Margin = { /** The starting value of the margin. */ - start: Maybe; + start: Maybe; /** The ending value of the margin. */ - stop: Maybe; + stop: Maybe; }; /** @@ -10833,43 +11098,45 @@ export type Margin = { * * */ -export type MarkAsPaidStrategyEnum = "PAYMENT_FLOW" | "TRANSACTION_FLOW"; +export type MarkAsPaidStrategyEnum = + | 'PAYMENT_FLOW' + | 'TRANSACTION_FLOW'; export type MeasurementUnitsEnum = - | "ACRE_FT" - | "ACRE_IN" - | "CM" - | "CUBIC_CENTIMETER" - | "CUBIC_DECIMETER" - | "CUBIC_FOOT" - | "CUBIC_INCH" - | "CUBIC_METER" - | "CUBIC_MILLIMETER" - | "CUBIC_YARD" - | "DM" - | "FL_OZ" - | "FT" - | "G" - | "INCH" - | "KG" - | "KM" - | "LB" - | "LITER" - | "M" - | "MM" - | "OZ" - | "PINT" - | "QT" - | "SQ_CM" - | "SQ_DM" - | "SQ_FT" - | "SQ_INCH" - | "SQ_KM" - | "SQ_M" - | "SQ_MM" - | "SQ_YD" - | "TONNE" - | "YD"; + | 'ACRE_FT' + | 'ACRE_IN' + | 'CM' + | 'CUBIC_CENTIMETER' + | 'CUBIC_DECIMETER' + | 'CUBIC_FOOT' + | 'CUBIC_INCH' + | 'CUBIC_METER' + | 'CUBIC_MILLIMETER' + | 'CUBIC_YARD' + | 'DM' + | 'FL_OZ' + | 'FT' + | 'G' + | 'INCH' + | 'KG' + | 'KM' + | 'LB' + | 'LITER' + | 'M' + | 'MM' + | 'OZ' + | 'PINT' + | 'QT' + | 'SQ_CM' + | 'SQ_DM' + | 'SQ_FT' + | 'SQ_INCH' + | 'SQ_KM' + | 'SQ_M' + | 'SQ_MM' + | 'SQ_YD' + | 'TONNE' + | 'YD'; export type MeasurementUnitsEnumFilterInput = { /** The value equal to. */ @@ -10880,15 +11147,15 @@ export type MeasurementUnitsEnumFilterInput = { export type MediaChoicesSortField = /** Sort media by ID. */ - "ID"; + | 'ID'; export type MediaInput = { /** Alt text for a product media. */ - alt?: InputMaybe; + alt?: InputMaybe; /** Represents an image file in a multipart request. */ - image?: InputMaybe; + image?: InputMaybe; /** Represents an URL to an external media. */ - mediaUrl?: InputMaybe; + mediaUrl?: InputMaybe; }; export type MediaSortingInput = { @@ -10899,56 +11166,59 @@ export type MediaSortingInput = { }; /** Represents a single menu - an object that is used to help navigate through the store. */ -export type Menu = Node & - ObjectWithMetadata & { - /** The ID of the menu. */ - id: Scalars["ID"]["output"]; - /** Menu items associated with this menu. */ - items: Maybe>; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** The name of the menu. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Slug of the menu. */ - slug: Scalars["String"]["output"]; - }; +export type Menu = Node & ObjectWithMetadata & { + /** The ID of the menu. */ + id: Scalars['ID']['output']; + /** Menu items associated with this menu. */ + items: Maybe>; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** The name of the menu. */ + name: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Slug of the menu. */ + slug: Scalars['String']['output']; +}; + /** Represents a single menu - an object that is used to help navigate through the store. */ export type MenuMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a single menu - an object that is used to help navigate through the store. */ export type MenuMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a single menu - an object that is used to help navigate through the store. */ export type MenuPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a single menu - an object that is used to help navigate through the store. */ export type MenuPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** @@ -10961,7 +11231,7 @@ export type MenuPrivateMetafieldsArgs = { */ export type MenuBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ menuErrors: Array; @@ -10972,12 +11242,12 @@ export type MenuCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type MenuCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Menu; }; @@ -11001,15 +11271,15 @@ export type MenuCreateInput = { /** List of menu items. */ items?: InputMaybe>; /** Name of the menu. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** Slug of the menu. Will be generated if not provided. */ - slug?: InputMaybe; + slug?: InputMaybe; }; /** Event sent when new menu is created. */ export type MenuCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The menu the event relates to. */ @@ -11017,12 +11287,13 @@ export type MenuCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when new menu is created. */ export type MenuCreatedMenuArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -11043,7 +11314,7 @@ export type MenuDelete = { /** Event sent when menu is deleted. */ export type MenuDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The menu the event relates to. */ @@ -11051,115 +11322,120 @@ export type MenuDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when menu is deleted. */ export type MenuDeletedMenuArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type MenuError = { /** The error code. */ code: MenuErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type MenuErrorCode = - | "CANNOT_ASSIGN_NODE" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_MENU_ITEM" - | "NOT_FOUND" - | "NO_MENU_ITEM_PROVIDED" - | "REQUIRED" - | "TOO_MANY_MENU_ITEMS" - | "UNIQUE"; + | 'CANNOT_ASSIGN_NODE' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_MENU_ITEM' + | 'NOT_FOUND' + | 'NO_MENU_ITEM_PROVIDED' + | 'REQUIRED' + | 'TOO_MANY_MENU_ITEMS' + | 'UNIQUE'; export type MenuFilterInput = { metadata?: InputMaybe>; - search?: InputMaybe; - slug?: InputMaybe>; - slugs?: InputMaybe>; + search?: InputMaybe; + slug?: InputMaybe>; + slugs?: InputMaybe>; }; export type MenuInput = { /** Name of the menu. */ - name?: InputMaybe; + name?: InputMaybe; /** Slug of the menu. */ - slug?: InputMaybe; + slug?: InputMaybe; +}; + +/** Represents a single item of the related menu. Can store categories, collection or pages. */ +export type MenuItem = Node & ObjectWithMetadata & { + /** Category associated with the menu item. */ + category: Maybe; + /** Represents the child items of the current menu item. */ + children: Maybe>; + /** A collection associated with this menu item. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. */ + collection: Maybe; + /** The ID of the menu item. */ + id: Scalars['ID']['output']; + /** Indicates the position of the menu item within the menu structure. */ + level: Scalars['Int']['output']; + /** Represents the menu to which the menu item belongs. */ + menu: Menu; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** The name of the menu item. */ + name: Scalars['String']['output']; + /** A page associated with this menu item. Requires one of the following permissions to include unpublished items: MANAGE_PAGES. */ + page: Maybe; + /** ID of parent menu item. If empty, menu will be top level menu. */ + parent: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Returns translated menu item fields for the given language code. */ + translation: Maybe; + /** URL to the menu item. */ + url: Maybe; }; -/** Represents a single item of the related menu. Can store categories, collection or pages. */ -export type MenuItem = Node & - ObjectWithMetadata & { - /** Category associated with the menu item. */ - category: Maybe; - /** Represents the child items of the current menu item. */ - children: Maybe>; - /** A collection associated with this menu item. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. */ - collection: Maybe; - /** The ID of the menu item. */ - id: Scalars["ID"]["output"]; - /** Indicates the position of the menu item within the menu structure. */ - level: Scalars["Int"]["output"]; - /** Represents the menu to which the menu item belongs. */ - menu: Menu; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** The name of the menu item. */ - name: Scalars["String"]["output"]; - /** A page associated with this menu item. Requires one of the following permissions to include unpublished items: MANAGE_PAGES. */ - page: Maybe; - /** ID of parent menu item. If empty, menu will be top level menu. */ - parent: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Returns translated menu item fields for the given language code. */ - translation: Maybe; - /** URL to the menu item. */ - url: Maybe; - }; /** Represents a single item of the related menu. Can store categories, collection or pages. */ export type MenuItemMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a single item of the related menu. Can store categories, collection or pages. */ export type MenuItemMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a single item of the related menu. Can store categories, collection or pages. */ export type MenuItemPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a single item of the related menu. Can store categories, collection or pages. */ export type MenuItemPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a single item of the related menu. Can store categories, collection or pages. */ export type MenuItemTranslationArgs = { languageCode: LanguageCodeEnum; @@ -11175,7 +11451,7 @@ export type MenuItemTranslationArgs = { */ export type MenuItemBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ menuErrors: Array; @@ -11186,12 +11462,12 @@ export type MenuItemCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type MenuItemCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: MenuItem; }; @@ -11213,25 +11489,25 @@ export type MenuItemCreate = { export type MenuItemCreateInput = { /** Category to which item points. */ - category?: InputMaybe; + category?: InputMaybe; /** Collection to which item points. */ - collection?: InputMaybe; + collection?: InputMaybe; /** Menu to which item belongs. */ - menu: Scalars["ID"]["input"]; + menu: Scalars['ID']['input']; /** Name of the menu item. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** Page to which item points. */ - page?: InputMaybe; + page?: InputMaybe; /** ID of the parent menu. If empty, menu will be top level menu. */ - parent?: InputMaybe; + parent?: InputMaybe; /** URL of the pointed item. */ - url?: InputMaybe; + url?: InputMaybe; }; /** Event sent when new menu item is created. */ export type MenuItemCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The menu item the event relates to. */ @@ -11239,12 +11515,13 @@ export type MenuItemCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when new menu item is created. */ export type MenuItemCreatedMenuItemArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -11265,7 +11542,7 @@ export type MenuItemDelete = { /** Event sent when menu item is deleted. */ export type MenuItemDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The menu item the event relates to. */ @@ -11273,30 +11550,31 @@ export type MenuItemDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when menu item is deleted. */ export type MenuItemDeletedMenuItemArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type MenuItemFilterInput = { metadata?: InputMaybe>; - search?: InputMaybe; + search?: InputMaybe; }; export type MenuItemInput = { /** Category to which item points. */ - category?: InputMaybe; + category?: InputMaybe; /** Collection to which item points. */ - collection?: InputMaybe; + collection?: InputMaybe; /** Name of the menu item. */ - name?: InputMaybe; + name?: InputMaybe; /** Page to which item points. */ - page?: InputMaybe; + page?: InputMaybe; /** URL of the pointed item. */ - url?: InputMaybe; + url?: InputMaybe; }; /** @@ -11317,11 +11595,11 @@ export type MenuItemMove = { export type MenuItemMoveInput = { /** The menu item ID to move. */ - itemId: Scalars["ID"]["input"]; + itemId: Scalars['ID']['input']; /** ID of the parent menu. If empty, menu will be top level menu. */ - parentId?: InputMaybe; + parentId?: InputMaybe; /** The new relative sorting position of the item (from -inf to +inf). 1 moves the item one position forward, -1 moves the item one position backward, 0 leaves the item unchanged. */ - sortOrder?: InputMaybe; + sortOrder?: InputMaybe; }; export type MenuItemSortingInput = { @@ -11334,20 +11612,21 @@ export type MenuItemSortingInput = { /** Represents menu item's original translatable fields and related translations. */ export type MenuItemTranslatableContent = Node & { /** The ID of the menu item translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** * Represents a single item of the related menu. Can store categories, collection or pages. * @deprecated Get model fields from the root level queries. */ menuItem: Maybe; /** The ID of the menu item to translate. */ - menuItemId: Scalars["ID"]["output"]; + menuItemId: Scalars['ID']['output']; /** Name of the menu item to translate. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Returns translated menu item fields for the given language code. */ translation: Maybe; }; + /** Represents menu item's original translatable fields and related translations. */ export type MenuItemTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -11368,11 +11647,11 @@ export type MenuItemTranslate = { /** Represents menu item translations. */ export type MenuItemTranslation = Node & { /** The ID of the menu item translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated menu item name. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Represents the menu item fields to translate. */ translatableContent: Maybe; }; @@ -11395,7 +11674,7 @@ export type MenuItemUpdate = { /** Event sent when menu item is updated. */ export type MenuItemUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The menu item the event relates to. */ @@ -11403,23 +11682,24 @@ export type MenuItemUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when menu item is updated. */ export type MenuItemUpdatedMenuItemArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type MenuItemsSortField = /** Sort menu items by name. */ - "NAME"; + | 'NAME'; export type MenuSortField = /** Sort menus by items count. */ - | "ITEMS_COUNT" + | 'ITEMS_COUNT' /** Sort menus by name. */ - | "NAME"; + | 'NAME'; export type MenuSortingInput = { /** Specifies the direction in which to sort menus. */ @@ -11446,7 +11726,7 @@ export type MenuUpdate = { /** Event sent when menu is updated. */ export type MenuUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The menu the event relates to. */ @@ -11454,35 +11734,36 @@ export type MenuUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when menu is updated. */ export type MenuUpdatedMenuArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type MetadataError = { /** The error code. */ code: MetadataErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type MetadataErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "NOT_UPDATED" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'NOT_UPDATED' + | 'REQUIRED'; export type MetadataFilter = { /** Key of a metadata item. */ - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; /** Value of a metadata item. */ - value?: InputMaybe; + value?: InputMaybe; }; /** @@ -11499,50 +11780,50 @@ export type MetadataFilter = { */ export type MetadataFilterInput = { /** Key to filter by. If not other fields provided - checking the existence of the key in metadata. */ - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; /** Value to filter by. */ value?: InputMaybe; }; export type MetadataInput = { /** Key of a metadata item. */ - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; /** Value of a metadata item. */ - value: Scalars["String"]["input"]; + value: Scalars['String']['input']; }; export type MetadataItem = { /** Key of a metadata item. */ - key: Scalars["String"]["output"]; + key: Scalars['String']['output']; /** Value of a metadata item. */ - value: Scalars["String"]["output"]; + value: Scalars['String']['output']; }; /** Define the filtering options for metadata value fields. */ export type MetadataValueFilterInput = { /** The value equal to. */ - eq?: InputMaybe; + eq?: InputMaybe; /** The value included in. */ - oneOf?: InputMaybe>; + oneOf?: InputMaybe>; }; /** Represents amount of money in specific currency. */ export type Money = { /** Amount of money. */ - amount: Scalars["Float"]["output"]; + amount: Scalars['Float']['output']; /** Currency code. */ - currency: Scalars["String"]["output"]; + currency: Scalars['String']['output']; /** Number of digits after the decimal point in the currency. */ - fractionDigits: Scalars["Int"]["output"]; + fractionDigits: Scalars['Int']['output']; /** Amount of money represented as an integer in the smallest currency unit. */ - fractionalAmount: Scalars["Int"]["output"]; + fractionalAmount: Scalars['Int']['output']; }; export type MoneyInput = { /** Amount of money. */ - amount: Scalars["PositiveDecimal"]["input"]; + amount: Scalars['PositiveDecimal']['input']; /** Currency code. */ - currency: Scalars["String"]["input"]; + currency: Scalars['String']['input']; }; /** Represents a range of amounts of money. */ @@ -11555,9 +11836,9 @@ export type MoneyRange = { export type MoveProductInput = { /** The ID of the product to move. */ - productId: Scalars["ID"]["input"]; + productId: Scalars['ID']['input']; /** The relative sorting position of the product (from -inf to +inf) starting from the first given product's actual position.1 moves the item one position forward, -1 moves the item one position backward, 0 leaves the item unchanged. */ - sortOrder?: InputMaybe; + sortOrder?: InputMaybe; }; export type Mutation = { @@ -12066,7 +12347,6 @@ export type Mutation = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout delivery method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ checkoutDeliveryMethodUpdate: Maybe; @@ -12134,7 +12414,6 @@ export type Mutation = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout shipping method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. * @deprecated Use `checkoutDeliveryMethodUpdate` instead. */ @@ -12278,15 +12557,33 @@ export type Mutation = { */ deleteWarehouse: Maybe; /** - * Calculates available delivery options for a checkout. + * Create new digital content. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec * - * Added in Saleor 3.23. + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentCreate: Maybe; + /** + * Remove digital content assigned to given variant. * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered to fetch external shipping methods. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Triggered to filter shipping methods. + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentDelete: Maybe; + /** + * Updates digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentUpdate: Maybe; + /** + * Generate new URL to digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. */ - deliveryOptionsCalculate: Maybe; + digitalContentUrlCreate: Maybe; /** * Deletes draft orders. * @@ -12338,7 +12635,6 @@ export type Mutation = { * Triggers the following webhook events: * - NOTIFY_USER (async): A notification for the exported file. * - GIFT_CARD_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportGiftCards: Maybe; /** @@ -12349,7 +12645,6 @@ export type Mutation = { * Triggers the following webhook events: * - NOTIFY_USER (async): A notification for the exported file. * - PRODUCT_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportProducts: Maybe; /** @@ -12357,11 +12652,12 @@ export type Mutation = { * * Added in Saleor 3.18. * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + * * Requires one of the following permissions: MANAGE_DISCOUNTS. * * Triggers the following webhook events: * - VOUCHER_CODE_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportVoucherCodes: Maybe; /** Prepare external authentication URL for user by custom plugin. */ @@ -13886,1622 +14182,1971 @@ export type Mutation = { webhookUpdate: Maybe; }; + export type MutationAccountAddressCreateArgs = { - customerId?: InputMaybe; + customerId?: InputMaybe; input: AddressInput; type?: InputMaybe; }; + export type MutationAccountAddressDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationAccountAddressUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: AddressInput; }; + export type MutationAccountDeleteArgs = { - token: Scalars["String"]["input"]; + token: Scalars['String']['input']; }; + export type MutationAccountRegisterArgs = { input: AccountRegisterInput; }; + export type MutationAccountRequestDeletionArgs = { - channel?: InputMaybe; - redirectUrl: Scalars["String"]["input"]; + channel?: InputMaybe; + redirectUrl: Scalars['String']['input']; }; + export type MutationAccountSetDefaultAddressArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; type: AddressTypeEnum; }; + export type MutationAccountUpdateArgs = { - customerId?: InputMaybe; + customerId?: InputMaybe; input: AccountInput; }; + export type MutationAddressCreateArgs = { input: AddressInput; - userId: Scalars["ID"]["input"]; + userId: Scalars['ID']['input']; }; + export type MutationAddressDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationAddressSetDefaultArgs = { - addressId: Scalars["ID"]["input"]; + addressId: Scalars['ID']['input']; type: AddressTypeEnum; - userId: Scalars["ID"]["input"]; + userId: Scalars['ID']['input']; }; + export type MutationAddressUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: AddressInput; }; + export type MutationAppActivateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationAppCreateArgs = { input: AppInput; }; + export type MutationAppDeactivateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationAppDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationAppDeleteFailedInstallationArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationAppFetchManifestArgs = { - manifestUrl: Scalars["String"]["input"]; + manifestUrl: Scalars['String']['input']; }; + export type MutationAppInstallArgs = { input: AppInstallInput; }; + export type MutationAppProblemCreateArgs = { input: AppProblemCreateInput; }; + export type MutationAppProblemDismissArgs = { input: AppProblemDismissInput; }; + export type MutationAppReenableSyncWebhooksArgs = { - appId: Scalars["ID"]["input"]; + appId: Scalars['ID']['input']; }; + export type MutationAppRetryInstallArgs = { - activateAfterInstallation?: InputMaybe; - id: Scalars["ID"]["input"]; + activateAfterInstallation?: InputMaybe; + id: Scalars['ID']['input']; }; + export type MutationAppTokenCreateArgs = { input: AppTokenInput; }; + export type MutationAppTokenDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationAppTokenVerifyArgs = { - token: Scalars["String"]["input"]; + token: Scalars['String']['input']; }; + export type MutationAppUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: AppInput; }; + export type MutationAssignNavigationArgs = { - menu?: InputMaybe; + menu?: InputMaybe; navigationType: NavigationType; }; + export type MutationAssignWarehouseShippingZoneArgs = { - id: Scalars["ID"]["input"]; - shippingZoneIds: Array; + id: Scalars['ID']['input']; + shippingZoneIds: Array; }; + export type MutationAttributeBulkCreateArgs = { attributes: Array; errorPolicy?: InputMaybe; }; + export type MutationAttributeBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationAttributeBulkTranslateArgs = { errorPolicy?: InputMaybe; translations: Array; }; + export type MutationAttributeBulkUpdateArgs = { attributes: Array; errorPolicy?: InputMaybe; }; + export type MutationAttributeCreateArgs = { input: AttributeCreateInput; }; + export type MutationAttributeDeleteArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; }; + export type MutationAttributeReorderValuesArgs = { - attributeId: Scalars["ID"]["input"]; + attributeId: Scalars['ID']['input']; moves: Array; }; + export type MutationAttributeTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: NameTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationAttributeUpdateArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; input: AttributeUpdateInput; }; + export type MutationAttributeValueBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationAttributeValueBulkTranslateArgs = { errorPolicy?: InputMaybe; translations: Array; }; + export type MutationAttributeValueCreateArgs = { - attribute: Scalars["ID"]["input"]; + attribute: Scalars['ID']['input']; input: AttributeValueCreateInput; }; + export type MutationAttributeValueDeleteArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; }; + export type MutationAttributeValueTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: AttributeValueTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationAttributeValueUpdateArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; input: AttributeValueUpdateInput; }; + export type MutationCategoryBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationCategoryCreateArgs = { input: CategoryInput; - parent?: InputMaybe; + parent?: InputMaybe; }; + export type MutationCategoryDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationCategoryTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: TranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationCategoryUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: CategoryInput; }; + export type MutationChannelActivateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationChannelCreateArgs = { input: ChannelCreateInput; }; + export type MutationChannelDeactivateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationChannelDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input?: InputMaybe; }; + export type MutationChannelReorderWarehousesArgs = { - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; moves: Array; }; + export type MutationChannelUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ChannelUpdateInput; }; + export type MutationCheckoutAddPromoCodeArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; - promoCode: Scalars["String"]["input"]; - token?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; + promoCode: Scalars['String']['input']; + token?: InputMaybe; }; + export type MutationCheckoutBillingAddressUpdateArgs = { billingAddress: AddressInput; - checkoutId?: InputMaybe; - id?: InputMaybe; - saveAddress?: InputMaybe; - token?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; + saveAddress?: InputMaybe; + token?: InputMaybe; validationRules?: InputMaybe; }; + export type MutationCheckoutCompleteArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; metadata?: InputMaybe>; - paymentData?: InputMaybe; - redirectUrl?: InputMaybe; - storeSource?: InputMaybe; - token?: InputMaybe; + paymentData?: InputMaybe; + redirectUrl?: InputMaybe; + storeSource?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutCreateArgs = { input: CheckoutCreateInput; }; + export type MutationCheckoutCreateFromOrderArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationCheckoutCustomerAttachArgs = { - checkoutId?: InputMaybe; - customerId?: InputMaybe; - id?: InputMaybe; - token?: InputMaybe; + checkoutId?: InputMaybe; + customerId?: InputMaybe; + id?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutCustomerDetachArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; - token?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutCustomerNoteUpdateArgs = { - customerNote: Scalars["String"]["input"]; - id: Scalars["ID"]["input"]; + customerNote: Scalars['String']['input']; + id: Scalars['ID']['input']; }; + export type MutationCheckoutDeliveryMethodUpdateArgs = { - deliveryMethodId?: InputMaybe; - id?: InputMaybe; - token?: InputMaybe; + deliveryMethodId?: InputMaybe; + id?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutEmailUpdateArgs = { - checkoutId?: InputMaybe; - email: Scalars["String"]["input"]; - id?: InputMaybe; - token?: InputMaybe; + checkoutId?: InputMaybe; + email: Scalars['String']['input']; + id?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutLanguageCodeUpdateArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; languageCode: LanguageCodeEnum; - token?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutLineDeleteArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; - lineId?: InputMaybe; - token?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; + lineId?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutLinesAddArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; lines: Array; - token?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutLinesDeleteArgs = { - id?: InputMaybe; - linesIds: Array; - token?: InputMaybe; + id?: InputMaybe; + linesIds: Array; + token?: InputMaybe; }; + export type MutationCheckoutLinesUpdateArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; lines: Array; - token?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutPaymentCreateArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; input: PaymentInput; - token?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutRemovePromoCodeArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; - promoCode?: InputMaybe; - promoCodeId?: InputMaybe; - token?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; + promoCode?: InputMaybe; + promoCodeId?: InputMaybe; + token?: InputMaybe; }; + export type MutationCheckoutShippingAddressUpdateArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; - saveAddress?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; + saveAddress?: InputMaybe; shippingAddress: AddressInput; - token?: InputMaybe; + token?: InputMaybe; validationRules?: InputMaybe; }; + export type MutationCheckoutShippingMethodUpdateArgs = { - checkoutId?: InputMaybe; - id?: InputMaybe; - shippingMethodId?: InputMaybe; - token?: InputMaybe; + checkoutId?: InputMaybe; + id?: InputMaybe; + shippingMethodId?: InputMaybe; + token?: InputMaybe; }; + export type MutationCollectionAddProductsArgs = { - collectionId: Scalars["ID"]["input"]; - products: Array; + collectionId: Scalars['ID']['input']; + products: Array; }; + export type MutationCollectionBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationCollectionChannelListingUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: CollectionChannelListingUpdateInput; }; + export type MutationCollectionCreateArgs = { input: CollectionCreateInput; }; + export type MutationCollectionDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationCollectionRemoveProductsArgs = { - collectionId: Scalars["ID"]["input"]; - products: Array; + collectionId: Scalars['ID']['input']; + products: Array; }; + export type MutationCollectionReorderProductsArgs = { - collectionId: Scalars["ID"]["input"]; + collectionId: Scalars['ID']['input']; moves: Array; }; + export type MutationCollectionTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: TranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationCollectionUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: CollectionInput; }; + export type MutationConfirmAccountArgs = { - email: Scalars["String"]["input"]; - token: Scalars["String"]["input"]; + email: Scalars['String']['input']; + token: Scalars['String']['input']; }; + export type MutationConfirmEmailChangeArgs = { - channel?: InputMaybe; - token: Scalars["String"]["input"]; + channel?: InputMaybe; + token: Scalars['String']['input']; }; + export type MutationCreateWarehouseArgs = { input: WarehouseCreateInput; }; + export type MutationCustomerBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationCustomerBulkUpdateArgs = { customers: Array; errorPolicy?: InputMaybe; }; + export type MutationCustomerCreateArgs = { input: UserCreateInput; }; + export type MutationCustomerDeleteArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; }; + export type MutationCustomerUpdateArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; input: CustomerInput; }; + export type MutationDeleteMetadataArgs = { - id: Scalars["ID"]["input"]; - keys: Array; + id: Scalars['ID']['input']; + keys: Array; }; + export type MutationDeletePrivateMetadataArgs = { - id: Scalars["ID"]["input"]; - keys: Array; + id: Scalars['ID']['input']; + keys: Array; }; + export type MutationDeleteWarehouseArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentCreateArgs = { + input: DigitalContentUploadInput; + variantId: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentDeleteArgs = { + variantId: Scalars['ID']['input']; }; -export type MutationDeliveryOptionsCalculateArgs = { - id: Scalars["ID"]["input"]; + +export type MutationDigitalContentUpdateArgs = { + input: DigitalContentInput; + variantId: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentUrlCreateArgs = { + input: DigitalContentUrlCreateInput; }; + export type MutationDraftOrderBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationDraftOrderCompleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationDraftOrderCreateArgs = { input: DraftOrderCreateInput; }; + export type MutationDraftOrderDeleteArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; }; + export type MutationDraftOrderLinesBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationDraftOrderUpdateArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; input: DraftOrderInput; }; + export type MutationEventDeliveryRetryArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationExportGiftCardsArgs = { input: ExportGiftCardsInput; }; + export type MutationExportProductsArgs = { input: ExportProductsInput; }; + export type MutationExportVoucherCodesArgs = { input: ExportVoucherCodesInput; }; + export type MutationExternalAuthenticationUrlArgs = { - input: Scalars["JSONString"]["input"]; - pluginId: Scalars["String"]["input"]; + input: Scalars['JSONString']['input']; + pluginId: Scalars['String']['input']; }; + export type MutationExternalLogoutArgs = { - input: Scalars["JSONString"]["input"]; - pluginId: Scalars["String"]["input"]; + input: Scalars['JSONString']['input']; + pluginId: Scalars['String']['input']; }; + export type MutationExternalNotificationTriggerArgs = { - channel: Scalars["String"]["input"]; + channel: Scalars['String']['input']; input: ExternalNotificationTriggerInput; - pluginId?: InputMaybe; + pluginId?: InputMaybe; }; + export type MutationExternalObtainAccessTokensArgs = { - input: Scalars["JSONString"]["input"]; - pluginId: Scalars["String"]["input"]; + input: Scalars['JSONString']['input']; + pluginId: Scalars['String']['input']; }; + export type MutationExternalRefreshArgs = { - input: Scalars["JSONString"]["input"]; - pluginId: Scalars["String"]["input"]; + input: Scalars['JSONString']['input']; + pluginId: Scalars['String']['input']; }; + export type MutationExternalVerifyArgs = { - input: Scalars["JSONString"]["input"]; - pluginId: Scalars["String"]["input"]; + input: Scalars['JSONString']['input']; + pluginId: Scalars['String']['input']; }; + export type MutationFileUploadArgs = { - file: Scalars["Upload"]["input"]; + file: Scalars['Upload']['input']; }; + export type MutationGiftCardActivateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationGiftCardAddNoteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: GiftCardAddNoteInput; }; + export type MutationGiftCardBulkActivateArgs = { - ids: Array; + ids: Array; }; + export type MutationGiftCardBulkCreateArgs = { input: GiftCardBulkCreateInput; }; + export type MutationGiftCardBulkDeactivateArgs = { - ids: Array; + ids: Array; }; + export type MutationGiftCardBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationGiftCardCreateArgs = { input: GiftCardCreateInput; }; + export type MutationGiftCardDeactivateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationGiftCardDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationGiftCardResendArgs = { input: GiftCardResendInput; }; + export type MutationGiftCardSettingsUpdateArgs = { input: GiftCardSettingsUpdateInput; }; + export type MutationGiftCardUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: GiftCardUpdateInput; }; + export type MutationInvoiceCreateArgs = { input: InvoiceCreateInput; - orderId: Scalars["ID"]["input"]; + orderId: Scalars['ID']['input']; }; + export type MutationInvoiceDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationInvoiceRequestArgs = { - number?: InputMaybe; - orderId: Scalars["ID"]["input"]; + number?: InputMaybe; + orderId: Scalars['ID']['input']; }; + export type MutationInvoiceRequestDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationInvoiceSendNotificationArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationInvoiceUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: UpdateInvoiceInput; }; + export type MutationMenuBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationMenuCreateArgs = { input: MenuCreateInput; }; + export type MutationMenuDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationMenuItemBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationMenuItemCreateArgs = { input: MenuItemCreateInput; }; + export type MutationMenuItemDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationMenuItemMoveArgs = { - menu: Scalars["ID"]["input"]; + menu: Scalars['ID']['input']; moves: Array; }; + export type MutationMenuItemTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: NameTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationMenuItemUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: MenuItemInput; }; + export type MutationMenuUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: MenuInput; }; + export type MutationOrderAddNoteArgs = { input: OrderAddNoteInput; - order: Scalars["ID"]["input"]; + order: Scalars['ID']['input']; }; + export type MutationOrderBulkCancelArgs = { - ids: Array; + ids: Array; }; + export type MutationOrderBulkCreateArgs = { errorPolicy?: InputMaybe; orders: Array; stockUpdatePolicy?: InputMaybe; }; + export type MutationOrderCancelArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationOrderCaptureArgs = { - amount: Scalars["PositiveDecimal"]["input"]; - id: Scalars["ID"]["input"]; + amount: Scalars['PositiveDecimal']['input']; + id: Scalars['ID']['input']; }; + export type MutationOrderConfirmArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationOrderCreateFromCheckoutArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; metadata?: InputMaybe>; privateMetadata?: InputMaybe>; - removeCheckout?: InputMaybe; + removeCheckout?: InputMaybe; }; + export type MutationOrderDiscountAddArgs = { input: OrderDiscountCommonInput; - orderId: Scalars["ID"]["input"]; + orderId: Scalars['ID']['input']; }; + export type MutationOrderDiscountDeleteArgs = { - discountId: Scalars["ID"]["input"]; + discountId: Scalars['ID']['input']; }; + export type MutationOrderDiscountUpdateArgs = { - discountId: Scalars["ID"]["input"]; + discountId: Scalars['ID']['input']; input: OrderDiscountCommonInput; }; + export type MutationOrderFulfillArgs = { input: OrderFulfillInput; - order?: InputMaybe; + order?: InputMaybe; }; + export type MutationOrderFulfillmentApproveArgs = { - allowStockToBeExceeded?: InputMaybe; - id: Scalars["ID"]["input"]; - notifyCustomer: Scalars["Boolean"]["input"]; + allowStockToBeExceeded?: InputMaybe; + id: Scalars['ID']['input']; + notifyCustomer: Scalars['Boolean']['input']; }; + export type MutationOrderFulfillmentCancelArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input?: InputMaybe; }; + export type MutationOrderFulfillmentRefundProductsArgs = { input: OrderRefundProductsInput; - order: Scalars["ID"]["input"]; + order: Scalars['ID']['input']; }; + export type MutationOrderFulfillmentReturnProductsArgs = { input: OrderReturnProductsInput; - order: Scalars["ID"]["input"]; + order: Scalars['ID']['input']; }; + export type MutationOrderFulfillmentUpdateTrackingArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: FulfillmentUpdateTrackingInput; }; + export type MutationOrderGrantRefundCreateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: OrderGrantRefundCreateInput; }; + export type MutationOrderGrantRefundUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: OrderGrantRefundUpdateInput; }; + export type MutationOrderLineDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationOrderLineDiscountRemoveArgs = { - orderLineId: Scalars["ID"]["input"]; + orderLineId: Scalars['ID']['input']; }; + export type MutationOrderLineDiscountUpdateArgs = { input: OrderDiscountCommonInput; - orderLineId: Scalars["ID"]["input"]; + orderLineId: Scalars['ID']['input']; }; + export type MutationOrderLineUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: OrderLineInput; }; + export type MutationOrderLinesCreateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: Array; }; + export type MutationOrderMarkAsPaidArgs = { - id: Scalars["ID"]["input"]; - transactionReference?: InputMaybe; + id: Scalars['ID']['input']; + transactionReference?: InputMaybe; }; + export type MutationOrderNoteAddArgs = { input: OrderNoteInput; - order: Scalars["ID"]["input"]; + order: Scalars['ID']['input']; }; + export type MutationOrderNoteUpdateArgs = { input: OrderNoteInput; - note: Scalars["ID"]["input"]; + note: Scalars['ID']['input']; }; + export type MutationOrderRefundArgs = { - amount: Scalars["PositiveDecimal"]["input"]; - id: Scalars["ID"]["input"]; + amount: Scalars['PositiveDecimal']['input']; + id: Scalars['ID']['input']; }; + export type MutationOrderSettingsUpdateArgs = { input: OrderSettingsUpdateInput; }; + export type MutationOrderUpdateArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; input: OrderUpdateInput; }; + export type MutationOrderUpdateShippingArgs = { input: OrderUpdateShippingInput; - order: Scalars["ID"]["input"]; + order: Scalars['ID']['input']; }; + export type MutationOrderVoidArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationPageAttributeAssignArgs = { - attributeIds: Array; - pageTypeId: Scalars["ID"]["input"]; + attributeIds: Array; + pageTypeId: Scalars['ID']['input']; }; + export type MutationPageAttributeUnassignArgs = { - attributeIds: Array; - pageTypeId: Scalars["ID"]["input"]; + attributeIds: Array; + pageTypeId: Scalars['ID']['input']; }; + export type MutationPageBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationPageBulkPublishArgs = { - ids: Array; - isPublished: Scalars["Boolean"]["input"]; + ids: Array; + isPublished: Scalars['Boolean']['input']; }; + export type MutationPageCreateArgs = { input: PageCreateInput; }; + export type MutationPageDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationPageReorderAttributeValuesArgs = { - attributeId: Scalars["ID"]["input"]; + attributeId: Scalars['ID']['input']; moves: Array; - pageId: Scalars["ID"]["input"]; + pageId: Scalars['ID']['input']; }; + export type MutationPageTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: PageTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationPageTypeBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationPageTypeCreateArgs = { input: PageTypeCreateInput; }; + export type MutationPageTypeDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationPageTypeReorderAttributesArgs = { moves: Array; - pageTypeId: Scalars["ID"]["input"]; + pageTypeId: Scalars['ID']['input']; }; + export type MutationPageTypeUpdateArgs = { - id?: InputMaybe; + id?: InputMaybe; input: PageTypeUpdateInput; }; + export type MutationPageUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: PageInput; }; + export type MutationPasswordChangeArgs = { - newPassword: Scalars["String"]["input"]; - oldPassword?: InputMaybe; + newPassword: Scalars['String']['input']; + oldPassword?: InputMaybe; }; + export type MutationPaymentCaptureArgs = { - amount?: InputMaybe; - paymentId: Scalars["ID"]["input"]; + amount?: InputMaybe; + paymentId: Scalars['ID']['input']; }; + export type MutationPaymentCheckBalanceArgs = { input: PaymentCheckBalanceInput; }; + export type MutationPaymentGatewayInitializeArgs = { - amount?: InputMaybe; - id: Scalars["ID"]["input"]; + amount?: InputMaybe; + id: Scalars['ID']['input']; paymentGateways?: InputMaybe>; }; + export type MutationPaymentGatewayInitializeTokenizationArgs = { - channel: Scalars["String"]["input"]; - data?: InputMaybe; - id: Scalars["String"]["input"]; + channel: Scalars['String']['input']; + data?: InputMaybe; + id: Scalars['String']['input']; }; + export type MutationPaymentInitializeArgs = { - channel?: InputMaybe; - gateway: Scalars["String"]["input"]; - paymentData?: InputMaybe; + channel?: InputMaybe; + gateway: Scalars['String']['input']; + paymentData?: InputMaybe; }; + export type MutationPaymentMethodInitializeTokenizationArgs = { - channel: Scalars["String"]["input"]; - data?: InputMaybe; - id: Scalars["String"]["input"]; + channel: Scalars['String']['input']; + data?: InputMaybe; + id: Scalars['String']['input']; paymentFlowToSupport: TokenizedPaymentFlowEnum; }; + export type MutationPaymentMethodProcessTokenizationArgs = { - channel: Scalars["String"]["input"]; - data?: InputMaybe; - id: Scalars["String"]["input"]; + channel: Scalars['String']['input']; + data?: InputMaybe; + id: Scalars['String']['input']; }; + export type MutationPaymentRefundArgs = { - amount?: InputMaybe; - paymentId: Scalars["ID"]["input"]; + amount?: InputMaybe; + paymentId: Scalars['ID']['input']; }; + export type MutationPaymentVoidArgs = { - paymentId: Scalars["ID"]["input"]; + paymentId: Scalars['ID']['input']; }; + export type MutationPermissionGroupCreateArgs = { input: PermissionGroupCreateInput; }; + export type MutationPermissionGroupDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationPermissionGroupUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: PermissionGroupUpdateInput; }; + export type MutationPluginUpdateArgs = { - channelId?: InputMaybe; - id: Scalars["ID"]["input"]; + channelId?: InputMaybe; + id: Scalars['ID']['input']; input: PluginUpdateInput; }; + export type MutationProductAttributeAssignArgs = { operations: Array; - productTypeId: Scalars["ID"]["input"]; + productTypeId: Scalars['ID']['input']; }; + export type MutationProductAttributeAssignmentUpdateArgs = { operations: Array; - productTypeId: Scalars["ID"]["input"]; + productTypeId: Scalars['ID']['input']; }; + export type MutationProductAttributeUnassignArgs = { - attributeIds: Array; - productTypeId: Scalars["ID"]["input"]; + attributeIds: Array; + productTypeId: Scalars['ID']['input']; }; + export type MutationProductBulkCreateArgs = { errorPolicy?: InputMaybe; products: Array; }; + export type MutationProductBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationProductBulkTranslateArgs = { errorPolicy?: InputMaybe; translations: Array; }; + export type MutationProductChannelListingUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ProductChannelListingUpdateInput; }; + export type MutationProductCreateArgs = { input: ProductCreateInput; }; + export type MutationProductDeleteArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; }; + export type MutationProductMediaBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationProductMediaCreateArgs = { input: ProductMediaCreateInput; }; + export type MutationProductMediaDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationProductMediaReorderArgs = { - mediaIds: Array; - productId: Scalars["ID"]["input"]; + mediaIds: Array; + productId: Scalars['ID']['input']; }; + export type MutationProductMediaUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ProductMediaUpdateInput; }; + export type MutationProductReorderAttributeValuesArgs = { - attributeId: Scalars["ID"]["input"]; + attributeId: Scalars['ID']['input']; moves: Array; - productId: Scalars["ID"]["input"]; + productId: Scalars['ID']['input']; }; + export type MutationProductTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: TranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationProductTypeBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationProductTypeCreateArgs = { input: ProductTypeInput; }; + export type MutationProductTypeDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationProductTypeReorderAttributesArgs = { moves: Array; - productTypeId: Scalars["ID"]["input"]; + productTypeId: Scalars['ID']['input']; type: ProductAttributeType; }; + export type MutationProductTypeUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ProductTypeInput; }; + export type MutationProductUpdateArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; input: ProductInput; }; + export type MutationProductVariantBulkCreateArgs = { errorPolicy?: InputMaybe; - product: Scalars["ID"]["input"]; + product: Scalars['ID']['input']; variants: Array; }; + export type MutationProductVariantBulkDeleteArgs = { - ids?: InputMaybe>; - skus?: InputMaybe>; + ids?: InputMaybe>; + skus?: InputMaybe>; }; + export type MutationProductVariantBulkTranslateArgs = { errorPolicy?: InputMaybe; translations: Array; }; + export type MutationProductVariantBulkUpdateArgs = { errorPolicy?: InputMaybe; - product: Scalars["ID"]["input"]; + product: Scalars['ID']['input']; variants: Array; }; + export type MutationProductVariantChannelListingUpdateArgs = { - id?: InputMaybe; + id?: InputMaybe; input: Array; - sku?: InputMaybe; + sku?: InputMaybe; }; + export type MutationProductVariantCreateArgs = { input: ProductVariantCreateInput; }; + export type MutationProductVariantDeleteArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; - sku?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; + sku?: InputMaybe; }; + export type MutationProductVariantPreorderDeactivateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationProductVariantReorderArgs = { moves: Array; - productId: Scalars["ID"]["input"]; + productId: Scalars['ID']['input']; }; + export type MutationProductVariantReorderAttributeValuesArgs = { - attributeId: Scalars["ID"]["input"]; + attributeId: Scalars['ID']['input']; moves: Array; - variantId: Scalars["ID"]["input"]; + variantId: Scalars['ID']['input']; }; + export type MutationProductVariantSetDefaultArgs = { - productId: Scalars["ID"]["input"]; - variantId: Scalars["ID"]["input"]; + productId: Scalars['ID']['input']; + variantId: Scalars['ID']['input']; }; + export type MutationProductVariantStocksCreateArgs = { stocks: Array; - variantId: Scalars["ID"]["input"]; + variantId: Scalars['ID']['input']; }; + export type MutationProductVariantStocksDeleteArgs = { - sku?: InputMaybe; - variantId?: InputMaybe; - warehouseIds?: InputMaybe>; + sku?: InputMaybe; + variantId?: InputMaybe; + warehouseIds?: InputMaybe>; }; + export type MutationProductVariantStocksUpdateArgs = { - sku?: InputMaybe; + sku?: InputMaybe; stocks: Array; - variantId?: InputMaybe; + variantId?: InputMaybe; }; + export type MutationProductVariantTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: NameTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationProductVariantUpdateArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; input: ProductVariantInput; - sku?: InputMaybe; + sku?: InputMaybe; }; + export type MutationPromotionBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationPromotionCreateArgs = { input: PromotionCreateInput; }; + export type MutationPromotionDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationPromotionRuleCreateArgs = { input: PromotionRuleCreateInput; }; + export type MutationPromotionRuleDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationPromotionRuleTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: PromotionRuleTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationPromotionRuleUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: PromotionRuleUpdateInput; }; + export type MutationPromotionTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: PromotionTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationPromotionUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: PromotionUpdateInput; }; + export type MutationRefundSettingsUpdateArgs = { input: RefundSettingsUpdateInput; }; + export type MutationRequestEmailChangeArgs = { - channel?: InputMaybe; - newEmail: Scalars["String"]["input"]; - password: Scalars["String"]["input"]; - redirectUrl: Scalars["String"]["input"]; + channel?: InputMaybe; + newEmail: Scalars['String']['input']; + password: Scalars['String']['input']; + redirectUrl: Scalars['String']['input']; }; + export type MutationRequestPasswordResetArgs = { - channel?: InputMaybe; - email: Scalars["String"]["input"]; - redirectUrl: Scalars["String"]["input"]; + channel?: InputMaybe; + email: Scalars['String']['input']; + redirectUrl: Scalars['String']['input']; }; + export type MutationSaleBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationSaleCataloguesAddArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: CatalogueInput; }; + export type MutationSaleCataloguesRemoveArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: CatalogueInput; }; + export type MutationSaleChannelListingUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: SaleChannelListingInput; }; + export type MutationSaleCreateArgs = { input: SaleInput; }; + export type MutationSaleDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationSaleTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: NameTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationSaleUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: SaleInput; }; + export type MutationSendConfirmationEmailArgs = { - channel: Scalars["String"]["input"]; - redirectUrl: Scalars["String"]["input"]; + channel: Scalars['String']['input']; + redirectUrl: Scalars['String']['input']; }; + export type MutationSetPasswordArgs = { - email: Scalars["String"]["input"]; - password: Scalars["String"]["input"]; - token: Scalars["String"]["input"]; + email: Scalars['String']['input']; + password: Scalars['String']['input']; + token: Scalars['String']['input']; }; + export type MutationShippingMethodChannelListingUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ShippingMethodChannelListingInput; }; + export type MutationShippingPriceBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationShippingPriceCreateArgs = { input: ShippingPriceInput; }; + export type MutationShippingPriceDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationShippingPriceExcludeProductsArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ShippingPriceExcludeProductsInput; }; + export type MutationShippingPriceRemoveProductFromExcludeArgs = { - id: Scalars["ID"]["input"]; - products: Array; + id: Scalars['ID']['input']; + products: Array; }; + export type MutationShippingPriceTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ShippingPriceTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationShippingPriceUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ShippingPriceInput; }; + export type MutationShippingZoneBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationShippingZoneCreateArgs = { input: ShippingZoneCreateInput; }; + export type MutationShippingZoneDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationShippingZoneUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: ShippingZoneUpdateInput; }; + export type MutationShopAddressUpdateArgs = { input?: InputMaybe; }; + export type MutationShopDomainUpdateArgs = { input?: InputMaybe; }; + export type MutationShopSettingsTranslateArgs = { input: ShopSettingsTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationShopSettingsUpdateArgs = { input: ShopSettingsInput; }; + export type MutationStaffBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationStaffCreateArgs = { input: StaffCreateInput; }; + export type MutationStaffDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationStaffNotificationRecipientCreateArgs = { input: StaffNotificationRecipientInput; }; + export type MutationStaffNotificationRecipientDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationStaffNotificationRecipientUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: StaffNotificationRecipientInput; }; + export type MutationStaffUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: StaffUpdateInput; }; + export type MutationStockBulkUpdateArgs = { errorPolicy?: InputMaybe; stocks: Array; }; + export type MutationStoredPaymentMethodRequestDeleteArgs = { - channel: Scalars["String"]["input"]; - id: Scalars["ID"]["input"]; + channel: Scalars['String']['input']; + id: Scalars['ID']['input']; }; + export type MutationTaxClassCreateArgs = { input: TaxClassCreateInput; }; + export type MutationTaxClassDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationTaxClassUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: TaxClassUpdateInput; }; + export type MutationTaxConfigurationUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: TaxConfigurationUpdateInput; }; + export type MutationTaxCountryConfigurationDeleteArgs = { countryCode: CountryCode; }; + export type MutationTaxCountryConfigurationUpdateArgs = { countryCode: CountryCode; updateTaxClassRates: Array; }; + export type MutationTaxExemptionManageArgs = { - id: Scalars["ID"]["input"]; - taxExemption: Scalars["Boolean"]["input"]; + id: Scalars['ID']['input']; + taxExemption: Scalars['Boolean']['input']; }; + export type MutationTokenCreateArgs = { - audience?: InputMaybe; - email: Scalars["String"]["input"]; - password: Scalars["String"]["input"]; + audience?: InputMaybe; + email: Scalars['String']['input']; + password: Scalars['String']['input']; }; + export type MutationTokenRefreshArgs = { - csrfToken?: InputMaybe; - refreshToken?: InputMaybe; + csrfToken?: InputMaybe; + refreshToken?: InputMaybe; }; + export type MutationTokenVerifyArgs = { - token: Scalars["String"]["input"]; + token: Scalars['String']['input']; }; + export type MutationTransactionCreateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; transaction: TransactionCreateInput; transactionEvent?: InputMaybe; }; + export type MutationTransactionEventReportArgs = { - amount?: InputMaybe; + amount?: InputMaybe; availableActions?: InputMaybe>; - externalUrl?: InputMaybe; - id?: InputMaybe; - message?: InputMaybe; + externalUrl?: InputMaybe; + id?: InputMaybe; + message?: InputMaybe; paymentMethodDetails?: InputMaybe; - pspReference: Scalars["String"]["input"]; - time?: InputMaybe; - token?: InputMaybe; + pspReference: Scalars['String']['input']; + time?: InputMaybe; + token?: InputMaybe; transactionMetadata?: InputMaybe>; transactionPrivateMetadata?: InputMaybe>; type: TransactionEventTypeEnum; }; + export type MutationTransactionInitializeArgs = { action?: InputMaybe; - amount?: InputMaybe; - customerIpAddress?: InputMaybe; - id: Scalars["ID"]["input"]; - idempotencyKey?: InputMaybe; + amount?: InputMaybe; + customerIpAddress?: InputMaybe; + id: Scalars['ID']['input']; + idempotencyKey?: InputMaybe; paymentGateway: PaymentGatewayToInitialize; }; + export type MutationTransactionProcessArgs = { - customerIpAddress?: InputMaybe; - data?: InputMaybe; - id?: InputMaybe; - token?: InputMaybe; + customerIpAddress?: InputMaybe; + data?: InputMaybe; + id?: InputMaybe; + token?: InputMaybe; }; + export type MutationTransactionRequestActionArgs = { actionType: TransactionActionEnum; - amount?: InputMaybe; - id?: InputMaybe; - refundReason?: InputMaybe; - refundReasonReference?: InputMaybe; - token?: InputMaybe; + amount?: InputMaybe; + id?: InputMaybe; + refundReason?: InputMaybe; + refundReasonReference?: InputMaybe; + token?: InputMaybe; }; + export type MutationTransactionRequestRefundForGrantedRefundArgs = { - grantedRefundId: Scalars["ID"]["input"]; - id?: InputMaybe; - token?: InputMaybe; + grantedRefundId: Scalars['ID']['input']; + id?: InputMaybe; + token?: InputMaybe; }; + export type MutationTransactionUpdateArgs = { - id?: InputMaybe; - token?: InputMaybe; + id?: InputMaybe; + token?: InputMaybe; transaction?: InputMaybe; transactionEvent?: InputMaybe; }; + export type MutationUnassignWarehouseShippingZoneArgs = { - id: Scalars["ID"]["input"]; - shippingZoneIds: Array; + id: Scalars['ID']['input']; + shippingZoneIds: Array; }; + export type MutationUpdateMetadataArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: Array; }; + export type MutationUpdatePrivateMetadataArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: Array; }; + export type MutationUpdateWarehouseArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; input: WarehouseUpdateInput; }; + export type MutationUserAvatarUpdateArgs = { - image: Scalars["Upload"]["input"]; + image: Scalars['Upload']['input']; }; + export type MutationUserBulkSetActiveArgs = { - ids: Array; - isActive: Scalars["Boolean"]["input"]; + ids: Array; + isActive: Scalars['Boolean']['input']; }; + export type MutationVariantMediaAssignArgs = { - mediaId: Scalars["ID"]["input"]; - variantId: Scalars["ID"]["input"]; + mediaId: Scalars['ID']['input']; + variantId: Scalars['ID']['input']; }; + export type MutationVariantMediaUnassignArgs = { - mediaId: Scalars["ID"]["input"]; - variantId: Scalars["ID"]["input"]; + mediaId: Scalars['ID']['input']; + variantId: Scalars['ID']['input']; }; + export type MutationVoucherBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationVoucherCataloguesAddArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: CatalogueInput; }; + export type MutationVoucherCataloguesRemoveArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: CatalogueInput; }; + export type MutationVoucherChannelListingUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: VoucherChannelListingInput; }; + export type MutationVoucherCodeBulkDeleteArgs = { - ids: Array; + ids: Array; }; + export type MutationVoucherCreateArgs = { input: VoucherInput; }; + export type MutationVoucherDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationVoucherTranslateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: NameTranslationInput; languageCode: LanguageCodeEnum; }; + export type MutationVoucherUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: VoucherInput; }; + export type MutationWebhookCreateArgs = { input: WebhookCreateInput; }; + export type MutationWebhookDeleteArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type MutationWebhookDryRunArgs = { - objectId: Scalars["ID"]["input"]; - query: Scalars["String"]["input"]; + objectId: Scalars['ID']['input']; + query: Scalars['String']['input']; }; + export type MutationWebhookTriggerArgs = { - objectId: Scalars["ID"]["input"]; - webhookId: Scalars["ID"]["input"]; + objectId: Scalars['ID']['input']; + webhookId: Scalars['ID']['input']; }; + export type MutationWebhookUpdateArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; input: WebhookUpdateInput; }; export type NameTranslationInput = { - name?: InputMaybe; + name?: InputMaybe; }; export type NavigationType = /** Main storefront navigation. */ - | "MAIN" + | 'MAIN' /** Secondary storefront navigation. */ - | "SECONDARY"; + | 'SECONDARY'; + +/** Represents the NEW_TAB target options for an app extension. */ +export type NewTabTargetOptions = { + /** + * HTTP method for New Tab target (GET or POST) + * @deprecated Use `settings` field directly. + */ + method: HttpMethod; +}; /** An object with an ID */ export type Node = { /** The ID of the object. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; }; /** @@ -15524,22 +16169,24 @@ export type ObjectWithAttributes = { assignedAttributes: Array; }; + /** * An object with attributes. * * Added in Saleor 3.22. */ export type ObjectWithAttributesAssignedAttributeArgs = { - slug: Scalars["String"]["input"]; + slug: Scalars['String']['input']; }; + /** * An object with attributes. * * Added in Saleor 3.22. */ export type ObjectWithAttributesAssignedAttributesArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; export type ObjectWithMetadata = { @@ -15550,9 +16197,9 @@ export type ObjectWithMetadata = { * * Tip: Use GraphQL aliases to fetch multiple keys. */ - metafield: Maybe; + metafield: Maybe; /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; + metafields: Maybe; /** List of private metadata items. Requires staff permissions to access. */ privateMetadata: Array; /** @@ -15560,299 +16207,306 @@ export type ObjectWithMetadata = { * * Tip: Use GraphQL aliases to fetch multiple keys. */ - privateMetafield: Maybe; + privateMetafield: Maybe; /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; + privateMetafields: Maybe; }; + export type ObjectWithMetadataMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + export type ObjectWithMetadataMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + export type ObjectWithMetadataPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + export type ObjectWithMetadataPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** Represents an order in the shop. */ -export type Order = Node & - ObjectWithMetadata & { - /** List of actions that can be performed in the current state of an order. */ - actions: Array; - /** The authorize status of the order. */ - authorizeStatus: OrderAuthorizeStatusEnum; - /** Collection points that can be used for this order. */ - availableCollectionPoints: Array; - /** - * Shipping methods that can be used with this order. - * @deprecated Use `shippingMethods`, this field will be removed in 4.0 - */ - availableShippingMethods: Maybe>; - /** Billing address. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER. */ - billingAddress: Maybe
; - /** Informs whether a draft order can be finalized(turned into a regular order). */ - canFinalize: Scalars["Boolean"]["output"]; - /** Channel through which the order was placed. */ - channel: Channel; - /** The charge status of the order. */ - chargeStatus: OrderChargeStatusEnum; - /** ID of the checkout that the order was created from. */ - checkoutId: Maybe; - /** Name of the collection point where the order should be picked up by the customer. */ - collectionPointName: Maybe; - /** Date and time when the order was created. */ - created: Scalars["DateTime"]["output"]; - /** Additional information provided by the customer about the order. */ - customerNote: Scalars["String"]["output"]; - /** The delivery method selected for this order. */ - deliveryMethod: Maybe; - /** - * Returns applied discount. - * @deprecated Use the `discounts` field instead. - */ - discount: Maybe; - /** - * Discount name. - * @deprecated Use the `discounts` field instead. - */ - discountName: Maybe; - /** List of all discounts assigned to the order. */ - discounts: Array; - /** Determines whether displayed prices should include taxes. */ - displayGrossPrices: Scalars["Boolean"]["output"]; - /** List of errors that occurred during order validation. */ - errors: Array; - /** - * List of events associated with the order. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - events: Array; - /** External ID of this order. */ - externalReference: Maybe; - /** List of shipments for the order. */ - fulfillments: Array; - /** List of user gift cards. */ - giftCards: Array; - /** - * List of granted refunds. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - grantedRefunds: Array; - /** ID of the order. */ - id: Scalars["ID"]["output"]; - /** List of order invoices. Can be fetched for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER. */ - invoices: Array; - /** Informs if an order is fully paid. */ - isPaid: Scalars["Boolean"]["output"]; - /** Returns True, if order requires shipping. */ - isShippingRequired: Scalars["Boolean"]["output"]; - /** @deprecated Use the `languageCodeEnum` field to fetch the language code. */ - languageCode: Scalars["String"]["output"]; - /** Order language code. */ - languageCodeEnum: LanguageCodeEnum; - /** List of order lines. */ - lines: Array; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** User-friendly number of an order. */ - number: Scalars["String"]["output"]; - /** The order origin. */ - origin: OrderOriginEnum; - /** The ID of the order that was the base for this order. */ - original: Maybe; - /** Internal payment status. */ - paymentStatus: PaymentChargeStatusEnum; - /** User-friendly payment status. */ - paymentStatusDisplay: Scalars["String"]["output"]; - /** List of payments for the order. */ - payments: Array; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** URL to which user should be redirected after order is placed. */ - redirectUrl: Maybe; - /** Shipping address. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER. */ - shippingAddress: Maybe
; - /** - * Shipping method for this order. - * @deprecated Use `deliveryMethod` instead. - */ - shippingMethod: Maybe; - /** Method used for shipping. */ - shippingMethodName: Maybe; - /** Shipping methods related to this order. */ - shippingMethods: Array; - /** Total price of shipping. */ - shippingPrice: TaxedMoney; - /** - * Denormalized tax class assigned to the shipping method. - * - * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. - */ - shippingTaxClass: Maybe; - /** Denormalized public metadata of the shipping method's tax class. */ - shippingTaxClassMetadata: Array; - /** Denormalized name of the tax class assigned to the shipping method. */ - shippingTaxClassName: Maybe; - /** Denormalized private metadata of the shipping method's tax class. Requires staff permissions to access. */ - shippingTaxClassPrivateMetadata: Array; - /** The shipping tax rate value. */ - shippingTaxRate: Scalars["Float"]["output"]; - /** Status of the order. */ - status: OrderStatus; - /** User-friendly order status. */ - statusDisplay: Scalars["String"]["output"]; - /** The sum of line prices not including shipping. */ - subtotal: TaxedMoney; - /** Returns True if order has to be exempt from taxes. */ - taxExemption: Scalars["Boolean"]["output"]; - /** @deprecated Use `id` instead. */ - token: Scalars["String"]["output"]; - /** Total amount of the order. */ - total: TaxedMoney; - /** - * Total amount of ongoing authorize requests for the order's transactions. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - totalAuthorizePending: Money; - /** Amount authorized for the order. */ - totalAuthorized: Money; - /** The difference between the paid and the order total amount. */ - totalBalance: Money; - /** - * Total amount of ongoing cancel requests for the order's transactions. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - totalCancelPending: Money; - /** Amount canceled for the order. */ - totalCanceled: Money; - /** - * Amount captured for the order. - * @deprecated Use `totalCharged` instead. - */ - totalCaptured: Money; - /** - * Total amount of ongoing charge requests for the order's transactions. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - totalChargePending: Money; - /** Amount charged for the order. */ - totalCharged: Money; - /** - * Total amount of granted refund. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - totalGrantedRefund: Money; - /** - * Total amount of ongoing refund requests for the order's transactions. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - totalRefundPending: Money; - /** Total refund amount for the order. */ - totalRefunded: Money; - /** - * The difference amount between granted refund and the amounts that are pending and refunded. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - totalRemainingGrant: Money; - /** - * Google Analytics tracking client ID. - * - * DEPRECATED: this field will be removed. - */ - trackingClientId: Scalars["String"]["output"]; - /** List of transactions for the order. Requires one of the following permissions: MANAGE_ORDERS, HANDLE_PAYMENTS. */ - transactions: Array; - /** - * Translated discount name. - * @deprecated Use the `discounts` field instead. - */ - translatedDiscountName: Maybe; - /** - * Undiscounted total price of shipping. - * - * Added in Saleor 3.19. - */ - undiscountedShippingPrice: Money; - /** Undiscounted total amount of the order. */ - undiscountedTotal: TaxedMoney; - /** Date and time when the order was created. */ - updatedAt: Scalars["DateTime"]["output"]; - /** User who placed the order. This field is set only for orders placed by authenticated users. Can be fetched for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_USERS, MANAGE_ORDERS, HANDLE_PAYMENTS, OWNER. */ - user: Maybe; - /** Email address of the customer. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER. */ - userEmail: Maybe; - /** Voucher linked to the order. */ - voucher: Maybe; - /** - * Voucher code that was used for Order. - * - * Added in Saleor 3.18. - */ - voucherCode: Maybe; - /** Weight of the order. */ - weight: Weight; - }; +export type Order = Node & ObjectWithMetadata & { + /** List of actions that can be performed in the current state of an order. */ + actions: Array; + /** The authorize status of the order. */ + authorizeStatus: OrderAuthorizeStatusEnum; + /** Collection points that can be used for this order. */ + availableCollectionPoints: Array; + /** + * Shipping methods that can be used with this order. + * @deprecated Use `shippingMethods`, this field will be removed in 4.0 + */ + availableShippingMethods: Maybe>; + /** Billing address. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER. */ + billingAddress: Maybe
; + /** Informs whether a draft order can be finalized(turned into a regular order). */ + canFinalize: Scalars['Boolean']['output']; + /** Channel through which the order was placed. */ + channel: Channel; + /** The charge status of the order. */ + chargeStatus: OrderChargeStatusEnum; + /** ID of the checkout that the order was created from. */ + checkoutId: Maybe; + /** Name of the collection point where the order should be picked up by the customer. */ + collectionPointName: Maybe; + /** Date and time when the order was created. */ + created: Scalars['DateTime']['output']; + /** Additional information provided by the customer about the order. */ + customerNote: Scalars['String']['output']; + /** The delivery method selected for this order. */ + deliveryMethod: Maybe; + /** + * Returns applied discount. + * @deprecated Use the `discounts` field instead. + */ + discount: Maybe; + /** + * Discount name. + * @deprecated Use the `discounts` field instead. + */ + discountName: Maybe; + /** List of all discounts assigned to the order. */ + discounts: Array; + /** Determines whether displayed prices should include taxes. */ + displayGrossPrices: Scalars['Boolean']['output']; + /** List of errors that occurred during order validation. */ + errors: Array; + /** + * List of events associated with the order. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + events: Array; + /** External ID of this order. */ + externalReference: Maybe; + /** List of shipments for the order. */ + fulfillments: Array; + /** List of user gift cards. */ + giftCards: Array; + /** + * List of granted refunds. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + grantedRefunds: Array; + /** ID of the order. */ + id: Scalars['ID']['output']; + /** List of order invoices. Can be fetched for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER. */ + invoices: Array; + /** Informs if an order is fully paid. */ + isPaid: Scalars['Boolean']['output']; + /** Returns True, if order requires shipping. */ + isShippingRequired: Scalars['Boolean']['output']; + /** @deprecated Use the `languageCodeEnum` field to fetch the language code. */ + languageCode: Scalars['String']['output']; + /** Order language code. */ + languageCodeEnum: LanguageCodeEnum; + /** List of order lines. */ + lines: Array; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** User-friendly number of an order. */ + number: Scalars['String']['output']; + /** The order origin. */ + origin: OrderOriginEnum; + /** The ID of the order that was the base for this order. */ + original: Maybe; + /** Internal payment status. */ + paymentStatus: PaymentChargeStatusEnum; + /** User-friendly payment status. */ + paymentStatusDisplay: Scalars['String']['output']; + /** List of payments for the order. */ + payments: Array; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** URL to which user should be redirected after order is placed. */ + redirectUrl: Maybe; + /** Shipping address. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER. */ + shippingAddress: Maybe
; + /** + * Shipping method for this order. + * @deprecated Use `deliveryMethod` instead. + */ + shippingMethod: Maybe; + /** Method used for shipping. */ + shippingMethodName: Maybe; + /** Shipping methods related to this order. */ + shippingMethods: Array; + /** Total price of shipping. */ + shippingPrice: TaxedMoney; + /** + * Denormalized tax class assigned to the shipping method. + * + * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. + */ + shippingTaxClass: Maybe; + /** Denormalized public metadata of the shipping method's tax class. */ + shippingTaxClassMetadata: Array; + /** Denormalized name of the tax class assigned to the shipping method. */ + shippingTaxClassName: Maybe; + /** Denormalized private metadata of the shipping method's tax class. Requires staff permissions to access. */ + shippingTaxClassPrivateMetadata: Array; + /** The shipping tax rate value. */ + shippingTaxRate: Scalars['Float']['output']; + /** Status of the order. */ + status: OrderStatus; + /** User-friendly order status. */ + statusDisplay: Scalars['String']['output']; + /** The sum of line prices not including shipping. */ + subtotal: TaxedMoney; + /** Returns True if order has to be exempt from taxes. */ + taxExemption: Scalars['Boolean']['output']; + /** @deprecated Use `id` instead. */ + token: Scalars['String']['output']; + /** Total amount of the order. */ + total: TaxedMoney; + /** + * Total amount of ongoing authorize requests for the order's transactions. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + totalAuthorizePending: Money; + /** Amount authorized for the order. */ + totalAuthorized: Money; + /** The difference between the paid and the order total amount. */ + totalBalance: Money; + /** + * Total amount of ongoing cancel requests for the order's transactions. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + totalCancelPending: Money; + /** Amount canceled for the order. */ + totalCanceled: Money; + /** + * Amount captured for the order. + * @deprecated Use `totalCharged` instead. + */ + totalCaptured: Money; + /** + * Total amount of ongoing charge requests for the order's transactions. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + totalChargePending: Money; + /** Amount charged for the order. */ + totalCharged: Money; + /** + * Total amount of granted refund. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + totalGrantedRefund: Money; + /** + * Total amount of ongoing refund requests for the order's transactions. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + totalRefundPending: Money; + /** Total refund amount for the order. */ + totalRefunded: Money; + /** + * The difference amount between granted refund and the amounts that are pending and refunded. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + totalRemainingGrant: Money; + /** + * Google Analytics tracking client ID. + * + * DEPRECATED: this field will be removed. + */ + trackingClientId: Scalars['String']['output']; + /** List of transactions for the order. Requires one of the following permissions: MANAGE_ORDERS, HANDLE_PAYMENTS. */ + transactions: Array; + /** + * Translated discount name. + * @deprecated Use the `discounts` field instead. + */ + translatedDiscountName: Maybe; + /** + * Undiscounted total price of shipping. + * + * Added in Saleor 3.19. + */ + undiscountedShippingPrice: Money; + /** Undiscounted total amount of the order. */ + undiscountedTotal: TaxedMoney; + /** Date and time when the order was created. */ + updatedAt: Scalars['DateTime']['output']; + /** User who placed the order. This field is set only for orders placed by authenticated users. Can be fetched for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_USERS, MANAGE_ORDERS, HANDLE_PAYMENTS, OWNER. */ + user: Maybe; + /** Email address of the customer. The full data can be access for orders created in Saleor 3.2 and later, for other orders requires one of the following permissions: MANAGE_ORDERS, OWNER. */ + userEmail: Maybe; + /** Voucher linked to the order. */ + voucher: Maybe; + /** + * Voucher code that was used for Order. + * + * Added in Saleor 3.18. + */ + voucherCode: Maybe; + /** Weight of the order. */ + weight: Weight; +}; + /** Represents an order in the shop. */ export type OrderMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents an order in the shop. */ export type OrderMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents an order in the shop. */ export type OrderPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents an order in the shop. */ export type OrderPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; export type OrderAction = /** Represents the capture action. */ - | "CAPTURE" + | 'CAPTURE' /** Represents a mark-as-paid action. */ - | "MARK_AS_PAID" + | 'MARK_AS_PAID' /** Represents a refund action. */ - | "REFUND" + | 'REFUND' /** Represents a void action. */ - | "VOID"; + | 'VOID'; /** * Adds note to the order. @@ -15871,7 +16525,7 @@ export type OrderAddNote = { export type OrderAddNoteInput = { /** Note message. */ - message: Scalars["String"]["input"]; + message: Scalars['String']['input']; }; /** @@ -15891,7 +16545,10 @@ export type OrderAddNoteInput = { * `order.total`-`order.totalGrantedRefund` * */ -export type OrderAuthorizeStatusEnum = "FULL" | "NONE" | "PARTIAL"; +export type OrderAuthorizeStatusEnum = + | 'FULL' + | 'NONE' + | 'PARTIAL'; /** Filter by authorize status. */ export type OrderAuthorizeStatusEnumFilterInput = { @@ -15908,7 +16565,7 @@ export type OrderAuthorizeStatusEnumFilterInput = { */ export type OrderBulkCancel = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ orderErrors: Array; @@ -15921,7 +16578,7 @@ export type OrderBulkCancel = { */ export type OrderBulkCreate = { /** Returns how many objects were created. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the created orders. */ results: Array; @@ -15929,13 +16586,13 @@ export type OrderBulkCreate = { export type OrderBulkCreateDeliveryMethodInput = { /** The ID of the shipping method. */ - shippingMethodId?: InputMaybe; + shippingMethodId?: InputMaybe; /** The name of the shipping method. */ - shippingMethodName?: InputMaybe; + shippingMethodName?: InputMaybe; /** The price of the shipping. */ shippingPrice?: InputMaybe; /** The ID of the tax class. */ - shippingTaxClassId?: InputMaybe; + shippingTaxClassId?: InputMaybe; /** * Metadata of the tax class. Can be read by any API client authorized to read the object it's attached to. * @@ -15943,7 +16600,7 @@ export type OrderBulkCreateDeliveryMethodInput = { */ shippingTaxClassMetadata?: InputMaybe>; /** The name of the tax class. */ - shippingTaxClassName?: InputMaybe; + shippingTaxClassName?: InputMaybe; /** * Private metadata of the tax class. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -15951,87 +16608,87 @@ export type OrderBulkCreateDeliveryMethodInput = { */ shippingTaxClassPrivateMetadata?: InputMaybe>; /** Tax rate of the shipping. */ - shippingTaxRate?: InputMaybe; + shippingTaxRate?: InputMaybe; /** The ID of the warehouse. */ - warehouseId?: InputMaybe; + warehouseId?: InputMaybe; /** The name of the warehouse. */ - warehouseName?: InputMaybe; + warehouseName?: InputMaybe; }; export type OrderBulkCreateError = { /** The error code. */ code: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; }; export type OrderBulkCreateErrorCode = - | "BULK_LIMIT" - | "FUTURE_DATE" - | "GRAPHQL_ERROR" - | "INCORRECT_CURRENCY" - | "INSUFFICIENT_STOCK" - | "INVALID" - | "INVALID_QUANTITY" - | "METADATA_KEY_REQUIRED" - | "NEGATIVE_INDEX" - | "NON_EXISTING_STOCK" - | "NOTE_LENGTH" - | "NOT_FOUND" - | "NO_RELATED_ORDER_LINE" - | "ORDER_LINE_FULFILLMENT_LINE_MISMATCH" - | "PRICE_ERROR" - | "REQUIRED" - | "TOO_MANY_IDENTIFIERS" - | "UNIQUE"; + | 'BULK_LIMIT' + | 'FUTURE_DATE' + | 'GRAPHQL_ERROR' + | 'INCORRECT_CURRENCY' + | 'INSUFFICIENT_STOCK' + | 'INVALID' + | 'INVALID_QUANTITY' + | 'METADATA_KEY_REQUIRED' + | 'NEGATIVE_INDEX' + | 'NON_EXISTING_STOCK' + | 'NOTE_LENGTH' + | 'NOT_FOUND' + | 'NO_RELATED_ORDER_LINE' + | 'ORDER_LINE_FULFILLMENT_LINE_MISMATCH' + | 'PRICE_ERROR' + | 'REQUIRED' + | 'TOO_MANY_IDENTIFIERS' + | 'UNIQUE'; export type OrderBulkCreateFulfillmentInput = { /** List of items informing how to fulfill the order. */ lines?: InputMaybe>; /** Fulfillment's tracking code. */ - trackingCode?: InputMaybe; + trackingCode?: InputMaybe; }; export type OrderBulkCreateFulfillmentLineInput = { /** 0-based index of order line, which the fulfillment line refers to. */ - orderLineIndex: Scalars["Int"]["input"]; + orderLineIndex: Scalars['Int']['input']; /** The number of line items to be fulfilled from given warehouse. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** The external ID of the product variant. */ - variantExternalReference?: InputMaybe; + variantExternalReference?: InputMaybe; /** The ID of the product variant. */ - variantId?: InputMaybe; + variantId?: InputMaybe; /** The SKU of the product variant. */ - variantSku?: InputMaybe; + variantSku?: InputMaybe; /** ID of the warehouse from which the item will be fulfilled. */ - warehouse: Scalars["ID"]["input"]; + warehouse: Scalars['ID']['input']; }; export type OrderBulkCreateInput = { /** Billing address of the customer. */ billingAddress: AddressInput; /** Slug of the channel associated with the order. */ - channel: Scalars["String"]["input"]; + channel: Scalars['String']['input']; /** The date, when the order was inserted to Saleor database. */ - createdAt: Scalars["DateTime"]["input"]; + createdAt: Scalars['DateTime']['input']; /** Currency code. */ - currency: Scalars["String"]["input"]; + currency: Scalars['String']['input']; /** Note about customer. */ - customerNote?: InputMaybe; + customerNote?: InputMaybe; /** The delivery method selected for this order. */ deliveryMethod?: InputMaybe; /** List of discounts. */ discounts?: InputMaybe>; /** Determines whether displayed prices should include taxes. */ - displayGrossPrices?: InputMaybe; + displayGrossPrices?: InputMaybe; /** External ID of the order. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Fulfillments of the order. */ fulfillments?: InputMaybe>; /** List of gift card codes associated with the order. */ - giftCards?: InputMaybe>; + giftCards?: InputMaybe>; /** Invoices related to the order. */ invoices?: InputMaybe>; /** Order language code. */ @@ -16053,7 +16710,7 @@ export type OrderBulkCreateInput = { */ privateMetadata?: InputMaybe>; /** URL of a view, where users should be redirected to see the order details. */ - redirectUrl?: InputMaybe; + redirectUrl?: InputMaybe; /** Shipping address of the customer. */ shippingAddress?: InputMaybe; /** Status of the order. */ @@ -16067,14 +16724,14 @@ export type OrderBulkCreateInput = { * * Added in Saleor 3.18. */ - voucherCode?: InputMaybe; + voucherCode?: InputMaybe; /** Weight of the order in kg. */ - weight?: InputMaybe; + weight?: InputMaybe; }; export type OrderBulkCreateInvoiceInput = { /** The date, when the invoice was created. */ - createdAt: Scalars["DateTime"]["input"]; + createdAt: Scalars['DateTime']['input']; /** * Metadata of the invoice. Can be read by any API client authorized to read the object it's attached to. * @@ -16082,7 +16739,7 @@ export type OrderBulkCreateInvoiceInput = { */ metadata?: InputMaybe>; /** Invoice number. */ - number?: InputMaybe; + number?: InputMaybe; /** * Private metadata of the invoice. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -16090,31 +16747,31 @@ export type OrderBulkCreateInvoiceInput = { */ privateMetadata?: InputMaybe>; /** URL of the invoice to download. */ - url?: InputMaybe; + url?: InputMaybe; }; export type OrderBulkCreateNoteInput = { /** The app ID associated with the message. */ - appId?: InputMaybe; + appId?: InputMaybe; /** The date associated with the message. */ - date?: InputMaybe; + date?: InputMaybe; /** Note message. Max characters: 255. */ - message: Scalars["String"]["input"]; + message: Scalars['String']['input']; /** The user email associated with the message. */ - userEmail?: InputMaybe; + userEmail?: InputMaybe; /** The user external ID associated with the message. */ - userExternalReference?: InputMaybe; + userExternalReference?: InputMaybe; /** The user ID associated with the message. */ - userId?: InputMaybe; + userId?: InputMaybe; }; export type OrderBulkCreateOrderLineInput = { /** The date, when the order line was created. */ - createdAt: Scalars["DateTime"]["input"]; + createdAt: Scalars['DateTime']['input']; /** Gift card flag. */ - isGiftCard: Scalars["Boolean"]["input"]; + isGiftCard: Scalars['Boolean']['input']; /** Determines whether shipping of the order line items is required. */ - isShippingRequired: Scalars["Boolean"]["input"]; + isShippingRequired: Scalars['Boolean']['input']; /** * Metadata of the order line. Can be read by any API client authorized to read the object it's attached to. * @@ -16128,17 +16785,17 @@ export type OrderBulkCreateOrderLineInput = { */ privateMetadata?: InputMaybe>; /** The name of the product. */ - productName?: InputMaybe; + productName?: InputMaybe; /** * The SKU of the product. * * Added in Saleor 3.18. */ - productSku?: InputMaybe; + productSku?: InputMaybe; /** Number of items in the order line */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** The ID of the tax class. */ - taxClassId?: InputMaybe; + taxClassId?: InputMaybe; /** * Metadata of the tax class. Can be read by any API client authorized to read the object it's attached to. * @@ -16146,7 +16803,7 @@ export type OrderBulkCreateOrderLineInput = { */ taxClassMetadata?: InputMaybe>; /** The name of the tax class. */ - taxClassName?: InputMaybe; + taxClassName?: InputMaybe; /** * Private metadata of the tax class. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -16154,13 +16811,13 @@ export type OrderBulkCreateOrderLineInput = { */ taxClassPrivateMetadata?: InputMaybe>; /** Tax rate of the order line. */ - taxRate?: InputMaybe; + taxRate?: InputMaybe; /** Price of the order line. */ totalPrice: TaxedMoneyInput; /** Translation of the product name. */ - translatedProductName?: InputMaybe; + translatedProductName?: InputMaybe; /** Translation of the product variant name. */ - translatedVariantName?: InputMaybe; + translatedVariantName?: InputMaybe; /** Price of the order line excluding applied discount. */ undiscountedTotalPrice: TaxedMoneyInput; /** @@ -16168,7 +16825,7 @@ export type OrderBulkCreateOrderLineInput = { * * Added in Saleor 3.19. */ - unitDiscountReason?: InputMaybe; + unitDiscountReason?: InputMaybe; /** * Type of the discount: fixed or percent * @@ -16180,17 +16837,17 @@ export type OrderBulkCreateOrderLineInput = { * * Added in Saleor 3.19. */ - unitDiscountValue?: InputMaybe; + unitDiscountValue?: InputMaybe; /** The external ID of the product variant. */ - variantExternalReference?: InputMaybe; + variantExternalReference?: InputMaybe; /** The ID of the product variant. */ - variantId?: InputMaybe; + variantId?: InputMaybe; /** The name of the product variant. */ - variantName?: InputMaybe; + variantName?: InputMaybe; /** The SKU of the product variant. */ - variantSku?: InputMaybe; + variantSku?: InputMaybe; /** The ID of the warehouse, where the line will be allocated. */ - warehouse: Scalars["ID"]["input"]; + warehouse: Scalars['ID']['input']; }; export type OrderBulkCreateResult = { @@ -16202,17 +16859,17 @@ export type OrderBulkCreateResult = { export type OrderBulkCreateUserInput = { /** Customer email associated with the order. */ - email?: InputMaybe; + email?: InputMaybe; /** Customer external ID associated with the order. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Customer ID associated with the order. */ - id?: InputMaybe; + id?: InputMaybe; }; /** Event sent when orders are imported. */ export type OrderBulkCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The orders the event relates to. */ @@ -16220,7 +16877,7 @@ export type OrderBulkCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -16239,7 +16896,7 @@ export type OrderCancel = { /** Event sent when order is canceled. */ export type OrderCancelled = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -16247,7 +16904,7 @@ export type OrderCancelled = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -16284,7 +16941,11 @@ export type OrderCapture = { * `order.total`-`order.totalGrantedRefund` * */ -export type OrderChargeStatusEnum = "FULL" | "NONE" | "OVERCHARGED" | "PARTIAL"; +export type OrderChargeStatusEnum = + | 'FULL' + | 'NONE' + | 'OVERCHARGED' + | 'PARTIAL'; /** Filter by charge status. */ export type OrderChargeStatusEnumFilterInput = { @@ -16310,7 +16971,7 @@ export type OrderConfirm = { /** Event sent when order is confirmed. */ export type OrderConfirmed = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -16318,7 +16979,7 @@ export type OrderConfirmed = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type OrderCountableConnection = { @@ -16326,12 +16987,12 @@ export type OrderCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type OrderCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Order; }; @@ -16361,35 +17022,35 @@ export type OrderCreateFromCheckoutError = { /** The error code. */ code: OrderCreateFromCheckoutErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** List of line Ids which cause the error. */ - lines: Maybe>; + lines: Maybe>; /** The error message. */ - message: Maybe; + message: Maybe; /** List of variant IDs which causes the error. */ - variants: Maybe>; + variants: Maybe>; }; export type OrderCreateFromCheckoutErrorCode = - | "BILLING_ADDRESS_NOT_SET" - | "CHANNEL_INACTIVE" - | "CHECKOUT_NOT_FOUND" - | "EMAIL_NOT_SET" - | "GIFT_CARD_NOT_APPLICABLE" - | "GRAPHQL_ERROR" - | "INSUFFICIENT_STOCK" - | "INVALID_SHIPPING_METHOD" - | "NO_LINES" - | "SHIPPING_ADDRESS_NOT_SET" - | "SHIPPING_METHOD_NOT_SET" - | "TAX_ERROR" - | "UNAVAILABLE_VARIANT_IN_CHANNEL" - | "VOUCHER_NOT_APPLICABLE"; + | 'BILLING_ADDRESS_NOT_SET' + | 'CHANNEL_INACTIVE' + | 'CHECKOUT_NOT_FOUND' + | 'EMAIL_NOT_SET' + | 'GIFT_CARD_NOT_APPLICABLE' + | 'GRAPHQL_ERROR' + | 'INSUFFICIENT_STOCK' + | 'INVALID_SHIPPING_METHOD' + | 'NO_LINES' + | 'SHIPPING_ADDRESS_NOT_SET' + | 'SHIPPING_METHOD_NOT_SET' + | 'TAX_ERROR' + | 'UNAVAILABLE_VARIANT_IN_CHANNEL' + | 'VOUCHER_NOT_APPLICABLE'; /** Event sent when new order is created. */ export type OrderCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -16397,14 +17058,14 @@ export type OrderCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type OrderDirection = /** Specifies an ascending sort order. */ - | "ASC" + | 'ASC' /** Specifies a descending sort order. */ - | "DESC"; + | 'DESC'; /** Contains all details related to the applied discount to the order. */ export type OrderDiscount = Node & { @@ -16414,15 +17075,15 @@ export type OrderDiscount = Node & { */ amount: Money; /** The ID of discount applied. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** The name of applied discount. */ - name: Maybe; + name: Maybe; /** * Explanation for the applied discount. * * Requires one of the following permissions: MANAGE_ORDERS. */ - reason: Maybe; + reason: Maybe; /** * The amount of discount applied to the order. * @@ -16430,11 +17091,11 @@ export type OrderDiscount = Node & { */ total: Money; /** Translated name of the applied discount. */ - translatedName: Maybe; + translatedName: Maybe; /** The type of applied discount: Sale, Voucher or Manual. */ type: OrderDiscountType; /** Value of the discount. Can store fixed value or percent value */ - value: Scalars["PositiveDecimal"]["output"]; + value: Scalars['PositiveDecimal']['output']; /** Type of the discount: fixed or percent */ valueType: DiscountValueTypeEnum; }; @@ -16454,9 +17115,9 @@ export type OrderDiscountAdd = { export type OrderDiscountCommonInput = { /** Explanation for the applied discount. */ - reason?: InputMaybe; + reason?: InputMaybe; /** Value of the discount. Can store fixed value or percent value */ - value: Scalars["PositiveDecimal"]["input"]; + value: Scalars['PositiveDecimal']['input']; /** Type of the discount: fixed or percent */ valueType: DiscountValueTypeEnum; }; @@ -16475,11 +17136,11 @@ export type OrderDiscountDelete = { }; export type OrderDiscountType = - | "MANUAL" - | "ORDER_PROMOTION" - | "PROMOTION" - | "SALE" - | "VOUCHER"; + | 'MANUAL' + | 'ORDER_PROMOTION' + | 'PROMOTION' + | 'SALE' + | 'VOUCHER'; /** * Update discount for the order. @@ -16495,11 +17156,11 @@ export type OrderDiscountUpdate = { }; export type OrderDraftFilterInput = { - channels?: InputMaybe>; + channels?: InputMaybe>; created?: InputMaybe; - customer?: InputMaybe; + customer?: InputMaybe; metadata?: InputMaybe>; - search?: InputMaybe; + search?: InputMaybe; }; export type OrderError = { @@ -16508,102 +17169,102 @@ export type OrderError = { /** The error code. */ code: OrderErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of order line IDs that cause the error. */ - orderLines: Maybe>; + orderLines: Maybe>; /** List of product variants that are associated with the error */ - variants: Maybe>; + variants: Maybe>; /** Warehouse ID which causes the error. */ - warehouse: Maybe; + warehouse: Maybe; }; export type OrderErrorCode = - | "BILLING_ADDRESS_NOT_SET" - | "CANNOT_CANCEL_FULFILLMENT" - | "CANNOT_CANCEL_ORDER" - | "CANNOT_DELETE" - | "CANNOT_DISCOUNT" - | "CANNOT_FULFILL_UNPAID_ORDER" - | "CANNOT_REFUND" - | "CAPTURE_INACTIVE_PAYMENT" - | "CHANNEL_INACTIVE" - | "DUPLICATED_INPUT_ITEM" - | "FULFILL_ORDER_LINE" - | "GIFT_CARD_LINE" - | "GRAPHQL_ERROR" - | "INSUFFICIENT_STOCK" - | "INVALID" - | "INVALID_QUANTITY" - | "INVALID_VOUCHER" - | "INVALID_VOUCHER_CODE" - | "MISSING_ADDRESS_DATA" - | "NON_EDITABLE_GIFT_LINE" - | "NON_REMOVABLE_GIFT_LINE" - | "NOT_AVAILABLE_IN_CHANNEL" - | "NOT_EDITABLE" - | "NOT_FOUND" - | "ORDER_NO_SHIPPING_ADDRESS" - | "PAYMENT_ERROR" - | "PAYMENT_MISSING" - | "PRODUCT_NOT_PUBLISHED" - | "PRODUCT_UNAVAILABLE_FOR_PURCHASE" - | "REQUIRED" - | "SHIPPING_METHOD_NOT_APPLICABLE" - | "SHIPPING_METHOD_REQUIRED" - | "TAX_ERROR" - | "TRANSACTION_ERROR" - | "UNIQUE" - | "VOID_INACTIVE_PAYMENT" - | "ZERO_QUANTITY"; + | 'BILLING_ADDRESS_NOT_SET' + | 'CANNOT_CANCEL_FULFILLMENT' + | 'CANNOT_CANCEL_ORDER' + | 'CANNOT_DELETE' + | 'CANNOT_DISCOUNT' + | 'CANNOT_FULFILL_UNPAID_ORDER' + | 'CANNOT_REFUND' + | 'CAPTURE_INACTIVE_PAYMENT' + | 'CHANNEL_INACTIVE' + | 'DUPLICATED_INPUT_ITEM' + | 'FULFILL_ORDER_LINE' + | 'GIFT_CARD_LINE' + | 'GRAPHQL_ERROR' + | 'INSUFFICIENT_STOCK' + | 'INVALID' + | 'INVALID_QUANTITY' + | 'INVALID_VOUCHER' + | 'INVALID_VOUCHER_CODE' + | 'MISSING_ADDRESS_DATA' + | 'NON_EDITABLE_GIFT_LINE' + | 'NON_REMOVABLE_GIFT_LINE' + | 'NOT_AVAILABLE_IN_CHANNEL' + | 'NOT_EDITABLE' + | 'NOT_FOUND' + | 'ORDER_NO_SHIPPING_ADDRESS' + | 'PAYMENT_ERROR' + | 'PAYMENT_MISSING' + | 'PRODUCT_NOT_PUBLISHED' + | 'PRODUCT_UNAVAILABLE_FOR_PURCHASE' + | 'REQUIRED' + | 'SHIPPING_METHOD_NOT_APPLICABLE' + | 'SHIPPING_METHOD_REQUIRED' + | 'TAX_ERROR' + | 'TRANSACTION_ERROR' + | 'UNIQUE' + | 'VOID_INACTIVE_PAYMENT' + | 'ZERO_QUANTITY'; /** History log of the order. */ export type OrderEvent = Node & { /** Amount of money. */ - amount: Maybe; + amount: Maybe; /** App that performed the action. Requires of of the following permissions: MANAGE_APPS, MANAGE_ORDERS, OWNER. */ app: Maybe; /** Composed ID of the Fulfillment. */ - composedId: Maybe; + composedId: Maybe; /** Date when event happened at in ISO 8601 format. */ - date: Maybe; + date: Maybe; /** The discount applied to the order. */ discount: Maybe; /** Email of the customer. */ - email: Maybe; + email: Maybe; /** Type of an email sent to the customer. */ emailType: Maybe; /** The lines fulfilled. */ fulfilledItems: Maybe>; /** ID of the event associated with an order. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Number of an invoice related to the order. */ - invoiceNumber: Maybe; + invoiceNumber: Maybe; /** The concerned lines. */ lines: Maybe>; /** Content of the event. */ - message: Maybe; + message: Maybe; /** User-friendly number of an order. */ - orderNumber: Maybe; + orderNumber: Maybe; /** List of oversold lines names. */ - oversoldItems: Maybe>; + oversoldItems: Maybe>; /** The payment gateway of the payment. */ - paymentGateway: Maybe; + paymentGateway: Maybe; /** The payment reference from the payment provider. */ - paymentId: Maybe; + paymentId: Maybe; /** Number of items. */ - quantity: Maybe; + quantity: Maybe; /** The reference of payment's transaction. */ - reference: Maybe; + reference: Maybe; /** The order event which is related to this event. */ related: Maybe; /** The order which is related to this order. */ relatedOrder: Maybe; /** Define if shipping costs were included to the refund. */ - shippingCostsIncluded: Maybe; + shippingCostsIncluded: Maybe; /** The transaction reference of captured payment. */ - transactionReference: Maybe; + transactionReference: Maybe; /** Order event type. */ type: Maybe; /** User who performed the action. */ @@ -16617,12 +17278,12 @@ export type OrderEventCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type OrderEventCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: OrderEvent; }; @@ -16633,13 +17294,13 @@ export type OrderEventDiscountObject = { /** Returns amount of discount. */ oldAmount: Maybe; /** Value of the discount. Can store fixed value or percent value. */ - oldValue: Maybe; + oldValue: Maybe; /** Type of the discount: fixed or percent. */ oldValueType: Maybe; /** Explanation for the applied discount. */ - reason: Maybe; + reason: Maybe; /** Value of the discount. Can store fixed value or percent value. */ - value: Scalars["PositiveDecimal"]["output"]; + value: Scalars['PositiveDecimal']['output']; /** Type of the discount: fixed or percent. */ valueType: DiscountValueTypeEnum; }; @@ -16656,11 +17317,11 @@ export type OrderEventOrderLineObject = { /** The discount applied to the order line. */ discount: Maybe; /** The variant name. */ - itemName: Maybe; + itemName: Maybe; /** The order line. */ orderLine: Maybe; /** The variant quantity. */ - quantity: Maybe; + quantity: Maybe; }; export type OrderEventTypeEnumFilterInput = { @@ -16671,73 +17332,73 @@ export type OrderEventTypeEnumFilterInput = { }; export type OrderEventsEmailsEnum = - | "CONFIRMED" - | "DIGITAL_LINKS" - | "FULFILLMENT_CONFIRMATION" - | "ORDER_CANCEL" - | "ORDER_CONFIRMATION" - | "ORDER_REFUND" - | "PAYMENT_CONFIRMATION" - | "SHIPPING_CONFIRMATION" - | "TRACKING_UPDATED"; + | 'CONFIRMED' + | 'DIGITAL_LINKS' + | 'FULFILLMENT_CONFIRMATION' + | 'ORDER_CANCEL' + | 'ORDER_CONFIRMATION' + | 'ORDER_REFUND' + | 'PAYMENT_CONFIRMATION' + | 'SHIPPING_CONFIRMATION' + | 'TRACKING_UPDATED'; /** The different order event types. */ export type OrderEventsEnum = - | "ADDED_PRODUCTS" - | "CANCELED" - | "CONFIRMED" - | "DRAFT_CREATED" - | "DRAFT_CREATED_FROM_REPLACE" - | "EMAIL_SENT" - | "EXPIRED" - | "EXTERNAL_SERVICE_NOTIFICATION" - | "FULFILLMENT_AWAITS_APPROVAL" - | "FULFILLMENT_CANCELED" - | "FULFILLMENT_FULFILLED_ITEMS" - | "FULFILLMENT_REFUNDED" - | "FULFILLMENT_REPLACED" - | "FULFILLMENT_RESTOCKED_ITEMS" - | "FULFILLMENT_RETURNED" - | "INVOICE_GENERATED" - | "INVOICE_REQUESTED" - | "INVOICE_SENT" - | "INVOICE_UPDATED" - | "NOTE_ADDED" - | "NOTE_UPDATED" - | "ORDER_DISCOUNT_ADDED" - | "ORDER_DISCOUNT_AUTOMATICALLY_UPDATED" - | "ORDER_DISCOUNT_DELETED" - | "ORDER_DISCOUNT_UPDATED" - | "ORDER_FULLY_PAID" - | "ORDER_LINE_DISCOUNT_REMOVED" - | "ORDER_LINE_DISCOUNT_UPDATED" - | "ORDER_LINE_PRODUCT_DELETED" - | "ORDER_LINE_VARIANT_DELETED" - | "ORDER_MARKED_AS_PAID" - | "ORDER_REPLACEMENT_CREATED" - | "OTHER" - | "OVERSOLD_ITEMS" - | "PAYMENT_AUTHORIZED" - | "PAYMENT_CAPTURED" - | "PAYMENT_FAILED" - | "PAYMENT_REFUNDED" - | "PAYMENT_VOIDED" - | "PLACED" - | "PLACED_AUTOMATICALLY_FROM_PAID_CHECKOUT" - | "PLACED_FROM_DRAFT" - | "REMOVED_PRODUCTS" - | "TRACKING_UPDATED" - | "TRANSACTION_CANCEL_REQUESTED" - | "TRANSACTION_CHARGE_REQUESTED" - | "TRANSACTION_EVENT" - | "TRANSACTION_MARK_AS_PAID_FAILED" - | "TRANSACTION_REFUND_REQUESTED" - | "UPDATED_ADDRESS"; + | 'ADDED_PRODUCTS' + | 'CANCELED' + | 'CONFIRMED' + | 'DRAFT_CREATED' + | 'DRAFT_CREATED_FROM_REPLACE' + | 'EMAIL_SENT' + | 'EXPIRED' + | 'EXTERNAL_SERVICE_NOTIFICATION' + | 'FULFILLMENT_AWAITS_APPROVAL' + | 'FULFILLMENT_CANCELED' + | 'FULFILLMENT_FULFILLED_ITEMS' + | 'FULFILLMENT_REFUNDED' + | 'FULFILLMENT_REPLACED' + | 'FULFILLMENT_RESTOCKED_ITEMS' + | 'FULFILLMENT_RETURNED' + | 'INVOICE_GENERATED' + | 'INVOICE_REQUESTED' + | 'INVOICE_SENT' + | 'INVOICE_UPDATED' + | 'NOTE_ADDED' + | 'NOTE_UPDATED' + | 'ORDER_DISCOUNT_ADDED' + | 'ORDER_DISCOUNT_AUTOMATICALLY_UPDATED' + | 'ORDER_DISCOUNT_DELETED' + | 'ORDER_DISCOUNT_UPDATED' + | 'ORDER_FULLY_PAID' + | 'ORDER_LINE_DISCOUNT_REMOVED' + | 'ORDER_LINE_DISCOUNT_UPDATED' + | 'ORDER_LINE_PRODUCT_DELETED' + | 'ORDER_LINE_VARIANT_DELETED' + | 'ORDER_MARKED_AS_PAID' + | 'ORDER_REPLACEMENT_CREATED' + | 'OTHER' + | 'OVERSOLD_ITEMS' + | 'PAYMENT_AUTHORIZED' + | 'PAYMENT_CAPTURED' + | 'PAYMENT_FAILED' + | 'PAYMENT_REFUNDED' + | 'PAYMENT_VOIDED' + | 'PLACED' + | 'PLACED_AUTOMATICALLY_FROM_PAID_CHECKOUT' + | 'PLACED_FROM_DRAFT' + | 'REMOVED_PRODUCTS' + | 'TRACKING_UPDATED' + | 'TRANSACTION_CANCEL_REQUESTED' + | 'TRANSACTION_CHARGE_REQUESTED' + | 'TRANSACTION_EVENT' + | 'TRANSACTION_MARK_AS_PAID_FAILED' + | 'TRANSACTION_REFUND_REQUESTED' + | 'UPDATED_ADDRESS'; /** Event sent when order becomes expired. */ export type OrderExpired = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -16745,26 +17406,26 @@ export type OrderExpired = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type OrderFilterInput = { authorizeStatus?: InputMaybe>; - channels?: InputMaybe>; + channels?: InputMaybe>; chargeStatus?: InputMaybe>; - checkoutIds?: InputMaybe>; - checkoutTokens?: InputMaybe>; + checkoutIds?: InputMaybe>; + checkoutTokens?: InputMaybe>; created?: InputMaybe; - customer?: InputMaybe; - giftCardBought?: InputMaybe; - giftCardUsed?: InputMaybe; - ids?: InputMaybe>; - isClickAndCollect?: InputMaybe; - isPreorder?: InputMaybe; + customer?: InputMaybe; + giftCardBought?: InputMaybe; + giftCardUsed?: InputMaybe; + ids?: InputMaybe>; + isClickAndCollect?: InputMaybe; + isPreorder?: InputMaybe; metadata?: InputMaybe>; - numbers?: InputMaybe>; + numbers?: InputMaybe>; paymentStatus?: InputMaybe>; - search?: InputMaybe; + search?: InputMaybe; status?: InputMaybe>; updatedAt?: InputMaybe; }; @@ -16772,7 +17433,7 @@ export type OrderFilterInput = { /** Filter shipping methods for order. */ export type OrderFilterShippingMethods = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -16782,7 +17443,7 @@ export type OrderFilterShippingMethods = Event & { /** Shipping methods that can be used with this checkout. */ shippingMethods: Maybe>; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -16808,33 +17469,33 @@ export type OrderFulfill = { export type OrderFulfillInput = { /** If true, then allow proceed fulfillment when stock is exceeded. */ - allowStockToBeExceeded?: InputMaybe; + allowStockToBeExceeded?: InputMaybe; /** List of items informing how to fulfill the order. */ lines: Array; /** If true, send an email notification to the customer. */ - notifyCustomer?: InputMaybe; + notifyCustomer?: InputMaybe; /** Fulfillment tracking number. */ - trackingNumber?: InputMaybe; + trackingNumber?: InputMaybe; }; export type OrderFulfillLineInput = { /** The ID of the order line. */ - orderLineId?: InputMaybe; + orderLineId?: InputMaybe; /** List of stock items to create. */ stocks: Array; }; export type OrderFulfillStockInput = { /** The number of line items to be fulfilled from given warehouse. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** ID of the warehouse from which the item will be fulfilled. */ - warehouse: Scalars["ID"]["input"]; + warehouse: Scalars['ID']['input']; }; /** Event sent when order is fulfilled. */ export type OrderFulfilled = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -16842,13 +17503,13 @@ export type OrderFulfilled = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when order is fully paid. */ export type OrderFullyPaid = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -16856,13 +17517,13 @@ export type OrderFullyPaid = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** The order is fully refunded. */ export type OrderFullyRefunded = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -16870,7 +17531,7 @@ export type OrderFullyRefunded = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -16890,36 +17551,36 @@ export type OrderGrantRefundCreateError = { /** The error code. */ code: OrderGrantRefundCreateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** List of lines which cause the error. */ lines: Maybe>; /** The error message. */ - message: Maybe; + message: Maybe; }; export type OrderGrantRefundCreateErrorCode = - | "AMOUNT_GREATER_THAN_AVAILABLE" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "SHIPPING_COSTS_ALREADY_GRANTED"; + | 'AMOUNT_GREATER_THAN_AVAILABLE' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'SHIPPING_COSTS_ALREADY_GRANTED'; export type OrderGrantRefundCreateInput = { /** Amount of the granted refund. If not provided, the amount will be calculated automatically based on provided `lines` and `grantRefundForShipping`. */ - amount?: InputMaybe; + amount?: InputMaybe; /** Determine if granted refund should include shipping costs. */ - grantRefundForShipping?: InputMaybe; + grantRefundForShipping?: InputMaybe; /** Lines to assign to granted refund. */ lines?: InputMaybe>; /** Reason of the granted refund. */ - reason?: InputMaybe; + reason?: InputMaybe; /** * ID of a `Page` (Model) to reference in reason. * * Added in Saleor 3.22. */ - reasonReference?: InputMaybe; + reasonReference?: InputMaybe; /** * The ID of the transaction item related to the granted refund. If `amount` provided in the input, the transaction.chargedAmount needs to be equal or greater than provided `amount`.If `amount` is not provided in the input and calculated automatically by Saleor, the `min(calculatedAmount, transaction.chargedAmount)` will be used. Field required starting from Saleor 3.21. * @@ -16927,32 +17588,32 @@ export type OrderGrantRefundCreateInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - transactionId: Scalars["ID"]["input"]; + transactionId: Scalars['ID']['input']; }; export type OrderGrantRefundCreateLineError = { /** The error code. */ code: OrderGrantRefundCreateLineErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The ID of the line related to the error. */ - lineId: Scalars["ID"]["output"]; + lineId: Scalars['ID']['output']; /** The error message. */ - message: Maybe; + message: Maybe; }; export type OrderGrantRefundCreateLineErrorCode = - | "GRAPHQL_ERROR" - | "NOT_FOUND" - | "QUANTITY_GREATER_THAN_AVAILABLE"; + | 'GRAPHQL_ERROR' + | 'NOT_FOUND' + | 'QUANTITY_GREATER_THAN_AVAILABLE'; export type OrderGrantRefundCreateLineInput = { /** The ID of the order line. */ - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; /** The quantity of line items to be marked to refund. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** Reason of the granted refund for the line. */ - reason?: InputMaybe; + reason?: InputMaybe; }; /** @@ -16974,38 +17635,38 @@ export type OrderGrantRefundUpdateError = { /** The error code. */ code: OrderGrantRefundUpdateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of lines to remove which cause the error. */ removeLines: Maybe>; }; export type OrderGrantRefundUpdateErrorCode = - | "AMOUNT_GREATER_THAN_AVAILABLE" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "SHIPPING_COSTS_ALREADY_GRANTED"; + | 'AMOUNT_GREATER_THAN_AVAILABLE' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'SHIPPING_COSTS_ALREADY_GRANTED'; export type OrderGrantRefundUpdateInput = { /** Lines to assign to granted refund. */ addLines?: InputMaybe>; /** Amount of the granted refund. if not provided and `addLines` or `removeLines` or `grantRefundForShipping` is provided, amount will be calculated automatically. */ - amount?: InputMaybe; + amount?: InputMaybe; /** Determine if granted refund should include shipping costs. */ - grantRefundForShipping?: InputMaybe; + grantRefundForShipping?: InputMaybe; /** Reason of the granted refund. */ - reason?: InputMaybe; + reason?: InputMaybe; /** * ID of a `Page` (Model) to reference in reason. * * Added in Saleor 3.22. */ - reasonReference?: InputMaybe; + reasonReference?: InputMaybe; /** Lines to remove from granted refund. */ - removeLines?: InputMaybe>; + removeLines?: InputMaybe>; /** * The ID of the transaction item related to the granted refund. If `amount` provided in the input, the transaction.chargedAmount needs to be equal or greater than provided `amount`.If `amount` is not provided in the input and calculated automatically by Saleor, the `min(calculatedAmount, transaction.chargedAmount)` will be used.Field will be required starting from Saleor 3.21. * @@ -17013,33 +17674,33 @@ export type OrderGrantRefundUpdateInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - transactionId?: InputMaybe; + transactionId?: InputMaybe; }; export type OrderGrantRefundUpdateLineAddInput = { /** The ID of the order line. */ - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; /** The quantity of line items to be marked to refund. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** Reason of the granted refund for the line. */ - reason?: InputMaybe; + reason?: InputMaybe; }; export type OrderGrantRefundUpdateLineError = { /** The error code. */ code: OrderGrantRefundUpdateLineErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The ID of the line related to the error. */ - lineId: Scalars["ID"]["output"]; + lineId: Scalars['ID']['output']; /** The error message. */ - message: Maybe; + message: Maybe; }; export type OrderGrantRefundUpdateLineErrorCode = - | "GRAPHQL_ERROR" - | "NOT_FOUND" - | "QUANTITY_GREATER_THAN_AVAILABLE"; + | 'GRAPHQL_ERROR' + | 'NOT_FOUND' + | 'QUANTITY_GREATER_THAN_AVAILABLE'; /** The details of granted refund. */ export type OrderGrantedRefund = { @@ -17048,8 +17709,8 @@ export type OrderGrantedRefund = { /** App that performed the action. */ app: Maybe; /** Time of creation. */ - createdAt: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; + createdAt: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; /** Lines assigned to the granted refund. */ lines: Maybe>; /** @@ -17057,7 +17718,7 @@ export type OrderGrantedRefund = { * * Added in Saleor 3.22. */ - reason: Maybe; + reason: Maybe; /** * Reason Model (Page) reference for refund. * @@ -17065,7 +17726,7 @@ export type OrderGrantedRefund = { */ reasonReference: Maybe; /** If true, the refunded amount includes the shipping price.If false, the refunded amount does not include the shipping price. */ - shippingCostsIncluded: Scalars["Boolean"]["output"]; + shippingCostsIncluded: Scalars['Boolean']['output']; /** * Status of the granted refund calculated based on transactionItem assigned to granted refund. * @@ -17085,20 +17746,20 @@ export type OrderGrantedRefund = { */ transactionEvents: Maybe>; /** Time of last update. */ - updatedAt: Scalars["DateTime"]["output"]; + updatedAt: Scalars['DateTime']['output']; /** User who performed the action. Requires of of the following permissions: MANAGE_USERS, MANAGE_STAFF, OWNER. */ user: Maybe; }; /** Represents granted refund line. */ export type OrderGrantedRefundLine = { - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Line of the order associated with this granted refund. */ orderLine: OrderLine; /** Number of items to refund. */ - quantity: Scalars["Int"]["output"]; + quantity: Scalars['Int']['output']; /** Reason for refunding the line. */ - reason: Maybe; + reason: Maybe; }; /** @@ -17111,152 +17772,157 @@ export type OrderGrantedRefundLine = { * */ export type OrderGrantedRefundStatusEnum = - | "FAILURE" - | "NONE" - | "PENDING" - | "SUCCESS"; + | 'FAILURE' + | 'NONE' + | 'PENDING' + | 'SUCCESS'; + +/** Represents order line of particular order. */ +export type OrderLine = Node & ObjectWithMetadata & { + /** + * List of allocations across warehouses. + * + * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. + */ + allocations: Maybe>; + digitalContentUrl: Maybe; + /** + * List of applied discounts + * + * Added in Saleor 3.21. + */ + discounts: Maybe>; + /** ID of the order line. */ + id: Scalars['ID']['output']; + /** + * Determine if the line is a gift. + * + * Added in Saleor 3.19. + * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + */ + isGift: Maybe; + /** Returns True, if the line unit price was overridden. */ + isPriceOverridden: Maybe; + /** Whether the product variant requires shipping. */ + isShippingRequired: Scalars['Boolean']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Name of the product in order line. */ + productName: Scalars['String']['output']; + /** SKU of the product variant. */ + productSku: Maybe; + /** The ID of the product variant. */ + productVariantId: Maybe; + /** Number of variant items ordered. */ + quantity: Scalars['Int']['output']; + /** Number of variant items fulfilled. */ + quantityFulfilled: Scalars['Int']['output']; + /** A quantity of items remaining to be fulfilled. */ + quantityToFulfill: Scalars['Int']['output']; + /** Denormalized sale ID, set when order line is created for a product variant that is on sale. */ + saleId: Maybe; + /** + * Denormalized tax class of the product in this order line. + * + * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. + */ + taxClass: Maybe; + /** Denormalized public metadata of the tax class. */ + taxClassMetadata: Array; + /** Denormalized name of the tax class. */ + taxClassName: Maybe; + /** Denormalized private metadata of the tax class. Requires staff permissions to access. */ + taxClassPrivateMetadata: Array; + /** Rate of tax applied on product variant. */ + taxRate: Scalars['Float']['output']; + thumbnail: Maybe; + /** Price of the order line. */ + totalPrice: TaxedMoney; + /** Product name in the customer's language */ + translatedProductName: Scalars['String']['output']; + /** Variant name in the customer's language */ + translatedVariantName: Scalars['String']['output']; + /** Price of the order line without discounts. */ + undiscountedTotalPrice: TaxedMoney; + /** Price of the single item in the order line without any discount applied. */ + undiscountedUnitPrice: TaxedMoney; + /** Sum of the line-level discounts applied to the order line. Order-level discounts which affect the line are not visible in this field. For order-level discount portion (if any), please query `order.discounts` field. */ + unitDiscount: Money; + /** Reason for line-level discounts applied on the order line. Order-level discounts which affect the line are not visible in this field. For order-level discount reason (if any), please query `order.discounts` field. */ + unitDiscountReason: Maybe; + /** Type of the discount: `fixed` or `percent`. This field shouldn't be used when multiple discounts affect the line. There is a limitation, that after running `checkoutComplete` mutation the field is always set to `fixed`. */ + unitDiscountType: Maybe; + /** Value of the discount. Can store fixed value or percent value. This field shouldn't be used when multiple discounts affect the line. There is a limitation, that after running `checkoutComplete` mutation the field always stores fixed value. */ + unitDiscountValue: Scalars['PositiveDecimal']['output']; + /** Price of the single item in the order line with all the line-level discounts and order-level discount portions applied. */ + unitPrice: TaxedMoney; + /** A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. */ + variant: Maybe; + /** Name of the variant of product in order line. */ + variantName: Scalars['String']['output']; + /** Voucher code that was used for this order line. */ + voucherCode: Maybe; +}; -/** Represents order line of particular order. */ -export type OrderLine = Node & - ObjectWithMetadata & { - /** - * List of allocations across warehouses. - * - * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. - */ - allocations: Maybe>; - /** - * List of applied discounts - * - * Added in Saleor 3.21. - */ - discounts: Maybe>; - /** ID of the order line. */ - id: Scalars["ID"]["output"]; - /** - * Determine if the line is a gift. - * - * Added in Saleor 3.19. - * - * Note: this API is currently in Feature Preview and can be subject to changes at later point. - */ - isGift: Maybe; - /** Returns True, if the line unit price was overridden. */ - isPriceOverridden: Maybe; - /** Whether the product variant requires shipping. */ - isShippingRequired: Scalars["Boolean"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Name of the product in order line. */ - productName: Scalars["String"]["output"]; - /** SKU of the product variant. */ - productSku: Maybe; - /** The ID of the product variant. */ - productVariantId: Maybe; - /** Number of variant items ordered. */ - quantity: Scalars["Int"]["output"]; - /** Number of variant items fulfilled. */ - quantityFulfilled: Scalars["Int"]["output"]; - /** A quantity of items remaining to be fulfilled. */ - quantityToFulfill: Scalars["Int"]["output"]; - /** Denormalized sale ID, set when order line is created for a product variant that is on sale. */ - saleId: Maybe; - /** - * Denormalized tax class of the product in this order line. - * - * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. - */ - taxClass: Maybe; - /** Denormalized public metadata of the tax class. */ - taxClassMetadata: Array; - /** Denormalized name of the tax class. */ - taxClassName: Maybe; - /** Denormalized private metadata of the tax class. Requires staff permissions to access. */ - taxClassPrivateMetadata: Array; - /** Rate of tax applied on product variant. */ - taxRate: Scalars["Float"]["output"]; - thumbnail: Maybe; - /** Price of the order line. */ - totalPrice: TaxedMoney; - /** Product name in the customer's language */ - translatedProductName: Scalars["String"]["output"]; - /** Variant name in the customer's language */ - translatedVariantName: Scalars["String"]["output"]; - /** Price of the order line without discounts. */ - undiscountedTotalPrice: TaxedMoney; - /** Price of the single item in the order line without any discount applied. */ - undiscountedUnitPrice: TaxedMoney; - /** Sum of the line-level discounts applied to the order line. Order-level discounts which affect the line are not visible in this field. For order-level discount portion (if any), please query `order.discounts` field. */ - unitDiscount: Money; - /** Reason for line-level discounts applied on the order line. Order-level discounts which affect the line are not visible in this field. For order-level discount reason (if any), please query `order.discounts` field. */ - unitDiscountReason: Maybe; - /** Type of the discount: `fixed` or `percent`. This field shouldn't be used when multiple discounts affect the line. There is a limitation, that after running `checkoutComplete` mutation the field is always set to `fixed`. */ - unitDiscountType: Maybe; - /** Value of the discount. Can store fixed value or percent value. This field shouldn't be used when multiple discounts affect the line. There is a limitation, that after running `checkoutComplete` mutation the field always stores fixed value. */ - unitDiscountValue: Scalars["PositiveDecimal"]["output"]; - /** Price of the single item in the order line with all the line-level discounts and order-level discount portions applied. */ - unitPrice: TaxedMoney; - /** A purchased product variant. Note: this field may be null if the variant has been removed from stock at all. Requires one of the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. */ - variant: Maybe; - /** Name of the variant of product in order line. */ - variantName: Scalars["String"]["output"]; - /** Voucher code that was used for this order line. */ - voucherCode: Maybe; - }; /** Represents order line of particular order. */ export type OrderLineMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents order line of particular order. */ export type OrderLineMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents order line of particular order. */ export type OrderLinePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents order line of particular order. */ export type OrderLinePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents order line of particular order. */ export type OrderLineThumbnailArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; export type OrderLineCreateInput = { /** Flag that allow force splitting the same variant into multiple lines by skipping the matching logic. */ - forceNewLine?: InputMaybe; + forceNewLine?: InputMaybe; /** Custom price of the item.When the line with the same variant will be provided multiple times, the last price will be used. */ - price?: InputMaybe; + price?: InputMaybe; /** Number of variant items ordered. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** Product variant ID. */ - variantId: Scalars["ID"]["input"]; + variantId: Scalars['ID']['input']; }; /** @@ -17277,25 +17943,25 @@ export type OrderLineDelete = { /** Represent the discount applied to order line. */ export type OrderLineDiscount = { /** The ID of discount applied. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** The name of applied discount. */ - name: Maybe; + name: Maybe; /** * Explanation for the applied discount. * * Requires one of the following permissions: MANAGE_ORDERS. */ - reason: Maybe; + reason: Maybe; /** The discount amount applied to the line item. */ total: Money; /** Translated name of the applied discount. */ - translatedName: Maybe; + translatedName: Maybe; /** The type of applied discount: Sale, Voucher or Manual. */ type: OrderDiscountType; /** The discount amount applied to the single line unit. */ unit: Money; /** Value of the discount. Can store fixed value or percent value */ - value: Scalars["PositiveDecimal"]["output"]; + value: Scalars['PositiveDecimal']['output']; /** Type of the discount: fixed or percent */ valueType: DiscountValueTypeEnum; }; @@ -17332,7 +17998,7 @@ export type OrderLineDiscountUpdate = { export type OrderLineInput = { /** Number of variant items ordered. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; }; /** @@ -17380,7 +18046,7 @@ export type OrderMarkAsPaid = { /** Event sent when order metadata is updated. */ export type OrderMetadataUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -17388,7 +18054,7 @@ export type OrderMetadataUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -17408,16 +18074,18 @@ export type OrderNoteAddError = { /** The error code. */ code: Maybe; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; -export type OrderNoteAddErrorCode = "GRAPHQL_ERROR" | "REQUIRED"; +export type OrderNoteAddErrorCode = + | 'GRAPHQL_ERROR' + | 'REQUIRED'; export type OrderNoteInput = { /** Note message. */ - message: Scalars["String"]["input"]; + message: Scalars['String']['input']; }; /** @@ -17437,24 +18105,28 @@ export type OrderNoteUpdateError = { /** The error code. */ code: Maybe; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type OrderNoteUpdateErrorCode = - | "GRAPHQL_ERROR" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'NOT_FOUND' + | 'REQUIRED'; export type OrderOrCheckout = Checkout | Order; -export type OrderOriginEnum = "BULK_CREATE" | "CHECKOUT" | "DRAFT" | "REISSUE"; +export type OrderOriginEnum = + | 'BULK_CREATE' + | 'CHECKOUT' + | 'DRAFT' + | 'REISSUE'; /** Payment has been made. The order may be partially or fully paid. */ export type OrderPaid = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -17462,7 +18134,7 @@ export type OrderPaid = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type OrderPredicateInput = { @@ -17489,25 +18161,25 @@ export type OrderRefund = { export type OrderRefundFulfillmentLineInput = { /** The ID of the fulfillment line to refund. */ - fulfillmentLineId: Scalars["ID"]["input"]; + fulfillmentLineId: Scalars['ID']['input']; /** The number of items to be refunded. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; }; export type OrderRefundLineInput = { /** The ID of the order line to refund. */ - orderLineId: Scalars["ID"]["input"]; + orderLineId: Scalars['ID']['input']; /** The number of items to be refunded. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; }; export type OrderRefundProductsInput = { /** The total amount of refund when the value is provided manually. */ - amountToRefund?: InputMaybe; + amountToRefund?: InputMaybe; /** List of fulfilled lines to refund. */ fulfillmentLines?: InputMaybe>; /** If true, Saleor will refund shipping costs. If amountToRefund is providedincludeShippingCosts will be ignored. */ - includeShippingCosts?: InputMaybe; + includeShippingCosts?: InputMaybe; /** List of unfulfilled lines to refund. */ orderLines?: InputMaybe>; }; @@ -17515,7 +18187,7 @@ export type OrderRefundProductsInput = { /** The order received a refund. The order may be partially or fully refunded. */ export type OrderRefunded = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -17523,50 +18195,50 @@ export type OrderRefunded = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type OrderReturnFulfillmentLineInput = { /** The ID of the fulfillment line to return. */ - fulfillmentLineId: Scalars["ID"]["input"]; + fulfillmentLineId: Scalars['ID']['input']; /** The number of items to be returned. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** Determines, if the line should be added to replace order. */ - replace?: InputMaybe; + replace?: InputMaybe; }; export type OrderReturnLineInput = { /** The ID of the order line to return. */ - orderLineId: Scalars["ID"]["input"]; + orderLineId: Scalars['ID']['input']; /** The number of items to be returned. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** Determines, if the line should be added to replace order. */ - replace?: InputMaybe; + replace?: InputMaybe; }; export type OrderReturnProductsInput = { /** The total amount of refund when the value is provided manually. */ - amountToRefund?: InputMaybe; + amountToRefund?: InputMaybe; /** List of fulfilled lines to return. */ fulfillmentLines?: InputMaybe>; /** If true, Saleor will refund shipping costs. If amountToRefund is providedincludeShippingCosts will be ignored. */ - includeShippingCosts?: InputMaybe; + includeShippingCosts?: InputMaybe; /** List of unfulfilled lines to return. */ orderLines?: InputMaybe>; /** If true, Saleor will call refund action for all lines. */ - refund?: InputMaybe; + refund?: InputMaybe; }; /** Represents the channel-specific order settings. */ export type OrderSettings = { /** Determine if it is possible to place unpaid order by calling `checkoutComplete` mutation. */ - allowUnpaidOrders: Scalars["Boolean"]["output"]; + allowUnpaidOrders: Scalars['Boolean']['output']; /** When disabled, all new orders from checkout will be marked as unconfirmed. When enabled orders from checkout will become unfulfilled immediately. */ - automaticallyConfirmAllNewOrders: Scalars["Boolean"]["output"]; + automaticallyConfirmAllNewOrders: Scalars['Boolean']['output']; /** When enabled, all non-shippable gift card orders will be fulfilled automatically. */ - automaticallyFulfillNonShippableGiftCard: Scalars["Boolean"]["output"]; + automaticallyFulfillNonShippableGiftCard: Scalars['Boolean']['output']; /** The time in days after expired orders will be deleted. */ - deleteExpiredOrdersAfter: Scalars["Day"]["output"]; + deleteExpiredOrdersAfter: Scalars['Day']['output']; /** * Time in hours after which the draft order line price will be refreshed. * @@ -17574,9 +18246,9 @@ export type OrderSettings = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - draftOrderLinePriceFreezePeriod: Maybe; + draftOrderLinePriceFreezePeriod: Maybe; /** Expiration time in minutes. Default null - means do not expire any orders. */ - expireOrdersAfter: Maybe; + expireOrdersAfter: Maybe; /** * Determine if voucher applied on draft order should be count toward voucher usage. * @@ -17584,7 +18256,7 @@ export type OrderSettings = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - includeDraftOrderInVoucherUsage: Scalars["Boolean"]["output"]; + includeDraftOrderInVoucherUsage: Scalars['Boolean']['output']; /** * Determine what strategy will be used to mark the order as paid. Based on the chosen option, the proper object will be created and attached to the order when it's manually marked as paid. * `PAYMENT_FLOW` - [default option] creates the `Payment` object. @@ -17599,31 +18271,30 @@ export type OrderSettings = { * * Added in Saleor 3.21. */ - useLegacyLineDiscountPropagation: Scalars["Boolean"]["output"]; + useLegacyLineDiscountPropagation: Scalars['Boolean']['output']; }; export type OrderSettingsError = { /** The error code. */ code: OrderSettingsErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; -export type OrderSettingsErrorCode = "INVALID"; +export type OrderSettingsErrorCode = + | 'INVALID'; export type OrderSettingsInput = { /** Determine if it is possible to place unpaid order by calling `checkoutComplete` mutation. */ - allowUnpaidOrders?: InputMaybe; + allowUnpaidOrders?: InputMaybe; /** When disabled, all new orders from checkout will be marked as unconfirmed. When enabled orders from checkout will become unfulfilled immediately. By default set to True */ - automaticallyConfirmAllNewOrders?: InputMaybe; + automaticallyConfirmAllNewOrders?: InputMaybe; /** When enabled, all non-shippable gift card orders will be fulfilled automatically. By default set to True. */ - automaticallyFulfillNonShippableGiftCard?: InputMaybe< - Scalars["Boolean"]["input"] - >; + automaticallyFulfillNonShippableGiftCard?: InputMaybe; /** The time in days after expired orders will be deleted.Allowed range is from 1 to 120. */ - deleteExpiredOrdersAfter?: InputMaybe; + deleteExpiredOrdersAfter?: InputMaybe; /** * Time in hours after which the draft order line price will be refreshed. Default value is 24 hours. Enter 0 or null to disable. * @@ -17631,9 +18302,9 @@ export type OrderSettingsInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - draftOrderLinePriceFreezePeriod?: InputMaybe; + draftOrderLinePriceFreezePeriod?: InputMaybe; /** Expiration time in minutes. Default null - means do not expire any orders. Enter 0 or null to disable. */ - expireOrdersAfter?: InputMaybe; + expireOrdersAfter?: InputMaybe; /** * Specify whether a coupon applied to draft orders will count toward voucher usage. * @@ -17643,7 +18314,7 @@ export type OrderSettingsInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - includeDraftOrderInVoucherUsage?: InputMaybe; + includeDraftOrderInVoucherUsage?: InputMaybe; /** * Determine what strategy will be used to mark the order as paid. Based on the chosen option, the proper object will be created and attached to the order when it's manually marked as paid. * `PAYMENT_FLOW` - [default option] creates the `Payment` object. @@ -17658,7 +18329,7 @@ export type OrderSettingsInput = { * * Added in Saleor 3.21. */ - useLegacyLineDiscountPropagation?: InputMaybe; + useLegacyLineDiscountPropagation?: InputMaybe; }; /** @@ -17676,36 +18347,34 @@ export type OrderSettingsUpdate = { export type OrderSettingsUpdateInput = { /** When disabled, all new orders from checkout will be marked as unconfirmed. When enabled orders from checkout will become unfulfilled immediately. By default set to True */ - automaticallyConfirmAllNewOrders?: InputMaybe; + automaticallyConfirmAllNewOrders?: InputMaybe; /** When enabled, all non-shippable gift card orders will be fulfilled automatically. By default set to True. */ - automaticallyFulfillNonShippableGiftCard?: InputMaybe< - Scalars["Boolean"]["input"] - >; + automaticallyFulfillNonShippableGiftCard?: InputMaybe; }; export type OrderSortField = /** Sort orders by creation date. */ - | "CREATED_AT" + | 'CREATED_AT' /** Sort orders by creation date */ - | "CREATION_DATE" + | 'CREATION_DATE' /** Sort orders by customer. */ - | "CUSTOMER" + | 'CUSTOMER' /** Sort orders by fulfillment status. */ - | "FULFILLMENT_STATUS" + | 'FULFILLMENT_STATUS' /** Sort orders by last modified date. */ - | "LAST_MODIFIED_AT" + | 'LAST_MODIFIED_AT' /** Sort orders by number. */ - | "NUMBER" + | 'NUMBER' /** Sort orders by payment status. */ - | "PAYMENT" + | 'PAYMENT' /** Sort orders by rank. Note: This option is available only with the `search` filter. */ - | "RANK" + | 'RANK' /** * Sort orders by order status. * * Added in Saleor 3.22. */ - | "STATUS"; + | 'STATUS'; export type OrderSortingInput = { /** Specifies the direction in which to sort orders. */ @@ -17715,15 +18384,15 @@ export type OrderSortingInput = { }; export type OrderStatus = - | "CANCELED" - | "DRAFT" - | "EXPIRED" - | "FULFILLED" - | "PARTIALLY_FULFILLED" - | "PARTIALLY_RETURNED" - | "RETURNED" - | "UNCONFIRMED" - | "UNFULFILLED"; + | 'CANCELED' + | 'DRAFT' + | 'EXPIRED' + | 'FULFILLED' + | 'PARTIALLY_FULFILLED' + | 'PARTIALLY_RETURNED' + | 'RETURNED' + | 'UNCONFIRMED' + | 'UNFULFILLED'; /** Filter by order status. */ export type OrderStatusEnumFilterInput = { @@ -17734,13 +18403,13 @@ export type OrderStatusEnumFilterInput = { }; export type OrderStatusFilter = - | "CANCELED" - | "FULFILLED" - | "PARTIALLY_FULFILLED" - | "READY_TO_CAPTURE" - | "READY_TO_FULFILL" - | "UNCONFIRMED" - | "UNFULFILLED"; + | 'CANCELED' + | 'FULFILLED' + | 'PARTIALLY_FULFILLED' + | 'READY_TO_CAPTURE' + | 'READY_TO_FULFILL' + | 'UNCONFIRMED' + | 'UNFULFILLED'; /** * Updates an order. @@ -17758,7 +18427,7 @@ export type OrderUpdateInput = { /** Billing address of the customer. */ billingAddress?: InputMaybe; /** External ID of this order. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** * Order language code. * @@ -17784,7 +18453,7 @@ export type OrderUpdateInput = { /** Shipping address of the customer. */ shippingAddress?: InputMaybe; /** Email address of the customer. */ - userEmail?: InputMaybe; + userEmail?: InputMaybe; }; /** @@ -17802,13 +18471,13 @@ export type OrderUpdateShipping = { export type OrderUpdateShippingInput = { /** ID of the selected shipping method, pass null to remove currently assigned shipping method. */ - shippingMethod?: InputMaybe; + shippingMethod?: InputMaybe; }; /** Event sent when order is updated. */ export type OrderUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The order the event relates to. */ @@ -17816,7 +18485,7 @@ export type OrderUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -17856,18 +18525,18 @@ export type OrderWhereInput = { /** Filter by fulfillment data associated with the order. Each list item represents conditions that must be satisfied by a single object. The filter matches orders that have related objects meeting all specified groups of conditions. */ fulfillments?: InputMaybe>; /** Filter by whether the order has any fulfillments. */ - hasFulfillments?: InputMaybe; + hasFulfillments?: InputMaybe; /** Filter by whether the order has any invoices. */ - hasInvoices?: InputMaybe; - ids?: InputMaybe>; + hasInvoices?: InputMaybe; + ids?: InputMaybe>; /** Filter by invoice data associated with the order. Each list item represents conditions that must be satisfied by a single object. The filter matches orders that have related objects meeting all specified groups of conditions. */ invoices?: InputMaybe>; /** Filter by whether the order uses the click and collect delivery method. */ - isClickAndCollect?: InputMaybe; + isClickAndCollect?: InputMaybe; /** Filter based on whether the order includes a gift card purchase. */ - isGiftCardBought?: InputMaybe; + isGiftCardBought?: InputMaybe; /** Filter based on whether a gift card was used in the order. */ - isGiftCardUsed?: InputMaybe; + isGiftCardUsed?: InputMaybe; /** Filter by line items associated with the order. Each list item represents conditions that must be satisfied by a single object. The filter matches orders that have related objects meeting all specified groups of conditions. */ lines?: InputMaybe>; /** Filter by number of lines in the order. */ @@ -17905,132 +18574,138 @@ export type OrderWhereInput = { */ export type OtherPaymentMethodDetails = PaymentMethodDetails & { /** Name of the payment method. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; export type OtherPaymentMethodDetailsInput = { /** Name of the payment method used for the transaction. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; }; /** A static page that can be manually added by a shop operator through the dashboard. */ -export type Page = Node & - ObjectWithAttributes & - ObjectWithMetadata & { - /** - * Get a single attribute attached to page by attribute slug. - * - * Added in Saleor 3.22. - */ - assignedAttribute: Maybe; - /** - * List of attributes assigned to this page. - * - * Added in Saleor 3.22. - */ - assignedAttributes: Array; - /** - * Get a single attribute attached to page by attribute slug. - * @deprecated Use `assignedAttribute` field instead. - */ - attribute: Maybe; - /** - * List of attributes assigned to this page. - * @deprecated Use `assignedAttributes` field instead. - */ - attributes: Array; - /** - * Content of the page. - * - * Rich text format. For reference see https://editorjs.io/ - */ - content: Maybe; - /** - * Content of the page. - * - * Rich text format. For reference see https://editorjs.io/ - * @deprecated Use the `content` field instead. - */ - contentJson: Scalars["JSONString"]["output"]; - /** Date and time at which page was created. */ - created: Scalars["DateTime"]["output"]; - /** ID of the page. */ - id: Scalars["ID"]["output"]; - /** Determines if the page is published. */ - isPublished: Scalars["Boolean"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Determines the type of page */ - pageType: PageType; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** @deprecated Use the `publishedAt` field to fetch the publication date. */ - publicationDate: Maybe; - /** The page publication date. */ - publishedAt: Maybe; - /** Description of the page for SEO. */ - seoDescription: Maybe; - /** Title of the page for SEO. */ - seoTitle: Maybe; - /** Slug of the page. */ - slug: Scalars["String"]["output"]; - /** Title of the page. */ - title: Scalars["String"]["output"]; - /** Returns translated page fields for the given language code. */ - translation: Maybe; - }; +export type Page = Node & ObjectWithAttributes & ObjectWithMetadata & { + /** + * Get a single attribute attached to page by attribute slug. + * + * Added in Saleor 3.22. + */ + assignedAttribute: Maybe; + /** + * List of attributes assigned to this page. + * + * Added in Saleor 3.22. + */ + assignedAttributes: Array; + /** + * Get a single attribute attached to page by attribute slug. + * @deprecated Use `assignedAttribute` field instead. + */ + attribute: Maybe; + /** + * List of attributes assigned to this page. + * @deprecated Use `assignedAttributes` field instead. + */ + attributes: Array; + /** + * Content of the page. + * + * Rich text format. For reference see https://editorjs.io/ + */ + content: Maybe; + /** + * Content of the page. + * + * Rich text format. For reference see https://editorjs.io/ + * @deprecated Use the `content` field instead. + */ + contentJson: Scalars['JSONString']['output']; + /** Date and time at which page was created. */ + created: Scalars['DateTime']['output']; + /** ID of the page. */ + id: Scalars['ID']['output']; + /** Determines if the page is published. */ + isPublished: Scalars['Boolean']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Determines the type of page */ + pageType: PageType; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** @deprecated Use the `publishedAt` field to fetch the publication date. */ + publicationDate: Maybe; + /** The page publication date. */ + publishedAt: Maybe; + /** Description of the page for SEO. */ + seoDescription: Maybe; + /** Title of the page for SEO. */ + seoTitle: Maybe; + /** Slug of the page. */ + slug: Scalars['String']['output']; + /** Title of the page. */ + title: Scalars['String']['output']; + /** Returns translated page fields for the given language code. */ + translation: Maybe; +}; + /** A static page that can be manually added by a shop operator through the dashboard. */ export type PageAssignedAttributeArgs = { - slug: Scalars["String"]["input"]; + slug: Scalars['String']['input']; }; + /** A static page that can be manually added by a shop operator through the dashboard. */ export type PageAssignedAttributesArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; + /** A static page that can be manually added by a shop operator through the dashboard. */ export type PageAttributeArgs = { - slug: Scalars["String"]["input"]; + slug: Scalars['String']['input']; }; + /** A static page that can be manually added by a shop operator through the dashboard. */ export type PageMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** A static page that can be manually added by a shop operator through the dashboard. */ export type PageMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** A static page that can be manually added by a shop operator through the dashboard. */ export type PagePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** A static page that can be manually added by a shop operator through the dashboard. */ export type PagePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** A static page that can be manually added by a shop operator through the dashboard. */ export type PageTranslationArgs = { languageCode: LanguageCodeEnum; @@ -18069,7 +18744,7 @@ export type PageAttributeUnassign = { */ export type PageBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ pageErrors: Array; @@ -18082,7 +18757,7 @@ export type PageBulkDelete = { */ export type PageBulkPublish = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ pageErrors: Array; @@ -18093,12 +18768,12 @@ export type PageCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type PageCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Page; }; @@ -18123,31 +18798,31 @@ export type PageCreateInput = { * * Rich text format. For reference see https://editorjs.io/ */ - content?: InputMaybe; + content?: InputMaybe; /** Determines if page is visible in the storefront. */ - isPublished?: InputMaybe; + isPublished?: InputMaybe; /** ID of the page type that page belongs to. */ - pageType: Scalars["ID"]["input"]; + pageType: Scalars['ID']['input']; /** * Publication date. ISO 8601 standard. * * DEPRECATED: this field will be removed. Use `publishedAt` field instead. */ - publicationDate?: InputMaybe; + publicationDate?: InputMaybe; /** Publication date time. ISO 8601 standard. */ - publishedAt?: InputMaybe; + publishedAt?: InputMaybe; /** Search engine optimization fields. */ seo?: InputMaybe; /** Page internal name. */ - slug?: InputMaybe; + slug?: InputMaybe; /** Page title. */ - title?: InputMaybe; + title?: InputMaybe; }; /** Event sent when new page is created. */ export type PageCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The page the event relates to. */ @@ -18155,7 +18830,7 @@ export type PageCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -18173,7 +18848,7 @@ export type PageDelete = { /** Event sent when page is deleted. */ export type PageDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The page the event relates to. */ @@ -18181,49 +18856,49 @@ export type PageDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type PageError = { /** List of attributes IDs which causes the error. */ - attributes: Maybe>; + attributes: Maybe>; /** The error code. */ code: PageErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of attribute values IDs which causes the error. */ - values: Maybe>; + values: Maybe>; }; export type PageErrorCode = - | "ATTRIBUTE_ALREADY_ASSIGNED" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ATTRIBUTE_ALREADY_ASSIGNED' + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type PageFilterInput = { - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; - pageTypes?: InputMaybe>; - search?: InputMaybe; - slugs?: InputMaybe>; + pageTypes?: InputMaybe>; + search?: InputMaybe; + slugs?: InputMaybe>; }; /** The Relay compliant `PageInfo` type, containing data necessary to paginate this connection. */ export type PageInfo = { /** When paginating forwards, the cursor to continue. */ - endCursor: Maybe; + endCursor: Maybe; /** When paginating forwards, are there more items? */ - hasNextPage: Scalars["Boolean"]["output"]; + hasNextPage: Scalars['Boolean']['output']; /** When paginating backwards, are there more items? */ - hasPreviousPage: Scalars["Boolean"]["output"]; + hasPreviousPage: Scalars['Boolean']['output']; /** When paginating backwards, the cursor to continue. */ - startCursor: Maybe; + startCursor: Maybe; }; export type PageInput = { @@ -18234,23 +18909,23 @@ export type PageInput = { * * Rich text format. For reference see https://editorjs.io/ */ - content?: InputMaybe; + content?: InputMaybe; /** Determines if page is visible in the storefront. */ - isPublished?: InputMaybe; + isPublished?: InputMaybe; /** * Publication date. ISO 8601 standard. * * DEPRECATED: this field will be removed. Use `publishedAt` field instead. */ - publicationDate?: InputMaybe; + publicationDate?: InputMaybe; /** Publication date time. ISO 8601 standard. */ - publishedAt?: InputMaybe; + publishedAt?: InputMaybe; /** Search engine optimization fields. */ seo?: InputMaybe; /** Page internal name. */ - slug?: InputMaybe; + slug?: InputMaybe; /** Page title. */ - title?: InputMaybe; + title?: InputMaybe; }; /** @@ -18268,21 +18943,19 @@ export type PageReorderAttributeValues = { export type PageSortField = /** Sort pages by creation date. */ - | "CREATED_AT" + | 'CREATED_AT' /** Sort pages by creation date. */ - | "CREATION_DATE" + | 'CREATION_DATE' /** Sort pages by publication date. */ - | "PUBLICATION_DATE" + | 'PUBLICATION_DATE' /** Sort pages by publication date. */ - | "PUBLISHED_AT" - /** Sort pages by rank. Note: This option is available only with the `search` filter. */ - | "RANK" + | 'PUBLISHED_AT' /** Sort pages by slug. */ - | "SLUG" + | 'SLUG' /** Sort pages by title. */ - | "TITLE" + | 'TITLE' /** Sort pages by visibility. */ - | "VISIBILITY"; + | 'VISIBILITY'; export type PageSortingInput = { /** Specifies the direction in which to sort pages. */ @@ -18300,39 +18973,40 @@ export type PageTranslatableContent = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - content: Maybe; + content: Maybe; /** * Content of the page. * * Rich text format. For reference see https://editorjs.io/ * @deprecated Use the `content` field instead. */ - contentJson: Maybe; + contentJson: Maybe; /** The ID of the page translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** * A static page that can be manually added by a shop operator through the dashboard. * @deprecated Get model fields from the root level queries. */ page: Maybe; /** The ID of the page to translate. */ - pageId: Scalars["ID"]["output"]; + pageId: Scalars['ID']['output']; /** SEO description to translate. */ - seoDescription: Maybe; + seoDescription: Maybe; /** SEO title to translate. */ - seoTitle: Maybe; + seoTitle: Maybe; /** * Slug to translate. * * Added in Saleor 3.21. */ - slug: Maybe; + slug: Maybe; /** Page title to translate. */ - title: Scalars["String"]["output"]; + title: Scalars['String']['output']; /** Returns translated page fields for the given language code. */ translation: Maybe; }; + /** Represents page's original translatable fields and related translations. */ export type PageTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -18357,30 +19031,30 @@ export type PageTranslation = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - content: Maybe; + content: Maybe; /** * Translated description of the page. * * Rich text format. For reference see https://editorjs.io/ * @deprecated Use the `content` field instead. */ - contentJson: Maybe; + contentJson: Maybe; /** The ID of the page translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated SEO description. */ - seoDescription: Maybe; + seoDescription: Maybe; /** Translated SEO title. */ - seoTitle: Maybe; + seoTitle: Maybe; /** * Translated page slug. * * Added in Saleor 3.21. */ - slug: Maybe; + slug: Maybe; /** Translated page title. */ - title: Maybe; + title: Maybe; /** Represents the page fields to translate. */ translatableContent: Maybe; }; @@ -18391,87 +19065,91 @@ export type PageTranslationInput = { * * Rich text format. For reference see https://editorjs.io/ */ - content?: InputMaybe; - seoDescription?: InputMaybe; - seoTitle?: InputMaybe; - slug?: InputMaybe; - title?: InputMaybe; + content?: InputMaybe; + seoDescription?: InputMaybe; + seoTitle?: InputMaybe; + slug?: InputMaybe; + title?: InputMaybe; }; /** Represents a type of page. It defines what attributes are available to pages of this type. */ -export type PageType = Node & - ObjectWithMetadata & { - /** Page attributes of that page type. */ - attributes: Maybe>; - /** - * Attributes that can be assigned to the page type. - * - * Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES. - */ - availableAttributes: Maybe; - /** - * Whether page type has pages assigned. - * - * Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES. - */ - hasPages: Maybe; - /** ID of the page type. */ - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Name of the page type. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Slug of the page type. */ - slug: Scalars["String"]["output"]; - }; +export type PageType = Node & ObjectWithMetadata & { + /** Page attributes of that page type. */ + attributes: Maybe>; + /** + * Attributes that can be assigned to the page type. + * + * Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES. + */ + availableAttributes: Maybe; + /** + * Whether page type has pages assigned. + * + * Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES. + */ + hasPages: Maybe; + /** ID of the page type. */ + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Name of the page type. */ + name: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Slug of the page type. */ + slug: Scalars['String']['output']; +}; + /** Represents a type of page. It defines what attributes are available to pages of this type. */ export type PageTypeAvailableAttributesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; where?: InputMaybe; }; + /** Represents a type of page. It defines what attributes are available to pages of this type. */ export type PageTypeMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a type of page. It defines what attributes are available to pages of this type. */ export type PageTypeMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a type of page. It defines what attributes are available to pages of this type. */ export type PageTypePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a type of page. It defines what attributes are available to pages of this type. */ export type PageTypePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** @@ -18481,7 +19159,7 @@ export type PageTypePrivateMetafieldsArgs = { */ export type PageTypeBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ pageErrors: Array; @@ -18492,12 +19170,12 @@ export type PageTypeCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type PageTypeCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: PageType; }; @@ -18516,17 +19194,17 @@ export type PageTypeCreate = { export type PageTypeCreateInput = { /** List of attribute IDs to be assigned to the page type. */ - addAttributes?: InputMaybe>; + addAttributes?: InputMaybe>; /** Name of the page type. */ - name?: InputMaybe; + name?: InputMaybe; /** Page type slug. */ - slug?: InputMaybe; + slug?: InputMaybe; }; /** Event sent when new page type is created. */ export type PageTypeCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The page type the event relates to. */ @@ -18534,7 +19212,7 @@ export type PageTypeCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -18552,7 +19230,7 @@ export type PageTypeDelete = { /** Event sent when page type is deleted. */ export type PageTypeDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The page type the event relates to. */ @@ -18560,12 +19238,12 @@ export type PageTypeDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type PageTypeFilterInput = { - search?: InputMaybe; - slugs?: InputMaybe>; + search?: InputMaybe; + slugs?: InputMaybe>; }; /** @@ -18583,9 +19261,9 @@ export type PageTypeReorderAttributes = { export type PageTypeSortField = /** Sort page types by name. */ - | "NAME" + | 'NAME' /** Sort page types by slug. */ - | "SLUG"; + | 'SLUG'; export type PageTypeSortingInput = { /** Specifies the direction in which to sort page types. */ @@ -18608,19 +19286,19 @@ export type PageTypeUpdate = { export type PageTypeUpdateInput = { /** List of attribute IDs to be assigned to the page type. */ - addAttributes?: InputMaybe>; + addAttributes?: InputMaybe>; /** Name of the page type. */ - name?: InputMaybe; - /** List of attribute IDs to be unassigned from the page type. */ - removeAttributes?: InputMaybe>; + name?: InputMaybe; + /** List of attribute IDs to be assigned to the page type. */ + removeAttributes?: InputMaybe>; /** Page type slug. */ - slug?: InputMaybe; + slug?: InputMaybe; }; /** Event sent when page type is updated. */ export type PageTypeUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The page type the event relates to. */ @@ -18628,7 +19306,7 @@ export type PageTypeUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -18646,7 +19324,7 @@ export type PageUpdate = { /** Event sent when page is updated. */ export type PageUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The page the event relates to. */ @@ -18654,7 +19332,7 @@ export type PageUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type PageWhereInput = { @@ -18664,7 +19342,7 @@ export type PageWhereInput = { OR?: InputMaybe>; /** Filter by attributes associated with the page. */ attributes?: InputMaybe>; - ids?: InputMaybe>; + ids?: InputMaybe>; /** Filter by metadata fields. */ metadata?: InputMaybe; /** Filter by page type. */ @@ -18686,125 +19364,121 @@ export type PasswordChange = { user: Maybe; }; -/** - * Controls whether password-based authentication is allowed. - * - * ENABLED - any user can log in with a password. This is the default behavior. - * CUSTOMERS_ONLY - only customer users can log in with a password. - * If a staff user logs in with a password, they will be treated as a customer - * — the issued token will not contain any staff permissions. - * DISABLED - no user can log in with a password. - * - */ -export type PasswordLoginModeEnum = "CUSTOMERS_ONLY" | "DISABLED" | "ENABLED"; - /** Represents a payment of a given type. */ -export type Payment = Node & - ObjectWithMetadata & { - /** - * List of actions that can be performed in the current state of a payment. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - actions: Array; - /** - * Maximum amount of money that can be captured. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - availableCaptureAmount: Maybe; - /** - * Maximum amount of money that can be refunded. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - availableRefundAmount: Maybe; - /** Total amount captured for this payment. */ - capturedAmount: Maybe; - /** Internal payment status. */ - chargeStatus: PaymentChargeStatusEnum; - /** Checkout associated with a payment. */ - checkout: Maybe; - /** Date and time at which payment was created. */ - created: Scalars["DateTime"]["output"]; - /** The details of the card used for this payment. */ - creditCard: Maybe; - /** - * IP address of the user who created the payment. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - customerIpAddress: Maybe; - /** Payment gateway used for payment. */ - gateway: Scalars["String"]["output"]; - /** ID of the payment. */ - id: Scalars["ID"]["output"]; - /** Determines if the payment is active or not. */ - isActive: Scalars["Boolean"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Date and time at which payment was modified. */ - modified: Scalars["DateTime"]["output"]; - /** Order associated with a payment. */ - order: Maybe; - /** Type of method used for payment. */ - paymentMethodType: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** PSP reference of the payment. */ - pspReference: Maybe; - /** Unique token associated with a payment. */ - token: Scalars["String"]["output"]; - /** Total amount of the payment. */ - total: Maybe; - /** - * List of all transactions within this payment. - * - * Requires one of the following permissions: MANAGE_ORDERS. - */ - transactions: Maybe>; - }; +export type Payment = Node & ObjectWithMetadata & { + /** + * List of actions that can be performed in the current state of a payment. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + actions: Array; + /** + * Maximum amount of money that can be captured. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + availableCaptureAmount: Maybe; + /** + * Maximum amount of money that can be refunded. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + availableRefundAmount: Maybe; + /** Total amount captured for this payment. */ + capturedAmount: Maybe; + /** Internal payment status. */ + chargeStatus: PaymentChargeStatusEnum; + /** Checkout associated with a payment. */ + checkout: Maybe; + /** Date and time at which payment was created. */ + created: Scalars['DateTime']['output']; + /** The details of the card used for this payment. */ + creditCard: Maybe; + /** + * IP address of the user who created the payment. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + customerIpAddress: Maybe; + /** Payment gateway used for payment. */ + gateway: Scalars['String']['output']; + /** ID of the payment. */ + id: Scalars['ID']['output']; + /** Determines if the payment is active or not. */ + isActive: Scalars['Boolean']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Date and time at which payment was modified. */ + modified: Scalars['DateTime']['output']; + /** Order associated with a payment. */ + order: Maybe; + /** + * Informs whether this is a partial payment. + * @deprecated This field is reserved for the Adyen Gateway plugin. For other gateways, its value is always `false`. This field will be removed in 3.23 along with the plugin. + */ + partial: Scalars['Boolean']['output']; + /** Type of method used for payment. */ + paymentMethodType: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** PSP reference of the payment. */ + pspReference: Maybe; + /** Unique token associated with a payment. */ + token: Scalars['String']['output']; + /** Total amount of the payment. */ + total: Maybe; + /** + * List of all transactions within this payment. + * + * Requires one of the following permissions: MANAGE_ORDERS. + */ + transactions: Maybe>; +}; + /** Represents a payment of a given type. */ export type PaymentMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a payment of a given type. */ export type PaymentMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a payment of a given type. */ export type PaymentPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a payment of a given type. */ export type PaymentPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** Authorize payment. */ export type PaymentAuthorize = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Look up a payment. */ @@ -18812,7 +19486,7 @@ export type PaymentAuthorize = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -18831,7 +19505,7 @@ export type PaymentCapture = { /** Capture payment. */ export type PaymentCaptureEvent = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Look up a payment. */ @@ -18839,23 +19513,23 @@ export type PaymentCaptureEvent = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type PaymentChargeStatusEnum = - | "CANCELLED" - | "FULLY_CHARGED" - | "FULLY_REFUNDED" - | "NOT_CHARGED" - | "PARTIALLY_CHARGED" - | "PARTIALLY_REFUNDED" - | "PENDING" - | "REFUSED"; + | 'CANCELLED' + | 'FULLY_CHARGED' + | 'FULLY_REFUNDED' + | 'NOT_CHARGED' + | 'PARTIALLY_CHARGED' + | 'PARTIALLY_REFUNDED' + | 'PENDING' + | 'REFUSED'; /** Check payment balance. */ export type PaymentCheckBalance = { /** Response from the gateway. */ - data: Maybe; + data: Maybe; errors: Array; /** @deprecated Use `errors` field instead. */ paymentErrors: Array; @@ -18865,17 +19539,17 @@ export type PaymentCheckBalanceInput = { /** Information about card. */ card: CardInput; /** Slug of a channel for which the data should be returned. */ - channel: Scalars["String"]["input"]; + channel: Scalars['String']['input']; /** An ID of a payment gateway to check. */ - gatewayId: Scalars["String"]["input"]; + gatewayId: Scalars['String']['input']; /** Payment method name. */ - method: Scalars["String"]["input"]; + method: Scalars['String']['input']; }; /** Confirm payment. */ export type PaymentConfirmEvent = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Look up a payment. */ @@ -18883,7 +19557,7 @@ export type PaymentConfirmEvent = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type PaymentCountableConnection = { @@ -18891,12 +19565,12 @@ export type PaymentCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type PaymentCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Payment; }; @@ -18905,38 +19579,38 @@ export type PaymentError = { /** The error code. */ code: PaymentErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of variant IDs which causes the error. */ - variants: Maybe>; + variants: Maybe>; }; export type PaymentErrorCode = - | "BALANCE_CHECK_ERROR" - | "BILLING_ADDRESS_NOT_SET" - | "CHANNEL_INACTIVE" - | "CHECKOUT_COMPLETION_IN_PROGRESS" - | "CHECKOUT_EMAIL_NOT_SET" - | "CHECKOUT_HAS_TRANSACTION" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_SHIPPING_METHOD" - | "NOT_FOUND" - | "NOT_SUPPORTED_GATEWAY" - | "NO_CHECKOUT_LINES" - | "PARTIAL_PAYMENT_NOT_ALLOWED" - | "PAYMENT_ERROR" - | "REQUIRED" - | "SHIPPING_ADDRESS_NOT_SET" - | "SHIPPING_METHOD_NOT_SET" - | "UNAVAILABLE_VARIANT_IN_CHANNEL" - | "UNIQUE"; + | 'BALANCE_CHECK_ERROR' + | 'BILLING_ADDRESS_NOT_SET' + | 'CHANNEL_INACTIVE' + | 'CHECKOUT_COMPLETION_IN_PROGRESS' + | 'CHECKOUT_EMAIL_NOT_SET' + | 'CHECKOUT_HAS_TRANSACTION' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_SHIPPING_METHOD' + | 'NOT_FOUND' + | 'NOT_SUPPORTED_GATEWAY' + | 'NO_CHECKOUT_LINES' + | 'PARTIAL_PAYMENT_NOT_ALLOWED' + | 'PAYMENT_ERROR' + | 'REQUIRED' + | 'SHIPPING_ADDRESS_NOT_SET' + | 'SHIPPING_METHOD_NOT_SET' + | 'UNAVAILABLE_VARIANT_IN_CHANNEL' + | 'UNIQUE'; export type PaymentFilterInput = { - checkouts?: InputMaybe>; + checkouts?: InputMaybe>; /** Filter by ids. */ - ids?: InputMaybe>; + ids?: InputMaybe>; }; /** Available payment gateway backend with configuration necessary to setup client. */ @@ -18944,34 +19618,34 @@ export type PaymentGateway = { /** Payment gateway client configuration. */ config: Array; /** Payment gateway supported currencies. */ - currencies: Array; + currencies: Array; /** Payment gateway ID. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Payment gateway name. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; export type PaymentGatewayConfig = { /** The JSON data required to initialize the payment gateway. */ - data: Maybe; + data: Maybe; errors: Maybe>; /** The app identifier. */ - id: Scalars["String"]["output"]; + id: Scalars['String']['output']; }; export type PaymentGatewayConfigError = { /** The error code. */ code: PaymentGatewayConfigErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type PaymentGatewayConfigErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; /** Initializes a payment gateway session. It triggers the webhook `PAYMENT_GATEWAY_INITIALIZE_SESSION`, to the requested `paymentGateways`. If `paymentGateways` is not provided, the webhook will be send to all subscribed payment gateways. There is a limit of 100 transaction items per checkout / order. */ export type PaymentGatewayInitialize = { @@ -18984,24 +19658,24 @@ export type PaymentGatewayInitializeError = { /** The error code. */ code: PaymentGatewayInitializeErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type PaymentGatewayInitializeErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; /** Event sent when user wants to initialize the payment gateway. */ export type PaymentGatewayInitializeSession = Event & { /** Amount requested for initializing the payment gateway. */ - amount: Maybe; + amount: Maybe; /** Payment gateway data in JSON format, received from storefront. */ - data: Maybe; + data: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -19009,7 +19683,7 @@ export type PaymentGatewayInitializeSession = Event & { /** Checkout or order */ sourceObject: OrderOrCheckout; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -19022,7 +19696,7 @@ export type PaymentGatewayInitializeSession = Event & { */ export type PaymentGatewayInitializeTokenization = { /** A data returned by payment app. */ - data: Maybe; + data: Maybe; errors: Array; /** A status of the payment gateway initialization. */ result: PaymentGatewayInitializeTokenizationResult; @@ -19032,17 +19706,17 @@ export type PaymentGatewayInitializeTokenizationError = { /** The error code. */ code: PaymentGatewayInitializeTokenizationErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type PaymentGatewayInitializeTokenizationErrorCode = - | "CHANNEL_INACTIVE" - | "GATEWAY_ERROR" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'CHANNEL_INACTIVE' + | 'GATEWAY_ERROR' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; /** * Result of initialize payment gateway for tokenization of payment method. @@ -19054,18 +19728,18 @@ export type PaymentGatewayInitializeTokenizationErrorCode = * */ export type PaymentGatewayInitializeTokenizationResult = - | "FAILED_TO_DELIVER" - | "FAILED_TO_INITIALIZE" - | "SUCCESSFULLY_INITIALIZED"; + | 'FAILED_TO_DELIVER' + | 'FAILED_TO_INITIALIZE' + | 'SUCCESSFULLY_INITIALIZED'; /** Event sent to initialize a new session in payment gateway to store the payment method. */ export type PaymentGatewayInitializeTokenizationSession = Event & { /** Channel related to the requested action. */ channel: Channel; /** Payment gateway data in JSON format, received from storefront. */ - data: Maybe; + data: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -19073,14 +19747,14 @@ export type PaymentGatewayInitializeTokenizationSession = Event & { /** The user related to the requested action. */ user: User; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type PaymentGatewayToInitialize = { /** The data that will be passed to the payment gateway. */ - data?: InputMaybe; + data?: InputMaybe; /** The identifier of the payment gateway app to initialize. */ - id: Scalars["String"]["input"]; + id: Scalars['String']['input']; }; /** Initializes payment process when it is required by gateway. */ @@ -19095,18 +19769,18 @@ export type PaymentInitialize = { /** Server-side data generated by a payment gateway. Optional step when the payment provider requires an additional action to initialize payment session. */ export type PaymentInitialized = { /** Initialized data by gateway. */ - data: Maybe; + data: Maybe; /** ID of a payment gateway. */ - gateway: Scalars["String"]["output"]; + gateway: Scalars['String']['output']; /** Payment gateway name. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; export type PaymentInput = { /** Total amount of the transaction, including all taxes and discounts. If no amount is provided, the checkout total will be used. */ - amount?: InputMaybe; + amount?: InputMaybe; /** A gateway to use with that payment. */ - gateway: Scalars["String"]["input"]; + gateway: Scalars['String']['input']; /** * User public metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -19114,11 +19788,11 @@ export type PaymentInput = { */ metadata?: InputMaybe>; /** URL of a storefront view where user should be redirected after requiring additional actions. Payment with additional actions will not be finished if this field is not provided. */ - returnUrl?: InputMaybe; + returnUrl?: InputMaybe; /** Payment store type. */ storePaymentMethod?: InputMaybe; /** Client-side generated payment token, representing customer's billing data in a secure manner. */ - token?: InputMaybe; + token?: InputMaybe; }; /** List payment gateways. */ @@ -19126,13 +19800,13 @@ export type PaymentListGateways = Event & { /** The checkout the event relates to. */ checkout: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -19142,7 +19816,7 @@ export type PaymentListGateways = Event & { */ export type PaymentMethodDetails = { /** Name of the payment method. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; export type PaymentMethodDetailsCardFilterInput = { @@ -19158,19 +19832,13 @@ export type PaymentMethodDetailsFilterInput = { }; /** - * Details of the payment method used for the transaction. One of `card`, `other`, or `giftCard` is required. + * Details of the payment method used for the transaction. One of `card` or `other` is required. * * Added in Saleor 3.22. */ export type PaymentMethodDetailsInput = { /** Details of the card payment method used for the transaction. */ card?: InputMaybe; - /** - * Details of the gift card payment method used for the transaction. - * - * Added in Saleor 3.23. - */ - giftCard?: InputMaybe; /** Details of the non-card payment method used for this transaction. */ other?: InputMaybe; }; @@ -19185,10 +19853,10 @@ export type PaymentMethodDetailsInput = { */ export type PaymentMethodInitializeTokenization = { /** A data returned by the payment app. */ - data: Maybe; + data: Maybe; errors: Array; /** The identifier of the payment method. */ - id: Maybe; + id: Maybe; /** A status of the payment method tokenization. */ result: PaymentMethodTokenizationResult; }; @@ -19197,26 +19865,26 @@ export type PaymentMethodInitializeTokenizationError = { /** The error code. */ code: PaymentMethodInitializeTokenizationErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type PaymentMethodInitializeTokenizationErrorCode = - | "CHANNEL_INACTIVE" - | "GATEWAY_ERROR" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'CHANNEL_INACTIVE' + | 'GATEWAY_ERROR' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; /** Event sent when user requests a tokenization of payment method. */ export type PaymentMethodInitializeTokenizationSession = Event & { /** Channel related to the requested action. */ channel: Channel; /** Payment gateway data in JSON format, received from storefront. */ - data: Maybe; + data: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The payment flow that the tokenized payment method should support. */ @@ -19226,7 +19894,7 @@ export type PaymentMethodInitializeTokenizationSession = Event & { /** The user related to the requested action. */ user: User; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -19239,10 +19907,10 @@ export type PaymentMethodInitializeTokenizationSession = Event & { */ export type PaymentMethodProcessTokenization = { /** A data returned by the payment app. */ - data: Maybe; + data: Maybe; errors: Array; /** The identifier of the payment method. */ - id: Maybe; + id: Maybe; /** A status of the payment method tokenization. */ result: PaymentMethodTokenizationResult; }; @@ -19251,28 +19919,28 @@ export type PaymentMethodProcessTokenizationError = { /** The error code. */ code: PaymentMethodProcessTokenizationErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type PaymentMethodProcessTokenizationErrorCode = - | "CHANNEL_INACTIVE" - | "GATEWAY_ERROR" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'CHANNEL_INACTIVE' + | 'GATEWAY_ERROR' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; /** Event sent when user continues a tokenization of payment method. */ export type PaymentMethodProcessTokenizationSession = Event & { /** Channel related to the requested action. */ channel: Channel; /** Payment gateway data in JSON format, received from storefront. */ - data: Maybe; + data: Maybe; /** The ID returned by app from `PAYMENT_METHOD_INITIALIZE_TOKENIZATION_SESSION` webhook. */ - id: Scalars["String"]["output"]; + id: Scalars['String']['output']; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -19280,16 +19948,16 @@ export type PaymentMethodProcessTokenizationSession = Event & { /** The user related to the requested action. */ user: User; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type PaymentMethodRequestDeleteError = { /** The error code. */ code: StoredPaymentMethodRequestDeleteErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; /** @@ -19304,11 +19972,11 @@ export type PaymentMethodRequestDeleteError = { * */ export type PaymentMethodTokenizationResult = - | "ADDITIONAL_ACTION_REQUIRED" - | "FAILED_TO_DELIVER" - | "FAILED_TO_TOKENIZE" - | "PENDING" - | "SUCCESSFULLY_TOKENIZED"; + | 'ADDITIONAL_ACTION_REQUIRED' + | 'FAILED_TO_DELIVER' + | 'FAILED_TO_TOKENIZE' + | 'PENDING' + | 'SUCCESSFULLY_TOKENIZED'; /** * Represents possible payment method types. @@ -19316,11 +19984,12 @@ export type PaymentMethodTokenizationResult = * The following types are possible: * CARD - represents a card payment method. * OTHER - represents any payment method that is not a card payment. - * GIFT_CARD - represents a gift card payment method. * * */ -export type PaymentMethodTypeEnum = "CARD" | "GIFT_CARD" | "OTHER"; +export type PaymentMethodTypeEnum = + | 'CARD' + | 'OTHER'; export type PaymentMethodTypeEnumFilterInput = { /** The value equal to. */ @@ -19332,7 +20001,7 @@ export type PaymentMethodTypeEnumFilterInput = { /** Process payment. */ export type PaymentProcessEvent = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Look up a payment. */ @@ -19340,7 +20009,7 @@ export type PaymentProcessEvent = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -19359,7 +20028,7 @@ export type PaymentRefund = { /** Refund payment. */ export type PaymentRefundEvent = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Look up a payment. */ @@ -19367,7 +20036,7 @@ export type PaymentRefundEvent = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Represents the channel-specific payment settings. */ @@ -19377,13 +20046,13 @@ export type PaymentSettings = { * * Added in Saleor 3.20. */ - checkoutReleaseFundsCutOffDate: Maybe; + checkoutReleaseFundsCutOffDate: Maybe; /** * The time in hours after which funds for expired checkouts will be released. * * Added in Saleor 3.20. */ - checkoutTtlBeforeReleasingFunds: Maybe; + checkoutTtlBeforeReleasingFunds: Maybe; /** Determine the transaction flow strategy to be used. Include the selected option in the payload sent to the payment app, as a requested action for the transaction. */ defaultTransactionFlowStrategy: TransactionFlowStrategyEnum; /** @@ -19391,7 +20060,7 @@ export type PaymentSettings = { * * Added in Saleor 3.20. */ - releaseFundsForExpiredCheckouts: Maybe; + releaseFundsForExpiredCheckouts: Maybe; }; export type PaymentSettingsInput = { @@ -19400,13 +20069,13 @@ export type PaymentSettingsInput = { * * Added in Saleor 3.20. */ - checkoutReleaseFundsCutOffDate?: InputMaybe; + checkoutReleaseFundsCutOffDate?: InputMaybe; /** * The time in hours after which funds for expired checkouts will be released. * * Added in Saleor 3.20. */ - checkoutTtlBeforeReleasingFunds?: InputMaybe; + checkoutTtlBeforeReleasingFunds?: InputMaybe; /** Determine the transaction flow strategy to be used. Include the selected option in the payload sent to the payment app, as a requested action for the transaction. */ defaultTransactionFlowStrategy?: InputMaybe; /** @@ -19414,7 +20083,7 @@ export type PaymentSettingsInput = { * * Added in Saleor 3.20. */ - releaseFundsForExpiredCheckouts?: InputMaybe; + releaseFundsForExpiredCheckouts?: InputMaybe; }; /** Represents a payment source stored for user in payment gateway, such as credit card. */ @@ -19422,7 +20091,7 @@ export type PaymentSource = { /** Stored credit card details if available. */ creditCardInfo: Maybe; /** Payment gateway name. */ - gateway: Scalars["String"]["output"]; + gateway: Scalars['String']['output']; /** * List of public metadata items. * @@ -19430,7 +20099,7 @@ export type PaymentSource = { */ metadata: Array; /** ID of stored payment method. */ - paymentMethodId: Maybe; + paymentMethodId: Maybe; }; /** @@ -19449,7 +20118,7 @@ export type PaymentVoid = { /** Void payment. */ export type PaymentVoidEvent = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Look up a payment. */ @@ -19457,7 +20126,7 @@ export type PaymentVoidEvent = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Represents a permission object in a friendly form. */ @@ -19465,34 +20134,34 @@ export type Permission = { /** Internal code for permission. */ code: PermissionEnum; /** Describe action(s) allowed to do by permission. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; export type PermissionEnum = - | "HANDLE_CHECKOUTS" - | "HANDLE_PAYMENTS" - | "HANDLE_TAXES" - | "IMPERSONATE_USER" - | "MANAGE_APPS" - | "MANAGE_CHANNELS" - | "MANAGE_CHECKOUTS" - | "MANAGE_DISCOUNTS" - | "MANAGE_GIFT_CARD" - | "MANAGE_MENUS" - | "MANAGE_OBSERVABILITY" - | "MANAGE_ORDERS" - | "MANAGE_ORDERS_IMPORT" - | "MANAGE_PAGES" - | "MANAGE_PAGE_TYPES_AND_ATTRIBUTES" - | "MANAGE_PLUGINS" - | "MANAGE_PRODUCTS" - | "MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES" - | "MANAGE_SETTINGS" - | "MANAGE_SHIPPING" - | "MANAGE_STAFF" - | "MANAGE_TAXES" - | "MANAGE_TRANSLATIONS" - | "MANAGE_USERS"; + | 'HANDLE_CHECKOUTS' + | 'HANDLE_PAYMENTS' + | 'HANDLE_TAXES' + | 'IMPERSONATE_USER' + | 'MANAGE_APPS' + | 'MANAGE_CHANNELS' + | 'MANAGE_CHECKOUTS' + | 'MANAGE_DISCOUNTS' + | 'MANAGE_GIFT_CARD' + | 'MANAGE_MENUS' + | 'MANAGE_OBSERVABILITY' + | 'MANAGE_ORDERS' + | 'MANAGE_ORDERS_IMPORT' + | 'MANAGE_PAGES' + | 'MANAGE_PAGE_TYPES_AND_ATTRIBUTES' + | 'MANAGE_PLUGINS' + | 'MANAGE_PRODUCTS' + | 'MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES' + | 'MANAGE_SETTINGS' + | 'MANAGE_SHIPPING' + | 'MANAGE_STAFF' + | 'MANAGE_TAXES' + | 'MANAGE_TRANSLATIONS' + | 'MANAGE_USERS'; /** * Create new permission group. Apps are not allowed to perform this mutation. @@ -19511,21 +20180,21 @@ export type PermissionGroupCreate = { export type PermissionGroupCreateInput = { /** List of channels to assign to this group. */ - addChannels?: InputMaybe>; + addChannels?: InputMaybe>; /** List of permission code names to assign to this group. */ addPermissions?: InputMaybe>; /** List of users to assign to this group. */ - addUsers?: InputMaybe>; + addUsers?: InputMaybe>; /** Group name. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** Determine if the group has restricted access to channels. DEFAULT: False */ - restrictedAccessToChannels?: InputMaybe; + restrictedAccessToChannels?: InputMaybe; }; /** Event sent when new permission group is created. */ export type PermissionGroupCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The permission group the event relates to. */ @@ -19533,7 +20202,7 @@ export type PermissionGroupCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -19554,7 +20223,7 @@ export type PermissionGroupDelete = { /** Event sent when permission group is deleted. */ export type PermissionGroupDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The permission group the event relates to. */ @@ -19562,44 +20231,44 @@ export type PermissionGroupDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type PermissionGroupError = { /** List of channels IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: PermissionGroupErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of permissions which causes the error. */ permissions: Maybe>; /** List of user IDs which causes the error. */ - users: Maybe>; + users: Maybe>; }; export type PermissionGroupErrorCode = - | "ASSIGN_NON_STAFF_MEMBER" - | "CANNOT_REMOVE_FROM_LAST_GROUP" - | "DUPLICATED_INPUT_ITEM" - | "LEFT_NOT_MANAGEABLE_PERMISSION" - | "OUT_OF_SCOPE_CHANNEL" - | "OUT_OF_SCOPE_PERMISSION" - | "OUT_OF_SCOPE_USER" - | "REQUIRED" - | "UNIQUE"; + | 'ASSIGN_NON_STAFF_MEMBER' + | 'CANNOT_REMOVE_FROM_LAST_GROUP' + | 'DUPLICATED_INPUT_ITEM' + | 'LEFT_NOT_MANAGEABLE_PERMISSION' + | 'OUT_OF_SCOPE_CHANNEL' + | 'OUT_OF_SCOPE_PERMISSION' + | 'OUT_OF_SCOPE_USER' + | 'REQUIRED' + | 'UNIQUE'; export type PermissionGroupFilterInput = { - ids?: InputMaybe>; - search?: InputMaybe; + ids?: InputMaybe>; + search?: InputMaybe; }; /** Sorting options for permission groups. */ export type PermissionGroupSortField = /** Sort permission group accounts by name. */ - "NAME"; + | 'NAME'; export type PermissionGroupSortingInput = { /** Specifies the direction in which to sort permission group. */ @@ -19625,27 +20294,27 @@ export type PermissionGroupUpdate = { export type PermissionGroupUpdateInput = { /** List of channels to assign to this group. */ - addChannels?: InputMaybe>; + addChannels?: InputMaybe>; /** List of permission code names to assign to this group. */ addPermissions?: InputMaybe>; /** List of users to assign to this group. */ - addUsers?: InputMaybe>; + addUsers?: InputMaybe>; /** Group name. */ - name?: InputMaybe; + name?: InputMaybe; /** List of channels to unassign from this group. */ - removeChannels?: InputMaybe>; + removeChannels?: InputMaybe>; /** List of permission code names to unassign from this group. */ removePermissions?: InputMaybe>; /** List of users to unassign from this group. */ - removeUsers?: InputMaybe>; + removeUsers?: InputMaybe>; /** Determine if the group has restricted access to channels. */ - restrictedAccessToChannels?: InputMaybe; + restrictedAccessToChannels?: InputMaybe; }; /** Event sent when permission group is updated. */ export type PermissionGroupUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The permission group the event relates to. */ @@ -19653,7 +20322,7 @@ export type PermissionGroupUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Plugin. */ @@ -19661,38 +20330,40 @@ export type Plugin = { /** Channel-specific plugin configuration. */ channelConfigurations: Array; /** Description of the plugin. */ - description: Scalars["String"]["output"]; + description: Scalars['String']['output']; /** Global configuration of the plugin (not channel-specific). */ globalConfiguration: Maybe; /** Identifier of the plugin. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the plugin. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; /** Stores information about a configuration of plugin. */ export type PluginConfiguration = { /** Determines if plugin is active or not. */ - active: Scalars["Boolean"]["output"]; + active: Scalars['Boolean']['output']; /** The channel to which the plugin configuration is assigned to. */ channel: Maybe; /** Configuration of the plugin. */ configuration: Maybe>; }; -export type PluginConfigurationType = "GLOBAL" | "PER_CHANNEL"; +export type PluginConfigurationType = + | 'GLOBAL' + | 'PER_CHANNEL'; export type PluginCountableConnection = { edges: Array; /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type PluginCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Plugin; }; @@ -19701,26 +20372,28 @@ export type PluginError = { /** The error code. */ code: PluginErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type PluginErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "PLUGIN_MISCONFIGURED" - | "REQUIRED" - | "UNIQUE"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'PLUGIN_MISCONFIGURED' + | 'REQUIRED' + | 'UNIQUE'; export type PluginFilterInput = { - search?: InputMaybe; + search?: InputMaybe; statusInChannels?: InputMaybe; type?: InputMaybe; }; -export type PluginSortField = "IS_ACTIVE" | "NAME"; +export type PluginSortField = + | 'IS_ACTIVE' + | 'NAME'; export type PluginSortingInput = { /** Specifies the direction in which to sort plugins. */ @@ -19730,8 +20403,8 @@ export type PluginSortingInput = { }; export type PluginStatusInChannelsInput = { - active: Scalars["Boolean"]["input"]; - channels: Array; + active: Scalars['Boolean']['input']; + channels: Array; }; /** @@ -19748,309 +20421,325 @@ export type PluginUpdate = { export type PluginUpdateInput = { /** Indicates whether the plugin should be enabled. */ - active?: InputMaybe; + active?: InputMaybe; /** Configuration of the plugin. */ configuration?: InputMaybe>; }; -export type PostalCodeRuleInclusionTypeEnum = "EXCLUDE" | "INCLUDE"; +export type PostalCodeRuleInclusionTypeEnum = + | 'EXCLUDE' + | 'INCLUDE'; /** Represents preorder settings for product variant. */ export type PreorderData = { /** Preorder end date. */ - endDate: Maybe; + endDate: Maybe; /** * Total number of sold product variant during preorder. * * Requires one of the following permissions: MANAGE_PRODUCTS. */ - globalSoldUnits: Scalars["Int"]["output"]; + globalSoldUnits: Scalars['Int']['output']; /** * The global preorder threshold for product variant. * * Requires one of the following permissions: MANAGE_PRODUCTS. */ - globalThreshold: Maybe; + globalThreshold: Maybe; }; export type PreorderSettingsInput = { /** The end date for preorder. */ - endDate?: InputMaybe; + endDate?: InputMaybe; /** The global threshold for preorder variant. */ - globalThreshold?: InputMaybe; + globalThreshold?: InputMaybe; }; /** Represents preorder variant data for channel. */ export type PreorderThreshold = { /** Preorder threshold for product variant in this channel. */ - quantity: Maybe; + quantity: Maybe; /** Number of sold product variant in this channel. */ - soldUnits: Scalars["Int"]["output"]; + soldUnits: Scalars['Int']['output']; }; export type PriceFilterInput = { /** The amount of the price to filter by. */ amount: DecimalFilterInput; /** The currency of the price to filter by. */ - currency?: InputMaybe; + currency?: InputMaybe; }; export type PriceInput = { /** Amount of money. */ - amount: Scalars["PositiveDecimal"]["input"]; + amount: Scalars['PositiveDecimal']['input']; /** Currency code. */ - currency: Scalars["String"]["input"]; + currency: Scalars['String']['input']; }; export type PriceRangeInput = { /** Price greater than or equal to. */ - gte?: InputMaybe; + gte?: InputMaybe; /** Price less than or equal to. */ - lte?: InputMaybe; + lte?: InputMaybe; }; /** Represents an individual item for sale in the storefront. */ -export type Product = Node & - ObjectWithAttributes & - ObjectWithMetadata & { - /** - * Get a single attribute attached to product by attribute slug. - * - * Added in Saleor 3.22. - */ - assignedAttribute: Maybe; - /** - * List of attributes assigned to this product. - * - * Added in Saleor 3.22. - */ - assignedAttributes: Array; - /** - * Get a single attribute attached to product by attribute slug. - * @deprecated Use the `assignedAttribute` field instead. - */ - attribute: Maybe; - /** - * List of attributes assigned to this product. - * @deprecated Use the `assignedAttributes` field instead. - */ - attributes: Array; - /** - * Date when product is available for purchase. - * @deprecated Use the `availableForPurchaseAt` field to fetch the available for purchase date. - */ - availableForPurchase: Maybe; - /** Date when product is available for purchase. */ - availableForPurchaseAt: Maybe; - category: Maybe; - /** Channel given to retrieve this product. Also used by federation gateway to resolve this object in a federated query. */ - channel: Maybe; - /** - * List of availability in channels for the product. - * - * Requires one of the following permissions: MANAGE_PRODUCTS. - */ - channelListings: Maybe>; - /** @deprecated Use `Channel.taxConfiguration` field to determine whether tax collection is enabled. */ - chargeTaxes: Scalars["Boolean"]["output"]; - /** List of collections for the product. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. */ - collections: Maybe>; - /** The date and time when the product was created. */ - created: Scalars["DateTime"]["output"]; - /** Default variant of the product. */ - defaultVariant: Maybe; - /** - * Description of the product. - * - * Rich text format. For reference see https://editorjs.io/ - */ - description: Maybe; - /** - * Description of the product. - * - * Rich text format. For reference see https://editorjs.io/ - * @deprecated Use the `description` field instead. - */ - descriptionJson: Maybe; - /** External ID of this product. */ - externalReference: Maybe; - /** The ID of the product. */ - id: Scalars["ID"]["output"]; - /** - * Get a single product image by ID. - * @deprecated Use the `mediaById` field instead. - */ - imageById: Maybe; - /** - * List of images for the product. - * @deprecated Use the `media` field instead. - */ - images: Maybe>; - /** Whether the product is in stock, set as available for purchase in the given channel, and published. */ - isAvailable: Maybe; - /** Refers to a state that can be set by admins to control whether a product is available for purchase in storefronts. This does not guarantee the availability of stock. When set to `False`, this product is still visible to customers, but it cannot be purchased. */ - isAvailableForPurchase: Maybe; - /** List of media for the product. */ - media: Maybe>; - /** Get a single product media by ID. */ - mediaById: Maybe; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** SEO description of the product. */ - name: Scalars["String"]["output"]; - /** Lists the storefront product's pricing, the current price and discounts, only meant for displaying. */ - pricing: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Type of the product. */ - productType: ProductType; - /** - * List of variants for the product. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. - * - * Added in Saleor 3.21. - */ - productVariants: Maybe; - /** Rating of the product. */ - rating: Maybe; - /** SEO description of the product. */ - seoDescription: Maybe; - /** SEO title of the product. */ - seoTitle: Maybe; - /** Slug of the product. */ - slug: Scalars["String"]["output"]; - /** - * Tax class assigned to this product type. All products of this product type use this tax class, unless it's overridden in the `Product` type. - * - * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. - */ - taxClass: Maybe; - /** - * A type of tax. Assigned by enabled tax gateway - * @deprecated Use `taxClass` field instead. - */ - taxType: Maybe; - /** Thumbnail of the product. */ - thumbnail: Maybe; - /** Returns translated product fields for the given language code. */ - translation: Maybe; - /** The date and time when the product was last updated. */ - updatedAt: Scalars["DateTime"]["output"]; - /** - * Get a single variant by SKU or ID. - * @deprecated Use top-level `variant` query. - */ - variant: Maybe; - /** - * List of variants for the product. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. - * @deprecated Use `productVariants` field instead. - */ - variants: Maybe>; - /** Weight of the product. */ - weight: Maybe; - }; +export type Product = Node & ObjectWithAttributes & ObjectWithMetadata & { + /** + * Get a single attribute attached to product by attribute slug. + * + * Added in Saleor 3.22. + */ + assignedAttribute: Maybe; + /** + * List of attributes assigned to this product. + * + * Added in Saleor 3.22. + */ + assignedAttributes: Array; + /** + * Get a single attribute attached to product by attribute slug. + * @deprecated Use the `assignedAttribute` field instead. + */ + attribute: Maybe; + /** + * List of attributes assigned to this product. + * @deprecated Use the `assignedAttributes` field instead. + */ + attributes: Array; + /** + * Date when product is available for purchase. + * @deprecated Use the `availableForPurchaseAt` field to fetch the available for purchase date. + */ + availableForPurchase: Maybe; + /** Date when product is available for purchase. */ + availableForPurchaseAt: Maybe; + category: Maybe; + /** Channel given to retrieve this product. Also used by federation gateway to resolve this object in a federated query. */ + channel: Maybe; + /** + * List of availability in channels for the product. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ + channelListings: Maybe>; + /** @deprecated Use `Channel.taxConfiguration` field to determine whether tax collection is enabled. */ + chargeTaxes: Scalars['Boolean']['output']; + /** List of collections for the product. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. */ + collections: Maybe>; + /** The date and time when the product was created. */ + created: Scalars['DateTime']['output']; + /** Default variant of the product. */ + defaultVariant: Maybe; + /** + * Description of the product. + * + * Rich text format. For reference see https://editorjs.io/ + */ + description: Maybe; + /** + * Description of the product. + * + * Rich text format. For reference see https://editorjs.io/ + * @deprecated Use the `description` field instead. + */ + descriptionJson: Maybe; + /** External ID of this product. */ + externalReference: Maybe; + /** The ID of the product. */ + id: Scalars['ID']['output']; + /** + * Get a single product image by ID. + * @deprecated Use the `mediaById` field instead. + */ + imageById: Maybe; + /** + * List of images for the product. + * @deprecated Use the `media` field instead. + */ + images: Maybe>; + /** Whether the product is in stock, set as available for purchase in the given channel, and published. */ + isAvailable: Maybe; + /** Refers to a state that can be set by admins to control whether a product is available for purchase in storefronts. This does not guarantee the availability of stock. When set to `False`, this product is still visible to customers, but it cannot be purchased. */ + isAvailableForPurchase: Maybe; + /** List of media for the product. */ + media: Maybe>; + /** Get a single product media by ID. */ + mediaById: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** SEO description of the product. */ + name: Scalars['String']['output']; + /** Lists the storefront product's pricing, the current price and discounts, only meant for displaying. */ + pricing: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Type of the product. */ + productType: ProductType; + /** + * List of variants for the product. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. + * + * Added in Saleor 3.21. + */ + productVariants: Maybe; + /** Rating of the product. */ + rating: Maybe; + /** SEO description of the product. */ + seoDescription: Maybe; + /** SEO title of the product. */ + seoTitle: Maybe; + /** Slug of the product. */ + slug: Scalars['String']['output']; + /** + * Tax class assigned to this product type. All products of this product type use this tax class, unless it's overridden in the `Product` type. + * + * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. + */ + taxClass: Maybe; + /** + * A type of tax. Assigned by enabled tax gateway + * @deprecated Use `taxClass` field instead. + */ + taxType: Maybe; + /** Thumbnail of the product. */ + thumbnail: Maybe; + /** Returns translated product fields for the given language code. */ + translation: Maybe; + /** The date and time when the product was last updated. */ + updatedAt: Scalars['DateTime']['output']; + /** + * Get a single variant by SKU or ID. + * @deprecated Use top-level `variant` query. + */ + variant: Maybe; + /** + * List of variants for the product. Requires the following permissions to include the unpublished items: MANAGE_ORDERS, MANAGE_DISCOUNTS, MANAGE_PRODUCTS. + * @deprecated Use `productVariants` field instead. + */ + variants: Maybe>; + /** Weight of the product. */ + weight: Maybe; +}; + /** Represents an individual item for sale in the storefront. */ export type ProductAssignedAttributeArgs = { - slug: Scalars["String"]["input"]; + slug: Scalars['String']['input']; }; + /** Represents an individual item for sale in the storefront. */ export type ProductAssignedAttributesArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; + /** Represents an individual item for sale in the storefront. */ export type ProductAttributeArgs = { - slug: Scalars["String"]["input"]; + slug: Scalars['String']['input']; }; + /** Represents an individual item for sale in the storefront. */ export type ProductImageByIdArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + /** Represents an individual item for sale in the storefront. */ export type ProductIsAvailableArgs = { address?: InputMaybe; }; + /** Represents an individual item for sale in the storefront. */ export type ProductMediaArgs = { sortBy?: InputMaybe; }; + /** Represents an individual item for sale in the storefront. */ export type ProductMediaByIdArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + /** Represents an individual item for sale in the storefront. */ export type ProductMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents an individual item for sale in the storefront. */ export type ProductMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents an individual item for sale in the storefront. */ export type ProductPricingArgs = { address?: InputMaybe; }; + /** Represents an individual item for sale in the storefront. */ export type ProductPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents an individual item for sale in the storefront. */ export type ProductPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents an individual item for sale in the storefront. */ export type ProductProductVariantsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + /** Represents an individual item for sale in the storefront. */ export type ProductThumbnailArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; + /** Represents an individual item for sale in the storefront. */ export type ProductTranslationArgs = { languageCode: LanguageCodeEnum; }; + /** Represents an individual item for sale in the storefront. */ export type ProductVariantArgs = { - id?: InputMaybe; - sku?: InputMaybe; + id?: InputMaybe; + sku?: InputMaybe; }; /** @@ -20068,11 +20757,11 @@ export type ProductAttributeAssign = { export type ProductAttributeAssignInput = { /** The ID of the attribute to assign. */ - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; /** The attribute type to be assigned as. */ type: ProductAttributeType; /** Whether attribute is allowed in variant selection. Allowed types are: ['dropdown', 'boolean', 'swatch', 'numeric']. */ - variantSelection?: InputMaybe; + variantSelection?: InputMaybe; }; /** @@ -20090,12 +20779,14 @@ export type ProductAttributeAssignmentUpdate = { export type ProductAttributeAssignmentUpdateInput = { /** The ID of the attribute to assign. */ - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; /** Whether attribute is allowed in variant selection. Allowed types are: ['dropdown', 'boolean', 'swatch', 'numeric']. */ - variantSelection: Scalars["Boolean"]["input"]; + variantSelection: Scalars['Boolean']['input']; }; -export type ProductAttributeType = "PRODUCT" | "VARIANT"; +export type ProductAttributeType = + | 'PRODUCT' + | 'VARIANT'; /** * Un-assign attributes from a given product type. @@ -20117,7 +20808,7 @@ export type ProductAttributeUnassign = { */ export type ProductBulkCreate = { /** Returns how many objects were created. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the created products. */ results: Array; @@ -20125,43 +20816,44 @@ export type ProductBulkCreate = { export type ProductBulkCreateError = { /** List of attributes IDs which causes the error. */ - attributes: Maybe>; + attributes: Maybe>; /** List of channel IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: ProductBulkCreateErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; /** List of attribute values IDs which causes the error. */ - values: Maybe>; + values: Maybe>; /** List of warehouse IDs which causes the error. */ - warehouses: Maybe>; + warehouses: Maybe>; }; export type ProductBulkCreateErrorCode = - | "ATTRIBUTE_ALREADY_ASSIGNED" - | "ATTRIBUTE_CANNOT_BE_ASSIGNED" - | "ATTRIBUTE_VARIANTS_DISABLED" - | "BLANK" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_PRICE" - | "MAX_LENGTH" - | "NOT_FOUND" - | "PRODUCT_NOT_ASSIGNED_TO_CHANNEL" - | "PRODUCT_WITHOUT_CATEGORY" - | "REQUIRED" - | "UNIQUE" - | "UNSUPPORTED_MEDIA_PROVIDER"; + | 'ATTRIBUTE_ALREADY_ASSIGNED' + | 'ATTRIBUTE_CANNOT_BE_ASSIGNED' + | 'ATTRIBUTE_VARIANTS_DISABLED' + | 'BLANK' + | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_PRICE' + | 'MAX_LENGTH' + | 'NOT_FOUND' + | 'PRODUCT_NOT_ASSIGNED_TO_CHANNEL' + | 'PRODUCT_WITHOUT_CATEGORY' + | 'REQUIRED' + | 'UNIQUE' + | 'UNSUPPORTED_MEDIA_PROVIDER'; export type ProductBulkCreateInput = { /** List of attributes. */ attributes?: InputMaybe>; /** ID of the product's category. */ - category?: InputMaybe; + category?: InputMaybe; /** List of channels in which the product is available. */ channelListings?: InputMaybe>; /** @@ -20169,17 +20861,17 @@ export type ProductBulkCreateInput = { * * DEPRECATED: this field will be removed. Use `Channel.taxConfiguration` to configure whether tax collection is enabled. */ - chargeTaxes?: InputMaybe; + chargeTaxes?: InputMaybe; /** List of IDs of collections that the product belongs to. */ - collections?: InputMaybe>; + collections?: InputMaybe>; /** * Product description. * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; + description?: InputMaybe; /** External ID of this product. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** List of media inputs associated with the product. */ media?: InputMaybe>; /** @@ -20189,7 +20881,7 @@ export type ProductBulkCreateInput = { */ metadata?: InputMaybe>; /** Product name. */ - name?: InputMaybe; + name?: InputMaybe; /** * Fields required to update the product private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -20197,25 +20889,25 @@ export type ProductBulkCreateInput = { */ privateMetadata?: InputMaybe>; /** ID of the type that product belongs to. */ - productType: Scalars["ID"]["input"]; + productType: Scalars['ID']['input']; /** Defines the product rating value. */ - rating?: InputMaybe; + rating?: InputMaybe; /** Search engine optimization fields. */ seo?: InputMaybe; /** Product slug. */ - slug?: InputMaybe; + slug?: InputMaybe; /** ID of a tax class to assign to this product. If not provided, product will use the tax class which is assigned to the product type. */ - taxClass?: InputMaybe; + taxClass?: InputMaybe; /** * Tax rate for enabled tax gateway. * * DEPRECATED: this field will be removed. Use tax classes to control the tax calculation for a product. If taxCode is provided, Saleor will try to find a tax class with given code (codes are stored in metadata) and assign it. If no tax class is found, it would be created and assigned. */ - taxCode?: InputMaybe; + taxCode?: InputMaybe; /** Input list of product variants to create. */ variants?: InputMaybe>; /** Weight of the Product. */ - weight?: InputMaybe; + weight?: InputMaybe; }; /** @@ -20225,7 +20917,7 @@ export type ProductBulkCreateInput = { */ export type ProductBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ productErrors: Array; @@ -20249,7 +20941,7 @@ export type ProductBulkResult = { */ export type ProductBulkTranslate = { /** Returns how many translations were created/updated. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the translations. */ results: Array; @@ -20259,16 +20951,16 @@ export type ProductBulkTranslateError = { /** The error code. */ code: ProductTranslateErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; }; export type ProductBulkTranslateInput = { /** External reference of an product. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Product ID. */ - id?: InputMaybe; + id?: InputMaybe; /** Translation language code. */ languageCode: LanguageCodeEnum; /** Translation fields. */ @@ -20285,19 +20977,19 @@ export type ProductBulkTranslateResult = { /** Represents product channel listing. */ export type ProductChannelListing = Node & { /** @deprecated Use the `availableForPurchaseAt` field to fetch the available for purchase date. */ - availableForPurchase: Maybe; + availableForPurchase: Maybe; /** The product available for purchase date time. */ - availableForPurchaseAt: Maybe; + availableForPurchaseAt: Maybe; /** The channel in which the product is listed. */ channel: Channel; /** The price of the cheapest variant (including discounts). */ discountedPrice: Maybe; /** The ID of the product channel listing. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Refers to a state that can be set by admins to control whether a product is available for purchase in storefronts in this channel. This does not guarantee the availability of stock. When set to `False`, this product is still visible to customers, but it cannot be purchased. */ - isAvailableForPurchase: Maybe; + isAvailableForPurchase: Maybe; /** Indicates if the product is published in the channel. */ - isPublished: Scalars["Boolean"]["output"]; + isPublished: Scalars['Boolean']['output']; /** * Range of margin percentage value. * @@ -20307,9 +20999,9 @@ export type ProductChannelListing = Node & { /** Lists the storefront product's pricing, the current price and discounts, only meant for displaying. */ pricing: Maybe; /** @deprecated Use the `publishedAt` field to fetch the publication date. */ - publicationDate: Maybe; + publicationDate: Maybe; /** The product publication date time. */ - publishedAt: Maybe; + publishedAt: Maybe; /** * Purchase cost of product. * @@ -20317,9 +21009,10 @@ export type ProductChannelListing = Node & { */ purchaseCost: Maybe; /** Indicates product visibility in the channel listings. */ - visibleInListings: Scalars["Boolean"]["output"]; + visibleInListings: Scalars['Boolean']['output']; }; + /** Represents product channel listing. */ export type ProductChannelListingPricingArgs = { address?: InputMaybe; @@ -20327,65 +21020,65 @@ export type ProductChannelListingPricingArgs = { export type ProductChannelListingAddInput = { /** List of variants to which the channel should be assigned. */ - addVariants?: InputMaybe>; + addVariants?: InputMaybe>; /** A start date time from which a product will be available for purchase. When not set and `isAvailable` is set to True, the current day is assumed. */ - availableForPurchaseAt?: InputMaybe; + availableForPurchaseAt?: InputMaybe; /** * A start date from which a product will be available for purchase. When not set and isAvailable is set to True, the current day is assumed. * * DEPRECATED: this field will be removed. Use `availableForPurchaseAt` field instead. */ - availableForPurchaseDate?: InputMaybe; + availableForPurchaseDate?: InputMaybe; /** ID of a channel. */ - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; /** Determines if product should be available for purchase in this channel. This does not guarantee the availability of stock. When set to `False`, this product is still visible to customers, but it cannot be purchased. */ - isAvailableForPurchase?: InputMaybe; + isAvailableForPurchase?: InputMaybe; /** Determines if object is visible to customers. */ - isPublished?: InputMaybe; + isPublished?: InputMaybe; /** * Publication date. ISO 8601 standard. * * DEPRECATED: this field will be removed. Use `publishedAt` field instead. */ - publicationDate?: InputMaybe; + publicationDate?: InputMaybe; /** Publication date time. ISO 8601 standard. */ - publishedAt?: InputMaybe; + publishedAt?: InputMaybe; /** List of variants from which the channel should be unassigned. */ - removeVariants?: InputMaybe>; + removeVariants?: InputMaybe>; /** Determines if product is visible in product listings (doesn't apply to product collections). */ - visibleInListings?: InputMaybe; + visibleInListings?: InputMaybe; }; export type ProductChannelListingCreateInput = { /** A start date time from which a product will be available for purchase. When not set and `isAvailable` is set to True, the current day is assumed. */ - availableForPurchaseAt?: InputMaybe; + availableForPurchaseAt?: InputMaybe; /** ID of a channel. */ - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; /** Determines if product should be available for purchase in this channel. This does not guarantee the availability of stock. When set to `False`, this product is still visible to customers, but it cannot be purchased. */ - isAvailableForPurchase?: InputMaybe; + isAvailableForPurchase?: InputMaybe; /** Determines if object is visible to customers. */ - isPublished?: InputMaybe; + isPublished?: InputMaybe; /** Publication date time. ISO 8601 standard. */ - publishedAt?: InputMaybe; + publishedAt?: InputMaybe; /** Determines if product is visible in product listings (doesn't apply to product collections). */ - visibleInListings?: InputMaybe; + visibleInListings?: InputMaybe; }; export type ProductChannelListingError = { /** List of attributes IDs which causes the error. */ - attributes: Maybe>; + attributes: Maybe>; /** List of channels IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: ProductErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of attribute values IDs which causes the error. */ - values: Maybe>; + values: Maybe>; /** List of variants IDs which causes the error. */ - variants: Maybe>; + variants: Maybe>; }; /** @@ -20403,7 +21096,7 @@ export type ProductChannelListingUpdate = { export type ProductChannelListingUpdateInput = { /** List of channels from which the product should be unassigned. */ - removeChannels?: InputMaybe>; + removeChannels?: InputMaybe>; /** List of channels to which the product should be assigned or updated. */ updateChannels?: InputMaybe>; }; @@ -20413,12 +21106,12 @@ export type ProductCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type ProductCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Product; }; @@ -20439,23 +21132,23 @@ export type ProductCreateInput = { /** List of attributes. */ attributes?: InputMaybe>; /** ID of the product's category. */ - category?: InputMaybe; + category?: InputMaybe; /** * Determine if taxes are being charged for the product. * * DEPRECATED: this field will be removed. Use `Channel.taxConfiguration` to configure whether tax collection is enabled. */ - chargeTaxes?: InputMaybe; + chargeTaxes?: InputMaybe; /** List of IDs of collections that the product belongs to. */ - collections?: InputMaybe>; + collections?: InputMaybe>; /** * Product description. * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; + description?: InputMaybe; /** External ID of this product. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** * Fields required to update the product metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -20463,7 +21156,7 @@ export type ProductCreateInput = { */ metadata?: InputMaybe>; /** Product name. */ - name?: InputMaybe; + name?: InputMaybe; /** * Fields required to update the product private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -20471,23 +21164,23 @@ export type ProductCreateInput = { */ privateMetadata?: InputMaybe>; /** ID of the type that product belongs to. */ - productType: Scalars["ID"]["input"]; + productType: Scalars['ID']['input']; /** Defines the product rating value. */ - rating?: InputMaybe; + rating?: InputMaybe; /** Search engine optimization fields. */ seo?: InputMaybe; /** Product slug. */ - slug?: InputMaybe; + slug?: InputMaybe; /** ID of a tax class to assign to this product. If not provided, product will use the tax class which is assigned to the product type. */ - taxClass?: InputMaybe; + taxClass?: InputMaybe; /** * Tax rate for enabled tax gateway. * * DEPRECATED: this field will be removed. Use tax classes to control the tax calculation for a product. If taxCode is provided, Saleor will try to find a tax class with given code (codes are stored in metadata) and assign it. If no tax class is found, it would be created and assigned. */ - taxCode?: InputMaybe; + taxCode?: InputMaybe; /** Weight of the Product. */ - weight?: InputMaybe; + weight?: InputMaybe; }; /** Event sent when new product is created. */ @@ -20495,7 +21188,7 @@ export type ProductCreated = Event & { /** The category of the product. */ category: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product the event relates to. */ @@ -20503,12 +21196,13 @@ export type ProductCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when new product is created. */ export type ProductCreatedProductArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -20528,7 +21222,7 @@ export type ProductDeleted = Event & { /** The category of the product. */ category: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product the event relates to. */ @@ -20536,109 +21230,112 @@ export type ProductDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when product is deleted. */ export type ProductDeletedProductArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type ProductError = { /** List of attributes IDs which causes the error. */ - attributes: Maybe>; + attributes: Maybe>; /** The error code. */ code: ProductErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of attribute values IDs which causes the error. */ - values: Maybe>; + values: Maybe>; }; export type ProductErrorCode = - | "ALREADY_EXISTS" - | "ATTRIBUTE_ALREADY_ASSIGNED" - | "ATTRIBUTE_CANNOT_BE_ASSIGNED" - | "ATTRIBUTE_VARIANTS_DISABLED" - | "CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_FILE_TYPE" - | "INVALID_PRICE" - | "MEDIA_ALREADY_ASSIGNED" - | "NOT_FOUND" - | "NOT_PRODUCTS_IMAGE" - | "NOT_PRODUCTS_VARIANT" - | "PREORDER_VARIANT_CANNOT_BE_DEACTIVATED" - | "PRODUCT_NOT_ASSIGNED_TO_CHANNEL" - | "PRODUCT_WITHOUT_CATEGORY" - | "REQUIRED" - | "UNIQUE" - | "UNSUPPORTED_MEDIA_PROVIDER" - | "UNSUPPORTED_MIME_TYPE"; + | 'ALREADY_EXISTS' + | 'ATTRIBUTE_ALREADY_ASSIGNED' + | 'ATTRIBUTE_CANNOT_BE_ASSIGNED' + | 'ATTRIBUTE_VARIANTS_DISABLED' + | 'CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT' + | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_FILE_TYPE' + | 'INVALID_PRICE' + | 'MEDIA_ALREADY_ASSIGNED' + | 'NOT_FOUND' + | 'NOT_PRODUCTS_IMAGE' + | 'NOT_PRODUCTS_VARIANT' + | 'PREORDER_VARIANT_CANNOT_BE_DEACTIVATED' + | 'PRODUCT_NOT_ASSIGNED_TO_CHANNEL' + | 'PRODUCT_WITHOUT_CATEGORY' + | 'REQUIRED' + | 'UNIQUE' + | 'UNSUPPORTED_MEDIA_PROVIDER' + | 'UNSUPPORTED_MIME_TYPE' + | 'VARIANT_NO_DIGITAL_CONTENT'; /** Event sent when product export is completed. */ export type ProductExportCompleted = Event & { /** The export file for products. */ export: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type ProductFieldEnum = - | "CATEGORY" - | "CHARGE_TAXES" - | "COLLECTIONS" - | "DESCRIPTION" - | "NAME" - | "PRODUCT_MEDIA" - | "PRODUCT_TYPE" - | "PRODUCT_WEIGHT" - | "VARIANT_ID" - | "VARIANT_MEDIA" - | "VARIANT_SKU" - | "VARIANT_WEIGHT"; + | 'CATEGORY' + | 'CHARGE_TAXES' + | 'COLLECTIONS' + | 'DESCRIPTION' + | 'NAME' + | 'PRODUCT_MEDIA' + | 'PRODUCT_TYPE' + | 'PRODUCT_WEIGHT' + | 'VARIANT_ID' + | 'VARIANT_MEDIA' + | 'VARIANT_SKU' + | 'VARIANT_WEIGHT'; export type ProductFilterInput = { attributes?: InputMaybe>; /** Filter by the date of availability for purchase. */ - availableFrom?: InputMaybe; - categories?: InputMaybe>; + availableFrom?: InputMaybe; + categories?: InputMaybe>; /** * Specifies the channel by which the data should be filtered. * * DEPRECATED: this field will be removed. Use root-level channel argument instead. */ - channel?: InputMaybe; - collections?: InputMaybe>; + channel?: InputMaybe; + collections?: InputMaybe>; /** Filter on whether product is a gift card or not. */ - giftCard?: InputMaybe; - hasCategory?: InputMaybe; - hasPreorderedVariants?: InputMaybe; - ids?: InputMaybe>; + giftCard?: InputMaybe; + hasCategory?: InputMaybe; + hasPreorderedVariants?: InputMaybe; + ids?: InputMaybe>; /** Filter by availability for purchase. */ - isAvailable?: InputMaybe; - isPublished?: InputMaybe; + isAvailable?: InputMaybe; + isPublished?: InputMaybe; /** Filter by visibility in product listings. */ - isVisibleInListing?: InputMaybe; + isVisibleInListing?: InputMaybe; metadata?: InputMaybe>; /** Filter by the lowest variant price after discounts. */ minimalPrice?: InputMaybe; price?: InputMaybe; - productTypes?: InputMaybe>; + productTypes?: InputMaybe>; /** Filter by the publication date. */ - publishedFrom?: InputMaybe; - search?: InputMaybe; - slugs?: InputMaybe>; + publishedFrom?: InputMaybe; + search?: InputMaybe; + slugs?: InputMaybe>; /** Filter by variants having specific stock status. */ stockAvailability?: InputMaybe; stocks?: InputMaybe; @@ -20649,42 +21346,43 @@ export type ProductFilterInput = { /** Represents a product image. */ export type ProductImage = { /** The alt text of the image. */ - alt: Maybe; + alt: Maybe; /** The ID of the image. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** The new relative sorting position of the item (from -inf to +inf). 1 moves the item one position forward, -1 moves the item one position backward, 0 leaves the item unchanged. */ - sortOrder: Maybe; + sortOrder: Maybe; /** The URL of the image. */ - url: Scalars["String"]["output"]; + url: Scalars['String']['output']; }; + /** Represents a product image. */ export type ProductImageUrlArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; export type ProductInput = { /** List of attributes. */ attributes?: InputMaybe>; /** ID of the product's category. */ - category?: InputMaybe; + category?: InputMaybe; /** * Determine if taxes are being charged for the product. * * DEPRECATED: this field will be removed. Use `Channel.taxConfiguration` to configure whether tax collection is enabled. */ - chargeTaxes?: InputMaybe; + chargeTaxes?: InputMaybe; /** List of IDs of collections that the product belongs to. */ - collections?: InputMaybe>; + collections?: InputMaybe>; /** * Product description. * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; + description?: InputMaybe; /** External ID of this product. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** * Fields required to update the product metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -20692,7 +21390,7 @@ export type ProductInput = { */ metadata?: InputMaybe>; /** Product name. */ - name?: InputMaybe; + name?: InputMaybe; /** * Fields required to update the product private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -20700,86 +21398,90 @@ export type ProductInput = { */ privateMetadata?: InputMaybe>; /** Defines the product rating value. */ - rating?: InputMaybe; + rating?: InputMaybe; /** Search engine optimization fields. */ seo?: InputMaybe; /** Product slug. */ - slug?: InputMaybe; + slug?: InputMaybe; /** ID of a tax class to assign to this product. If not provided, product will use the tax class which is assigned to the product type. */ - taxClass?: InputMaybe; + taxClass?: InputMaybe; + /** + * Tax rate for enabled tax gateway. + * + * DEPRECATED: this field will be removed. Use tax classes to control the tax calculation for a product. If taxCode is provided, Saleor will try to find a tax class with given code (codes are stored in metadata) and assign it. If no tax class is found, it would be created and assigned. + */ + taxCode?: InputMaybe; + /** Weight of the Product. */ + weight?: InputMaybe; +}; + +/** Represents a product media. */ +export type ProductMedia = Node & ObjectWithMetadata & { + /** The alt text of the media. */ + alt: Scalars['String']['output']; + /** The unique ID of the product media. */ + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; /** - * Tax rate for enabled tax gateway. + * A single key from public metadata. * - * DEPRECATED: this field will be removed. Use tax classes to control the tax calculation for a product. If taxCode is provided, Saleor will try to find a tax class with given code (codes are stored in metadata) and assign it. If no tax class is found, it would be created and assigned. + * Tip: Use GraphQL aliases to fetch multiple keys. */ - taxCode?: InputMaybe; - /** Weight of the Product. */ - weight?: InputMaybe; + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** The oEmbed data of the media. */ + oembedData: Scalars['JSONString']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Product id the media refers to. */ + productId: Maybe; + /** The sort order of the media. */ + sortOrder: Maybe; + /** The type of the media. */ + type: ProductMediaType; + /** The URL of the media. */ + url: Scalars['String']['output']; }; -/** Represents a product media. */ -export type ProductMedia = Node & - ObjectWithMetadata & { - /** The alt text of the media. */ - alt: Scalars["String"]["output"]; - /** The unique ID of the product media. */ - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** The oEmbed data of the media. */ - oembedData: Scalars["JSONString"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Product id the media refers to. */ - productId: Maybe; - /** The sort order of the media. */ - sortOrder: Maybe; - /** The type of the media. */ - type: ProductMediaType; - /** The URL of the media. */ - url: Scalars["String"]["output"]; - }; /** Represents a product media. */ export type ProductMediaMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a product media. */ export type ProductMediaMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a product media. */ export type ProductMediaPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a product media. */ export type ProductMediaPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a product media. */ export type ProductMediaUrlArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; /** @@ -20789,7 +21491,7 @@ export type ProductMediaUrlArgs = { */ export type ProductMediaBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ productErrors: Array; @@ -20810,19 +21512,19 @@ export type ProductMediaCreate = { export type ProductMediaCreateInput = { /** Alt text for a product media. */ - alt?: InputMaybe; + alt?: InputMaybe; /** Represents an image file in a multipart request. */ - image?: InputMaybe; + image?: InputMaybe; /** Represents an URL to an external media. */ - mediaUrl?: InputMaybe; + mediaUrl?: InputMaybe; /** ID of an product. */ - product: Scalars["ID"]["input"]; + product: Scalars['ID']['input']; }; /** Event sent when new product media is created. */ export type ProductMediaCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product media the event relates to. */ @@ -20830,7 +21532,7 @@ export type ProductMediaCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -20849,7 +21551,7 @@ export type ProductMediaDelete = { /** Event sent when product media is deleted. */ export type ProductMediaDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product media the event relates to. */ @@ -20857,7 +21559,7 @@ export type ProductMediaDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -20873,7 +21575,9 @@ export type ProductMediaReorder = { productErrors: Array; }; -export type ProductMediaType = "IMAGE" | "VIDEO"; +export type ProductMediaType = + | 'IMAGE' + | 'VIDEO'; /** * Updates a product media. @@ -20890,13 +21594,13 @@ export type ProductMediaUpdate = { export type ProductMediaUpdateInput = { /** Alt text for a product media. */ - alt?: InputMaybe; + alt?: InputMaybe; }; /** Event sent when product media is updated. */ export type ProductMediaUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product media the event relates to. */ @@ -20904,7 +21608,7 @@ export type ProductMediaUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when product metadata is updated. */ @@ -20912,7 +21616,7 @@ export type ProductMetadataUpdated = Event & { /** The category of the product. */ category: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product the event relates to. */ @@ -20920,12 +21624,13 @@ export type ProductMetadataUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when product metadata is updated. */ export type ProductMetadataUpdatedProductArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type ProductOrder = { @@ -20933,13 +21638,13 @@ export type ProductOrder = { * Sort product by the selected attribute's values. * Note: this doesn't take translations into account yet. */ - attributeId?: InputMaybe; + attributeId?: InputMaybe; /** * Specifies the channel in which to sort the data. * * DEPRECATED: this field will be removed. Use root-level channel argument instead. */ - channel?: InputMaybe; + channel?: InputMaybe; /** Specifies the direction in which to sort products. */ direction: OrderDirection; /** Sort products by the selected field. */ @@ -20952,53 +21657,53 @@ export type ProductOrderField = * * This option requires a channel filter to work as the values can vary between channels. */ - | "COLLECTION" + | 'COLLECTION' /** Sort products by creation date. */ - | "CREATED_AT" + | 'CREATED_AT' /** Sort products by update date. */ - | "DATE" + | 'DATE' /** Sort products by update date. */ - | "LAST_MODIFIED" + | 'LAST_MODIFIED' /** Sort products by update date. */ - | "LAST_MODIFIED_AT" + | 'LAST_MODIFIED_AT' /** * Sort products by a minimal price of a product's variant. * * This option requires a channel filter to work as the values can vary between channels. */ - | "MINIMAL_PRICE" + | 'MINIMAL_PRICE' /** Sort products by name. */ - | "NAME" + | 'NAME' /** * Sort products by price. * * This option requires a channel filter to work as the values can vary between channels. */ - | "PRICE" + | 'PRICE' /** * Sort products by publication date. * * This option requires a channel filter to work as the values can vary between channels. */ - | "PUBLICATION_DATE" + | 'PUBLICATION_DATE' /** * Sort products by publication status. * * This option requires a channel filter to work as the values can vary between channels. */ - | "PUBLISHED" + | 'PUBLISHED' /** * Sort products by publication date. * * This option requires a channel filter to work as the values can vary between channels. */ - | "PUBLISHED_AT" + | 'PUBLISHED_AT' /** Sort products by rank. Note: This option is available only with the `search` filter. */ - | "RANK" + | 'RANK' /** Sort products by rating. */ - | "RATING" + | 'RATING' /** Sort products by type. */ - | "TYPE"; + | 'TYPE'; /** Represents availability of a product in the storefront. */ export type ProductPricingInfo = { @@ -21016,9 +21721,9 @@ export type ProductPricingInfo = { */ discountPrior: Maybe; /** Determines whether displayed prices should include taxes. */ - displayGrossPrices: Scalars["Boolean"]["output"]; + displayGrossPrices: Scalars['Boolean']['output']; /** Whether it is in sale or not. */ - onSale: Maybe; + onSale: Maybe; /** The discounted price range of the product variants. */ priceRange: Maybe; /** @@ -21051,7 +21756,7 @@ export type ProductReorderAttributeValues = { export type ProductStockFilterInput = { quantity?: InputMaybe; - warehouseIds?: InputMaybe>; + warehouseIds?: InputMaybe>; }; /** Represents product's original translatable fields and related translations. */ @@ -21063,39 +21768,40 @@ export type ProductTranslatableContent = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** * Description of the product. * * Rich text format. For reference see https://editorjs.io/ * @deprecated Use the `description` field instead. */ - descriptionJson: Maybe; + descriptionJson: Maybe; /** The ID of the product translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Product's name to translate. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** * Represents an individual item for sale in the storefront. * @deprecated Get model fields from the root level queries. */ product: Maybe; /** The ID of the product to translate. */ - productId: Scalars["ID"]["output"]; + productId: Scalars['ID']['output']; /** SEO description to translate. */ - seoDescription: Maybe; + seoDescription: Maybe; /** SEO title to translate. */ - seoTitle: Maybe; + seoTitle: Maybe; /** * Slug to translate. * * Added in Saleor 3.21. */ - slug: Maybe; + slug: Maybe; /** Returns translated product fields for the given language code. */ translation: Maybe; }; + /** Represents product's original translatable fields and related translations. */ export type ProductTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -21114,10 +21820,10 @@ export type ProductTranslate = { }; export type ProductTranslateErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; /** Represents product translations. */ export type ProductTranslation = Node & { @@ -21126,157 +21832,158 @@ export type ProductTranslation = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** * Translated description of the product. * * Rich text format. For reference see https://editorjs.io/ * @deprecated Use the `description` field instead. */ - descriptionJson: Maybe; + descriptionJson: Maybe; /** The ID of the product translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated product name. */ - name: Maybe; + name: Maybe; /** Translated SEO description. */ - seoDescription: Maybe; + seoDescription: Maybe; /** Translated SEO title. */ - seoTitle: Maybe; + seoTitle: Maybe; /** * Translated product slug. * * Added in Saleor 3.21. */ - slug: Maybe; + slug: Maybe; /** Represents the product fields to translate. */ translatableContent: Maybe; }; /** Represents a type of product. It defines what attributes are available to products of this type. */ -export type ProductType = Node & - ObjectWithMetadata & { - /** Variant attributes of that product type with attached variant selection. */ - assignedVariantAttributes: Maybe>; - /** - * List of attributes which can be assigned to this product type. - * - * Requires one of the following permissions: MANAGE_PRODUCTS. - */ - availableAttributes: Maybe; - /** - * Whether the product type has variants. - * @deprecated This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ - hasVariants: Scalars["Boolean"]["output"]; - /** The ID of the product type. */ - id: Scalars["ID"]["output"]; - /** - * Whether the product type is digital - doesn't have any effect, it's present for backward-compatibility. - * @deprecated Will be removed in v3.24.0, use metadata or attributes instead. - */ - isDigital: Scalars["Boolean"]["output"]; - /** Whether shipping is required for this product type. */ - isShippingRequired: Scalars["Boolean"]["output"]; - /** The product type kind. */ - kind: ProductTypeKindEnum; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Name of the product type. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Product attributes of that product type. */ - productAttributes: Maybe>; - /** - * List of products of this type. - * @deprecated Use the top-level `products` query with the `productTypes` filter. - */ - products: Maybe; - /** Slug of the product type. */ - slug: Scalars["String"]["output"]; - /** - * Tax class assigned to this product type. All products of this product type use this tax class, unless it's overridden in the `Product` type. - * - * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. - */ - taxClass: Maybe; - /** - * A type of tax. Assigned by enabled tax gateway - * @deprecated Use `taxClass` field instead. - */ - taxType: Maybe; - /** - * Variant attributes of that product type. - * @deprecated Use `assignedVariantAttributes` instead. - */ - variantAttributes: Maybe>; - /** Weight of the product type. */ - weight: Maybe; - }; +export type ProductType = Node & ObjectWithMetadata & { + /** Variant attributes of that product type with attached variant selection. */ + assignedVariantAttributes: Maybe>; + /** + * List of attributes which can be assigned to this product type. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ + availableAttributes: Maybe; + /** Whether the product type has variants. */ + hasVariants: Scalars['Boolean']['output']; + /** The ID of the product type. */ + id: Scalars['ID']['output']; + /** Whether the product type is digital. */ + isDigital: Scalars['Boolean']['output']; + /** Whether shipping is required for this product type. */ + isShippingRequired: Scalars['Boolean']['output']; + /** The product type kind. */ + kind: ProductTypeKindEnum; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Name of the product type. */ + name: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Product attributes of that product type. */ + productAttributes: Maybe>; + /** + * List of products of this type. + * @deprecated Use the top-level `products` query with the `productTypes` filter. + */ + products: Maybe; + /** Slug of the product type. */ + slug: Scalars['String']['output']; + /** + * Tax class assigned to this product type. All products of this product type use this tax class, unless it's overridden in the `Product` type. + * + * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. + */ + taxClass: Maybe; + /** + * A type of tax. Assigned by enabled tax gateway + * @deprecated Use `taxClass` field instead. + */ + taxType: Maybe; + /** + * Variant attributes of that product type. + * @deprecated Use `assignedVariantAttributes` instead. + */ + variantAttributes: Maybe>; + /** Weight of the product type. */ + weight: Maybe; +}; + /** Represents a type of product. It defines what attributes are available to products of this type. */ export type ProductTypeAssignedVariantAttributesArgs = { variantSelection?: InputMaybe; }; + /** Represents a type of product. It defines what attributes are available to products of this type. */ export type ProductTypeAvailableAttributesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; where?: InputMaybe; }; + /** Represents a type of product. It defines what attributes are available to products of this type. */ export type ProductTypeMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a type of product. It defines what attributes are available to products of this type. */ export type ProductTypeMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a type of product. It defines what attributes are available to products of this type. */ export type ProductTypePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a type of product. It defines what attributes are available to products of this type. */ export type ProductTypePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a type of product. It defines what attributes are available to products of this type. */ export type ProductTypeProductsArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Represents a type of product. It defines what attributes are available to products of this type. */ export type ProductTypeVariantAttributesArgs = { variantSelection?: InputMaybe; @@ -21289,25 +21996,27 @@ export type ProductTypeVariantAttributesArgs = { */ export type ProductTypeBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ productErrors: Array; }; -export type ProductTypeConfigurable = "CONFIGURABLE" | "SIMPLE"; +export type ProductTypeConfigurable = + | 'CONFIGURABLE' + | 'SIMPLE'; export type ProductTypeCountableConnection = { edges: Array; /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type ProductTypeCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: ProductType; }; @@ -21336,57 +22045,52 @@ export type ProductTypeDelete = { productType: Maybe; }; -export type ProductTypeEnum = "DIGITAL" | "SHIPPABLE"; +export type ProductTypeEnum = + | 'DIGITAL' + | 'SHIPPABLE'; export type ProductTypeFilterInput = { - /** - * - * - * DEPRECATED: this field will be removed. The field has no effect on the API behavior. This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ configurable?: InputMaybe; - ids?: InputMaybe>; + ids?: InputMaybe>; kind?: InputMaybe; metadata?: InputMaybe>; productType?: InputMaybe; - search?: InputMaybe; - slugs?: InputMaybe>; + search?: InputMaybe; + slugs?: InputMaybe>; }; export type ProductTypeInput = { - /** - * Determines if product of this type has multiple variants. This option mainly simplifies product management in the dashboard. There is always at least one variant created under the hood. - * - * DEPRECATED: this field will be removed. The field has no effect on the API behavior. This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ - hasVariants?: InputMaybe; - /** Determines if products are digital - doesn't have any effect, it's present for backward-compatibility. */ - isDigital?: InputMaybe; + /** Determines if product of this type has multiple variants. This option mainly simplifies product management in the dashboard. There is always at least one variant created under the hood. */ + hasVariants?: InputMaybe; + /** Determines if products are digital. */ + isDigital?: InputMaybe; /** Determines if shipping is required for products of this variant. */ - isShippingRequired?: InputMaybe; + isShippingRequired?: InputMaybe; /** The product type kind. */ kind?: InputMaybe; /** Name of the product type. */ - name?: InputMaybe; + name?: InputMaybe; /** List of attributes shared among all product variants. */ - productAttributes?: InputMaybe>; + productAttributes?: InputMaybe>; /** Product type slug. */ - slug?: InputMaybe; + slug?: InputMaybe; /** ID of a tax class to assign to this product type. All products of this product type would use this tax class, unless it's overridden in the `Product` type. */ - taxClass?: InputMaybe; + taxClass?: InputMaybe; /** * Tax rate for enabled tax gateway. * * DEPRECATED: this field will be removed. Use tax classes to control the tax calculation for a product type. If taxCode is provided, Saleor will try to find a tax class with given code (codes are stored in metadata) and assign it. If no tax class is found, it would be created and assigned. */ - taxCode?: InputMaybe; + taxCode?: InputMaybe; /** List of attributes used to distinguish between different variants of a product. */ - variantAttributes?: InputMaybe>; + variantAttributes?: InputMaybe>; /** Weight of the ProductType items. */ - weight?: InputMaybe; + weight?: InputMaybe; }; -export type ProductTypeKindEnum = "GIFT_CARD" | "NORMAL"; +export type ProductTypeKindEnum = + | 'GIFT_CARD' + | 'NORMAL'; /** * Reorder the attributes of a product type. @@ -21403,11 +22107,11 @@ export type ProductTypeReorderAttributes = { export type ProductTypeSortField = /** Sort products by type. */ - | "DIGITAL" + | 'DIGITAL' /** Sort products by name. */ - | "NAME" + | 'NAME' /** Sort products by shipping. */ - | "SHIPPING_REQUIRED"; + | 'SHIPPING_REQUIRED'; export type ProductTypeSortingInput = { /** Specifies the direction in which to sort product types. */ @@ -21445,7 +22149,7 @@ export type ProductUpdated = Event & { /** The category of the product. */ category: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product the event relates to. */ @@ -21453,177 +22157,194 @@ export type ProductUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when product is updated. */ export type ProductUpdatedProductArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** Represents a version of a product such as different size or color. */ -export type ProductVariant = Node & - ObjectWithAttributes & - ObjectWithMetadata & { - /** - * Get a single attribute attached to product by attribute slug. - * - * Added in Saleor 3.22. - */ - assignedAttribute: Maybe; - /** - * List of attributes assigned to this variant. - * - * Added in Saleor 3.22. - */ - assignedAttributes: Array; - /** - * List of attributes assigned to this variant. - * @deprecated Use the `assignedAttributes` field instead. - */ - attributes: Array; - /** Channel given to retrieve this product variant. Also used by federation gateway to resolve this object in a federated query. */ - channel: Maybe; - /** - * List of price information in channels for the product. - * - * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. - */ - channelListings: Maybe>; - /** The date and time when the product variant was created. */ - created: Scalars["DateTime"]["output"]; - /** External ID of this product. */ - externalReference: Maybe; - /** The ID of the product variant. */ - id: Scalars["ID"]["output"]; - /** - * List of images for the product variant. - * @deprecated Use the `media` field instead. - */ - images: Maybe>; - /** Gross margin percentage value. */ - margin: Maybe; - /** List of media for the product variant. */ - media: Maybe>; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** The name of the product variant. */ - name: Scalars["String"]["output"]; - /** Preorder data for product variant. */ - preorder: Maybe; - /** Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. */ - pricing: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** The product to which the variant belongs. */ - product: Product; - /** Quantity of a product available for sale in one checkout. Field value will be `null` when no `limitQuantityPerCheckout` in global settings has been set, and `productVariant` stocks are not tracked. */ - quantityAvailable: Maybe; - /** The maximum quantity of this variant that a customer can purchase. */ - quantityLimitPerCustomer: Maybe; - /** - * Total quantity ordered. - * - * Requires one of the following permissions: MANAGE_PRODUCTS. - */ - quantityOrdered: Maybe; - /** - * Total revenue generated by a variant in given period of time. Note: this field should be queried using `reportProductSales` query as it uses optimizations suitable for such calculations. - * - * Requires one of the following permissions: MANAGE_PRODUCTS. - */ - revenue: Maybe; - /** The SKU (stock keeping unit) of the product variant. */ - sku: Maybe; - /** - * Stocks for the product variant. - * - * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. - */ - stocks: Maybe>; - /** Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item. If the field is not provided, `Shop.trackInventoryByDefault` will be used. */ - trackInventory: Scalars["Boolean"]["output"]; - /** Returns translated product variant fields for the given language code. */ - translation: Maybe; - /** The date and time when the product variant was last updated. */ - updatedAt: Scalars["DateTime"]["output"]; - /** The weight of the product variant. */ - weight: Maybe; - }; +export type ProductVariant = Node & ObjectWithAttributes & ObjectWithMetadata & { + /** + * Get a single attribute attached to product by attribute slug. + * + * Added in Saleor 3.22. + */ + assignedAttribute: Maybe; + /** + * List of attributes assigned to this variant. + * + * Added in Saleor 3.22. + */ + assignedAttributes: Array; + /** + * List of attributes assigned to this variant. + * @deprecated Use the `assignedAttributes` field instead. + */ + attributes: Array; + /** Channel given to retrieve this product variant. Also used by federation gateway to resolve this object in a federated query. */ + channel: Maybe; + /** + * List of price information in channels for the product. + * + * Requires one of the following permissions: AUTHENTICATED_APP, AUTHENTICATED_STAFF_USER. + */ + channelListings: Maybe>; + /** The date and time when the product variant was created. */ + created: Scalars['DateTime']['output']; + /** + * Digital content for the product variant. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ + digitalContent: Maybe; + /** External ID of this product. */ + externalReference: Maybe; + /** The ID of the product variant. */ + id: Scalars['ID']['output']; + /** + * List of images for the product variant. + * @deprecated Use the `media` field instead. + */ + images: Maybe>; + /** Gross margin percentage value. */ + margin: Maybe; + /** List of media for the product variant. */ + media: Maybe>; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** The name of the product variant. */ + name: Scalars['String']['output']; + /** Preorder data for product variant. */ + preorder: Maybe; + /** Lists the storefront variant's pricing, the current price and discounts, only meant for displaying. */ + pricing: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** The product to which the variant belongs. */ + product: Product; + /** Quantity of a product available for sale in one checkout. Field value will be `null` when no `limitQuantityPerCheckout` in global settings has been set, and `productVariant` stocks are not tracked. */ + quantityAvailable: Maybe; + /** The maximum quantity of this variant that a customer can purchase. */ + quantityLimitPerCustomer: Maybe; + /** + * Total quantity ordered. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ + quantityOrdered: Maybe; + /** + * Total revenue generated by a variant in given period of time. Note: this field should be queried using `reportProductSales` query as it uses optimizations suitable for such calculations. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ + revenue: Maybe; + /** The SKU (stock keeping unit) of the product variant. */ + sku: Maybe; + /** + * Stocks for the product variant. + * + * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. + */ + stocks: Maybe>; + /** Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item. If the field is not provided, `Shop.trackInventoryByDefault` will be used. */ + trackInventory: Scalars['Boolean']['output']; + /** Returns translated product variant fields for the given language code. */ + translation: Maybe; + /** The date and time when the product variant was last updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The weight of the product variant. */ + weight: Maybe; +}; + /** Represents a version of a product such as different size or color. */ export type ProductVariantAssignedAttributeArgs = { - slug: Scalars["String"]["input"]; + slug: Scalars['String']['input']; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantAssignedAttributesArgs = { - limit?: InputMaybe; + limit?: InputMaybe; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantAttributesArgs = { variantSelection?: InputMaybe; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantPricingArgs = { address?: InputMaybe; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantQuantityAvailableArgs = { address?: InputMaybe; countryCode?: InputMaybe; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantRevenueArgs = { period?: InputMaybe; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantStocksArgs = { address?: InputMaybe; countryCode?: InputMaybe; }; + /** Represents a version of a product such as different size or color. */ export type ProductVariantTranslationArgs = { languageCode: LanguageCodeEnum; @@ -21632,7 +22353,7 @@ export type ProductVariantTranslationArgs = { /** Event sent when product variant is back in stock. */ export type ProductVariantBackInStock = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product variant the event relates to. */ @@ -21640,14 +22361,15 @@ export type ProductVariantBackInStock = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** Look up a warehouse. */ warehouse: Maybe; }; + /** Event sent when product variant is back in stock. */ export type ProductVariantBackInStockProductVariantArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -21659,7 +22381,7 @@ export type ProductVariantBulkCreate = { /** @deprecated Use `errors` field instead. */ bulkProductErrors: Array; /** Returns how many objects were created. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** * List of the created variants. @@ -21677,7 +22399,7 @@ export type ProductVariantBulkCreateInput = { /** List of prices assigned to channels. */ channelListings?: InputMaybe>; /** External ID of this product variant. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** * Fields required to update the product variant metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -21685,7 +22407,7 @@ export type ProductVariantBulkCreateInput = { */ metadata?: InputMaybe>; /** Variant name. */ - name?: InputMaybe; + name?: InputMaybe; /** Determines if variant is in preorder. */ preorder?: InputMaybe; /** @@ -21695,15 +22417,15 @@ export type ProductVariantBulkCreateInput = { */ privateMetadata?: InputMaybe>; /** Determines maximum quantity of `ProductVariant`,that can be bought in a single checkout. */ - quantityLimitPerCustomer?: InputMaybe; + quantityLimitPerCustomer?: InputMaybe; /** Stock keeping unit. */ - sku?: InputMaybe; + sku?: InputMaybe; /** Stocks of a product available for sale. */ stocks?: InputMaybe>; /** Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item. If the field is not provided, `Shop.trackInventoryByDefault` will be used. */ - trackInventory?: InputMaybe; + trackInventory?: InputMaybe; /** Weight of the Product Variant. */ - weight?: InputMaybe; + weight?: InputMaybe; }; /** @@ -21713,7 +22435,7 @@ export type ProductVariantBulkCreateInput = { */ export type ProductVariantBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ productErrors: Array; @@ -21721,41 +22443,41 @@ export type ProductVariantBulkDelete = { export type ProductVariantBulkError = { /** List of attributes IDs which causes the error. */ - attributes: Maybe>; + attributes: Maybe>; /** List of channel listings IDs which causes the error. */ - channelListings: Maybe>; + channelListings: Maybe>; /** List of channel IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: ProductVariantBulkErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; /** List of stocks IDs which causes the error. */ - stocks: Maybe>; + stocks: Maybe>; /** List of attribute values IDs which causes the error. */ - values: Maybe>; + values: Maybe>; /** List of warehouse IDs which causes the error. */ - warehouses: Maybe>; + warehouses: Maybe>; }; export type ProductVariantBulkErrorCode = - | "ATTRIBUTE_ALREADY_ASSIGNED" - | "ATTRIBUTE_CANNOT_BE_ASSIGNED" - | "ATTRIBUTE_VARIANTS_DISABLED" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_PRICE" - | "NOT_FOUND" - | "NOT_PRODUCTS_VARIANT" - | "PRODUCT_NOT_ASSIGNED_TO_CHANNEL" - | "REQUIRED" - | "STOCK_ALREADY_EXISTS" - | "UNIQUE"; + | 'ATTRIBUTE_ALREADY_ASSIGNED' + | 'ATTRIBUTE_CANNOT_BE_ASSIGNED' + | 'ATTRIBUTE_VARIANTS_DISABLED' + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_PRICE' + | 'NOT_FOUND' + | 'NOT_PRODUCTS_VARIANT' + | 'PRODUCT_NOT_ASSIGNED_TO_CHANNEL' + | 'REQUIRED' + | 'STOCK_ALREADY_EXISTS' + | 'UNIQUE'; export type ProductVariantBulkResult = { /** List of errors occurred on create attempt. */ @@ -21775,7 +22497,7 @@ export type ProductVariantBulkResult = { */ export type ProductVariantBulkTranslate = { /** Returns how many translations were created/updated. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the translations. */ results: Array; @@ -21785,16 +22507,16 @@ export type ProductVariantBulkTranslateError = { /** The error code. */ code: ProductVariantTranslateErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; }; export type ProductVariantBulkTranslateInput = { /** External reference of a product variant. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Product variant ID. */ - id?: InputMaybe; + id?: InputMaybe; /** Translation language code. */ languageCode: LanguageCodeEnum; /** Translation fields. */ @@ -21815,7 +22537,7 @@ export type ProductVariantBulkTranslateResult = { */ export type ProductVariantBulkUpdate = { /** Returns how many objects were updated. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the updated variants. */ results: Array; @@ -21828,9 +22550,9 @@ export type ProductVariantBulkUpdateInput = { /** Channel listings input. */ channelListings?: InputMaybe; /** External ID of this product variant. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** ID of the product variant to update. */ - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; /** * Fields required to update the product variant metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -21838,7 +22560,7 @@ export type ProductVariantBulkUpdateInput = { */ metadata?: InputMaybe>; /** Variant name. */ - name?: InputMaybe; + name?: InputMaybe; /** Determines if variant is in preorder. */ preorder?: InputMaybe; /** @@ -21848,15 +22570,15 @@ export type ProductVariantBulkUpdateInput = { */ privateMetadata?: InputMaybe>; /** Determines maximum quantity of `ProductVariant`,that can be bought in a single checkout. */ - quantityLimitPerCustomer?: InputMaybe; + quantityLimitPerCustomer?: InputMaybe; /** Stock keeping unit. */ - sku?: InputMaybe; + sku?: InputMaybe; /** Stocks input. */ stocks?: InputMaybe; /** Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item. If the field is not provided, `Shop.trackInventoryByDefault` will be used. */ - trackInventory?: InputMaybe; + trackInventory?: InputMaybe; /** Weight of the Product Variant. */ - weight?: InputMaybe; + weight?: InputMaybe; }; /** Represents product variant channel listing. */ @@ -21866,21 +22588,19 @@ export type ProductVariantChannelListing = Node & { /** Cost price of the variant. */ costPrice: Maybe; /** The ID of the variant channel listing. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** * Gross margin percentage value. * * Requires one of the following permissions: MANAGE_PRODUCTS. */ - margin: Maybe; + margin: Maybe; /** Preorder variant data. */ preorderThreshold: Maybe; /** The price of the variant. */ price: Maybe; /** - * Previous price of the variant in channel. Useful for providing promotion information required by customer protection laws such as EU Omnibus directive. - * - * Warning: This field is not updated automatically. Use Channel Listings mutation to update it manually. + * Prior price of the variant used for discount calculations. * * Added in Saleor 3.21. */ @@ -21889,19 +22609,19 @@ export type ProductVariantChannelListing = Node & { export type ProductVariantChannelListingAddInput = { /** ID of a channel. */ - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; /** Cost price of the variant in channel. */ - costPrice?: InputMaybe; + costPrice?: InputMaybe; /** The threshold for preorder variant in channel. */ - preorderThreshold?: InputMaybe; + preorderThreshold?: InputMaybe; /** Price of the particular variant in channel. */ - price: Scalars["PositiveDecimal"]["input"]; + price: Scalars['PositiveDecimal']['input']; /** * Previous price of the variant in channel. Useful for providing promotion information required by customer protection laws such as EU Omnibus directive. * * Added in Saleor 3.21. */ - priorPrice?: InputMaybe; + priorPrice?: InputMaybe; }; /** @@ -21921,7 +22641,7 @@ export type ProductVariantChannelListingUpdateInput = { /** List of channels to create variant channel listings. */ create?: InputMaybe>; /** List of channel listings to remove. */ - remove?: InputMaybe>; + remove?: InputMaybe>; /** List of channel listings to update. */ update?: InputMaybe>; }; @@ -21931,12 +22651,12 @@ export type ProductVariantCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type ProductVariantCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: ProductVariant; }; @@ -21957,7 +22677,7 @@ export type ProductVariantCreateInput = { /** List of attributes specific to this variant. */ attributes: Array; /** External ID of this product variant. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** * Fields required to update the product variant metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -21965,7 +22685,7 @@ export type ProductVariantCreateInput = { */ metadata?: InputMaybe>; /** Variant name. */ - name?: InputMaybe; + name?: InputMaybe; /** Determines if variant is in preorder. */ preorder?: InputMaybe; /** @@ -21975,23 +22695,23 @@ export type ProductVariantCreateInput = { */ privateMetadata?: InputMaybe>; /** Product ID of which type is the variant. */ - product: Scalars["ID"]["input"]; + product: Scalars['ID']['input']; /** Determines maximum quantity of `ProductVariant`,that can be bought in a single checkout. */ - quantityLimitPerCustomer?: InputMaybe; + quantityLimitPerCustomer?: InputMaybe; /** Stock keeping unit. */ - sku?: InputMaybe; + sku?: InputMaybe; /** Stocks of a product available for sale. */ stocks?: InputMaybe>; /** Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item. If the field is not provided, `Shop.trackInventoryByDefault` will be used. */ - trackInventory?: InputMaybe; + trackInventory?: InputMaybe; /** Weight of the Product Variant. */ - weight?: InputMaybe; + weight?: InputMaybe; }; /** Event sent when new product variant is created. */ export type ProductVariantCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product variant the event relates to. */ @@ -21999,12 +22719,13 @@ export type ProductVariantCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when new product variant is created. */ export type ProductVariantCreatedProductVariantArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -22022,7 +22743,7 @@ export type ProductVariantDelete = { /** Event sent when product variant is deleted. */ export type ProductVariantDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product variant the event relates to. */ @@ -22030,12 +22751,13 @@ export type ProductVariantDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when product variant is deleted. */ export type ProductVariantDeletedProductVariantArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -22047,7 +22769,7 @@ export type ProductVariantDiscountedPriceUpdated = Event & { /** The channel where the price changed. */ channel: Channel; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The new discounted price. */ @@ -22059,14 +22781,14 @@ export type ProductVariantDiscountedPriceUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type ProductVariantFilterInput = { - isPreorder?: InputMaybe; + isPreorder?: InputMaybe; metadata?: InputMaybe>; - search?: InputMaybe; - sku?: InputMaybe>; + search?: InputMaybe; + sku?: InputMaybe>; updatedAt?: InputMaybe; }; @@ -22074,7 +22796,7 @@ export type ProductVariantInput = { /** List of attributes specific to this variant. */ attributes?: InputMaybe>; /** External ID of this product variant. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** * Fields required to update the product variant metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -22082,7 +22804,7 @@ export type ProductVariantInput = { */ metadata?: InputMaybe>; /** Variant name. */ - name?: InputMaybe; + name?: InputMaybe; /** Determines if variant is in preorder. */ preorder?: InputMaybe; /** @@ -22092,19 +22814,19 @@ export type ProductVariantInput = { */ privateMetadata?: InputMaybe>; /** Determines maximum quantity of `ProductVariant`,that can be bought in a single checkout. */ - quantityLimitPerCustomer?: InputMaybe; + quantityLimitPerCustomer?: InputMaybe; /** Stock keeping unit. */ - sku?: InputMaybe; + sku?: InputMaybe; /** Determines if the inventory of this variant should be tracked. If false, the quantity won't change when customers buy this item. If the field is not provided, `Shop.trackInventoryByDefault` will be used. */ - trackInventory?: InputMaybe; + trackInventory?: InputMaybe; /** Weight of the Product Variant. */ - weight?: InputMaybe; + weight?: InputMaybe; }; /** Event sent when product variant metadata is updated. */ export type ProductVariantMetadataUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product variant the event relates to. */ @@ -22112,18 +22834,19 @@ export type ProductVariantMetadataUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when product variant metadata is updated. */ export type ProductVariantMetadataUpdatedProductVariantArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** Event sent when product variant is out of stock. */ export type ProductVariantOutOfStock = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product variant the event relates to. */ @@ -22131,14 +22854,15 @@ export type ProductVariantOutOfStock = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** Look up a warehouse. */ warehouse: Maybe; }; + /** Event sent when product variant is out of stock. */ export type ProductVariantOutOfStockProductVariantArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -22191,7 +22915,7 @@ export type ProductVariantSetDefault = { export type ProductVariantSortField = /** Sort product variants by last modification date. */ - "LAST_MODIFIED_AT"; + | 'LAST_MODIFIED_AT'; export type ProductVariantSortingInput = { /** Specifies the direction in which to sort productVariants. */ @@ -22203,7 +22927,7 @@ export type ProductVariantSortingInput = { /** Event sent when product variant stock is updated. */ export type ProductVariantStockUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product variant the event relates to. */ @@ -22211,14 +22935,15 @@ export type ProductVariantStockUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** Look up a warehouse. */ warehouse: Maybe; }; + /** Event sent when product variant stock is updated. */ export type ProductVariantStockUpdatedProductVariantArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -22264,7 +22989,7 @@ export type ProductVariantStocksUpdateInput = { /** List of warehouses to create stocks. */ create?: InputMaybe>; /** List of stocks to remove. */ - remove?: InputMaybe>; + remove?: InputMaybe>; /** List of stocks to update. */ update?: InputMaybe>; }; @@ -22274,20 +22999,21 @@ export type ProductVariantTranslatableContent = Node & { /** List of product variant attribute values that can be translated. */ attributeValues: Array; /** The ID of the product variant translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the product variant to translate. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** * Represents a version of a product such as different size or color. * @deprecated Get model fields from the root level queries. */ productVariant: Maybe; /** The ID of the product variant to translate. */ - productVariantId: Scalars["ID"]["output"]; + productVariantId: Scalars['ID']['output']; /** Returns translated product variant fields for the given language code. */ translation: Maybe; }; + /** Represents product variant's original translatable fields and related translations. */ export type ProductVariantTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -22306,19 +23032,19 @@ export type ProductVariantTranslate = { }; export type ProductVariantTranslateErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; /** Represents product variant translations. */ export type ProductVariantTranslation = Node & { /** The ID of the product variant translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated product variant name. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** Represents the product variant fields to translate. */ translatableContent: Maybe; }; @@ -22338,7 +23064,7 @@ export type ProductVariantUpdate = { /** Event sent when product variant is updated. */ export type ProductVariantUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The product variant the event relates to. */ @@ -22346,12 +23072,13 @@ export type ProductVariantUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when product variant is updated. */ export type ProductVariantUpdatedProductVariantArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type ProductVariantWhereInput = { @@ -22365,7 +23092,7 @@ export type ProductVariantWhereInput = { * Added in Saleor 3.22. */ attributes?: InputMaybe>; - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; /** Filter by product SKU. */ sku?: InputMaybe; @@ -22381,24 +23108,24 @@ export type ProductWhereInput = { /** Filter by attributes associated with the product. */ attributes?: InputMaybe>; /** Filter by the date of availability for purchase. */ - availableFrom?: InputMaybe; + availableFrom?: InputMaybe; /** Filter by product category. */ category?: InputMaybe; /** Filter by collection. */ collection?: InputMaybe; /** Filter on whether product is a gift card or not. */ - giftCard?: InputMaybe; + giftCard?: InputMaybe; /** Filter by product with category assigned. */ - hasCategory?: InputMaybe; + hasCategory?: InputMaybe; /** Filter by product with preordered variants. */ - hasPreorderedVariants?: InputMaybe; - ids?: InputMaybe>; + hasPreorderedVariants?: InputMaybe; + ids?: InputMaybe>; /** Filter by availability for purchase. */ - isAvailable?: InputMaybe; + isAvailable?: InputMaybe; /** Filter by public visibility. */ - isPublished?: InputMaybe; + isPublished?: InputMaybe; /** Filter by visibility on the channel. */ - isVisibleInListing?: InputMaybe; + isVisibleInListing?: InputMaybe; metadata?: InputMaybe>; /** Filter by the lowest variant price after discounts. */ minimalPrice?: InputMaybe; @@ -22409,7 +23136,7 @@ export type ProductWhereInput = { /** Filter by product type. */ productType?: InputMaybe; /** Filter by the publication date. */ - publishedFrom?: InputMaybe; + publishedFrom?: InputMaybe; /** Filter by product slug. */ slug?: InputMaybe; /** Filter by variants having specific stock status. */ @@ -22421,77 +23148,81 @@ export type ProductWhereInput = { }; /** Represents the promotion that allow creating discounts based on given conditions, and is visible to all the customers. */ -export type Promotion = Node & - ObjectWithMetadata & { - /** Date time of promotion creation. */ - createdAt: Scalars["DateTime"]["output"]; - /** Description of the promotion. */ - description: Maybe; - /** End date of the promotion. */ - endDate: Maybe; - /** The list of events associated with the promotion. */ - events: Maybe>; - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Name of the promotion. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** The list of promotion rules. */ - rules: Maybe>; - /** Start date of the promotion. */ - startDate: Scalars["DateTime"]["output"]; - /** Returns translated promotion fields for the given language code. */ - translation: Maybe; - /** - * The type of the promotion. Implicate if the discount is applied on catalogue or order level. - * - * Added in Saleor 3.19. - * - * Note: this API is currently in Feature Preview and can be subject to changes at later point. - */ - type: Maybe; - /** Date time of last update of promotion. */ - updatedAt: Scalars["DateTime"]["output"]; - }; +export type Promotion = Node & ObjectWithMetadata & { + /** Date time of promotion creation. */ + createdAt: Scalars['DateTime']['output']; + /** Description of the promotion. */ + description: Maybe; + /** End date of the promotion. */ + endDate: Maybe; + /** The list of events associated with the promotion. */ + events: Maybe>; + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Name of the promotion. */ + name: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** The list of promotion rules. */ + rules: Maybe>; + /** Start date of the promotion. */ + startDate: Scalars['DateTime']['output']; + /** Returns translated promotion fields for the given language code. */ + translation: Maybe; + /** + * The type of the promotion. Implicate if the discount is applied on catalogue or order level. + * + * Added in Saleor 3.19. + * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + */ + type: Maybe; + /** Date time of last update of promotion. */ + updatedAt: Scalars['DateTime']['output']; +}; + /** Represents the promotion that allow creating discounts based on given conditions, and is visible to all the customers. */ export type PromotionMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents the promotion that allow creating discounts based on given conditions, and is visible to all the customers. */ export type PromotionMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents the promotion that allow creating discounts based on given conditions, and is visible to all the customers. */ export type PromotionPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents the promotion that allow creating discounts based on given conditions, and is visible to all the customers. */ export type PromotionPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents the promotion that allow creating discounts based on given conditions, and is visible to all the customers. */ export type PromotionTranslationArgs = { languageCode: LanguageCodeEnum; @@ -22507,7 +23238,7 @@ export type PromotionTranslationArgs = { */ export type PromotionBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -22516,12 +23247,12 @@ export type PromotionCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type PromotionCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Promotion; }; @@ -22544,44 +23275,44 @@ export type PromotionCreateError = { /** The error code. */ code: PromotionCreateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** Limit of gifts assigned to promotion rule. */ - giftsLimit: Maybe; + giftsLimit: Maybe; /** Number of gifts defined for this promotion rule exceeding the limit. */ - giftsLimitExceedBy: Maybe; + giftsLimitExceedBy: Maybe; /** Index of an input list item that caused the error. */ - index: Maybe; + index: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** Limit of rules with orderPredicate defined. */ - rulesLimit: Maybe; + rulesLimit: Maybe; /** Number of rules with orderPredicate defined exceeding the limit. */ - rulesLimitExceedBy: Maybe; + rulesLimitExceedBy: Maybe; }; export type PromotionCreateErrorCode = - | "GIFTS_NUMBER_LIMIT" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_GIFT_TYPE" - | "INVALID_PRECISION" - | "MISSING_CHANNELS" - | "MULTIPLE_CURRENCIES_NOT_ALLOWED" - | "NOT_FOUND" - | "REQUIRED" - | "RULES_NUMBER_LIMIT"; + | 'GIFTS_NUMBER_LIMIT' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_GIFT_TYPE' + | 'INVALID_PRECISION' + | 'MISSING_CHANNELS' + | 'MULTIPLE_CURRENCIES_NOT_ALLOWED' + | 'NOT_FOUND' + | 'REQUIRED' + | 'RULES_NUMBER_LIMIT'; export type PromotionCreateInput = { /** Promotion description. */ - description?: InputMaybe; + description?: InputMaybe; /** The end date of the promotion in ISO 8601 format. */ - endDate?: InputMaybe; + endDate?: InputMaybe; /** Promotion name. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** List of promotion rules. */ rules?: InputMaybe>; /** The start date of the promotion in ISO 8601 format. */ - startDate?: InputMaybe; + startDate?: InputMaybe; /** * Defines the promotion type. Implicate the required promotion rules predicate type and whether the promotion rules will give the catalogue or order discount. * @@ -22593,7 +23324,7 @@ export type PromotionCreateInput = { /** Event sent when new promotion is created. */ export type PromotionCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The promotion the event relates to. */ @@ -22601,24 +23332,23 @@ export type PromotionCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** History log of the promotion created event. */ -export type PromotionCreatedEvent = Node & - PromotionEventInterface & { - /** - * User or App that created the promotion event. - * - * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. - */ - createdBy: Maybe; - /** Date when event happened. */ - date: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; - /** Promotion event type. */ - type: PromotionEventsEnum; - }; +export type PromotionCreatedEvent = Node & PromotionEventInterface & { + /** + * User or App that created the promotion event. + * + * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. + */ + createdBy: Maybe; + /** Date when event happened. */ + date: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + /** Promotion event type. */ + type: PromotionEventsEnum; +}; /** * Deletes a promotion. @@ -22637,17 +23367,19 @@ export type PromotionDeleteError = { /** The error code. */ code: PromotionDeleteErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; -export type PromotionDeleteErrorCode = "GRAPHQL_ERROR" | "NOT_FOUND"; +export type PromotionDeleteErrorCode = + | 'GRAPHQL_ERROR' + | 'NOT_FOUND'; /** Event sent when promotion is deleted. */ export type PromotionDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The promotion the event relates to. */ @@ -22655,13 +23387,13 @@ export type PromotionDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** The event informs about the end of the promotion. */ export type PromotionEnded = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The promotion the event relates to. */ @@ -22669,33 +23401,25 @@ export type PromotionEnded = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** History log of the promotion ended event. */ -export type PromotionEndedEvent = Node & - PromotionEventInterface & { - /** - * User or App that created the promotion event. - * - * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. - */ - createdBy: Maybe; - /** Date when event happened. */ - date: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; - /** Promotion event type. */ - type: PromotionEventsEnum; - }; - -export type PromotionEvent = - | PromotionCreatedEvent - | PromotionEndedEvent - | PromotionRuleCreatedEvent - | PromotionRuleDeletedEvent - | PromotionRuleUpdatedEvent - | PromotionStartedEvent - | PromotionUpdatedEvent; +export type PromotionEndedEvent = Node & PromotionEventInterface & { + /** + * User or App that created the promotion event. + * + * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. + */ + createdBy: Maybe; + /** Date when event happened. */ + date: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + /** Promotion event type. */ + type: PromotionEventsEnum; +}; + +export type PromotionEvent = PromotionCreatedEvent | PromotionEndedEvent | PromotionRuleCreatedEvent | PromotionRuleDeletedEvent | PromotionRuleUpdatedEvent | PromotionStartedEvent | PromotionUpdatedEvent; export type PromotionEventInterface = { /** @@ -22705,25 +23429,25 @@ export type PromotionEventInterface = { */ createdBy: Maybe; /** Date when event happened. */ - date: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; + date: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; /** Promotion event type. */ type: PromotionEventsEnum; }; export type PromotionEventsEnum = - | "PROMOTION_CREATED" - | "PROMOTION_ENDED" - | "PROMOTION_STARTED" - | "PROMOTION_UPDATED" - | "RULE_CREATED" - | "RULE_DELETED" - | "RULE_UPDATED"; + | 'PROMOTION_CREATED' + | 'PROMOTION_ENDED' + | 'PROMOTION_STARTED' + | 'PROMOTION_UPDATED' + | 'RULE_CREATED' + | 'RULE_DELETED' + | 'RULE_UPDATED'; /** Represents the promotion rule that specifies the conditions that must be met to apply the promotion discount. */ export type PromotionRule = Node & { /** The catalogue predicate that must be met to apply the rule reward. */ - cataloguePredicate: Maybe; + cataloguePredicate: Maybe; /** * List of channels where the rule applies. * @@ -22731,7 +23455,7 @@ export type PromotionRule = Node & { */ channels: Maybe>; /** Description of the promotion rule. */ - description: Maybe; + description: Maybe; /** * Product variant IDs available as a gift to choose. * @@ -22739,7 +23463,7 @@ export type PromotionRule = Node & { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - giftIds: Maybe>; + giftIds: Maybe>; /** * Defines the maximum number of gifts to choose from the gifts list. * @@ -22747,10 +23471,10 @@ export type PromotionRule = Node & { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - giftsLimit: Maybe; - id: Scalars["ID"]["output"]; + giftsLimit: Maybe; + id: Scalars['ID']['output']; /** Name of the promotion rule. */ - name: Maybe; + name: Maybe; /** * The checkout/order predicate that must be met to apply the rule reward. * @@ -22758,7 +23482,7 @@ export type PromotionRule = Node & { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - orderPredicate: Maybe; + orderPredicate: Maybe; /** * The type of the predicate that must be met to apply the reward. * @@ -22784,13 +23508,14 @@ export type PromotionRule = Node & { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - rewardValue: Maybe; + rewardValue: Maybe; /** The type of reward value of the promotion rule. */ rewardValueType: Maybe; /** Returns translated promotion rule fields for the given language code. */ translation: Maybe; }; + /** Represents the promotion rule that specifies the conditions that must be met to apply the promotion discount. */ export type PromotionRuleTranslationArgs = { languageCode: LanguageCodeEnum; @@ -22813,38 +23538,38 @@ export type PromotionRuleCreateError = { /** The error code. */ code: PromotionRuleCreateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** Limit of gifts assigned to promotion rule. */ - giftsLimit: Maybe; + giftsLimit: Maybe; /** Number of gifts defined for this promotion rule exceeding the limit. */ - giftsLimitExceedBy: Maybe; + giftsLimitExceedBy: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** Limit of rules with orderPredicate defined. */ - rulesLimit: Maybe; + rulesLimit: Maybe; /** Number of rules with orderPredicate defined exceeding the limit. */ - rulesLimitExceedBy: Maybe; + rulesLimitExceedBy: Maybe; }; export type PromotionRuleCreateErrorCode = - | "GIFTS_NUMBER_LIMIT" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_GIFT_TYPE" - | "INVALID_PRECISION" - | "MISSING_CHANNELS" - | "MULTIPLE_CURRENCIES_NOT_ALLOWED" - | "NOT_FOUND" - | "REQUIRED" - | "RULES_NUMBER_LIMIT"; + | 'GIFTS_NUMBER_LIMIT' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_GIFT_TYPE' + | 'INVALID_PRECISION' + | 'MISSING_CHANNELS' + | 'MULTIPLE_CURRENCIES_NOT_ALLOWED' + | 'NOT_FOUND' + | 'REQUIRED' + | 'RULES_NUMBER_LIMIT'; export type PromotionRuleCreateInput = { /** Defines the conditions on the catalogue level that must be met for the reward to be applied. */ cataloguePredicate?: InputMaybe; /** List of channel ids to which the rule should apply to. */ - channels?: InputMaybe>; + channels?: InputMaybe>; /** Promotion rule description. */ - description?: InputMaybe; + description?: InputMaybe; /** * Product variant IDs available as a gift to choose. * @@ -22852,9 +23577,9 @@ export type PromotionRuleCreateInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - gifts?: InputMaybe>; + gifts?: InputMaybe>; /** Promotion rule name. */ - name?: InputMaybe; + name?: InputMaybe; /** * Defines the conditions on the checkout/draft order level that must be met for the reward to be applied. * @@ -22864,7 +23589,7 @@ export type PromotionRuleCreateInput = { */ orderPredicate?: InputMaybe; /** The ID of the promotion that rule belongs to. */ - promotion: Scalars["ID"]["input"]; + promotion: Scalars['ID']['input']; /** * Defines the reward type of the promotion rule. * @@ -22874,7 +23599,7 @@ export type PromotionRuleCreateInput = { */ rewardType?: InputMaybe; /** Defines the discount value. Required when catalogue predicate is provided. */ - rewardValue?: InputMaybe; + rewardValue?: InputMaybe; /** Defines the promotion rule reward value type. Must be provided together with reward value. */ rewardValueType?: InputMaybe; }; @@ -22882,7 +23607,7 @@ export type PromotionRuleCreateInput = { /** Event sent when new promotion rule is created. */ export type PromotionRuleCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The promotion rule the event relates to. */ @@ -22890,27 +23615,25 @@ export type PromotionRuleCreated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** History log of the promotion rule created event. */ -export type PromotionRuleCreatedEvent = Node & - PromotionEventInterface & - PromotionRuleEventInterface & { - /** - * User or App that created the promotion event. - * - * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. - */ - createdBy: Maybe; - /** Date when event happened. */ - date: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; - /** The rule ID associated with the promotion event. */ - ruleId: Maybe; - /** Promotion event type. */ - type: PromotionEventsEnum; - }; +export type PromotionRuleCreatedEvent = Node & PromotionEventInterface & PromotionRuleEventInterface & { + /** + * User or App that created the promotion event. + * + * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. + */ + createdBy: Maybe; + /** Date when event happened. */ + date: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + /** The rule ID associated with the promotion event. */ + ruleId: Maybe; + /** Promotion event type. */ + type: PromotionEventsEnum; +}; /** * Deletes a promotion rule. @@ -22929,17 +23652,19 @@ export type PromotionRuleDeleteError = { /** The error code. */ code: PromotionRuleDeleteErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; -export type PromotionRuleDeleteErrorCode = "GRAPHQL_ERROR" | "NOT_FOUND"; +export type PromotionRuleDeleteErrorCode = + | 'GRAPHQL_ERROR' + | 'NOT_FOUND'; /** Event sent when new promotion rule is deleted. */ export type PromotionRuleDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The promotion rule the event relates to. */ @@ -22947,41 +23672,39 @@ export type PromotionRuleDeleted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** History log of the promotion rule created event. */ -export type PromotionRuleDeletedEvent = Node & - PromotionEventInterface & - PromotionRuleEventInterface & { - /** - * User or App that created the promotion event. - * - * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. - */ - createdBy: Maybe; - /** Date when event happened. */ - date: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; - /** The rule ID associated with the promotion event. */ - ruleId: Maybe; - /** Promotion event type. */ - type: PromotionEventsEnum; - }; +export type PromotionRuleDeletedEvent = Node & PromotionEventInterface & PromotionRuleEventInterface & { + /** + * User or App that created the promotion event. + * + * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. + */ + createdBy: Maybe; + /** Date when event happened. */ + date: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + /** The rule ID associated with the promotion event. */ + ruleId: Maybe; + /** Promotion event type. */ + type: PromotionEventsEnum; +}; /** History log of the promotion event related to rule. */ export type PromotionRuleEventInterface = { /** The rule ID associated with the promotion event. */ - ruleId: Maybe; + ruleId: Maybe; }; export type PromotionRuleInput = { /** Defines the conditions on the catalogue level that must be met for the reward to be applied. */ cataloguePredicate?: InputMaybe; /** List of channel ids to which the rule should apply to. */ - channels?: InputMaybe>; + channels?: InputMaybe>; /** Promotion rule description. */ - description?: InputMaybe; + description?: InputMaybe; /** * Product variant IDs available as a gift to choose. * @@ -22989,9 +23712,9 @@ export type PromotionRuleInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - gifts?: InputMaybe>; + gifts?: InputMaybe>; /** Promotion rule name. */ - name?: InputMaybe; + name?: InputMaybe; /** * Defines the conditions on the checkout/draft order level that must be met for the reward to be applied. * @@ -23009,7 +23732,7 @@ export type PromotionRuleInput = { */ rewardType?: InputMaybe; /** Defines the discount value. Required when catalogue predicate is provided. */ - rewardValue?: InputMaybe; + rewardValue?: InputMaybe; /** Defines the promotion rule reward value type. Must be provided together with reward value. */ rewardValueType?: InputMaybe; }; @@ -23021,17 +23744,18 @@ export type PromotionRuleTranslatableContent = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** ID of the promotion rule translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the promotion rule. */ - name: Maybe; + name: Maybe; /** ID of the promotion rule to translate. */ - promotionRuleId: Scalars["ID"]["output"]; + promotionRuleId: Scalars['ID']['output']; /** Returns translated promotion rule fields for the given language code. */ translation: Maybe; }; + /** Represents promotion rule's original translatable fields and related translations. */ export type PromotionRuleTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -23054,13 +23778,13 @@ export type PromotionRuleTranslation = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** ID of the promotion rule translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated name of the promotion rule. */ - name: Maybe; + name: Maybe; /** Represents the promotion rule fields to translate. */ translatableContent: Maybe; }; @@ -23071,8 +23795,8 @@ export type PromotionRuleTranslationInput = { * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; - name?: InputMaybe; + description?: InputMaybe; + name?: InputMaybe; }; /** @@ -23090,34 +23814,34 @@ export type PromotionRuleUpdate = { export type PromotionRuleUpdateError = { /** List of channel IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: PromotionRuleUpdateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** Limit of gifts assigned to promotion rule. */ - giftsLimit: Maybe; + giftsLimit: Maybe; /** Number of gifts defined for this promotion rule exceeding the limit. */ - giftsLimitExceedBy: Maybe; + giftsLimitExceedBy: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type PromotionRuleUpdateErrorCode = - | "DUPLICATED_INPUT_ITEM" - | "GIFTS_NUMBER_LIMIT" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_GIFT_TYPE" - | "INVALID_PRECISION" - | "MISSING_CHANNELS" - | "MULTIPLE_CURRENCIES_NOT_ALLOWED" - | "NOT_FOUND" - | "REQUIRED"; + | 'DUPLICATED_INPUT_ITEM' + | 'GIFTS_NUMBER_LIMIT' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_GIFT_TYPE' + | 'INVALID_PRECISION' + | 'MISSING_CHANNELS' + | 'MULTIPLE_CURRENCIES_NOT_ALLOWED' + | 'NOT_FOUND' + | 'REQUIRED'; export type PromotionRuleUpdateInput = { /** List of channel ids to add. */ - addChannels?: InputMaybe>; + addChannels?: InputMaybe>; /** * List of variant IDs available as a gift to add. * @@ -23125,13 +23849,13 @@ export type PromotionRuleUpdateInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - addGifts?: InputMaybe>; + addGifts?: InputMaybe>; /** Defines the conditions on the catalogue level that must be met for the reward to be applied. */ cataloguePredicate?: InputMaybe; /** Promotion rule description. */ - description?: InputMaybe; + description?: InputMaybe; /** Promotion rule name. */ - name?: InputMaybe; + name?: InputMaybe; /** * Defines the conditions on the checkout/draft order level that must be met for the reward to be applied. * @@ -23141,7 +23865,7 @@ export type PromotionRuleUpdateInput = { */ orderPredicate?: InputMaybe; /** List of channel ids to remove. */ - removeChannels?: InputMaybe>; + removeChannels?: InputMaybe>; /** * List of variant IDs available as a gift to remove. * @@ -23149,7 +23873,7 @@ export type PromotionRuleUpdateInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - removeGifts?: InputMaybe>; + removeGifts?: InputMaybe>; /** * Defines the reward type of the promotion rule. * @@ -23159,7 +23883,7 @@ export type PromotionRuleUpdateInput = { */ rewardType?: InputMaybe; /** Defines the discount value. Required when catalogue predicate is provided. */ - rewardValue?: InputMaybe; + rewardValue?: InputMaybe; /** Defines the promotion rule reward value type. Must be provided together with reward value. */ rewardValueType?: InputMaybe; }; @@ -23167,7 +23891,7 @@ export type PromotionRuleUpdateInput = { /** Event sent when new promotion rule is updated. */ export type PromotionRuleUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The promotion rule the event relates to. */ @@ -23175,37 +23899,35 @@ export type PromotionRuleUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** History log of the promotion rule created event. */ -export type PromotionRuleUpdatedEvent = Node & - PromotionEventInterface & - PromotionRuleEventInterface & { - /** - * User or App that created the promotion event. - * - * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. - */ - createdBy: Maybe; - /** Date when event happened. */ - date: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; - /** The rule ID associated with the promotion event. */ - ruleId: Maybe; - /** Promotion event type. */ - type: PromotionEventsEnum; - }; +export type PromotionRuleUpdatedEvent = Node & PromotionEventInterface & PromotionRuleEventInterface & { + /** + * User or App that created the promotion event. + * + * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. + */ + createdBy: Maybe; + /** Date when event happened. */ + date: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + /** The rule ID associated with the promotion event. */ + ruleId: Maybe; + /** Promotion event type. */ + type: PromotionEventsEnum; +}; export type PromotionSortField = /** Sort promotions by creation date. */ - | "CREATED_AT" + | 'CREATED_AT' /** Sort promotions by end date. */ - | "END_DATE" + | 'END_DATE' /** Sort promotions by name. */ - | "NAME" + | 'NAME' /** Sort promotions by start date. */ - | "START_DATE"; + | 'START_DATE'; export type PromotionSortingInput = { /** Specifies the direction in which to sort promotions. */ @@ -23217,7 +23939,7 @@ export type PromotionSortingInput = { /** The event informs about the start of the promotion. */ export type PromotionStarted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The promotion the event relates to. */ @@ -23225,24 +23947,23 @@ export type PromotionStarted = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** History log of the promotion started event. */ -export type PromotionStartedEvent = Node & - PromotionEventInterface & { - /** - * User or App that created the promotion event. - * - * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. - */ - createdBy: Maybe; - /** Date when event happened. */ - date: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; - /** Promotion event type. */ - type: PromotionEventsEnum; - }; +export type PromotionStartedEvent = Node & PromotionEventInterface & { + /** + * User or App that created the promotion event. + * + * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. + */ + createdBy: Maybe; + /** Date when event happened. */ + date: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + /** Promotion event type. */ + type: PromotionEventsEnum; +}; /** Represents promotion's original translatable fields and related translations. */ export type PromotionTranslatableContent = Node & { @@ -23251,17 +23972,18 @@ export type PromotionTranslatableContent = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** ID of the promotion translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the promotion. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** ID of the promotion to translate. */ - promotionId: Scalars["ID"]["output"]; + promotionId: Scalars['ID']['output']; /** Returns translated promotion fields for the given language code. */ translation: Maybe; }; + /** Represents promotion's original translatable fields and related translations. */ export type PromotionTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -23284,13 +24006,13 @@ export type PromotionTranslation = Node & { * * Rich text format. For reference see https://editorjs.io/ */ - description: Maybe; + description: Maybe; /** ID of the promotion translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated name of the promotion. */ - name: Maybe; + name: Maybe; /** Represents the promotion fields to translate. */ translatableContent: Maybe; }; @@ -23301,11 +24023,13 @@ export type PromotionTranslationInput = { * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; - name?: InputMaybe; + description?: InputMaybe; + name?: InputMaybe; }; -export type PromotionTypeEnum = "CATALOGUE" | "ORDER"; +export type PromotionTypeEnum = + | 'CATALOGUE' + | 'ORDER'; export type PromotionTypeEnumFilterInput = { /** The value equal to. */ @@ -23333,32 +24057,32 @@ export type PromotionUpdateError = { /** The error code. */ code: PromotionUpdateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type PromotionUpdateErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; export type PromotionUpdateInput = { /** Promotion description. */ - description?: InputMaybe; + description?: InputMaybe; /** The end date of the promotion in ISO 8601 format. */ - endDate?: InputMaybe; + endDate?: InputMaybe; /** Promotion name. */ - name?: InputMaybe; + name?: InputMaybe; /** The start date of the promotion in ISO 8601 format. */ - startDate?: InputMaybe; + startDate?: InputMaybe; }; /** Event sent when promotion is updated. */ export type PromotionUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The promotion the event relates to. */ @@ -23366,25 +24090,24 @@ export type PromotionUpdated = Event & { /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; +}; + +/** History log of the promotion updated event. */ +export type PromotionUpdatedEvent = Node & PromotionEventInterface & { + /** + * User or App that created the promotion event. + * + * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. + */ + createdBy: Maybe; + /** Date when event happened. */ + date: Scalars['DateTime']['output']; + id: Scalars['ID']['output']; + /** Promotion event type. */ + type: PromotionEventsEnum; }; -/** History log of the promotion updated event. */ -export type PromotionUpdatedEvent = Node & - PromotionEventInterface & { - /** - * User or App that created the promotion event. - * - * Requires one of the following permissions: MANAGE_STAFF, MANAGE_APPS, OWNER. - */ - createdBy: Maybe; - /** Date when event happened. */ - date: Scalars["DateTime"]["output"]; - id: Scalars["ID"]["output"]; - /** Promotion event type. */ - type: PromotionEventsEnum; - }; - export type PromotionWhereInput = { /** List of conditions that must be met. */ AND?: InputMaybe>; @@ -23392,8 +24115,8 @@ export type PromotionWhereInput = { OR?: InputMaybe>; /** Filter promotions by end date. */ endDate?: InputMaybe; - ids?: InputMaybe>; - isOldSale?: InputMaybe; + ids?: InputMaybe>; + isOldSale?: InputMaybe; metadata?: InputMaybe>; /** Filter by promotion name. */ name?: InputMaybe; @@ -23404,17 +24127,17 @@ export type PromotionWhereInput = { export type PublishableChannelListingInput = { /** ID of a channel. */ - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; /** Determines if object is visible to customers. */ - isPublished?: InputMaybe; + isPublished?: InputMaybe; /** * Publication date. ISO 8601 standard. * * DEPRECATED: this field will be removed. Use `publishedAt` field instead. */ - publicationDate?: InputMaybe; + publicationDate?: InputMaybe; /** Publication date time. ISO 8601 standard. */ - publishedAt?: InputMaybe; + publishedAt?: InputMaybe; }; export type Query = { @@ -23502,6 +24225,20 @@ export type Query = { * Requires one of the following permissions: MANAGE_ORDERS, MANAGE_USERS. */ customers: Maybe; + /** + * Look up digital content by ID. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContent: Maybe; + /** + * List of digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContents: Maybe; /** * List of draft orders. The query will not initiate any external requests, including filtering available shipping methods, or performing external tax calculations. * @@ -23531,7 +24268,7 @@ export type Query = { * * Requires one of the following permissions: MANAGE_GIFT_CARD. */ - giftCardCurrencies: Array; + giftCardCurrencies: Array; /** * Gift card related settings from site settings. * @@ -23824,543 +24561,630 @@ export type Query = { */ webhookEvents: Maybe>; /** Retrieve a sample payload for a given webhook event based on real data. It can be useful for some integrations where sample payload is required. */ - webhookSamplePayload: Maybe; + webhookSamplePayload: Maybe; }; + export type Query_EntitiesArgs = { - representations: Array; + representations?: InputMaybe>>; }; + export type QueryAddressArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryAddressValidationRulesArgs = { - city?: InputMaybe; - cityArea?: InputMaybe; - countryArea?: InputMaybe; + city?: InputMaybe; + cityArea?: InputMaybe; + countryArea?: InputMaybe; countryCode: CountryCode; }; + export type QueryAppArgs = { - id?: InputMaybe; + id?: InputMaybe; }; + export type QueryAppExtensionArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryAppExtensionsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + export type QueryAppsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryAttributeArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; - slug?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; + slug?: InputMaybe; }; + export type QueryAttributesArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryCategoriesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - level?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + level?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryCategoryArgs = { - id?: InputMaybe; - slug?: InputMaybe; + id?: InputMaybe; + slug?: InputMaybe; slugLanguageCode?: InputMaybe; }; + export type QueryChannelArgs = { - id?: InputMaybe; - slug?: InputMaybe; + id?: InputMaybe; + slug?: InputMaybe; }; + export type QueryCheckoutArgs = { - id?: InputMaybe; - token?: InputMaybe; + id?: InputMaybe; + token?: InputMaybe; }; + export type QueryCheckoutLinesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + export type QueryCheckoutsArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryCollectionArgs = { - channel?: InputMaybe; - id?: InputMaybe; - slug?: InputMaybe; + channel?: InputMaybe; + id?: InputMaybe; + slug?: InputMaybe; slugLanguageCode?: InputMaybe; }; + export type QueryCollectionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryCustomersArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + +export type QueryDigitalContentArgs = { + id: Scalars['ID']['input']; +}; + + +export type QueryDigitalContentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + export type QueryDraftOrdersArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryExportFileArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryExportFilesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryGiftCardArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryGiftCardTagsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + export type QueryGiftCardsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryHomepageEventsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + export type QueryMenuArgs = { - channel?: InputMaybe; - id?: InputMaybe; - name?: InputMaybe; - slug?: InputMaybe; + channel?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + slug?: InputMaybe; }; + export type QueryMenuItemArgs = { - channel?: InputMaybe; - id: Scalars["ID"]["input"]; + channel?: InputMaybe; + id: Scalars['ID']['input']; }; + export type QueryMenuItemsArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryMenusArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryOrderArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; }; + export type QueryOrderByTokenArgs = { - token: Scalars["UUID"]["input"]; + token: Scalars['UUID']['input']; }; + export type QueryOrdersArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryOrdersTotalArgs = { - channel?: InputMaybe; + channel?: InputMaybe; period?: InputMaybe; }; + export type QueryPageArgs = { - channel?: InputMaybe; - id?: InputMaybe; - slug?: InputMaybe; + channel?: InputMaybe; + id?: InputMaybe; + slug?: InputMaybe; slugLanguageCode?: InputMaybe; }; + export type QueryPageTypeArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryPageTypesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryPagesArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryPaymentArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryPaymentsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + export type QueryPermissionGroupArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryPermissionGroupsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryPluginArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryPluginsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryProductArgs = { - channel?: InputMaybe; - externalReference?: InputMaybe; - id?: InputMaybe; - slug?: InputMaybe; + channel?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; + slug?: InputMaybe; slugLanguageCode?: InputMaybe; }; + export type QueryProductTypeArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryProductTypesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryProductVariantArgs = { - channel?: InputMaybe; - externalReference?: InputMaybe; - id?: InputMaybe; - sku?: InputMaybe; + channel?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; + sku?: InputMaybe; }; + export type QueryProductVariantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - ids?: InputMaybe>; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + ids?: InputMaybe>; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryProductsArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - search?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryPromotionArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryPromotionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; where?: InputMaybe; }; + export type QueryReportProductSalesArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel: Scalars["String"]["input"]; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel: Scalars['String']['input']; + first?: InputMaybe; + last?: InputMaybe; period: ReportingPeriod; }; + export type QuerySaleArgs = { - channel?: InputMaybe; - id: Scalars["ID"]["input"]; + channel?: InputMaybe; + id: Scalars['ID']['input']; }; + export type QuerySalesArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - query?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryShippingZoneArgs = { - channel?: InputMaybe; - id: Scalars["ID"]["input"]; + channel?: InputMaybe; + id: Scalars['ID']['input']; }; + export type QueryShippingZonesArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + export type QueryStaffUsersArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryStockArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryStocksArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + export type QueryTaxClassArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryTaxClassesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryTaxConfigurationArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryTaxConfigurationsArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + export type QueryTaxCountryConfigurationArgs = { countryCode: CountryCode; }; + export type QueryTransactionArgs = { - id?: InputMaybe; - token?: InputMaybe; + id?: InputMaybe; + token?: InputMaybe; }; + export type QueryTransactionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - sortBy?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; where?: InputMaybe; }; + export type QueryTranslationArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; kind: TranslatableKinds; }; + export type QueryTranslationsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; kind: TranslatableKinds; - last?: InputMaybe; + last?: InputMaybe; }; + export type QueryUserArgs = { - email?: InputMaybe; - externalReference?: InputMaybe; - id?: InputMaybe; + email?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; }; + export type QueryVoucherArgs = { - channel?: InputMaybe; - id: Scalars["ID"]["input"]; + channel?: InputMaybe; + id: Scalars['ID']['input']; }; + export type QueryVouchersArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; - query?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryWarehouseArgs = { - externalReference?: InputMaybe; - id?: InputMaybe; + externalReference?: InputMaybe; + id?: InputMaybe; }; + export type QueryWarehousesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; + export type QueryWebhookArgs = { - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; }; + export type QueryWebhookSamplePayloadArgs = { eventType: WebhookSampleEventTypeEnum; }; @@ -24368,9 +25192,9 @@ export type QueryWebhookSamplePayloadArgs = { /** Represents a reduced VAT rate for a particular type of goods. */ export type ReducedRate = { /** Reduced VAT rate in percent. */ - rate: Scalars["Float"]["output"]; + rate: Scalars['Float']['output']; /** A type of goods. */ - rateType: Scalars["String"]["output"]; + rateType: Scalars['String']['output']; }; /** @@ -24386,7 +25210,7 @@ export type RefreshToken = { accountErrors: Array; errors: Array; /** JWT token, required to authenticate. */ - token: Maybe; + token: Maybe; /** A user instance. */ user: Maybe; }; @@ -24410,9 +25234,9 @@ export type RefundReasonReferenceTypeClearError = { /** Failed to clear refund reason reference type */ code: RefundSettingsErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; /** @@ -24425,7 +25249,10 @@ export type RefundSettings = { reasonReferenceType: Maybe; }; -export type RefundSettingsErrorCode = "GRAPHQL_ERROR" | "INVALID" | "REQUIRED"; +export type RefundSettingsErrorCode = + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'REQUIRED'; /** * Update refund settings across all channels. @@ -24437,7 +25264,7 @@ export type RefundSettingsErrorCode = "GRAPHQL_ERROR" | "INVALID" | "REQUIRED"; export type RefundSettingsUpdate = { errors: Array; /** Refund settings. */ - refundSettings: Maybe; + refundSettings: RefundSettings; /** @deprecated Use `errors` field instead. */ refundSettingsErrors: Array; }; @@ -24446,9 +25273,9 @@ export type RefundSettingsUpdateError = { /** Failed to update Refund Settings */ code: RefundSettingsErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type RefundSettingsUpdateInput = { @@ -24457,17 +25284,19 @@ export type RefundSettingsUpdateInput = { * * Added in Saleor 3.22. */ - refundReasonReferenceType: Scalars["ID"]["input"]; + refundReasonReferenceType: Scalars['ID']['input']; }; export type ReorderInput = { /** The ID of the item to move. */ - id: Scalars["ID"]["input"]; + id: Scalars['ID']['input']; /** The new relative sorting position of the item (from -inf to +inf). 1 moves the item one position forward, -1 moves the item one position backward, 0 leaves the item unchanged. */ - sortOrder?: InputMaybe; + sortOrder?: InputMaybe; }; -export type ReportingPeriod = "THIS_MONTH" | "TODAY"; +export type ReportingPeriod = + | 'THIS_MONTH' + | 'TODAY'; /** * Request email change of the logged in user. @@ -24500,84 +25329,88 @@ export type RequestPasswordReset = { errors: Array; }; -export type RewardTypeEnum = "GIFT" | "SUBTOTAL_DISCOUNT"; +export type RewardTypeEnum = + | 'GIFT' + | 'SUBTOTAL_DISCOUNT'; -export type RewardValueTypeEnum = "FIXED" | "PERCENTAGE"; +export type RewardValueTypeEnum = + | 'FIXED' + | 'PERCENTAGE'; /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ -export type Sale = Node & - ObjectWithMetadata & { - /** List of categories this sale applies to. */ - categories: Maybe; - /** - * List of channels available for the sale. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - channelListings: Maybe>; - /** - * List of collections this sale applies to. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - collections: Maybe; - /** The date and time when the sale was created. */ - created: Scalars["DateTime"]["output"]; - /** Currency code for sale. */ - currency: Maybe; - /** Sale value. */ - discountValue: Maybe; - /** The end date and time of the sale. */ - endDate: Maybe; - /** The ID of the sale. */ - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** The name of the sale. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** - * List of products this sale applies to. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - products: Maybe; - /** The start date and time of the sale. */ - startDate: Scalars["DateTime"]["output"]; - /** Returns translated sale fields for the given language code. */ - translation: Maybe; - /** Type of the sale, fixed or percentage. */ - type: SaleType; - /** The date and time when the sale was updated. */ - updatedAt: Scalars["DateTime"]["output"]; - /** - * List of product variants this sale applies to. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - variants: Maybe; - }; +export type Sale = Node & ObjectWithMetadata & { + /** List of categories this sale applies to. */ + categories: Maybe; + /** + * List of channels available for the sale. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + channelListings: Maybe>; + /** + * List of collections this sale applies to. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + collections: Maybe; + /** The date and time when the sale was created. */ + created: Scalars['DateTime']['output']; + /** Currency code for sale. */ + currency: Maybe; + /** Sale value. */ + discountValue: Maybe; + /** The end date and time of the sale. */ + endDate: Maybe; + /** The ID of the sale. */ + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** The name of the sale. */ + name: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** + * List of products this sale applies to. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + products: Maybe; + /** The start date and time of the sale. */ + startDate: Scalars['DateTime']['output']; + /** Returns translated sale fields for the given language code. */ + translation: Maybe; + /** Type of the sale, fixed or percentage. */ + type: SaleType; + /** The date and time when the sale was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** + * List of product variants this sale applies to. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + variants: Maybe; +}; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. @@ -24585,72 +25418,79 @@ export type Sale = Node & * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ export type SaleCategoriesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ export type SaleCollectionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ export type SaleMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ export type SaleMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ export type SalePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ export type SalePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ export type SaleProductsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * @@ -24660,16 +25500,17 @@ export type SaleTranslationArgs = { languageCode: LanguageCodeEnum; }; + /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * * DEPRECATED: this type will be removed. Use `Promotion` type instead. */ export type SaleVariantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; /** @@ -24698,7 +25539,7 @@ export type SaleAddCatalogues = { */ export type SaleBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; /** @deprecated Use `errors` field instead. */ discountErrors: Array; errors: Array; @@ -24713,25 +25554,25 @@ export type SaleChannelListing = Node & { /** The channel in which the sale is available. */ channel: Channel; /** The currency in which the discount value is specified. */ - currency: Scalars["String"]["output"]; + currency: Scalars['String']['output']; /** The value of the discount applied to the sale in the channel. */ - discountValue: Scalars["Float"]["output"]; + discountValue: Scalars['Float']['output']; /** The ID of the channel listing. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; }; export type SaleChannelListingAddInput = { /** ID of a channel. */ - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; /** The value of the discount. */ - discountValue: Scalars["PositiveDecimal"]["input"]; + discountValue: Scalars['PositiveDecimal']['input']; }; export type SaleChannelListingInput = { /** List of channels to which the sale should be assigned. */ addChannels?: InputMaybe>; /** List of channels from which the sale should be unassigned. */ - removeChannels?: InputMaybe>; + removeChannels?: InputMaybe>; }; /** @@ -24752,12 +25593,12 @@ export type SaleCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type SaleCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Sale; }; @@ -24784,7 +25625,7 @@ export type SaleCreate = { */ export type SaleCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -24792,16 +25633,17 @@ export type SaleCreated = Event & { /** The sale the event relates to. */ sale: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** * Event sent when new sale is created. * * DEPRECATED: this event will be removed. Use `PromotionCreated` event instead. */ export type SaleCreatedSaleArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -24826,7 +25668,7 @@ export type SaleDelete = { */ export type SaleDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -24834,22 +25676,23 @@ export type SaleDeleted = Event & { /** The sale the event relates to. */ sale: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** * Event sent when sale is deleted. * * DEPRECATED: this event will be removed. Use `PromotionDeleted` event instead. */ export type SaleDeletedSaleArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type SaleFilterInput = { metadata?: InputMaybe>; saleType?: InputMaybe; - search?: InputMaybe; + search?: InputMaybe; started?: InputMaybe; status?: InputMaybe>; updatedAt?: InputMaybe; @@ -24857,22 +25700,22 @@ export type SaleFilterInput = { export type SaleInput = { /** Categories related to the discount. */ - categories?: InputMaybe>; + categories?: InputMaybe>; /** Collections related to the discount. */ - collections?: InputMaybe>; + collections?: InputMaybe>; /** End date of the voucher in ISO 8601 format. */ - endDate?: InputMaybe; + endDate?: InputMaybe; /** Voucher name. */ - name?: InputMaybe; + name?: InputMaybe; /** Products related to the discount. */ - products?: InputMaybe>; + products?: InputMaybe>; /** Start date of the voucher in ISO 8601 format. */ - startDate?: InputMaybe; + startDate?: InputMaybe; /** Fixed or percentage. */ type?: InputMaybe; /** Value of the voucher. */ - value?: InputMaybe; - variants?: InputMaybe>; + value?: InputMaybe; + variants?: InputMaybe>; }; /** @@ -24893,23 +25736,23 @@ export type SaleRemoveCatalogues = { export type SaleSortField = /** Sort sales by creation date. */ - | "CREATED_AT" + | 'CREATED_AT' /** Sort sales by end date. */ - | "END_DATE" + | 'END_DATE' /** Sort sales by last modification date. */ - | "LAST_MODIFIED_AT" + | 'LAST_MODIFIED_AT' /** Sort sales by name. */ - | "NAME" + | 'NAME' /** Sort sales by start date. */ - | "START_DATE" + | 'START_DATE' /** Sort sales by type. */ - | "TYPE" + | 'TYPE' /** * Sort sales by value. * * This option requires a channel filter to work as the values can vary between channels. */ - | "VALUE"; + | 'VALUE'; export type SaleSortingInput = { /** @@ -24917,7 +25760,7 @@ export type SaleSortingInput = { * * DEPRECATED: this field will be removed. Use root-level channel argument instead. */ - channel?: InputMaybe; + channel?: InputMaybe; /** Specifies the direction in which to sort sales. */ direction: OrderDirection; /** Sort sales by the selected field. */ @@ -24931,7 +25774,7 @@ export type SaleSortingInput = { */ export type SaleToggle = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -24939,16 +25782,17 @@ export type SaleToggle = Event & { /** The sale the event relates to. */ sale: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** * The event informs about the start or end of the sale. * * DEPRECATED: this event will be removed. Use `PromotionStarted` and `PromotionEnded` events instead. */ export type SaleToggleSaleArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -24958,9 +25802,9 @@ export type SaleToggleSaleArgs = { */ export type SaleTranslatableContent = Node & { /** The ID of the sale translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Name of the sale to translate. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** * Sales allow creating discounts for categories, collections or products and are visible to all the customers. * @@ -24969,11 +25813,12 @@ export type SaleTranslatableContent = Node & { */ sale: Maybe; /** The ID of the sale to translate. */ - saleId: Scalars["ID"]["output"]; + saleId: Scalars['ID']['output']; /** Returns translated sale fields for the given language code. */ translation: Maybe; }; + /** * Represents sale's original translatable fields and related translations. * @@ -25002,16 +25847,18 @@ export type SaleTranslate = { */ export type SaleTranslation = Node & { /** The ID of the sale translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated name of sale. */ - name: Maybe; + name: Maybe; /** Represents the sale fields to translate. */ translatableContent: Maybe; }; -export type SaleType = "FIXED" | "PERCENTAGE"; +export type SaleType = + | 'FIXED' + | 'PERCENTAGE'; /** * Updates a sale. @@ -25036,7 +25883,7 @@ export type SaleUpdate = { */ export type SaleUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25044,16 +25891,17 @@ export type SaleUpdated = Event & { /** The sale the event relates to. */ sale: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** * Event sent when sale is updated. * * DEPRECATED: this event will be removed. Use `PromotionUpdated` event instead. */ export type SaleUpdatedSaleArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** Represents an assigned attribute to an object. */ @@ -25081,22 +25929,22 @@ export type SendConfirmationEmailError = { /** The error code. */ code: SendConfirmationEmailErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type SendConfirmationEmailErrorCode = - | "ACCOUNT_CONFIRMED" - | "CONFIRMATION_ALREADY_REQUESTED" - | "INVALID" - | "MISSING_CHANNEL_SLUG"; + | 'ACCOUNT_CONFIRMED' + | 'CONFIRMATION_ALREADY_REQUESTED' + | 'INVALID' + | 'MISSING_CHANNEL_SLUG'; export type SeoInput = { /** SEO description. */ - description?: InputMaybe; + description?: InputMaybe; /** SEO title. */ - title?: InputMaybe; + title?: InputMaybe; }; /** Sets the user's password from the token sent by email using the RequestPasswordReset mutation. */ @@ -25104,45 +25952,45 @@ export type SetPassword = { /** @deprecated Use `errors` field instead. */ accountErrors: Array; /** CSRF token required to re-generate access token. */ - csrfToken: Maybe; + csrfToken: Maybe; errors: Array; /** JWT refresh token, required to re-generate access token. */ - refreshToken: Maybe; + refreshToken: Maybe; /** JWT token, required to authenticate. */ - token: Maybe; + token: Maybe; /** A user instance. */ user: Maybe; }; export type ShippingError = { /** List of channels IDs which causes the error. */ - channels: Maybe>; + channels: Maybe>; /** The error code. */ code: ShippingErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of warehouse IDs which causes the error. */ - warehouses: Maybe>; + warehouses: Maybe>; }; export type ShippingErrorCode = - | "ALREADY_EXISTS" - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "MAX_LESS_THAN_MIN" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'MAX_LESS_THAN_MIN' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; /** List shipping methods for checkout. */ export type ShippingListMethodsForCheckout = Event & { /** The checkout the event relates to. */ checkout: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25150,101 +25998,99 @@ export type ShippingListMethodsForCheckout = Event & { /** Shipping methods that can be used with this checkout. */ shippingMethods: Maybe>; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Shipping methods that can be used as means of shipping for orders and checkouts. */ -export type ShippingMethod = Node & - ObjectWithMetadata & { - /** Describes if this shipping method is active and can be selected. */ - active: Scalars["Boolean"]["output"]; - /** - * Shipping method description. - * - * Rich text format. For reference see https://editorjs.io/ - */ - description: Maybe; - /** Unique ID of ShippingMethod available for Order. */ - id: Scalars["ID"]["output"]; - /** Maximum delivery days for this shipping method. */ - maximumDeliveryDays: Maybe; - /** - * Maximum order price for this shipping method. - * @deprecated No longer supported - */ - maximumOrderPrice: Maybe; - /** - * Maximum order weight for this shipping method. - * @deprecated No longer supported - */ - maximumOrderWeight: Maybe; - /** Message connected to this shipping method. */ - message: Maybe; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Minimum delivery days for this shipping method. */ - minimumDeliveryDays: Maybe; - /** - * Minimal order price for this shipping method. - * @deprecated No longer supported - */ - minimumOrderPrice: Maybe; - /** - * Minimum order weight for this shipping method. - * @deprecated No longer supported - */ - minimumOrderWeight: Maybe; - /** Shipping method name. */ - name: Scalars["String"]["output"]; - /** The price of selected shipping method. */ - price: Money; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Returns translated shipping method fields for the given language code. */ - translation: Maybe; - /** - * Type of the shipping method. - * @deprecated No longer supported - */ - type: Maybe; - }; +export type ShippingMethod = Node & ObjectWithMetadata & { + /** Describes if this shipping method is active and can be selected. */ + active: Scalars['Boolean']['output']; + /** + * Shipping method description. + * + * Rich text format. For reference see https://editorjs.io/ + */ + description: Maybe; + /** Unique ID of ShippingMethod available for Order. */ + id: Scalars['ID']['output']; + /** Maximum delivery days for this shipping method. */ + maximumDeliveryDays: Maybe; + /** Maximum order price for this shipping method. */ + maximumOrderPrice: Maybe; + /** + * Maximum order weight for this shipping method. + * @deprecated No longer supported + */ + maximumOrderWeight: Maybe; + /** Message connected to this shipping method. */ + message: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Minimum delivery days for this shipping method. */ + minimumDeliveryDays: Maybe; + /** Minimal order price for this shipping method. */ + minimumOrderPrice: Maybe; + /** + * Minimum order weight for this shipping method. + * @deprecated No longer supported + */ + minimumOrderWeight: Maybe; + /** Shipping method name. */ + name: Scalars['String']['output']; + /** The price of selected shipping method. */ + price: Money; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Returns translated shipping method fields for the given language code. */ + translation: Maybe; + /** + * Type of the shipping method. + * @deprecated No longer supported + */ + type: Maybe; +}; + /** Shipping methods that can be used as means of shipping for orders and checkouts. */ export type ShippingMethodMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Shipping methods that can be used as means of shipping for orders and checkouts. */ export type ShippingMethodMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Shipping methods that can be used as means of shipping for orders and checkouts. */ export type ShippingMethodPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Shipping methods that can be used as means of shipping for orders and checkouts. */ export type ShippingMethodPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Shipping methods that can be used as means of shipping for orders and checkouts. */ export type ShippingMethodTranslationArgs = { languageCode: LanguageCodeEnum; @@ -25255,7 +26101,7 @@ export type ShippingMethodChannelListing = Node & { /** The channel associated with the shipping method channel listing. */ channel: Channel; /** The ID of shipping method channel listing. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Maximum order price. */ maximumOrderPrice: Maybe; /** Minimum order price. */ @@ -25266,20 +26112,20 @@ export type ShippingMethodChannelListing = Node & { export type ShippingMethodChannelListingAddInput = { /** ID of a channel. */ - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; /** Maximum order price to use this shipping method. */ - maximumOrderPrice?: InputMaybe; + maximumOrderPrice?: InputMaybe; /** Minimum order price to use this shipping method. */ - minimumOrderPrice?: InputMaybe; + minimumOrderPrice?: InputMaybe; /** Shipping price of the shipping method in this channel. */ - price?: InputMaybe; + price?: InputMaybe; }; export type ShippingMethodChannelListingInput = { /** List of channels to which the shipping method should be assigned. */ addChannels?: InputMaybe>; /** List of channels from which the shipping method should be unassigned. */ - removeChannels?: InputMaybe>; + removeChannels?: InputMaybe>; }; /** @@ -25298,168 +26144,176 @@ export type ShippingMethodChannelListingUpdate = { /** Represents shipping method postal code rule. */ export type ShippingMethodPostalCodeRule = Node & { /** End address range. */ - end: Maybe; + end: Maybe; /** The ID of the object. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Inclusion type of the postal code rule. */ inclusionType: Maybe; /** Start address range. */ - start: Maybe; + start: Maybe; }; /** Represents shipping method's original translatable fields and related translations. */ export type ShippingMethodTranslatableContent = Node & { /** - * Shipping method description to translate. + * Shipping method description to translate. + * + * Rich text format. For reference see https://editorjs.io/ + */ + description: Maybe; + /** The ID of the shipping method translatable content. */ + id: Scalars['ID']['output']; + /** Shipping method name to translate. */ + name: Scalars['String']['output']; + /** + * Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. + * + * Requires one of the following permissions: MANAGE_SHIPPING. + * @deprecated Get model fields from the root level queries. + */ + shippingMethod: Maybe; + /** The ID of the shipping method to translate. */ + shippingMethodId: Scalars['ID']['output']; + /** Returns translated shipping method fields for the given language code. */ + translation: Maybe; +}; + + +/** Represents shipping method's original translatable fields and related translations. */ +export type ShippingMethodTranslatableContentTranslationArgs = { + languageCode: LanguageCodeEnum; +}; + +/** Represents shipping method translations. */ +export type ShippingMethodTranslation = Node & { + /** + * Translated description of the shipping method. + * + * Rich text format. For reference see https://editorjs.io/ + */ + description: Maybe; + /** The ID of the shipping method translation. */ + id: Scalars['ID']['output']; + /** Translation language. */ + language: LanguageDisplay; + /** Translated shipping method name. */ + name: Maybe; + /** Represents the shipping method fields to translate. */ + translatableContent: Maybe; +}; + +/** Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. */ +export type ShippingMethodType = Node & ObjectWithMetadata & { + /** + * List of channels available for the method. + * + * Requires one of the following permissions: MANAGE_SHIPPING. + */ + channelListings: Maybe>; + /** + * Shipping method description. + * + * Rich text format. For reference see https://editorjs.io/ + */ + description: Maybe; + /** + * List of excluded products for the shipping method. + * + * Requires one of the following permissions: MANAGE_SHIPPING. + */ + excludedProducts: Maybe; + /** Shipping method ID. */ + id: Scalars['ID']['output']; + /** Maximum number of days for delivery. */ + maximumDeliveryDays: Maybe; + /** The price of the cheapest variant (including discounts). */ + maximumOrderPrice: Maybe; + /** Maximum order weight to use this shipping method. */ + maximumOrderWeight: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Minimal number of days for delivery. */ + minimumDeliveryDays: Maybe; + /** The price of the cheapest variant (including discounts). */ + minimumOrderPrice: Maybe; + /** Minimum order weight to use this shipping method. */ + minimumOrderWeight: Maybe; + /** Shipping method name. */ + name: Scalars['String']['output']; + /** Postal code ranges rule of exclusion or inclusion of the shipping method. */ + postalCodeRules: Maybe>; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. * - * Rich text format. For reference see https://editorjs.io/ + * Tip: Use GraphQL aliases to fetch multiple keys. */ - description: Maybe; - /** The ID of the shipping method translatable content. */ - id: Scalars["ID"]["output"]; - /** Shipping method name to translate. */ - name: Scalars["String"]["output"]; + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; /** - * Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. + * Tax class assigned to this shipping method. * - * Requires one of the following permissions: MANAGE_SHIPPING. - * @deprecated Get model fields from the root level queries. + * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. */ - shippingMethod: Maybe; - /** The ID of the shipping method to translate. */ - shippingMethodId: Scalars["ID"]["output"]; + taxClass: Maybe; /** Returns translated shipping method fields for the given language code. */ translation: Maybe; + /** Type of the shipping method. */ + type: Maybe; }; -/** Represents shipping method's original translatable fields and related translations. */ -export type ShippingMethodTranslatableContentTranslationArgs = { - languageCode: LanguageCodeEnum; -}; - -/** Represents shipping method translations. */ -export type ShippingMethodTranslation = Node & { - /** - * Translated description of the shipping method. - * - * Rich text format. For reference see https://editorjs.io/ - */ - description: Maybe; - /** The ID of the shipping method translation. */ - id: Scalars["ID"]["output"]; - /** Translation language. */ - language: LanguageDisplay; - /** Translated shipping method name. */ - name: Maybe; - /** Represents the shipping method fields to translate. */ - translatableContent: Maybe; -}; - -/** Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. */ -export type ShippingMethodType = Node & - ObjectWithMetadata & { - /** - * List of channels available for the method. - * - * Requires one of the following permissions: MANAGE_SHIPPING. - */ - channelListings: Maybe>; - /** - * Shipping method description. - * - * Rich text format. For reference see https://editorjs.io/ - */ - description: Maybe; - /** - * List of excluded products for the shipping method. - * - * Requires one of the following permissions: MANAGE_SHIPPING. - */ - excludedProducts: Maybe; - /** Shipping method ID. */ - id: Scalars["ID"]["output"]; - /** Maximum number of days for delivery. */ - maximumDeliveryDays: Maybe; - /** The price of the cheapest variant (including discounts). */ - maximumOrderPrice: Maybe; - /** Maximum order weight to use this shipping method. */ - maximumOrderWeight: Maybe; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Minimal number of days for delivery. */ - minimumDeliveryDays: Maybe; - /** The price of the cheapest variant (including discounts). */ - minimumOrderPrice: Maybe; - /** Minimum order weight to use this shipping method. */ - minimumOrderWeight: Maybe; - /** Shipping method name. */ - name: Scalars["String"]["output"]; - /** Postal code ranges rule of exclusion or inclusion of the shipping method. */ - postalCodeRules: Maybe>; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** - * Tax class assigned to this shipping method. - * - * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. - */ - taxClass: Maybe; - /** Returns translated shipping method fields for the given language code. */ - translation: Maybe; - /** Type of the shipping method. */ - type: Maybe; - }; /** Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. */ export type ShippingMethodTypeExcludedProductsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. */ export type ShippingMethodTypeMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. */ export type ShippingMethodTypeMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. */ export type ShippingMethodTypePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. */ export type ShippingMethodTypePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Shipping method are the methods you'll use to get customer's orders to them. They are directly exposed to the customers. */ export type ShippingMethodTypeTranslationArgs = { languageCode: LanguageCodeEnum; }; -export type ShippingMethodTypeEnum = "PRICE" | "WEIGHT"; +export type ShippingMethodTypeEnum = + | 'PRICE' + | 'WEIGHT'; /** List of shipping methods available for the country. */ export type ShippingMethodsPerCountry = { @@ -25471,9 +26325,9 @@ export type ShippingMethodsPerCountry = { export type ShippingPostalCodeRulesCreateInputRange = { /** End range of the postal code. */ - end?: InputMaybe; + end?: InputMaybe; /** Start range of the postal code. */ - start: Scalars["String"]["input"]; + start: Scalars['String']['input']; }; /** @@ -25483,7 +26337,7 @@ export type ShippingPostalCodeRulesCreateInputRange = { */ export type ShippingPriceBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ shippingErrors: Array; @@ -25506,7 +26360,7 @@ export type ShippingPriceCreate = { /** Event sent when new shipping price is created. */ export type ShippingPriceCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25516,17 +26370,19 @@ export type ShippingPriceCreated = Event & { /** The shipping zone the shipping method belongs to. */ shippingZone: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when new shipping price is created. */ export type ShippingPriceCreatedShippingMethodArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; + /** Event sent when new shipping price is created. */ export type ShippingPriceCreatedShippingZoneArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -25547,7 +26403,7 @@ export type ShippingPriceDelete = { /** Event sent when shipping price is deleted. */ export type ShippingPriceDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25557,17 +26413,19 @@ export type ShippingPriceDeleted = Event & { /** The shipping zone the shipping method belongs to. */ shippingZone: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when shipping price is deleted. */ export type ShippingPriceDeletedShippingMethodArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; + /** Event sent when shipping price is deleted. */ export type ShippingPriceDeletedShippingZoneArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -25585,34 +26443,32 @@ export type ShippingPriceExcludeProducts = { export type ShippingPriceExcludeProductsInput = { /** List of products which will be excluded. */ - products: Array; + products: Array; }; export type ShippingPriceInput = { /** Postal code rules to add. */ - addPostalCodeRules?: InputMaybe< - Array - >; + addPostalCodeRules?: InputMaybe>; /** Postal code rules to delete. */ - deletePostalCodeRules?: InputMaybe>; + deletePostalCodeRules?: InputMaybe>; /** Shipping method description. */ - description?: InputMaybe; + description?: InputMaybe; /** Inclusion type for currently assigned postal code rules. */ inclusionType?: InputMaybe; /** Maximum number of days for delivery. */ - maximumDeliveryDays?: InputMaybe; + maximumDeliveryDays?: InputMaybe; /** Maximum order weight to use this shipping method. */ - maximumOrderWeight?: InputMaybe; + maximumOrderWeight?: InputMaybe; /** Minimal number of days for delivery. */ - minimumDeliveryDays?: InputMaybe; + minimumDeliveryDays?: InputMaybe; /** Minimum order weight to use this shipping method. */ - minimumOrderWeight?: InputMaybe; + minimumOrderWeight?: InputMaybe; /** Name of the shipping method. */ - name?: InputMaybe; + name?: InputMaybe; /** Shipping zone this method belongs to. */ - shippingZone?: InputMaybe; + shippingZone?: InputMaybe; /** ID of a tax class to assign to this shipping method. If not provided, the default tax class will be used. */ - taxClass?: InputMaybe; + taxClass?: InputMaybe; /** Shipping type: price or weight based. */ type?: InputMaybe; }; @@ -25648,8 +26504,8 @@ export type ShippingPriceTranslationInput = { * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; - name?: InputMaybe; + description?: InputMaybe; + name?: InputMaybe; }; /** @@ -25669,7 +26525,7 @@ export type ShippingPriceUpdate = { /** Event sent when shipping price is updated. */ export type ShippingPriceUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25679,80 +26535,85 @@ export type ShippingPriceUpdated = Event & { /** The shipping zone the shipping method belongs to. */ shippingZone: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when shipping price is updated. */ export type ShippingPriceUpdatedShippingMethodArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; + /** Event sent when shipping price is updated. */ export type ShippingPriceUpdatedShippingZoneArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** Represents a shipping zone in the shop. Zones are the concept used only for grouping shipping methods in the dashboard, and are never exposed to the customers directly. */ -export type ShippingZone = Node & - ObjectWithMetadata & { - /** List of channels for shipping zone. */ - channels: Array; - /** List of countries available for the method. */ - countries: Array; - /** Indicates if the shipping zone is default one. */ - default: Scalars["Boolean"]["output"]; - /** Description of a shipping zone. */ - description: Maybe; - /** The ID of shipping zone. */ - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Shipping zone name. */ - name: Scalars["String"]["output"]; - /** Lowest and highest prices for the shipping. */ - priceRange: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** List of shipping methods available for orders shipped to countries within this shipping zone. */ - shippingMethods: Maybe>; - /** List of warehouses for shipping zone. */ - warehouses: Array; - }; +export type ShippingZone = Node & ObjectWithMetadata & { + /** List of channels for shipping zone. */ + channels: Array; + /** List of countries available for the method. */ + countries: Array; + /** Indicates if the shipping zone is default one. */ + default: Scalars['Boolean']['output']; + /** Description of a shipping zone. */ + description: Maybe; + /** The ID of shipping zone. */ + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Shipping zone name. */ + name: Scalars['String']['output']; + /** Lowest and highest prices for the shipping. */ + priceRange: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** List of shipping methods available for orders shipped to countries within this shipping zone. */ + shippingMethods: Maybe>; + /** List of warehouses for shipping zone. */ + warehouses: Array; +}; + /** Represents a shipping zone in the shop. Zones are the concept used only for grouping shipping methods in the dashboard, and are never exposed to the customers directly. */ export type ShippingZoneMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a shipping zone in the shop. Zones are the concept used only for grouping shipping methods in the dashboard, and are never exposed to the customers directly. */ export type ShippingZoneMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a shipping zone in the shop. Zones are the concept used only for grouping shipping methods in the dashboard, and are never exposed to the customers directly. */ export type ShippingZonePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a shipping zone in the shop. Zones are the concept used only for grouping shipping methods in the dashboard, and are never exposed to the customers directly. */ export type ShippingZonePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** @@ -25762,7 +26623,7 @@ export type ShippingZonePrivateMetafieldsArgs = { */ export type ShippingZoneBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ shippingErrors: Array; @@ -25773,12 +26634,12 @@ export type ShippingZoneCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type ShippingZoneCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: ShippingZone; }; @@ -25797,23 +26658,23 @@ export type ShippingZoneCreate = { export type ShippingZoneCreateInput = { /** List of channels to assign to the shipping zone. */ - addChannels?: InputMaybe>; + addChannels?: InputMaybe>; /** List of warehouses to assign to a shipping zone */ - addWarehouses?: InputMaybe>; + addWarehouses?: InputMaybe>; /** List of countries in this shipping zone. */ - countries?: InputMaybe>; + countries?: InputMaybe>; /** Default shipping zone will be used for countries not covered by other zones. */ - default?: InputMaybe; + default?: InputMaybe; /** Description of the shipping zone. */ - description?: InputMaybe; + description?: InputMaybe; /** Shipping zone's name. Visible only to the staff. */ - name?: InputMaybe; + name?: InputMaybe; }; /** Event sent when new shipping zone is created. */ export type ShippingZoneCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25821,12 +26682,13 @@ export type ShippingZoneCreated = Event & { /** The shipping zone the event relates to. */ shippingZone: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when new shipping zone is created. */ export type ShippingZoneCreatedShippingZoneArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -25844,7 +26706,7 @@ export type ShippingZoneDelete = { /** Event sent when shipping zone is deleted. */ export type ShippingZoneDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25852,23 +26714,24 @@ export type ShippingZoneDeleted = Event & { /** The shipping zone the event relates to. */ shippingZone: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when shipping zone is deleted. */ export type ShippingZoneDeletedShippingZoneArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; export type ShippingZoneFilterInput = { - channels?: InputMaybe>; - search?: InputMaybe; + channels?: InputMaybe>; + search?: InputMaybe; }; /** Event sent when shipping zone metadata is updated. */ export type ShippingZoneMetadataUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25876,12 +26739,13 @@ export type ShippingZoneMetadataUpdated = Event & { /** The shipping zone the event relates to. */ shippingZone: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when shipping zone metadata is updated. */ export type ShippingZoneMetadataUpdatedShippingZoneArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -25898,27 +26762,27 @@ export type ShippingZoneUpdate = { export type ShippingZoneUpdateInput = { /** List of channels to assign to the shipping zone. */ - addChannels?: InputMaybe>; + addChannels?: InputMaybe>; /** List of warehouses to assign to a shipping zone */ - addWarehouses?: InputMaybe>; + addWarehouses?: InputMaybe>; /** List of countries in this shipping zone. */ - countries?: InputMaybe>; + countries?: InputMaybe>; /** Default shipping zone will be used for countries not covered by other zones. */ - default?: InputMaybe; + default?: InputMaybe; /** Description of the shipping zone. */ - description?: InputMaybe; + description?: InputMaybe; /** Shipping zone's name. Visible only to the staff. */ - name?: InputMaybe; + name?: InputMaybe; /** List of channels to unassign from the shipping zone. */ - removeChannels?: InputMaybe>; + removeChannels?: InputMaybe>; /** List of warehouses to unassign from a shipping zone */ - removeWarehouses?: InputMaybe>; + removeWarehouses?: InputMaybe>; }; /** Event sent when shipping zone is updated. */ export type ShippingZoneUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -25926,12 +26790,13 @@ export type ShippingZoneUpdated = Event & { /** The shipping zone the event relates to. */ shippingZone: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; + /** Event sent when shipping zone is updated. */ export type ShippingZoneUpdatedShippingZoneArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** Represents a shop resource containing general shop data and configuration. */ @@ -25941,7 +26806,13 @@ export type Shop = ObjectWithMetadata & { * * Requires one of the following permissions: MANAGE_SETTINGS. */ - allowLoginWithoutConfirmation: Maybe; + allowLoginWithoutConfirmation: Maybe; + /** + * Enable automatic fulfillment for all digital products. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + automaticFulfillmentDigitalProducts: Maybe; /** List of available external authentications. */ availableExternalAuthentications: Array; /** List of available payment gateways. */ @@ -25961,41 +26832,53 @@ export type Shop = ObjectWithMetadata & { * * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. */ - channelCurrencies: Array; + channelCurrencies: Array; /** * Charge taxes on shipping. * @deprecated Use `ShippingMethodType.taxClass` to determine whether taxes are calculated for shipping methods; if a tax class is set, the taxes will be calculated, otherwise no tax rate will be applied. */ - chargeTaxesOnShipping: Scalars["Boolean"]["output"]; + chargeTaxesOnShipping: Scalars['Boolean']['output']; /** Company address. */ companyAddress: Maybe
; /** List of countries available in the shop. */ countries: Array; /** URL of a view where customers can set their password. */ - customerSetPasswordUrl: Maybe; + customerSetPasswordUrl: Maybe; /** Shop's default country. */ defaultCountry: Maybe; + /** + * Default number of max downloads per digital content URL. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + defaultDigitalMaxDownloads: Maybe; + /** + * Default number of days which digital content URL will be valid. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + defaultDigitalUrlValidDays: Maybe; /** * Default shop's email sender's address. * * Requires one of the following permissions: MANAGE_SETTINGS. */ - defaultMailSenderAddress: Maybe; + defaultMailSenderAddress: Maybe; /** * Default shop's email sender's name. * * Requires one of the following permissions: MANAGE_SETTINGS. */ - defaultMailSenderName: Maybe; + defaultMailSenderName: Maybe; /** Default weight unit. */ defaultWeightUnit: Maybe; /** Shop's description. */ - description: Maybe; + description: Maybe; /** * Display prices with tax in store. * @deprecated Use `Channel.taxConfiguration` to determine whether to display gross or net prices. */ - displayGrossPrices: Scalars["Boolean"]["output"]; + displayGrossPrices: Scalars['Boolean']['output']; /** Shop's domain data. */ domain: Domain; /** @@ -26003,20 +26886,20 @@ export type Shop = ObjectWithMetadata & { * * Requires one of the following permissions: MANAGE_SETTINGS. */ - enableAccountConfirmationByEmail: Maybe; + enableAccountConfirmationByEmail: Maybe; /** Allow to approve fulfillments which are unpaid. */ - fulfillmentAllowUnpaid: Scalars["Boolean"]["output"]; + fulfillmentAllowUnpaid: Scalars['Boolean']['output']; /** Automatically approve all new fulfillments. */ - fulfillmentAutoApprove: Scalars["Boolean"]["output"]; + fulfillmentAutoApprove: Scalars['Boolean']['output']; /** Header text. */ - headerText: Maybe; + headerText: Maybe; /** ID of the shop. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** * Include taxes in prices. * @deprecated Use `Channel.taxConfiguration.pricesEnteredWithTax` to determine whether prices are entered with tax. */ - includeTaxesInPrices: Scalars["Boolean"]["output"]; + includeTaxesInPrices: Scalars['Boolean']['output']; /** List of the shops's supported languages. */ languages: Array; /** @@ -26024,7 +26907,7 @@ export type Shop = ObjectWithMetadata & { * * Requires one of the following permissions: MANAGE_SETTINGS. */ - limitQuantityPerCheckout: Maybe; + limitQuantityPerCheckout: Maybe; /** * Resource limitations and current usage if any set for a shop * @@ -26039,21 +26922,15 @@ export type Shop = ObjectWithMetadata & { * * Tip: Use GraphQL aliases to fetch multiple keys. */ - metafield: Maybe; + metafield: Maybe; /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; + metafields: Maybe; /** Shop's name. */ - name: Scalars["String"]["output"]; - /** - * Controls whether password-based authentication is allowed. - * - * Added in Saleor 3.23. - */ - passwordLoginMode: PasswordLoginModeEnum; + name: Scalars['String']['output']; /** List of available permissions. */ permissions: Array; /** List of possible phone prefixes. */ - phonePrefixes: Array; + phonePrefixes: Array; /** * When enabled, address fields that are not valid for a given country (according to Google's i18n address data) will be preserved instead of being removed during validation. Validation errors are still returned. * @@ -26061,7 +26938,7 @@ export type Shop = ObjectWithMetadata & { * * Requires one of the following permissions: MANAGE_SETTINGS. */ - preserveAllAddressFields: Scalars["Boolean"]["output"]; + preserveAllAddressFields: Scalars['Boolean']['output']; /** List of private metadata items. Requires staff permissions to access. */ privateMetadata: Array; /** @@ -26069,23 +26946,23 @@ export type Shop = ObjectWithMetadata & { * * Tip: Use GraphQL aliases to fetch multiple keys. */ - privateMetafield: Maybe; + privateMetafield: Maybe; /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; + privateMetafields: Maybe; /** * Default number of minutes stock will be reserved for anonymous checkout or null when stock reservation is disabled. * * Requires one of the following permissions: MANAGE_SETTINGS. */ - reserveStockDurationAnonymousUser: Maybe; + reserveStockDurationAnonymousUser: Maybe; /** * Default number of minutes stock will be reserved for authenticated checkout or null when stock reservation is disabled. * * Requires one of the following permissions: MANAGE_SETTINGS. */ - reserveStockDurationAuthenticatedUser: Maybe; + reserveStockDurationAuthenticatedUser: Maybe; /** Minor Saleor API version. */ - schemaVersion: Scalars["String"]["output"]; + schemaVersion: Scalars['String']['output']; /** * List of staff notification recipients. * @@ -26093,68 +26970,70 @@ export type Shop = ObjectWithMetadata & { */ staffNotificationRecipients: Maybe>; /** This field is used as a default value for `ProductVariant.trackInventory`. */ - trackInventoryByDefault: Maybe; + trackInventoryByDefault: Maybe; /** Returns translated shop fields for the given language code. */ translation: Maybe; - /** - * When enabled, stock availability is filtered by shipping zones and the destination address (legacy behavior). When disabled, stock availability is determined only by the direct warehouse-channel link, ignoring shipping zones. - * - * Added in Saleor 3.23. - */ - useLegacyShippingZoneStockAvailability: Scalars["Boolean"]["output"]; /** * Use legacy update webhook emission. When enabled, update webhooks (e.g. `customerUpdated`,`productVariantUpdated`) are sent even when only metadata changes. When disabled, update webhooks are not sent for metadata-only changes; only metadata-specific webhooks (e.g., `customerMetadataUpdated`, `productVariantMetadataUpdated`) are sent. * * Added in Saleor 3.22. * @deprecated No longer supported */ - useLegacyUpdateWebhookEmission: Maybe; + useLegacyUpdateWebhookEmission: Maybe; /** * Saleor API version. * * Requires one of the following permissions: AUTHENTICATED_STAFF_USER, AUTHENTICATED_APP. */ - version: Scalars["String"]["output"]; + version: Scalars['String']['output']; }; + /** Represents a shop resource containing general shop data and configuration. */ export type ShopAvailablePaymentGatewaysArgs = { - channel?: InputMaybe; - currency?: InputMaybe; + channel?: InputMaybe; + currency?: InputMaybe; }; + /** Represents a shop resource containing general shop data and configuration. */ export type ShopAvailableShippingMethodsArgs = { address?: InputMaybe; - channel: Scalars["String"]["input"]; + channel: Scalars['String']['input']; }; + /** Represents a shop resource containing general shop data and configuration. */ export type ShopCountriesArgs = { filter?: InputMaybe; languageCode?: InputMaybe; }; + /** Represents a shop resource containing general shop data and configuration. */ export type ShopMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a shop resource containing general shop data and configuration. */ export type ShopMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a shop resource containing general shop data and configuration. */ export type ShopPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a shop resource containing general shop data and configuration. */ export type ShopPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a shop resource containing general shop data and configuration. */ export type ShopTranslationArgs = { languageCode: LanguageCodeEnum; @@ -26190,20 +27069,19 @@ export type ShopError = { /** The error code. */ code: ShopErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type ShopErrorCode = - | "ALREADY_EXISTS" - | "CANNOT_FETCH_TAX_RATES" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "PASSWORD_AUTH_RESTRICTION" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'CANNOT_FETCH_TAX_RATES' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; /** * Fetch tax rates. @@ -26221,7 +27099,7 @@ export type ShopFetchTaxRates = { /** Event sent when shop metadata is updated. */ export type ShopMetadataUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -26229,68 +27107,68 @@ export type ShopMetadataUpdated = Event & { /** Shop data. */ shop: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type ShopSettingsInput = { /** Enable possibility to login without account confirmation. */ - allowLoginWithoutConfirmation?: InputMaybe; + allowLoginWithoutConfirmation?: InputMaybe; + /** Enable automatic fulfillment for all digital products. */ + automaticFulfillmentDigitalProducts?: InputMaybe; /** * Charge taxes on shipping. * * DEPRECATED: this field will be removed. To enable taxes for a shipping method, assign a tax class to the shipping method with `shippingPriceCreate` or `shippingPriceUpdate` mutations. */ - chargeTaxesOnShipping?: InputMaybe; + chargeTaxesOnShipping?: InputMaybe; /** URL of a view where customers can set their password. */ - customerSetPasswordUrl?: InputMaybe; + customerSetPasswordUrl?: InputMaybe; + /** Default number of max downloads per digital content URL. */ + defaultDigitalMaxDownloads?: InputMaybe; + /** Default number of days which digital content URL will be valid. */ + defaultDigitalUrlValidDays?: InputMaybe; /** Default email sender's address. */ - defaultMailSenderAddress?: InputMaybe; + defaultMailSenderAddress?: InputMaybe; /** Default email sender's name. */ - defaultMailSenderName?: InputMaybe; + defaultMailSenderName?: InputMaybe; /** Default weight unit. */ defaultWeightUnit?: InputMaybe; /** SEO description. */ - description?: InputMaybe; + description?: InputMaybe; /** * Display prices with tax in store. * * DEPRECATED: this field will be removed. Use `taxConfigurationUpdate` mutation to configure this setting per channel or country. */ - displayGrossPrices?: InputMaybe; + displayGrossPrices?: InputMaybe; /** Enable automatic account confirmation by email. */ - enableAccountConfirmationByEmail?: InputMaybe; + enableAccountConfirmationByEmail?: InputMaybe; /** Enable ability to approve fulfillments which are unpaid. */ - fulfillmentAllowUnpaid?: InputMaybe; + fulfillmentAllowUnpaid?: InputMaybe; /** Enable automatic approval of all new fulfillments. */ - fulfillmentAutoApprove?: InputMaybe; + fulfillmentAutoApprove?: InputMaybe; /** Header text. */ - headerText?: InputMaybe; + headerText?: InputMaybe; /** * Include taxes in prices. * * DEPRECATED: this field will be removed. Use `taxConfigurationUpdate` mutation to configure this setting per channel or country. */ - includeTaxesInPrices?: InputMaybe; + includeTaxesInPrices?: InputMaybe; /** Default number of maximum line quantity in single checkout. Minimum possible value is 1, default value is 50. */ - limitQuantityPerCheckout?: InputMaybe; + limitQuantityPerCheckout?: InputMaybe; /** * Shop public metadata. Can be read by any API client authorized to read the object it's attached to. * * Warning: never store sensitive information, including financial data such as credit card details. */ metadata?: InputMaybe>; - /** - * Controls whether password-based authentication is allowed. - * - * Added in Saleor 3.23. - */ - passwordLoginMode?: InputMaybe; /** * When enabled, address fields that are not valid for a given country (according to Google's i18n address data) will be preserved instead of being removed during validation. Validation errors are still returned. * * Added in Saleor 3.22. */ - preserveAllAddressFields?: InputMaybe; + preserveAllAddressFields?: InputMaybe; /** * Shop private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -26298,19 +27176,11 @@ export type ShopSettingsInput = { */ privateMetadata?: InputMaybe>; /** Default number of minutes stock will be reserved for anonymous checkout. Enter 0 or null to disable. */ - reserveStockDurationAnonymousUser?: InputMaybe; + reserveStockDurationAnonymousUser?: InputMaybe; /** Default number of minutes stock will be reserved for authenticated checkout. Enter 0 or null to disable. */ - reserveStockDurationAuthenticatedUser?: InputMaybe; + reserveStockDurationAuthenticatedUser?: InputMaybe; /** This field is used as a default value for `ProductVariant.trackInventory`. */ - trackInventoryByDefault?: InputMaybe; - /** - * When enabled, stock availability is filtered by shipping zones and the destination address (legacy behavior). When disabled, stock availability is determined only by the direct warehouse-channel link, ignoring shipping zones. - * - * Added in Saleor 3.23. - */ - useLegacyShippingZoneStockAvailability?: InputMaybe< - Scalars["Boolean"]["input"] - >; + trackInventoryByDefault?: InputMaybe; /** * Use legacy update webhook emission. When enabled, update webhooks (e.g. `customerUpdated`,`productVariantUpdated`) are sent even when only metadata changes. When disabled, update webhooks are not sent for metadata-only changes; only metadata-specific webhooks (e.g., `customerMetadataUpdated`, `productVariantMetadataUpdated`) are sent. * @@ -26318,7 +27188,7 @@ export type ShopSettingsInput = { * * DEPRECATED: this field will be removed. */ - useLegacyUpdateWebhookEmission?: InputMaybe; + useLegacyUpdateWebhookEmission?: InputMaybe; }; /** @@ -26335,8 +27205,8 @@ export type ShopSettingsTranslate = { }; export type ShopSettingsTranslationInput = { - description?: InputMaybe; - headerText?: InputMaybe; + description?: InputMaybe; + headerText?: InputMaybe; }; /** @@ -26358,20 +27228,20 @@ export type ShopSettingsUpdate = { /** Represents shop translations. */ export type ShopTranslation = Node & { /** Translated description of sale. */ - description: Scalars["String"]["output"]; + description: Scalars['String']['output']; /** Translated header text of sale. */ - headerText: Scalars["String"]["output"]; + headerText: Scalars['String']['output']; /** The ID of the shop translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; }; export type SiteDomainInput = { /** Domain name for shop. */ - domain?: InputMaybe; + domain?: InputMaybe; /** Shop site name. */ - name?: InputMaybe; + name?: InputMaybe; }; /** @@ -26384,7 +27254,7 @@ export type SiteDomainInput = { */ export type StaffBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** @deprecated Use `errors` field instead. */ staffErrors: Array; @@ -26410,15 +27280,15 @@ export type StaffCreate = { /** Fields required to create a staff user. */ export type StaffCreateInput = { /** List of permission group IDs to which user should be assigned. */ - addGroups?: InputMaybe>; + addGroups?: InputMaybe>; /** The unique email address of the user. */ - email?: InputMaybe; + email?: InputMaybe; /** Given name. */ - firstName?: InputMaybe; + firstName?: InputMaybe; /** User account is active. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** Family name. */ - lastName?: InputMaybe; + lastName?: InputMaybe; /** * Fields required to update the user metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -26426,7 +27296,7 @@ export type StaffCreateInput = { */ metadata?: InputMaybe>; /** A note about the user. */ - note?: InputMaybe; + note?: InputMaybe; /** * Fields required to update the user private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -26434,13 +27304,13 @@ export type StaffCreateInput = { */ privateMetadata?: InputMaybe>; /** URL of a view where users should be redirected to set the password. URL in RFC 1808 format. */ - redirectUrl?: InputMaybe; + redirectUrl?: InputMaybe; }; /** Event sent when new staff user is created. */ export type StaffCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -26448,7 +27318,7 @@ export type StaffCreated = Event & { /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -26469,7 +27339,7 @@ export type StaffDelete = { /** Event sent when staff user is deleted. */ export type StaffDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -26477,7 +27347,7 @@ export type StaffDeleted = Event & { /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type StaffError = { @@ -26486,32 +27356,32 @@ export type StaffError = { /** The error code. */ code: AccountErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** List of permission group IDs which cause the error. */ - groups: Maybe>; + groups: Maybe>; /** The error message. */ - message: Maybe; + message: Maybe; /** List of permissions which causes the error. */ permissions: Maybe>; /** List of user IDs which causes the error. */ - users: Maybe>; + users: Maybe>; }; /** Represents status of a staff account. */ export type StaffMemberStatus = /** User account has been activated. */ - | "ACTIVE" + | 'ACTIVE' /** User account has not been activated yet. */ - | "DEACTIVATED"; + | 'DEACTIVATED'; /** Represents a recipient of email notifications send by Saleor, such as notifications about new orders. Notifications can be assigned to staff users or arbitrary email addresses. */ export type StaffNotificationRecipient = Node & { /** Determines if a notification active. */ - active: Maybe; + active: Maybe; /** Returns email address of a user subscribed to email notifications. */ - email: Maybe; + email: Maybe; /** The ID of the staff notification recipient. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Returns a user subscribed to email notifications. */ user: Maybe; }; @@ -26542,11 +27412,11 @@ export type StaffNotificationRecipientDelete = { export type StaffNotificationRecipientInput = { /** Determines if a notification active. */ - active?: InputMaybe; + active?: InputMaybe; /** Email address of a user subscribed to email notifications. */ - email?: InputMaybe; + email?: InputMaybe; /** The ID of the user subscribed to email notifications.. */ - user?: InputMaybe; + user?: InputMaybe; }; /** @@ -26566,21 +27436,21 @@ export type StaffSetPasswordRequested = Event & { /** The channel data. */ channel: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** The URL to redirect the user after he accepts the request. */ - redirectUrl: Maybe; + redirectUrl: Maybe; /** Shop data. */ shop: Maybe; /** The token required to confirm request. */ - token: Maybe; + token: Maybe; /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -26601,15 +27471,15 @@ export type StaffUpdate = { /** Fields required to update a staff user. */ export type StaffUpdateInput = { /** List of permission group IDs to which user should be assigned. */ - addGroups?: InputMaybe>; + addGroups?: InputMaybe>; /** The unique email address of the user. */ - email?: InputMaybe; + email?: InputMaybe; /** Given name. */ - firstName?: InputMaybe; + firstName?: InputMaybe; /** User account is active. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** Family name. */ - lastName?: InputMaybe; + lastName?: InputMaybe; /** * Fields required to update the user metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -26617,7 +27487,7 @@ export type StaffUpdateInput = { */ metadata?: InputMaybe>; /** A note about the user. */ - note?: InputMaybe; + note?: InputMaybe; /** * Fields required to update the user private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -26625,13 +27495,13 @@ export type StaffUpdateInput = { */ privateMetadata?: InputMaybe>; /** List of permission group IDs from which user should be unassigned. */ - removeGroups?: InputMaybe>; + removeGroups?: InputMaybe>; }; /** Event sent when staff user is updated. */ export type StaffUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -26639,19 +27509,19 @@ export type StaffUpdated = Event & { /** The user the event relates to. */ user: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type StaffUserInput = { - ids?: InputMaybe>; - search?: InputMaybe; + ids?: InputMaybe>; + search?: InputMaybe; status?: InputMaybe; }; /** Represents stock. */ export type Stock = Node & { /** The ID of stock. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Information about the product variant. */ productVariant: ProductVariant; /** @@ -26659,24 +27529,26 @@ export type Stock = Node & { * * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. */ - quantity: Scalars["Int"]["output"]; + quantity: Scalars['Int']['output']; /** * Quantity allocated for orders. * * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. */ - quantityAllocated: Scalars["Int"]["output"]; + quantityAllocated: Scalars['Int']['output']; /** * Quantity reserved for checkouts. * * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. */ - quantityReserved: Scalars["Int"]["output"]; + quantityReserved: Scalars['Int']['output']; /** The warehouse associated with the stock. */ warehouse: Warehouse; }; -export type StockAvailability = "IN_STOCK" | "OUT_OF_STOCK"; +export type StockAvailability = + | 'IN_STOCK' + | 'OUT_OF_STOCK'; export type StockBulkResult = { /** List of errors occurred on create or update attempt. */ @@ -26695,7 +27567,7 @@ export type StockBulkResult = { */ export type StockBulkUpdate = { /** Returns how many objects were updated. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; /** List of the updated stocks. */ results: Array; @@ -26705,28 +27577,28 @@ export type StockBulkUpdateError = { /** The error code. */ code: StockBulkUpdateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type StockBulkUpdateErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; export type StockBulkUpdateInput = { /** Quantity of items available for sell. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** Variant external reference. */ - variantExternalReference?: InputMaybe; + variantExternalReference?: InputMaybe; /** Variant ID. */ - variantId?: InputMaybe; + variantId?: InputMaybe; /** Warehouse external reference. */ - warehouseExternalReference?: InputMaybe; + warehouseExternalReference?: InputMaybe; /** Warehouse ID. */ - warehouseId?: InputMaybe; + warehouseId?: InputMaybe; }; export type StockCountableConnection = { @@ -26734,12 +27606,12 @@ export type StockCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type StockCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Stock; }; @@ -26748,29 +27620,29 @@ export type StockError = { /** The error code. */ code: StockErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type StockErrorCode = - | "ALREADY_EXISTS" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type StockFilterInput = { - quantity?: InputMaybe; - search?: InputMaybe; + quantity?: InputMaybe; + search?: InputMaybe; }; export type StockInput = { /** Quantity of items available for sell. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** Warehouse in which stock is located. */ - warehouse: Scalars["ID"]["input"]; + warehouse: Scalars['ID']['input']; }; /** Represents the channel stock settings. */ @@ -26786,9 +27658,9 @@ export type StockSettingsInput = { export type StockUpdateInput = { /** Quantity of items available for sell. */ - quantity: Scalars["Int"]["input"]; + quantity: Scalars['Int']['input']; /** Stock. */ - stock: Scalars["ID"]["input"]; + stock: Scalars['ID']['input']; }; /** @@ -26799,34 +27671,37 @@ export type StockUpdateInput = { * FORCE - force update, if there is not enough stock. * */ -export type StockUpdatePolicyEnum = "FORCE" | "SKIP" | "UPDATE"; +export type StockUpdatePolicyEnum = + | 'FORCE' + | 'SKIP' + | 'UPDATE'; /** Enum representing the type of a payment storage in a gateway. */ export type StorePaymentMethodEnum = /** Storage is disabled. The payment is not stored. */ - | "NONE" + | 'NONE' /** Off session storage type. The payment is stored to be reused even if the customer is absent. */ - | "OFF_SESSION" + | 'OFF_SESSION' /** On session storage type. The payment is stored only to be reused when the customer is present in the checkout flow. */ - | "ON_SESSION"; + | 'ON_SESSION'; /** Represents a payment method stored for user (tokenized) in payment gateway. */ export type StoredPaymentMethod = { /** Stored credit card details if available. */ creditCardInfo: Maybe; /** JSON data returned by Payment Provider app for this payment method. */ - data: Maybe; + data: Maybe; /** Payment gateway that stores this payment method. */ gateway: PaymentGateway; /** Stored payment method ID. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Payment method name. Example: last 4 digits of credit card, obfuscated email, etc. */ - name: Maybe; + name: Maybe; /** ID of stored payment method used to make payment actions. Note: method ID is unique only within the payment gateway. */ - paymentMethodId: Scalars["String"]["output"]; + paymentMethodId: Scalars['String']['output']; supportedPaymentFlows: Maybe>; /** Type of the payment method. Example: credit card, wallet, etc. */ - type: Scalars["String"]["output"]; + type: Scalars['String']['output']; }; /** Event sent when user requests to delete a payment method. */ @@ -26834,17 +27709,17 @@ export type StoredPaymentMethodDeleteRequested = Event & { /** Channel related to the requested delete action. */ channel: Channel; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The ID of the payment method that should be deleted by the payment gateway. */ - paymentMethodId: Scalars["String"]["output"]; + paymentMethodId: Scalars['String']['output']; /** The application receiving the webhook. */ recipient: Maybe; /** The user for which the app should proceed with payment method delete request. */ user: User; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -26862,11 +27737,11 @@ export type StoredPaymentMethodRequestDelete = { }; export type StoredPaymentMethodRequestDeleteErrorCode = - | "CHANNEL_INACTIVE" - | "GATEWAY_ERROR" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'CHANNEL_INACTIVE' + | 'GATEWAY_ERROR' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; /** * Result of deleting a stored payment method. @@ -26879,16 +27754,16 @@ export type StoredPaymentMethodRequestDeleteErrorCode = * */ export type StoredPaymentMethodRequestDeleteResult = - | "FAILED_TO_DELETE" - | "FAILED_TO_DELIVER" - | "SUCCESSFULLY_DELETED"; + | 'FAILED_TO_DELETE' + | 'FAILED_TO_DELIVER' + | 'SUCCESSFULLY_DELETED'; /** Define the filtering options for string fields. */ export type StringFilterInput = { /** The value equal to. */ - eq?: InputMaybe; + eq?: InputMaybe; /** The value included in. */ - oneOf?: InputMaybe>; + oneOf?: InputMaybe>; }; export type Subscription = { @@ -27064,141 +27939,167 @@ export type Subscription = { productVariantDiscountedPriceUpdated: Maybe; }; + export type SubscriptionCheckoutCreatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionCheckoutFullyAuthorizedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionCheckoutFullyPaidArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionCheckoutMetadataUpdatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionCheckoutUpdatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionDraftOrderCreatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionDraftOrderDeletedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionDraftOrderUpdatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderBulkCreatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderCancelledArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderConfirmedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderCreatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderExpiredArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderFulfilledArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderFullyPaidArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderFullyRefundedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderMetadataUpdatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderPaidArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderRefundedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionOrderUpdatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; + export type SubscriptionProductVariantDiscountedPriceUpdatedArgs = { - channels?: InputMaybe>; + channels?: InputMaybe>; }; -export type TaxCalculationStrategy = "FLAT_RATES" | "TAX_APP"; +export type TaxCalculationStrategy = + | 'FLAT_RATES' + | 'TAX_APP'; /** Tax class is a named object used to define tax rates per country. Tax class can be assigned to product types, products and shipping methods to define their tax rates. */ -export type TaxClass = Node & - ObjectWithMetadata & { - /** Country-specific tax rates for this tax class. */ - countries: Array; - /** The ID of the object. */ - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Name of the tax class. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - }; +export type TaxClass = Node & ObjectWithMetadata & { + /** Country-specific tax rates for this tax class. */ + countries: Array; + /** The ID of the object. */ + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Name of the tax class. */ + name: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; +}; + /** Tax class is a named object used to define tax rates per country. Tax class can be assigned to product types, products and shipping methods to define their tax rates. */ export type TaxClassMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Tax class is a named object used to define tax rates per country. Tax class can be assigned to product types, products and shipping methods to define their tax rates. */ export type TaxClassMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Tax class is a named object used to define tax rates per country. Tax class can be assigned to product types, products and shipping methods to define their tax rates. */ export type TaxClassPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Tax class is a named object used to define tax rates per country. Tax class can be assigned to product types, products and shipping methods to define their tax rates. */ export type TaxClassPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; export type TaxClassCountableConnection = { @@ -27206,12 +28107,12 @@ export type TaxClassCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type TaxClassCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: TaxClass; }; @@ -27221,7 +28122,7 @@ export type TaxClassCountryRate = { /** Country in which this tax rate applies. */ country: CountryDisplay; /** Tax rate value. */ - rate: Scalars["Float"]["output"]; + rate: Scalars['Float']['output']; /** Related tax class. */ taxClass: Maybe; }; @@ -27240,20 +28141,23 @@ export type TaxClassCreateError = { /** The error code. */ code: TaxClassCreateErrorCode; /** List of country codes for which the configuration is invalid. */ - countryCodes: Array; + countryCodes: Array; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; -export type TaxClassCreateErrorCode = "GRAPHQL_ERROR" | "INVALID" | "NOT_FOUND"; +export type TaxClassCreateErrorCode = + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; export type TaxClassCreateInput = { /** List of country-specific tax rates to create for this tax class. */ createCountryRates?: InputMaybe>; /** Name of the tax class. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; }; /** @@ -27270,29 +28174,32 @@ export type TaxClassDeleteError = { /** The error code. */ code: TaxClassDeleteErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; -export type TaxClassDeleteErrorCode = "GRAPHQL_ERROR" | "INVALID" | "NOT_FOUND"; +export type TaxClassDeleteErrorCode = + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; export type TaxClassFilterInput = { countries?: InputMaybe>; - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; }; export type TaxClassRateInput = { /** Tax rate value. */ - rate?: InputMaybe; + rate?: InputMaybe; /** ID of a tax class for which to update the tax rate */ - taxClassId?: InputMaybe; + taxClassId?: InputMaybe; }; export type TaxClassSortField = /** Sort tax classes by name. */ - "NAME"; + | 'NAME'; export type TaxClassSortingInput = { /** Specifies the direction in which to sort tax classes. */ @@ -27315,22 +28222,22 @@ export type TaxClassUpdateError = { /** The error code. */ code: TaxClassUpdateErrorCode; /** List of country codes for which the configuration is invalid. */ - countryCodes: Array; + countryCodes: Array; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TaxClassUpdateErrorCode = - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; export type TaxClassUpdateInput = { /** Name of the tax class. */ - name?: InputMaybe; + name?: InputMaybe; /** List of country codes for which to remove the tax class rates. Note: It removes all rates for given country code. */ removeCountryRates?: InputMaybe>; /** List of country-specific tax rates to create or update for this tax class. */ @@ -27338,74 +28245,77 @@ export type TaxClassUpdateInput = { }; /** Channel-specific tax configuration. */ -export type TaxConfiguration = Node & - ObjectWithMetadata & { - /** A channel to which the tax configuration applies to. */ - channel: Channel; - /** Determines whether taxes are charged in the given channel. */ - chargeTaxes: Scalars["Boolean"]["output"]; - /** List of country-specific exceptions in tax configuration. */ - countries: Array; - /** Determines whether displayed prices should include taxes. */ - displayGrossPrices: Scalars["Boolean"]["output"]; - /** The ID of the object. */ - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Determines whether prices are entered with the tax included. */ - pricesEnteredWithTax: Scalars["Boolean"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** - * The tax app `App.identifier` that will be used to calculate the taxes for the given channel. Empty value for `TAX_APP` set as `taxCalculationStrategy` means that Saleor will iterate over all installed tax apps. If multiple tax apps exist with provided tax app id use the `App` with newest `created` date. Will become mandatory in 4.0 for `TAX_APP` `taxCalculationStrategy`. - * - * Added in Saleor 3.19. - */ - taxAppId: Maybe; - /** The default strategy to use for tax calculation in the given channel. Taxes can be calculated either using user-defined flat rates or with a tax app. Empty value means that no method is selected and taxes are not calculated. */ - taxCalculationStrategy: Maybe; - /** - * Determines whether to use weighted tax for shipping. When set to true, the tax rate for shipping will be calculated based on the weighted average of tax rates from the order or checkout lines. - * - * Added in Saleor 3.21. - */ - useWeightedTaxForShipping: Maybe; - }; +export type TaxConfiguration = Node & ObjectWithMetadata & { + /** A channel to which the tax configuration applies to. */ + channel: Channel; + /** Determines whether taxes are charged in the given channel. */ + chargeTaxes: Scalars['Boolean']['output']; + /** List of country-specific exceptions in tax configuration. */ + countries: Array; + /** Determines whether displayed prices should include taxes. */ + displayGrossPrices: Scalars['Boolean']['output']; + /** The ID of the object. */ + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Determines whether prices are entered with the tax included. */ + pricesEnteredWithTax: Scalars['Boolean']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** + * The tax app `App.identifier` that will be used to calculate the taxes for the given channel. Empty value for `TAX_APP` set as `taxCalculationStrategy` means that Saleor will iterate over all installed tax apps. If multiple tax apps exist with provided tax app id use the `App` with newest `created` date. Will become mandatory in 4.0 for `TAX_APP` `taxCalculationStrategy`. + * + * Added in Saleor 3.19. + */ + taxAppId: Maybe; + /** The default strategy to use for tax calculation in the given channel. Taxes can be calculated either using user-defined flat rates or with a tax app. Empty value means that no method is selected and taxes are not calculated. */ + taxCalculationStrategy: Maybe; + /** + * Determines whether to use weighted tax for shipping. When set to true, the tax rate for shipping will be calculated based on the weighted average of tax rates from the order or checkout lines. + * + * Added in Saleor 3.21. + */ + useWeightedTaxForShipping: Maybe; +}; + /** Channel-specific tax configuration. */ export type TaxConfigurationMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Channel-specific tax configuration. */ export type TaxConfigurationMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Channel-specific tax configuration. */ export type TaxConfigurationPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Channel-specific tax configuration. */ export type TaxConfigurationPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; export type TaxConfigurationCountableConnection = { @@ -27413,35 +28323,35 @@ export type TaxConfigurationCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type TaxConfigurationCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: TaxConfiguration; }; export type TaxConfigurationFilterInput = { - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; }; /** Country-specific exceptions of a channel's tax configuration. */ export type TaxConfigurationPerCountry = { /** Determines whether taxes are charged in this country. */ - chargeTaxes: Scalars["Boolean"]["output"]; + chargeTaxes: Scalars['Boolean']['output']; /** Country in which this configuration applies. */ country: CountryDisplay; /** Determines whether displayed prices should include taxes for this country. */ - displayGrossPrices: Scalars["Boolean"]["output"]; + displayGrossPrices: Scalars['Boolean']['output']; /** * The tax app `App.identifier` that will be used to calculate the taxes for the given channel and country. If not provided, use the value from the channel's tax configuration. * * Added in Saleor 3.19. */ - taxAppId: Maybe; + taxAppId: Maybe; /** A country-specific strategy to use for tax calculation. Taxes can be calculated either using user-defined flat rates or with a tax app. If not provided, use the value from the channel's tax configuration. */ taxCalculationStrategy: Maybe; /** @@ -27449,22 +28359,22 @@ export type TaxConfigurationPerCountry = { * * Added in Saleor 3.21. */ - useWeightedTaxForShipping: Maybe; + useWeightedTaxForShipping: Maybe; }; export type TaxConfigurationPerCountryInput = { /** Determines whether taxes are charged in this country. */ - chargeTaxes: Scalars["Boolean"]["input"]; + chargeTaxes: Scalars['Boolean']['input']; /** Country in which this configuration applies. */ countryCode: CountryCode; /** Determines whether displayed prices should include taxes for this country. */ - displayGrossPrices: Scalars["Boolean"]["input"]; + displayGrossPrices: Scalars['Boolean']['input']; /** * The tax app `App.identifier` that will be used to calculate the taxes for the given channel and country. If not provided, use the value from the channel's tax configuration. * * Added in Saleor 3.19. */ - taxAppId?: InputMaybe; + taxAppId?: InputMaybe; /** A country-specific strategy to use for tax calculation. Taxes can be calculated either using user-defined flat rates or with a tax app. If not provided, use the value from the channel's tax configuration. */ taxCalculationStrategy?: InputMaybe; /** @@ -27472,7 +28382,7 @@ export type TaxConfigurationPerCountryInput = { * * Added in Saleor 3.21. */ - useWeightedTaxForShipping?: InputMaybe; + useWeightedTaxForShipping?: InputMaybe; }; /** @@ -27489,26 +28399,26 @@ export type TaxConfigurationUpdateError = { /** The error code. */ code: TaxConfigurationUpdateErrorCode; /** List of country codes for which the configuration is invalid. */ - countryCodes: Array; + countryCodes: Array; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TaxConfigurationUpdateErrorCode = - | "DUPLICATED_INPUT_ITEM" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'DUPLICATED_INPUT_ITEM' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; export type TaxConfigurationUpdateInput = { /** Determines whether taxes are charged in the given channel. */ - chargeTaxes?: InputMaybe; + chargeTaxes?: InputMaybe; /** Determines whether displayed prices should include taxes. */ - displayGrossPrices?: InputMaybe; + displayGrossPrices?: InputMaybe; /** Determines whether prices are entered with the tax included. */ - pricesEnteredWithTax?: InputMaybe; + pricesEnteredWithTax?: InputMaybe; /** List of country codes for which to remove the tax configuration. */ removeCountriesConfiguration?: InputMaybe>; /** @@ -27516,19 +28426,17 @@ export type TaxConfigurationUpdateInput = { * * Added in Saleor 3.19. */ - taxAppId?: InputMaybe; + taxAppId?: InputMaybe; /** The default strategy to use for tax calculation in the given channel. Taxes can be calculated either using user-defined flat rates or with a tax app. Empty value means that no method is selected and taxes are not calculated. */ taxCalculationStrategy?: InputMaybe; /** List of tax country configurations to create or update (identified by a country code). */ - updateCountriesConfiguration?: InputMaybe< - Array - >; + updateCountriesConfiguration?: InputMaybe>; /** * Determines whether to use weighted tax for shipping. When set to true, the tax rate for shipping will be calculated based on the weighted average of tax rates from the order or checkout lines. Default value is `False`.Can be used only with `taxCalculationStrategy` set to `FLAT_RATES`. * * Added in Saleor 3.21. */ - useWeightedTaxForShipping?: InputMaybe; + useWeightedTaxForShipping?: InputMaybe; }; /** Tax class rates grouped by country. */ @@ -27554,15 +28462,15 @@ export type TaxCountryConfigurationDeleteError = { /** The error code. */ code: TaxCountryConfigurationDeleteErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TaxCountryConfigurationDeleteErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; /** * Updates tax class rates for a specific country. @@ -27579,19 +28487,19 @@ export type TaxCountryConfigurationUpdateError = { /** The error code. */ code: TaxCountryConfigurationUpdateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of tax class IDs for which the update failed. */ - taxClassIds: Array; + taxClassIds: Array; }; export type TaxCountryConfigurationUpdateErrorCode = - | "CANNOT_CREATE_NEGATIVE_RATE" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "ONLY_ONE_DEFAULT_COUNTRY_RATE_ALLOWED"; + | 'CANNOT_CREATE_NEGATIVE_RATE' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'ONLY_ONE_DEFAULT_COUNTRY_RATE_ALLOWED'; /** * Exempt checkout or order from charging the taxes. When tax exemption is enabled, taxes won't be charged for the checkout or order. Taxes may still be calculated in cases when product prices are entered with the tax included and the net price needs to be known. @@ -27607,16 +28515,16 @@ export type TaxExemptionManageError = { /** The error code. */ code: TaxExemptionManageErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TaxExemptionManageErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_EDITABLE_ORDER" - | "NOT_FOUND"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_EDITABLE_ORDER' + | 'NOT_FOUND'; export type TaxSourceLine = CheckoutLine | OrderLine; @@ -27625,9 +28533,9 @@ export type TaxSourceObject = Checkout | Order; /** Representation of tax types fetched from tax gateway. */ export type TaxType = { /** Description of the tax type. */ - description: Maybe; + description: Maybe; /** External tax code used to identify given tax group. */ - taxCode: Maybe; + taxCode: Maybe; }; /** Taxable object. */ @@ -27636,13 +28544,13 @@ export type TaxableObject = { address: Maybe
; channel: Channel; /** The currency of the object. */ - currency: Scalars["String"]["output"]; + currency: Scalars['String']['output']; /** List of discounts. */ discounts: Array; /** List of lines assigned to the object. */ lines: Array; /** Determines if prices contain entered tax.. */ - pricesEnteredWithTax: Scalars["Boolean"]["output"]; + pricesEnteredWithTax: Scalars['Boolean']['output']; /** The price of shipping method, includes shipping voucher discount if applied. */ shippingPrice: Money; /** The source object related to this tax object. */ @@ -27654,23 +28562,25 @@ export type TaxableObjectDiscount = { /** The amount of the discount. */ amount: Money; /** The name of the discount. */ - name: Maybe; + name: Maybe; /** Indicates which part of the order the discount should affect: SUBTOTAL or SHIPPING. */ type: TaxableObjectDiscountTypeEnum; }; /** Indicates which part of the order the discount should affect: SUBTOTAL or SHIPPING. */ -export type TaxableObjectDiscountTypeEnum = "SHIPPING" | "SUBTOTAL"; +export type TaxableObjectDiscountTypeEnum = + | 'SHIPPING' + | 'SUBTOTAL'; export type TaxableObjectLine = { /** Determines if taxes are being charged for the product. */ - chargeTaxes: Scalars["Boolean"]["output"]; + chargeTaxes: Scalars['Boolean']['output']; /** The product name. */ - productName: Scalars["String"]["output"]; + productName: Scalars['String']['output']; /** The product sku. */ - productSku: Maybe; + productSku: Maybe; /** Number of items. */ - quantity: Scalars["Int"]["output"]; + quantity: Scalars['Int']['output']; /** The source line related to this tax line. */ sourceLine: TaxSourceLine; /** Price of the order line. The price includes catalogue promotions, specific product and applied once per order voucher discounts. The price does not include the entire order discount. */ @@ -27678,13 +28588,13 @@ export type TaxableObjectLine = { /** Price of the single item in the order line. The price includes catalogue promotions, specific product and applied once per order voucher discounts. The price does not include the entire order discount. */ unitPrice: Money; /** The variant name. */ - variantName: Scalars["String"]["output"]; + variantName: Scalars['String']['output']; }; /** Represents a monetary value with taxes. In cases where taxes were not applied, net and gross values will be equal. */ export type TaxedMoney = { /** Currency code. */ - currency: Scalars["String"]["output"]; + currency: Scalars['String']['output']; /** Amount of money including taxes. */ gross: Money; /** Amount of money without taxes. */ @@ -27695,9 +28605,9 @@ export type TaxedMoney = { export type TaxedMoneyInput = { /** Gross value of an item. */ - gross: Scalars["PositiveDecimal"]["input"]; + gross: Scalars['PositiveDecimal']['input']; /** Net value of an item. */ - net: Scalars["PositiveDecimal"]["input"]; + net: Scalars['PositiveDecimal']['input']; }; /** Represents a range of monetary values. */ @@ -27711,40 +28621,47 @@ export type TaxedMoneyRange = { /** Event sent when thumbnail is created. */ export type ThumbnailCreated = Event & { /** Thumbnail id. */ - id: Maybe; + id: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Original media url. */ - mediaUrl: Maybe; + mediaUrl: Maybe; /** Object the thumbnail refers to. */ - objectId: Maybe; + objectId: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Thumbnail url. */ - url: Maybe; + url: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; -export type ThumbnailFormatEnum = "AVIF" | "ORIGINAL" | "WEBP"; +export type ThumbnailFormatEnum = + | 'AVIF' + | 'ORIGINAL' + | 'WEBP'; export type TimePeriod = { /** The length of the period. */ - amount: Scalars["Int"]["output"]; + amount: Scalars['Int']['output']; /** The type of the period. */ type: TimePeriodTypeEnum; }; export type TimePeriodInputType = { /** The length of the period. */ - amount: Scalars["Int"]["input"]; + amount: Scalars['Int']['input']; /** The type of the period. */ type: TimePeriodTypeEnum; }; -export type TimePeriodTypeEnum = "DAY" | "MONTH" | "WEEK" | "YEAR"; +export type TimePeriodTypeEnum = + | 'DAY' + | 'MONTH' + | 'WEEK' + | 'YEAR'; /** * Represents possible tokenized payment flows that can be used to process payment. @@ -27754,40 +28671,41 @@ export type TimePeriodTypeEnum = "DAY" | "MONTH" | "WEEK" | "YEAR"; * checkout form (might require additional authentication from user) * */ -export type TokenizedPaymentFlowEnum = "INTERACTIVE"; +export type TokenizedPaymentFlowEnum = + | 'INTERACTIVE'; /** An object representing a single payment. */ export type Transaction = Node & { /** Total amount of the transaction. */ amount: Maybe; /** Date and time at which transaction was created. */ - created: Scalars["DateTime"]["output"]; + created: Scalars['DateTime']['output']; /** Error associated with transaction, if any. */ - error: Maybe; + error: Maybe; /** * Response returned by payment gateway. * @deprecated This field is a part of a legacy Payments API. Please use apps instead. */ - gatewayResponse: Scalars["JSONString"]["output"]; + gatewayResponse: Scalars['JSONString']['output']; /** ID of the transaction. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Determines if the transaction was successful. */ - isSuccess: Scalars["Boolean"]["output"]; + isSuccess: Scalars['Boolean']['output']; /** Determines the type of transaction. */ kind: TransactionKind; /** Determines the payment associated with a transaction. */ payment: Payment; /** Unique token associated with a transaction. */ - token: Scalars["String"]["output"]; + token: Scalars['String']['output']; }; export type TransactionAction = { /** Determines the action type. */ actionType: TransactionActionEnum; /** Transaction request amount. */ - amount: Scalars["PositiveDecimal"]["output"]; + amount: Scalars['PositiveDecimal']['output']; /** Currency code. */ - currency: Scalars["String"]["output"]; + currency: Scalars['String']['output']; }; /** @@ -27799,14 +28717,17 @@ export type TransactionAction = { * CANCEL - Represents a cancel action. Added in Saleor 3.12. * */ -export type TransactionActionEnum = "CANCEL" | "CHARGE" | "REFUND"; +export type TransactionActionEnum = + | 'CANCEL' + | 'CHARGE' + | 'REFUND'; /** Event sent when transaction cancelation is requested. */ export type TransactionCancelationRequested = Event & { /** Requested action data. */ action: TransactionAction; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -27814,7 +28735,7 @@ export type TransactionCancelationRequested = Event & { /** Look up a transaction. */ transaction: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when transaction charge is requested. */ @@ -27822,7 +28743,7 @@ export type TransactionChargeRequested = Event & { /** Requested action data. */ action: TransactionAction; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -27830,7 +28751,7 @@ export type TransactionChargeRequested = Event & { /** Look up a transaction. */ transaction: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type TransactionCountableConnection = { @@ -27838,12 +28759,12 @@ export type TransactionCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type TransactionCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: TransactionItem; }; @@ -27862,18 +28783,18 @@ export type TransactionCreateError = { /** The error code. */ code: TransactionCreateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TransactionCreateErrorCode = - | "GRAPHQL_ERROR" - | "INCORRECT_CURRENCY" - | "INVALID" - | "METADATA_KEY_REQUIRED" - | "NOT_FOUND" - | "UNIQUE"; + | 'GRAPHQL_ERROR' + | 'INCORRECT_CURRENCY' + | 'INVALID' + | 'METADATA_KEY_REQUIRED' + | 'NOT_FOUND' + | 'UNIQUE'; export type TransactionCreateInput = { /** Amount authorized by this transaction. */ @@ -27887,9 +28808,9 @@ export type TransactionCreateInput = { /** List of all possible actions for the transaction */ availableActions?: InputMaybe>; /** The url that will allow to redirect user to payment provider page with transaction event details. */ - externalUrl?: InputMaybe; + externalUrl?: InputMaybe; /** The message of the transaction. */ - message?: InputMaybe; + message?: InputMaybe; /** * Payment public metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -27897,7 +28818,7 @@ export type TransactionCreateInput = { */ metadata?: InputMaybe>; /** Payment name of the transaction. */ - name?: InputMaybe; + name?: InputMaybe; /** * Details of the payment method used for the transaction. * @@ -27911,7 +28832,7 @@ export type TransactionCreateInput = { */ privateMetadata?: InputMaybe>; /** PSP Reference of the transaction. */ - pspReference?: InputMaybe; + pspReference?: InputMaybe; }; /** Represents transaction's event. */ @@ -27919,19 +28840,19 @@ export type TransactionEvent = Node & { /** The amount related to this event. */ amount: Money; /** Date and time at which a transaction event was created. */ - createdAt: Scalars["DateTime"]["output"]; + createdAt: Scalars['DateTime']['output']; /** User or App that created the transaction event. */ createdBy: Maybe; /** The url that will allow to redirect user to payment provider page with transaction details. */ - externalUrl: Scalars["String"]["output"]; + externalUrl: Scalars['String']['output']; /** The ID of the object. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Idempotency key assigned to the event. */ - idempotencyKey: Maybe; + idempotencyKey: Maybe; /** Message related to the transaction's event. */ - message: Scalars["String"]["output"]; + message: Scalars['String']['output']; /** PSP reference of transaction. */ - pspReference: Scalars["String"]["output"]; + pspReference: Scalars['String']['output']; /** * Reason model of the transaction refund. * @@ -27942,31 +28863,11 @@ export type TransactionEvent = Node & { type: Maybe; }; -/** - * Filter input for transaction events data. - * - * Added in Saleor 3.23. - */ -export type TransactionEventFilterInput = { - /** - * Filter transaction events by created at date. - * - * Added in Saleor 3.23. - */ - createdAt?: InputMaybe; - /** - * Filter transaction events by type. - * - * Added in Saleor 3.23. - */ - type?: InputMaybe; -}; - export type TransactionEventInput = { /** The message related to the event. */ - message?: InputMaybe; + message?: InputMaybe; /** PSP Reference related to this action. */ - pspReference?: InputMaybe; + pspReference?: InputMaybe; }; /** @@ -27981,7 +28882,7 @@ export type TransactionEventInput = { */ export type TransactionEventReport = { /** Defines if the reported event hasn't been processed earlier. */ - alreadyProcessed: Maybe; + alreadyProcessed: Maybe; errors: Array; /** The transaction related to the reported event. */ transaction: Maybe; @@ -27993,18 +28894,18 @@ export type TransactionEventReportError = { /** The error code. */ code: TransactionEventReportErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TransactionEventReportErrorCode = - | "ALREADY_EXISTS" - | "GRAPHQL_ERROR" - | "INCORRECT_DETAILS" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED"; + | 'ALREADY_EXISTS' + | 'GRAPHQL_ERROR' + | 'INCORRECT_DETAILS' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED'; /** * Represents possible event types. @@ -28035,31 +28936,24 @@ export type TransactionEventReportErrorCode = * */ export type TransactionEventTypeEnum = - | "AUTHORIZATION_ACTION_REQUIRED" - | "AUTHORIZATION_ADJUSTMENT" - | "AUTHORIZATION_FAILURE" - | "AUTHORIZATION_REQUEST" - | "AUTHORIZATION_SUCCESS" - | "CANCEL_FAILURE" - | "CANCEL_REQUEST" - | "CANCEL_SUCCESS" - | "CHARGE_ACTION_REQUIRED" - | "CHARGE_BACK" - | "CHARGE_FAILURE" - | "CHARGE_REQUEST" - | "CHARGE_SUCCESS" - | "INFO" - | "REFUND_FAILURE" - | "REFUND_REQUEST" - | "REFUND_REVERSE" - | "REFUND_SUCCESS"; - -export type TransactionEventTypeEnumFilterInput = { - /** The value equal to. */ - eq?: InputMaybe; - /** The value included in. */ - oneOf?: InputMaybe>; -}; + | 'AUTHORIZATION_ACTION_REQUIRED' + | 'AUTHORIZATION_ADJUSTMENT' + | 'AUTHORIZATION_FAILURE' + | 'AUTHORIZATION_REQUEST' + | 'AUTHORIZATION_SUCCESS' + | 'CANCEL_FAILURE' + | 'CANCEL_REQUEST' + | 'CANCEL_SUCCESS' + | 'CHARGE_ACTION_REQUIRED' + | 'CHARGE_BACK' + | 'CHARGE_FAILURE' + | 'CHARGE_REQUEST' + | 'CHARGE_SUCCESS' + | 'INFO' + | 'REFUND_FAILURE' + | 'REFUND_REQUEST' + | 'REFUND_REVERSE' + | 'REFUND_SUCCESS'; /** Filter input for transactions. */ export type TransactionFilterInput = { @@ -28082,12 +28976,14 @@ export type TransactionFilterInput = { * CHARGE - the processed transaction should be charged. * */ -export type TransactionFlowStrategyEnum = "AUTHORIZATION" | "CHARGE"; +export type TransactionFlowStrategyEnum = + | 'AUTHORIZATION' + | 'CHARGE'; /** Initializes a transaction session. It triggers the webhook `TRANSACTION_INITIALIZE_SESSION`, to the requested `paymentGateways`. There is a limit of 100 transaction items per checkout / order. */ export type TransactionInitialize = { /** The JSON data required to finalize the payment. */ - data: Maybe; + data: Maybe; errors: Array; /** The initialized transaction. */ transaction: Maybe; @@ -28099,34 +28995,34 @@ export type TransactionInitializeError = { /** The error code. */ code: TransactionInitializeErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TransactionInitializeErrorCode = - | "CHECKOUT_COMPLETION_IN_PROGRESS" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "UNIQUE"; + | 'CHECKOUT_COMPLETION_IN_PROGRESS' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'UNIQUE'; /** Event sent when user starts processing the payment. */ export type TransactionInitializeSession = Event & { /** Action to proceed for the transaction */ action: TransactionProcessAction; /** The customer's IP address. If not provided as a parameter in the mutation, Saleor will try to determine the customer's IP address on its own. */ - customerIpAddress: Maybe; + customerIpAddress: Maybe; /** Payment gateway data in JSON format, received from storefront. */ - data: Maybe; + data: Maybe; /** Idempotency key assigned to the transaction initialize. */ - idempotencyKey: Scalars["String"]["output"]; + idempotencyKey: Scalars['String']['output']; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Merchant reference assigned to this payment. */ - merchantReference: Scalars["String"]["output"]; + merchantReference: Scalars['String']['output']; /** The application receiving the webhook. */ recipient: Maybe; /** Checkout or order */ @@ -28134,118 +29030,121 @@ export type TransactionInitializeSession = Event & { /** Look up a transaction. */ transaction: TransactionItem; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Represents a payment transaction. */ -export type TransactionItem = Node & - ObjectWithMetadata & { - /** List of actions that can be performed in the current state of a payment. */ - actions: Array; - /** Total amount of ongoing authorization requests for the transaction. */ - authorizePendingAmount: Money; - /** Total amount authorized for this payment. */ - authorizedAmount: Money; - /** Total amount of ongoing cancel requests for the transaction. */ - cancelPendingAmount: Money; - /** Total amount canceled for this payment. */ - canceledAmount: Money; - /** Total amount of ongoing charge requests for the transaction. */ - chargePendingAmount: Money; - /** Total amount charged for this payment. */ - chargedAmount: Money; - /** The related checkout. */ - checkout: Maybe; - /** Date and time at which payment transaction was created. */ - createdAt: Scalars["DateTime"]["output"]; - /** User or App that created the transaction. */ - createdBy: Maybe; - /** List of all transaction's events. */ - events: Array; - /** The url that will allow to redirect user to payment provider page with transaction details. */ - externalUrl: Scalars["String"]["output"]; - /** The ID of the object. */ - id: Scalars["ID"]["output"]; - /** Message related to the transaction. */ - message: Scalars["String"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Date and time at which payment transaction was modified. */ - modifiedAt: Scalars["DateTime"]["output"]; - /** Name of the transaction. */ - name: Scalars["String"]["output"]; - /** The related order. */ - order: Maybe; - /** - * The payment method used for this transaction. - * - * Added in Saleor 3.22. - */ - paymentMethodDetails: Maybe; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** PSP reference of transaction. */ - pspReference: Scalars["String"]["output"]; - /** - * Reason of the refund. - * - * Added in Saleor 3.22. - */ - reason: Maybe; - /** - * Reason `Page` (Model) for refund. - * - * Added in Saleor 3.22. - */ - reasonReference: Maybe; - /** Total amount of ongoing refund requests for the transaction. */ - refundPendingAmount: Money; - /** Total amount refunded for this payment. */ - refundedAmount: Money; - /** The transaction token. */ - token: Scalars["UUID"]["output"]; - }; +export type TransactionItem = Node & ObjectWithMetadata & { + /** List of actions that can be performed in the current state of a payment. */ + actions: Array; + /** Total amount of ongoing authorization requests for the transaction. */ + authorizePendingAmount: Money; + /** Total amount authorized for this payment. */ + authorizedAmount: Money; + /** Total amount of ongoing cancel requests for the transaction. */ + cancelPendingAmount: Money; + /** Total amount canceled for this payment. */ + canceledAmount: Money; + /** Total amount of ongoing charge requests for the transaction. */ + chargePendingAmount: Money; + /** Total amount charged for this payment. */ + chargedAmount: Money; + /** The related checkout. */ + checkout: Maybe; + /** Date and time at which payment transaction was created. */ + createdAt: Scalars['DateTime']['output']; + /** User or App that created the transaction. */ + createdBy: Maybe; + /** List of all transaction's events. */ + events: Array; + /** The url that will allow to redirect user to payment provider page with transaction details. */ + externalUrl: Scalars['String']['output']; + /** The ID of the object. */ + id: Scalars['ID']['output']; + /** Message related to the transaction. */ + message: Scalars['String']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Date and time at which payment transaction was modified. */ + modifiedAt: Scalars['DateTime']['output']; + /** Name of the transaction. */ + name: Scalars['String']['output']; + /** The related order. */ + order: Maybe; + /** + * The payment method used for this transaction. + * + * Added in Saleor 3.22. + */ + paymentMethodDetails: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** PSP reference of transaction. */ + pspReference: Scalars['String']['output']; + /** + * Reason of the refund. + * + * Added in Saleor 3.22. + */ + reason: Maybe; + /** + * Reason `Page` (Model) for refund. + * + * Added in Saleor 3.22. + */ + reasonReference: Maybe; + /** Total amount of ongoing refund requests for the transaction. */ + refundPendingAmount: Money; + /** Total amount refunded for this payment. */ + refundedAmount: Money; + /** The transaction token. */ + token: Scalars['UUID']['output']; +}; + /** Represents a payment transaction. */ export type TransactionItemMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a payment transaction. */ export type TransactionItemMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents a payment transaction. */ export type TransactionItemPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents a payment transaction. */ export type TransactionItemPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; /** Event sent when transaction item metadata is updated. */ export type TransactionItemMetadataUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -28253,25 +29152,25 @@ export type TransactionItemMetadataUpdated = Event & { /** Look up a transaction. */ transaction: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type TransactionKind = - | "ACTION_TO_CONFIRM" - | "AUTH" - | "CANCEL" - | "CAPTURE" - | "CONFIRM" - | "EXTERNAL" - | "PENDING" - | "REFUND" - | "REFUND_ONGOING" - | "VOID"; + | 'ACTION_TO_CONFIRM' + | 'AUTH' + | 'CANCEL' + | 'CAPTURE' + | 'CONFIRM' + | 'EXTERNAL' + | 'PENDING' + | 'REFUND' + | 'REFUND_ONGOING' + | 'VOID'; /** Processes a transaction session. It triggers the webhook `TRANSACTION_PROCESS_SESSION`, to the assigned `paymentGateways`. */ export type TransactionProcess = { /** The json data required to finalize the payment. */ - data: Maybe; + data: Maybe; errors: Array; /** The processed transaction. */ transaction: Maybe; @@ -28282,43 +29181,43 @@ export type TransactionProcess = { export type TransactionProcessAction = { actionType: TransactionFlowStrategyEnum; /** Transaction amount to process. */ - amount: Scalars["PositiveDecimal"]["output"]; + amount: Scalars['PositiveDecimal']['output']; /** Currency of the amount. */ - currency: Scalars["String"]["output"]; + currency: Scalars['String']['output']; }; export type TransactionProcessError = { /** The error code. */ code: TransactionProcessErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TransactionProcessErrorCode = - | "CHECKOUT_COMPLETION_IN_PROGRESS" - | "GRAPHQL_ERROR" - | "INVALID" - | "MISSING_PAYMENT_APP" - | "MISSING_PAYMENT_APP_RELATION" - | "NOT_FOUND" - | "TRANSACTION_ALREADY_PROCESSED"; + | 'CHECKOUT_COMPLETION_IN_PROGRESS' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'MISSING_PAYMENT_APP' + | 'MISSING_PAYMENT_APP_RELATION' + | 'NOT_FOUND' + | 'TRANSACTION_ALREADY_PROCESSED'; /** Event sent when user has additional payment action to process. */ export type TransactionProcessSession = Event & { /** Action to proceed for the transaction */ action: TransactionProcessAction; /** The customer's IP address. If not provided as a parameter in the mutation, Saleor will try to determine the customer's IP address on its own. */ - customerIpAddress: Maybe; + customerIpAddress: Maybe; /** Payment gateway data in JSON format, received from storefront. */ - data: Maybe; + data: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** Merchant reference assigned to this payment. */ - merchantReference: Scalars["String"]["output"]; + merchantReference: Scalars['String']['output']; /** The application receiving the webhook. */ recipient: Maybe; /** Checkout or order */ @@ -28326,7 +29225,7 @@ export type TransactionProcessSession = Event & { /** Look up a transaction. */ transaction: TransactionItem; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Event sent when transaction refund is requested. */ @@ -28340,7 +29239,7 @@ export type TransactionRefundRequested = Event & { */ grantedRefund: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -28348,7 +29247,7 @@ export type TransactionRefundRequested = Event & { /** Look up a transaction. */ transaction: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -28365,17 +29264,17 @@ export type TransactionRequestActionError = { /** The error code. */ code: TransactionRequestActionErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TransactionRequestActionErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "MISSING_TRANSACTION_ACTION_REQUEST_WEBHOOK" - | "NOT_FOUND" - | "REQUIRED"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'MISSING_TRANSACTION_ACTION_REQUEST_WEBHOOK' + | 'NOT_FOUND' + | 'REQUIRED'; /** * Request a refund for payment transaction based on granted refund. @@ -28391,40 +29290,19 @@ export type TransactionRequestRefundForGrantedRefundError = { /** The error code. */ code: TransactionRequestRefundForGrantedRefundErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; -export type TransactionRequestRefundForGrantedRefundErrorCode = - | "AMOUNT_GREATER_THAN_AVAILABLE" - | "GRAPHQL_ERROR" - | "INVALID" - | "MISSING_TRANSACTION_ACTION_REQUEST_WEBHOOK" - | "NOT_FOUND" - | "REFUND_ALREADY_PROCESSED" - | "REFUND_IS_PENDING"; - -export type TransactionSortField = - /** - * Sort transactions by creation date. - * - * Added in Saleor 3.23. - */ - | "CREATED_AT" - /** - * Sort transactions by modification date. - * - * Added in Saleor 3.23. - */ - | "MODIFIED_AT"; - -export type TransactionSortingInput = { - /** Specifies the direction in which to sort transactions. */ - direction: OrderDirection; - /** Sort transactions by the selected field. */ - field: TransactionSortField; -}; +export type TransactionRequestRefundForGrantedRefundErrorCode = + | 'AMOUNT_GREATER_THAN_AVAILABLE' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'MISSING_TRANSACTION_ACTION_REQUEST_WEBHOOK' + | 'NOT_FOUND' + | 'REFUND_ALREADY_PROCESSED' + | 'REFUND_IS_PENDING'; /** * Update transaction. @@ -28440,18 +29318,18 @@ export type TransactionUpdateError = { /** The error code. */ code: TransactionUpdateErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TransactionUpdateErrorCode = - | "GRAPHQL_ERROR" - | "INCORRECT_CURRENCY" - | "INVALID" - | "METADATA_KEY_REQUIRED" - | "NOT_FOUND" - | "UNIQUE"; + | 'GRAPHQL_ERROR' + | 'INCORRECT_CURRENCY' + | 'INVALID' + | 'METADATA_KEY_REQUIRED' + | 'NOT_FOUND' + | 'UNIQUE'; export type TransactionUpdateInput = { /** Amount authorized by this transaction. */ @@ -28465,9 +29343,9 @@ export type TransactionUpdateInput = { /** List of all possible actions for the transaction */ availableActions?: InputMaybe>; /** The url that will allow to redirect user to payment provider page with transaction event details. */ - externalUrl?: InputMaybe; + externalUrl?: InputMaybe; /** The message of the transaction. */ - message?: InputMaybe; + message?: InputMaybe; /** * Payment public metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -28475,7 +29353,7 @@ export type TransactionUpdateInput = { */ metadata?: InputMaybe>; /** Payment name of the transaction. */ - name?: InputMaybe; + name?: InputMaybe; /** * Details of the payment method used for the transaction. * @@ -28489,7 +29367,7 @@ export type TransactionUpdateInput = { */ privateMetadata?: InputMaybe>; /** PSP Reference of the transaction. */ - pspReference?: InputMaybe; + pspReference?: InputMaybe; }; export type TransactionWhereInput = { @@ -28499,78 +29377,47 @@ export type TransactionWhereInput = { OR?: InputMaybe>; /** Filter by app identifier. */ appIdentifier?: InputMaybe; - /** - * Filter transactions by created at date. - * - * Added in Saleor 3.23. - */ - createdAt?: InputMaybe; - /** - * Filter by transaction events. Each list item represents conditions that must be satisfied by a single event. The filter matches transactions that have related events meeting all specified groups of conditions. - * - * Added in Saleor 3.23. - */ - events?: InputMaybe>; - ids?: InputMaybe>; - /** - * Filter transactions by modified at date. - * - * Added in Saleor 3.23. - */ - modifiedAt?: InputMaybe; + ids?: InputMaybe>; /** Filter by PSP reference. */ pspReference?: InputMaybe; }; -export type TranslatableItem = - | AttributeTranslatableContent - | AttributeValueTranslatableContent - | CategoryTranslatableContent - | CollectionTranslatableContent - | MenuItemTranslatableContent - | PageTranslatableContent - | ProductTranslatableContent - | ProductVariantTranslatableContent - | PromotionRuleTranslatableContent - | PromotionTranslatableContent - | SaleTranslatableContent - | ShippingMethodTranslatableContent - | VoucherTranslatableContent; +export type TranslatableItem = AttributeTranslatableContent | AttributeValueTranslatableContent | CategoryTranslatableContent | CollectionTranslatableContent | MenuItemTranslatableContent | PageTranslatableContent | ProductTranslatableContent | ProductVariantTranslatableContent | PromotionRuleTranslatableContent | PromotionTranslatableContent | SaleTranslatableContent | ShippingMethodTranslatableContent | VoucherTranslatableContent; export type TranslatableItemConnection = { edges: Array; /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type TranslatableItemEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: TranslatableItem; }; export type TranslatableKinds = - | "ATTRIBUTE" - | "ATTRIBUTE_VALUE" - | "CATEGORY" - | "COLLECTION" - | "MENU_ITEM" - | "PAGE" - | "PRODUCT" - | "PROMOTION" - | "PROMOTION_RULE" - | "SALE" - | "SHIPPING_METHOD" - | "VARIANT" - | "VOUCHER"; + | 'ATTRIBUTE' + | 'ATTRIBUTE_VALUE' + | 'CATEGORY' + | 'COLLECTION' + | 'MENU_ITEM' + | 'PAGE' + | 'PRODUCT' + | 'PROMOTION' + | 'PROMOTION_RULE' + | 'SALE' + | 'SHIPPING_METHOD' + | 'VARIANT' + | 'VOUCHER'; /** Event sent when new translation is created. */ export type TranslationCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -28578,24 +29425,24 @@ export type TranslationCreated = Event & { /** The translation the event relates to. */ translation: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; export type TranslationError = { /** The error code. */ code: TranslationErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type TranslationErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type TranslationInput = { /** @@ -28603,32 +29450,19 @@ export type TranslationInput = { * * Rich text format. For reference see https://editorjs.io/ */ - description?: InputMaybe; - name?: InputMaybe; - seoDescription?: InputMaybe; - seoTitle?: InputMaybe; - slug?: InputMaybe; -}; - -export type TranslationTypes = - | AttributeTranslation - | AttributeValueTranslation - | CategoryTranslation - | CollectionTranslation - | MenuItemTranslation - | PageTranslation - | ProductTranslation - | ProductVariantTranslation - | PromotionRuleTranslation - | PromotionTranslation - | SaleTranslation - | ShippingMethodTranslation - | VoucherTranslation; + description?: InputMaybe; + name?: InputMaybe; + seoDescription?: InputMaybe; + seoTitle?: InputMaybe; + slug?: InputMaybe; +}; + +export type TranslationTypes = AttributeTranslation | AttributeValueTranslation | CategoryTranslation | CollectionTranslation | MenuItemTranslation | PageTranslation | ProductTranslation | ProductVariantTranslation | PromotionRuleTranslation | PromotionTranslation | SaleTranslation | ShippingMethodTranslation | VoucherTranslation; /** Event sent when translation is updated. */ export type TranslationUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ @@ -28636,15 +29470,15 @@ export type TranslationUpdated = Event & { /** The translation the event relates to. */ translation: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** Define the filtering options for string fields. */ export type UuidFilterInput = { /** The value equal to. */ - eq?: InputMaybe; + eq?: InputMaybe; /** The value included in. */ - oneOf?: InputMaybe>; + oneOf?: InputMaybe>; }; export type UpdateInvoiceInput = { @@ -28655,7 +29489,7 @@ export type UpdateInvoiceInput = { */ metadata?: InputMaybe>; /** Invoice number */ - number?: InputMaybe; + number?: InputMaybe; /** * Fields required to update the invoice private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -28663,7 +29497,7 @@ export type UpdateInvoiceInput = { */ privateMetadata?: InputMaybe>; /** URL of an invoice to download. */ - url?: InputMaybe; + url?: InputMaybe; }; /** @@ -28694,187 +29528,198 @@ export type UploadError = { /** The error code. */ code: UploadErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type UploadErrorCode = - | "GRAPHQL_ERROR" - | "INVALID_FILE_TYPE" - | "UNSUPPORTED_MIME_TYPE"; + | 'GRAPHQL_ERROR' + | 'INVALID_FILE_TYPE' + | 'UNSUPPORTED_MIME_TYPE'; /** Represents user data. */ -export type User = Node & - ObjectWithMetadata & { - /** List of channels the user has access to. The sum of channels from all user groups. If at least one group has `restrictedAccessToChannels` set to False - all channels are returned. */ - accessibleChannels: Maybe>; - /** List of all user's addresses. */ - addresses: Array
; - /** The avatar of the user. */ - avatar: Maybe; - /** - * Returns the last open checkout of this user. - * @deprecated Use the `checkoutTokens` field to fetch the user checkouts. - */ - checkout: Maybe; - /** Returns the checkout ID's assigned to this user. */ - checkoutIds: Maybe>; - /** - * Returns the checkout UUID's assigned to this user. - * @deprecated Use `checkoutIds` instead. - */ - checkoutTokens: Maybe>; - /** Returns checkouts assigned to this user. The query will not initiate any external requests, including fetching external shipping methods, filtering available shipping methods, or performing external tax calculations. */ - checkouts: Maybe; - /** The data when the user create account. */ - dateJoined: Scalars["DateTime"]["output"]; - /** The default billing address of the user. */ - defaultBillingAddress: Maybe
; - /** The default shipping address of the user. */ - defaultShippingAddress: Maybe
; - /** List of user's permission groups which user can manage. */ - editableGroups: Maybe>; - /** The email address of the user. */ - email: Scalars["String"]["output"]; - /** - * List of events associated with the user. - * - * Requires one of the following permissions: MANAGE_USERS, MANAGE_STAFF. - */ - events: Maybe>; - /** External ID of this user. */ - externalReference: Maybe; - /** The given name of the address. */ - firstName: Scalars["String"]["output"]; - /** List of the user gift cards. */ - giftCards: Maybe; - /** The ID of the user. */ - id: Scalars["ID"]["output"]; - /** Determine if the user is active. */ - isActive: Scalars["Boolean"]["output"]; - /** Determines if user has confirmed email. */ - isConfirmed: Scalars["Boolean"]["output"]; - /** Determine if the user is a staff admin. */ - isStaff: Scalars["Boolean"]["output"]; - /** User language code. */ - languageCode: LanguageCodeEnum; - /** The date when the user last time log in to the system. */ - lastLogin: Maybe; - /** The family name of the address. */ - lastName: Scalars["String"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** - * A note about the customer. - * - * Requires one of the following permissions: MANAGE_USERS, MANAGE_STAFF. - */ - note: Maybe; - /** List of user's orders. The query will not initiate any external requests, including filtering available shipping methods, or performing external tax calculations. Requires one of the following permissions: MANAGE_STAFF, OWNER. */ - orders: Maybe; - /** List of user's permission groups. */ - permissionGroups: Maybe>; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Determine if user have restricted access to channels. False if at least one user group has `restrictedAccessToChannels` set to False. */ - restrictedAccessToChannels: Scalars["Boolean"]["output"]; - /** Returns a list of user's stored payment methods that can be used in provided channel. The field returns a list of stored payment methods by payment apps. When `amount` is not provided, 0 will be used as default value. */ - storedPaymentMethods: Maybe>; - /** List of stored payment sources. The field returns a list of payment sources stored for payment plugins. */ - storedPaymentSources: Maybe>; - /** The data when the user last update the account information. */ - updatedAt: Scalars["DateTime"]["output"]; - /** List of user's permissions. */ - userPermissions: Maybe>; - }; +export type User = Node & ObjectWithMetadata & { + /** List of channels the user has access to. The sum of channels from all user groups. If at least one group has `restrictedAccessToChannels` set to False - all channels are returned. */ + accessibleChannels: Maybe>; + /** List of all user's addresses. */ + addresses: Array
; + /** The avatar of the user. */ + avatar: Maybe; + /** + * Returns the last open checkout of this user. + * @deprecated Use the `checkoutTokens` field to fetch the user checkouts. + */ + checkout: Maybe; + /** Returns the checkout ID's assigned to this user. */ + checkoutIds: Maybe>; + /** + * Returns the checkout UUID's assigned to this user. + * @deprecated Use `checkoutIds` instead. + */ + checkoutTokens: Maybe>; + /** Returns checkouts assigned to this user. The query will not initiate any external requests, including fetching external shipping methods, filtering available shipping methods, or performing external tax calculations. */ + checkouts: Maybe; + /** The data when the user create account. */ + dateJoined: Scalars['DateTime']['output']; + /** The default billing address of the user. */ + defaultBillingAddress: Maybe
; + /** The default shipping address of the user. */ + defaultShippingAddress: Maybe
; + /** List of user's permission groups which user can manage. */ + editableGroups: Maybe>; + /** The email address of the user. */ + email: Scalars['String']['output']; + /** + * List of events associated with the user. + * + * Requires one of the following permissions: MANAGE_USERS, MANAGE_STAFF. + */ + events: Maybe>; + /** External ID of this user. */ + externalReference: Maybe; + /** The given name of the address. */ + firstName: Scalars['String']['output']; + /** List of the user gift cards. */ + giftCards: Maybe; + /** The ID of the user. */ + id: Scalars['ID']['output']; + /** Determine if the user is active. */ + isActive: Scalars['Boolean']['output']; + /** Determines if user has confirmed email. */ + isConfirmed: Scalars['Boolean']['output']; + /** Determine if the user is a staff admin. */ + isStaff: Scalars['Boolean']['output']; + /** User language code. */ + languageCode: LanguageCodeEnum; + /** The date when the user last time log in to the system. */ + lastLogin: Maybe; + /** The family name of the address. */ + lastName: Scalars['String']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** + * A note about the customer. + * + * Requires one of the following permissions: MANAGE_USERS, MANAGE_STAFF. + */ + note: Maybe; + /** List of user's orders. The query will not initiate any external requests, including filtering available shipping methods, or performing external tax calculations. Requires one of the following permissions: MANAGE_STAFF, OWNER. */ + orders: Maybe; + /** List of user's permission groups. */ + permissionGroups: Maybe>; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Determine if user have restricted access to channels. False if at least one user group has `restrictedAccessToChannels` set to False. */ + restrictedAccessToChannels: Scalars['Boolean']['output']; + /** Returns a list of user's stored payment methods that can be used in provided channel. The field returns a list of stored payment methods by payment apps. When `amount` is not provided, 0 will be used as default value. */ + storedPaymentMethods: Maybe>; + /** List of stored payment sources. The field returns a list of payment sources stored for payment plugins. */ + storedPaymentSources: Maybe>; + /** The data when the user last update the account information. */ + updatedAt: Scalars['DateTime']['output']; + /** List of user's permissions. */ + userPermissions: Maybe>; +}; + /** Represents user data. */ export type UserAvatarArgs = { format?: InputMaybe; - size?: InputMaybe; + size?: InputMaybe; }; + /** Represents user data. */ export type UserCheckoutIdsArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; + /** Represents user data. */ export type UserCheckoutTokensArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; + /** Represents user data. */ export type UserCheckoutsArgs = { - after?: InputMaybe; - before?: InputMaybe; - channel?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + channel?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Represents user data. */ export type UserGiftCardsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Represents user data. */ export type UserMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents user data. */ export type UserMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents user data. */ export type UserOrdersArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; where?: InputMaybe; }; + /** Represents user data. */ export type UserPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents user data. */ export type UserPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents user data. */ export type UserStoredPaymentMethodsArgs = { - channel: Scalars["String"]["input"]; + channel: Scalars['String']['input']; }; + /** Represents user data. */ export type UserStoredPaymentSourcesArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -28912,7 +29757,7 @@ export type UserBulkSetActive = { /** @deprecated Use `errors` field instead. */ accountErrors: Array; /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -28921,31 +29766,31 @@ export type UserCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type UserCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: User; }; export type UserCreateInput = { /** Slug of a channel which will be used for notify user. Optional when only one channel exists. */ - channel?: InputMaybe; + channel?: InputMaybe; /** Billing address of the customer. */ defaultBillingAddress?: InputMaybe; /** Shipping address of the customer. */ defaultShippingAddress?: InputMaybe; /** The unique email address of the user. */ - email?: InputMaybe; + email?: InputMaybe; /** External ID of the customer. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Given name. */ - firstName?: InputMaybe; + firstName?: InputMaybe; /** User account is active. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** * User account is confirmed. * @@ -28953,11 +29798,11 @@ export type UserCreateInput = { * * The user will be always set as unconfirmed. The confirmation will take place when the user sets the password. */ - isConfirmed?: InputMaybe; + isConfirmed?: InputMaybe; /** User language code. */ languageCode?: InputMaybe; /** Family name. */ - lastName?: InputMaybe; + lastName?: InputMaybe; /** * Fields required to update the user metadata. Can be read by any API client authorized to read the object it's attached to. * @@ -28965,7 +29810,7 @@ export type UserCreateInput = { */ metadata?: InputMaybe>; /** A note about the user. */ - note?: InputMaybe; + note?: InputMaybe; /** * Fields required to update the user private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. * @@ -28973,7 +29818,7 @@ export type UserCreateInput = { */ privateMetadata?: InputMaybe>; /** URL of a view where users should be redirected to set the password. URL in RFC 1808 format. */ - redirectUrl?: InputMaybe; + redirectUrl?: InputMaybe; }; export type UserOrApp = App | User; @@ -28983,31 +29828,30 @@ export type UserPermission = { /** Internal code for permission. */ code: PermissionEnum; /** Describe action(s) allowed to do by permission. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; /** List of user permission groups which contains this permission. */ sourcePermissionGroups: Maybe>; }; + /** Represents user's permissions. */ export type UserPermissionSourcePermissionGroupsArgs = { - userId: Scalars["ID"]["input"]; + userId: Scalars['ID']['input']; }; export type UserSortField = /** Sort users by created at. */ - | "CREATED_AT" + | 'CREATED_AT' /** Sort users by email. */ - | "EMAIL" + | 'EMAIL' /** Sort users by first name. */ - | "FIRST_NAME" + | 'FIRST_NAME' /** Sort users by last modified at. */ - | "LAST_MODIFIED_AT" + | 'LAST_MODIFIED_AT' /** Sort users by last name. */ - | "LAST_NAME" + | 'LAST_NAME' /** Sort users by order count. */ - | "ORDER_COUNT" - /** Sort users by rank. Note: This option is available only with the `search` filter. */ - | "RANK"; + | 'ORDER_COUNT'; export type UserSortingInput = { /** Specifies the direction in which to sort users. */ @@ -29019,17 +29863,17 @@ export type UserSortingInput = { /** Represents a VAT rate for a country. */ export type Vat = { /** Country code. */ - countryCode: Scalars["String"]["output"]; + countryCode: Scalars['String']['output']; /** Country's VAT rate exceptions for specific types of goods. */ reducedRates: Array; /** Standard VAT rate in percent. */ - standardRate: Maybe; + standardRate: Maybe; }; export type VariantAttributeScope = - | "ALL" - | "NOT_VARIANT_SELECTION" - | "VARIANT_SELECTION"; + | 'ALL' + | 'NOT_VARIANT_SELECTION' + | 'VARIANT_SELECTION'; /** * Assign an media to a product variant. @@ -29073,7 +29917,7 @@ export type VariantPricingInfo = { */ discountPrior: Maybe; /** Whether it is in sale or not. */ - onSale: Maybe; + onSale: Maybe; /** The price, with any discount subtracted. */ price: Maybe; /** @@ -29097,196 +29941,205 @@ export type VerifyToken = { accountErrors: Array; errors: Array; /** Determine if token is valid or not. */ - isValid: Scalars["Boolean"]["output"]; + isValid: Scalars['Boolean']['output']; /** JWT payload. */ - payload: Maybe; + payload: Maybe; /** User assigned to token. */ user: Maybe; }; export type VolumeUnitsEnum = - | "ACRE_FT" - | "ACRE_IN" - | "CUBIC_CENTIMETER" - | "CUBIC_DECIMETER" - | "CUBIC_FOOT" - | "CUBIC_INCH" - | "CUBIC_METER" - | "CUBIC_MILLIMETER" - | "CUBIC_YARD" - | "FL_OZ" - | "LITER" - | "PINT" - | "QT"; + | 'ACRE_FT' + | 'ACRE_IN' + | 'CUBIC_CENTIMETER' + | 'CUBIC_DECIMETER' + | 'CUBIC_FOOT' + | 'CUBIC_INCH' + | 'CUBIC_METER' + | 'CUBIC_MILLIMETER' + | 'CUBIC_YARD' + | 'FL_OZ' + | 'LITER' + | 'PINT' + | 'QT'; /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ -export type Voucher = Node & - ObjectWithMetadata & { - /** Determine if the voucher usage should be limited to one use per customer. */ - applyOncePerCustomer: Scalars["Boolean"]["output"]; - /** Determine if the voucher should be applied once per order. If set to True, the voucher is applied to a single cheapest eligible product in checkout. */ - applyOncePerOrder: Scalars["Boolean"]["output"]; - /** List of categories this voucher applies to. */ - categories: Maybe; - /** - * List of availability in channels for the voucher. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - channelListings: Maybe>; - /** - * The code of the voucher. - * - * DEPRECATED: this field will be removed. - */ - code: Maybe; - /** - * List of codes available for this voucher. - * - * Added in Saleor 3.18. - */ - codes: Maybe; - /** - * List of collections this voucher applies to. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - collections: Maybe; - /** List of countries available for the shipping voucher. */ - countries: Maybe>; - /** Currency code for voucher. */ - currency: Maybe; - /** Voucher value. */ - discountValue: Maybe; - /** Determines a type of discount for voucher - value or percentage */ - discountValueType: DiscountValueTypeEnum; - /** The end date and time of voucher. */ - endDate: Maybe; - /** The ID of the voucher. */ - id: Scalars["ID"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Determine minimum quantity of items for checkout. */ - minCheckoutItemsQuantity: Maybe; - /** Minimum order value to apply voucher. */ - minSpent: Maybe; - /** The name of the voucher. */ - name: Maybe; - /** Determine if the voucher is available only for staff members. */ - onlyForStaff: Scalars["Boolean"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** - * List of products this voucher applies to. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - products: Maybe; - /** - * Determine if the voucher codes can be used once or multiple times. - * - * Added in Saleor 3.18. - * - * Note: this API is currently in Feature Preview and can be subject to changes at later point. - */ - singleUse: Scalars["Boolean"]["output"]; - /** The start date and time of voucher. */ - startDate: Scalars["DateTime"]["output"]; - /** Returns translated voucher fields for the given language code. */ - translation: Maybe; - /** Determines a type of voucher. */ - type: VoucherTypeEnum; - /** The number of times a voucher can be used. */ - usageLimit: Maybe; - /** Usage count of the voucher. */ - used: Scalars["Int"]["output"]; - /** - * List of product variants this voucher applies to. - * - * Requires one of the following permissions: MANAGE_DISCOUNTS. - */ - variants: Maybe; - }; +export type Voucher = Node & ObjectWithMetadata & { + /** Determine if the voucher usage should be limited to one use per customer. */ + applyOncePerCustomer: Scalars['Boolean']['output']; + /** Determine if the voucher should be applied once per order. If set to True, the voucher is applied to a single cheapest eligible product in checkout. */ + applyOncePerOrder: Scalars['Boolean']['output']; + /** List of categories this voucher applies to. */ + categories: Maybe; + /** + * List of availability in channels for the voucher. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + channelListings: Maybe>; + /** + * The code of the voucher. + * + * DEPRECATED: this field will be removed. + */ + code: Maybe; + /** + * List of codes available for this voucher. + * + * Added in Saleor 3.18. + */ + codes: Maybe; + /** + * List of collections this voucher applies to. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + collections: Maybe; + /** List of countries available for the shipping voucher. */ + countries: Maybe>; + /** Currency code for voucher. */ + currency: Maybe; + /** Voucher value. */ + discountValue: Maybe; + /** Determines a type of discount for voucher - value or percentage */ + discountValueType: DiscountValueTypeEnum; + /** The end date and time of voucher. */ + endDate: Maybe; + /** The ID of the voucher. */ + id: Scalars['ID']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Determine minimum quantity of items for checkout. */ + minCheckoutItemsQuantity: Maybe; + /** Minimum order value to apply voucher. */ + minSpent: Maybe; + /** The name of the voucher. */ + name: Maybe; + /** Determine if the voucher is available only for staff members. */ + onlyForStaff: Scalars['Boolean']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** + * List of products this voucher applies to. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + products: Maybe; + /** + * Determine if the voucher codes can be used once or multiple times. + * + * Added in Saleor 3.18. + * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + */ + singleUse: Scalars['Boolean']['output']; + /** The start date and time of voucher. */ + startDate: Scalars['DateTime']['output']; + /** Returns translated voucher fields for the given language code. */ + translation: Maybe; + /** Determines a type of voucher. */ + type: VoucherTypeEnum; + /** The number of times a voucher can be used. */ + usageLimit: Maybe; + /** Usage count of the voucher. */ + used: Scalars['Int']['output']; + /** + * List of product variants this voucher applies to. + * + * Requires one of the following permissions: MANAGE_DISCOUNTS. + */ + variants: Maybe; +}; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherCategoriesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherCodesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherCollectionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherPrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherPrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherProductsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherTranslationArgs = { languageCode: LanguageCodeEnum; }; + /** Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes. */ export type VoucherVariantsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; /** @@ -29315,7 +30168,7 @@ export type VoucherAddCatalogues = { */ export type VoucherBulkDelete = { /** Returns how many objects were affected. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; /** @deprecated Use `errors` field instead. */ discountErrors: Array; errors: Array; @@ -29326,29 +30179,29 @@ export type VoucherChannelListing = Node & { /** The channel in which voucher can be applied. */ channel: Channel; /** Currency code for voucher in a channel. */ - currency: Scalars["String"]["output"]; + currency: Scalars['String']['output']; /** The value of the discount on voucher in a channel. */ - discountValue: Scalars["Float"]["output"]; + discountValue: Scalars['Float']['output']; /** The ID of channel listing. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Minimum order value for voucher to apply in channel. */ minSpent: Maybe; }; export type VoucherChannelListingAddInput = { /** ID of a channel. */ - channelId: Scalars["ID"]["input"]; + channelId: Scalars['ID']['input']; /** Value of the voucher. */ - discountValue?: InputMaybe; + discountValue?: InputMaybe; /** Min purchase amount required to apply the voucher. */ - minAmountSpent?: InputMaybe; + minAmountSpent?: InputMaybe; }; export type VoucherChannelListingInput = { /** List of channels to which the voucher should be assigned. */ addChannels?: InputMaybe>; /** List of channels from which the voucher should be unassigned. */ - removeChannels?: InputMaybe>; + removeChannels?: InputMaybe>; }; /** @@ -29376,15 +30229,15 @@ export type VoucherChannelListingUpdate = { */ export type VoucherCode = { /** Code to use the voucher. */ - code: Maybe; + code: Maybe; /** Date time of code creation. */ - createdAt: Scalars["DateTime"]["output"]; + createdAt: Scalars['DateTime']['output']; /** The ID of the voucher code. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Whether a code is active or not. */ - isActive: Maybe; + isActive: Maybe; /** Number of times a code has been used. */ - used: Maybe; + used: Maybe; }; /** @@ -29399,7 +30252,7 @@ export type VoucherCode = { */ export type VoucherCodeBulkDelete = { /** Returns how many codes were deleted. */ - count: Scalars["Int"]["output"]; + count: Scalars['Int']['output']; errors: Array; }; @@ -29407,29 +30260,29 @@ export type VoucherCodeBulkDeleteError = { /** The error code. */ code: VoucherCodeBulkDeleteErrorCode; /** The error message. */ - message: Maybe; + message: Maybe; /** Path to field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - path: Maybe; + path: Maybe; /** List of voucher codes which causes the error. */ - voucherCodes: Maybe>; + voucherCodes: Maybe>; }; export type VoucherCodeBulkDeleteErrorCode = - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND"; + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND'; export type VoucherCodeCountableConnection = { edges: Array; /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type VoucherCodeCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: VoucherCode; }; @@ -29443,13 +30296,13 @@ export type VoucherCodeExportCompleted = Event & { /** The export file for voucher codes. */ export: Maybe; /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; }; /** @@ -29459,13 +30312,13 @@ export type VoucherCodeExportCompleted = Event & { */ export type VoucherCodesCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The voucher codes the event relates to. */ voucherCodes: Maybe>; }; @@ -29477,13 +30330,13 @@ export type VoucherCodesCreated = Event & { */ export type VoucherCodesDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The voucher codes the event relates to. */ voucherCodes: Maybe>; }; @@ -29493,12 +30346,12 @@ export type VoucherCountableConnection = { /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type VoucherCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Voucher; }; @@ -29522,20 +30375,21 @@ export type VoucherCreate = { /** Event sent when new voucher is created. */ export type VoucherCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The voucher the event relates to. */ voucher: Maybe; }; + /** Event sent when new voucher is created. */ export type VoucherCreatedVoucherArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -29556,29 +30410,33 @@ export type VoucherDelete = { /** Event sent when voucher is deleted. */ export type VoucherDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The voucher the event relates to. */ voucher: Maybe; }; + /** Event sent when voucher is deleted. */ export type VoucherDeletedVoucherArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; -export type VoucherDiscountType = "FIXED" | "PERCENTAGE" | "SHIPPING"; +export type VoucherDiscountType = + | 'FIXED' + | 'PERCENTAGE' + | 'SHIPPING'; export type VoucherFilterInput = { discountType?: InputMaybe>; - ids?: InputMaybe>; + ids?: InputMaybe>; metadata?: InputMaybe>; - search?: InputMaybe; + search?: InputMaybe; started?: InputMaybe; status?: InputMaybe>; timesUsed?: InputMaybe; @@ -29592,35 +30450,35 @@ export type VoucherInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - addCodes?: InputMaybe>; + addCodes?: InputMaybe>; /** Voucher should be applied once per customer. */ - applyOncePerCustomer?: InputMaybe; + applyOncePerCustomer?: InputMaybe; /** Voucher should be applied to the cheapest item or entire order. */ - applyOncePerOrder?: InputMaybe; + applyOncePerOrder?: InputMaybe; /** Categories discounted by the voucher. */ - categories?: InputMaybe>; + categories?: InputMaybe>; /** * Code to use the voucher. * * DEPRECATED: this field will be removed. Use `addCodes` instead. */ - code?: InputMaybe; + code?: InputMaybe; /** Collections discounted by the voucher. */ - collections?: InputMaybe>; + collections?: InputMaybe>; /** Country codes that can be used with the shipping voucher. */ - countries?: InputMaybe>; + countries?: InputMaybe>; /** Choices: fixed or percentage. */ discountValueType?: InputMaybe; /** End date of the voucher in ISO 8601 format. */ - endDate?: InputMaybe; + endDate?: InputMaybe; /** Minimal quantity of checkout items required to apply the voucher. */ - minCheckoutItemsQuantity?: InputMaybe; + minCheckoutItemsQuantity?: InputMaybe; /** Voucher name. */ - name?: InputMaybe; + name?: InputMaybe; /** Voucher can be used only by staff user. */ - onlyForStaff?: InputMaybe; + onlyForStaff?: InputMaybe; /** Products discounted by the voucher. */ - products?: InputMaybe>; + products?: InputMaybe>; /** * When set to 'True', each voucher code can be used only once; otherwise, codes can be used multiple times depending on `usageLimit`. * @@ -29630,34 +30488,35 @@ export type VoucherInput = { * * Note: this API is currently in Feature Preview and can be subject to changes at later point. */ - singleUse?: InputMaybe; + singleUse?: InputMaybe; /** Start date of the voucher in ISO 8601 format. */ - startDate?: InputMaybe; + startDate?: InputMaybe; /** Voucher type: PRODUCT, CATEGORY SHIPPING or ENTIRE_ORDER. */ type?: InputMaybe; /** Limit number of times this voucher can be used in total. */ - usageLimit?: InputMaybe; + usageLimit?: InputMaybe; /** Variants discounted by the voucher. */ - variants?: InputMaybe>; + variants?: InputMaybe>; }; /** Event sent when voucher metadata is updated. */ export type VoucherMetadataUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The voucher the event relates to. */ voucher: Maybe; }; + /** Event sent when voucher metadata is updated. */ export type VoucherMetadataUpdatedVoucherArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** @@ -29678,33 +30537,33 @@ export type VoucherRemoveCatalogues = { export type VoucherSortField = /** Sort vouchers by code. */ - | "CODE" + | 'CODE' /** Sort vouchers by end date. */ - | "END_DATE" + | 'END_DATE' /** * Sort vouchers by minimum spent amount. * * This option requires a channel filter to work as the values can vary between channels. */ - | "MINIMUM_SPENT_AMOUNT" + | 'MINIMUM_SPENT_AMOUNT' /** * Sort vouchers by name. * * Added in Saleor 3.18. */ - | "NAME" + | 'NAME' /** Sort vouchers by start date. */ - | "START_DATE" + | 'START_DATE' /** Sort vouchers by type. */ - | "TYPE" + | 'TYPE' /** Sort vouchers by usage limit. */ - | "USAGE_LIMIT" + | 'USAGE_LIMIT' /** * Sort vouchers by value. * * This option requires a channel filter to work as the values can vary between channels. */ - | "VALUE"; + | 'VALUE'; export type VoucherSortingInput = { /** @@ -29712,7 +30571,7 @@ export type VoucherSortingInput = { * * DEPRECATED: this field will be removed. Use root-level channel argument instead. */ - channel?: InputMaybe; + channel?: InputMaybe; /** Specifies the direction in which to sort vouchers. */ direction: OrderDirection; /** Sort vouchers by the selected field. */ @@ -29722,9 +30581,9 @@ export type VoucherSortingInput = { /** Represents voucher's original translatable fields and related translations. */ export type VoucherTranslatableContent = Node & { /** The ID of the voucher translatable content. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Voucher name to translate. */ - name: Maybe; + name: Maybe; /** Returns translated voucher fields for the given language code. */ translation: Maybe; /** @@ -29735,9 +30594,10 @@ export type VoucherTranslatableContent = Node & { */ voucher: Maybe; /** The ID of the voucher to translate. */ - voucherId: Scalars["ID"]["output"]; + voucherId: Scalars['ID']['output']; }; + /** Represents voucher's original translatable fields and related translations. */ export type VoucherTranslatableContentTranslationArgs = { languageCode: LanguageCodeEnum; @@ -29758,16 +30618,19 @@ export type VoucherTranslate = { /** Represents voucher translations. */ export type VoucherTranslation = Node & { /** The ID of the voucher translation. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Translation language. */ language: LanguageDisplay; /** Translated voucher name. */ - name: Maybe; + name: Maybe; /** Represents the voucher fields to translate. */ translatableContent: Maybe; }; -export type VoucherTypeEnum = "ENTIRE_ORDER" | "SHIPPING" | "SPECIFIC_PRODUCT"; +export type VoucherTypeEnum = + | 'ENTIRE_ORDER' + | 'SHIPPING' + | 'SPECIFIC_PRODUCT'; /** * Updates a voucher. @@ -29788,127 +30651,136 @@ export type VoucherUpdate = { /** Event sent when voucher is updated. */ export type VoucherUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The voucher the event relates to. */ voucher: Maybe; }; + /** Event sent when voucher is updated. */ export type VoucherUpdatedVoucherArgs = { - channel?: InputMaybe; + channel?: InputMaybe; }; /** Represents warehouse. */ -export type Warehouse = Node & - ObjectWithMetadata & { - /** Address of the warehouse. */ - address: Address; - /** Click and collect options: local, all or disabled. */ - clickAndCollectOption: WarehouseClickAndCollectOptionEnum; - /** - * Warehouse company name. - * @deprecated Use `Address.companyName` instead. - */ - companyName: Scalars["String"]["output"]; - /** Warehouse email. */ - email: Scalars["String"]["output"]; - /** External ID of this warehouse. */ - externalReference: Maybe; - /** The ID of the warehouse. */ - id: Scalars["ID"]["output"]; - /** Determine if the warehouse is private. */ - isPrivate: Scalars["Boolean"]["output"]; - /** List of public metadata items. Can be accessed without permissions. */ - metadata: Array; - /** - * A single key from public metadata. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - metafield: Maybe; - /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ - metafields: Maybe; - /** Warehouse name. */ - name: Scalars["String"]["output"]; - /** List of private metadata items. Requires staff permissions to access. */ - privateMetadata: Array; - /** - * A single key from private metadata. Requires staff permissions to access. - * - * Tip: Use GraphQL aliases to fetch multiple keys. - */ - privateMetafield: Maybe; - /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ - privateMetafields: Maybe; - /** Shipping zones supported by the warehouse. */ - shippingZones: ShippingZoneCountableConnection; - /** Warehouse slug. */ - slug: Scalars["String"]["output"]; - /** - * Stocks that belong to this warehouse. - * - * Added in Saleor 3.20. - * - * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. - */ - stocks: Maybe; - }; +export type Warehouse = Node & ObjectWithMetadata & { + /** Address of the warehouse. */ + address: Address; + /** Click and collect options: local, all or disabled. */ + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; + /** + * Warehouse company name. + * @deprecated Use `Address.companyName` instead. + */ + companyName: Scalars['String']['output']; + /** Warehouse email. */ + email: Scalars['String']['output']; + /** External ID of this warehouse. */ + externalReference: Maybe; + /** The ID of the warehouse. */ + id: Scalars['ID']['output']; + /** Determine if the warehouse is private. */ + isPrivate: Scalars['Boolean']['output']; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** Warehouse name. */ + name: Scalars['String']['output']; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Shipping zones supported by the warehouse. */ + shippingZones: ShippingZoneCountableConnection; + /** Warehouse slug. */ + slug: Scalars['String']['output']; + /** + * Stocks that belong to this warehouse. + * + * Added in Saleor 3.20. + * + * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. + */ + stocks: Maybe; +}; + /** Represents warehouse. */ export type WarehouseMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents warehouse. */ export type WarehouseMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents warehouse. */ export type WarehousePrivateMetafieldArgs = { - key: Scalars["String"]["input"]; + key: Scalars['String']['input']; }; + /** Represents warehouse. */ export type WarehousePrivateMetafieldsArgs = { - keys?: InputMaybe>; + keys?: InputMaybe>; }; + /** Represents warehouse. */ export type WarehouseShippingZonesArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; + /** Represents warehouse. */ export type WarehouseStocksArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; -export type WarehouseClickAndCollectOptionEnum = "ALL" | "DISABLED" | "LOCAL"; +export type WarehouseClickAndCollectOptionEnum = + | 'ALL' + | 'DISABLED' + | 'LOCAL'; export type WarehouseCountableConnection = { edges: Array; /** Pagination data for this connection. */ pageInfo: PageInfo; /** A total count of items in the collection. */ - totalCount: Maybe; + totalCount: Maybe; }; export type WarehouseCountableEdge = { /** A cursor for use in pagination. */ - cursor: Scalars["String"]["output"]; + cursor: Scalars['String']['output']; /** The item at the end of the edge. */ node: Warehouse; }; @@ -29929,31 +30801,31 @@ export type WarehouseCreateInput = { /** Address of the warehouse. */ address: AddressInput; /** The email address of the warehouse. */ - email?: InputMaybe; + email?: InputMaybe; /** External ID of the warehouse. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Warehouse name. */ - name: Scalars["String"]["input"]; + name: Scalars['String']['input']; /** * Shipping zones supported by the warehouse. * * DEPRECATED: this field will be removed. Providing the zone ids will raise a ValidationError. */ - shippingZones?: InputMaybe>; + shippingZones?: InputMaybe>; /** Warehouse slug. */ - slug?: InputMaybe; + slug?: InputMaybe; }; /** Event sent when new warehouse is created. */ export type WarehouseCreated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The warehouse the event relates to. */ warehouse: Maybe; }; @@ -29973,13 +30845,13 @@ export type WarehouseDelete = { /** Event sent when warehouse is deleted. */ export type WarehouseDeleted = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The warehouse the event relates to. */ warehouse: Maybe; }; @@ -29988,41 +30860,41 @@ export type WarehouseError = { /** The error code. */ code: WarehouseErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; /** List of shipping zones IDs which causes the error. */ - shippingZones: Maybe>; + shippingZones: Maybe>; }; export type WarehouseErrorCode = - | "ALREADY_EXISTS" - | "GRAPHQL_ERROR" - | "INVALID" - | "NOT_FOUND" - | "REQUIRED" - | "UNIQUE"; + | 'ALREADY_EXISTS' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'NOT_FOUND' + | 'REQUIRED' + | 'UNIQUE'; export type WarehouseFilterInput = { - channels?: InputMaybe>; + channels?: InputMaybe>; clickAndCollectOption?: InputMaybe; - ids?: InputMaybe>; - isPrivate?: InputMaybe; + ids?: InputMaybe>; + isPrivate?: InputMaybe; metadata?: InputMaybe>; - search?: InputMaybe; - slugs?: InputMaybe>; + search?: InputMaybe; + slugs?: InputMaybe>; }; /** Event sent when warehouse metadata is updated. */ export type WarehouseMetadataUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The warehouse the event relates to. */ warehouse: Maybe; }; @@ -30053,7 +30925,7 @@ export type WarehouseShippingZoneUnassign = { export type WarehouseSortField = /** Sort warehouses by name. */ - "NAME"; + | 'NAME'; export type WarehouseSortingInput = { /** Specifies the direction in which to sort warehouses. */ @@ -30080,27 +30952,27 @@ export type WarehouseUpdateInput = { /** Click and collect options: local, all or disabled. */ clickAndCollectOption?: InputMaybe; /** The email address of the warehouse. */ - email?: InputMaybe; + email?: InputMaybe; /** External ID of the warehouse. */ - externalReference?: InputMaybe; + externalReference?: InputMaybe; /** Visibility of warehouse stocks. */ - isPrivate?: InputMaybe; + isPrivate?: InputMaybe; /** Warehouse name. */ - name?: InputMaybe; + name?: InputMaybe; /** Warehouse slug. */ - slug?: InputMaybe; + slug?: InputMaybe; }; /** Event sent when warehouse is updated. */ export type WarehouseUpdated = Event & { /** Time of the event. */ - issuedAt: Maybe; + issuedAt: Maybe; /** The user or application that triggered the event. */ issuingPrincipal: Maybe; /** The application receiving the webhook. */ recipient: Maybe; /** Saleor version that triggered the event. */ - version: Maybe; + version: Maybe; /** The warehouse the event relates to. */ warehouse: Maybe; }; @@ -30112,7 +30984,7 @@ export type Webhook = Node & { /** List of asynchronous webhook events. */ asyncEvents: Array; /** Custom headers, which will be added to HTTP request. */ - customHeaders: Maybe; + customHeaders: Maybe; /** Event deliveries. */ eventDeliveries: Maybe; /** @@ -30121,31 +30993,32 @@ export type Webhook = Node & { */ events: Array; /** The ID of webhook. */ - id: Scalars["ID"]["output"]; + id: Scalars['ID']['output']; /** Informs if webhook is activated. */ - isActive: Scalars["Boolean"]["output"]; + isActive: Scalars['Boolean']['output']; /** The name of webhook. */ - name: Maybe; + name: Maybe; /** * Used to create a hash signature for each payload. * @deprecated As of Saleor 3.5, webhook payloads default to signing using a verifiable JWS. */ - secretKey: Maybe; + secretKey: Maybe; /** Used to define payloads for specific events. */ - subscriptionQuery: Maybe; + subscriptionQuery: Maybe; /** List of synchronous webhook events. */ syncEvents: Array; /** Target URL for webhook. */ - targetUrl: Scalars["String"]["output"]; + targetUrl: Scalars['String']['output']; }; + /** Webhook. */ export type WebhookEventDeliveriesArgs = { - after?: InputMaybe; - before?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; filter?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; sortBy?: InputMaybe; }; @@ -30163,11 +31036,11 @@ export type WebhookCreate = { export type WebhookCreateInput = { /** ID of the app to which webhook belongs. */ - app?: InputMaybe; + app?: InputMaybe; /** The asynchronous events that webhook wants to subscribe. */ asyncEvents?: InputMaybe>; /** Custom headers, which will be added to HTTP request. There is a limitation of 5 headers per webhook and 998 characters per header.Only `X-*`, `Authorization*`, and `BrokerProperties` keys are allowed. */ - customHeaders?: InputMaybe; + customHeaders?: InputMaybe; /** * The events that webhook wants to subscribe. * @@ -30175,21 +31048,21 @@ export type WebhookCreateInput = { */ events?: InputMaybe>; /** Determine if webhook will be set active or not. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** The name of the webhook. */ - name?: InputMaybe; + name?: InputMaybe; /** Subscription query used to define a webhook payload. */ - query?: InputMaybe; + query?: InputMaybe; /** * The secret key used to create a hash signature with each payload. * * DEPRECATED: this field will be removed. As of Saleor 3.5, webhook payloads default to signing using a verifiable JWS. */ - secretKey?: InputMaybe; + secretKey?: InputMaybe; /** The synchronous events that webhook wants to subscribe. */ syncEvents?: InputMaybe>; /** The url to receive the payload. */ - targetUrl?: InputMaybe; + targetUrl?: InputMaybe; }; /** @@ -30212,58 +31085,58 @@ export type WebhookDelete = { export type WebhookDryRun = { errors: Array; /** JSON payload, that would be sent out to webhook's target URL. */ - payload: Maybe; + payload: Maybe; }; export type WebhookDryRunError = { /** The error code. */ code: WebhookDryRunErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type WebhookDryRunErrorCode = - | "GRAPHQL_ERROR" - | "INVALID_ID" - | "MISSING_EVENT" - | "MISSING_PERMISSION" - | "MISSING_SUBSCRIPTION" - | "NOT_FOUND" - | "SYNTAX" - | "TYPE_NOT_SUPPORTED" - | "UNABLE_TO_PARSE"; + | 'GRAPHQL_ERROR' + | 'INVALID_ID' + | 'MISSING_EVENT' + | 'MISSING_PERMISSION' + | 'MISSING_SUBSCRIPTION' + | 'NOT_FOUND' + | 'SYNTAX' + | 'TYPE_NOT_SUPPORTED' + | 'UNABLE_TO_PARSE'; export type WebhookError = { /** The error code. */ code: WebhookErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type WebhookErrorCode = - | "DELETE_FAILED" - | "GRAPHQL_ERROR" - | "INVALID" - | "INVALID_CUSTOM_HEADERS" - | "INVALID_NOTIFY_WITH_SUBSCRIPTION" - | "MISSING_EVENT" - | "MISSING_SUBSCRIPTION" - | "NOT_FOUND" - | "REQUIRED" - | "SYNTAX" - | "UNABLE_TO_PARSE" - | "UNIQUE"; + | 'DELETE_FAILED' + | 'GRAPHQL_ERROR' + | 'INVALID' + | 'INVALID_CUSTOM_HEADERS' + | 'INVALID_NOTIFY_WITH_SUBSCRIPTION' + | 'MISSING_EVENT' + | 'MISSING_SUBSCRIPTION' + | 'NOT_FOUND' + | 'REQUIRED' + | 'SYNTAX' + | 'UNABLE_TO_PARSE' + | 'UNIQUE'; /** Webhook event. */ export type WebhookEvent = { /** Internal name of the event type. */ eventType: WebhookEventTypeEnum; /** Display name of the event. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; /** Asynchronous webhook event. */ @@ -30271,7 +31144,7 @@ export type WebhookEventAsync = { /** Internal name of the event type. */ eventType: WebhookEventTypeAsyncEnum; /** Display name of the event. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; /** Synchronous webhook event. */ @@ -30279,830 +31152,830 @@ export type WebhookEventSync = { /** Internal name of the event type. */ eventType: WebhookEventTypeSyncEnum; /** Display name of the event. */ - name: Scalars["String"]["output"]; + name: Scalars['String']['output']; }; /** Enum determining type of webhook. */ export type WebhookEventTypeAsyncEnum = /** An account email change is requested. */ - | "ACCOUNT_CHANGE_EMAIL_REQUESTED" + | 'ACCOUNT_CHANGE_EMAIL_REQUESTED' /** An account confirmation is requested. */ - | "ACCOUNT_CONFIRMATION_REQUESTED" + | 'ACCOUNT_CONFIRMATION_REQUESTED' /** An account is confirmed. */ - | "ACCOUNT_CONFIRMED" + | 'ACCOUNT_CONFIRMED' /** An account is deleted. */ - | "ACCOUNT_DELETED" + | 'ACCOUNT_DELETED' /** An account delete is requested. */ - | "ACCOUNT_DELETE_REQUESTED" + | 'ACCOUNT_DELETE_REQUESTED' /** An account email was changed */ - | "ACCOUNT_EMAIL_CHANGED" + | 'ACCOUNT_EMAIL_CHANGED' /** Setting a new password for the account is requested. */ - | "ACCOUNT_SET_PASSWORD_REQUESTED" + | 'ACCOUNT_SET_PASSWORD_REQUESTED' /** A new address created. */ - | "ADDRESS_CREATED" + | 'ADDRESS_CREATED' /** An address deleted. */ - | "ADDRESS_DELETED" + | 'ADDRESS_DELETED' /** An address updated. */ - | "ADDRESS_UPDATED" + | 'ADDRESS_UPDATED' /** All the events. */ - | "ANY_EVENTS" + | 'ANY_EVENTS' /** An app deleted. */ - | "APP_DELETED" + | 'APP_DELETED' /** A new app installed. */ - | "APP_INSTALLED" + | 'APP_INSTALLED' /** An app status is changed. */ - | "APP_STATUS_CHANGED" + | 'APP_STATUS_CHANGED' /** An app updated. */ - | "APP_UPDATED" + | 'APP_UPDATED' /** A new attribute is created. */ - | "ATTRIBUTE_CREATED" + | 'ATTRIBUTE_CREATED' /** An attribute is deleted. */ - | "ATTRIBUTE_DELETED" + | 'ATTRIBUTE_DELETED' /** An attribute is updated. */ - | "ATTRIBUTE_UPDATED" + | 'ATTRIBUTE_UPDATED' /** A new attribute value is created. */ - | "ATTRIBUTE_VALUE_CREATED" + | 'ATTRIBUTE_VALUE_CREATED' /** An attribute value is deleted. */ - | "ATTRIBUTE_VALUE_DELETED" + | 'ATTRIBUTE_VALUE_DELETED' /** An attribute value is updated. */ - | "ATTRIBUTE_VALUE_UPDATED" + | 'ATTRIBUTE_VALUE_UPDATED' /** A new category created. */ - | "CATEGORY_CREATED" + | 'CATEGORY_CREATED' /** A category is deleted. */ - | "CATEGORY_DELETED" + | 'CATEGORY_DELETED' /** A category is updated. */ - | "CATEGORY_UPDATED" + | 'CATEGORY_UPDATED' /** A new channel created. */ - | "CHANNEL_CREATED" + | 'CHANNEL_CREATED' /** A channel is deleted. */ - | "CHANNEL_DELETED" + | 'CHANNEL_DELETED' /** A channel metadata is updated. */ - | "CHANNEL_METADATA_UPDATED" + | 'CHANNEL_METADATA_UPDATED' /** A channel status is changed. */ - | "CHANNEL_STATUS_CHANGED" + | 'CHANNEL_STATUS_CHANGED' /** A channel is updated. */ - | "CHANNEL_UPDATED" + | 'CHANNEL_UPDATED' /** A new checkout is created. */ - | "CHECKOUT_CREATED" + | 'CHECKOUT_CREATED' /** * A checkout was fully authorized (its `authorizeStatus` is `FULL`). * * This event is emitted only for checkouts whose payments are processed through the Transaction API. */ - | "CHECKOUT_FULLY_AUTHORIZED" + | 'CHECKOUT_FULLY_AUTHORIZED' /** * A checkout was fully paid (its `chargeStatus` is `FULL` or `OVERCHARGED`). This event is not sent if payments are only authorized but not fully charged. * * This event is emitted only for checkouts whose payments are processed through the Transaction API. */ - | "CHECKOUT_FULLY_PAID" + | 'CHECKOUT_FULLY_PAID' /** A checkout metadata is updated. */ - | "CHECKOUT_METADATA_UPDATED" + | 'CHECKOUT_METADATA_UPDATED' /** A checkout is updated. It also triggers all updates related to the checkout. */ - | "CHECKOUT_UPDATED" + | 'CHECKOUT_UPDATED' /** A new collection is created. */ - | "COLLECTION_CREATED" + | 'COLLECTION_CREATED' /** A collection is deleted. */ - | "COLLECTION_DELETED" + | 'COLLECTION_DELETED' /** A collection metadata is updated. */ - | "COLLECTION_METADATA_UPDATED" + | 'COLLECTION_METADATA_UPDATED' /** A collection is updated. */ - | "COLLECTION_UPDATED" + | 'COLLECTION_UPDATED' /** A new customer account is created. */ - | "CUSTOMER_CREATED" + | 'CUSTOMER_CREATED' /** A customer account is deleted. */ - | "CUSTOMER_DELETED" + | 'CUSTOMER_DELETED' /** A customer account metadata is updated. */ - | "CUSTOMER_METADATA_UPDATED" + | 'CUSTOMER_METADATA_UPDATED' /** A customer account is updated. */ - | "CUSTOMER_UPDATED" + | 'CUSTOMER_UPDATED' /** A draft order is created. */ - | "DRAFT_ORDER_CREATED" + | 'DRAFT_ORDER_CREATED' /** A draft order is deleted. */ - | "DRAFT_ORDER_DELETED" + | 'DRAFT_ORDER_DELETED' /** A draft order is updated. */ - | "DRAFT_ORDER_UPDATED" + | 'DRAFT_ORDER_UPDATED' /** A fulfillment is approved. */ - | "FULFILLMENT_APPROVED" + | 'FULFILLMENT_APPROVED' /** A fulfillment is cancelled. */ - | "FULFILLMENT_CANCELED" + | 'FULFILLMENT_CANCELED' /** A new fulfillment is created. */ - | "FULFILLMENT_CREATED" + | 'FULFILLMENT_CREATED' /** A fulfillment metadata is updated. */ - | "FULFILLMENT_METADATA_UPDATED" - | "FULFILLMENT_TRACKING_NUMBER_UPDATED" + | 'FULFILLMENT_METADATA_UPDATED' + | 'FULFILLMENT_TRACKING_NUMBER_UPDATED' /** A new gift card created. */ - | "GIFT_CARD_CREATED" + | 'GIFT_CARD_CREATED' /** A gift card is deleted. */ - | "GIFT_CARD_DELETED" + | 'GIFT_CARD_DELETED' /** A gift card export is completed. */ - | "GIFT_CARD_EXPORT_COMPLETED" + | 'GIFT_CARD_EXPORT_COMPLETED' /** A gift card metadata is updated. */ - | "GIFT_CARD_METADATA_UPDATED" + | 'GIFT_CARD_METADATA_UPDATED' /** A gift card has been sent. */ - | "GIFT_CARD_SENT" + | 'GIFT_CARD_SENT' /** A gift card status is changed. */ - | "GIFT_CARD_STATUS_CHANGED" + | 'GIFT_CARD_STATUS_CHANGED' /** A gift card is updated. */ - | "GIFT_CARD_UPDATED" + | 'GIFT_CARD_UPDATED' /** An invoice is deleted. */ - | "INVOICE_DELETED" + | 'INVOICE_DELETED' /** An invoice for order requested. */ - | "INVOICE_REQUESTED" + | 'INVOICE_REQUESTED' /** Invoice has been sent. */ - | "INVOICE_SENT" + | 'INVOICE_SENT' /** A new menu created. */ - | "MENU_CREATED" + | 'MENU_CREATED' /** A menu is deleted. */ - | "MENU_DELETED" + | 'MENU_DELETED' /** A new menu item created. */ - | "MENU_ITEM_CREATED" + | 'MENU_ITEM_CREATED' /** A menu item is deleted. */ - | "MENU_ITEM_DELETED" + | 'MENU_ITEM_DELETED' /** A menu item is updated. */ - | "MENU_ITEM_UPDATED" + | 'MENU_ITEM_UPDATED' /** A menu is updated. */ - | "MENU_UPDATED" + | 'MENU_UPDATED' /** User notification triggered. */ - | "NOTIFY_USER" + | 'NOTIFY_USER' /** An observability event is created. */ - | "OBSERVABILITY" + | 'OBSERVABILITY' /** Orders are imported. */ - | "ORDER_BULK_CREATED" + | 'ORDER_BULK_CREATED' /** An order is cancelled. */ - | "ORDER_CANCELLED" + | 'ORDER_CANCELLED' /** An order is confirmed (status change unconfirmed -> unfulfilled) by a staff user using the OrderConfirm mutation. It also triggers when the user completes the checkout and the shop setting `automatically_confirm_all_new_orders` is enabled. */ - | "ORDER_CONFIRMED" + | 'ORDER_CONFIRMED' /** A new order is placed. */ - | "ORDER_CREATED" + | 'ORDER_CREATED' /** An order is expired. */ - | "ORDER_EXPIRED" + | 'ORDER_EXPIRED' /** An order is fulfilled. */ - | "ORDER_FULFILLED" + | 'ORDER_FULFILLED' /** Payment is made and an order is fully paid. */ - | "ORDER_FULLY_PAID" + | 'ORDER_FULLY_PAID' /** The order is fully refunded. */ - | "ORDER_FULLY_REFUNDED" + | 'ORDER_FULLY_REFUNDED' /** An order metadata is updated. */ - | "ORDER_METADATA_UPDATED" + | 'ORDER_METADATA_UPDATED' /** Payment has been made. The order may be partially or fully paid. */ - | "ORDER_PAID" + | 'ORDER_PAID' /** The order received a refund. The order may be partially or fully refunded. */ - | "ORDER_REFUNDED" + | 'ORDER_REFUNDED' /** An order is updated; triggered for all changes related to an order; covers all other order webhooks, except for ORDER_CREATED. */ - | "ORDER_UPDATED" + | 'ORDER_UPDATED' /** A new page is created. */ - | "PAGE_CREATED" + | 'PAGE_CREATED' /** A page is deleted. */ - | "PAGE_DELETED" + | 'PAGE_DELETED' /** A new page type is created. */ - | "PAGE_TYPE_CREATED" + | 'PAGE_TYPE_CREATED' /** A page type is deleted. */ - | "PAGE_TYPE_DELETED" + | 'PAGE_TYPE_DELETED' /** A page type is updated. */ - | "PAGE_TYPE_UPDATED" + | 'PAGE_TYPE_UPDATED' /** A page is updated. */ - | "PAGE_UPDATED" + | 'PAGE_UPDATED' /** A new permission group is created. */ - | "PERMISSION_GROUP_CREATED" + | 'PERMISSION_GROUP_CREATED' /** A permission group is deleted. */ - | "PERMISSION_GROUP_DELETED" + | 'PERMISSION_GROUP_DELETED' /** A permission group is updated. */ - | "PERMISSION_GROUP_UPDATED" + | 'PERMISSION_GROUP_UPDATED' /** A new product is created. */ - | "PRODUCT_CREATED" + | 'PRODUCT_CREATED' /** A product is deleted. */ - | "PRODUCT_DELETED" + | 'PRODUCT_DELETED' /** A product export is completed. */ - | "PRODUCT_EXPORT_COMPLETED" + | 'PRODUCT_EXPORT_COMPLETED' /** A new product media is created. */ - | "PRODUCT_MEDIA_CREATED" + | 'PRODUCT_MEDIA_CREATED' /** A product media is deleted. */ - | "PRODUCT_MEDIA_DELETED" + | 'PRODUCT_MEDIA_DELETED' /** A product media is updated. */ - | "PRODUCT_MEDIA_UPDATED" + | 'PRODUCT_MEDIA_UPDATED' /** A product metadata is updated. */ - | "PRODUCT_METADATA_UPDATED" + | 'PRODUCT_METADATA_UPDATED' /** A product is updated. */ - | "PRODUCT_UPDATED" + | 'PRODUCT_UPDATED' /** A product variant is back in stock. */ - | "PRODUCT_VARIANT_BACK_IN_STOCK" + | 'PRODUCT_VARIANT_BACK_IN_STOCK' /** A new product variant is created. */ - | "PRODUCT_VARIANT_CREATED" + | 'PRODUCT_VARIANT_CREATED' /** A product variant is deleted. Warning: this event will not be executed when parent product has been deleted. Check PRODUCT_DELETED. */ - | "PRODUCT_VARIANT_DELETED" - | "PRODUCT_VARIANT_DISCOUNTED_PRICE_UPDATED" + | 'PRODUCT_VARIANT_DELETED' + | 'PRODUCT_VARIANT_DISCOUNTED_PRICE_UPDATED' /** A product variant metadata is updated. */ - | "PRODUCT_VARIANT_METADATA_UPDATED" + | 'PRODUCT_VARIANT_METADATA_UPDATED' /** A product variant is out of stock. */ - | "PRODUCT_VARIANT_OUT_OF_STOCK" + | 'PRODUCT_VARIANT_OUT_OF_STOCK' /** A product variant stock is updated */ - | "PRODUCT_VARIANT_STOCK_UPDATED" + | 'PRODUCT_VARIANT_STOCK_UPDATED' /** A product variant is updated. */ - | "PRODUCT_VARIANT_UPDATED" + | 'PRODUCT_VARIANT_UPDATED' /** A promotion is created. */ - | "PROMOTION_CREATED" + | 'PROMOTION_CREATED' /** A promotion is deleted. */ - | "PROMOTION_DELETED" + | 'PROMOTION_DELETED' /** A promotion is deactivated. */ - | "PROMOTION_ENDED" + | 'PROMOTION_ENDED' /** A promotion rule is created. */ - | "PROMOTION_RULE_CREATED" + | 'PROMOTION_RULE_CREATED' /** A promotion rule is deleted. */ - | "PROMOTION_RULE_DELETED" + | 'PROMOTION_RULE_DELETED' /** A promotion rule is updated. */ - | "PROMOTION_RULE_UPDATED" + | 'PROMOTION_RULE_UPDATED' /** A promotion is activated. */ - | "PROMOTION_STARTED" + | 'PROMOTION_STARTED' /** A promotion is updated. */ - | "PROMOTION_UPDATED" + | 'PROMOTION_UPDATED' /** A sale is created. */ - | "SALE_CREATED" + | 'SALE_CREATED' /** A sale is deleted. */ - | "SALE_DELETED" + | 'SALE_DELETED' /** A sale is activated or deactivated. */ - | "SALE_TOGGLE" + | 'SALE_TOGGLE' /** A sale is updated. */ - | "SALE_UPDATED" + | 'SALE_UPDATED' /** A new shipping price is created. */ - | "SHIPPING_PRICE_CREATED" + | 'SHIPPING_PRICE_CREATED' /** A shipping price is deleted. */ - | "SHIPPING_PRICE_DELETED" + | 'SHIPPING_PRICE_DELETED' /** A shipping price is updated. */ - | "SHIPPING_PRICE_UPDATED" + | 'SHIPPING_PRICE_UPDATED' /** A new shipping zone is created. */ - | "SHIPPING_ZONE_CREATED" + | 'SHIPPING_ZONE_CREATED' /** A shipping zone is deleted. */ - | "SHIPPING_ZONE_DELETED" + | 'SHIPPING_ZONE_DELETED' /** A shipping zone metadata is updated. */ - | "SHIPPING_ZONE_METADATA_UPDATED" + | 'SHIPPING_ZONE_METADATA_UPDATED' /** A shipping zone is updated. */ - | "SHIPPING_ZONE_UPDATED" + | 'SHIPPING_ZONE_UPDATED' /** Shop metadata is updated. */ - | "SHOP_METADATA_UPDATED" + | 'SHOP_METADATA_UPDATED' /** A new staff user is created. */ - | "STAFF_CREATED" + | 'STAFF_CREATED' /** A staff user is deleted. */ - | "STAFF_DELETED" + | 'STAFF_DELETED' /** Setting a new password for the staff account is requested. */ - | "STAFF_SET_PASSWORD_REQUESTED" + | 'STAFF_SET_PASSWORD_REQUESTED' /** A staff user is updated. */ - | "STAFF_UPDATED" + | 'STAFF_UPDATED' /** A thumbnail is created. */ - | "THUMBNAIL_CREATED" + | 'THUMBNAIL_CREATED' /** Transaction item metadata is updated. */ - | "TRANSACTION_ITEM_METADATA_UPDATED" + | 'TRANSACTION_ITEM_METADATA_UPDATED' /** A new translation is created. */ - | "TRANSLATION_CREATED" + | 'TRANSLATION_CREATED' /** A translation is updated. */ - | "TRANSLATION_UPDATED" - | "VOUCHER_CODES_CREATED" - | "VOUCHER_CODES_DELETED" + | 'TRANSLATION_UPDATED' + | 'VOUCHER_CODES_CREATED' + | 'VOUCHER_CODES_DELETED' /** * A voucher code export is completed. * * Added in Saleor 3.18. */ - | "VOUCHER_CODE_EXPORT_COMPLETED" + | 'VOUCHER_CODE_EXPORT_COMPLETED' /** A new voucher created. */ - | "VOUCHER_CREATED" + | 'VOUCHER_CREATED' /** A voucher is deleted. */ - | "VOUCHER_DELETED" + | 'VOUCHER_DELETED' /** A voucher metadata is updated. */ - | "VOUCHER_METADATA_UPDATED" + | 'VOUCHER_METADATA_UPDATED' /** A voucher is updated. */ - | "VOUCHER_UPDATED" + | 'VOUCHER_UPDATED' /** A new warehouse created. */ - | "WAREHOUSE_CREATED" + | 'WAREHOUSE_CREATED' /** A warehouse is deleted. */ - | "WAREHOUSE_DELETED" + | 'WAREHOUSE_DELETED' /** A warehouse metadata is updated. */ - | "WAREHOUSE_METADATA_UPDATED" + | 'WAREHOUSE_METADATA_UPDATED' /** A warehouse is updated. */ - | "WAREHOUSE_UPDATED"; + | 'WAREHOUSE_UPDATED'; /** Enum determining type of webhook. */ export type WebhookEventTypeEnum = /** An account email change is requested. */ - | "ACCOUNT_CHANGE_EMAIL_REQUESTED" + | 'ACCOUNT_CHANGE_EMAIL_REQUESTED' /** An account confirmation is requested. */ - | "ACCOUNT_CONFIRMATION_REQUESTED" + | 'ACCOUNT_CONFIRMATION_REQUESTED' /** An account is confirmed. */ - | "ACCOUNT_CONFIRMED" + | 'ACCOUNT_CONFIRMED' /** An account is deleted. */ - | "ACCOUNT_DELETED" + | 'ACCOUNT_DELETED' /** An account delete is requested. */ - | "ACCOUNT_DELETE_REQUESTED" + | 'ACCOUNT_DELETE_REQUESTED' /** An account email was changed */ - | "ACCOUNT_EMAIL_CHANGED" + | 'ACCOUNT_EMAIL_CHANGED' /** Setting a new password for the account is requested. */ - | "ACCOUNT_SET_PASSWORD_REQUESTED" + | 'ACCOUNT_SET_PASSWORD_REQUESTED' /** A new address created. */ - | "ADDRESS_CREATED" + | 'ADDRESS_CREATED' /** An address deleted. */ - | "ADDRESS_DELETED" + | 'ADDRESS_DELETED' /** An address updated. */ - | "ADDRESS_UPDATED" + | 'ADDRESS_UPDATED' /** All the events. */ - | "ANY_EVENTS" + | 'ANY_EVENTS' /** An app deleted. */ - | "APP_DELETED" + | 'APP_DELETED' /** A new app installed. */ - | "APP_INSTALLED" + | 'APP_INSTALLED' /** An app status is changed. */ - | "APP_STATUS_CHANGED" + | 'APP_STATUS_CHANGED' /** An app updated. */ - | "APP_UPDATED" + | 'APP_UPDATED' /** A new attribute is created. */ - | "ATTRIBUTE_CREATED" + | 'ATTRIBUTE_CREATED' /** An attribute is deleted. */ - | "ATTRIBUTE_DELETED" + | 'ATTRIBUTE_DELETED' /** An attribute is updated. */ - | "ATTRIBUTE_UPDATED" + | 'ATTRIBUTE_UPDATED' /** A new attribute value is created. */ - | "ATTRIBUTE_VALUE_CREATED" + | 'ATTRIBUTE_VALUE_CREATED' /** An attribute value is deleted. */ - | "ATTRIBUTE_VALUE_DELETED" + | 'ATTRIBUTE_VALUE_DELETED' /** An attribute value is updated. */ - | "ATTRIBUTE_VALUE_UPDATED" + | 'ATTRIBUTE_VALUE_UPDATED' /** A new category created. */ - | "CATEGORY_CREATED" + | 'CATEGORY_CREATED' /** A category is deleted. */ - | "CATEGORY_DELETED" + | 'CATEGORY_DELETED' /** A category is updated. */ - | "CATEGORY_UPDATED" + | 'CATEGORY_UPDATED' /** A new channel created. */ - | "CHANNEL_CREATED" + | 'CHANNEL_CREATED' /** A channel is deleted. */ - | "CHANNEL_DELETED" + | 'CHANNEL_DELETED' /** A channel metadata is updated. */ - | "CHANNEL_METADATA_UPDATED" + | 'CHANNEL_METADATA_UPDATED' /** A channel status is changed. */ - | "CHANNEL_STATUS_CHANGED" + | 'CHANNEL_STATUS_CHANGED' /** A channel is updated. */ - | "CHANNEL_UPDATED" + | 'CHANNEL_UPDATED' /** Event called for checkout tax calculation. */ - | "CHECKOUT_CALCULATE_TAXES" + | 'CHECKOUT_CALCULATE_TAXES' /** A new checkout is created. */ - | "CHECKOUT_CREATED" + | 'CHECKOUT_CREATED' /** Filter shipping methods for checkout. */ - | "CHECKOUT_FILTER_SHIPPING_METHODS" + | 'CHECKOUT_FILTER_SHIPPING_METHODS' /** * A checkout was fully authorized (its `authorizeStatus` is `FULL`). * * This event is emitted only for checkouts whose payments are processed through the Transaction API. */ - | "CHECKOUT_FULLY_AUTHORIZED" + | 'CHECKOUT_FULLY_AUTHORIZED' /** * A checkout was fully paid (its `chargeStatus` is `FULL` or `OVERCHARGED`). This event is not sent if payments are only authorized but not fully charged. * * This event is emitted only for checkouts whose payments are processed through the Transaction API. */ - | "CHECKOUT_FULLY_PAID" + | 'CHECKOUT_FULLY_PAID' /** A checkout metadata is updated. */ - | "CHECKOUT_METADATA_UPDATED" + | 'CHECKOUT_METADATA_UPDATED' /** A checkout is updated. It also triggers all updates related to the checkout. */ - | "CHECKOUT_UPDATED" + | 'CHECKOUT_UPDATED' /** A new collection is created. */ - | "COLLECTION_CREATED" + | 'COLLECTION_CREATED' /** A collection is deleted. */ - | "COLLECTION_DELETED" + | 'COLLECTION_DELETED' /** A collection metadata is updated. */ - | "COLLECTION_METADATA_UPDATED" + | 'COLLECTION_METADATA_UPDATED' /** A collection is updated. */ - | "COLLECTION_UPDATED" + | 'COLLECTION_UPDATED' /** A new customer account is created. */ - | "CUSTOMER_CREATED" + | 'CUSTOMER_CREATED' /** A customer account is deleted. */ - | "CUSTOMER_DELETED" + | 'CUSTOMER_DELETED' /** A customer account metadata is updated. */ - | "CUSTOMER_METADATA_UPDATED" + | 'CUSTOMER_METADATA_UPDATED' /** A customer account is updated. */ - | "CUSTOMER_UPDATED" + | 'CUSTOMER_UPDATED' /** A draft order is created. */ - | "DRAFT_ORDER_CREATED" + | 'DRAFT_ORDER_CREATED' /** A draft order is deleted. */ - | "DRAFT_ORDER_DELETED" + | 'DRAFT_ORDER_DELETED' /** A draft order is updated. */ - | "DRAFT_ORDER_UPDATED" + | 'DRAFT_ORDER_UPDATED' /** A fulfillment is approved. */ - | "FULFILLMENT_APPROVED" + | 'FULFILLMENT_APPROVED' /** A fulfillment is cancelled. */ - | "FULFILLMENT_CANCELED" + | 'FULFILLMENT_CANCELED' /** A new fulfillment is created. */ - | "FULFILLMENT_CREATED" + | 'FULFILLMENT_CREATED' /** A fulfillment metadata is updated. */ - | "FULFILLMENT_METADATA_UPDATED" - | "FULFILLMENT_TRACKING_NUMBER_UPDATED" + | 'FULFILLMENT_METADATA_UPDATED' + | 'FULFILLMENT_TRACKING_NUMBER_UPDATED' /** A new gift card created. */ - | "GIFT_CARD_CREATED" + | 'GIFT_CARD_CREATED' /** A gift card is deleted. */ - | "GIFT_CARD_DELETED" + | 'GIFT_CARD_DELETED' /** A gift card export is completed. */ - | "GIFT_CARD_EXPORT_COMPLETED" + | 'GIFT_CARD_EXPORT_COMPLETED' /** A gift card metadata is updated. */ - | "GIFT_CARD_METADATA_UPDATED" + | 'GIFT_CARD_METADATA_UPDATED' /** A gift card has been sent. */ - | "GIFT_CARD_SENT" + | 'GIFT_CARD_SENT' /** A gift card status is changed. */ - | "GIFT_CARD_STATUS_CHANGED" + | 'GIFT_CARD_STATUS_CHANGED' /** A gift card is updated. */ - | "GIFT_CARD_UPDATED" + | 'GIFT_CARD_UPDATED' /** An invoice is deleted. */ - | "INVOICE_DELETED" + | 'INVOICE_DELETED' /** An invoice for order requested. */ - | "INVOICE_REQUESTED" + | 'INVOICE_REQUESTED' /** Invoice has been sent. */ - | "INVOICE_SENT" - | "LIST_STORED_PAYMENT_METHODS" + | 'INVOICE_SENT' + | 'LIST_STORED_PAYMENT_METHODS' /** A new menu created. */ - | "MENU_CREATED" + | 'MENU_CREATED' /** A menu is deleted. */ - | "MENU_DELETED" + | 'MENU_DELETED' /** A new menu item created. */ - | "MENU_ITEM_CREATED" + | 'MENU_ITEM_CREATED' /** A menu item is deleted. */ - | "MENU_ITEM_DELETED" + | 'MENU_ITEM_DELETED' /** A menu item is updated. */ - | "MENU_ITEM_UPDATED" + | 'MENU_ITEM_UPDATED' /** A menu is updated. */ - | "MENU_UPDATED" + | 'MENU_UPDATED' /** User notification triggered. */ - | "NOTIFY_USER" + | 'NOTIFY_USER' /** An observability event is created. */ - | "OBSERVABILITY" + | 'OBSERVABILITY' /** Orders are imported. */ - | "ORDER_BULK_CREATED" + | 'ORDER_BULK_CREATED' /** Event called for order tax calculation. */ - | "ORDER_CALCULATE_TAXES" + | 'ORDER_CALCULATE_TAXES' /** An order is cancelled. */ - | "ORDER_CANCELLED" + | 'ORDER_CANCELLED' /** An order is confirmed (status change unconfirmed -> unfulfilled) by a staff user using the OrderConfirm mutation. It also triggers when the user completes the checkout and the shop setting `automatically_confirm_all_new_orders` is enabled. */ - | "ORDER_CONFIRMED" + | 'ORDER_CONFIRMED' /** A new order is placed. */ - | "ORDER_CREATED" + | 'ORDER_CREATED' /** An order is expired. */ - | "ORDER_EXPIRED" + | 'ORDER_EXPIRED' /** Filter shipping methods for order. */ - | "ORDER_FILTER_SHIPPING_METHODS" + | 'ORDER_FILTER_SHIPPING_METHODS' /** An order is fulfilled. */ - | "ORDER_FULFILLED" + | 'ORDER_FULFILLED' /** Payment is made and an order is fully paid. */ - | "ORDER_FULLY_PAID" + | 'ORDER_FULLY_PAID' /** The order is fully refunded. */ - | "ORDER_FULLY_REFUNDED" + | 'ORDER_FULLY_REFUNDED' /** An order metadata is updated. */ - | "ORDER_METADATA_UPDATED" + | 'ORDER_METADATA_UPDATED' /** Payment has been made. The order may be partially or fully paid. */ - | "ORDER_PAID" + | 'ORDER_PAID' /** The order received a refund. The order may be partially or fully refunded. */ - | "ORDER_REFUNDED" + | 'ORDER_REFUNDED' /** An order is updated; triggered for all changes related to an order; covers all other order webhooks, except for ORDER_CREATED. */ - | "ORDER_UPDATED" + | 'ORDER_UPDATED' /** A new page is created. */ - | "PAGE_CREATED" + | 'PAGE_CREATED' /** A page is deleted. */ - | "PAGE_DELETED" + | 'PAGE_DELETED' /** A new page type is created. */ - | "PAGE_TYPE_CREATED" + | 'PAGE_TYPE_CREATED' /** A page type is deleted. */ - | "PAGE_TYPE_DELETED" + | 'PAGE_TYPE_DELETED' /** A page type is updated. */ - | "PAGE_TYPE_UPDATED" + | 'PAGE_TYPE_UPDATED' /** A page is updated. */ - | "PAGE_UPDATED" + | 'PAGE_UPDATED' /** Authorize payment. */ - | "PAYMENT_AUTHORIZE" + | 'PAYMENT_AUTHORIZE' /** Capture payment. */ - | "PAYMENT_CAPTURE" + | 'PAYMENT_CAPTURE' /** Confirm payment. */ - | "PAYMENT_CONFIRM" - | "PAYMENT_GATEWAY_INITIALIZE_SESSION" - | "PAYMENT_GATEWAY_INITIALIZE_TOKENIZATION_SESSION" + | 'PAYMENT_CONFIRM' + | 'PAYMENT_GATEWAY_INITIALIZE_SESSION' + | 'PAYMENT_GATEWAY_INITIALIZE_TOKENIZATION_SESSION' /** Listing available payment gateways. */ - | "PAYMENT_LIST_GATEWAYS" - | "PAYMENT_METHOD_INITIALIZE_TOKENIZATION_SESSION" - | "PAYMENT_METHOD_PROCESS_TOKENIZATION_SESSION" + | 'PAYMENT_LIST_GATEWAYS' + | 'PAYMENT_METHOD_INITIALIZE_TOKENIZATION_SESSION' + | 'PAYMENT_METHOD_PROCESS_TOKENIZATION_SESSION' /** Process payment. */ - | "PAYMENT_PROCESS" + | 'PAYMENT_PROCESS' /** Refund payment. */ - | "PAYMENT_REFUND" + | 'PAYMENT_REFUND' /** Void payment. */ - | "PAYMENT_VOID" + | 'PAYMENT_VOID' /** A new permission group is created. */ - | "PERMISSION_GROUP_CREATED" + | 'PERMISSION_GROUP_CREATED' /** A permission group is deleted. */ - | "PERMISSION_GROUP_DELETED" + | 'PERMISSION_GROUP_DELETED' /** A permission group is updated. */ - | "PERMISSION_GROUP_UPDATED" + | 'PERMISSION_GROUP_UPDATED' /** A new product is created. */ - | "PRODUCT_CREATED" + | 'PRODUCT_CREATED' /** A product is deleted. */ - | "PRODUCT_DELETED" + | 'PRODUCT_DELETED' /** A product export is completed. */ - | "PRODUCT_EXPORT_COMPLETED" + | 'PRODUCT_EXPORT_COMPLETED' /** A new product media is created. */ - | "PRODUCT_MEDIA_CREATED" + | 'PRODUCT_MEDIA_CREATED' /** A product media is deleted. */ - | "PRODUCT_MEDIA_DELETED" + | 'PRODUCT_MEDIA_DELETED' /** A product media is updated. */ - | "PRODUCT_MEDIA_UPDATED" + | 'PRODUCT_MEDIA_UPDATED' /** A product metadata is updated. */ - | "PRODUCT_METADATA_UPDATED" + | 'PRODUCT_METADATA_UPDATED' /** A product is updated. */ - | "PRODUCT_UPDATED" + | 'PRODUCT_UPDATED' /** A product variant is back in stock. */ - | "PRODUCT_VARIANT_BACK_IN_STOCK" + | 'PRODUCT_VARIANT_BACK_IN_STOCK' /** A new product variant is created. */ - | "PRODUCT_VARIANT_CREATED" + | 'PRODUCT_VARIANT_CREATED' /** A product variant is deleted. Warning: this event will not be executed when parent product has been deleted. Check PRODUCT_DELETED. */ - | "PRODUCT_VARIANT_DELETED" - | "PRODUCT_VARIANT_DISCOUNTED_PRICE_UPDATED" + | 'PRODUCT_VARIANT_DELETED' + | 'PRODUCT_VARIANT_DISCOUNTED_PRICE_UPDATED' /** A product variant metadata is updated. */ - | "PRODUCT_VARIANT_METADATA_UPDATED" + | 'PRODUCT_VARIANT_METADATA_UPDATED' /** A product variant is out of stock. */ - | "PRODUCT_VARIANT_OUT_OF_STOCK" + | 'PRODUCT_VARIANT_OUT_OF_STOCK' /** A product variant stock is updated */ - | "PRODUCT_VARIANT_STOCK_UPDATED" + | 'PRODUCT_VARIANT_STOCK_UPDATED' /** A product variant is updated. */ - | "PRODUCT_VARIANT_UPDATED" + | 'PRODUCT_VARIANT_UPDATED' /** A promotion is created. */ - | "PROMOTION_CREATED" + | 'PROMOTION_CREATED' /** A promotion is deleted. */ - | "PROMOTION_DELETED" + | 'PROMOTION_DELETED' /** A promotion is deactivated. */ - | "PROMOTION_ENDED" + | 'PROMOTION_ENDED' /** A promotion rule is created. */ - | "PROMOTION_RULE_CREATED" + | 'PROMOTION_RULE_CREATED' /** A promotion rule is deleted. */ - | "PROMOTION_RULE_DELETED" + | 'PROMOTION_RULE_DELETED' /** A promotion rule is updated. */ - | "PROMOTION_RULE_UPDATED" + | 'PROMOTION_RULE_UPDATED' /** A promotion is activated. */ - | "PROMOTION_STARTED" + | 'PROMOTION_STARTED' /** A promotion is updated. */ - | "PROMOTION_UPDATED" + | 'PROMOTION_UPDATED' /** A sale is created. */ - | "SALE_CREATED" + | 'SALE_CREATED' /** A sale is deleted. */ - | "SALE_DELETED" + | 'SALE_DELETED' /** A sale is activated or deactivated. */ - | "SALE_TOGGLE" + | 'SALE_TOGGLE' /** A sale is updated. */ - | "SALE_UPDATED" + | 'SALE_UPDATED' /** Fetch external shipping methods for checkout. */ - | "SHIPPING_LIST_METHODS_FOR_CHECKOUT" + | 'SHIPPING_LIST_METHODS_FOR_CHECKOUT' /** A new shipping price is created. */ - | "SHIPPING_PRICE_CREATED" + | 'SHIPPING_PRICE_CREATED' /** A shipping price is deleted. */ - | "SHIPPING_PRICE_DELETED" + | 'SHIPPING_PRICE_DELETED' /** A shipping price is updated. */ - | "SHIPPING_PRICE_UPDATED" + | 'SHIPPING_PRICE_UPDATED' /** A new shipping zone is created. */ - | "SHIPPING_ZONE_CREATED" + | 'SHIPPING_ZONE_CREATED' /** A shipping zone is deleted. */ - | "SHIPPING_ZONE_DELETED" + | 'SHIPPING_ZONE_DELETED' /** A shipping zone metadata is updated. */ - | "SHIPPING_ZONE_METADATA_UPDATED" + | 'SHIPPING_ZONE_METADATA_UPDATED' /** A shipping zone is updated. */ - | "SHIPPING_ZONE_UPDATED" + | 'SHIPPING_ZONE_UPDATED' /** Shop metadata is updated. */ - | "SHOP_METADATA_UPDATED" + | 'SHOP_METADATA_UPDATED' /** A new staff user is created. */ - | "STAFF_CREATED" + | 'STAFF_CREATED' /** A staff user is deleted. */ - | "STAFF_DELETED" + | 'STAFF_DELETED' /** Setting a new password for the staff account is requested. */ - | "STAFF_SET_PASSWORD_REQUESTED" + | 'STAFF_SET_PASSWORD_REQUESTED' /** A staff user is updated. */ - | "STAFF_UPDATED" - | "STORED_PAYMENT_METHOD_DELETE_REQUESTED" + | 'STAFF_UPDATED' + | 'STORED_PAYMENT_METHOD_DELETE_REQUESTED' /** A thumbnail is created. */ - | "THUMBNAIL_CREATED" + | 'THUMBNAIL_CREATED' /** Event called when cancel has been requested for transaction. */ - | "TRANSACTION_CANCELATION_REQUESTED" + | 'TRANSACTION_CANCELATION_REQUESTED' /** Event called when charge has been requested for transaction. */ - | "TRANSACTION_CHARGE_REQUESTED" - | "TRANSACTION_INITIALIZE_SESSION" + | 'TRANSACTION_CHARGE_REQUESTED' + | 'TRANSACTION_INITIALIZE_SESSION' /** Transaction item metadata is updated. */ - | "TRANSACTION_ITEM_METADATA_UPDATED" - | "TRANSACTION_PROCESS_SESSION" + | 'TRANSACTION_ITEM_METADATA_UPDATED' + | 'TRANSACTION_PROCESS_SESSION' /** Event called when refund has been requested for transaction. */ - | "TRANSACTION_REFUND_REQUESTED" + | 'TRANSACTION_REFUND_REQUESTED' /** A new translation is created. */ - | "TRANSLATION_CREATED" + | 'TRANSLATION_CREATED' /** A translation is updated. */ - | "TRANSLATION_UPDATED" - | "VOUCHER_CODES_CREATED" - | "VOUCHER_CODES_DELETED" + | 'TRANSLATION_UPDATED' + | 'VOUCHER_CODES_CREATED' + | 'VOUCHER_CODES_DELETED' /** * A voucher code export is completed. * * Added in Saleor 3.18. */ - | "VOUCHER_CODE_EXPORT_COMPLETED" + | 'VOUCHER_CODE_EXPORT_COMPLETED' /** A new voucher created. */ - | "VOUCHER_CREATED" + | 'VOUCHER_CREATED' /** A voucher is deleted. */ - | "VOUCHER_DELETED" + | 'VOUCHER_DELETED' /** A voucher metadata is updated. */ - | "VOUCHER_METADATA_UPDATED" + | 'VOUCHER_METADATA_UPDATED' /** A voucher is updated. */ - | "VOUCHER_UPDATED" + | 'VOUCHER_UPDATED' /** A new warehouse created. */ - | "WAREHOUSE_CREATED" + | 'WAREHOUSE_CREATED' /** A warehouse is deleted. */ - | "WAREHOUSE_DELETED" + | 'WAREHOUSE_DELETED' /** A warehouse metadata is updated. */ - | "WAREHOUSE_METADATA_UPDATED" + | 'WAREHOUSE_METADATA_UPDATED' /** A warehouse is updated. */ - | "WAREHOUSE_UPDATED"; + | 'WAREHOUSE_UPDATED'; /** Enum determining type of webhook. */ export type WebhookEventTypeSyncEnum = /** Event called for checkout tax calculation. */ - | "CHECKOUT_CALCULATE_TAXES" + | 'CHECKOUT_CALCULATE_TAXES' /** Filter shipping methods for checkout. */ - | "CHECKOUT_FILTER_SHIPPING_METHODS" - | "LIST_STORED_PAYMENT_METHODS" + | 'CHECKOUT_FILTER_SHIPPING_METHODS' + | 'LIST_STORED_PAYMENT_METHODS' /** Event called for order tax calculation. */ - | "ORDER_CALCULATE_TAXES" + | 'ORDER_CALCULATE_TAXES' /** Filter shipping methods for order. */ - | "ORDER_FILTER_SHIPPING_METHODS" + | 'ORDER_FILTER_SHIPPING_METHODS' /** Authorize payment. */ - | "PAYMENT_AUTHORIZE" + | 'PAYMENT_AUTHORIZE' /** Capture payment. */ - | "PAYMENT_CAPTURE" + | 'PAYMENT_CAPTURE' /** Confirm payment. */ - | "PAYMENT_CONFIRM" - | "PAYMENT_GATEWAY_INITIALIZE_SESSION" - | "PAYMENT_GATEWAY_INITIALIZE_TOKENIZATION_SESSION" + | 'PAYMENT_CONFIRM' + | 'PAYMENT_GATEWAY_INITIALIZE_SESSION' + | 'PAYMENT_GATEWAY_INITIALIZE_TOKENIZATION_SESSION' /** Listing available payment gateways. */ - | "PAYMENT_LIST_GATEWAYS" - | "PAYMENT_METHOD_INITIALIZE_TOKENIZATION_SESSION" - | "PAYMENT_METHOD_PROCESS_TOKENIZATION_SESSION" + | 'PAYMENT_LIST_GATEWAYS' + | 'PAYMENT_METHOD_INITIALIZE_TOKENIZATION_SESSION' + | 'PAYMENT_METHOD_PROCESS_TOKENIZATION_SESSION' /** Process payment. */ - | "PAYMENT_PROCESS" + | 'PAYMENT_PROCESS' /** Refund payment. */ - | "PAYMENT_REFUND" + | 'PAYMENT_REFUND' /** Void payment. */ - | "PAYMENT_VOID" + | 'PAYMENT_VOID' /** Fetch external shipping methods for checkout. */ - | "SHIPPING_LIST_METHODS_FOR_CHECKOUT" - | "STORED_PAYMENT_METHOD_DELETE_REQUESTED" + | 'SHIPPING_LIST_METHODS_FOR_CHECKOUT' + | 'STORED_PAYMENT_METHOD_DELETE_REQUESTED' /** Event called when cancel has been requested for transaction. */ - | "TRANSACTION_CANCELATION_REQUESTED" + | 'TRANSACTION_CANCELATION_REQUESTED' /** Event called when charge has been requested for transaction. */ - | "TRANSACTION_CHARGE_REQUESTED" - | "TRANSACTION_INITIALIZE_SESSION" - | "TRANSACTION_PROCESS_SESSION" + | 'TRANSACTION_CHARGE_REQUESTED' + | 'TRANSACTION_INITIALIZE_SESSION' + | 'TRANSACTION_PROCESS_SESSION' /** Event called when refund has been requested for transaction. */ - | "TRANSACTION_REFUND_REQUESTED"; + | 'TRANSACTION_REFUND_REQUESTED'; export type WebhookSampleEventTypeEnum = - | "ACCOUNT_CHANGE_EMAIL_REQUESTED" - | "ACCOUNT_CONFIRMATION_REQUESTED" - | "ACCOUNT_CONFIRMED" - | "ACCOUNT_DELETED" - | "ACCOUNT_DELETE_REQUESTED" - | "ACCOUNT_EMAIL_CHANGED" - | "ACCOUNT_SET_PASSWORD_REQUESTED" - | "ADDRESS_CREATED" - | "ADDRESS_DELETED" - | "ADDRESS_UPDATED" - | "APP_DELETED" - | "APP_INSTALLED" - | "APP_STATUS_CHANGED" - | "APP_UPDATED" - | "ATTRIBUTE_CREATED" - | "ATTRIBUTE_DELETED" - | "ATTRIBUTE_UPDATED" - | "ATTRIBUTE_VALUE_CREATED" - | "ATTRIBUTE_VALUE_DELETED" - | "ATTRIBUTE_VALUE_UPDATED" - | "CATEGORY_CREATED" - | "CATEGORY_DELETED" - | "CATEGORY_UPDATED" - | "CHANNEL_CREATED" - | "CHANNEL_DELETED" - | "CHANNEL_METADATA_UPDATED" - | "CHANNEL_STATUS_CHANGED" - | "CHANNEL_UPDATED" - | "CHECKOUT_CREATED" - | "CHECKOUT_FULLY_AUTHORIZED" - | "CHECKOUT_FULLY_PAID" - | "CHECKOUT_METADATA_UPDATED" - | "CHECKOUT_UPDATED" - | "COLLECTION_CREATED" - | "COLLECTION_DELETED" - | "COLLECTION_METADATA_UPDATED" - | "COLLECTION_UPDATED" - | "CUSTOMER_CREATED" - | "CUSTOMER_DELETED" - | "CUSTOMER_METADATA_UPDATED" - | "CUSTOMER_UPDATED" - | "DRAFT_ORDER_CREATED" - | "DRAFT_ORDER_DELETED" - | "DRAFT_ORDER_UPDATED" - | "FULFILLMENT_APPROVED" - | "FULFILLMENT_CANCELED" - | "FULFILLMENT_CREATED" - | "FULFILLMENT_METADATA_UPDATED" - | "FULFILLMENT_TRACKING_NUMBER_UPDATED" - | "GIFT_CARD_CREATED" - | "GIFT_CARD_DELETED" - | "GIFT_CARD_EXPORT_COMPLETED" - | "GIFT_CARD_METADATA_UPDATED" - | "GIFT_CARD_SENT" - | "GIFT_CARD_STATUS_CHANGED" - | "GIFT_CARD_UPDATED" - | "INVOICE_DELETED" - | "INVOICE_REQUESTED" - | "INVOICE_SENT" - | "MENU_CREATED" - | "MENU_DELETED" - | "MENU_ITEM_CREATED" - | "MENU_ITEM_DELETED" - | "MENU_ITEM_UPDATED" - | "MENU_UPDATED" - | "NOTIFY_USER" - | "OBSERVABILITY" - | "ORDER_BULK_CREATED" - | "ORDER_CANCELLED" - | "ORDER_CONFIRMED" - | "ORDER_CREATED" - | "ORDER_EXPIRED" - | "ORDER_FULFILLED" - | "ORDER_FULLY_PAID" - | "ORDER_FULLY_REFUNDED" - | "ORDER_METADATA_UPDATED" - | "ORDER_PAID" - | "ORDER_REFUNDED" - | "ORDER_UPDATED" - | "PAGE_CREATED" - | "PAGE_DELETED" - | "PAGE_TYPE_CREATED" - | "PAGE_TYPE_DELETED" - | "PAGE_TYPE_UPDATED" - | "PAGE_UPDATED" - | "PERMISSION_GROUP_CREATED" - | "PERMISSION_GROUP_DELETED" - | "PERMISSION_GROUP_UPDATED" - | "PRODUCT_CREATED" - | "PRODUCT_DELETED" - | "PRODUCT_EXPORT_COMPLETED" - | "PRODUCT_MEDIA_CREATED" - | "PRODUCT_MEDIA_DELETED" - | "PRODUCT_MEDIA_UPDATED" - | "PRODUCT_METADATA_UPDATED" - | "PRODUCT_UPDATED" - | "PRODUCT_VARIANT_BACK_IN_STOCK" - | "PRODUCT_VARIANT_CREATED" - | "PRODUCT_VARIANT_DELETED" - | "PRODUCT_VARIANT_DISCOUNTED_PRICE_UPDATED" - | "PRODUCT_VARIANT_METADATA_UPDATED" - | "PRODUCT_VARIANT_OUT_OF_STOCK" - | "PRODUCT_VARIANT_STOCK_UPDATED" - | "PRODUCT_VARIANT_UPDATED" - | "PROMOTION_CREATED" - | "PROMOTION_DELETED" - | "PROMOTION_ENDED" - | "PROMOTION_RULE_CREATED" - | "PROMOTION_RULE_DELETED" - | "PROMOTION_RULE_UPDATED" - | "PROMOTION_STARTED" - | "PROMOTION_UPDATED" - | "SALE_CREATED" - | "SALE_DELETED" - | "SALE_TOGGLE" - | "SALE_UPDATED" - | "SHIPPING_PRICE_CREATED" - | "SHIPPING_PRICE_DELETED" - | "SHIPPING_PRICE_UPDATED" - | "SHIPPING_ZONE_CREATED" - | "SHIPPING_ZONE_DELETED" - | "SHIPPING_ZONE_METADATA_UPDATED" - | "SHIPPING_ZONE_UPDATED" - | "SHOP_METADATA_UPDATED" - | "STAFF_CREATED" - | "STAFF_DELETED" - | "STAFF_SET_PASSWORD_REQUESTED" - | "STAFF_UPDATED" - | "THUMBNAIL_CREATED" - | "TRANSACTION_ITEM_METADATA_UPDATED" - | "TRANSLATION_CREATED" - | "TRANSLATION_UPDATED" - | "VOUCHER_CODES_CREATED" - | "VOUCHER_CODES_DELETED" - | "VOUCHER_CODE_EXPORT_COMPLETED" - | "VOUCHER_CREATED" - | "VOUCHER_DELETED" - | "VOUCHER_METADATA_UPDATED" - | "VOUCHER_UPDATED" - | "WAREHOUSE_CREATED" - | "WAREHOUSE_DELETED" - | "WAREHOUSE_METADATA_UPDATED" - | "WAREHOUSE_UPDATED"; + | 'ACCOUNT_CHANGE_EMAIL_REQUESTED' + | 'ACCOUNT_CONFIRMATION_REQUESTED' + | 'ACCOUNT_CONFIRMED' + | 'ACCOUNT_DELETED' + | 'ACCOUNT_DELETE_REQUESTED' + | 'ACCOUNT_EMAIL_CHANGED' + | 'ACCOUNT_SET_PASSWORD_REQUESTED' + | 'ADDRESS_CREATED' + | 'ADDRESS_DELETED' + | 'ADDRESS_UPDATED' + | 'APP_DELETED' + | 'APP_INSTALLED' + | 'APP_STATUS_CHANGED' + | 'APP_UPDATED' + | 'ATTRIBUTE_CREATED' + | 'ATTRIBUTE_DELETED' + | 'ATTRIBUTE_UPDATED' + | 'ATTRIBUTE_VALUE_CREATED' + | 'ATTRIBUTE_VALUE_DELETED' + | 'ATTRIBUTE_VALUE_UPDATED' + | 'CATEGORY_CREATED' + | 'CATEGORY_DELETED' + | 'CATEGORY_UPDATED' + | 'CHANNEL_CREATED' + | 'CHANNEL_DELETED' + | 'CHANNEL_METADATA_UPDATED' + | 'CHANNEL_STATUS_CHANGED' + | 'CHANNEL_UPDATED' + | 'CHECKOUT_CREATED' + | 'CHECKOUT_FULLY_AUTHORIZED' + | 'CHECKOUT_FULLY_PAID' + | 'CHECKOUT_METADATA_UPDATED' + | 'CHECKOUT_UPDATED' + | 'COLLECTION_CREATED' + | 'COLLECTION_DELETED' + | 'COLLECTION_METADATA_UPDATED' + | 'COLLECTION_UPDATED' + | 'CUSTOMER_CREATED' + | 'CUSTOMER_DELETED' + | 'CUSTOMER_METADATA_UPDATED' + | 'CUSTOMER_UPDATED' + | 'DRAFT_ORDER_CREATED' + | 'DRAFT_ORDER_DELETED' + | 'DRAFT_ORDER_UPDATED' + | 'FULFILLMENT_APPROVED' + | 'FULFILLMENT_CANCELED' + | 'FULFILLMENT_CREATED' + | 'FULFILLMENT_METADATA_UPDATED' + | 'FULFILLMENT_TRACKING_NUMBER_UPDATED' + | 'GIFT_CARD_CREATED' + | 'GIFT_CARD_DELETED' + | 'GIFT_CARD_EXPORT_COMPLETED' + | 'GIFT_CARD_METADATA_UPDATED' + | 'GIFT_CARD_SENT' + | 'GIFT_CARD_STATUS_CHANGED' + | 'GIFT_CARD_UPDATED' + | 'INVOICE_DELETED' + | 'INVOICE_REQUESTED' + | 'INVOICE_SENT' + | 'MENU_CREATED' + | 'MENU_DELETED' + | 'MENU_ITEM_CREATED' + | 'MENU_ITEM_DELETED' + | 'MENU_ITEM_UPDATED' + | 'MENU_UPDATED' + | 'NOTIFY_USER' + | 'OBSERVABILITY' + | 'ORDER_BULK_CREATED' + | 'ORDER_CANCELLED' + | 'ORDER_CONFIRMED' + | 'ORDER_CREATED' + | 'ORDER_EXPIRED' + | 'ORDER_FULFILLED' + | 'ORDER_FULLY_PAID' + | 'ORDER_FULLY_REFUNDED' + | 'ORDER_METADATA_UPDATED' + | 'ORDER_PAID' + | 'ORDER_REFUNDED' + | 'ORDER_UPDATED' + | 'PAGE_CREATED' + | 'PAGE_DELETED' + | 'PAGE_TYPE_CREATED' + | 'PAGE_TYPE_DELETED' + | 'PAGE_TYPE_UPDATED' + | 'PAGE_UPDATED' + | 'PERMISSION_GROUP_CREATED' + | 'PERMISSION_GROUP_DELETED' + | 'PERMISSION_GROUP_UPDATED' + | 'PRODUCT_CREATED' + | 'PRODUCT_DELETED' + | 'PRODUCT_EXPORT_COMPLETED' + | 'PRODUCT_MEDIA_CREATED' + | 'PRODUCT_MEDIA_DELETED' + | 'PRODUCT_MEDIA_UPDATED' + | 'PRODUCT_METADATA_UPDATED' + | 'PRODUCT_UPDATED' + | 'PRODUCT_VARIANT_BACK_IN_STOCK' + | 'PRODUCT_VARIANT_CREATED' + | 'PRODUCT_VARIANT_DELETED' + | 'PRODUCT_VARIANT_DISCOUNTED_PRICE_UPDATED' + | 'PRODUCT_VARIANT_METADATA_UPDATED' + | 'PRODUCT_VARIANT_OUT_OF_STOCK' + | 'PRODUCT_VARIANT_STOCK_UPDATED' + | 'PRODUCT_VARIANT_UPDATED' + | 'PROMOTION_CREATED' + | 'PROMOTION_DELETED' + | 'PROMOTION_ENDED' + | 'PROMOTION_RULE_CREATED' + | 'PROMOTION_RULE_DELETED' + | 'PROMOTION_RULE_UPDATED' + | 'PROMOTION_STARTED' + | 'PROMOTION_UPDATED' + | 'SALE_CREATED' + | 'SALE_DELETED' + | 'SALE_TOGGLE' + | 'SALE_UPDATED' + | 'SHIPPING_PRICE_CREATED' + | 'SHIPPING_PRICE_DELETED' + | 'SHIPPING_PRICE_UPDATED' + | 'SHIPPING_ZONE_CREATED' + | 'SHIPPING_ZONE_DELETED' + | 'SHIPPING_ZONE_METADATA_UPDATED' + | 'SHIPPING_ZONE_UPDATED' + | 'SHOP_METADATA_UPDATED' + | 'STAFF_CREATED' + | 'STAFF_DELETED' + | 'STAFF_SET_PASSWORD_REQUESTED' + | 'STAFF_UPDATED' + | 'THUMBNAIL_CREATED' + | 'TRANSACTION_ITEM_METADATA_UPDATED' + | 'TRANSLATION_CREATED' + | 'TRANSLATION_UPDATED' + | 'VOUCHER_CODES_CREATED' + | 'VOUCHER_CODES_DELETED' + | 'VOUCHER_CODE_EXPORT_COMPLETED' + | 'VOUCHER_CREATED' + | 'VOUCHER_DELETED' + | 'VOUCHER_METADATA_UPDATED' + | 'VOUCHER_UPDATED' + | 'WAREHOUSE_CREATED' + | 'WAREHOUSE_DELETED' + | 'WAREHOUSE_METADATA_UPDATED' + | 'WAREHOUSE_UPDATED'; /** * Trigger a webhook event. Supports a single event (the first, if multiple provided in the `webhook.subscription_query`). Requires permission relevant to processed event. Successfully delivered webhook returns `delivery` with status='PENDING' and empty payload. @@ -31118,22 +31991,22 @@ export type WebhookTriggerError = { /** The error code. */ code: WebhookTriggerErrorCode; /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; + field: Maybe; /** The error message. */ - message: Maybe; + message: Maybe; }; export type WebhookTriggerErrorCode = - | "GRAPHQL_ERROR" - | "INVALID_ID" - | "MISSING_EVENT" - | "MISSING_PERMISSION" - | "MISSING_QUERY" - | "MISSING_SUBSCRIPTION" - | "NOT_FOUND" - | "SYNTAX" - | "TYPE_NOT_SUPPORTED" - | "UNABLE_TO_PARSE"; + | 'GRAPHQL_ERROR' + | 'INVALID_ID' + | 'MISSING_EVENT' + | 'MISSING_PERMISSION' + | 'MISSING_QUERY' + | 'MISSING_SUBSCRIPTION' + | 'NOT_FOUND' + | 'SYNTAX' + | 'TYPE_NOT_SUPPORTED' + | 'UNABLE_TO_PARSE'; /** * Updates a webhook subscription. @@ -31149,11 +32022,11 @@ export type WebhookUpdate = { export type WebhookUpdateInput = { /** ID of the app to which webhook belongs. */ - app?: InputMaybe; + app?: InputMaybe; /** The asynchronous events that webhook wants to subscribe. */ asyncEvents?: InputMaybe>; /** Custom headers, which will be added to HTTP request. There is a limitation of 5 headers per webhook and 998 characters per header.Only `X-*`, `Authorization*`, and `BrokerProperties` keys are allowed. */ - customHeaders?: InputMaybe; + customHeaders?: InputMaybe; /** * The events that webhook wants to subscribe. * @@ -31161,21 +32034,21 @@ export type WebhookUpdateInput = { */ events?: InputMaybe>; /** Determine if webhook will be set active or not. */ - isActive?: InputMaybe; + isActive?: InputMaybe; /** The new name of the webhook. */ - name?: InputMaybe; + name?: InputMaybe; /** Subscription query used to define a webhook payload. */ - query?: InputMaybe; + query?: InputMaybe; /** * Use to create a hash signature with each payload. * * DEPRECATED: this field will be removed. As of Saleor 3.5, webhook payloads default to signing using a verifiable JWS. */ - secretKey?: InputMaybe; + secretKey?: InputMaybe; /** The synchronous events that webhook wants to subscribe. */ syncEvents?: InputMaybe>; /** The url to receive the payload. */ - targetUrl?: InputMaybe; + targetUrl?: InputMaybe; }; /** Represents weight value in a specific weight unit. */ @@ -31183,510 +32056,253 @@ export type Weight = { /** Weight unit. */ unit: WeightUnitsEnum; /** Weight value. Returns a value with maximal three decimal places */ - value: Scalars["Float"]["output"]; + value: Scalars['Float']['output']; }; -export type WeightUnitsEnum = "G" | "KG" | "LB" | "OZ" | "TONNE"; +export type WeightUnitsEnum = + | 'G' + | 'KG' + | 'LB' + | 'OZ' + | 'TONNE'; + +/** Represents the WIDGET target options for an app extension. */ +export type WidgetTargetOptions = { + /** + * HTTP method for Widget target (GET or POST) + * @deprecated Use `settings` field directly. + */ + method: HttpMethod; +}; /** _Entity union as defined by Federation spec. */ -export type _Entity = - | Address - | App - | Category - | Collection - | Group - | Order - | PageType - | Product - | ProductMedia - | ProductType - | ProductVariant - | User; +export type _Entity = Address | App | Category | Collection | Group | Order | PageType | Product | ProductMedia | ProductType | ProductVariant | User; /** _Service manifest as defined by Federation spec. */ export type _Service = { - sdl: Maybe; + sdl: Maybe; }; -export type ChannelFragment = { - id: string; - slug: string; - name: string; - currencyCode: string; -}; +export type ChannelFragment = { id: string, slug: string, name: string, currencyCode: string }; -export type CheckoutSourceObjectFragment_Checkout_channel_Channel = { - id: string; - slug: string; - name: string; - currencyCode: string; -}; +export type CheckoutSourceObjectFragment_Checkout_channel_Channel = { id: string, slug: string, name: string, currencyCode: string }; -export type CheckoutSourceObjectFragment_Checkout_total_TaxedMoney_gross_Money = - { currency: string; amount: number }; +export type CheckoutSourceObjectFragment_Checkout_total_TaxedMoney_gross_Money = { currency: string, amount: number }; -export type CheckoutSourceObjectFragment_Checkout_total_TaxedMoney = { - gross: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney_gross_Money; -}; +export type CheckoutSourceObjectFragment_Checkout_total_TaxedMoney = { gross: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney_gross_Money }; -export type CheckoutSourceObjectFragment = { - id: string; - languageCode: LanguageCodeEnum; - userEmail: string | null; - channel: CheckoutSourceObjectFragment_Checkout_channel_Channel; - total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney; -}; +export type CheckoutSourceObjectFragment = { id: string, languageCode: LanguageCodeEnum, userEmail: string | null, channel: CheckoutSourceObjectFragment_Checkout_channel_Channel, total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney }; -export type OrderSourceObjectFragment_Order_channel_Channel = { - id: string; - slug: string; - name: string; - currencyCode: string; -}; +export type OrderSourceObjectFragment_Order_channel_Channel = { id: string, slug: string, name: string, currencyCode: string }; -export type OrderSourceObjectFragment_Order_total_TaxedMoney_gross_Money = { - currency: string; - amount: number; -}; +export type OrderSourceObjectFragment_Order_total_TaxedMoney_gross_Money = { currency: string, amount: number }; -export type OrderSourceObjectFragment_Order_total_TaxedMoney = { - gross: OrderSourceObjectFragment_Order_total_TaxedMoney_gross_Money; -}; +export type OrderSourceObjectFragment_Order_total_TaxedMoney = { gross: OrderSourceObjectFragment_Order_total_TaxedMoney_gross_Money }; -export type OrderSourceObjectFragment = { - id: string; - languageCodeEnum: LanguageCodeEnum; - userEmail: string | null; - channel: OrderSourceObjectFragment_Order_channel_Channel; - total: OrderSourceObjectFragment_Order_total_TaxedMoney; -}; +export type OrderSourceObjectFragment = { id: string, languageCodeEnum: LanguageCodeEnum, userEmail: string | null, channel: OrderSourceObjectFragment_Order_channel_Channel, total: OrderSourceObjectFragment_Order_total_TaxedMoney }; -export type OrderOrCheckoutSourceObjectFragment_Checkout = { - id: string; - languageCode: LanguageCodeEnum; - userEmail: string | null; - channel: CheckoutSourceObjectFragment_Checkout_channel_Channel; - total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney; -}; +export type OrderOrCheckoutSourceObjectFragment_Checkout = { id: string, languageCode: LanguageCodeEnum, userEmail: string | null, channel: CheckoutSourceObjectFragment_Checkout_channel_Channel, total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney }; -export type OrderOrCheckoutSourceObjectFragment_Order = { - id: string; - languageCodeEnum: LanguageCodeEnum; - userEmail: string | null; - channel: OrderSourceObjectFragment_Order_channel_Channel; - total: OrderSourceObjectFragment_Order_total_TaxedMoney; -}; +export type OrderOrCheckoutSourceObjectFragment_Order = { id: string, languageCodeEnum: LanguageCodeEnum, userEmail: string | null, channel: OrderSourceObjectFragment_Order_channel_Channel, total: OrderSourceObjectFragment_Order_total_TaxedMoney }; export type OrderOrCheckoutSourceObjectFragment = | OrderOrCheckoutSourceObjectFragment_Checkout - | OrderOrCheckoutSourceObjectFragment_Order; + | OrderOrCheckoutSourceObjectFragment_Order +; -export type PaymentGatewayRecipientFragment_App_privateMetadata_MetadataItem = { - key: string; - value: string; -}; +export type PaymentGatewayRecipientFragment_App_privateMetadata_MetadataItem = { key: string, value: string }; -export type PaymentGatewayRecipientFragment_App_metadata_MetadataItem = { - key: string; - value: string; -}; +export type PaymentGatewayRecipientFragment_App_metadata_MetadataItem = { key: string, value: string }; -export type PaymentGatewayRecipientFragment = { - id: string; - privateMetadata: Array; - metadata: Array; -}; +export type PaymentGatewayRecipientFragment = { id: string, privateMetadata: Array, metadata: Array }; -export type TaxedMoneyFragment_TaxedMoney_net_Money = { - currency: string; - amount: number; -}; +export type TaxedMoneyFragment_TaxedMoney_net_Money = { currency: string, amount: number }; -export type TaxedMoneyFragment_TaxedMoney_gross_Money = { - currency: string; - amount: number; -}; +export type TaxedMoneyFragment_TaxedMoney_gross_Money = { currency: string, amount: number }; -export type TaxedMoneyFragment_TaxedMoney_tax_Money = { - currency: string; - amount: number; -}; +export type TaxedMoneyFragment_TaxedMoney_tax_Money = { currency: string, amount: number }; -export type TaxedMoneyFragment = { - net: TaxedMoneyFragment_TaxedMoney_net_Money; - gross: TaxedMoneyFragment_TaxedMoney_gross_Money; - tax: TaxedMoneyFragment_TaxedMoney_tax_Money; -}; +export type TaxedMoneyFragment = { net: TaxedMoneyFragment_TaxedMoney_net_Money, gross: TaxedMoneyFragment_TaxedMoney_gross_Money, tax: TaxedMoneyFragment_TaxedMoney_tax_Money }; -export type TransactionActionFragment = { - actionType: TransactionActionEnum; - amount: number; -}; +export type TransactionActionFragment = { actionType: TransactionActionEnum, amount: number }; -export type TransactionItemFragment = { id: string; pspReference: string }; +export type TransactionItemFragment = { id: string, pspReference: string }; -export type TransactionProcessActionFragment = { - amount: number; - currency: string; - actionType: TransactionFlowStrategyEnum; -}; +export type TransactionProcessActionFragment = { amount: number, currency: string, actionType: TransactionFlowStrategyEnum }; -export type TransactionEventReportMutation_transactionEventReport_TransactionEventReport_errors_TransactionEventReportError = - { - field: string | null; - message: string | null; - code: TransactionEventReportErrorCode; - }; +export type TransactionEventReportMutation_transactionEventReport_TransactionEventReport_errors_TransactionEventReportError = { field: string | null, message: string | null, code: TransactionEventReportErrorCode }; -export type TransactionEventReportMutation_transactionEventReport_TransactionEventReport = - { - alreadyProcessed: boolean | null; - errors: Array; - }; +export type TransactionEventReportMutation_transactionEventReport_TransactionEventReport = { alreadyProcessed: boolean | null, errors: Array }; + +export type TransactionEventReportMutation_Mutation = { transactionEventReport: TransactionEventReportMutation_transactionEventReport_TransactionEventReport | null }; -export type TransactionEventReportMutation_Mutation = { - transactionEventReport: TransactionEventReportMutation_transactionEventReport_TransactionEventReport | null; -}; export type TransactionEventReportMutationVariables = Exact<{ - transactionId: Scalars["ID"]["input"]; - amount: Scalars["PositiveDecimal"]["input"]; + transactionId: Scalars['ID']['input']; + amount: Scalars['PositiveDecimal']['input']; availableActions: Array | TransactionActionEnum; - externalUrl: Scalars["String"]["input"]; - message?: InputMaybe; - pspReference: Scalars["String"]["input"]; - time: Scalars["DateTime"]["input"]; + externalUrl: Scalars['String']['input']; + message?: InputMaybe; + pspReference: Scalars['String']['input']; + time: Scalars['DateTime']['input']; type: TransactionEventTypeEnum; }>; -export type TransactionEventReportMutation = - TransactionEventReportMutation_Mutation; + +export type TransactionEventReportMutation = TransactionEventReportMutation_Mutation; export type AppIdQuery_app_App = { id: string }; export type AppIdQuery_Query = { app: AppIdQuery_app_App | null }; -export type AppIdQueryVariables = Exact<{ [key: string]: never }>; + +export type AppIdQueryVariables = Exact<{ [key: string]: never; }>; + export type AppIdQuery = AppIdQuery_Query; -export type ChannelsQuery_channels_Channel = { - id: string; - slug: string; - name: string; - currencyCode: string; -}; +export type ChannelsQuery_channels_Channel = { id: string, slug: string, name: string, currencyCode: string }; + +export type ChannelsQuery_Query = { channels: Array | null }; -export type ChannelsQuery_Query = { - channels: Array | null; -}; -export type ChannelsQueryVariables = Exact<{ [key: string]: never }>; +export type ChannelsQueryVariables = Exact<{ [key: string]: never; }>; + export type ChannelsQuery = ChannelsQuery_Query; -export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_recipient_App = - { - id: string; - privateMetadata: Array; - metadata: Array; - }; - -export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject_Checkout = - { - id: string; - languageCode: LanguageCodeEnum; - userEmail: string | null; - channel: CheckoutSourceObjectFragment_Checkout_channel_Channel; - total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney; - }; - -export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject_Order = - { - id: string; - languageCodeEnum: LanguageCodeEnum; - userEmail: string | null; - channel: OrderSourceObjectFragment_Order_channel_Channel; - total: OrderSourceObjectFragment_Order_total_TaxedMoney; - }; +export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_recipient_App = { id: string, privateMetadata: Array, metadata: Array }; + +export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject_Checkout = { id: string, languageCode: LanguageCodeEnum, userEmail: string | null, channel: CheckoutSourceObjectFragment_Checkout_channel_Channel, total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney }; + +export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject_Order = { id: string, languageCodeEnum: LanguageCodeEnum, userEmail: string | null, channel: OrderSourceObjectFragment_Order_channel_Channel, total: OrderSourceObjectFragment_Order_total_TaxedMoney }; export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject = + | PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject_Checkout + | PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject_Order +; - | PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject_Checkout - | PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject_Order; +export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession = { recipient: PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_recipient_App | null, sourceObject: PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject }; -export type PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession = - { - recipient: PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_recipient_App | null; - sourceObject: PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession_sourceObject; - }; +export type PaymentGatewayInitializeSessionSubscription_Subscription = { event: PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession | null }; -export type PaymentGatewayInitializeSessionSubscription_Subscription = { - event: PaymentGatewayInitializeSessionSubscription_event_PaymentGatewayInitializeSession | null; -}; -export type PaymentGatewayInitializeSessionSubscriptionVariables = Exact<{ - [key: string]: never; -}>; +export type PaymentGatewayInitializeSessionSubscriptionVariables = Exact<{ [key: string]: never; }>; -export type PaymentGatewayInitializeSessionSubscription = - PaymentGatewayInitializeSessionSubscription_Subscription; - -export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_recipient_App = - { - id: string; - privateMetadata: Array; - metadata: Array; - }; - -export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_action_TransactionAction = - { actionType: TransactionActionEnum; amount: number }; - -export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_transaction_TransactionItem_sourceObject_Order = - { - id: string; - languageCodeEnum: LanguageCodeEnum; - userEmail: string | null; - channel: OrderSourceObjectFragment_Order_channel_Channel; - total: OrderSourceObjectFragment_Order_total_TaxedMoney; - }; - -export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_transaction_TransactionItem = - { - id: string; - pspReference: string; - sourceObject: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_transaction_TransactionItem_sourceObject_Order | null; - }; - -export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested = - { - recipient: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_recipient_App | null; - action: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_action_TransactionAction; - transaction: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_transaction_TransactionItem | null; - }; - -export type TransactionCancelationRequestedSubscription_Subscription = { - event: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested | null; -}; - -export type TransactionCancelationRequestedSubscriptionVariables = Exact<{ - [key: string]: never; -}>; -export type TransactionCancelationRequestedSubscription = - TransactionCancelationRequestedSubscription_Subscription; - -export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested_recipient_App = - { - id: string; - privateMetadata: Array; - metadata: Array; - }; - -export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested_action_TransactionAction = - { actionType: TransactionActionEnum; amount: number }; - -export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested_transaction_TransactionItem_sourceObject_Order = - { - id: string; - languageCodeEnum: LanguageCodeEnum; - userEmail: string | null; - channel: OrderSourceObjectFragment_Order_channel_Channel; - total: OrderSourceObjectFragment_Order_total_TaxedMoney; - }; - -export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested_transaction_TransactionItem = - { - id: string; - pspReference: string; - sourceObject: TransactionChargeRequestedSubscription_event_TransactionChargeRequested_transaction_TransactionItem_sourceObject_Order | null; - }; - -export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested = - { - recipient: TransactionChargeRequestedSubscription_event_TransactionChargeRequested_recipient_App | null; - action: TransactionChargeRequestedSubscription_event_TransactionChargeRequested_action_TransactionAction; - transaction: TransactionChargeRequestedSubscription_event_TransactionChargeRequested_transaction_TransactionItem | null; - }; - -export type TransactionChargeRequestedSubscription_Subscription = { - event: TransactionChargeRequestedSubscription_event_TransactionChargeRequested | null; -}; - -export type TransactionChargeRequestedSubscriptionVariables = Exact<{ - [key: string]: never; -}>; +export type PaymentGatewayInitializeSessionSubscription = PaymentGatewayInitializeSessionSubscription_Subscription; + +export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_recipient_App = { id: string, privateMetadata: Array, metadata: Array }; + +export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_action_TransactionAction = { actionType: TransactionActionEnum, amount: number }; + +export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_transaction_TransactionItem_sourceObject_Order = { id: string, languageCodeEnum: LanguageCodeEnum, userEmail: string | null, channel: OrderSourceObjectFragment_Order_channel_Channel, total: OrderSourceObjectFragment_Order_total_TaxedMoney }; + +export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_transaction_TransactionItem = { id: string, pspReference: string, sourceObject: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_transaction_TransactionItem_sourceObject_Order | null }; + +export type TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested = { recipient: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_recipient_App | null, action: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_action_TransactionAction, transaction: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested_transaction_TransactionItem | null }; + +export type TransactionCancelationRequestedSubscription_Subscription = { event: TransactionCancelationRequestedSubscription_event_TransactionCancelationRequested | null }; + + +export type TransactionCancelationRequestedSubscriptionVariables = Exact<{ [key: string]: never; }>; + + +export type TransactionCancelationRequestedSubscription = TransactionCancelationRequestedSubscription_Subscription; + +export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested_recipient_App = { id: string, privateMetadata: Array, metadata: Array }; + +export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested_action_TransactionAction = { actionType: TransactionActionEnum, amount: number }; + +export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested_transaction_TransactionItem_sourceObject_Order = { id: string, languageCodeEnum: LanguageCodeEnum, userEmail: string | null, channel: OrderSourceObjectFragment_Order_channel_Channel, total: OrderSourceObjectFragment_Order_total_TaxedMoney }; -export type TransactionChargeRequestedSubscription = - TransactionChargeRequestedSubscription_Subscription; - -export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_recipient_App = - { - id: string; - privateMetadata: Array; - metadata: Array; - }; - -export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_action_TransactionProcessAction = - { amount: number; currency: string; actionType: TransactionFlowStrategyEnum }; - -export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_transaction_TransactionItem = - { id: string; pspReference: string }; - -export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject_Checkout = - { - id: string; - languageCode: LanguageCodeEnum; - userEmail: string | null; - channel: CheckoutSourceObjectFragment_Checkout_channel_Channel; - total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney; - }; - -export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject_Order = - { - id: string; - languageCodeEnum: LanguageCodeEnum; - userEmail: string | null; - channel: OrderSourceObjectFragment_Order_channel_Channel; - total: OrderSourceObjectFragment_Order_total_TaxedMoney; - }; +export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested_transaction_TransactionItem = { id: string, pspReference: string, sourceObject: TransactionChargeRequestedSubscription_event_TransactionChargeRequested_transaction_TransactionItem_sourceObject_Order | null }; + +export type TransactionChargeRequestedSubscription_event_TransactionChargeRequested = { recipient: TransactionChargeRequestedSubscription_event_TransactionChargeRequested_recipient_App | null, action: TransactionChargeRequestedSubscription_event_TransactionChargeRequested_action_TransactionAction, transaction: TransactionChargeRequestedSubscription_event_TransactionChargeRequested_transaction_TransactionItem | null }; + +export type TransactionChargeRequestedSubscription_Subscription = { event: TransactionChargeRequestedSubscription_event_TransactionChargeRequested | null }; + + +export type TransactionChargeRequestedSubscriptionVariables = Exact<{ [key: string]: never; }>; + + +export type TransactionChargeRequestedSubscription = TransactionChargeRequestedSubscription_Subscription; + +export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_recipient_App = { id: string, privateMetadata: Array, metadata: Array }; + +export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_action_TransactionProcessAction = { amount: number, currency: string, actionType: TransactionFlowStrategyEnum }; + +export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_transaction_TransactionItem = { id: string, pspReference: string }; + +export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject_Checkout = { id: string, languageCode: LanguageCodeEnum, userEmail: string | null, channel: CheckoutSourceObjectFragment_Checkout_channel_Channel, total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney }; + +export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject_Order = { id: string, languageCodeEnum: LanguageCodeEnum, userEmail: string | null, channel: OrderSourceObjectFragment_Order_channel_Channel, total: OrderSourceObjectFragment_Order_total_TaxedMoney }; export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject = + | TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject_Checkout + | TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject_Order +; - | TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject_Checkout - | TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject_Order; +export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession = { data: unknown | null, merchantReference: string, recipient: TransactionInitializeSessionSubscription_event_TransactionInitializeSession_recipient_App | null, action: TransactionInitializeSessionSubscription_event_TransactionInitializeSession_action_TransactionProcessAction, transaction: TransactionInitializeSessionSubscription_event_TransactionInitializeSession_transaction_TransactionItem, sourceObject: TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject }; -export type TransactionInitializeSessionSubscription_event_TransactionInitializeSession = - { - data: unknown | null; - merchantReference: string; - recipient: TransactionInitializeSessionSubscription_event_TransactionInitializeSession_recipient_App | null; - action: TransactionInitializeSessionSubscription_event_TransactionInitializeSession_action_TransactionProcessAction; - transaction: TransactionInitializeSessionSubscription_event_TransactionInitializeSession_transaction_TransactionItem; - sourceObject: TransactionInitializeSessionSubscription_event_TransactionInitializeSession_sourceObject; - }; +export type TransactionInitializeSessionSubscription_Subscription = { event: TransactionInitializeSessionSubscription_event_TransactionInitializeSession | null }; -export type TransactionInitializeSessionSubscription_Subscription = { - event: TransactionInitializeSessionSubscription_event_TransactionInitializeSession | null; -}; -export type TransactionInitializeSessionSubscriptionVariables = Exact<{ - [key: string]: never; -}>; +export type TransactionInitializeSessionSubscriptionVariables = Exact<{ [key: string]: never; }>; + + +export type TransactionInitializeSessionSubscription = TransactionInitializeSessionSubscription_Subscription; + +export type TransactionProcessSessionSubscription_event_TransactionProcessSession_recipient_App = { id: string, privateMetadata: Array, metadata: Array }; -export type TransactionInitializeSessionSubscription = - TransactionInitializeSessionSubscription_Subscription; - -export type TransactionProcessSessionSubscription_event_TransactionProcessSession_recipient_App = - { - id: string; - privateMetadata: Array; - metadata: Array; - }; - -export type TransactionProcessSessionSubscription_event_TransactionProcessSession_action_TransactionProcessAction = - { amount: number; currency: string; actionType: TransactionFlowStrategyEnum }; - -export type TransactionProcessSessionSubscription_event_TransactionProcessSession_transaction_TransactionItem = - { id: string; pspReference: string }; - -export type TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject_Checkout = - { - id: string; - languageCode: LanguageCodeEnum; - userEmail: string | null; - channel: CheckoutSourceObjectFragment_Checkout_channel_Channel; - total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney; - }; - -export type TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject_Order = - { - id: string; - languageCodeEnum: LanguageCodeEnum; - userEmail: string | null; - channel: OrderSourceObjectFragment_Order_channel_Channel; - total: OrderSourceObjectFragment_Order_total_TaxedMoney; - }; +export type TransactionProcessSessionSubscription_event_TransactionProcessSession_action_TransactionProcessAction = { amount: number, currency: string, actionType: TransactionFlowStrategyEnum }; + +export type TransactionProcessSessionSubscription_event_TransactionProcessSession_transaction_TransactionItem = { id: string, pspReference: string }; + +export type TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject_Checkout = { id: string, languageCode: LanguageCodeEnum, userEmail: string | null, channel: CheckoutSourceObjectFragment_Checkout_channel_Channel, total: CheckoutSourceObjectFragment_Checkout_total_TaxedMoney }; + +export type TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject_Order = { id: string, languageCodeEnum: LanguageCodeEnum, userEmail: string | null, channel: OrderSourceObjectFragment_Order_channel_Channel, total: OrderSourceObjectFragment_Order_total_TaxedMoney }; export type TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject = + | TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject_Checkout + | TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject_Order +; - | TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject_Checkout - | TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject_Order; +export type TransactionProcessSessionSubscription_event_TransactionProcessSession = { data: unknown | null, merchantReference: string, recipient: TransactionProcessSessionSubscription_event_TransactionProcessSession_recipient_App | null, action: TransactionProcessSessionSubscription_event_TransactionProcessSession_action_TransactionProcessAction, transaction: TransactionProcessSessionSubscription_event_TransactionProcessSession_transaction_TransactionItem, sourceObject: TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject }; -export type TransactionProcessSessionSubscription_event_TransactionProcessSession = - { - data: unknown | null; - merchantReference: string; - recipient: TransactionProcessSessionSubscription_event_TransactionProcessSession_recipient_App | null; - action: TransactionProcessSessionSubscription_event_TransactionProcessSession_action_TransactionProcessAction; - transaction: TransactionProcessSessionSubscription_event_TransactionProcessSession_transaction_TransactionItem; - sourceObject: TransactionProcessSessionSubscription_event_TransactionProcessSession_sourceObject; - }; +export type TransactionProcessSessionSubscription_Subscription = { event: TransactionProcessSessionSubscription_event_TransactionProcessSession | null }; -export type TransactionProcessSessionSubscription_Subscription = { - event: TransactionProcessSessionSubscription_event_TransactionProcessSession | null; -}; -export type TransactionProcessSessionSubscriptionVariables = Exact<{ - [key: string]: never; -}>; +export type TransactionProcessSessionSubscriptionVariables = Exact<{ [key: string]: never; }>; + + +export type TransactionProcessSessionSubscription = TransactionProcessSessionSubscription_Subscription; + +export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested_recipient_App = { id: string, privateMetadata: Array, metadata: Array }; + +export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested_action_TransactionAction = { actionType: TransactionActionEnum, amount: number }; + +export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested_transaction_TransactionItem_sourceObject_Order = { id: string, languageCodeEnum: LanguageCodeEnum, userEmail: string | null, channel: OrderSourceObjectFragment_Order_channel_Channel, total: OrderSourceObjectFragment_Order_total_TaxedMoney }; + +export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested_transaction_TransactionItem = { id: string, pspReference: string, sourceObject: TransactionRefundRequestedSubscription_event_TransactionRefundRequested_transaction_TransactionItem_sourceObject_Order | null }; + +export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested = { recipient: TransactionRefundRequestedSubscription_event_TransactionRefundRequested_recipient_App | null, action: TransactionRefundRequestedSubscription_event_TransactionRefundRequested_action_TransactionAction, transaction: TransactionRefundRequestedSubscription_event_TransactionRefundRequested_transaction_TransactionItem | null }; + +export type TransactionRefundRequestedSubscription_Subscription = { event: TransactionRefundRequestedSubscription_event_TransactionRefundRequested | null }; + + +export type TransactionRefundRequestedSubscriptionVariables = Exact<{ [key: string]: never; }>; -export type TransactionProcessSessionSubscription = - TransactionProcessSessionSubscription_Subscription; - -export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested_recipient_App = - { - id: string; - privateMetadata: Array; - metadata: Array; - }; - -export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested_action_TransactionAction = - { actionType: TransactionActionEnum; amount: number }; - -export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested_transaction_TransactionItem_sourceObject_Order = - { - id: string; - languageCodeEnum: LanguageCodeEnum; - userEmail: string | null; - channel: OrderSourceObjectFragment_Order_channel_Channel; - total: OrderSourceObjectFragment_Order_total_TaxedMoney; - }; - -export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested_transaction_TransactionItem = - { - id: string; - pspReference: string; - sourceObject: TransactionRefundRequestedSubscription_event_TransactionRefundRequested_transaction_TransactionItem_sourceObject_Order | null; - }; - -export type TransactionRefundRequestedSubscription_event_TransactionRefundRequested = - { - recipient: TransactionRefundRequestedSubscription_event_TransactionRefundRequested_recipient_App | null; - action: TransactionRefundRequestedSubscription_event_TransactionRefundRequested_action_TransactionAction; - transaction: TransactionRefundRequestedSubscription_event_TransactionRefundRequested_transaction_TransactionItem | null; - }; - -export type TransactionRefundRequestedSubscription_Subscription = { - event: TransactionRefundRequestedSubscription_event_TransactionRefundRequested | null; -}; - -export type TransactionRefundRequestedSubscriptionVariables = Exact<{ - [key: string]: never; -}>; -export type TransactionRefundRequestedSubscription = - TransactionRefundRequestedSubscription_Subscription; +export type TransactionRefundRequestedSubscription = TransactionRefundRequestedSubscription_Subscription; -export type MoneyFragment = { currency: string; amount: number }; +export type MoneyFragment = { currency: string, amount: number }; export class TypedDocumentString extends String implements DocumentTypeDecoration { - __apiType?: NonNullable< - DocumentTypeDecoration["__apiType"] - >; + __apiType?: NonNullable['__apiType']>; private value: string; public __meta__?: Record | undefined; @@ -31700,28 +32316,21 @@ export class TypedDocumentString return this.value; } } -export const ChannelFragment = new TypedDocumentString( - ` +export const ChannelFragment = new TypedDocumentString(` fragment ChannelFragment on Channel { id slug name currencyCode } - `, - { fragmentName: "ChannelFragment" }, -) as unknown as TypedDocumentString; -export const MoneyFragment = new TypedDocumentString( - ` + `, {"fragmentName":"ChannelFragment"}) as unknown as TypedDocumentString; +export const MoneyFragment = new TypedDocumentString(` fragment MoneyFragment on Money { currency amount } - `, - { fragmentName: "MoneyFragment" }, -) as unknown as TypedDocumentString; -export const CheckoutSourceObjectFragment = new TypedDocumentString( - ` + `, {"fragmentName":"MoneyFragment"}) as unknown as TypedDocumentString; +export const CheckoutSourceObjectFragment = new TypedDocumentString(` fragment CheckoutSourceObjectFragment on Checkout { id languageCode @@ -31744,11 +32353,8 @@ export const CheckoutSourceObjectFragment = new TypedDocumentString( fragment MoneyFragment on Money { currency amount -}`, - { fragmentName: "CheckoutSourceObjectFragment" }, -) as unknown as TypedDocumentString; -export const OrderSourceObjectFragment = new TypedDocumentString( - ` +}`, {"fragmentName":"CheckoutSourceObjectFragment"}) as unknown as TypedDocumentString; +export const OrderSourceObjectFragment = new TypedDocumentString(` fragment OrderSourceObjectFragment on Order { id languageCodeEnum @@ -31771,11 +32377,8 @@ export const OrderSourceObjectFragment = new TypedDocumentString( fragment MoneyFragment on Money { currency amount -}`, - { fragmentName: "OrderSourceObjectFragment" }, -) as unknown as TypedDocumentString; -export const OrderOrCheckoutSourceObjectFragment = new TypedDocumentString( - ` +}`, {"fragmentName":"OrderSourceObjectFragment"}) as unknown as TypedDocumentString; +export const OrderOrCheckoutSourceObjectFragment = new TypedDocumentString(` fragment OrderOrCheckoutSourceObjectFragment on OrderOrCheckout { ... on Checkout { ...CheckoutSourceObjectFragment @@ -31819,14 +32422,8 @@ fragment OrderSourceObjectFragment on Order { fragment MoneyFragment on Money { currency amount -}`, - { fragmentName: "OrderOrCheckoutSourceObjectFragment" }, -) as unknown as TypedDocumentString< - OrderOrCheckoutSourceObjectFragment, - unknown ->; -export const PaymentGatewayRecipientFragment = new TypedDocumentString( - ` +}`, {"fragmentName":"OrderOrCheckoutSourceObjectFragment"}) as unknown as TypedDocumentString; +export const PaymentGatewayRecipientFragment = new TypedDocumentString(` fragment PaymentGatewayRecipientFragment on App { id privateMetadata { @@ -31838,11 +32435,8 @@ export const PaymentGatewayRecipientFragment = new TypedDocumentString( value } } - `, - { fragmentName: "PaymentGatewayRecipientFragment" }, -) as unknown as TypedDocumentString; -export const TaxedMoneyFragment = new TypedDocumentString( - ` + `, {"fragmentName":"PaymentGatewayRecipientFragment"}) as unknown as TypedDocumentString; +export const TaxedMoneyFragment = new TypedDocumentString(` fragment TaxedMoneyFragment on TaxedMoney { net { ...MoneyFragment @@ -31857,37 +32451,26 @@ export const TaxedMoneyFragment = new TypedDocumentString( fragment MoneyFragment on Money { currency amount -}`, - { fragmentName: "TaxedMoneyFragment" }, -) as unknown as TypedDocumentString; -export const TransactionActionFragment = new TypedDocumentString( - ` +}`, {"fragmentName":"TaxedMoneyFragment"}) as unknown as TypedDocumentString; +export const TransactionActionFragment = new TypedDocumentString(` fragment TransactionActionFragment on TransactionAction { actionType amount } - `, - { fragmentName: "TransactionActionFragment" }, -) as unknown as TypedDocumentString; -export const TransactionItemFragment = new TypedDocumentString( - ` + `, {"fragmentName":"TransactionActionFragment"}) as unknown as TypedDocumentString; +export const TransactionItemFragment = new TypedDocumentString(` fragment TransactionItemFragment on TransactionItem { id pspReference } - `, - { fragmentName: "TransactionItemFragment" }, -) as unknown as TypedDocumentString; -export const TransactionProcessActionFragment = new TypedDocumentString( - ` + `, {"fragmentName":"TransactionItemFragment"}) as unknown as TypedDocumentString; +export const TransactionProcessActionFragment = new TypedDocumentString(` fragment TransactionProcessActionFragment on TransactionProcessAction { amount currency actionType } - `, - { fragmentName: "TransactionProcessActionFragment" }, -) as unknown as TypedDocumentString; + `, {"fragmentName":"TransactionProcessActionFragment"}) as unknown as TypedDocumentString; export const TransactionEventReportMutationDocument = new TypedDocumentString(` mutation TransactionEventReportMutation($transactionId: ID!, $amount: PositiveDecimal!, $availableActions: [TransactionActionEnum!]!, $externalUrl: String!, $message: String, $pspReference: String!, $time: DateTime!, $type: TransactionEventTypeEnum!) { transactionEventReport( @@ -31908,10 +32491,7 @@ export const TransactionEventReportMutationDocument = new TypedDocumentString(` } } } - `) as unknown as TypedDocumentString< - TransactionEventReportMutation, - TransactionEventReportMutationVariables ->; + `) as unknown as TypedDocumentString; export const AppIdQueryDocument = new TypedDocumentString(` query AppIdQuery { app { @@ -31931,8 +32511,7 @@ export const ChannelsQueryDocument = new TypedDocumentString(` name currencyCode }`) as unknown as TypedDocumentString; -export const PaymentGatewayInitializeSessionSubscriptionDocument = - new TypedDocumentString(` +export const PaymentGatewayInitializeSessionSubscriptionDocument = new TypedDocumentString(` subscription PaymentGatewayInitializeSessionSubscription { event { ... on PaymentGatewayInitializeSession { @@ -31999,12 +32578,8 @@ fragment PaymentGatewayRecipientFragment on App { fragment MoneyFragment on Money { currency amount -}`) as unknown as TypedDocumentString< - PaymentGatewayInitializeSessionSubscription, - PaymentGatewayInitializeSessionSubscriptionVariables - >; -export const TransactionCancelationRequestedSubscriptionDocument = - new TypedDocumentString(` +}`) as unknown as TypedDocumentString; +export const TransactionCancelationRequestedSubscriptionDocument = new TypedDocumentString(` subscription TransactionCancelationRequestedSubscription { event { ... on TransactionCancelationRequested { @@ -32064,12 +32639,8 @@ fragment TransactionItemFragment on TransactionItem { fragment MoneyFragment on Money { currency amount -}`) as unknown as TypedDocumentString< - TransactionCancelationRequestedSubscription, - TransactionCancelationRequestedSubscriptionVariables - >; -export const TransactionChargeRequestedSubscriptionDocument = - new TypedDocumentString(` +}`) as unknown as TypedDocumentString; +export const TransactionChargeRequestedSubscriptionDocument = new TypedDocumentString(` subscription TransactionChargeRequestedSubscription { event { ... on TransactionChargeRequested { @@ -32129,12 +32700,8 @@ fragment TransactionItemFragment on TransactionItem { fragment MoneyFragment on Money { currency amount -}`) as unknown as TypedDocumentString< - TransactionChargeRequestedSubscription, - TransactionChargeRequestedSubscriptionVariables - >; -export const TransactionInitializeSessionSubscriptionDocument = - new TypedDocumentString(` +}`) as unknown as TypedDocumentString; +export const TransactionInitializeSessionSubscriptionDocument = new TypedDocumentString(` subscription TransactionInitializeSessionSubscription { event { ... on TransactionInitializeSession { @@ -32218,12 +32785,8 @@ fragment TransactionProcessActionFragment on TransactionProcessAction { fragment MoneyFragment on Money { currency amount -}`) as unknown as TypedDocumentString< - TransactionInitializeSessionSubscription, - TransactionInitializeSessionSubscriptionVariables - >; -export const TransactionProcessSessionSubscriptionDocument = - new TypedDocumentString(` +}`) as unknown as TypedDocumentString; +export const TransactionProcessSessionSubscriptionDocument = new TypedDocumentString(` subscription TransactionProcessSessionSubscription { event { ... on TransactionProcessSession { @@ -32307,12 +32870,8 @@ fragment TransactionProcessActionFragment on TransactionProcessAction { fragment MoneyFragment on Money { currency amount -}`) as unknown as TypedDocumentString< - TransactionProcessSessionSubscription, - TransactionProcessSessionSubscriptionVariables - >; -export const TransactionRefundRequestedSubscriptionDocument = - new TypedDocumentString(` +}`) as unknown as TypedDocumentString; +export const TransactionRefundRequestedSubscriptionDocument = new TypedDocumentString(` subscription TransactionRefundRequestedSubscription { event { ... on TransactionRefundRequested { @@ -32372,7 +32931,4 @@ fragment TransactionItemFragment on TransactionItem { fragment MoneyFragment on Money { currency amount -}`) as unknown as TypedDocumentString< - TransactionRefundRequestedSubscription, - TransactionRefundRequestedSubscriptionVariables - >; +}`) as unknown as TypedDocumentString; \ No newline at end of file diff --git a/packages/codegen/schema.ts b/packages/codegen/schema.ts index a03bf50c0..e7c579ccf 100644 --- a/packages/codegen/schema.ts +++ b/packages/codegen/schema.ts @@ -252,8 +252,8 @@ export type AccountErrorCode = | 'DELETE_OWN_ACCOUNT' | 'DELETE_STAFF_ACCOUNT' | 'DELETE_SUPERUSER_ACCOUNT' - | 'DISABLED_AUTHENTICATION_METHOD' | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' | 'GRAPHQL_ERROR' | 'INACTIVE' | 'INVALID' @@ -1043,21 +1043,38 @@ export type AppExtension = Node & { /** Label of the extension to show in the dashboard. */ label: Scalars['String']['output']; /** - * Name of the extension mount point in the dashboard. Value returned in UPPERCASE. + * Place where given extension will be mounted. + * @deprecated Use `mountName` instead. + */ + mount: AppExtensionMountEnum; + /** + * Name of the extension mount point in the dashboard. Replaces `mount` * * Added in Saleor 3.22. */ mountName: Scalars['String']['output']; + /** + * App extension options. + * + * Added in Saleor 3.22. + * @deprecated Use `settings` field instead. + */ + options: Maybe; /** List of the app extension's permissions. */ permissions: Array; /** - * App extension settings. + * App extension settings. Replaces `options` field. * * Added in Saleor 3.22. */ settings: Scalars['JSON']['output']; /** - * Name of the extension target in the dashboard. Value returned in UPPERCASE. + * Type of way how app extension will be opened. + * @deprecated Use `targetName` instead. + */ + target: AppExtensionTargetEnum; + /** + * Name of the extension target in the dashboard. Replaces `target` * * Added in Saleor 3.22. */ @@ -1082,12 +1099,24 @@ export type AppExtensionCountableEdge = { }; export type AppExtensionFilterInput = { + /** + * DEPRECATED: Use `mountName` instead. + * + * DEPRECATED: this field will be removed. + */ + mount?: InputMaybe>; /** * Plain-text mount name (case insensitive) * * Added in Saleor 3.22. */ mountName?: InputMaybe>; + /** + * DEPRECATED: Use `targetName` instead. + * + * DEPRECATED: this field will be removed. + */ + target?: InputMaybe; /** * Plain-text target name (case insensitive) * @@ -1096,6 +1125,92 @@ export type AppExtensionFilterInput = { targetName?: InputMaybe; }; +/** All places where app extension can be mounted. */ +export type AppExtensionMountEnum = + | 'CATEGORY_DETAILS_MORE_ACTIONS' + | 'CATEGORY_OVERVIEW_CREATE' + | 'CATEGORY_OVERVIEW_MORE_ACTIONS' + | 'COLLECTION_DETAILS_MORE_ACTIONS' + | 'COLLECTION_DETAILS_WIDGETS' + | 'COLLECTION_OVERVIEW_CREATE' + | 'COLLECTION_OVERVIEW_MORE_ACTIONS' + | 'CUSTOMER_DETAILS_MORE_ACTIONS' + | 'CUSTOMER_DETAILS_WIDGETS' + | 'CUSTOMER_OVERVIEW_CREATE' + | 'CUSTOMER_OVERVIEW_MORE_ACTIONS' + | 'DISCOUNT_DETAILS_MORE_ACTIONS' + | 'DISCOUNT_OVERVIEW_CREATE' + | 'DISCOUNT_OVERVIEW_MORE_ACTIONS' + | 'DRAFT_ORDER_DETAILS_MORE_ACTIONS' + | 'DRAFT_ORDER_DETAILS_WIDGETS' + | 'DRAFT_ORDER_OVERVIEW_CREATE' + | 'DRAFT_ORDER_OVERVIEW_MORE_ACTIONS' + | 'GIFT_CARD_DETAILS_MORE_ACTIONS' + | 'GIFT_CARD_DETAILS_WIDGETS' + | 'GIFT_CARD_OVERVIEW_CREATE' + | 'GIFT_CARD_OVERVIEW_MORE_ACTIONS' + | 'MENU_DETAILS_MORE_ACTIONS' + | 'MENU_OVERVIEW_CREATE' + | 'MENU_OVERVIEW_MORE_ACTIONS' + | 'NAVIGATION_CATALOG' + | 'NAVIGATION_CUSTOMERS' + | 'NAVIGATION_DISCOUNTS' + | 'NAVIGATION_ORDERS' + | 'NAVIGATION_PAGES' + | 'NAVIGATION_TRANSLATIONS' + | 'ORDER_DETAILS_MORE_ACTIONS' + | 'ORDER_DETAILS_WIDGETS' + | 'ORDER_OVERVIEW_CREATE' + | 'ORDER_OVERVIEW_MORE_ACTIONS' + | 'PAGE_DETAILS_MORE_ACTIONS' + | 'PAGE_OVERVIEW_CREATE' + | 'PAGE_OVERVIEW_MORE_ACTIONS' + | 'PAGE_TYPE_DETAILS_MORE_ACTIONS' + | 'PAGE_TYPE_OVERVIEW_CREATE' + | 'PAGE_TYPE_OVERVIEW_MORE_ACTIONS' + | 'PRODUCT_DETAILS_MORE_ACTIONS' + | 'PRODUCT_DETAILS_WIDGETS' + | 'PRODUCT_OVERVIEW_CREATE' + | 'PRODUCT_OVERVIEW_MORE_ACTIONS' + | 'TRANSLATIONS_MORE_ACTIONS' + | 'VOUCHER_DETAILS_MORE_ACTIONS' + | 'VOUCHER_DETAILS_WIDGETS' + | 'VOUCHER_OVERVIEW_CREATE' + | 'VOUCHER_OVERVIEW_MORE_ACTIONS'; + +/** Represents the options for an app extension. */ +export type AppExtensionOptionsNewTab = { + /** + * Options controlling behavior of the NEW_TAB extension target + * @deprecated Use `settings` field directly. + */ + newTabTarget: Maybe; +}; + +/** Represents the options for an app extension. */ +export type AppExtensionOptionsWidget = { + /** + * Options for displaying a Widget + * @deprecated Use `settings` field directly. + */ + widgetTarget: Maybe; +}; + +export type AppExtensionPossibleOptions = AppExtensionOptionsNewTab | AppExtensionOptionsWidget; + +/** + * All available ways of opening an app extension. + * + * POPUP - app's extension will be mounted as a popup window + * APP_PAGE - redirect to app's page + * + */ +export type AppExtensionTargetEnum = + | 'APP_PAGE' + | 'NEW_TAB' + | 'POPUP' + | 'WIDGET'; + /** * Fetch and validate manifest. * @@ -1140,9 +1255,9 @@ export type AppInstallInput = { /** Determine if app will be set active or not. */ activateAfterInstallation?: InputMaybe; /** Name of the app to install. */ - appName: Scalars['String']['input']; + appName?: InputMaybe; /** URL to app's manifest in JSON format. */ - manifestUrl: Scalars['String']['input']; + manifestUrl?: InputMaybe; /** List of permission code names to assign to this app. */ permissions?: InputMaybe>; }; @@ -1204,7 +1319,12 @@ export type AppManifestExtension = { /** Label of the extension to show in the dashboard. */ label: Scalars['String']['output']; /** - * Name of the extension mount point in the dashboard. Value returned in UPPERCASE. + * Place where given extension will be mounted. + * @deprecated Use `mountName` instead. + */ + mount: AppExtensionMountEnum; + /** + * Name of the extension mount point in the dashboard. Replaces `mount` * * Added in Saleor 3.22. */ @@ -1212,13 +1332,18 @@ export type AppManifestExtension = { /** List of the app extension's permissions. */ permissions: Array; /** - * App extension settings. + * JSON object with settings for this extension. * * Added in Saleor 3.22. */ settings: Scalars['JSON']['output']; /** - * Name of the extension target in the dashboard. Value returned in UPPERCASE. + * Type of way how app extension will be opened. + * @deprecated Use `targetName` instead. + */ + target: AppExtensionTargetEnum; + /** + * Name of the extension target in the dashboard. Replaces `target` * * Added in Saleor 3.22. */ @@ -2061,7 +2186,7 @@ export type Attribute = Node & ObjectWithMetadata & { /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ metafields: Maybe; /** Name of an attribute displayed in the interface. */ - name: Scalars['String']['output']; + name: Maybe; /** List of private metadata items. Requires staff permissions to access. */ privateMetadata: Array; /** @@ -2083,7 +2208,7 @@ export type Attribute = Node & ObjectWithMetadata & { */ referenceTypes: Maybe>; /** Internal representation of an attribute name. */ - slug: Scalars['String']['output']; + slug: Maybe; /** * The position of the attribute in the storefront navigation (0 by default). Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. * @deprecated No longer supported @@ -2092,7 +2217,7 @@ export type Attribute = Node & ObjectWithMetadata & { /** Returns translated attribute fields for the given language code. */ translation: Maybe; /** The attribute type. */ - type: AttributeTypeEnum; + type: Maybe; /** The unit of attribute values. */ unit: Maybe; /** Whether the attribute requires values to be passed or not. Requires one of the following permissions: MANAGE_PAGES, MANAGE_PAGE_TYPES_AND_ATTRIBUTES, MANAGE_PRODUCTS, MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES. */ @@ -4227,19 +4352,12 @@ export type Checkout = Node & ObjectWithMetadata & { * Added in Saleor 3.21. */ customerNote: Scalars['String']['output']; - /** - * The delivery method selected for this checkout. - * - * Added in Saleor 3.23. - */ - delivery: Maybe; /** * The delivery method selected for this checkout. * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. - * @deprecated Use `delivery` instead. */ deliveryMethod: Maybe; /** The total discount applied to the checkout. Note: Only discount created via voucher are included in this field. */ @@ -4299,7 +4417,7 @@ export type Checkout = Node & ObjectWithMetadata & { * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Optionally triggered when cached external shipping methods are invalid. * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. - * @deprecated Use `delivery` instead. + * @deprecated Use `deliveryMethod` instead. */ shippingMethod: Maybe; /** @@ -4705,7 +4823,6 @@ export type CheckoutCustomerNoteUpdate = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout delivery method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ export type CheckoutDeliveryMethodUpdate = { @@ -5104,25 +5221,7 @@ export type CheckoutPaymentCreate = { }; /** Represents an problem in the checkout. */ -export type CheckoutProblem = CheckoutLineProblemInsufficientStock | CheckoutLineProblemVariantNotAvailable | CheckoutProblemDeliveryMethodInvalid | CheckoutProblemDeliveryMethodStale; - -/** - * Indicates that the selected delivery method is invalid. - * - * Added in Saleor 3.23. - */ -export type CheckoutProblemDeliveryMethodInvalid = { - delivery: Delivery; -}; - -/** - * Indicates that the delivery methods are stale. - * - * Added in Saleor 3.23. - */ -export type CheckoutProblemDeliveryMethodStale = { - delivery: Delivery; -}; +export type CheckoutProblem = CheckoutLineProblemInsufficientStock | CheckoutLineProblemVariantNotAvailable; /** * Remove a gift card or a voucher from a checkout. @@ -5140,12 +5239,6 @@ export type CheckoutRemovePromoCode = { /** Represents the channel-specific checkout settings. */ export type CheckoutSettings = { - /** - * Default to `true`. Determines whether gift cards can be attached to a Checkout via `addPromoCode` mutation. Usage of this mutation with gift cards is deprecated. - * - * Added in Saleor 3.23. - */ - allowLegacyGiftCardUse: Scalars['Boolean']['output']; /** * The date time defines the earliest checkout creation date on which fully paid checkouts can begin to be automatically completed. * @@ -5173,12 +5266,6 @@ export type CheckoutSettings = { }; export type CheckoutSettingsInput = { - /** - * Default to `true`. Determines whether gift cards can be attached to a Checkout via `addPromoCode` mutation. Usage of this mutation with gift cards is deprecated. - * - * Added in Saleor 3.23. - */ - allowLegacyGiftCardUse?: InputMaybe; /** * Settings for automatic completion of fully paid checkouts. * @@ -5220,7 +5307,6 @@ export type CheckoutShippingAddressUpdate = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout shipping method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ export type CheckoutShippingMethodUpdate = { @@ -5237,9 +5323,7 @@ export type CheckoutSortField = /** Sort checkouts by customer. */ | 'CUSTOMER' /** Sort checkouts by payment. */ - | 'PAYMENT' - /** Sort checkouts by rank. Note: This option is available only with the `search` filter. */ - | 'RANK'; + | 'PAYMENT'; export type CheckoutSortingInput = { /** Specifies the direction in which to sort checkouts. */ @@ -5606,6 +5690,7 @@ export type CollectionError = { export type CollectionErrorCode = | 'CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT' | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' | 'GRAPHQL_ERROR' | 'INVALID' | 'NOT_FOUND' @@ -6663,6 +6748,8 @@ export type CustomerEvent = Node & { message: Maybe; /** The concerned order. */ order: Maybe; + /** The concerned order line. */ + orderLine: Maybe; /** Customer event type. */ type: Maybe; /** User who performed the action. */ @@ -6928,49 +7015,207 @@ export type DeletePrivateMetadata = { metadataErrors: Array; }; +/** Represents a delivery method chosen for the checkout. `Warehouse` type is used when checkout is marked as "click and collect" and `ShippingMethod` otherwise. */ +export type DeliveryMethod = ShippingMethod | Warehouse; + +/** Represents digital content associated with a product variant. */ +export type DigitalContent = Node & ObjectWithMetadata & { + /** Indicator for automatic fulfillment of digital content. */ + automaticFulfillment: Scalars['Boolean']['output']; + /** File associated with digital content. */ + contentFile: Scalars['String']['output']; + /** The ID of the digital content. */ + id: Scalars['ID']['output']; + /** Maximum number of allowed downloads for the digital content. */ + maxDownloads: Maybe; + /** List of public metadata items. Can be accessed without permissions. */ + metadata: Array; + /** + * A single key from public metadata. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + metafield: Maybe; + /** Public metadata. Use `keys` to control which fields you want to include. The default is to include everything. */ + metafields: Maybe; + /** List of private metadata items. Requires staff permissions to access. */ + privateMetadata: Array; + /** + * A single key from private metadata. Requires staff permissions to access. + * + * Tip: Use GraphQL aliases to fetch multiple keys. + */ + privateMetafield: Maybe; + /** Private metadata. Requires staff permissions to access. Use `keys` to control which fields you want to include. The default is to include everything. */ + privateMetafields: Maybe; + /** Product variant assigned to digital content. */ + productVariant: ProductVariant; + /** Number of days the URL for the digital content remains valid. */ + urlValidDays: Maybe; + /** List of URLs for the digital variant. */ + urls: Maybe>; + /** Default settings indicator for digital content. */ + useDefaultSettings: Scalars['Boolean']['output']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentMetafieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentMetafieldsArgs = { + keys?: InputMaybe>; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentPrivateMetafieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Represents digital content associated with a product variant. */ +export type DigitalContentPrivateMetafieldsArgs = { + keys?: InputMaybe>; +}; + +/** A connection to a list of digital content items. */ +export type DigitalContentCountableConnection = { + edges: Array; + /** Pagination data for this connection. */ + pageInfo: PageInfo; + /** A total count of items in the collection. */ + totalCount: Maybe; +}; + +export type DigitalContentCountableEdge = { + /** A cursor for use in pagination. */ + cursor: Scalars['String']['output']; + /** The item at the end of the edge. */ + node: DigitalContent; +}; + /** - * Represents a delivery option for the checkout. + * Create new digital content. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec * - * Added in Saleor 3.23. + * Requires one of the following permissions: MANAGE_PRODUCTS. */ -export type Delivery = { - /** The ID of the delivery. */ - id: Scalars['ID']['output']; - /** Shipping method represented by the delivery. */ - shippingMethod: Maybe; +export type DigitalContentCreate = { + content: Maybe; + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; + variant: Maybe; }; -/** Represents a delivery method chosen for the checkout. `Warehouse` type is used when checkout is marked as "click and collect" and `ShippingMethod` otherwise. */ -export type DeliveryMethod = ShippingMethod | Warehouse; - /** - * Calculates available delivery options for a checkout. + * Remove digital content assigned to given variant. * - * Added in Saleor 3.23. + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ +export type DigitalContentDelete = { + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; + variant: Maybe; +}; + +export type DigitalContentInput = { + /** Overwrite default automatic_fulfillment setting for variant. */ + automaticFulfillment?: InputMaybe; + /** Determines how many times a download link can be accessed by a customer. */ + maxDownloads?: InputMaybe; + /** + * Fields required to update the digital content metadata. Can be read by any API client authorized to read the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + metadata?: InputMaybe>; + /** + * Fields required to update the digital content private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + privateMetadata?: InputMaybe>; + /** Determines for how many days a download link is active since it was generated. */ + urlValidDays?: InputMaybe; + /** Use default digital content settings for this product. */ + useDefaultSettings: Scalars['Boolean']['input']; +}; + +/** + * Updates digital content. * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered to fetch external shipping methods. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Triggered to filter shipping methods. + * Requires one of the following permissions: MANAGE_PRODUCTS. */ -export type DeliveryOptionsCalculate = { - /** List of the available deliveries. */ - deliveries: Array; - errors: Array; +export type DigitalContentUpdate = { + content: Maybe; + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; + variant: Maybe; }; -export type DeliveryOptionsCalculateError = { - /** The error code. */ - code: DeliveryOptionsCalculateErrorCode; - /** Name of a field that caused the error. A value of `null` indicates that the error isn't associated with a particular field. */ - field: Maybe; - /** The error message. */ - message: Maybe; +export type DigitalContentUploadInput = { + /** Overwrite default automatic_fulfillment setting for variant. */ + automaticFulfillment?: InputMaybe; + /** Represents an file in a multipart request. */ + contentFile: Scalars['Upload']['input']; + /** Determines how many times a download link can be accessed by a customer. */ + maxDownloads?: InputMaybe; + /** + * Fields required to update the digital content metadata. Can be read by any API client authorized to read the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + metadata?: InputMaybe>; + /** + * Fields required to update the digital content private metadata. Requires permissions to modify and to read the metadata of the object it's attached to. + * + * Warning: never store sensitive information, including financial data such as credit card details. + */ + privateMetadata?: InputMaybe>; + /** Determines for how many days a download link is active since it was generated. */ + urlValidDays?: InputMaybe; + /** Use default digital content settings for this product. */ + useDefaultSettings: Scalars['Boolean']['input']; }; -export type DeliveryOptionsCalculateErrorCode = - | 'GRAPHQL_ERROR' - | 'INVALID' - | 'NOT_FOUND'; +/** Represents a URL for digital content. */ +export type DigitalContentUrl = Node & { + /** Digital content associated with the URL. */ + content: DigitalContent; + /** Date and time when the digital content URL was created. */ + created: Scalars['DateTime']['output']; + /** Number of times digital content has been downloaded. */ + downloadNum: Scalars['Int']['output']; + /** The ID of the digital content URL. */ + id: Scalars['ID']['output']; + /** UUID of digital content. */ + token: Scalars['UUID']['output']; + /** URL for digital content. */ + url: Maybe; +}; + +/** + * Generate new URL to digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ +export type DigitalContentUrlCreate = { + digitalContentUrl: Maybe; + errors: Array; + /** @deprecated Use `errors` field instead. */ + productErrors: Array; +}; + +export type DigitalContentUrlCreateInput = { + /** Digital content ID which URL will belong to. */ + content: Scalars['ID']['input']; +}; export type DiscountError = { /** List of channels IDs which causes the error. */ @@ -7141,11 +7386,7 @@ export type DraftOrderCreateInput = { user?: InputMaybe; /** Email address of the customer. */ userEmail?: InputMaybe; - /** - * ID of the voucher associated with the order. - * - * DEPRECATED: this field will be removed. Use `voucherCode` instead. - */ + /** ID of the voucher associated with the order. */ voucher?: InputMaybe; /** * A code of the voucher associated with the order. @@ -7254,11 +7495,7 @@ export type DraftOrderInput = { user?: InputMaybe; /** Email address of the customer. */ userEmail?: InputMaybe; - /** - * ID of the voucher associated with the order. - * - * DEPRECATED: this field will be removed. Use `voucherCode` instead. - */ + /** ID of the voucher associated with the order. */ voucher?: InputMaybe; /** * A code of the voucher associated with the order. @@ -7672,6 +7909,8 @@ export type ExportScope = * * Added in Saleor 3.18. * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + * * Requires one of the following permissions: MANAGE_DISCOUNTS. * * Triggers the following webhook events: @@ -8152,7 +8391,7 @@ export type GiftCard = Node & ObjectWithMetadata & { */ endDate: Maybe; /** - * List of events associated with the gift card. Requires MANAGE_GIFT_CARD permission to access all events. Users with MANAGE_ORDERS permission can access only USED_IN_ORDER and REFUNDED_IN_ORDER events. + * List of events associated with the gift card. Requires MANAGE_GIFT_CARD permission to access all events. Users with MANAGE_ORDERS permission can access only USED_IN_ORDER events. * * Requires one of the following permissions: MANAGE_GIFT_CARD, MANAGE_ORDERS. */ @@ -8574,7 +8813,6 @@ export type GiftCardEventsEnum = | 'EXPIRY_DATE_UPDATED' | 'ISSUED' | 'NOTE_ADDED' - | 'REFUNDED_IN_ORDER' | 'RESENT' | 'SENT_TO_CUSTOMER' | 'TAGS_UPDATED' @@ -8623,55 +8861,6 @@ export type GiftCardMetadataUpdated = Event & { version: Maybe; }; -/** - * Represents a gift card payment method used for a transaction. - * - * Added in Saleor 3.23. - */ -export type GiftCardPaymentMethodDetails = PaymentMethodDetails & { - /** - * Brand of the gift card. - * - * Added in Saleor 3.23. - */ - brand: Maybe; - /** - * Indicates whether the gift card is a built-in Saleor gift card. - * - * Added in Saleor 3.23. - */ - isSaleorGiftcard: Scalars['Boolean']['output']; - /** - * Last characters of the gift card code. Max 4 characters. - * - * Added in Saleor 3.23. - */ - lastChars: Maybe; - /** Name of the gift card. */ - name: Scalars['String']['output']; -}; - -export type GiftCardPaymentMethodDetailsInput = { - /** - * Brand of the gift card used for the transaction. Max length is 40 characters. - * - * Added in Saleor 3.23. - */ - brand?: InputMaybe; - /** - * Last characters of the gift card used for the transaction. Max length is 4 characters. - * - * Added in Saleor 3.23. - */ - lastChars?: InputMaybe; - /** - * Name of the payment method used for the transaction. Max length is 256 characters. - * - * Added in Saleor 3.23. - */ - name: Scalars['String']['input']; -}; - /** * Resend a gift card. * @@ -8764,8 +8953,6 @@ export type GiftCardSortField = | 'CURRENT_BALANCE' /** Sort gift cards by product. */ | 'PRODUCT' - /** Sort gift cards by rank. Note: This option is available only with the `search` filter. */ - | 'RANK' /** Sort gift cards by used by. */ | 'USED_BY'; @@ -8930,6 +9117,10 @@ export type GroupCountableEdge = { node: Group; }; +export type HttpMethod = + | 'GET' + | 'POST'; + /** Thumbnail formats for icon images. */ export type IconThumbnailFormatEnum = | 'ORIGINAL' @@ -12153,7 +12344,6 @@ export type Mutation = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout delivery method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. */ checkoutDeliveryMethodUpdate: Maybe; @@ -12221,7 +12411,6 @@ export type Mutation = { * * Triggers the following webhook events: * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered when updating the checkout shipping method with the external one. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Optionally triggered when cached filtered shipping methods are invalid. * - CHECKOUT_UPDATED (async): A checkout was updated. * @deprecated Use `checkoutDeliveryMethodUpdate` instead. */ @@ -12365,15 +12554,33 @@ export type Mutation = { */ deleteWarehouse: Maybe; /** - * Calculates available delivery options for a checkout. + * Create new digital content. This mutation must be sent as a `multipart` request. More detailed specs of the upload format can be found here: https://github.com/jaydenseric/graphql-multipart-request-spec * - * Added in Saleor 3.23. + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentCreate: Maybe; + /** + * Remove digital content assigned to given variant. * - * Triggers the following webhook events: - * - SHIPPING_LIST_METHODS_FOR_CHECKOUT (sync): Triggered to fetch external shipping methods. - * - CHECKOUT_FILTER_SHIPPING_METHODS (sync): Triggered to filter shipping methods. + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. */ - deliveryOptionsCalculate: Maybe; + digitalContentDelete: Maybe; + /** + * Updates digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentUpdate: Maybe; + /** + * Generate new URL to digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContentUrlCreate: Maybe; /** * Deletes draft orders. * @@ -12425,7 +12632,6 @@ export type Mutation = { * Triggers the following webhook events: * - NOTIFY_USER (async): A notification for the exported file. * - GIFT_CARD_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportGiftCards: Maybe; /** @@ -12436,7 +12642,6 @@ export type Mutation = { * Triggers the following webhook events: * - NOTIFY_USER (async): A notification for the exported file. * - PRODUCT_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportProducts: Maybe; /** @@ -12444,11 +12649,12 @@ export type Mutation = { * * Added in Saleor 3.18. * + * Note: this API is currently in Feature Preview and can be subject to changes at later point. + * * Requires one of the following permissions: MANAGE_DISCOUNTS. * * Triggers the following webhook events: * - VOUCHER_CODE_EXPORT_COMPLETED (async): A notification for the exported file. - * @deprecated Export functionality is deprecated and will be removed. All data can be fetched via the GraphQL API and parsed into the desired format by apps or external tools. */ exportVoucherCodes: Maybe; /** Prepare external authentication URL for user by custom plugin. */ @@ -14550,8 +14756,25 @@ export type MutationDeleteWarehouseArgs = { }; -export type MutationDeliveryOptionsCalculateArgs = { - id: Scalars['ID']['input']; +export type MutationDigitalContentCreateArgs = { + input: DigitalContentUploadInput; + variantId: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentDeleteArgs = { + variantId: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentUpdateArgs = { + input: DigitalContentInput; + variantId: Scalars['ID']['input']; +}; + + +export type MutationDigitalContentUrlCreateArgs = { + input: DigitalContentUrlCreateInput; }; @@ -15908,6 +16131,15 @@ export type NavigationType = /** Secondary storefront navigation. */ | 'SECONDARY'; +/** Represents the NEW_TAB target options for an app extension. */ +export type NewTabTargetOptions = { + /** + * HTTP method for New Tab target (GET or POST) + * @deprecated Use `settings` field directly. + */ + method: HttpMethod; +}; + /** An object with an ID */ export type Node = { /** The ID of the object. */ @@ -17550,6 +17782,7 @@ export type OrderLine = Node & ObjectWithMetadata & { * Requires one of the following permissions: MANAGE_PRODUCTS, MANAGE_ORDERS. */ allocations: Maybe>; + digitalContentUrl: Maybe; /** * List of applied discounts * @@ -18714,8 +18947,6 @@ export type PageSortField = | 'PUBLICATION_DATE' /** Sort pages by publication date. */ | 'PUBLISHED_AT' - /** Sort pages by rank. Note: This option is available only with the `search` filter. */ - | 'RANK' /** Sort pages by slug. */ | 'SLUG' /** Sort pages by title. */ @@ -19055,7 +19286,7 @@ export type PageTypeUpdateInput = { addAttributes?: InputMaybe>; /** Name of the page type. */ name?: InputMaybe; - /** List of attribute IDs to be unassigned from the page type. */ + /** List of attribute IDs to be assigned to the page type. */ removeAttributes?: InputMaybe>; /** Page type slug. */ slug?: InputMaybe; @@ -19130,21 +19361,6 @@ export type PasswordChange = { user: Maybe; }; -/** - * Controls whether password-based authentication is allowed. - * - * ENABLED - any user can log in with a password. This is the default behavior. - * CUSTOMERS_ONLY - only customer users can log in with a password. - * If a staff user logs in with a password, they will be treated as a customer - * — the issued token will not contain any staff permissions. - * DISABLED - no user can log in with a password. - * - */ -export type PasswordLoginModeEnum = - | 'CUSTOMERS_ONLY' - | 'DISABLED' - | 'ENABLED'; - /** Represents a payment of a given type. */ export type Payment = Node & ObjectWithMetadata & { /** @@ -19201,6 +19417,11 @@ export type Payment = Node & ObjectWithMetadata & { modified: Scalars['DateTime']['output']; /** Order associated with a payment. */ order: Maybe; + /** + * Informs whether this is a partial payment. + * @deprecated This field is reserved for the Adyen Gateway plugin. For other gateways, its value is always `false`. This field will be removed in 3.23 along with the plugin. + */ + partial: Scalars['Boolean']['output']; /** Type of method used for payment. */ paymentMethodType: Scalars['String']['output']; /** List of private metadata items. Requires staff permissions to access. */ @@ -19608,19 +19829,13 @@ export type PaymentMethodDetailsFilterInput = { }; /** - * Details of the payment method used for the transaction. One of `card`, `other`, or `giftCard` is required. + * Details of the payment method used for the transaction. One of `card` or `other` is required. * * Added in Saleor 3.22. */ export type PaymentMethodDetailsInput = { /** Details of the card payment method used for the transaction. */ card?: InputMaybe; - /** - * Details of the gift card payment method used for the transaction. - * - * Added in Saleor 3.23. - */ - giftCard?: InputMaybe; /** Details of the non-card payment method used for this transaction. */ other?: InputMaybe; }; @@ -19766,13 +19981,11 @@ export type PaymentMethodTokenizationResult = * The following types are possible: * CARD - represents a card payment method. * OTHER - represents any payment method that is not a card payment. - * GIFT_CARD - represents a gift card payment method. * * */ export type PaymentMethodTypeEnum = | 'CARD' - | 'GIFT_CARD' | 'OTHER'; export type PaymentMethodTypeEnumFilterInput = { @@ -20621,6 +20834,7 @@ export type ProductBulkCreateErrorCode = | 'ATTRIBUTE_VARIANTS_DISABLED' | 'BLANK' | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' | 'GRAPHQL_ERROR' | 'INVALID' | 'INVALID_PRICE' @@ -21042,6 +21256,7 @@ export type ProductErrorCode = | 'ATTRIBUTE_VARIANTS_DISABLED' | 'CANNOT_MANAGE_PRODUCT_WITHOUT_VARIANT' | 'DUPLICATED_INPUT_ITEM' + | 'FILE_SIZE_LIMIT_EXCEEDED' | 'GRAPHQL_ERROR' | 'INVALID' | 'INVALID_FILE_TYPE' @@ -21056,7 +21271,8 @@ export type ProductErrorCode = | 'REQUIRED' | 'UNIQUE' | 'UNSUPPORTED_MEDIA_PROVIDER' - | 'UNSUPPORTED_MIME_TYPE'; + | 'UNSUPPORTED_MIME_TYPE' + | 'VARIANT_NO_DIGITAL_CONTENT'; /** Event sent when product export is completed. */ export type ProductExportCompleted = Event & { @@ -21651,17 +21867,11 @@ export type ProductType = Node & ObjectWithMetadata & { * Requires one of the following permissions: MANAGE_PRODUCTS. */ availableAttributes: Maybe; - /** - * Whether the product type has variants. - * @deprecated This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ + /** Whether the product type has variants. */ hasVariants: Scalars['Boolean']['output']; /** The ID of the product type. */ id: Scalars['ID']['output']; - /** - * Whether the product type is digital - doesn't have any effect, it's present for backward-compatibility. - * @deprecated Will be removed in v3.24.0, use metadata or attributes instead. - */ + /** Whether the product type is digital. */ isDigital: Scalars['Boolean']['output']; /** Whether shipping is required for this product type. */ isShippingRequired: Scalars['Boolean']['output']; @@ -21837,11 +22047,6 @@ export type ProductTypeEnum = | 'SHIPPABLE'; export type ProductTypeFilterInput = { - /** - * - * - * DEPRECATED: this field will be removed. The field has no effect on the API behavior. This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ configurable?: InputMaybe; ids?: InputMaybe>; kind?: InputMaybe; @@ -21852,13 +22057,9 @@ export type ProductTypeFilterInput = { }; export type ProductTypeInput = { - /** - * Determines if product of this type has multiple variants. This option mainly simplifies product management in the dashboard. There is always at least one variant created under the hood. - * - * DEPRECATED: this field will be removed. The field has no effect on the API behavior. This is a leftover from the past Simple/Configurable product distinction. Products can have multiple variants regardless of this setting. - */ + /** Determines if product of this type has multiple variants. This option mainly simplifies product management in the dashboard. There is always at least one variant created under the hood. */ hasVariants?: InputMaybe; - /** Determines if products are digital - doesn't have any effect, it's present for backward-compatibility. */ + /** Determines if products are digital. */ isDigital?: InputMaybe; /** Determines if shipping is required for products of this variant. */ isShippingRequired?: InputMaybe; @@ -21991,6 +22192,12 @@ export type ProductVariant = Node & ObjectWithAttributes & ObjectWithMetadata & channelListings: Maybe>; /** The date and time when the product variant was created. */ created: Scalars['DateTime']['output']; + /** + * Digital content for the product variant. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + */ + digitalContent: Maybe; /** External ID of this product. */ externalReference: Maybe; /** The ID of the product variant. */ @@ -22390,9 +22597,7 @@ export type ProductVariantChannelListing = Node & { /** The price of the variant. */ price: Maybe; /** - * Previous price of the variant in channel. Useful for providing promotion information required by customer protection laws such as EU Omnibus directive. - * - * Warning: This field is not updated automatically. Use Channel Listings mutation to update it manually. + * Prior price of the variant used for discount calculations. * * Added in Saleor 3.21. */ @@ -24017,6 +24222,20 @@ export type Query = { * Requires one of the following permissions: MANAGE_ORDERS, MANAGE_USERS. */ customers: Maybe; + /** + * Look up digital content by ID. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContent: Maybe; + /** + * List of digital content. + * + * Requires one of the following permissions: MANAGE_PRODUCTS. + * @deprecated Support for Digital Content is deprecated and will be removed in Saleor v3.23.0. This functionality is legacy and undocumented, and is not part of the supported API. Users should not rely on this behavior. + */ + digitalContents: Maybe; /** * List of draft orders. The query will not initiate any external requests, including filtering available shipping methods, or performing external tax calculations. * @@ -24344,7 +24563,7 @@ export type Query = { export type Query_EntitiesArgs = { - representations: Array; + representations?: InputMaybe>>; }; @@ -24492,6 +24711,19 @@ export type QueryCustomersArgs = { }; +export type QueryDigitalContentArgs = { + id: Scalars['ID']['input']; +}; + + +export type QueryDigitalContentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + export type QueryDraftOrdersArgs = { after?: InputMaybe; before?: InputMaybe; @@ -24885,7 +25117,6 @@ export type QueryTransactionsArgs = { before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; - sortBy?: InputMaybe; where?: InputMaybe; }; @@ -25030,7 +25261,7 @@ export type RefundSettingsErrorCode = export type RefundSettingsUpdate = { errors: Array; /** Refund settings. */ - refundSettings: Maybe; + refundSettings: RefundSettings; /** @deprecated Use `errors` field instead. */ refundSettingsErrors: Array; }; @@ -25781,10 +26012,7 @@ export type ShippingMethod = Node & ObjectWithMetadata & { id: Scalars['ID']['output']; /** Maximum delivery days for this shipping method. */ maximumDeliveryDays: Maybe; - /** - * Maximum order price for this shipping method. - * @deprecated No longer supported - */ + /** Maximum order price for this shipping method. */ maximumOrderPrice: Maybe; /** * Maximum order weight for this shipping method. @@ -25805,10 +26033,7 @@ export type ShippingMethod = Node & ObjectWithMetadata & { metafields: Maybe; /** Minimum delivery days for this shipping method. */ minimumDeliveryDays: Maybe; - /** - * Minimal order price for this shipping method. - * @deprecated No longer supported - */ + /** Minimal order price for this shipping method. */ minimumOrderPrice: Maybe; /** * Minimum order weight for this shipping method. @@ -26579,6 +26804,12 @@ export type Shop = ObjectWithMetadata & { * Requires one of the following permissions: MANAGE_SETTINGS. */ allowLoginWithoutConfirmation: Maybe; + /** + * Enable automatic fulfillment for all digital products. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + automaticFulfillmentDigitalProducts: Maybe; /** List of available external authentications. */ availableExternalAuthentications: Array; /** List of available payment gateways. */ @@ -26612,6 +26843,18 @@ export type Shop = ObjectWithMetadata & { customerSetPasswordUrl: Maybe; /** Shop's default country. */ defaultCountry: Maybe; + /** + * Default number of max downloads per digital content URL. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + defaultDigitalMaxDownloads: Maybe; + /** + * Default number of days which digital content URL will be valid. + * + * Requires one of the following permissions: MANAGE_SETTINGS. + */ + defaultDigitalUrlValidDays: Maybe; /** * Default shop's email sender's address. * @@ -26681,12 +26924,6 @@ export type Shop = ObjectWithMetadata & { metafields: Maybe; /** Shop's name. */ name: Scalars['String']['output']; - /** - * Controls whether password-based authentication is allowed. - * - * Added in Saleor 3.23. - */ - passwordLoginMode: PasswordLoginModeEnum; /** List of available permissions. */ permissions: Array; /** List of possible phone prefixes. */ @@ -26733,12 +26970,6 @@ export type Shop = ObjectWithMetadata & { trackInventoryByDefault: Maybe; /** Returns translated shop fields for the given language code. */ translation: Maybe; - /** - * When enabled, stock availability is filtered by shipping zones and the destination address (legacy behavior). When disabled, stock availability is determined only by the direct warehouse-channel link, ignoring shipping zones. - * - * Added in Saleor 3.23. - */ - useLegacyShippingZoneStockAvailability: Scalars['Boolean']['output']; /** * Use legacy update webhook emission. When enabled, update webhooks (e.g. `customerUpdated`,`productVariantUpdated`) are sent even when only metadata changes. When disabled, update webhooks are not sent for metadata-only changes; only metadata-specific webhooks (e.g., `customerMetadataUpdated`, `productVariantMetadataUpdated`) are sent. * @@ -26846,7 +27077,6 @@ export type ShopErrorCode = | 'GRAPHQL_ERROR' | 'INVALID' | 'NOT_FOUND' - | 'PASSWORD_AUTH_RESTRICTION' | 'REQUIRED' | 'UNIQUE'; @@ -26880,6 +27110,8 @@ export type ShopMetadataUpdated = Event & { export type ShopSettingsInput = { /** Enable possibility to login without account confirmation. */ allowLoginWithoutConfirmation?: InputMaybe; + /** Enable automatic fulfillment for all digital products. */ + automaticFulfillmentDigitalProducts?: InputMaybe; /** * Charge taxes on shipping. * @@ -26888,6 +27120,10 @@ export type ShopSettingsInput = { chargeTaxesOnShipping?: InputMaybe; /** URL of a view where customers can set their password. */ customerSetPasswordUrl?: InputMaybe; + /** Default number of max downloads per digital content URL. */ + defaultDigitalMaxDownloads?: InputMaybe; + /** Default number of days which digital content URL will be valid. */ + defaultDigitalUrlValidDays?: InputMaybe; /** Default email sender's address. */ defaultMailSenderAddress?: InputMaybe; /** Default email sender's name. */ @@ -26924,12 +27160,6 @@ export type ShopSettingsInput = { * Warning: never store sensitive information, including financial data such as credit card details. */ metadata?: InputMaybe>; - /** - * Controls whether password-based authentication is allowed. - * - * Added in Saleor 3.23. - */ - passwordLoginMode?: InputMaybe; /** * When enabled, address fields that are not valid for a given country (according to Google's i18n address data) will be preserved instead of being removed during validation. Validation errors are still returned. * @@ -26948,12 +27178,6 @@ export type ShopSettingsInput = { reserveStockDurationAuthenticatedUser?: InputMaybe; /** This field is used as a default value for `ProductVariant.trackInventory`. */ trackInventoryByDefault?: InputMaybe; - /** - * When enabled, stock availability is filtered by shipping zones and the destination address (legacy behavior). When disabled, stock availability is determined only by the direct warehouse-channel link, ignoring shipping zones. - * - * Added in Saleor 3.23. - */ - useLegacyShippingZoneStockAvailability?: InputMaybe; /** * Use legacy update webhook emission. When enabled, update webhooks (e.g. `customerUpdated`,`productVariantUpdated`) are sent even when only metadata changes. When disabled, update webhooks are not sent for metadata-only changes; only metadata-specific webhooks (e.g., `customerMetadataUpdated`, `productVariantMetadataUpdated`) are sent. * @@ -28636,26 +28860,6 @@ export type TransactionEvent = Node & { type: Maybe; }; -/** - * Filter input for transaction events data. - * - * Added in Saleor 3.23. - */ -export type TransactionEventFilterInput = { - /** - * Filter transaction events by created at date. - * - * Added in Saleor 3.23. - */ - createdAt?: InputMaybe; - /** - * Filter transaction events by type. - * - * Added in Saleor 3.23. - */ - type?: InputMaybe; -}; - export type TransactionEventInput = { /** The message related to the event. */ message?: InputMaybe; @@ -28748,13 +28952,6 @@ export type TransactionEventTypeEnum = | 'REFUND_REVERSE' | 'REFUND_SUCCESS'; -export type TransactionEventTypeEnumFilterInput = { - /** The value equal to. */ - eq?: InputMaybe; - /** The value included in. */ - oneOf?: InputMaybe>; -}; - /** Filter input for transactions. */ export type TransactionFilterInput = { /** Filter by metadata fields of transactions. */ @@ -29104,27 +29301,6 @@ export type TransactionRequestRefundForGrantedRefundErrorCode = | 'REFUND_ALREADY_PROCESSED' | 'REFUND_IS_PENDING'; -export type TransactionSortField = - /** - * Sort transactions by creation date. - * - * Added in Saleor 3.23. - */ - | 'CREATED_AT' - /** - * Sort transactions by modification date. - * - * Added in Saleor 3.23. - */ - | 'MODIFIED_AT'; - -export type TransactionSortingInput = { - /** Specifies the direction in which to sort transactions. */ - direction: OrderDirection; - /** Sort transactions by the selected field. */ - field: TransactionSortField; -}; - /** * Update transaction. * @@ -29198,25 +29374,7 @@ export type TransactionWhereInput = { OR?: InputMaybe>; /** Filter by app identifier. */ appIdentifier?: InputMaybe; - /** - * Filter transactions by created at date. - * - * Added in Saleor 3.23. - */ - createdAt?: InputMaybe; - /** - * Filter by transaction events. Each list item represents conditions that must be satisfied by a single event. The filter matches transactions that have related events meeting all specified groups of conditions. - * - * Added in Saleor 3.23. - */ - events?: InputMaybe>; ids?: InputMaybe>; - /** - * Filter transactions by modified at date. - * - * Added in Saleor 3.23. - */ - modifiedAt?: InputMaybe; /** Filter by PSP reference. */ pspReference?: InputMaybe; }; @@ -29690,9 +29848,7 @@ export type UserSortField = /** Sort users by last name. */ | 'LAST_NAME' /** Sort users by order count. */ - | 'ORDER_COUNT' - /** Sort users by rank. Note: This option is available only with the `search` filter. */ - | 'RANK'; + | 'ORDER_COUNT'; export type UserSortingInput = { /** Specifies the direction in which to sort users. */ @@ -31907,6 +32063,15 @@ export type WeightUnitsEnum = | 'OZ' | 'TONNE'; +/** Represents the WIDGET target options for an app extension. */ +export type WidgetTargetOptions = { + /** + * HTTP method for Widget target (GET or POST) + * @deprecated Use `settings` field directly. + */ + method: HttpMethod; +}; + /** _Entity union as defined by Federation spec. */ export type _Entity = Address | App | Category | Collection | Group | Order | PageType | Product | ProductMedia | ProductType | ProductVariant | User; diff --git a/packages/domain/src/objects/Marketplace.ts b/packages/domain/src/objects/Marketplace.ts new file mode 100644 index 000000000..7062620ce --- /dev/null +++ b/packages/domain/src/objects/Marketplace.ts @@ -0,0 +1,10 @@ +export interface VendorProfile { + /** + * ID of the vendor. + */ + id: string; + /** + * Display name of the vendor. + */ + name: string; +} diff --git a/packages/features/src/cart/shared/components/cart-details.tsx b/packages/features/src/cart/shared/components/cart-details.tsx index 0a370bad0..651b4e825 100644 --- a/packages/features/src/cart/shared/components/cart-details.tsx +++ b/packages/features/src/cart/shared/components/cart-details.tsx @@ -15,6 +15,7 @@ import { cn } from "@nimara/ui/lib/utils"; export interface CartDetailsProps { cart: Cart; + isMarketplaceEnabled?: boolean; lineCheckoutIdMap?: Record; onCartUpdate: (cartId: string) => Promise; onLineDelete: (params: { @@ -31,11 +32,14 @@ export interface CartDetailsProps { checkoutSignIn: string; }; user: User | null; + vendorIdNames?: Record; } export const CartDetails = ({ cart, + isMarketplaceEnabled, user, + vendorIdNames, lineCheckoutIdMap, onLineQuantityChange, onLineDelete, @@ -136,12 +140,17 @@ export const CartDetails = ({ + +
+ diff --git a/packages/features/src/cart/shared/components/cart-shell.tsx b/packages/features/src/cart/shared/components/cart-shell.tsx new file mode 100644 index 000000000..3be449cbd --- /dev/null +++ b/packages/features/src/cart/shared/components/cart-shell.tsx @@ -0,0 +1,9 @@ +export const CartShell = ({ children }: { children: React.ReactNode }) => { + return ( +
+
+ {children} +
+
+ ); +}; diff --git a/packages/features/src/cart/shop-basic-cart/standard.tsx b/packages/features/src/cart/shop-basic-cart/standard.tsx index 9c1e25b8b..3907c9265 100644 --- a/packages/features/src/cart/shop-basic-cart/standard.tsx +++ b/packages/features/src/cart/shop-basic-cart/standard.tsx @@ -2,6 +2,7 @@ import type { Metadata } from "next"; import { getTranslations } from "next-intl/server"; import { Suspense } from "react"; +import { CartShell } from "@nimara/features/cart/shared/components/cart-shell"; import { ShoppingBagSkeleton } from "@nimara/features/shared/shopping-bag/shopping-bag-skeleton"; import { CartDetails } from "../shared/components/cart-details"; @@ -28,33 +29,31 @@ export const StandardCartView = async (props: CartViewProps) => { } = props; return ( -
-
- }> - } - render={({ cart, user }) => ( - - )} - /> - -
-
+ + }> + } + render={({ cart, user }) => ( + + )} + /> + + ); }; diff --git a/packages/features/src/product-detail-page/shared/types.ts b/packages/features/src/product-detail-page/shared/types.ts index 953caf41b..150edefb2 100644 --- a/packages/features/src/product-detail-page/shared/types.ts +++ b/packages/features/src/product-detail-page/shared/types.ts @@ -18,15 +18,12 @@ export type AddToBagAction = (params: { export interface PDPViewProps { addToBagAction: AddToBagAction; checkoutId: string | null; - /** When true and product has `vendorSlug`, PDP can link to the vendor shop. */ - marketplaceEnabled?: boolean; params: Promise<{ locale: Locale; slug: string }>; paths: { cart: string; home: string; product: (slug: string) => string; search: (query: { category: string }) => string; - vendor?: (vendorSlug: string) => string; }; region: Region; services: ServiceRegistry; diff --git a/packages/features/src/product-detail-page/shop-basic-pdp/standard.tsx b/packages/features/src/product-detail-page/shop-basic-pdp/standard.tsx index f40218081..15a2d1931 100644 --- a/packages/features/src/product-detail-page/shop-basic-pdp/standard.tsx +++ b/packages/features/src/product-detail-page/shop-basic-pdp/standard.tsx @@ -29,10 +29,8 @@ export const StandardPDPView = async ({ checkoutId, addToBagAction, region, - marketplaceEnabled = false, }: PDPViewProps) => { const { slug } = await params; - const tVendor = await getTranslations("vendor"); return ( - - {marketplaceEnabled && paths.vendor && product.vendorSlug ? ( -

- - {product.vendorName - ? tVendor("pdp_visit_vendor_shop_named", { - vendorName: product.vendorName, - }) - : tVendor("pdp_visit_vendor_shop")} - -

- ) : null}
diff --git a/packages/features/src/product-detail-page/shop-marketplace-pdp/marketplace.tsx b/packages/features/src/product-detail-page/shop-marketplace-pdp/marketplace.tsx new file mode 100644 index 000000000..d7e78517a --- /dev/null +++ b/packages/features/src/product-detail-page/shop-marketplace-pdp/marketplace.tsx @@ -0,0 +1,159 @@ +import { getTranslations } from "next-intl/server"; +import { Suspense } from "react"; + +import { LocalizedLink } from "@nimara/i18n/routing"; +import { Skeleton } from "@nimara/ui/components/skeleton"; + +import { AttributesDropdown } from "../shared/components/attributes-dropdown"; +import { ProductBreadcrumbs } from "../shared/components/product-breadcrumbs"; +import { ProductHighlights } from "../shared/components/product-highlights"; +import { ProductMediaWrapper } from "../shared/components/product-media-wrapper"; +import { ProductTitle } from "../shared/components/product-title"; +import { RelatedProductsContainer } from "../shared/components/related-products-container"; +import { RelatedProductsSkeleton } from "../shared/components/related-products-skeleton"; +import { VariantSelectorWrapper } from "../shared/components/variant-selector-wrapper"; +import { ProductProvider } from "../shared/providers/product-provider"; +import { type PDPViewProps } from "../shared/types"; + +interface MarketplacePDPViewProps extends PDPViewProps { + /** + * The paths for the marketplace view. + */ + paths: PDPViewProps["paths"] & { + vendor: (vendorSlug: string) => string; + }; + /** The vendor ID of the product for marketplace mode. Used to route to correct vendor checkout. */ + vendorId?: string | null; + /** + * A component to render a link to the vendor page. Used to link to the vendor page for marketplace mode. + */ + vendorPageLinkComponent?: React.ReactNode; +} + +/** + * Marketplace view for the product details page. + * @param param0 - The properties for the marketplace view. + * @param param0.vendorId - The vendor ID of the product for marketplace mode. Used to route to correct vendor checkout. + * @param param0.vendorPageLinkComponent - A component to render a link to the vendor page. Used to link to the vendor page for marketplace mode. + * @returns A React component rendering the marketplace view of the product details page. + */ +export const MarketplacePDPView = async ({ + params, + services, + paths, + checkoutId, + addToBagAction, + region, +}: MarketplacePDPViewProps) => { + const { slug } = await params; + const tVendor = await getTranslations("vendor"); + + return ( + ( +
+ + +
+
+ +
+ +
+
+ + + + + + + + {product.vendorSlug ? ( +

+ + {product.vendorName + ? tVendor("pdp_visit_vendor_shop_named", { + vendorName: product.vendorName, + }) + : tVendor("pdp_visit_vendor_shop")} + +

+ ) : null} +
+
+
+ + }> + + +
+ )} + /> + ); +}; + +/** + * Skeleton component for the standard PDP view. + * This component is used to display a loading state while the product data is being fetched. + * @returns A skeleton component for the standard PDP view. + */ +export const MarketplacePDPViewSkeleton = () => ( +
+ + +
+
+ +
+ +
+
+ + + + +
+
+
+ + +
+ + + + + +
+
+); diff --git a/packages/features/src/shared/shopping-bag/components/line.tsx b/packages/features/src/shared/shopping-bag/components/line.tsx index a1a209187..ceeeff911 100644 --- a/packages/features/src/shared/shopping-bag/components/line.tsx +++ b/packages/features/src/shared/shopping-bag/components/line.tsx @@ -132,8 +132,8 @@ export const Line = ({ }, [width]); return ( -
-
+
+
{thumbnail ? ( )}
-
+

-
+
{isLineEditable ? ( <>