diff --git a/.prettierignore b/.prettierignore index 7796d8afdb..e57974ae28 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,5 @@ generated-types.ts lazy-extensions.module.ts shared-extensions.module.ts +generated-graphql-shop-errors.ts +generated-graphql-admin-errors.ts diff --git a/package.json b/package.json index 82e0f9717c..dfcb94add2 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "docs:watch": "concurrently --restart-tries 5 -n docgen,hugo,webpack -c green,blue,cyan \"yarn generate-graphql-docs && yarn generate-typescript-docs -w\" \"cd docs && hugo server\" \"cd docs && yarn webpack -w\"", "docs:build": "yarn generate-graphql-docs && yarn generate-typescript-docs && cd docs && yarn webpack --prod && node build.js && hugo", "docs:deploy": "cd docs && yarn && cd .. && yarn docs:build", - "codegen": "ts-node scripts/codegen/generate-graphql-types.ts", + "codegen": "tsc -p scripts/codegen/plugins && ts-node scripts/codegen/generate-graphql-types.ts", "generate-typescript-docs": "ts-node scripts/docs/generate-typescript-docs.ts", "generate-graphql-docs": "ts-node scripts/docs/generate-graphql-docs.ts --api=shop && ts-node scripts/docs/generate-graphql-docs.ts --api=admin", "version": "yarn check-imports && yarn build && yarn generate-changelog && git add CHANGELOG.md && git add */version.ts", @@ -29,12 +29,12 @@ "devDependencies": { "@commitlint/cli": "^8.2.0", "@commitlint/config-conventional": "^8.2.0", - "@graphql-codegen/add": "1.13.1", - "@graphql-codegen/cli": "1.13.1", - "@graphql-codegen/fragment-matcher": "1.13.1", - "@graphql-codegen/typescript": "1.13.1", - "@graphql-codegen/typescript-compatibility": "1.13.1", - "@graphql-codegen/typescript-operations": "1.13.1", + "@graphql-codegen/add": "2.0.1", + "@graphql-codegen/cli": "1.17.8", + "@graphql-codegen/fragment-matcher": "1.17.8", + "@graphql-codegen/typescript": "1.17.9", + "@graphql-codegen/typescript-compatibility": "2.0.0", + "@graphql-codegen/typescript-operations": "1.17.8", "@types/graphql": "^14.0.5", "@types/jest": "^25.1.4", "@types/klaw-sync": "^6.0.0", diff --git a/packages/admin-ui/src/lib/core/src/common/generated-types.ts b/packages/admin-ui/src/lib/core/src/common/generated-types.ts index b0b38fd33c..2a7f20b642 100644 --- a/packages/admin-ui/src/lib/core/src/common/generated-types.ts +++ b/packages/admin-ui/src/lib/core/src/common/generated-types.ts @@ -1,6 +1,6 @@ // tslint:disable export type Maybe = T | null; - +export type Exact = { [K in keyof T]: T[K] }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; @@ -8,12 +8,17 @@ export type Scalars = { Boolean: boolean; Int: number; Float: number; + /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: any; + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any; + /** The `Upload` scalar type represents a file upload. */ Upload: any; }; +export type AddFulfillmentToOrderResult = Fulfillment | EmptyOrderLineSelectionError | ItemsAlreadyFulfilledError; + export type AddNoteToCustomerInput = { id: Scalars['ID']; note: Scalars['String']; @@ -27,7 +32,7 @@ export type AddNoteToOrderInput = { }; export type Address = Node & { - __typename?: 'Address'; + __typename?: 'Address'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -46,7 +51,7 @@ export type Address = Node & { }; export type Adjustment = { - __typename?: 'Adjustment'; + __typename?: 'Adjustment'; adjustmentSource: Scalars['String']; type: AdjustmentType; description: Scalars['String']; @@ -64,7 +69,7 @@ export enum AdjustmentType { } export type Administrator = Node & { - __typename?: 'Administrator'; + __typename?: 'Administrator'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -83,7 +88,7 @@ export type AdministratorFilterParameter = { }; export type AdministratorList = PaginatedList & { - __typename?: 'AdministratorList'; + __typename?: 'AdministratorList'; items: Array; totalItems: Scalars['Int']; }; @@ -104,8 +109,16 @@ export type AdministratorSortParameter = { emailAddress?: Maybe; }; +/** Returned if an attempting to refund an OrderItem which has already been refunded */ +export type AlreadyRefundedError = ErrorResult & { + __typename?: 'AlreadyRefundedError'; + errorCode: ErrorCode; + message: Scalars['String']; + refundId: Scalars['ID']; +}; + export type Asset = Node & { - __typename?: 'Asset'; + __typename?: 'Asset'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -134,7 +147,7 @@ export type AssetFilterParameter = { }; export type AssetList = PaginatedList & { - __typename?: 'AssetList'; + __typename?: 'AssetList'; items: Array; totalItems: Scalars['Int']; }; @@ -176,15 +189,17 @@ export type AuthenticationInput = { }; export type AuthenticationMethod = Node & { - __typename?: 'AuthenticationMethod'; + __typename?: 'AuthenticationMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; strategy: Scalars['String']; }; +export type AuthenticationResult = CurrentUser | InvalidCredentialsError; + export type BooleanCustomFieldConfig = CustomField & { - __typename?: 'BooleanCustomFieldConfig'; + __typename?: 'BooleanCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -198,8 +213,16 @@ export type BooleanOperators = { eq?: Maybe; }; +/** Returned if an attempting to cancel lines from an Order which is still active */ +export type CancelActiveOrderError = ErrorResult & { + __typename?: 'CancelActiveOrderError'; + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + export type Cancellation = Node & StockMovement & { - __typename?: 'Cancellation'; + __typename?: 'Cancellation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -217,8 +240,10 @@ export type CancelOrderInput = { reason?: Maybe; }; +export type CancelOrderResult = Order | EmptyOrderLineSelectionError | QuantityTooGreatError | MultipleOrderError | CancelActiveOrderError | OrderStateTransitionError; + export type Channel = Node & { - __typename?: 'Channel'; + __typename?: 'Channel'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -231,8 +256,20 @@ export type Channel = Node & { pricesIncludeTax: Scalars['Boolean']; }; +/** + * Returned when the default LanguageCode of a Channel is no longer found in the `availableLanguages` + * of the GlobalSettings + */ +export type ChannelDefaultLanguageError = ErrorResult & { + __typename?: 'ChannelDefaultLanguageError'; + errorCode: ErrorCode; + message: Scalars['String']; + language: Scalars['String']; + channelCode: Scalars['String']; +}; + export type Collection = Node & { - __typename?: 'Collection'; + __typename?: 'Collection'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -259,7 +296,7 @@ export type CollectionProductVariantsArgs = { }; export type CollectionBreadcrumb = { - __typename?: 'CollectionBreadcrumb'; + __typename?: 'CollectionBreadcrumb'; id: Scalars['ID']; name: Scalars['String']; slug: Scalars['String']; @@ -277,7 +314,7 @@ export type CollectionFilterParameter = { }; export type CollectionList = PaginatedList & { - __typename?: 'CollectionList'; + __typename?: 'CollectionList'; items: Array; totalItems: Scalars['Int']; }; @@ -300,7 +337,7 @@ export type CollectionSortParameter = { }; export type CollectionTranslation = { - __typename?: 'CollectionTranslation'; + __typename?: 'CollectionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -311,13 +348,13 @@ export type CollectionTranslation = { }; export type ConfigArg = { - __typename?: 'ConfigArg'; + __typename?: 'ConfigArg'; name: Scalars['String']; value: Scalars['String']; }; export type ConfigArgDefinition = { - __typename?: 'ConfigArgDefinition'; + __typename?: 'ConfigArgDefinition'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -332,13 +369,13 @@ export type ConfigArgInput = { }; export type ConfigurableOperation = { - __typename?: 'ConfigurableOperation'; + __typename?: 'ConfigurableOperation'; code: Scalars['String']; args: Array; }; export type ConfigurableOperationDefinition = { - __typename?: 'ConfigurableOperationDefinition'; + __typename?: 'ConfigurableOperationDefinition'; code: Scalars['String']; args: Array; description: Scalars['String']; @@ -350,7 +387,7 @@ export type ConfigurableOperationInput = { }; export type Coordinate = { - __typename?: 'Coordinate'; + __typename?: 'Coordinate'; x: Scalars['Float']; y: Scalars['Float']; }; @@ -361,7 +398,7 @@ export type CoordinateInput = { }; export type Country = Node & { - __typename?: 'Country'; + __typename?: 'Country'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -382,7 +419,7 @@ export type CountryFilterParameter = { }; export type CountryList = PaginatedList & { - __typename?: 'CountryList'; + __typename?: 'CountryList'; items: Array; totalItems: Scalars['Int']; }; @@ -403,7 +440,7 @@ export type CountrySortParameter = { }; export type CountryTranslation = { - __typename?: 'CountryTranslation'; + __typename?: 'CountryTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -444,6 +481,8 @@ export type CreateAssetInput = { file: Scalars['Upload']; }; +export type CreateAssetResult = Asset | MimeTypeError; + export type CreateChannelInput = { code: Scalars['String']; token: Scalars['String']; @@ -454,6 +493,8 @@ export type CreateChannelInput = { defaultShippingZoneId: Scalars['ID']; }; +export type CreateChannelResult = Channel | LanguageNotAvailableError; + export type CreateCollectionInput = { isPrivate?: Maybe; featuredAssetId?: Maybe; @@ -492,6 +533,8 @@ export type CreateCustomerInput = { customFields?: Maybe; }; +export type CreateCustomerResult = Customer | EmailAddressConflictError; + export type CreateFacetInput = { code: Scalars['String']; isPrivate: Scalars['Boolean']; @@ -571,6 +614,8 @@ export type CreatePromotionInput = { actions: Array; }; +export type CreatePromotionResult = Promotion | MissingConditionsError; + export type CreateRoleInput = { code: Scalars['String']; description: Scalars['String']; @@ -928,14 +973,14 @@ export enum CurrencyCode { } export type CurrentUser = { - __typename?: 'CurrentUser'; + __typename?: 'CurrentUser'; channels: Array; id: Scalars['ID']; identifier: Scalars['String']; }; export type CurrentUserChannel = { - __typename?: 'CurrentUserChannel'; + __typename?: 'CurrentUserChannel'; code: Scalars['String']; id: Scalars['ID']; permissions: Array; @@ -950,7 +995,7 @@ export type CurrentUserChannelInput = { }; export type Customer = Node & { - __typename?: 'Customer'; + __typename?: 'Customer'; groups: Array; history: HistoryEntryList; id: Scalars['ID']; @@ -988,7 +1033,7 @@ export type CustomerFilterParameter = { }; export type CustomerGroup = Node & { - __typename?: 'CustomerGroup'; + __typename?: 'CustomerGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1008,7 +1053,7 @@ export type CustomerGroupFilterParameter = { }; export type CustomerGroupList = PaginatedList & { - __typename?: 'CustomerGroupList'; + __typename?: 'CustomerGroupList'; items: Array; totalItems: Scalars['Int']; }; @@ -1028,7 +1073,7 @@ export type CustomerGroupSortParameter = { }; export type CustomerList = PaginatedList & { - __typename?: 'CustomerList'; + __typename?: 'CustomerList'; items: Array; totalItems: Scalars['Int']; }; @@ -1064,7 +1109,7 @@ export type CustomField = { export type CustomFieldConfig = StringCustomFieldConfig | LocaleStringCustomFieldConfig | IntCustomFieldConfig | FloatCustomFieldConfig | BooleanCustomFieldConfig | DateTimeCustomFieldConfig; export type CustomFields = { - __typename?: 'CustomFields'; + __typename?: 'CustomFields'; Address: Array; Collection: Array; Customer: Array; @@ -1099,7 +1144,7 @@ export type DateRange = { * See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes */ export type DateTimeCustomFieldConfig = CustomField & { - __typename?: 'DateTimeCustomFieldConfig'; + __typename?: 'DateTimeCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1113,7 +1158,7 @@ export type DateTimeCustomFieldConfig = CustomField & { }; export type DeletionResponse = { - __typename?: 'DeletionResponse'; + __typename?: 'DeletionResponse'; result: DeletionResult; message?: Maybe; }; @@ -1125,8 +1170,53 @@ export enum DeletionResult { NOT_DELETED = 'NOT_DELETED' } +/** Retured when attemting to create a Customer with an email address already registered to an existing User. */ +export type EmailAddressConflictError = ErrorResult & { + __typename?: 'EmailAddressConflictError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if no OrderLines have been specified for the operation */ +export type EmptyOrderLineSelectionError = ErrorResult & { + __typename?: 'EmptyOrderLineSelectionError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export enum ErrorCode { + UNKNOWN_ERROR = 'UNKNOWN_ERROR', + MIME_TYPE_ERROR = 'MIME_TYPE_ERROR', + INVALID_CREDENTIALS_ERROR = 'INVALID_CREDENTIALS_ERROR', + NATIVE_AUTH_STRATEGY_ERROR = 'NATIVE_AUTH_STRATEGY_ERROR', + LANGUAGE_NOT_AVAILABLE_ERROR = 'LANGUAGE_NOT_AVAILABLE_ERROR', + EMAIL_ADDRESS_CONFLICT_ERROR = 'EMAIL_ADDRESS_CONFLICT_ERROR', + CHANNEL_DEFAULT_LANGUAGE_ERROR = 'CHANNEL_DEFAULT_LANGUAGE_ERROR', + SETTLE_PAYMENT_ERROR = 'SETTLE_PAYMENT_ERROR', + PAYMENT_STATE_TRANSITION_ERROR = 'PAYMENT_STATE_TRANSITION_ERROR', + ORDER_STATE_TRANSITION_ERROR = 'ORDER_STATE_TRANSITION_ERROR', + EMPTY_ORDER_LINE_SELECTION_ERROR = 'EMPTY_ORDER_LINE_SELECTION_ERROR', + ITEMS_ALREADY_FULFILLED_ERROR = 'ITEMS_ALREADY_FULFILLED_ERROR', + QUANTITY_TOO_GREAT_ERROR = 'QUANTITY_TOO_GREAT_ERROR', + MULTIPLE_ORDER_ERROR = 'MULTIPLE_ORDER_ERROR', + CANCEL_ACTIVE_ORDER_ERROR = 'CANCEL_ACTIVE_ORDER_ERROR', + NOTHING_TO_REFUND_ERROR = 'NOTHING_TO_REFUND_ERROR', + PAYMENT_ORDER_MISMATCH_ERROR = 'PAYMENT_ORDER_MISMATCH_ERROR', + REFUND_ORDER_STATE_ERROR = 'REFUND_ORDER_STATE_ERROR', + ALREADY_REFUNDED_ERROR = 'ALREADY_REFUNDED_ERROR', + REFUND_STATE_TRANSITION_ERROR = 'REFUND_STATE_TRANSITION_ERROR', + FULFILLMENT_STATE_TRANSITION_ERROR = 'FULFILLMENT_STATE_TRANSITION_ERROR', + PRODUCT_OPTION_IN_USE_ERROR = 'PRODUCT_OPTION_IN_USE_ERROR', + MISSING_CONDITIONS_ERROR = 'MISSING_CONDITIONS_ERROR' +} + +export type ErrorResult = { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Facet = Node & { - __typename?: 'Facet'; + __typename?: 'Facet'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1149,7 +1239,7 @@ export type FacetFilterParameter = { }; export type FacetList = PaginatedList & { - __typename?: 'FacetList'; + __typename?: 'FacetList'; items: Array; totalItems: Scalars['Int']; }; @@ -1170,7 +1260,7 @@ export type FacetSortParameter = { }; export type FacetTranslation = { - __typename?: 'FacetTranslation'; + __typename?: 'FacetTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1186,7 +1276,7 @@ export type FacetTranslationInput = { }; export type FacetValue = Node & { - __typename?: 'FacetValue'; + __typename?: 'FacetValue'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1203,13 +1293,13 @@ export type FacetValue = Node & { * by the search, and in what quantity. */ export type FacetValueResult = { - __typename?: 'FacetValueResult'; + __typename?: 'FacetValueResult'; facetValue: FacetValue; count: Scalars['Int']; }; export type FacetValueTranslation = { - __typename?: 'FacetValueTranslation'; + __typename?: 'FacetValueTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1225,7 +1315,7 @@ export type FacetValueTranslationInput = { }; export type FloatCustomFieldConfig = CustomField & { - __typename?: 'FloatCustomFieldConfig'; + __typename?: 'FloatCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1239,7 +1329,7 @@ export type FloatCustomFieldConfig = CustomField & { }; export type Fulfillment = Node & { - __typename?: 'Fulfillment'; + __typename?: 'Fulfillment'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1250,6 +1340,16 @@ export type Fulfillment = Node & { trackingCode?: Maybe; }; +/** Returned when there is an error in transitioning the Fulfillment state */ +export type FulfillmentStateTransitionError = ErrorResult & { + __typename?: 'FulfillmentStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type FulfillOrderInput = { lines: Array; method: Scalars['String']; @@ -1257,7 +1357,7 @@ export type FulfillOrderInput = { }; export type GlobalSettings = { - __typename?: 'GlobalSettings'; + __typename?: 'GlobalSettings'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1268,7 +1368,7 @@ export type GlobalSettings = { }; export type HistoryEntry = Node & { - __typename?: 'HistoryEntry'; + __typename?: 'HistoryEntry'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1286,7 +1386,7 @@ export type HistoryEntryFilterParameter = { }; export type HistoryEntryList = PaginatedList & { - __typename?: 'HistoryEntryList'; + __typename?: 'HistoryEntryList'; items: Array; totalItems: Scalars['Int']; }; @@ -1331,14 +1431,14 @@ export enum HistoryEntryType { } export type ImportInfo = { - __typename?: 'ImportInfo'; + __typename?: 'ImportInfo'; errors?: Maybe>; processed: Scalars['Int']; imported: Scalars['Int']; }; export type IntCustomFieldConfig = CustomField & { - __typename?: 'IntCustomFieldConfig'; + __typename?: 'IntCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1351,8 +1451,22 @@ export type IntCustomFieldConfig = CustomField & { step?: Maybe; }; +/** Returned if the user authentication credentials are not valid */ +export type InvalidCredentialsError = ErrorResult & { + __typename?: 'InvalidCredentialsError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if the specified items are already part of a Fulfillment */ +export type ItemsAlreadyFulfilledError = ErrorResult & { + __typename?: 'ItemsAlreadyFulfilledError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Job = Node & { - __typename?: 'Job'; + __typename?: 'Job'; id: Scalars['ID']; createdAt: Scalars['DateTime']; startedAt?: Maybe; @@ -1379,7 +1493,7 @@ export type JobFilterParameter = { }; export type JobList = PaginatedList & { - __typename?: 'JobList'; + __typename?: 'JobList'; items: Array; totalItems: Scalars['Int']; }; @@ -1392,7 +1506,7 @@ export type JobListOptions = { }; export type JobQueue = { - __typename?: 'JobQueue'; + __typename?: 'JobQueue'; name: Scalars['String']; running: Scalars['Boolean']; }; @@ -1748,8 +1862,16 @@ export enum LanguageCode { zu = 'zu' } +/** Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings */ +export type LanguageNotAvailableError = ErrorResult & { + __typename?: 'LanguageNotAvailableError'; + errorCode: ErrorCode; + message: Scalars['String']; + languageCode: Scalars['String']; +}; + export type LocaleStringCustomFieldConfig = CustomField & { - __typename?: 'LocaleStringCustomFieldConfig'; + __typename?: 'LocaleStringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1762,7 +1884,7 @@ export type LocaleStringCustomFieldConfig = CustomField & { }; export type LocalizedString = { - __typename?: 'LocalizedString'; + __typename?: 'LocalizedString'; languageCode: LanguageCode; value: Scalars['String']; }; @@ -1772,9 +1894,19 @@ export enum LogicalOperator { OR = 'OR' } -export type LoginResult = { - __typename?: 'LoginResult'; - user: CurrentUser; +export type MimeTypeError = ErrorResult & { + __typename?: 'MimeTypeError'; + errorCode: ErrorCode; + message: Scalars['String']; + fileName: Scalars['String']; + mimeType: Scalars['String']; +}; + +/** Returned if a PromotionCondition has neither a couponCode nor any conditions set */ +export type MissingConditionsError = ErrorResult & { + __typename?: 'MissingConditionsError'; + errorCode: ErrorCode; + message: Scalars['String']; }; export type MoveCollectionInput = { @@ -1783,10 +1915,18 @@ export type MoveCollectionInput = { index: Scalars['Int']; }; +/** Returned if an operation has specified OrderLines from multiple Orders */ +export type MultipleOrderError = ErrorResult & { + __typename?: 'MultipleOrderError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Mutation = { - __typename?: 'Mutation'; + __typename?: 'Mutation'; /** Add Customers to a CustomerGroup */ addCustomersToGroup: CustomerGroup; + addFulfillmentToOrder: AddFulfillmentToOrderResult; /** Add members to a Zone */ addMembersToZone: Zone; addNoteToCustomer: Customer; @@ -1798,20 +1938,20 @@ export type Mutation = { /** Assign a Role to an Administrator */ assignRoleToAdministrator: Administrator; /** Authenticates the user using a named authentication strategy */ - authenticate: LoginResult; - cancelOrder: Order; + authenticate: AuthenticationResult; + cancelOrder: CancelOrderResult; /** Create a new Administrator */ createAdministrator: Administrator; /** Create a new Asset */ - createAssets: Array; + createAssets: Array; /** Create a new Channel */ - createChannel: Channel; + createChannel: CreateChannelResult; /** Create a new Collection */ createCollection: Collection; /** Create a new Country */ createCountry: Country; /** Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer. */ - createCustomer: Customer; + createCustomer: CreateCustomerResult; /** Create a new Address and associate it with the Customer specified by customerId */ createCustomerAddress: Address; /** Create a new CustomerGroup */ @@ -1828,7 +1968,7 @@ export type Mutation = { createProductOptionGroup: ProductOptionGroup; /** Create a set of ProductVariants based on the OptionGroups assigned to the given Product */ createProductVariants: Array>; - createPromotion: Promotion; + createPromotion: CreatePromotionResult; /** Create a new Role */ createRole: Role; /** Create a new ShippingMethod */ @@ -1854,7 +1994,7 @@ export type Mutation = { /** Delete a Customer */ deleteCustomer: DeletionResponse; /** Update an existing Address */ - deleteCustomerAddress: Scalars['Boolean']; + deleteCustomerAddress: Success; /** Delete a CustomerGroup */ deleteCustomerGroup: DeletionResponse; deleteCustomerNote: DeletionResponse; @@ -1878,24 +2018,23 @@ export type Mutation = { deleteTaxRate: DeletionResponse; /** Delete a Zone */ deleteZone: DeletionResponse; - fulfillOrder: Fulfillment; importProducts?: Maybe; /** * Authenticates the user using the native authentication strategy. This mutation * is an alias for `authenticate({ native: { ... }})` */ - login: LoginResult; - logout: Scalars['Boolean']; + login: NativeAuthenticationResult; + logout: Success; /** Move a Collection to a different parent or index */ moveCollection: Collection; - refundOrder: Refund; + refundOrder: RefundOrderResult; reindex: Job; /** Remove Customers from a CustomerGroup */ removeCustomersFromGroup: CustomerGroup; /** Remove members from a Zone */ removeMembersFromZone: Zone; /** Remove an OptionGroup from a Product */ - removeOptionGroupFromProduct: Product; + removeOptionGroupFromProduct: RemoveOptionGroupFromProductResult; /** Removes Products from the specified Channel */ removeProductsFromChannel: Array; /** Remove all settled jobs in the given queues olfer than the given date. Returns the number of jobs deleted. */ @@ -1907,22 +2046,22 @@ export type Mutation = { setAsLoggedOut: UserStatus; setOrderCustomFields?: Maybe; setUiLanguage?: Maybe; - settlePayment: Payment; - settleRefund: Refund; - transitionFulfillmentToState: Fulfillment; - transitionOrderToState?: Maybe; + settlePayment: SettlePaymentResult; + settleRefund: SettleRefundResult; + transitionFulfillmentToState: TransitionFulfillmentToStateResult; + transitionOrderToState?: Maybe; /** Update an existing Administrator */ updateAdministrator: Administrator; /** Update an existing Asset */ updateAsset: Asset; /** Update an existing Channel */ - updateChannel: Channel; + updateChannel: UpdateChannelResult; /** Update an existing Collection */ updateCollection: Collection; /** Update an existing Country */ updateCountry: Country; /** Update an existing Customer */ - updateCustomer: Customer; + updateCustomer: UpdateCustomerResult; /** Update an existing Address */ updateCustomerAddress: Address; /** Update an existing CustomerGroup */ @@ -1932,7 +2071,7 @@ export type Mutation = { updateFacet: Facet; /** Update one or more FacetValues */ updateFacetValues: Array; - updateGlobalSettings: GlobalSettings; + updateGlobalSettings: UpdateGlobalSettingsResult; updateOrderNote: HistoryEntry; /** Update an existing PaymentMethod */ updatePaymentMethod: PaymentMethod; @@ -1944,7 +2083,7 @@ export type Mutation = { updateProductOptionGroup: ProductOptionGroup; /** Update existing ProductVariants */ updateProductVariants: Array>; - updatePromotion: Promotion; + updatePromotion: UpdatePromotionResult; /** Update an existing Role */ updateRole: Role; /** Update an existing ShippingMethod */ @@ -1965,6 +2104,11 @@ export type MutationAddCustomersToGroupArgs = { }; +export type MutationAddFulfillmentToOrderArgs = { + input: FulfillOrderInput; +}; + + export type MutationAddMembersToZoneArgs = { zoneId: Scalars['ID']; memberIds: Array; @@ -2220,11 +2364,6 @@ export type MutationDeleteZoneArgs = { }; -export type MutationFulfillOrderArgs = { - input: FulfillOrderInput; -}; - - export type MutationImportProductsArgs = { csvFile: Scalars['Upload']; }; @@ -2442,13 +2581,22 @@ export type MutationUpdateZoneArgs = { input: UpdateZoneInput; }; +export type NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError; + export type NativeAuthInput = { username: Scalars['String']; password: Scalars['String']; }; +/** Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured. */ +export type NativeAuthStrategyError = ErrorResult & { + __typename?: 'NativeAuthStrategyError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type NetworkStatus = { - __typename?: 'NetworkStatus'; + __typename?: 'NetworkStatus'; inFlightRequests: Scalars['Int']; }; @@ -2456,6 +2604,13 @@ export type Node = { id: Scalars['ID']; }; +/** Returned if an attempting to refund an Order but neither items nor shipping refund was specified */ +export type NothingToRefundError = ErrorResult & { + __typename?: 'NothingToRefundError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type NumberOperators = { eq?: Maybe; lt?: Maybe; @@ -2471,7 +2626,7 @@ export type NumberRange = { }; export type Order = Node & { - __typename?: 'Order'; + __typename?: 'Order'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -2511,7 +2666,7 @@ export type OrderHistoryArgs = { }; export type OrderAddress = { - __typename?: 'OrderAddress'; + __typename?: 'OrderAddress'; fullName?: Maybe; company?: Maybe; streetLine1?: Maybe; @@ -2540,7 +2695,7 @@ export type OrderFilterParameter = { }; export type OrderItem = Node & { - __typename?: 'OrderItem'; + __typename?: 'OrderItem'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2555,7 +2710,7 @@ export type OrderItem = Node & { }; export type OrderLine = Node & { - __typename?: 'OrderLine'; + __typename?: 'OrderLine'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2577,7 +2732,7 @@ export type OrderLineInput = { }; export type OrderList = PaginatedList & { - __typename?: 'OrderList'; + __typename?: 'OrderList'; items: Array; totalItems: Scalars['Int']; }; @@ -2590,7 +2745,7 @@ export type OrderListOptions = { }; export type OrderProcessState = { - __typename?: 'OrderProcessState'; + __typename?: 'OrderProcessState'; name: Scalars['String']; to: Array; }; @@ -2609,13 +2764,23 @@ export type OrderSortParameter = { total?: Maybe; }; +/** Returned if there is an error in transitioning the Order state */ +export type OrderStateTransitionError = ErrorResult & { + __typename?: 'OrderStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type PaginatedList = { items: Array; totalItems: Scalars['Int']; }; export type Payment = Node & { - __typename?: 'Payment'; + __typename?: 'Payment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2629,7 +2794,7 @@ export type Payment = Node & { }; export type PaymentMethod = Node & { - __typename?: 'PaymentMethod'; + __typename?: 'PaymentMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2647,7 +2812,7 @@ export type PaymentMethodFilterParameter = { }; export type PaymentMethodList = PaginatedList & { - __typename?: 'PaymentMethodList'; + __typename?: 'PaymentMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -2666,6 +2831,23 @@ export type PaymentMethodSortParameter = { code?: Maybe; }; +/** Returned if an attempting to refund a Payment against OrderLines from a different Order */ +export type PaymentOrderMismatchError = ErrorResult & { + __typename?: 'PaymentOrderMismatchError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Payment state */ +export type PaymentStateTransitionError = ErrorResult & { + __typename?: 'PaymentStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + /** * " * @description @@ -2711,13 +2893,13 @@ export enum Permission { /** The price range where the result has more than one price */ export type PriceRange = { - __typename?: 'PriceRange'; + __typename?: 'PriceRange'; min: Scalars['Int']; max: Scalars['Int']; }; export type Product = Node & { - __typename?: 'Product'; + __typename?: 'Product'; enabled: Scalars['Boolean']; channels: Array; id: Scalars['ID']; @@ -2748,7 +2930,7 @@ export type ProductFilterParameter = { }; export type ProductList = PaginatedList & { - __typename?: 'ProductList'; + __typename?: 'ProductList'; items: Array; totalItems: Scalars['Int']; }; @@ -2761,7 +2943,7 @@ export type ProductListOptions = { }; export type ProductOption = Node & { - __typename?: 'ProductOption'; + __typename?: 'ProductOption'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2775,7 +2957,7 @@ export type ProductOption = Node & { }; export type ProductOptionGroup = Node & { - __typename?: 'ProductOptionGroup'; + __typename?: 'ProductOptionGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2788,7 +2970,7 @@ export type ProductOptionGroup = Node & { }; export type ProductOptionGroupTranslation = { - __typename?: 'ProductOptionGroupTranslation'; + __typename?: 'ProductOptionGroupTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2803,8 +2985,16 @@ export type ProductOptionGroupTranslationInput = { customFields?: Maybe; }; +export type ProductOptionInUseError = ErrorResult & { + __typename?: 'ProductOptionInUseError'; + errorCode: ErrorCode; + message: Scalars['String']; + optionGroupCode: Scalars['String']; + productVariantCount: Scalars['Int']; +}; + export type ProductOptionTranslation = { - __typename?: 'ProductOptionTranslation'; + __typename?: 'ProductOptionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2829,7 +3019,7 @@ export type ProductSortParameter = { }; export type ProductTranslation = { - __typename?: 'ProductTranslation'; + __typename?: 'ProductTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2849,7 +3039,7 @@ export type ProductTranslationInput = { }; export type ProductVariant = Node & { - __typename?: 'ProductVariant'; + __typename?: 'ProductVariant'; enabled: Scalars['Boolean']; stockOnHand: Scalars['Int']; trackInventory: Scalars['Boolean']; @@ -2897,7 +3087,7 @@ export type ProductVariantFilterParameter = { }; export type ProductVariantList = PaginatedList & { - __typename?: 'ProductVariantList'; + __typename?: 'ProductVariantList'; items: Array; totalItems: Scalars['Int']; }; @@ -2922,7 +3112,7 @@ export type ProductVariantSortParameter = { }; export type ProductVariantTranslation = { - __typename?: 'ProductVariantTranslation'; + __typename?: 'ProductVariantTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2938,7 +3128,7 @@ export type ProductVariantTranslationInput = { }; export type Promotion = Node & { - __typename?: 'Promotion'; + __typename?: 'Promotion'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2964,7 +3154,7 @@ export type PromotionFilterParameter = { }; export type PromotionList = PaginatedList & { - __typename?: 'PromotionList'; + __typename?: 'PromotionList'; items: Array; totalItems: Scalars['Int']; }; @@ -2987,8 +3177,15 @@ export type PromotionSortParameter = { name?: Maybe; }; +/** Returned if the specified quantity of an OrderLine is greater than the number of items in that line */ +export type QuantityTooGreatError = ErrorResult & { + __typename?: 'QuantityTooGreatError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Query = { - __typename?: 'Query'; + __typename?: 'Query'; activeChannel: Channel; administrator?: Maybe; administrators: AdministratorList; @@ -3254,7 +3451,7 @@ export type QueryZoneArgs = { }; export type Refund = Node & { - __typename?: 'Refund'; + __typename?: 'Refund'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3279,13 +3476,35 @@ export type RefundOrderInput = { reason?: Maybe; }; +export type RefundOrderResult = Refund | QuantityTooGreatError | NothingToRefundError | OrderStateTransitionError | MultipleOrderError | PaymentOrderMismatchError | RefundOrderStateError | AlreadyRefundedError | RefundStateTransitionError; + +/** Returned if an attempting to refund an Order which is not in the expected state */ +export type RefundOrderStateError = ErrorResult & { + __typename?: 'RefundOrderStateError'; + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Refund state */ +export type RefundStateTransitionError = ErrorResult & { + __typename?: 'RefundStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + +export type RemoveOptionGroupFromProductResult = Product | ProductOptionInUseError; + export type RemoveProductsFromChannelInput = { productIds: Array; channelId: Scalars['ID']; }; export type Return = Node & StockMovement & { - __typename?: 'Return'; + __typename?: 'Return'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3296,7 +3515,7 @@ export type Return = Node & StockMovement & { }; export type Role = Node & { - __typename?: 'Role'; + __typename?: 'Role'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3314,7 +3533,7 @@ export type RoleFilterParameter = { }; export type RoleList = PaginatedList & { - __typename?: 'RoleList'; + __typename?: 'RoleList'; items: Array; totalItems: Scalars['Int']; }; @@ -3335,7 +3554,7 @@ export type RoleSortParameter = { }; export type Sale = Node & StockMovement & { - __typename?: 'Sale'; + __typename?: 'Sale'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3358,19 +3577,19 @@ export type SearchInput = { }; export type SearchReindexResponse = { - __typename?: 'SearchReindexResponse'; + __typename?: 'SearchReindexResponse'; success: Scalars['Boolean']; }; export type SearchResponse = { - __typename?: 'SearchResponse'; + __typename?: 'SearchResponse'; items: Array; totalItems: Scalars['Int']; facetValues: Array; }; export type SearchResult = { - __typename?: 'SearchResult'; + __typename?: 'SearchResult'; enabled: Scalars['Boolean']; /** An array of ids of the Collections in which this result appears */ channelIds: Array; @@ -3399,7 +3618,7 @@ export type SearchResult = { }; export type SearchResultAsset = { - __typename?: 'SearchResultAsset'; + __typename?: 'SearchResultAsset'; id: Scalars['ID']; preview: Scalars['String']; focalPoint?: Maybe; @@ -3414,19 +3633,31 @@ export type SearchResultSortParameter = { }; export type ServerConfig = { - __typename?: 'ServerConfig'; + __typename?: 'ServerConfig'; orderProcess: Array; permittedAssetTypes: Array; customFieldConfig: CustomFields; }; +/** Returned if the Payment settlement fails */ +export type SettlePaymentError = ErrorResult & { + __typename?: 'SettlePaymentError'; + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + +export type SettlePaymentResult = Payment | SettlePaymentError | PaymentStateTransitionError | OrderStateTransitionError; + export type SettleRefundInput = { id: Scalars['ID']; transactionId: Scalars['String']; }; +export type SettleRefundResult = Refund | RefundStateTransitionError; + export type ShippingMethod = Node & { - __typename?: 'ShippingMethod'; + __typename?: 'ShippingMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3445,7 +3676,7 @@ export type ShippingMethodFilterParameter = { }; export type ShippingMethodList = PaginatedList & { - __typename?: 'ShippingMethodList'; + __typename?: 'ShippingMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -3458,7 +3689,7 @@ export type ShippingMethodListOptions = { }; export type ShippingMethodQuote = { - __typename?: 'ShippingMethodQuote'; + __typename?: 'ShippingMethodQuote'; id: Scalars['ID']; price: Scalars['Int']; priceWithTax: Scalars['Int']; @@ -3476,7 +3707,7 @@ export type ShippingMethodSortParameter = { /** The price value where the result has a single price */ export type SinglePrice = { - __typename?: 'SinglePrice'; + __typename?: 'SinglePrice'; value: Scalars['Int']; }; @@ -3486,7 +3717,7 @@ export enum SortOrder { } export type StockAdjustment = Node & StockMovement & { - __typename?: 'StockAdjustment'; + __typename?: 'StockAdjustment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3507,7 +3738,7 @@ export type StockMovement = { export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return; export type StockMovementList = { - __typename?: 'StockMovementList'; + __typename?: 'StockMovementList'; items: Array; totalItems: Scalars['Int']; }; @@ -3526,7 +3757,7 @@ export enum StockMovementType { } export type StringCustomFieldConfig = CustomField & { - __typename?: 'StringCustomFieldConfig'; + __typename?: 'StringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -3540,7 +3771,7 @@ export type StringCustomFieldConfig = CustomField & { }; export type StringFieldOption = { - __typename?: 'StringFieldOption'; + __typename?: 'StringFieldOption'; value: Scalars['String']; label?: Maybe>; }; @@ -3550,8 +3781,14 @@ export type StringOperators = { contains?: Maybe; }; +/** Indicates that an operation succeeded, where we do not want to return any more specific information. */ +export type Success = { + __typename?: 'Success'; + success: Scalars['Boolean']; +}; + export type TaxCategory = Node & { - __typename?: 'TaxCategory'; + __typename?: 'TaxCategory'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3559,7 +3796,7 @@ export type TaxCategory = Node & { }; export type TaxRate = Node & { - __typename?: 'TaxRate'; + __typename?: 'TaxRate'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3580,7 +3817,7 @@ export type TaxRateFilterParameter = { }; export type TaxRateList = PaginatedList & { - __typename?: 'TaxRateList'; + __typename?: 'TaxRateList'; items: Array; totalItems: Scalars['Int']; }; @@ -3618,7 +3855,7 @@ export type TestShippingMethodOrderLineInput = { }; export type TestShippingMethodQuote = { - __typename?: 'TestShippingMethodQuote'; + __typename?: 'TestShippingMethodQuote'; price: Scalars['Int']; priceWithTax: Scalars['Int']; description: Scalars['String']; @@ -3626,13 +3863,17 @@ export type TestShippingMethodQuote = { }; export type TestShippingMethodResult = { - __typename?: 'TestShippingMethodResult'; + __typename?: 'TestShippingMethodResult'; eligible: Scalars['Boolean']; quote?: Maybe; }; +export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError; + +export type TransitionOrderToStateResult = Order | OrderStateTransitionError; + export type UiState = { - __typename?: 'UiState'; + __typename?: 'UiState'; language: LanguageCode; }; @@ -3678,6 +3919,8 @@ export type UpdateChannelInput = { defaultShippingZoneId?: Maybe; }; +export type UpdateChannelResult = Channel | LanguageNotAvailableError; + export type UpdateCollectionInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3725,6 +3968,8 @@ export type UpdateCustomerNoteInput = { note: Scalars['String']; }; +export type UpdateCustomerResult = Customer | EmailAddressConflictError; + export type UpdateFacetInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3746,6 +3991,8 @@ export type UpdateGlobalSettingsInput = { customFields?: Maybe; }; +export type UpdateGlobalSettingsResult = GlobalSettings | ChannelDefaultLanguageError; + export type UpdateOrderInput = { id: Scalars['ID']; customFields?: Maybe; @@ -3815,6 +4062,8 @@ export type UpdatePromotionInput = { actions?: Maybe>; }; +export type UpdatePromotionResult = Promotion | MissingConditionsError; + export type UpdateRoleInput = { id: Scalars['ID']; code?: Maybe; @@ -3854,7 +4103,7 @@ export type UpdateZoneInput = { export type User = Node & { - __typename?: 'User'; + __typename?: 'User'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3867,7 +4116,7 @@ export type User = Node & { }; export type UserStatus = { - __typename?: 'UserStatus'; + __typename?: 'UserStatus'; username: Scalars['String']; isLoggedIn: Scalars['Boolean']; loginTime: Scalars['String']; @@ -3884,7 +4133,7 @@ export type UserStatusInput = { }; export type Zone = Node & { - __typename?: 'Zone'; + __typename?: 'Zone'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3914,157 +4163,124 @@ export type AdministratorFragment = ( ) } ); -export type GetAdministratorsQueryVariables = { +export type GetAdministratorsQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetAdministratorsQuery = ( - { __typename?: 'Query' } - & { administrators: ( +export type GetAdministratorsQuery = { administrators: ( { __typename?: 'AdministratorList' } & Pick & { items: Array<( { __typename?: 'Administrator' } & AdministratorFragment )> } - ) } -); + ) }; -export type GetAdministratorQueryVariables = { +export type GetAdministratorQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetAdministratorQuery = ( - { __typename?: 'Query' } - & { administrator?: Maybe<( +export type GetAdministratorQuery = { administrator?: Maybe<( { __typename?: 'Administrator' } & AdministratorFragment - )> } -); + )> }; -export type CreateAdministratorMutationVariables = { +export type CreateAdministratorMutationVariables = Exact<{ input: CreateAdministratorInput; -}; +}>; -export type CreateAdministratorMutation = ( - { __typename?: 'Mutation' } - & { createAdministrator: ( +export type CreateAdministratorMutation = { createAdministrator: ( { __typename?: 'Administrator' } & AdministratorFragment - ) } -); + ) }; -export type UpdateAdministratorMutationVariables = { +export type UpdateAdministratorMutationVariables = Exact<{ input: UpdateAdministratorInput; -}; +}>; -export type UpdateAdministratorMutation = ( - { __typename?: 'Mutation' } - & { updateAdministrator: ( +export type UpdateAdministratorMutation = { updateAdministrator: ( { __typename?: 'Administrator' } & AdministratorFragment - ) } -); + ) }; -export type DeleteAdministratorMutationVariables = { +export type DeleteAdministratorMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteAdministratorMutation = ( - { __typename?: 'Mutation' } - & { deleteAdministrator: ( +export type DeleteAdministratorMutation = { deleteAdministrator: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type GetRolesQueryVariables = { +export type GetRolesQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetRolesQuery = ( - { __typename?: 'Query' } - & { roles: ( +export type GetRolesQuery = { roles: ( { __typename?: 'RoleList' } & Pick & { items: Array<( { __typename?: 'Role' } & RoleFragment )> } - ) } -); + ) }; -export type GetRoleQueryVariables = { +export type GetRoleQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetRoleQuery = ( - { __typename?: 'Query' } - & { role?: Maybe<( +export type GetRoleQuery = { role?: Maybe<( { __typename?: 'Role' } & RoleFragment - )> } -); + )> }; -export type CreateRoleMutationVariables = { +export type CreateRoleMutationVariables = Exact<{ input: CreateRoleInput; -}; +}>; -export type CreateRoleMutation = ( - { __typename?: 'Mutation' } - & { createRole: ( +export type CreateRoleMutation = { createRole: ( { __typename?: 'Role' } & RoleFragment - ) } -); + ) }; -export type UpdateRoleMutationVariables = { +export type UpdateRoleMutationVariables = Exact<{ input: UpdateRoleInput; -}; +}>; -export type UpdateRoleMutation = ( - { __typename?: 'Mutation' } - & { updateRole: ( +export type UpdateRoleMutation = { updateRole: ( { __typename?: 'Role' } & RoleFragment - ) } -); + ) }; -export type DeleteRoleMutationVariables = { +export type DeleteRoleMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteRoleMutation = ( - { __typename?: 'Mutation' } - & { deleteRole: ( +export type DeleteRoleMutation = { deleteRole: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type AssignRoleToAdministratorMutationVariables = { +export type AssignRoleToAdministratorMutationVariables = Exact<{ administratorId: Scalars['ID']; roleId: Scalars['ID']; -}; +}>; -export type AssignRoleToAdministratorMutation = ( - { __typename?: 'Mutation' } - & { assignRoleToAdministrator: ( +export type AssignRoleToAdministratorMutation = { assignRoleToAdministrator: ( { __typename?: 'Administrator' } & AdministratorFragment - ) } -); + ) }; export type CurrentUserFragment = ( { __typename?: 'CurrentUser' } @@ -4075,58 +4291,49 @@ export type CurrentUserFragment = ( )> } ); -export type AttemptLoginMutationVariables = { +export type AttemptLoginMutationVariables = Exact<{ username: Scalars['String']; password: Scalars['String']; rememberMe: Scalars['Boolean']; -}; +}>; -export type AttemptLoginMutation = ( - { __typename?: 'Mutation' } - & { login: ( - { __typename?: 'LoginResult' } - & { user: ( - { __typename?: 'CurrentUser' } - & CurrentUserFragment - ) } - ) } -); +export type AttemptLoginMutation = { login: ( + { __typename?: 'CurrentUser' } + & CurrentUserFragment + ) | ( + { __typename?: 'InvalidCredentialsError' } + & ErrorResult_InvalidCredentialsError_Fragment + ) | ( + { __typename?: 'NativeAuthStrategyError' } + & ErrorResult_NativeAuthStrategyError_Fragment + ) }; -export type LogOutMutationVariables = {}; +export type LogOutMutationVariables = Exact<{ [key: string]: never; }>; -export type LogOutMutation = ( - { __typename?: 'Mutation' } - & Pick -); +export type LogOutMutation = { logout: ( + { __typename?: 'Success' } + & Pick + ) }; -export type GetCurrentUserQueryVariables = {}; +export type GetCurrentUserQueryVariables = Exact<{ [key: string]: never; }>; -export type GetCurrentUserQuery = ( - { __typename?: 'Query' } - & { me?: Maybe<( +export type GetCurrentUserQuery = { me?: Maybe<( { __typename?: 'CurrentUser' } & CurrentUserFragment - )> } -); + )> }; -export type RequestStartedMutationVariables = {}; +export type RequestStartedMutationVariables = Exact<{ [key: string]: never; }>; -export type RequestStartedMutation = ( - { __typename?: 'Mutation' } - & Pick -); +export type RequestStartedMutation = Pick; -export type RequestCompletedMutationVariables = {}; +export type RequestCompletedMutationVariables = Exact<{ [key: string]: never; }>; -export type RequestCompletedMutation = ( - { __typename?: 'Mutation' } - & Pick -); +export type RequestCompletedMutation = Pick; export type UserStatusFragment = ( { __typename?: 'UserStatus' } @@ -4137,109 +4344,82 @@ export type UserStatusFragment = ( )> } ); -export type SetAsLoggedInMutationVariables = { +export type SetAsLoggedInMutationVariables = Exact<{ input: UserStatusInput; -}; +}>; -export type SetAsLoggedInMutation = ( - { __typename?: 'Mutation' } - & { setAsLoggedIn: ( +export type SetAsLoggedInMutation = { setAsLoggedIn: ( { __typename?: 'UserStatus' } & UserStatusFragment - ) } -); + ) }; -export type SetAsLoggedOutMutationVariables = {}; +export type SetAsLoggedOutMutationVariables = Exact<{ [key: string]: never; }>; -export type SetAsLoggedOutMutation = ( - { __typename?: 'Mutation' } - & { setAsLoggedOut: ( +export type SetAsLoggedOutMutation = { setAsLoggedOut: ( { __typename?: 'UserStatus' } & UserStatusFragment - ) } -); + ) }; -export type SetUiLanguageMutationVariables = { +export type SetUiLanguageMutationVariables = Exact<{ languageCode: LanguageCode; -}; +}>; -export type SetUiLanguageMutation = ( - { __typename?: 'Mutation' } - & Pick -); +export type SetUiLanguageMutation = Pick; -export type GetNetworkStatusQueryVariables = {}; +export type GetNetworkStatusQueryVariables = Exact<{ [key: string]: never; }>; -export type GetNetworkStatusQuery = ( - { __typename?: 'Query' } - & { networkStatus: ( +export type GetNetworkStatusQuery = { networkStatus: ( { __typename?: 'NetworkStatus' } & Pick - ) } -); + ) }; -export type GetUserStatusQueryVariables = {}; +export type GetUserStatusQueryVariables = Exact<{ [key: string]: never; }>; -export type GetUserStatusQuery = ( - { __typename?: 'Query' } - & { userStatus: ( +export type GetUserStatusQuery = { userStatus: ( { __typename?: 'UserStatus' } & UserStatusFragment - ) } -); + ) }; -export type GetUiStateQueryVariables = {}; +export type GetUiStateQueryVariables = Exact<{ [key: string]: never; }>; -export type GetUiStateQuery = ( - { __typename?: 'Query' } - & { uiState: ( +export type GetUiStateQuery = { uiState: ( { __typename?: 'UiState' } & Pick - ) } -); + ) }; -export type SetActiveChannelMutationVariables = { +export type SetActiveChannelMutationVariables = Exact<{ channelId: Scalars['ID']; -}; +}>; -export type SetActiveChannelMutation = ( - { __typename?: 'Mutation' } - & { setActiveChannel: ( +export type SetActiveChannelMutation = { setActiveChannel: ( { __typename?: 'UserStatus' } & UserStatusFragment - ) } -); + ) }; -export type UpdateUserChannelsMutationVariables = { +export type UpdateUserChannelsMutationVariables = Exact<{ channels: Array; -}; +}>; -export type UpdateUserChannelsMutation = ( - { __typename?: 'Mutation' } - & { updateUserChannels: ( +export type UpdateUserChannelsMutation = { updateUserChannels: ( { __typename?: 'UserStatus' } & UserStatusFragment - ) } -); + ) }; -export type GetCollectionFiltersQueryVariables = {}; +export type GetCollectionFiltersQueryVariables = Exact<{ [key: string]: never; }>; -export type GetCollectionFiltersQuery = ( - { __typename?: 'Query' } - & { collectionFilters: Array<( +export type GetCollectionFiltersQuery = { collectionFilters: Array<( { __typename?: 'ConfigurableOperationDefinition' } & ConfigurableOperationDefFragment - )> } -); + )> }; export type CollectionFragment = ( { __typename?: 'Collection' } @@ -4265,14 +4445,12 @@ export type CollectionFragment = ( )>> } ); -export type GetCollectionListQueryVariables = { +export type GetCollectionListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetCollectionListQuery = ( - { __typename?: 'Query' } - & { collections: ( +export type GetCollectionListQuery = { collections: ( { __typename?: 'CollectionList' } & Pick & { items: Array<( @@ -4286,83 +4464,65 @@ export type GetCollectionListQuery = ( & Pick )> } )> } - ) } -); + ) }; -export type GetCollectionQueryVariables = { +export type GetCollectionQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCollectionQuery = ( - { __typename?: 'Query' } - & { collection?: Maybe<( +export type GetCollectionQuery = { collection?: Maybe<( { __typename?: 'Collection' } & CollectionFragment - )> } -); + )> }; -export type CreateCollectionMutationVariables = { +export type CreateCollectionMutationVariables = Exact<{ input: CreateCollectionInput; -}; +}>; -export type CreateCollectionMutation = ( - { __typename?: 'Mutation' } - & { createCollection: ( +export type CreateCollectionMutation = { createCollection: ( { __typename?: 'Collection' } & CollectionFragment - ) } -); + ) }; -export type UpdateCollectionMutationVariables = { +export type UpdateCollectionMutationVariables = Exact<{ input: UpdateCollectionInput; -}; +}>; -export type UpdateCollectionMutation = ( - { __typename?: 'Mutation' } - & { updateCollection: ( +export type UpdateCollectionMutation = { updateCollection: ( { __typename?: 'Collection' } & CollectionFragment - ) } -); + ) }; -export type MoveCollectionMutationVariables = { +export type MoveCollectionMutationVariables = Exact<{ input: MoveCollectionInput; -}; +}>; -export type MoveCollectionMutation = ( - { __typename?: 'Mutation' } - & { moveCollection: ( +export type MoveCollectionMutation = { moveCollection: ( { __typename?: 'Collection' } & CollectionFragment - ) } -); + ) }; -export type DeleteCollectionMutationVariables = { +export type DeleteCollectionMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCollectionMutation = ( - { __typename?: 'Mutation' } - & { deleteCollection: ( +export type DeleteCollectionMutation = { deleteCollection: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type GetCollectionContentsQueryVariables = { +export type GetCollectionContentsQueryVariables = Exact<{ id: Scalars['ID']; options?: Maybe; -}; +}>; -export type GetCollectionContentsQuery = ( - { __typename?: 'Query' } - & { collection?: Maybe<( +export type GetCollectionContentsQuery = { collection?: Maybe<( { __typename?: 'Collection' } & Pick & { productVariants: ( @@ -4373,8 +4533,7 @@ export type GetCollectionContentsQuery = ( & Pick )> } ) } - )> } -); + )> }; export type AddressFragment = ( { __typename?: 'Address' } @@ -4397,14 +4556,12 @@ export type CustomerFragment = ( )>> } ); -export type GetCustomerListQueryVariables = { +export type GetCustomerListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetCustomerListQuery = ( - { __typename?: 'Query' } - & { customers: ( +export type GetCustomerListQuery = { customers: ( { __typename?: 'CustomerList' } & Pick & { items: Array<( @@ -4415,18 +4572,15 @@ export type GetCustomerListQuery = ( & Pick )> } )> } - ) } -); + ) }; -export type GetCustomerQueryVariables = { +export type GetCustomerQueryVariables = Exact<{ id: Scalars['ID']; orderListOptions?: Maybe; -}; +}>; -export type GetCustomerQuery = ( - { __typename?: 'Query' } - & { customer?: Maybe<( +export type GetCustomerQuery = { customer?: Maybe<( { __typename?: 'Customer' } & { groups: Array<( { __typename?: 'CustomerGroup' } @@ -4440,141 +4594,117 @@ export type GetCustomerQuery = ( )> } ) } & CustomerFragment - )> } -); + )> }; -export type CreateCustomerMutationVariables = { +export type CreateCustomerMutationVariables = Exact<{ input: CreateCustomerInput; password?: Maybe; -}; +}>; -export type CreateCustomerMutation = ( - { __typename?: 'Mutation' } - & { createCustomer: ( +export type CreateCustomerMutation = { createCustomer: ( { __typename?: 'Customer' } & CustomerFragment - ) } -); + ) | ( + { __typename?: 'EmailAddressConflictError' } + & ErrorResult_EmailAddressConflictError_Fragment + ) }; -export type UpdateCustomerMutationVariables = { +export type UpdateCustomerMutationVariables = Exact<{ input: UpdateCustomerInput; -}; +}>; -export type UpdateCustomerMutation = ( - { __typename?: 'Mutation' } - & { updateCustomer: ( +export type UpdateCustomerMutation = { updateCustomer: ( { __typename?: 'Customer' } & CustomerFragment - ) } -); + ) | ( + { __typename?: 'EmailAddressConflictError' } + & ErrorResult_EmailAddressConflictError_Fragment + ) }; -export type DeleteCustomerMutationVariables = { +export type DeleteCustomerMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCustomerMutation = ( - { __typename?: 'Mutation' } - & { deleteCustomer: ( +export type DeleteCustomerMutation = { deleteCustomer: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type CreateCustomerAddressMutationVariables = { +export type CreateCustomerAddressMutationVariables = Exact<{ customerId: Scalars['ID']; input: CreateAddressInput; -}; +}>; -export type CreateCustomerAddressMutation = ( - { __typename?: 'Mutation' } - & { createCustomerAddress: ( +export type CreateCustomerAddressMutation = { createCustomerAddress: ( { __typename?: 'Address' } & AddressFragment - ) } -); + ) }; -export type UpdateCustomerAddressMutationVariables = { +export type UpdateCustomerAddressMutationVariables = Exact<{ input: UpdateAddressInput; -}; +}>; -export type UpdateCustomerAddressMutation = ( - { __typename?: 'Mutation' } - & { updateCustomerAddress: ( +export type UpdateCustomerAddressMutation = { updateCustomerAddress: ( { __typename?: 'Address' } & AddressFragment - ) } -); + ) }; -export type CreateCustomerGroupMutationVariables = { +export type CreateCustomerGroupMutationVariables = Exact<{ input: CreateCustomerGroupInput; -}; +}>; -export type CreateCustomerGroupMutation = ( - { __typename?: 'Mutation' } - & { createCustomerGroup: ( +export type CreateCustomerGroupMutation = { createCustomerGroup: ( { __typename?: 'CustomerGroup' } & Pick - ) } -); + ) }; -export type UpdateCustomerGroupMutationVariables = { +export type UpdateCustomerGroupMutationVariables = Exact<{ input: UpdateCustomerGroupInput; -}; +}>; -export type UpdateCustomerGroupMutation = ( - { __typename?: 'Mutation' } - & { updateCustomerGroup: ( +export type UpdateCustomerGroupMutation = { updateCustomerGroup: ( { __typename?: 'CustomerGroup' } & Pick - ) } -); + ) }; -export type DeleteCustomerGroupMutationVariables = { +export type DeleteCustomerGroupMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCustomerGroupMutation = ( - { __typename?: 'Mutation' } - & { deleteCustomerGroup: ( +export type DeleteCustomerGroupMutation = { deleteCustomerGroup: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type GetCustomerGroupsQueryVariables = { +export type GetCustomerGroupsQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetCustomerGroupsQuery = ( - { __typename?: 'Query' } - & { customerGroups: ( +export type GetCustomerGroupsQuery = { customerGroups: ( { __typename?: 'CustomerGroupList' } & Pick & { items: Array<( { __typename?: 'CustomerGroup' } & Pick )> } - ) } -); + ) }; -export type GetCustomerGroupWithCustomersQueryVariables = { +export type GetCustomerGroupWithCustomersQueryVariables = Exact<{ id: Scalars['ID']; options?: Maybe; -}; +}>; -export type GetCustomerGroupWithCustomersQuery = ( - { __typename?: 'Query' } - & { customerGroup?: Maybe<( +export type GetCustomerGroupWithCustomersQuery = { customerGroup?: Maybe<( { __typename?: 'CustomerGroup' } & Pick & { customers: ( @@ -4585,46 +4715,37 @@ export type GetCustomerGroupWithCustomersQuery = ( & Pick )> } ) } - )> } -); + )> }; -export type AddCustomersToGroupMutationVariables = { +export type AddCustomersToGroupMutationVariables = Exact<{ groupId: Scalars['ID']; customerIds: Array; -}; +}>; -export type AddCustomersToGroupMutation = ( - { __typename?: 'Mutation' } - & { addCustomersToGroup: ( +export type AddCustomersToGroupMutation = { addCustomersToGroup: ( { __typename?: 'CustomerGroup' } & Pick - ) } -); + ) }; -export type RemoveCustomersFromGroupMutationVariables = { +export type RemoveCustomersFromGroupMutationVariables = Exact<{ groupId: Scalars['ID']; customerIds: Array; -}; +}>; -export type RemoveCustomersFromGroupMutation = ( - { __typename?: 'Mutation' } - & { removeCustomersFromGroup: ( +export type RemoveCustomersFromGroupMutation = { removeCustomersFromGroup: ( { __typename?: 'CustomerGroup' } & Pick - ) } -); + ) }; -export type GetCustomerHistoryQueryVariables = { +export type GetCustomerHistoryQueryVariables = Exact<{ id: Scalars['ID']; options?: Maybe; -}; +}>; -export type GetCustomerHistoryQuery = ( - { __typename?: 'Query' } - & { customer?: Maybe<( +export type GetCustomerHistoryQuery = { customer?: Maybe<( { __typename?: 'Customer' } & Pick & { history: ( @@ -4639,47 +4760,37 @@ export type GetCustomerHistoryQuery = ( )> } )> } ) } - )> } -); + )> }; -export type AddNoteToCustomerMutationVariables = { +export type AddNoteToCustomerMutationVariables = Exact<{ input: AddNoteToCustomerInput; -}; +}>; -export type AddNoteToCustomerMutation = ( - { __typename?: 'Mutation' } - & { addNoteToCustomer: ( +export type AddNoteToCustomerMutation = { addNoteToCustomer: ( { __typename?: 'Customer' } & Pick - ) } -); + ) }; -export type UpdateCustomerNoteMutationVariables = { +export type UpdateCustomerNoteMutationVariables = Exact<{ input: UpdateCustomerNoteInput; -}; +}>; -export type UpdateCustomerNoteMutation = ( - { __typename?: 'Mutation' } - & { updateCustomerNote: ( +export type UpdateCustomerNoteMutation = { updateCustomerNote: ( { __typename?: 'HistoryEntry' } & Pick - ) } -); + ) }; -export type DeleteCustomerNoteMutationVariables = { +export type DeleteCustomerNoteMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCustomerNoteMutation = ( - { __typename?: 'Mutation' } - & { deleteCustomerNote: ( +export type DeleteCustomerNoteMutation = { deleteCustomerNote: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; export type FacetValueFragment = ( { __typename?: 'FacetValue' } @@ -4705,115 +4816,91 @@ export type FacetWithValuesFragment = ( )> } ); -export type CreateFacetMutationVariables = { +export type CreateFacetMutationVariables = Exact<{ input: CreateFacetInput; -}; +}>; -export type CreateFacetMutation = ( - { __typename?: 'Mutation' } - & { createFacet: ( +export type CreateFacetMutation = { createFacet: ( { __typename?: 'Facet' } & FacetWithValuesFragment - ) } -); + ) }; -export type UpdateFacetMutationVariables = { +export type UpdateFacetMutationVariables = Exact<{ input: UpdateFacetInput; -}; +}>; -export type UpdateFacetMutation = ( - { __typename?: 'Mutation' } - & { updateFacet: ( +export type UpdateFacetMutation = { updateFacet: ( { __typename?: 'Facet' } & FacetWithValuesFragment - ) } -); + ) }; -export type DeleteFacetMutationVariables = { +export type DeleteFacetMutationVariables = Exact<{ id: Scalars['ID']; force?: Maybe; -}; +}>; -export type DeleteFacetMutation = ( - { __typename?: 'Mutation' } - & { deleteFacet: ( +export type DeleteFacetMutation = { deleteFacet: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type CreateFacetValuesMutationVariables = { +export type CreateFacetValuesMutationVariables = Exact<{ input: Array; -}; +}>; -export type CreateFacetValuesMutation = ( - { __typename?: 'Mutation' } - & { createFacetValues: Array<( +export type CreateFacetValuesMutation = { createFacetValues: Array<( { __typename?: 'FacetValue' } & FacetValueFragment - )> } -); + )> }; -export type UpdateFacetValuesMutationVariables = { +export type UpdateFacetValuesMutationVariables = Exact<{ input: Array; -}; +}>; -export type UpdateFacetValuesMutation = ( - { __typename?: 'Mutation' } - & { updateFacetValues: Array<( +export type UpdateFacetValuesMutation = { updateFacetValues: Array<( { __typename?: 'FacetValue' } & FacetValueFragment - )> } -); + )> }; -export type DeleteFacetValuesMutationVariables = { +export type DeleteFacetValuesMutationVariables = Exact<{ ids: Array; force?: Maybe; -}; +}>; -export type DeleteFacetValuesMutation = ( - { __typename?: 'Mutation' } - & { deleteFacetValues: Array<( +export type DeleteFacetValuesMutation = { deleteFacetValues: Array<( { __typename?: 'DeletionResponse' } & Pick - )> } -); + )> }; -export type GetFacetListQueryVariables = { +export type GetFacetListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetFacetListQuery = ( - { __typename?: 'Query' } - & { facets: ( +export type GetFacetListQuery = { facets: ( { __typename?: 'FacetList' } & Pick & { items: Array<( { __typename?: 'Facet' } & FacetWithValuesFragment )> } - ) } -); + ) }; -export type GetFacetWithValuesQueryVariables = { +export type GetFacetWithValuesQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetFacetWithValuesQuery = ( - { __typename?: 'Query' } - & { facet?: Maybe<( +export type GetFacetWithValuesQuery = { facet?: Maybe<( { __typename?: 'Facet' } & FacetWithValuesFragment - )> } -); + )> }; export type AdjustmentFragment = ( { __typename?: 'Adjustment' } @@ -4907,110 +4994,147 @@ export type OrderDetailFragment = ( )>> } ); -export type GetOrderListQueryVariables = { +export type GetOrderListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetOrderListQuery = ( - { __typename?: 'Query' } - & { orders: ( +export type GetOrderListQuery = { orders: ( { __typename?: 'OrderList' } & Pick & { items: Array<( { __typename?: 'Order' } & OrderFragment )> } - ) } -); + ) }; -export type GetOrderQueryVariables = { +export type GetOrderQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetOrderQuery = ( - { __typename?: 'Query' } - & { order?: Maybe<( +export type GetOrderQuery = { order?: Maybe<( { __typename?: 'Order' } & OrderDetailFragment - )> } -); + )> }; -export type SettlePaymentMutationVariables = { +export type SettlePaymentMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type SettlePaymentMutation = ( - { __typename?: 'Mutation' } - & { settlePayment: ( +export type SettlePaymentMutation = { settlePayment: ( { __typename?: 'Payment' } & Pick - ) } -); - -export type CreateFulfillmentMutationVariables = { + ) | ( + { __typename?: 'SettlePaymentError' } + & Pick + & ErrorResult_SettlePaymentError_Fragment + ) | ( + { __typename?: 'PaymentStateTransitionError' } + & Pick + & ErrorResult_PaymentStateTransitionError_Fragment + ) | ( + { __typename?: 'OrderStateTransitionError' } + & Pick + & ErrorResult_OrderStateTransitionError_Fragment + ) }; + +export type CreateFulfillmentMutationVariables = Exact<{ input: FulfillOrderInput; -}; +}>; -export type CreateFulfillmentMutation = ( - { __typename?: 'Mutation' } - & { fulfillOrder: ( +export type CreateFulfillmentMutation = { addFulfillmentToOrder: ( { __typename?: 'Fulfillment' } & FulfillmentFragment - ) } -); - -export type CancelOrderMutationVariables = { + ) | ( + { __typename?: 'EmptyOrderLineSelectionError' } + & ErrorResult_EmptyOrderLineSelectionError_Fragment + ) | ( + { __typename?: 'ItemsAlreadyFulfilledError' } + & ErrorResult_ItemsAlreadyFulfilledError_Fragment + ) }; + +export type CancelOrderMutationVariables = Exact<{ input: CancelOrderInput; -}; +}>; -export type CancelOrderMutation = ( - { __typename?: 'Mutation' } - & { cancelOrder: ( +export type CancelOrderMutation = { cancelOrder: ( { __typename?: 'Order' } & OrderDetailFragment - ) } -); - -export type RefundOrderMutationVariables = { + ) | ( + { __typename?: 'EmptyOrderLineSelectionError' } + & ErrorResult_EmptyOrderLineSelectionError_Fragment + ) | ( + { __typename?: 'QuantityTooGreatError' } + & ErrorResult_QuantityTooGreatError_Fragment + ) | ( + { __typename?: 'MultipleOrderError' } + & ErrorResult_MultipleOrderError_Fragment + ) | ( + { __typename?: 'CancelActiveOrderError' } + & ErrorResult_CancelActiveOrderError_Fragment + ) | ( + { __typename?: 'OrderStateTransitionError' } + & ErrorResult_OrderStateTransitionError_Fragment + ) }; + +export type RefundOrderMutationVariables = Exact<{ input: RefundOrderInput; -}; +}>; -export type RefundOrderMutation = ( - { __typename?: 'Mutation' } - & { refundOrder: ( +export type RefundOrderMutation = { refundOrder: ( { __typename?: 'Refund' } & RefundFragment - ) } -); - -export type SettleRefundMutationVariables = { + ) | ( + { __typename?: 'QuantityTooGreatError' } + & ErrorResult_QuantityTooGreatError_Fragment + ) | ( + { __typename?: 'NothingToRefundError' } + & ErrorResult_NothingToRefundError_Fragment + ) | ( + { __typename?: 'OrderStateTransitionError' } + & ErrorResult_OrderStateTransitionError_Fragment + ) | ( + { __typename?: 'MultipleOrderError' } + & ErrorResult_MultipleOrderError_Fragment + ) | ( + { __typename?: 'PaymentOrderMismatchError' } + & ErrorResult_PaymentOrderMismatchError_Fragment + ) | ( + { __typename?: 'RefundOrderStateError' } + & ErrorResult_RefundOrderStateError_Fragment + ) | ( + { __typename?: 'AlreadyRefundedError' } + & ErrorResult_AlreadyRefundedError_Fragment + ) | ( + { __typename?: 'RefundStateTransitionError' } + & ErrorResult_RefundStateTransitionError_Fragment + ) }; + +export type SettleRefundMutationVariables = Exact<{ input: SettleRefundInput; -}; +}>; -export type SettleRefundMutation = ( - { __typename?: 'Mutation' } - & { settleRefund: ( +export type SettleRefundMutation = { settleRefund: ( { __typename?: 'Refund' } & RefundFragment - ) } -); + ) | ( + { __typename?: 'RefundStateTransitionError' } + & ErrorResult_RefundStateTransitionError_Fragment + ) }; -export type GetOrderHistoryQueryVariables = { +export type GetOrderHistoryQueryVariables = Exact<{ id: Scalars['ID']; options?: Maybe; -}; +}>; -export type GetOrderHistoryQuery = ( - { __typename?: 'Query' } - & { order?: Maybe<( +export type GetOrderHistoryQuery = { order?: Maybe<( { __typename?: 'Order' } & Pick & { history: ( @@ -5025,88 +5149,77 @@ export type GetOrderHistoryQuery = ( )> } )> } ) } - )> } -); + )> }; -export type AddNoteToOrderMutationVariables = { +export type AddNoteToOrderMutationVariables = Exact<{ input: AddNoteToOrderInput; -}; +}>; -export type AddNoteToOrderMutation = ( - { __typename?: 'Mutation' } - & { addNoteToOrder: ( +export type AddNoteToOrderMutation = { addNoteToOrder: ( { __typename?: 'Order' } & Pick - ) } -); + ) }; -export type UpdateOrderNoteMutationVariables = { +export type UpdateOrderNoteMutationVariables = Exact<{ input: UpdateOrderNoteInput; -}; +}>; -export type UpdateOrderNoteMutation = ( - { __typename?: 'Mutation' } - & { updateOrderNote: ( +export type UpdateOrderNoteMutation = { updateOrderNote: ( { __typename?: 'HistoryEntry' } & Pick - ) } -); + ) }; -export type DeleteOrderNoteMutationVariables = { +export type DeleteOrderNoteMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteOrderNoteMutation = ( - { __typename?: 'Mutation' } - & { deleteOrderNote: ( +export type DeleteOrderNoteMutation = { deleteOrderNote: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type TransitionOrderToStateMutationVariables = { +export type TransitionOrderToStateMutationVariables = Exact<{ id: Scalars['ID']; state: Scalars['String']; -}; +}>; -export type TransitionOrderToStateMutation = ( - { __typename?: 'Mutation' } - & { transitionOrderToState?: Maybe<( +export type TransitionOrderToStateMutation = { transitionOrderToState?: Maybe<( { __typename?: 'Order' } & OrderFragment - )> } -); + ) | ( + { __typename?: 'OrderStateTransitionError' } + & Pick + & ErrorResult_OrderStateTransitionError_Fragment + )> }; -export type UpdateOrderCustomFieldsMutationVariables = { +export type UpdateOrderCustomFieldsMutationVariables = Exact<{ input: UpdateOrderInput; -}; +}>; -export type UpdateOrderCustomFieldsMutation = ( - { __typename?: 'Mutation' } - & { setOrderCustomFields?: Maybe<( +export type UpdateOrderCustomFieldsMutation = { setOrderCustomFields?: Maybe<( { __typename?: 'Order' } & OrderFragment - )> } -); + )> }; -export type TransitionFulfillmentToStateMutationVariables = { +export type TransitionFulfillmentToStateMutationVariables = Exact<{ id: Scalars['ID']; state: Scalars['String']; -}; +}>; -export type TransitionFulfillmentToStateMutation = ( - { __typename?: 'Mutation' } - & { transitionFulfillmentToState: ( +export type TransitionFulfillmentToStateMutation = { transitionFulfillmentToState: ( { __typename?: 'Fulfillment' } & FulfillmentFragment - ) } -); + ) | ( + { __typename?: 'FulfillmentStateTransitionError' } + & Pick + & ErrorResult_FulfillmentStateTransitionError_Fragment + ) }; export type AssetFragment = ( { __typename?: 'Asset' } @@ -5213,119 +5326,93 @@ export type ProductOptionGroupWithOptionsFragment = ( )> } ); -export type UpdateProductMutationVariables = { +export type UpdateProductMutationVariables = Exact<{ input: UpdateProductInput; -}; +}>; -export type UpdateProductMutation = ( - { __typename?: 'Mutation' } - & { updateProduct: ( +export type UpdateProductMutation = { updateProduct: ( { __typename?: 'Product' } & ProductWithVariantsFragment - ) } -); + ) }; -export type CreateProductMutationVariables = { +export type CreateProductMutationVariables = Exact<{ input: CreateProductInput; -}; +}>; -export type CreateProductMutation = ( - { __typename?: 'Mutation' } - & { createProduct: ( +export type CreateProductMutation = { createProduct: ( { __typename?: 'Product' } & ProductWithVariantsFragment - ) } -); + ) }; -export type DeleteProductMutationVariables = { +export type DeleteProductMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteProductMutation = ( - { __typename?: 'Mutation' } - & { deleteProduct: ( +export type DeleteProductMutation = { deleteProduct: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type CreateProductVariantsMutationVariables = { +export type CreateProductVariantsMutationVariables = Exact<{ input: Array; -}; +}>; -export type CreateProductVariantsMutation = ( - { __typename?: 'Mutation' } - & { createProductVariants: Array> } -); + )>> }; -export type UpdateProductVariantsMutationVariables = { +export type UpdateProductVariantsMutationVariables = Exact<{ input: Array; -}; +}>; -export type UpdateProductVariantsMutation = ( - { __typename?: 'Mutation' } - & { updateProductVariants: Array> } -); + )>> }; -export type CreateProductOptionGroupMutationVariables = { +export type CreateProductOptionGroupMutationVariables = Exact<{ input: CreateProductOptionGroupInput; -}; +}>; -export type CreateProductOptionGroupMutation = ( - { __typename?: 'Mutation' } - & { createProductOptionGroup: ( +export type CreateProductOptionGroupMutation = { createProductOptionGroup: ( { __typename?: 'ProductOptionGroup' } & ProductOptionGroupWithOptionsFragment - ) } -); + ) }; -export type GetProductOptionGroupQueryVariables = { +export type GetProductOptionGroupQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetProductOptionGroupQuery = ( - { __typename?: 'Query' } - & { productOptionGroup?: Maybe<( +export type GetProductOptionGroupQuery = { productOptionGroup?: Maybe<( { __typename?: 'ProductOptionGroup' } & ProductOptionGroupWithOptionsFragment - )> } -); + )> }; -export type AddOptionToGroupMutationVariables = { +export type AddOptionToGroupMutationVariables = Exact<{ input: CreateProductOptionInput; -}; +}>; -export type AddOptionToGroupMutation = ( - { __typename?: 'Mutation' } - & { createProductOption: ( +export type AddOptionToGroupMutation = { createProductOption: ( { __typename?: 'ProductOption' } & Pick - ) } -); + ) }; -export type AddOptionGroupToProductMutationVariables = { +export type AddOptionGroupToProductMutationVariables = Exact<{ productId: Scalars['ID']; optionGroupId: Scalars['ID']; -}; +}>; -export type AddOptionGroupToProductMutation = ( - { __typename?: 'Mutation' } - & { addOptionGroupToProduct: ( +export type AddOptionGroupToProductMutation = { addOptionGroupToProduct: ( { __typename?: 'Product' } & Pick & { optionGroups: Array<( @@ -5336,18 +5423,15 @@ export type AddOptionGroupToProductMutation = ( & Pick )> } )> } - ) } -); + ) }; -export type RemoveOptionGroupFromProductMutationVariables = { +export type RemoveOptionGroupFromProductMutationVariables = Exact<{ productId: Scalars['ID']; optionGroupId: Scalars['ID']; -}; +}>; -export type RemoveOptionGroupFromProductMutation = ( - { __typename?: 'Mutation' } - & { removeOptionGroupFromProduct: ( +export type RemoveOptionGroupFromProductMutation = { removeOptionGroupFromProduct: ( { __typename?: 'Product' } & Pick & { optionGroups: Array<( @@ -5358,30 +5442,27 @@ export type RemoveOptionGroupFromProductMutation = ( & Pick )> } )> } - ) } -); + ) | ( + { __typename?: 'ProductOptionInUseError' } + & ErrorResult_ProductOptionInUseError_Fragment + ) }; -export type GetProductWithVariantsQueryVariables = { +export type GetProductWithVariantsQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetProductWithVariantsQuery = ( - { __typename?: 'Query' } - & { product?: Maybe<( +export type GetProductWithVariantsQuery = { product?: Maybe<( { __typename?: 'Product' } & ProductWithVariantsFragment - )> } -); + )> }; -export type GetProductListQueryVariables = { +export type GetProductListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetProductListQuery = ( - { __typename?: 'Query' } - & { products: ( +export type GetProductListQuery = { products: ( { __typename?: 'ProductList' } & Pick & { items: Array<( @@ -5392,104 +5473,86 @@ export type GetProductListQuery = ( & Pick )> } )> } - ) } -); + ) }; -export type GetProductOptionGroupsQueryVariables = { +export type GetProductOptionGroupsQueryVariables = Exact<{ filterTerm?: Maybe; -}; +}>; -export type GetProductOptionGroupsQuery = ( - { __typename?: 'Query' } - & { productOptionGroups: Array<( +export type GetProductOptionGroupsQuery = { productOptionGroups: Array<( { __typename?: 'ProductOptionGroup' } & Pick & { options: Array<( { __typename?: 'ProductOption' } & Pick )> } - )> } -); + )> }; -export type GetAssetListQueryVariables = { +export type GetAssetListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetAssetListQuery = ( - { __typename?: 'Query' } - & { assets: ( +export type GetAssetListQuery = { assets: ( { __typename?: 'AssetList' } & Pick & { items: Array<( { __typename?: 'Asset' } & AssetFragment )> } - ) } -); + ) }; -export type GetAssetQueryVariables = { +export type GetAssetQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetAssetQuery = ( - { __typename?: 'Query' } - & { asset?: Maybe<( +export type GetAssetQuery = { asset?: Maybe<( { __typename?: 'Asset' } & AssetFragment - )> } -); + )> }; -export type CreateAssetsMutationVariables = { +export type CreateAssetsMutationVariables = Exact<{ input: Array; -}; +}>; -export type CreateAssetsMutation = ( - { __typename?: 'Mutation' } - & { createAssets: Array<( +export type CreateAssetsMutation = { createAssets: Array<( { __typename?: 'Asset' } & AssetFragment - )> } -); + ) | ( + { __typename?: 'MimeTypeError' } + & Pick + )> }; -export type UpdateAssetMutationVariables = { +export type UpdateAssetMutationVariables = Exact<{ input: UpdateAssetInput; -}; +}>; -export type UpdateAssetMutation = ( - { __typename?: 'Mutation' } - & { updateAsset: ( +export type UpdateAssetMutation = { updateAsset: ( { __typename?: 'Asset' } & AssetFragment - ) } -); + ) }; -export type DeleteAssetsMutationVariables = { +export type DeleteAssetsMutationVariables = Exact<{ ids: Array; force?: Maybe; -}; +}>; -export type DeleteAssetsMutation = ( - { __typename?: 'Mutation' } - & { deleteAssets: ( +export type DeleteAssetsMutation = { deleteAssets: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type SearchProductsQueryVariables = { +export type SearchProductsQueryVariables = Exact<{ input: SearchInput; -}; +}>; -export type SearchProductsQuery = ( - { __typename?: 'Query' } - & { search: ( +export type SearchProductsQuery = { search: ( { __typename?: 'SearchResponse' } & Pick & { items: Array<( @@ -5522,18 +5585,15 @@ export type SearchProductsQuery = ( ) } ) } )> } - ) } -); + ) }; -export type ProductSelectorSearchQueryVariables = { +export type ProductSelectorSearchQueryVariables = Exact<{ term: Scalars['String']; take: Scalars['Int']; -}; +}>; -export type ProductSelectorSearchQuery = ( - { __typename?: 'Query' } - & { search: ( +export type ProductSelectorSearchQuery = { search: ( { __typename?: 'SearchResponse' } & { items: Array<( { __typename?: 'SearchResult' } @@ -5553,43 +5613,34 @@ export type ProductSelectorSearchQuery = ( & Pick ) } )> } - ) } -); + ) }; -export type UpdateProductOptionMutationVariables = { +export type UpdateProductOptionMutationVariables = Exact<{ input: UpdateProductOptionInput; -}; +}>; -export type UpdateProductOptionMutation = ( - { __typename?: 'Mutation' } - & { updateProductOption: ( +export type UpdateProductOptionMutation = { updateProductOption: ( { __typename?: 'ProductOption' } & ProductOptionFragment - ) } -); + ) }; -export type DeleteProductVariantMutationVariables = { +export type DeleteProductVariantMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteProductVariantMutation = ( - { __typename?: 'Mutation' } - & { deleteProductVariant: ( +export type DeleteProductVariantMutation = { deleteProductVariant: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type GetProductVariantOptionsQueryVariables = { +export type GetProductVariantOptionsQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetProductVariantOptionsQuery = ( - { __typename?: 'Query' } - & { product?: Maybe<( +export type GetProductVariantOptionsQuery = { product?: Maybe<( { __typename?: 'Product' } & Pick & { optionGroups: Array<( @@ -5607,51 +5658,42 @@ export type GetProductVariantOptionsQuery = ( & Pick )> } )> } - )> } -); + )> }; -export type AssignProductsToChannelMutationVariables = { +export type AssignProductsToChannelMutationVariables = Exact<{ input: AssignProductsToChannelInput; -}; +}>; -export type AssignProductsToChannelMutation = ( - { __typename?: 'Mutation' } - & { assignProductsToChannel: Array<( +export type AssignProductsToChannelMutation = { assignProductsToChannel: Array<( { __typename?: 'Product' } & Pick & { channels: Array<( { __typename?: 'Channel' } & Pick )> } - )> } -); + )> }; -export type RemoveProductsFromChannelMutationVariables = { +export type RemoveProductsFromChannelMutationVariables = Exact<{ input: RemoveProductsFromChannelInput; -}; +}>; -export type RemoveProductsFromChannelMutation = ( - { __typename?: 'Mutation' } - & { removeProductsFromChannel: Array<( +export type RemoveProductsFromChannelMutation = { removeProductsFromChannel: Array<( { __typename?: 'Product' } & Pick & { channels: Array<( { __typename?: 'Channel' } & Pick )> } - )> } -); + )> }; -export type GetProductVariantQueryVariables = { +export type GetProductVariantQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetProductVariantQuery = ( - { __typename?: 'Query' } - & { productVariant?: Maybe<( +export type GetProductVariantQuery = { productVariant?: Maybe<( { __typename?: 'ProductVariant' } & Pick & { product: ( @@ -5666,8 +5708,7 @@ export type GetProductVariantQuery = ( )> } )> } ) } - )> } -); + )> }; export type PromotionFragment = ( { __typename?: 'Promotion' } @@ -5681,88 +5722,73 @@ export type PromotionFragment = ( )> } ); -export type GetPromotionListQueryVariables = { +export type GetPromotionListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetPromotionListQuery = ( - { __typename?: 'Query' } - & { promotions: ( +export type GetPromotionListQuery = { promotions: ( { __typename?: 'PromotionList' } & Pick & { items: Array<( { __typename?: 'Promotion' } & PromotionFragment )> } - ) } -); + ) }; -export type GetPromotionQueryVariables = { +export type GetPromotionQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetPromotionQuery = ( - { __typename?: 'Query' } - & { promotion?: Maybe<( +export type GetPromotionQuery = { promotion?: Maybe<( { __typename?: 'Promotion' } & PromotionFragment - )> } -); + )> }; -export type GetAdjustmentOperationsQueryVariables = {}; +export type GetAdjustmentOperationsQueryVariables = Exact<{ [key: string]: never; }>; -export type GetAdjustmentOperationsQuery = ( - { __typename?: 'Query' } - & { promotionConditions: Array<( +export type GetAdjustmentOperationsQuery = { promotionConditions: Array<( { __typename?: 'ConfigurableOperationDefinition' } & ConfigurableOperationDefFragment )>, promotionActions: Array<( { __typename?: 'ConfigurableOperationDefinition' } & ConfigurableOperationDefFragment - )> } -); + )> }; -export type CreatePromotionMutationVariables = { +export type CreatePromotionMutationVariables = Exact<{ input: CreatePromotionInput; -}; +}>; -export type CreatePromotionMutation = ( - { __typename?: 'Mutation' } - & { createPromotion: ( +export type CreatePromotionMutation = { createPromotion: ( { __typename?: 'Promotion' } & PromotionFragment - ) } -); + ) | ( + { __typename?: 'MissingConditionsError' } + & ErrorResult_MissingConditionsError_Fragment + ) }; -export type UpdatePromotionMutationVariables = { +export type UpdatePromotionMutationVariables = Exact<{ input: UpdatePromotionInput; -}; +}>; -export type UpdatePromotionMutation = ( - { __typename?: 'Mutation' } - & { updatePromotion: ( +export type UpdatePromotionMutation = { updatePromotion: ( { __typename?: 'Promotion' } & PromotionFragment - ) } -); + ) | { __typename?: 'MissingConditionsError' } }; -export type DeletePromotionMutationVariables = { +export type DeletePromotionMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeletePromotionMutation = ( - { __typename?: 'Mutation' } - & { deletePromotion: ( +export type DeletePromotionMutation = { deletePromotion: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; export type CountryFragment = ( { __typename?: 'Country' } @@ -5773,88 +5799,70 @@ export type CountryFragment = ( )> } ); -export type GetCountryListQueryVariables = { +export type GetCountryListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetCountryListQuery = ( - { __typename?: 'Query' } - & { countries: ( +export type GetCountryListQuery = { countries: ( { __typename?: 'CountryList' } & Pick & { items: Array<( { __typename?: 'Country' } & Pick )> } - ) } -); + ) }; -export type GetAvailableCountriesQueryVariables = {}; +export type GetAvailableCountriesQueryVariables = Exact<{ [key: string]: never; }>; -export type GetAvailableCountriesQuery = ( - { __typename?: 'Query' } - & { countries: ( +export type GetAvailableCountriesQuery = { countries: ( { __typename?: 'CountryList' } & { items: Array<( { __typename?: 'Country' } & Pick )> } - ) } -); + ) }; -export type GetCountryQueryVariables = { +export type GetCountryQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCountryQuery = ( - { __typename?: 'Query' } - & { country?: Maybe<( +export type GetCountryQuery = { country?: Maybe<( { __typename?: 'Country' } & CountryFragment - )> } -); + )> }; -export type CreateCountryMutationVariables = { +export type CreateCountryMutationVariables = Exact<{ input: CreateCountryInput; -}; +}>; -export type CreateCountryMutation = ( - { __typename?: 'Mutation' } - & { createCountry: ( +export type CreateCountryMutation = { createCountry: ( { __typename?: 'Country' } & CountryFragment - ) } -); + ) }; -export type UpdateCountryMutationVariables = { +export type UpdateCountryMutationVariables = Exact<{ input: UpdateCountryInput; -}; +}>; -export type UpdateCountryMutation = ( - { __typename?: 'Mutation' } - & { updateCountry: ( +export type UpdateCountryMutation = { updateCountry: ( { __typename?: 'Country' } & CountryFragment - ) } -); + ) }; -export type DeleteCountryMutationVariables = { +export type DeleteCountryMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCountryMutation = ( - { __typename?: 'Mutation' } - & { deleteCountry: ( +export type DeleteCountryMutation = { deleteCountry: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; export type ZoneFragment = ( { __typename?: 'Zone' } @@ -5865,168 +5873,132 @@ export type ZoneFragment = ( )> } ); -export type GetZonesQueryVariables = {}; +export type GetZonesQueryVariables = Exact<{ [key: string]: never; }>; -export type GetZonesQuery = ( - { __typename?: 'Query' } - & { zones: Array<( +export type GetZonesQuery = { zones: Array<( { __typename?: 'Zone' } & Pick & { members: Array<( { __typename?: 'Country' } & Pick )> } - )> } -); + )> }; -export type GetZoneQueryVariables = { +export type GetZoneQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetZoneQuery = ( - { __typename?: 'Query' } - & { zone?: Maybe<( +export type GetZoneQuery = { zone?: Maybe<( { __typename?: 'Zone' } & ZoneFragment - )> } -); + )> }; -export type CreateZoneMutationVariables = { +export type CreateZoneMutationVariables = Exact<{ input: CreateZoneInput; -}; +}>; -export type CreateZoneMutation = ( - { __typename?: 'Mutation' } - & { createZone: ( +export type CreateZoneMutation = { createZone: ( { __typename?: 'Zone' } & ZoneFragment - ) } -); + ) }; -export type UpdateZoneMutationVariables = { +export type UpdateZoneMutationVariables = Exact<{ input: UpdateZoneInput; -}; +}>; -export type UpdateZoneMutation = ( - { __typename?: 'Mutation' } - & { updateZone: ( +export type UpdateZoneMutation = { updateZone: ( { __typename?: 'Zone' } & ZoneFragment - ) } -); + ) }; -export type DeleteZoneMutationVariables = { +export type DeleteZoneMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteZoneMutation = ( - { __typename?: 'Mutation' } - & { deleteZone: ( +export type DeleteZoneMutation = { deleteZone: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type AddMembersToZoneMutationVariables = { +export type AddMembersToZoneMutationVariables = Exact<{ zoneId: Scalars['ID']; memberIds: Array; -}; +}>; -export type AddMembersToZoneMutation = ( - { __typename?: 'Mutation' } - & { addMembersToZone: ( +export type AddMembersToZoneMutation = { addMembersToZone: ( { __typename?: 'Zone' } & ZoneFragment - ) } -); + ) }; -export type RemoveMembersFromZoneMutationVariables = { +export type RemoveMembersFromZoneMutationVariables = Exact<{ zoneId: Scalars['ID']; memberIds: Array; -}; +}>; -export type RemoveMembersFromZoneMutation = ( - { __typename?: 'Mutation' } - & { removeMembersFromZone: ( +export type RemoveMembersFromZoneMutation = { removeMembersFromZone: ( { __typename?: 'Zone' } & ZoneFragment - ) } -); + ) }; export type TaxCategoryFragment = ( { __typename?: 'TaxCategory' } & Pick ); -export type GetTaxCategoriesQueryVariables = {}; +export type GetTaxCategoriesQueryVariables = Exact<{ [key: string]: never; }>; -export type GetTaxCategoriesQuery = ( - { __typename?: 'Query' } - & { taxCategories: Array<( +export type GetTaxCategoriesQuery = { taxCategories: Array<( { __typename?: 'TaxCategory' } & TaxCategoryFragment - )> } -); + )> }; -export type GetTaxCategoryQueryVariables = { +export type GetTaxCategoryQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetTaxCategoryQuery = ( - { __typename?: 'Query' } - & { taxCategory?: Maybe<( +export type GetTaxCategoryQuery = { taxCategory?: Maybe<( { __typename?: 'TaxCategory' } & TaxCategoryFragment - )> } -); + )> }; -export type CreateTaxCategoryMutationVariables = { +export type CreateTaxCategoryMutationVariables = Exact<{ input: CreateTaxCategoryInput; -}; +}>; -export type CreateTaxCategoryMutation = ( - { __typename?: 'Mutation' } - & { createTaxCategory: ( +export type CreateTaxCategoryMutation = { createTaxCategory: ( { __typename?: 'TaxCategory' } & TaxCategoryFragment - ) } -); + ) }; -export type UpdateTaxCategoryMutationVariables = { +export type UpdateTaxCategoryMutationVariables = Exact<{ input: UpdateTaxCategoryInput; -}; +}>; -export type UpdateTaxCategoryMutation = ( - { __typename?: 'Mutation' } - & { updateTaxCategory: ( +export type UpdateTaxCategoryMutation = { updateTaxCategory: ( { __typename?: 'TaxCategory' } & TaxCategoryFragment - ) } -); + ) }; -export type DeleteTaxCategoryMutationVariables = { +export type DeleteTaxCategoryMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteTaxCategoryMutation = ( - { __typename?: 'Mutation' } - & { deleteTaxCategory: ( +export type DeleteTaxCategoryMutation = { deleteTaxCategory: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; export type TaxRateFragment = ( { __typename?: 'TaxRate' } @@ -6043,74 +6015,59 @@ export type TaxRateFragment = ( )> } ); -export type GetTaxRateListQueryVariables = { +export type GetTaxRateListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetTaxRateListQuery = ( - { __typename?: 'Query' } - & { taxRates: ( +export type GetTaxRateListQuery = { taxRates: ( { __typename?: 'TaxRateList' } & Pick & { items: Array<( { __typename?: 'TaxRate' } & TaxRateFragment )> } - ) } -); + ) }; -export type GetTaxRateQueryVariables = { +export type GetTaxRateQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetTaxRateQuery = ( - { __typename?: 'Query' } - & { taxRate?: Maybe<( +export type GetTaxRateQuery = { taxRate?: Maybe<( { __typename?: 'TaxRate' } & TaxRateFragment - )> } -); + )> }; -export type CreateTaxRateMutationVariables = { +export type CreateTaxRateMutationVariables = Exact<{ input: CreateTaxRateInput; -}; +}>; -export type CreateTaxRateMutation = ( - { __typename?: 'Mutation' } - & { createTaxRate: ( +export type CreateTaxRateMutation = { createTaxRate: ( { __typename?: 'TaxRate' } & TaxRateFragment - ) } -); + ) }; -export type UpdateTaxRateMutationVariables = { +export type UpdateTaxRateMutationVariables = Exact<{ input: UpdateTaxRateInput; -}; +}>; -export type UpdateTaxRateMutation = ( - { __typename?: 'Mutation' } - & { updateTaxRate: ( +export type UpdateTaxRateMutation = { updateTaxRate: ( { __typename?: 'TaxRate' } & TaxRateFragment - ) } -); + ) }; -export type DeleteTaxRateMutationVariables = { +export type DeleteTaxRateMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteTaxRateMutation = ( - { __typename?: 'Mutation' } - & { deleteTaxRate: ( +export type DeleteTaxRateMutation = { deleteTaxRate: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; export type ChannelFragment = ( { __typename?: 'Channel' } @@ -6124,79 +6081,67 @@ export type ChannelFragment = ( )> } ); -export type GetChannelsQueryVariables = {}; +export type GetChannelsQueryVariables = Exact<{ [key: string]: never; }>; -export type GetChannelsQuery = ( - { __typename?: 'Query' } - & { channels: Array<( +export type GetChannelsQuery = { channels: Array<( { __typename?: 'Channel' } & ChannelFragment - )> } -); + )> }; -export type GetChannelQueryVariables = { +export type GetChannelQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetChannelQuery = ( - { __typename?: 'Query' } - & { channel?: Maybe<( +export type GetChannelQuery = { channel?: Maybe<( { __typename?: 'Channel' } & ChannelFragment - )> } -); + )> }; -export type GetActiveChannelQueryVariables = {}; +export type GetActiveChannelQueryVariables = Exact<{ [key: string]: never; }>; -export type GetActiveChannelQuery = ( - { __typename?: 'Query' } - & { activeChannel: ( +export type GetActiveChannelQuery = { activeChannel: ( { __typename?: 'Channel' } & ChannelFragment - ) } -); + ) }; -export type CreateChannelMutationVariables = { +export type CreateChannelMutationVariables = Exact<{ input: CreateChannelInput; -}; +}>; -export type CreateChannelMutation = ( - { __typename?: 'Mutation' } - & { createChannel: ( +export type CreateChannelMutation = { createChannel: ( { __typename?: 'Channel' } & ChannelFragment - ) } -); + ) | ( + { __typename?: 'LanguageNotAvailableError' } + & ErrorResult_LanguageNotAvailableError_Fragment + ) }; -export type UpdateChannelMutationVariables = { +export type UpdateChannelMutationVariables = Exact<{ input: UpdateChannelInput; -}; +}>; -export type UpdateChannelMutation = ( - { __typename?: 'Mutation' } - & { updateChannel: ( +export type UpdateChannelMutation = { updateChannel: ( { __typename?: 'Channel' } & ChannelFragment - ) } -); + ) | ( + { __typename?: 'LanguageNotAvailableError' } + & ErrorResult_LanguageNotAvailableError_Fragment + ) }; -export type DeleteChannelMutationVariables = { +export type DeleteChannelMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteChannelMutation = ( - { __typename?: 'Mutation' } - & { deleteChannel: ( +export type DeleteChannelMutation = { deleteChannel: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; export type PaymentMethodFragment = ( { __typename?: 'PaymentMethod' } @@ -6210,77 +6155,65 @@ export type PaymentMethodFragment = ( ) } ); -export type GetPaymentMethodListQueryVariables = { +export type GetPaymentMethodListQueryVariables = Exact<{ options: PaymentMethodListOptions; -}; +}>; -export type GetPaymentMethodListQuery = ( - { __typename?: 'Query' } - & { paymentMethods: ( +export type GetPaymentMethodListQuery = { paymentMethods: ( { __typename?: 'PaymentMethodList' } & Pick & { items: Array<( { __typename?: 'PaymentMethod' } & PaymentMethodFragment )> } - ) } -); + ) }; -export type GetPaymentMethodQueryVariables = { +export type GetPaymentMethodQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetPaymentMethodQuery = ( - { __typename?: 'Query' } - & { paymentMethod?: Maybe<( +export type GetPaymentMethodQuery = { paymentMethod?: Maybe<( { __typename?: 'PaymentMethod' } & PaymentMethodFragment - )> } -); + )> }; -export type UpdatePaymentMethodMutationVariables = { +export type UpdatePaymentMethodMutationVariables = Exact<{ input: UpdatePaymentMethodInput; -}; +}>; -export type UpdatePaymentMethodMutation = ( - { __typename?: 'Mutation' } - & { updatePaymentMethod: ( +export type UpdatePaymentMethodMutation = { updatePaymentMethod: ( { __typename?: 'PaymentMethod' } & PaymentMethodFragment - ) } -); + ) }; export type GlobalSettingsFragment = ( { __typename?: 'GlobalSettings' } & Pick ); -export type GetGlobalSettingsQueryVariables = {}; +export type GetGlobalSettingsQueryVariables = Exact<{ [key: string]: never; }>; -export type GetGlobalSettingsQuery = ( - { __typename?: 'Query' } - & { globalSettings: ( +export type GetGlobalSettingsQuery = { globalSettings: ( { __typename?: 'GlobalSettings' } & GlobalSettingsFragment - ) } -); + ) }; -export type UpdateGlobalSettingsMutationVariables = { +export type UpdateGlobalSettingsMutationVariables = Exact<{ input: UpdateGlobalSettingsInput; -}; +}>; -export type UpdateGlobalSettingsMutation = ( - { __typename?: 'Mutation' } - & { updateGlobalSettings: ( +export type UpdateGlobalSettingsMutation = { updateGlobalSettings: ( { __typename?: 'GlobalSettings' } & GlobalSettingsFragment - ) } -); + ) | ( + { __typename?: 'ChannelDefaultLanguageError' } + & ErrorResult_ChannelDefaultLanguageError_Fragment + ) }; type CustomFieldConfig_StringCustomFieldConfig_Fragment = ( { __typename?: 'StringCustomFieldConfig' } @@ -6431,12 +6364,10 @@ type CustomFields_DateTimeCustomFieldConfig_Fragment = ( export type CustomFieldsFragment = CustomFields_StringCustomFieldConfig_Fragment | CustomFields_LocaleStringCustomFieldConfig_Fragment | CustomFields_IntCustomFieldConfig_Fragment | CustomFields_FloatCustomFieldConfig_Fragment | CustomFields_BooleanCustomFieldConfig_Fragment | CustomFields_DateTimeCustomFieldConfig_Fragment; -export type GetServerConfigQueryVariables = {}; +export type GetServerConfigQueryVariables = Exact<{ [key: string]: never; }>; -export type GetServerConfigQuery = ( - { __typename?: 'Query' } - & { globalSettings: ( +export type GetServerConfigQuery = { globalSettings: ( { __typename?: 'GlobalSettings' } & { serverConfig: ( { __typename?: 'ServerConfig' } @@ -6701,78 +6632,62 @@ export type GetServerConfigQuery = ( )> } ) } ) } - ) } -); + ) }; export type JobInfoFragment = ( { __typename?: 'Job' } & Pick ); -export type GetJobInfoQueryVariables = { +export type GetJobInfoQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetJobInfoQuery = ( - { __typename?: 'Query' } - & { job?: Maybe<( +export type GetJobInfoQuery = { job?: Maybe<( { __typename?: 'Job' } & JobInfoFragment - )> } -); + )> }; -export type GetAllJobsQueryVariables = { +export type GetAllJobsQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetAllJobsQuery = ( - { __typename?: 'Query' } - & { jobs: ( +export type GetAllJobsQuery = { jobs: ( { __typename?: 'JobList' } & Pick & { items: Array<( { __typename?: 'Job' } & JobInfoFragment )> } - ) } -); + ) }; -export type GetJobsByIdQueryVariables = { +export type GetJobsByIdQueryVariables = Exact<{ ids: Array; -}; +}>; -export type GetJobsByIdQuery = ( - { __typename?: 'Query' } - & { jobsById: Array<( +export type GetJobsByIdQuery = { jobsById: Array<( { __typename?: 'Job' } & JobInfoFragment - )> } -); + )> }; -export type GetJobQueueListQueryVariables = {}; +export type GetJobQueueListQueryVariables = Exact<{ [key: string]: never; }>; -export type GetJobQueueListQuery = ( - { __typename?: 'Query' } - & { jobQueues: Array<( +export type GetJobQueueListQuery = { jobQueues: Array<( { __typename?: 'JobQueue' } & Pick - )> } -); + )> }; -export type ReindexMutationVariables = {}; +export type ReindexMutationVariables = Exact<{ [key: string]: never; }>; -export type ReindexMutation = ( - { __typename?: 'Mutation' } - & { reindex: ( +export type ReindexMutation = { reindex: ( { __typename?: 'Job' } & JobInfoFragment - ) } -); + ) }; export type ConfigurableOperationFragment = ( { __typename?: 'ConfigurableOperation' } @@ -6792,6 +6707,118 @@ export type ConfigurableOperationDefFragment = ( )> } ); +type ErrorResult_EmptyOrderLineSelectionError_Fragment = ( + { __typename?: 'EmptyOrderLineSelectionError' } + & Pick +); + +type ErrorResult_ItemsAlreadyFulfilledError_Fragment = ( + { __typename?: 'ItemsAlreadyFulfilledError' } + & Pick +); + +type ErrorResult_InvalidCredentialsError_Fragment = ( + { __typename?: 'InvalidCredentialsError' } + & Pick +); + +type ErrorResult_QuantityTooGreatError_Fragment = ( + { __typename?: 'QuantityTooGreatError' } + & Pick +); + +type ErrorResult_MultipleOrderError_Fragment = ( + { __typename?: 'MultipleOrderError' } + & Pick +); + +type ErrorResult_CancelActiveOrderError_Fragment = ( + { __typename?: 'CancelActiveOrderError' } + & Pick +); + +type ErrorResult_OrderStateTransitionError_Fragment = ( + { __typename?: 'OrderStateTransitionError' } + & Pick +); + +type ErrorResult_MimeTypeError_Fragment = ( + { __typename?: 'MimeTypeError' } + & Pick +); + +type ErrorResult_LanguageNotAvailableError_Fragment = ( + { __typename?: 'LanguageNotAvailableError' } + & Pick +); + +type ErrorResult_EmailAddressConflictError_Fragment = ( + { __typename?: 'EmailAddressConflictError' } + & Pick +); + +type ErrorResult_MissingConditionsError_Fragment = ( + { __typename?: 'MissingConditionsError' } + & Pick +); + +type ErrorResult_NativeAuthStrategyError_Fragment = ( + { __typename?: 'NativeAuthStrategyError' } + & Pick +); + +type ErrorResult_NothingToRefundError_Fragment = ( + { __typename?: 'NothingToRefundError' } + & Pick +); + +type ErrorResult_PaymentOrderMismatchError_Fragment = ( + { __typename?: 'PaymentOrderMismatchError' } + & Pick +); + +type ErrorResult_RefundOrderStateError_Fragment = ( + { __typename?: 'RefundOrderStateError' } + & Pick +); + +type ErrorResult_AlreadyRefundedError_Fragment = ( + { __typename?: 'AlreadyRefundedError' } + & Pick +); + +type ErrorResult_RefundStateTransitionError_Fragment = ( + { __typename?: 'RefundStateTransitionError' } + & Pick +); + +type ErrorResult_ProductOptionInUseError_Fragment = ( + { __typename?: 'ProductOptionInUseError' } + & Pick +); + +type ErrorResult_SettlePaymentError_Fragment = ( + { __typename?: 'SettlePaymentError' } + & Pick +); + +type ErrorResult_PaymentStateTransitionError_Fragment = ( + { __typename?: 'PaymentStateTransitionError' } + & Pick +); + +type ErrorResult_FulfillmentStateTransitionError_Fragment = ( + { __typename?: 'FulfillmentStateTransitionError' } + & Pick +); + +type ErrorResult_ChannelDefaultLanguageError_Fragment = ( + { __typename?: 'ChannelDefaultLanguageError' } + & Pick +); + +export type ErrorResultFragment = ErrorResult_EmptyOrderLineSelectionError_Fragment | ErrorResult_ItemsAlreadyFulfilledError_Fragment | ErrorResult_InvalidCredentialsError_Fragment | ErrorResult_QuantityTooGreatError_Fragment | ErrorResult_MultipleOrderError_Fragment | ErrorResult_CancelActiveOrderError_Fragment | ErrorResult_OrderStateTransitionError_Fragment | ErrorResult_MimeTypeError_Fragment | ErrorResult_LanguageNotAvailableError_Fragment | ErrorResult_EmailAddressConflictError_Fragment | ErrorResult_MissingConditionsError_Fragment | ErrorResult_NativeAuthStrategyError_Fragment | ErrorResult_NothingToRefundError_Fragment | ErrorResult_PaymentOrderMismatchError_Fragment | ErrorResult_RefundOrderStateError_Fragment | ErrorResult_AlreadyRefundedError_Fragment | ErrorResult_RefundStateTransitionError_Fragment | ErrorResult_ProductOptionInUseError_Fragment | ErrorResult_SettlePaymentError_Fragment | ErrorResult_PaymentStateTransitionError_Fragment | ErrorResult_FulfillmentStateTransitionError_Fragment | ErrorResult_ChannelDefaultLanguageError_Fragment; + export type ShippingMethodFragment = ( { __typename?: 'ShippingMethod' } & Pick @@ -6804,223 +6831,197 @@ export type ShippingMethodFragment = ( ) } ); -export type GetShippingMethodListQueryVariables = { +export type GetShippingMethodListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetShippingMethodListQuery = ( - { __typename?: 'Query' } - & { shippingMethods: ( +export type GetShippingMethodListQuery = { shippingMethods: ( { __typename?: 'ShippingMethodList' } & Pick & { items: Array<( { __typename?: 'ShippingMethod' } & ShippingMethodFragment )> } - ) } -); + ) }; -export type GetShippingMethodQueryVariables = { +export type GetShippingMethodQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetShippingMethodQuery = ( - { __typename?: 'Query' } - & { shippingMethod?: Maybe<( +export type GetShippingMethodQuery = { shippingMethod?: Maybe<( { __typename?: 'ShippingMethod' } & ShippingMethodFragment - )> } -); + )> }; -export type GetShippingMethodOperationsQueryVariables = {}; +export type GetShippingMethodOperationsQueryVariables = Exact<{ [key: string]: never; }>; -export type GetShippingMethodOperationsQuery = ( - { __typename?: 'Query' } - & { shippingEligibilityCheckers: Array<( +export type GetShippingMethodOperationsQuery = { shippingEligibilityCheckers: Array<( { __typename?: 'ConfigurableOperationDefinition' } & ConfigurableOperationDefFragment )>, shippingCalculators: Array<( { __typename?: 'ConfigurableOperationDefinition' } & ConfigurableOperationDefFragment - )> } -); + )> }; -export type CreateShippingMethodMutationVariables = { +export type CreateShippingMethodMutationVariables = Exact<{ input: CreateShippingMethodInput; -}; +}>; -export type CreateShippingMethodMutation = ( - { __typename?: 'Mutation' } - & { createShippingMethod: ( +export type CreateShippingMethodMutation = { createShippingMethod: ( { __typename?: 'ShippingMethod' } & ShippingMethodFragment - ) } -); + ) }; -export type UpdateShippingMethodMutationVariables = { +export type UpdateShippingMethodMutationVariables = Exact<{ input: UpdateShippingMethodInput; -}; +}>; -export type UpdateShippingMethodMutation = ( - { __typename?: 'Mutation' } - & { updateShippingMethod: ( +export type UpdateShippingMethodMutation = { updateShippingMethod: ( { __typename?: 'ShippingMethod' } & ShippingMethodFragment - ) } -); + ) }; -export type DeleteShippingMethodMutationVariables = { +export type DeleteShippingMethodMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteShippingMethodMutation = ( - { __typename?: 'Mutation' } - & { deleteShippingMethod: ( +export type DeleteShippingMethodMutation = { deleteShippingMethod: ( { __typename?: 'DeletionResponse' } & Pick - ) } -); + ) }; -export type TestShippingMethodQueryVariables = { +export type TestShippingMethodQueryVariables = Exact<{ input: TestShippingMethodInput; -}; +}>; -export type TestShippingMethodQuery = ( - { __typename?: 'Query' } - & { testShippingMethod: ( +export type TestShippingMethodQuery = { testShippingMethod: ( { __typename?: 'TestShippingMethodResult' } & Pick & { quote?: Maybe<( { __typename?: 'TestShippingMethodQuote' } & Pick )> } - ) } -); + ) }; -export type TestEligibleShippingMethodsQueryVariables = { +export type TestEligibleShippingMethodsQueryVariables = Exact<{ input: TestEligibleShippingMethodsInput; -}; +}>; -export type TestEligibleShippingMethodsQuery = ( - { __typename?: 'Query' } - & { testEligibleShippingMethods: Array<( +export type TestEligibleShippingMethodsQuery = { testEligibleShippingMethods: Array<( { __typename?: 'ShippingMethodQuote' } & Pick - )> } -); + )> }; type DiscriminateUnion = T extends U ? T : never; -type RequireField = T & { [P in TNames]: (T & { [name: string]: never })[P] }; - export namespace Role { export type Fragment = RoleFragment; - export type Channels = (NonNullable); + export type Channels = NonNullable<(NonNullable)[number]>; } export namespace Administrator { export type Fragment = AdministratorFragment; - export type User = AdministratorFragment['user']; - export type Roles = RoleFragment; + export type User = (NonNullable); + export type Roles = NonNullable<(NonNullable<(NonNullable)['roles']>)[number]>; } export namespace GetAdministrators { export type Variables = GetAdministratorsQueryVariables; export type Query = GetAdministratorsQuery; - export type Administrators = GetAdministratorsQuery['administrators']; - export type Items = AdministratorFragment; + export type Administrators = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetAdministrator { export type Variables = GetAdministratorQueryVariables; export type Query = GetAdministratorQuery; - export type Administrator = AdministratorFragment; + export type Administrator = (NonNullable); } export namespace CreateAdministrator { export type Variables = CreateAdministratorMutationVariables; export type Mutation = CreateAdministratorMutation; - export type CreateAdministrator = AdministratorFragment; + export type CreateAdministrator = (NonNullable); } export namespace UpdateAdministrator { export type Variables = UpdateAdministratorMutationVariables; export type Mutation = UpdateAdministratorMutation; - export type UpdateAdministrator = AdministratorFragment; + export type UpdateAdministrator = (NonNullable); } export namespace DeleteAdministrator { export type Variables = DeleteAdministratorMutationVariables; export type Mutation = DeleteAdministratorMutation; - export type DeleteAdministrator = DeleteAdministratorMutation['deleteAdministrator']; + export type DeleteAdministrator = (NonNullable); } export namespace GetRoles { export type Variables = GetRolesQueryVariables; export type Query = GetRolesQuery; - export type Roles = GetRolesQuery['roles']; - export type Items = RoleFragment; + export type Roles = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetRole { export type Variables = GetRoleQueryVariables; export type Query = GetRoleQuery; - export type Role = RoleFragment; + export type Role = (NonNullable); } export namespace CreateRole { export type Variables = CreateRoleMutationVariables; export type Mutation = CreateRoleMutation; - export type CreateRole = RoleFragment; + export type CreateRole = (NonNullable); } export namespace UpdateRole { export type Variables = UpdateRoleMutationVariables; export type Mutation = UpdateRoleMutation; - export type UpdateRole = RoleFragment; + export type UpdateRole = (NonNullable); } export namespace DeleteRole { export type Variables = DeleteRoleMutationVariables; export type Mutation = DeleteRoleMutation; - export type DeleteRole = DeleteRoleMutation['deleteRole']; + export type DeleteRole = (NonNullable); } export namespace AssignRoleToAdministrator { export type Variables = AssignRoleToAdministratorMutationVariables; export type Mutation = AssignRoleToAdministratorMutation; - export type AssignRoleToAdministrator = AdministratorFragment; + export type AssignRoleToAdministrator = (NonNullable); } export namespace CurrentUser { export type Fragment = CurrentUserFragment; - export type Channels = (NonNullable); + export type Channels = NonNullable<(NonNullable)[number]>; } export namespace AttemptLogin { export type Variables = AttemptLoginMutationVariables; export type Mutation = AttemptLoginMutation; - export type Login = AttemptLoginMutation['login']; - export type User = CurrentUserFragment; + export type Login = (NonNullable); } export namespace LogOut { export type Variables = LogOutMutationVariables; export type Mutation = LogOutMutation; + export type Logout = (NonNullable); } export namespace GetCurrentUser { export type Variables = GetCurrentUserQueryVariables; export type Query = GetCurrentUserQuery; - export type Me = CurrentUserFragment; + export type Me = (NonNullable); } export namespace RequestStarted { @@ -7035,19 +7036,19 @@ export namespace RequestCompleted { export namespace UserStatus { export type Fragment = UserStatusFragment; - export type Channels = (NonNullable); + export type Channels = NonNullable<(NonNullable)[number]>; } export namespace SetAsLoggedIn { export type Variables = SetAsLoggedInMutationVariables; export type Mutation = SetAsLoggedInMutation; - export type SetAsLoggedIn = UserStatusFragment; + export type SetAsLoggedIn = (NonNullable); } export namespace SetAsLoggedOut { export type Variables = SetAsLoggedOutMutationVariables; export type Mutation = SetAsLoggedOutMutation; - export type SetAsLoggedOut = UserStatusFragment; + export type SetAsLoggedOut = (NonNullable); } export namespace SetUiLanguage { @@ -7058,285 +7059,285 @@ export namespace SetUiLanguage { export namespace GetNetworkStatus { export type Variables = GetNetworkStatusQueryVariables; export type Query = GetNetworkStatusQuery; - export type NetworkStatus = GetNetworkStatusQuery['networkStatus']; + export type NetworkStatus = (NonNullable); } export namespace GetUserStatus { export type Variables = GetUserStatusQueryVariables; export type Query = GetUserStatusQuery; - export type UserStatus = UserStatusFragment; + export type UserStatus = (NonNullable); } export namespace GetUiState { export type Variables = GetUiStateQueryVariables; export type Query = GetUiStateQuery; - export type UiState = GetUiStateQuery['uiState']; + export type UiState = (NonNullable); } export namespace SetActiveChannel { export type Variables = SetActiveChannelMutationVariables; export type Mutation = SetActiveChannelMutation; - export type SetActiveChannel = UserStatusFragment; + export type SetActiveChannel = (NonNullable); } export namespace UpdateUserChannels { export type Variables = UpdateUserChannelsMutationVariables; export type Mutation = UpdateUserChannelsMutation; - export type UpdateUserChannels = UserStatusFragment; + export type UpdateUserChannels = (NonNullable); } export namespace GetCollectionFilters { export type Variables = GetCollectionFiltersQueryVariables; export type Query = GetCollectionFiltersQuery; - export type CollectionFilters = ConfigurableOperationDefFragment; + export type CollectionFilters = NonNullable<(NonNullable)[number]>; } export namespace Collection { export type Fragment = CollectionFragment; - export type FeaturedAsset = AssetFragment; - export type Assets = AssetFragment; - export type Filters = ConfigurableOperationFragment; - export type Translations = (NonNullable); + export type FeaturedAsset = (NonNullable); + export type Assets = NonNullable<(NonNullable)[number]>; + export type Filters = NonNullable<(NonNullable)[number]>; + export type Translations = NonNullable<(NonNullable)[number]>; export type Parent = (NonNullable); - export type Children = (NonNullable<(NonNullable)[0]>); + export type Children = NonNullable<(NonNullable)[number]>; } export namespace GetCollectionList { export type Variables = GetCollectionListQueryVariables; export type Query = GetCollectionListQuery; - export type Collections = GetCollectionListQuery['collections']; - export type Items = (NonNullable); - export type FeaturedAsset = AssetFragment; - export type Parent = (NonNullable<(NonNullable)['parent']>); + export type Collections = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; + export type FeaturedAsset = (NonNullable)['items']>)[number]>['featuredAsset']>); + export type Parent = (NonNullable)['items']>)[number]>['parent']>); } export namespace GetCollection { export type Variables = GetCollectionQueryVariables; export type Query = GetCollectionQuery; - export type Collection = CollectionFragment; + export type Collection = (NonNullable); } export namespace CreateCollection { export type Variables = CreateCollectionMutationVariables; export type Mutation = CreateCollectionMutation; - export type CreateCollection = CollectionFragment; + export type CreateCollection = (NonNullable); } export namespace UpdateCollection { export type Variables = UpdateCollectionMutationVariables; export type Mutation = UpdateCollectionMutation; - export type UpdateCollection = CollectionFragment; + export type UpdateCollection = (NonNullable); } export namespace MoveCollection { export type Variables = MoveCollectionMutationVariables; export type Mutation = MoveCollectionMutation; - export type MoveCollection = CollectionFragment; + export type MoveCollection = (NonNullable); } export namespace DeleteCollection { export type Variables = DeleteCollectionMutationVariables; export type Mutation = DeleteCollectionMutation; - export type DeleteCollection = DeleteCollectionMutation['deleteCollection']; + export type DeleteCollection = (NonNullable); } export namespace GetCollectionContents { export type Variables = GetCollectionContentsQueryVariables; export type Query = GetCollectionContentsQuery; export type Collection = (NonNullable); - export type ProductVariants = (NonNullable)['productVariants']; - export type Items = (NonNullable<(NonNullable)['productVariants']['items'][0]>); + export type ProductVariants = (NonNullable<(NonNullable)['productVariants']>); + export type Items = NonNullable<(NonNullable<(NonNullable<(NonNullable)['productVariants']>)['items']>)[number]>; } export namespace Address { export type Fragment = AddressFragment; - export type Country = AddressFragment['country']; + export type Country = (NonNullable); } export namespace Customer { export type Fragment = CustomerFragment; export type User = (NonNullable); - export type Addresses = AddressFragment; + export type Addresses = NonNullable<(NonNullable)[number]>; } export namespace GetCustomerList { export type Variables = GetCustomerListQueryVariables; export type Query = GetCustomerListQuery; - export type Customers = GetCustomerListQuery['customers']; - export type Items = (NonNullable); - export type User = (NonNullable<(NonNullable)['user']>); + export type Customers = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; + export type User = (NonNullable)['items']>)[number]>['user']>); } export namespace GetCustomer { export type Variables = GetCustomerQueryVariables; export type Query = GetCustomerQuery; - export type Customer = CustomerFragment; - export type Groups = (NonNullable<(NonNullable)['groups'][0]>); - export type Orders = (NonNullable)['orders']; - export type Items = (NonNullable<(NonNullable)['orders']['items'][0]>); + export type Customer = (NonNullable); + export type Groups = NonNullable<(NonNullable<(NonNullable)['groups']>)[number]>; + export type Orders = (NonNullable<(NonNullable)['orders']>); + export type Items = NonNullable<(NonNullable<(NonNullable<(NonNullable)['orders']>)['items']>)[number]>; } export namespace CreateCustomer { export type Variables = CreateCustomerMutationVariables; export type Mutation = CreateCustomerMutation; - export type CreateCustomer = CustomerFragment; + export type CreateCustomer = (NonNullable); } export namespace UpdateCustomer { export type Variables = UpdateCustomerMutationVariables; export type Mutation = UpdateCustomerMutation; - export type UpdateCustomer = CustomerFragment; + export type UpdateCustomer = (NonNullable); } export namespace DeleteCustomer { export type Variables = DeleteCustomerMutationVariables; export type Mutation = DeleteCustomerMutation; - export type DeleteCustomer = DeleteCustomerMutation['deleteCustomer']; + export type DeleteCustomer = (NonNullable); } export namespace CreateCustomerAddress { export type Variables = CreateCustomerAddressMutationVariables; export type Mutation = CreateCustomerAddressMutation; - export type CreateCustomerAddress = AddressFragment; + export type CreateCustomerAddress = (NonNullable); } export namespace UpdateCustomerAddress { export type Variables = UpdateCustomerAddressMutationVariables; export type Mutation = UpdateCustomerAddressMutation; - export type UpdateCustomerAddress = AddressFragment; + export type UpdateCustomerAddress = (NonNullable); } export namespace CreateCustomerGroup { export type Variables = CreateCustomerGroupMutationVariables; export type Mutation = CreateCustomerGroupMutation; - export type CreateCustomerGroup = CreateCustomerGroupMutation['createCustomerGroup']; + export type CreateCustomerGroup = (NonNullable); } export namespace UpdateCustomerGroup { export type Variables = UpdateCustomerGroupMutationVariables; export type Mutation = UpdateCustomerGroupMutation; - export type UpdateCustomerGroup = UpdateCustomerGroupMutation['updateCustomerGroup']; + export type UpdateCustomerGroup = (NonNullable); } export namespace DeleteCustomerGroup { export type Variables = DeleteCustomerGroupMutationVariables; export type Mutation = DeleteCustomerGroupMutation; - export type DeleteCustomerGroup = DeleteCustomerGroupMutation['deleteCustomerGroup']; + export type DeleteCustomerGroup = (NonNullable); } export namespace GetCustomerGroups { export type Variables = GetCustomerGroupsQueryVariables; export type Query = GetCustomerGroupsQuery; - export type CustomerGroups = GetCustomerGroupsQuery['customerGroups']; - export type Items = (NonNullable); + export type CustomerGroups = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetCustomerGroupWithCustomers { export type Variables = GetCustomerGroupWithCustomersQueryVariables; export type Query = GetCustomerGroupWithCustomersQuery; export type CustomerGroup = (NonNullable); - export type Customers = (NonNullable)['customers']; - export type Items = (NonNullable<(NonNullable)['customers']['items'][0]>); + export type Customers = (NonNullable<(NonNullable)['customers']>); + export type Items = NonNullable<(NonNullable<(NonNullable<(NonNullable)['customers']>)['items']>)[number]>; } export namespace AddCustomersToGroup { export type Variables = AddCustomersToGroupMutationVariables; export type Mutation = AddCustomersToGroupMutation; - export type AddCustomersToGroup = AddCustomersToGroupMutation['addCustomersToGroup']; + export type AddCustomersToGroup = (NonNullable); } export namespace RemoveCustomersFromGroup { export type Variables = RemoveCustomersFromGroupMutationVariables; export type Mutation = RemoveCustomersFromGroupMutation; - export type RemoveCustomersFromGroup = RemoveCustomersFromGroupMutation['removeCustomersFromGroup']; + export type RemoveCustomersFromGroup = (NonNullable); } export namespace GetCustomerHistory { export type Variables = GetCustomerHistoryQueryVariables; export type Query = GetCustomerHistoryQuery; export type Customer = (NonNullable); - export type History = (NonNullable)['history']; - export type Items = (NonNullable<(NonNullable)['history']['items'][0]>); - export type Administrator = (NonNullable<(NonNullable<(NonNullable)['history']['items'][0]>)['administrator']>); + export type History = (NonNullable<(NonNullable)['history']>); + export type Items = NonNullable<(NonNullable<(NonNullable<(NonNullable)['history']>)['items']>)[number]>; + export type Administrator = (NonNullable)['history']>)['items']>)[number]>['administrator']>); } export namespace AddNoteToCustomer { export type Variables = AddNoteToCustomerMutationVariables; export type Mutation = AddNoteToCustomerMutation; - export type AddNoteToCustomer = AddNoteToCustomerMutation['addNoteToCustomer']; + export type AddNoteToCustomer = (NonNullable); } export namespace UpdateCustomerNote { export type Variables = UpdateCustomerNoteMutationVariables; export type Mutation = UpdateCustomerNoteMutation; - export type UpdateCustomerNote = UpdateCustomerNoteMutation['updateCustomerNote']; + export type UpdateCustomerNote = (NonNullable); } export namespace DeleteCustomerNote { export type Variables = DeleteCustomerNoteMutationVariables; export type Mutation = DeleteCustomerNoteMutation; - export type DeleteCustomerNote = DeleteCustomerNoteMutation['deleteCustomerNote']; + export type DeleteCustomerNote = (NonNullable); } export namespace FacetValue { export type Fragment = FacetValueFragment; - export type Translations = (NonNullable); - export type Facet = FacetValueFragment['facet']; + export type Translations = NonNullable<(NonNullable)[number]>; + export type Facet = (NonNullable); } export namespace FacetWithValues { export type Fragment = FacetWithValuesFragment; - export type Translations = (NonNullable); - export type Values = FacetValueFragment; + export type Translations = NonNullable<(NonNullable)[number]>; + export type Values = NonNullable<(NonNullable)[number]>; } export namespace CreateFacet { export type Variables = CreateFacetMutationVariables; export type Mutation = CreateFacetMutation; - export type CreateFacet = FacetWithValuesFragment; + export type CreateFacet = (NonNullable); } export namespace UpdateFacet { export type Variables = UpdateFacetMutationVariables; export type Mutation = UpdateFacetMutation; - export type UpdateFacet = FacetWithValuesFragment; + export type UpdateFacet = (NonNullable); } export namespace DeleteFacet { export type Variables = DeleteFacetMutationVariables; export type Mutation = DeleteFacetMutation; - export type DeleteFacet = DeleteFacetMutation['deleteFacet']; + export type DeleteFacet = (NonNullable); } export namespace CreateFacetValues { export type Variables = CreateFacetValuesMutationVariables; export type Mutation = CreateFacetValuesMutation; - export type CreateFacetValues = FacetValueFragment; + export type CreateFacetValues = NonNullable<(NonNullable)[number]>; } export namespace UpdateFacetValues { export type Variables = UpdateFacetValuesMutationVariables; export type Mutation = UpdateFacetValuesMutation; - export type UpdateFacetValues = FacetValueFragment; + export type UpdateFacetValues = NonNullable<(NonNullable)[number]>; } export namespace DeleteFacetValues { export type Variables = DeleteFacetValuesMutationVariables; export type Mutation = DeleteFacetValuesMutation; - export type DeleteFacetValues = (NonNullable); + export type DeleteFacetValues = NonNullable<(NonNullable)[number]>; } export namespace GetFacetList { export type Variables = GetFacetListQueryVariables; export type Query = GetFacetListQuery; - export type Facets = GetFacetListQuery['facets']; - export type Items = FacetWithValuesFragment; + export type Facets = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetFacetWithValues { export type Variables = GetFacetWithValuesQueryVariables; export type Query = GetFacetWithValuesQuery; - export type Facet = FacetWithValuesFragment; + export type Facet = (NonNullable); } export namespace Adjustment { @@ -7363,113 +7364,119 @@ export namespace Fulfillment { export namespace OrderLine { export type Fragment = OrderLineFragment; export type FeaturedAsset = (NonNullable); - export type ProductVariant = OrderLineFragment['productVariant']; - export type Adjustments = AdjustmentFragment; - export type Items = (NonNullable); - export type Fulfillment = FulfillmentFragment; + export type ProductVariant = (NonNullable); + export type Adjustments = NonNullable<(NonNullable)[number]>; + export type Items = NonNullable<(NonNullable)[number]>; + export type Fulfillment = (NonNullable)[number]>['fulfillment']>); } export namespace OrderDetail { export type Fragment = OrderDetailFragment; export type Customer = (NonNullable); - export type Lines = OrderLineFragment; - export type Adjustments = AdjustmentFragment; - export type Promotions = (NonNullable); + export type Lines = NonNullable<(NonNullable)[number]>; + export type Adjustments = NonNullable<(NonNullable)[number]>; + export type Promotions = NonNullable<(NonNullable)[number]>; export type ShippingMethod = (NonNullable); - export type ShippingAddress = OrderAddressFragment; - export type BillingAddress = OrderAddressFragment; - export type Payments = (NonNullable<(NonNullable)[0]>); - export type Refunds = (NonNullable<(NonNullable<(NonNullable)[0]>)['refunds'][0]>); - export type OrderItems = (NonNullable<(NonNullable<(NonNullable<(NonNullable)[0]>)['refunds'][0]>)['orderItems'][0]>); - export type Fulfillments = FulfillmentFragment; + export type ShippingAddress = (NonNullable); + export type BillingAddress = (NonNullable); + export type Payments = NonNullable<(NonNullable)[number]>; + export type Refunds = NonNullable<(NonNullable)[number]>['refunds']>)[number]>; + export type OrderItems = NonNullable<(NonNullable)[number]>['refunds']>)[number]>['orderItems']>)[number]>; + export type Fulfillments = NonNullable<(NonNullable)[number]>; } export namespace GetOrderList { export type Variables = GetOrderListQueryVariables; export type Query = GetOrderListQuery; - export type Orders = GetOrderListQuery['orders']; - export type Items = OrderFragment; + export type Orders = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetOrder { export type Variables = GetOrderQueryVariables; export type Query = GetOrderQuery; - export type Order = OrderDetailFragment; + export type Order = (NonNullable); } export namespace SettlePayment { export type Variables = SettlePaymentMutationVariables; export type Mutation = SettlePaymentMutation; - export type SettlePayment = SettlePaymentMutation['settlePayment']; + export type SettlePayment = (NonNullable); + export type PaymentInlineFragment = (DiscriminateUnion<(NonNullable), { __typename?: 'Payment' }>); + export type SettlePaymentErrorInlineFragment = (DiscriminateUnion<(NonNullable), { __typename?: 'SettlePaymentError' }>); + export type PaymentStateTransitionErrorInlineFragment = (DiscriminateUnion<(NonNullable), { __typename?: 'PaymentStateTransitionError' }>); + export type OrderStateTransitionErrorInlineFragment = (DiscriminateUnion<(NonNullable), { __typename?: 'OrderStateTransitionError' }>); } export namespace CreateFulfillment { export type Variables = CreateFulfillmentMutationVariables; export type Mutation = CreateFulfillmentMutation; - export type FulfillOrder = FulfillmentFragment; + export type AddFulfillmentToOrder = (NonNullable); } export namespace CancelOrder { export type Variables = CancelOrderMutationVariables; export type Mutation = CancelOrderMutation; - export type CancelOrder = OrderDetailFragment; + export type CancelOrder = (NonNullable); } export namespace RefundOrder { export type Variables = RefundOrderMutationVariables; export type Mutation = RefundOrderMutation; - export type RefundOrder = RefundFragment; + export type RefundOrder = (NonNullable); } export namespace SettleRefund { export type Variables = SettleRefundMutationVariables; export type Mutation = SettleRefundMutation; - export type SettleRefund = RefundFragment; + export type SettleRefund = (NonNullable); } export namespace GetOrderHistory { export type Variables = GetOrderHistoryQueryVariables; export type Query = GetOrderHistoryQuery; export type Order = (NonNullable); - export type History = (NonNullable)['history']; - export type Items = (NonNullable<(NonNullable)['history']['items'][0]>); - export type Administrator = (NonNullable<(NonNullable<(NonNullable)['history']['items'][0]>)['administrator']>); + export type History = (NonNullable<(NonNullable)['history']>); + export type Items = NonNullable<(NonNullable<(NonNullable<(NonNullable)['history']>)['items']>)[number]>; + export type Administrator = (NonNullable)['history']>)['items']>)[number]>['administrator']>); } export namespace AddNoteToOrder { export type Variables = AddNoteToOrderMutationVariables; export type Mutation = AddNoteToOrderMutation; - export type AddNoteToOrder = AddNoteToOrderMutation['addNoteToOrder']; + export type AddNoteToOrder = (NonNullable); } export namespace UpdateOrderNote { export type Variables = UpdateOrderNoteMutationVariables; export type Mutation = UpdateOrderNoteMutation; - export type UpdateOrderNote = UpdateOrderNoteMutation['updateOrderNote']; + export type UpdateOrderNote = (NonNullable); } export namespace DeleteOrderNote { export type Variables = DeleteOrderNoteMutationVariables; export type Mutation = DeleteOrderNoteMutation; - export type DeleteOrderNote = DeleteOrderNoteMutation['deleteOrderNote']; + export type DeleteOrderNote = (NonNullable); } export namespace TransitionOrderToState { export type Variables = TransitionOrderToStateMutationVariables; export type Mutation = TransitionOrderToStateMutation; - export type TransitionOrderToState = OrderFragment; + export type TransitionOrderToState = (NonNullable); + export type OrderStateTransitionErrorInlineFragment = (DiscriminateUnion<(NonNullable), { __typename?: 'OrderStateTransitionError' }>); } export namespace UpdateOrderCustomFields { export type Variables = UpdateOrderCustomFieldsMutationVariables; export type Mutation = UpdateOrderCustomFieldsMutation; - export type SetOrderCustomFields = OrderFragment; + export type SetOrderCustomFields = (NonNullable); } export namespace TransitionFulfillmentToState { export type Variables = TransitionFulfillmentToStateMutationVariables; export type Mutation = TransitionFulfillmentToStateMutation; - export type TransitionFulfillmentToState = FulfillmentFragment; + export type TransitionFulfillmentToState = (NonNullable); + export type FulfillmentStateTransitionErrorInlineFragment = (DiscriminateUnion<(NonNullable), { __typename?: 'FulfillmentStateTransitionError' }>); } export namespace Asset { @@ -7479,366 +7486,368 @@ export namespace Asset { export namespace ProductOptionGroup { export type Fragment = ProductOptionGroupFragment; - export type Translations = (NonNullable); + export type Translations = NonNullable<(NonNullable)[number]>; } export namespace ProductOption { export type Fragment = ProductOptionFragment; - export type Translations = (NonNullable); + export type Translations = NonNullable<(NonNullable)[number]>; } export namespace ProductVariant { export type Fragment = ProductVariantFragment; - export type TaxRateApplied = ProductVariantFragment['taxRateApplied']; - export type TaxCategory = ProductVariantFragment['taxCategory']; - export type Options = ProductOptionFragment; - export type FacetValues = (NonNullable); - export type Facet = (NonNullable)['facet']; - export type FeaturedAsset = AssetFragment; - export type Assets = AssetFragment; - export type Translations = (NonNullable); + export type TaxRateApplied = (NonNullable); + export type TaxCategory = (NonNullable); + export type Options = NonNullable<(NonNullable)[number]>; + export type FacetValues = NonNullable<(NonNullable)[number]>; + export type Facet = (NonNullable)[number]>['facet']>); + export type FeaturedAsset = (NonNullable); + export type Assets = NonNullable<(NonNullable)[number]>; + export type Translations = NonNullable<(NonNullable)[number]>; } export namespace ProductWithVariants { export type Fragment = ProductWithVariantsFragment; - export type FeaturedAsset = AssetFragment; - export type Assets = AssetFragment; - export type Translations = (NonNullable); - export type OptionGroups = ProductOptionGroupFragment; - export type Variants = ProductVariantFragment; - export type FacetValues = (NonNullable); - export type Facet = (NonNullable)['facet']; - export type Channels = (NonNullable); + export type FeaturedAsset = (NonNullable); + export type Assets = NonNullable<(NonNullable)[number]>; + export type Translations = NonNullable<(NonNullable)[number]>; + export type OptionGroups = NonNullable<(NonNullable)[number]>; + export type Variants = NonNullable<(NonNullable)[number]>; + export type FacetValues = NonNullable<(NonNullable)[number]>; + export type Facet = (NonNullable)[number]>['facet']>); + export type Channels = NonNullable<(NonNullable)[number]>; } export namespace ProductOptionGroupWithOptions { export type Fragment = ProductOptionGroupWithOptionsFragment; - export type Translations = (NonNullable); - export type Options = (NonNullable); - export type _Translations = (NonNullable<(NonNullable)['translations'][0]>); + export type Translations = NonNullable<(NonNullable)[number]>; + export type Options = NonNullable<(NonNullable)[number]>; + export type _Translations = NonNullable<(NonNullable)[number]>['translations']>)[number]>; } export namespace UpdateProduct { export type Variables = UpdateProductMutationVariables; export type Mutation = UpdateProductMutation; - export type UpdateProduct = ProductWithVariantsFragment; + export type UpdateProduct = (NonNullable); } export namespace CreateProduct { export type Variables = CreateProductMutationVariables; export type Mutation = CreateProductMutation; - export type CreateProduct = ProductWithVariantsFragment; + export type CreateProduct = (NonNullable); } export namespace DeleteProduct { export type Variables = DeleteProductMutationVariables; export type Mutation = DeleteProductMutation; - export type DeleteProduct = DeleteProductMutation['deleteProduct']; + export type DeleteProduct = (NonNullable); } export namespace CreateProductVariants { export type Variables = CreateProductVariantsMutationVariables; export type Mutation = CreateProductVariantsMutation; - export type CreateProductVariants = ProductVariantFragment; + export type CreateProductVariants = NonNullable<(NonNullable)[number]>; } export namespace UpdateProductVariants { export type Variables = UpdateProductVariantsMutationVariables; export type Mutation = UpdateProductVariantsMutation; - export type UpdateProductVariants = ProductVariantFragment; + export type UpdateProductVariants = NonNullable<(NonNullable)[number]>; } export namespace CreateProductOptionGroup { export type Variables = CreateProductOptionGroupMutationVariables; export type Mutation = CreateProductOptionGroupMutation; - export type CreateProductOptionGroup = ProductOptionGroupWithOptionsFragment; + export type CreateProductOptionGroup = (NonNullable); } export namespace GetProductOptionGroup { export type Variables = GetProductOptionGroupQueryVariables; export type Query = GetProductOptionGroupQuery; - export type ProductOptionGroup = ProductOptionGroupWithOptionsFragment; + export type ProductOptionGroup = (NonNullable); } export namespace AddOptionToGroup { export type Variables = AddOptionToGroupMutationVariables; export type Mutation = AddOptionToGroupMutation; - export type CreateProductOption = AddOptionToGroupMutation['createProductOption']; + export type CreateProductOption = (NonNullable); } export namespace AddOptionGroupToProduct { export type Variables = AddOptionGroupToProductMutationVariables; export type Mutation = AddOptionGroupToProductMutation; - export type AddOptionGroupToProduct = AddOptionGroupToProductMutation['addOptionGroupToProduct']; - export type OptionGroups = (NonNullable); - export type Options = (NonNullable<(NonNullable)['options'][0]>); + export type AddOptionGroupToProduct = (NonNullable); + export type OptionGroups = NonNullable<(NonNullable<(NonNullable)['optionGroups']>)[number]>; + export type Options = NonNullable<(NonNullable)['optionGroups']>)[number]>['options']>)[number]>; } export namespace RemoveOptionGroupFromProduct { export type Variables = RemoveOptionGroupFromProductMutationVariables; export type Mutation = RemoveOptionGroupFromProductMutation; - export type RemoveOptionGroupFromProduct = RemoveOptionGroupFromProductMutation['removeOptionGroupFromProduct']; - export type OptionGroups = (NonNullable); - export type Options = (NonNullable<(NonNullable)['options'][0]>); + export type RemoveOptionGroupFromProduct = (NonNullable); + export type ProductInlineFragment = (DiscriminateUnion<(NonNullable), { __typename?: 'Product' }>); + export type OptionGroups = NonNullable<(NonNullable<(DiscriminateUnion<(NonNullable), { __typename?: 'Product' }>)['optionGroups']>)[number]>; + export type Options = NonNullable<(NonNullable), { __typename?: 'Product' }>)['optionGroups']>)[number]>['options']>)[number]>; } export namespace GetProductWithVariants { export type Variables = GetProductWithVariantsQueryVariables; export type Query = GetProductWithVariantsQuery; - export type Product = ProductWithVariantsFragment; + export type Product = (NonNullable); } export namespace GetProductList { export type Variables = GetProductListQueryVariables; export type Query = GetProductListQuery; - export type Products = GetProductListQuery['products']; - export type Items = (NonNullable); - export type FeaturedAsset = (NonNullable<(NonNullable)['featuredAsset']>); + export type Products = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; + export type FeaturedAsset = (NonNullable)['items']>)[number]>['featuredAsset']>); } export namespace GetProductOptionGroups { export type Variables = GetProductOptionGroupsQueryVariables; export type Query = GetProductOptionGroupsQuery; - export type ProductOptionGroups = (NonNullable); - export type Options = (NonNullable<(NonNullable)['options'][0]>); + export type ProductOptionGroups = NonNullable<(NonNullable)[number]>; + export type Options = NonNullable<(NonNullable)[number]>['options']>)[number]>; } export namespace GetAssetList { export type Variables = GetAssetListQueryVariables; export type Query = GetAssetListQuery; - export type Assets = GetAssetListQuery['assets']; - export type Items = AssetFragment; + export type Assets = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetAsset { export type Variables = GetAssetQueryVariables; export type Query = GetAssetQuery; - export type Asset = AssetFragment; + export type Asset = (NonNullable); } export namespace CreateAssets { export type Variables = CreateAssetsMutationVariables; export type Mutation = CreateAssetsMutation; - export type CreateAssets = AssetFragment; + export type CreateAssets = NonNullable<(NonNullable)[number]>; + export type ErrorResultInlineFragment = (DiscriminateUnion)[number]>, { __typename?: 'ErrorResult' }>); } export namespace UpdateAsset { export type Variables = UpdateAssetMutationVariables; export type Mutation = UpdateAssetMutation; - export type UpdateAsset = AssetFragment; + export type UpdateAsset = (NonNullable); } export namespace DeleteAssets { export type Variables = DeleteAssetsMutationVariables; export type Mutation = DeleteAssetsMutation; - export type DeleteAssets = DeleteAssetsMutation['deleteAssets']; + export type DeleteAssets = (NonNullable); } export namespace SearchProducts { export type Variables = SearchProductsQueryVariables; export type Query = SearchProductsQuery; - export type Search = SearchProductsQuery['search']; - export type Items = (NonNullable); - export type ProductAsset = (NonNullable<(NonNullable)['productAsset']>); - export type FocalPoint = (NonNullable<(NonNullable<(NonNullable)['productAsset']>)['focalPoint']>); - export type ProductVariantAsset = (NonNullable<(NonNullable)['productVariantAsset']>); - export type _FocalPoint = (NonNullable<(NonNullable<(NonNullable)['productVariantAsset']>)['focalPoint']>); - export type FacetValues = (NonNullable); - export type FacetValue = (NonNullable)['facetValue']; - export type Facet = (NonNullable)['facetValue']['facet']; + export type Search = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; + export type ProductAsset = (NonNullable)['items']>)[number]>['productAsset']>); + export type FocalPoint = (NonNullable<(NonNullable)['items']>)[number]>['productAsset']>)['focalPoint']>); + export type ProductVariantAsset = (NonNullable)['items']>)[number]>['productVariantAsset']>); + export type _FocalPoint = (NonNullable<(NonNullable)['items']>)[number]>['productVariantAsset']>)['focalPoint']>); + export type FacetValues = NonNullable<(NonNullable<(NonNullable)['facetValues']>)[number]>; + export type FacetValue = (NonNullable)['facetValues']>)[number]>['facetValue']>); + export type Facet = (NonNullable<(NonNullable)['facetValues']>)[number]>['facetValue']>)['facet']>); } export namespace ProductSelectorSearch { export type Variables = ProductSelectorSearchQueryVariables; export type Query = ProductSelectorSearchQuery; - export type Search = ProductSelectorSearchQuery['search']; - export type Items = (NonNullable); - export type ProductAsset = (NonNullable<(NonNullable)['productAsset']>); - export type FocalPoint = (NonNullable<(NonNullable<(NonNullable)['productAsset']>)['focalPoint']>); - export type Price = (NonNullable)['price']; - export type SinglePriceInlineFragment = (DiscriminateUnion)['price'], '__typename'>, { __typename: 'SinglePrice' }>); - export type PriceWithTax = (NonNullable)['priceWithTax']; - export type _SinglePriceInlineFragment = (DiscriminateUnion)['priceWithTax'], '__typename'>, { __typename: 'SinglePrice' }>); + export type Search = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; + export type ProductAsset = (NonNullable)['items']>)[number]>['productAsset']>); + export type FocalPoint = (NonNullable<(NonNullable)['items']>)[number]>['productAsset']>)['focalPoint']>); + export type Price = (NonNullable)['items']>)[number]>['price']>); + export type SinglePriceInlineFragment = (DiscriminateUnion<(NonNullable)['items']>)[number]>['price']>), { __typename?: 'SinglePrice' }>); + export type PriceWithTax = (NonNullable)['items']>)[number]>['priceWithTax']>); + export type _SinglePriceInlineFragment = (DiscriminateUnion<(NonNullable)['items']>)[number]>['priceWithTax']>), { __typename?: 'SinglePrice' }>); } export namespace UpdateProductOption { export type Variables = UpdateProductOptionMutationVariables; export type Mutation = UpdateProductOptionMutation; - export type UpdateProductOption = ProductOptionFragment; + export type UpdateProductOption = (NonNullable); } export namespace DeleteProductVariant { export type Variables = DeleteProductVariantMutationVariables; export type Mutation = DeleteProductVariantMutation; - export type DeleteProductVariant = DeleteProductVariantMutation['deleteProductVariant']; + export type DeleteProductVariant = (NonNullable); } export namespace GetProductVariantOptions { export type Variables = GetProductVariantOptionsQueryVariables; export type Query = GetProductVariantOptionsQuery; export type Product = (NonNullable); - export type OptionGroups = (NonNullable<(NonNullable)['optionGroups'][0]>); - export type Options = ProductOptionFragment; - export type Variants = (NonNullable<(NonNullable)['variants'][0]>); - export type _Options = (NonNullable<(NonNullable<(NonNullable)['variants'][0]>)['options'][0]>); + export type OptionGroups = NonNullable<(NonNullable<(NonNullable)['optionGroups']>)[number]>; + export type Options = NonNullable<(NonNullable)['optionGroups']>)[number]>['options']>)[number]>; + export type Variants = NonNullable<(NonNullable<(NonNullable)['variants']>)[number]>; + export type _Options = NonNullable<(NonNullable)['variants']>)[number]>['options']>)[number]>; } export namespace AssignProductsToChannel { export type Variables = AssignProductsToChannelMutationVariables; export type Mutation = AssignProductsToChannelMutation; - export type AssignProductsToChannel = (NonNullable); - export type Channels = (NonNullable<(NonNullable)['channels'][0]>); + export type AssignProductsToChannel = NonNullable<(NonNullable)[number]>; + export type Channels = NonNullable<(NonNullable)[number]>['channels']>)[number]>; } export namespace RemoveProductsFromChannel { export type Variables = RemoveProductsFromChannelMutationVariables; export type Mutation = RemoveProductsFromChannelMutation; - export type RemoveProductsFromChannel = (NonNullable); - export type Channels = (NonNullable<(NonNullable)['channels'][0]>); + export type RemoveProductsFromChannel = NonNullable<(NonNullable)[number]>; + export type Channels = NonNullable<(NonNullable)[number]>['channels']>)[number]>; } export namespace GetProductVariant { export type Variables = GetProductVariantQueryVariables; export type Query = GetProductVariantQuery; export type ProductVariant = (NonNullable); - export type Product = (NonNullable)['product']; - export type FeaturedAsset = (NonNullable<(NonNullable)['product']['featuredAsset']>); - export type FocalPoint = (NonNullable<(NonNullable<(NonNullable)['product']['featuredAsset']>)['focalPoint']>); + export type Product = (NonNullable<(NonNullable)['product']>); + export type FeaturedAsset = (NonNullable<(NonNullable<(NonNullable)['product']>)['featuredAsset']>); + export type FocalPoint = (NonNullable<(NonNullable<(NonNullable<(NonNullable)['product']>)['featuredAsset']>)['focalPoint']>); } export namespace Promotion { export type Fragment = PromotionFragment; - export type Conditions = ConfigurableOperationFragment; - export type Actions = ConfigurableOperationFragment; + export type Conditions = NonNullable<(NonNullable)[number]>; + export type Actions = NonNullable<(NonNullable)[number]>; } export namespace GetPromotionList { export type Variables = GetPromotionListQueryVariables; export type Query = GetPromotionListQuery; - export type Promotions = GetPromotionListQuery['promotions']; - export type Items = PromotionFragment; + export type Promotions = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetPromotion { export type Variables = GetPromotionQueryVariables; export type Query = GetPromotionQuery; - export type Promotion = PromotionFragment; + export type Promotion = (NonNullable); } export namespace GetAdjustmentOperations { export type Variables = GetAdjustmentOperationsQueryVariables; export type Query = GetAdjustmentOperationsQuery; - export type PromotionConditions = ConfigurableOperationDefFragment; - export type PromotionActions = ConfigurableOperationDefFragment; + export type PromotionConditions = NonNullable<(NonNullable)[number]>; + export type PromotionActions = NonNullable<(NonNullable)[number]>; } export namespace CreatePromotion { export type Variables = CreatePromotionMutationVariables; export type Mutation = CreatePromotionMutation; - export type CreatePromotion = PromotionFragment; + export type CreatePromotion = (NonNullable); } export namespace UpdatePromotion { export type Variables = UpdatePromotionMutationVariables; export type Mutation = UpdatePromotionMutation; - export type UpdatePromotion = PromotionFragment; + export type UpdatePromotion = (NonNullable); } export namespace DeletePromotion { export type Variables = DeletePromotionMutationVariables; export type Mutation = DeletePromotionMutation; - export type DeletePromotion = DeletePromotionMutation['deletePromotion']; + export type DeletePromotion = (NonNullable); } export namespace Country { export type Fragment = CountryFragment; - export type Translations = (NonNullable); + export type Translations = NonNullable<(NonNullable)[number]>; } export namespace GetCountryList { export type Variables = GetCountryListQueryVariables; export type Query = GetCountryListQuery; - export type Countries = GetCountryListQuery['countries']; - export type Items = (NonNullable); + export type Countries = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetAvailableCountries { export type Variables = GetAvailableCountriesQueryVariables; export type Query = GetAvailableCountriesQuery; - export type Countries = GetAvailableCountriesQuery['countries']; - export type Items = (NonNullable); + export type Countries = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetCountry { export type Variables = GetCountryQueryVariables; export type Query = GetCountryQuery; - export type Country = CountryFragment; + export type Country = (NonNullable); } export namespace CreateCountry { export type Variables = CreateCountryMutationVariables; export type Mutation = CreateCountryMutation; - export type CreateCountry = CountryFragment; + export type CreateCountry = (NonNullable); } export namespace UpdateCountry { export type Variables = UpdateCountryMutationVariables; export type Mutation = UpdateCountryMutation; - export type UpdateCountry = CountryFragment; + export type UpdateCountry = (NonNullable); } export namespace DeleteCountry { export type Variables = DeleteCountryMutationVariables; export type Mutation = DeleteCountryMutation; - export type DeleteCountry = DeleteCountryMutation['deleteCountry']; + export type DeleteCountry = (NonNullable); } export namespace Zone { export type Fragment = ZoneFragment; - export type Members = CountryFragment; + export type Members = NonNullable<(NonNullable)[number]>; } export namespace GetZones { export type Variables = GetZonesQueryVariables; export type Query = GetZonesQuery; - export type Zones = (NonNullable); - export type Members = (NonNullable<(NonNullable)['members'][0]>); + export type Zones = NonNullable<(NonNullable)[number]>; + export type Members = NonNullable<(NonNullable)[number]>['members']>)[number]>; } export namespace GetZone { export type Variables = GetZoneQueryVariables; export type Query = GetZoneQuery; - export type Zone = ZoneFragment; + export type Zone = (NonNullable); } export namespace CreateZone { export type Variables = CreateZoneMutationVariables; export type Mutation = CreateZoneMutation; - export type CreateZone = ZoneFragment; + export type CreateZone = (NonNullable); } export namespace UpdateZone { export type Variables = UpdateZoneMutationVariables; export type Mutation = UpdateZoneMutation; - export type UpdateZone = ZoneFragment; + export type UpdateZone = (NonNullable); } export namespace DeleteZone { export type Variables = DeleteZoneMutationVariables; export type Mutation = DeleteZoneMutation; - export type DeleteZone = DeleteZoneMutation['deleteZone']; + export type DeleteZone = (NonNullable); } export namespace AddMembersToZone { export type Variables = AddMembersToZoneMutationVariables; export type Mutation = AddMembersToZoneMutation; - export type AddMembersToZone = ZoneFragment; + export type AddMembersToZone = (NonNullable); } export namespace RemoveMembersFromZone { export type Variables = RemoveMembersFromZoneMutationVariables; export type Mutation = RemoveMembersFromZoneMutation; - export type RemoveMembersFromZone = ZoneFragment; + export type RemoveMembersFromZone = (NonNullable); } export namespace TaxCategory { @@ -7848,69 +7857,69 @@ export namespace TaxCategory { export namespace GetTaxCategories { export type Variables = GetTaxCategoriesQueryVariables; export type Query = GetTaxCategoriesQuery; - export type TaxCategories = TaxCategoryFragment; + export type TaxCategories = NonNullable<(NonNullable)[number]>; } export namespace GetTaxCategory { export type Variables = GetTaxCategoryQueryVariables; export type Query = GetTaxCategoryQuery; - export type TaxCategory = TaxCategoryFragment; + export type TaxCategory = (NonNullable); } export namespace CreateTaxCategory { export type Variables = CreateTaxCategoryMutationVariables; export type Mutation = CreateTaxCategoryMutation; - export type CreateTaxCategory = TaxCategoryFragment; + export type CreateTaxCategory = (NonNullable); } export namespace UpdateTaxCategory { export type Variables = UpdateTaxCategoryMutationVariables; export type Mutation = UpdateTaxCategoryMutation; - export type UpdateTaxCategory = TaxCategoryFragment; + export type UpdateTaxCategory = (NonNullable); } export namespace DeleteTaxCategory { export type Variables = DeleteTaxCategoryMutationVariables; export type Mutation = DeleteTaxCategoryMutation; - export type DeleteTaxCategory = DeleteTaxCategoryMutation['deleteTaxCategory']; + export type DeleteTaxCategory = (NonNullable); } export namespace TaxRate { export type Fragment = TaxRateFragment; - export type Category = TaxRateFragment['category']; - export type Zone = TaxRateFragment['zone']; + export type Category = (NonNullable); + export type Zone = (NonNullable); export type CustomerGroup = (NonNullable); } export namespace GetTaxRateList { export type Variables = GetTaxRateListQueryVariables; export type Query = GetTaxRateListQuery; - export type TaxRates = GetTaxRateListQuery['taxRates']; - export type Items = TaxRateFragment; + export type TaxRates = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetTaxRate { export type Variables = GetTaxRateQueryVariables; export type Query = GetTaxRateQuery; - export type TaxRate = TaxRateFragment; + export type TaxRate = (NonNullable); } export namespace CreateTaxRate { export type Variables = CreateTaxRateMutationVariables; export type Mutation = CreateTaxRateMutation; - export type CreateTaxRate = TaxRateFragment; + export type CreateTaxRate = (NonNullable); } export namespace UpdateTaxRate { export type Variables = UpdateTaxRateMutationVariables; export type Mutation = UpdateTaxRateMutation; - export type UpdateTaxRate = TaxRateFragment; + export type UpdateTaxRate = (NonNullable); } export namespace DeleteTaxRate { export type Variables = DeleteTaxRateMutationVariables; export type Mutation = DeleteTaxRateMutation; - export type DeleteTaxRate = DeleteTaxRateMutation['deleteTaxRate']; + export type DeleteTaxRate = (NonNullable); } export namespace Channel { @@ -7922,62 +7931,62 @@ export namespace Channel { export namespace GetChannels { export type Variables = GetChannelsQueryVariables; export type Query = GetChannelsQuery; - export type Channels = ChannelFragment; + export type Channels = NonNullable<(NonNullable)[number]>; } export namespace GetChannel { export type Variables = GetChannelQueryVariables; export type Query = GetChannelQuery; - export type Channel = ChannelFragment; + export type Channel = (NonNullable); } export namespace GetActiveChannel { export type Variables = GetActiveChannelQueryVariables; export type Query = GetActiveChannelQuery; - export type ActiveChannel = ChannelFragment; + export type ActiveChannel = (NonNullable); } export namespace CreateChannel { export type Variables = CreateChannelMutationVariables; export type Mutation = CreateChannelMutation; - export type CreateChannel = ChannelFragment; + export type CreateChannel = (NonNullable); } export namespace UpdateChannel { export type Variables = UpdateChannelMutationVariables; export type Mutation = UpdateChannelMutation; - export type UpdateChannel = ChannelFragment; + export type UpdateChannel = (NonNullable); } export namespace DeleteChannel { export type Variables = DeleteChannelMutationVariables; export type Mutation = DeleteChannelMutation; - export type DeleteChannel = DeleteChannelMutation['deleteChannel']; + export type DeleteChannel = (NonNullable); } export namespace PaymentMethod { export type Fragment = PaymentMethodFragment; - export type ConfigArgs = (NonNullable); - export type Definition = ConfigurableOperationDefFragment; + export type ConfigArgs = NonNullable<(NonNullable)[number]>; + export type Definition = (NonNullable); } export namespace GetPaymentMethodList { export type Variables = GetPaymentMethodListQueryVariables; export type Query = GetPaymentMethodListQuery; - export type PaymentMethods = GetPaymentMethodListQuery['paymentMethods']; - export type Items = PaymentMethodFragment; + export type PaymentMethods = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetPaymentMethod { export type Variables = GetPaymentMethodQueryVariables; export type Query = GetPaymentMethodQuery; - export type PaymentMethod = PaymentMethodFragment; + export type PaymentMethod = (NonNullable); } export namespace UpdatePaymentMethod { export type Variables = UpdatePaymentMethodMutationVariables; export type Mutation = UpdatePaymentMethodMutation; - export type UpdatePaymentMethod = PaymentMethodFragment; + export type UpdatePaymentMethod = (NonNullable); } export namespace GlobalSettings { @@ -7987,78 +7996,78 @@ export namespace GlobalSettings { export namespace GetGlobalSettings { export type Variables = GetGlobalSettingsQueryVariables; export type Query = GetGlobalSettingsQuery; - export type GlobalSettings = GlobalSettingsFragment; + export type GlobalSettings = (NonNullable); } export namespace UpdateGlobalSettings { export type Variables = UpdateGlobalSettingsMutationVariables; export type Mutation = UpdateGlobalSettingsMutation; - export type UpdateGlobalSettings = GlobalSettingsFragment; + export type UpdateGlobalSettings = (NonNullable); } export namespace CustomFieldConfig { export type Fragment = CustomFieldConfigFragment; - export type Description = (NonNullable<(NonNullable)[0]>); - export type Label = (NonNullable<(NonNullable)[0]>); + export type Description = NonNullable<(NonNullable)[number]>; + export type Label = NonNullable<(NonNullable)[number]>; } export namespace StringCustomField { - export type Fragment = CustomFieldConfigFragment; - export type Options = (NonNullable<(NonNullable)[0]>); - export type Label = (NonNullable<(NonNullable<(NonNullable<(NonNullable)[0]>)['label']>)[0]>); + export type Fragment = StringCustomFieldFragment; + export type Options = NonNullable<(NonNullable)[number]>; + export type Label = NonNullable<(NonNullable)[number]>['label']>)[number]>; } export namespace LocaleStringCustomField { - export type Fragment = CustomFieldConfigFragment; + export type Fragment = LocaleStringCustomFieldFragment; } export namespace BooleanCustomField { - export type Fragment = CustomFieldConfigFragment; + export type Fragment = BooleanCustomFieldFragment; } export namespace IntCustomField { - export type Fragment = CustomFieldConfigFragment; + export type Fragment = IntCustomFieldFragment; } export namespace FloatCustomField { - export type Fragment = CustomFieldConfigFragment; + export type Fragment = FloatCustomFieldFragment; } export namespace DateTimeCustomField { - export type Fragment = CustomFieldConfigFragment; + export type Fragment = DateTimeCustomFieldFragment; } export namespace CustomFields { export type Fragment = CustomFieldsFragment; - export type StringCustomFieldConfigInlineFragment = StringCustomFieldFragment; - export type LocaleStringCustomFieldConfigInlineFragment = LocaleStringCustomFieldFragment; - export type BooleanCustomFieldConfigInlineFragment = BooleanCustomFieldFragment; - export type IntCustomFieldConfigInlineFragment = IntCustomFieldFragment; - export type FloatCustomFieldConfigInlineFragment = FloatCustomFieldFragment; - export type DateTimeCustomFieldConfigInlineFragment = DateTimeCustomFieldFragment; + export type StringCustomFieldConfigInlineFragment = (DiscriminateUnion); + export type LocaleStringCustomFieldConfigInlineFragment = (DiscriminateUnion); + export type BooleanCustomFieldConfigInlineFragment = (DiscriminateUnion); + export type IntCustomFieldConfigInlineFragment = (DiscriminateUnion); + export type FloatCustomFieldConfigInlineFragment = (DiscriminateUnion); + export type DateTimeCustomFieldConfigInlineFragment = (DiscriminateUnion); } export namespace GetServerConfig { export type Variables = GetServerConfigQueryVariables; export type Query = GetServerConfigQuery; - export type GlobalSettings = GetServerConfigQuery['globalSettings']; - export type ServerConfig = GetServerConfigQuery['globalSettings']['serverConfig']; - export type OrderProcess = (NonNullable); - export type CustomFieldConfig = GetServerConfigQuery['globalSettings']['serverConfig']['customFieldConfig']; - export type Address = CustomFieldsFragment; - export type Collection = CustomFieldsFragment; - export type Customer = CustomFieldsFragment; - export type Facet = CustomFieldsFragment; - export type FacetValue = CustomFieldsFragment; - export type _GlobalSettings = CustomFieldsFragment; - export type Order = CustomFieldsFragment; - export type OrderLine = CustomFieldsFragment; - export type Product = CustomFieldsFragment; - export type ProductOption = CustomFieldsFragment; - export type ProductOptionGroup = CustomFieldsFragment; - export type ProductVariant = CustomFieldsFragment; - export type ShippingMethod = CustomFieldsFragment; - export type User = CustomFieldsFragment; + export type GlobalSettings = (NonNullable); + export type ServerConfig = (NonNullable<(NonNullable)['serverConfig']>); + export type OrderProcess = NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['orderProcess']>)[number]>; + export type CustomFieldConfig = (NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>); + export type Address = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['Address']>)[number]>; + export type Collection = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['Collection']>)[number]>; + export type Customer = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['Customer']>)[number]>; + export type Facet = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['Facet']>)[number]>; + export type FacetValue = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['FacetValue']>)[number]>; + export type _GlobalSettings = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['GlobalSettings']>)[number]>; + export type Order = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['Order']>)[number]>; + export type OrderLine = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['OrderLine']>)[number]>; + export type Product = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['Product']>)[number]>; + export type ProductOption = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['ProductOption']>)[number]>; + export type ProductOptionGroup = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['ProductOptionGroup']>)[number]>; + export type ProductVariant = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['ProductVariant']>)[number]>; + export type ShippingMethod = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['ShippingMethod']>)[number]>; + export type User = NonNullable<(NonNullable<(NonNullable<(NonNullable<(NonNullable)['serverConfig']>)['customFieldConfig']>)['User']>)[number]>; } export namespace JobInfo { @@ -8068,97 +8077,101 @@ export namespace JobInfo { export namespace GetJobInfo { export type Variables = GetJobInfoQueryVariables; export type Query = GetJobInfoQuery; - export type Job = JobInfoFragment; + export type Job = (NonNullable); } export namespace GetAllJobs { export type Variables = GetAllJobsQueryVariables; export type Query = GetAllJobsQuery; - export type Jobs = GetAllJobsQuery['jobs']; - export type Items = JobInfoFragment; + export type Jobs = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetJobsById { export type Variables = GetJobsByIdQueryVariables; export type Query = GetJobsByIdQuery; - export type JobsById = JobInfoFragment; + export type JobsById = NonNullable<(NonNullable)[number]>; } export namespace GetJobQueueList { export type Variables = GetJobQueueListQueryVariables; export type Query = GetJobQueueListQuery; - export type JobQueues = (NonNullable); + export type JobQueues = NonNullable<(NonNullable)[number]>; } export namespace Reindex { export type Variables = ReindexMutationVariables; export type Mutation = ReindexMutation; - export type Reindex = JobInfoFragment; + export type Reindex = (NonNullable); } export namespace ConfigurableOperation { export type Fragment = ConfigurableOperationFragment; - export type Args = (NonNullable); + export type Args = NonNullable<(NonNullable)[number]>; } export namespace ConfigurableOperationDef { export type Fragment = ConfigurableOperationDefFragment; - export type Args = (NonNullable); + export type Args = NonNullable<(NonNullable)[number]>; +} + +export namespace ErrorResult { + export type Fragment = ErrorResultFragment; } export namespace ShippingMethod { export type Fragment = ShippingMethodFragment; - export type Checker = ConfigurableOperationFragment; - export type Calculator = ConfigurableOperationFragment; + export type Checker = (NonNullable); + export type Calculator = (NonNullable); } export namespace GetShippingMethodList { export type Variables = GetShippingMethodListQueryVariables; export type Query = GetShippingMethodListQuery; - export type ShippingMethods = GetShippingMethodListQuery['shippingMethods']; - export type Items = ShippingMethodFragment; + export type ShippingMethods = (NonNullable); + export type Items = NonNullable<(NonNullable<(NonNullable)['items']>)[number]>; } export namespace GetShippingMethod { export type Variables = GetShippingMethodQueryVariables; export type Query = GetShippingMethodQuery; - export type ShippingMethod = ShippingMethodFragment; + export type ShippingMethod = (NonNullable); } export namespace GetShippingMethodOperations { export type Variables = GetShippingMethodOperationsQueryVariables; export type Query = GetShippingMethodOperationsQuery; - export type ShippingEligibilityCheckers = ConfigurableOperationDefFragment; - export type ShippingCalculators = ConfigurableOperationDefFragment; + export type ShippingEligibilityCheckers = NonNullable<(NonNullable)[number]>; + export type ShippingCalculators = NonNullable<(NonNullable)[number]>; } export namespace CreateShippingMethod { export type Variables = CreateShippingMethodMutationVariables; export type Mutation = CreateShippingMethodMutation; - export type CreateShippingMethod = ShippingMethodFragment; + export type CreateShippingMethod = (NonNullable); } export namespace UpdateShippingMethod { export type Variables = UpdateShippingMethodMutationVariables; export type Mutation = UpdateShippingMethodMutation; - export type UpdateShippingMethod = ShippingMethodFragment; + export type UpdateShippingMethod = (NonNullable); } export namespace DeleteShippingMethod { export type Variables = DeleteShippingMethodMutationVariables; export type Mutation = DeleteShippingMethodMutation; - export type DeleteShippingMethod = DeleteShippingMethodMutation['deleteShippingMethod']; + export type DeleteShippingMethod = (NonNullable); } export namespace TestShippingMethod { export type Variables = TestShippingMethodQueryVariables; export type Query = TestShippingMethodQuery; - export type TestShippingMethod = TestShippingMethodQuery['testShippingMethod']; - export type Quote = (NonNullable); + export type TestShippingMethod = (NonNullable); + export type Quote = (NonNullable<(NonNullable)['quote']>); } export namespace TestEligibleShippingMethods { export type Variables = TestEligibleShippingMethodsQueryVariables; export type Query = TestEligibleShippingMethodsQuery; - export type TestEligibleShippingMethods = (NonNullable); + export type TestEligibleShippingMethods = NonNullable<(NonNullable)[number]>; } diff --git a/packages/admin-ui/src/lib/core/src/common/introspection-result.ts b/packages/admin-ui/src/lib/core/src/common/introspection-result.ts index 6ea94c0fc3..7b880b6cd0 100644 --- a/packages/admin-ui/src/lib/core/src/common/introspection-result.ts +++ b/packages/admin-ui/src/lib/core/src/common/introspection-result.ts @@ -278,6 +278,339 @@ const result: IntrospectionResultData = { }, ], }, + { + kind: 'UNION', + name: 'AddFulfillmentToOrderResult', + possibleTypes: [ + { + name: 'Fulfillment', + }, + { + name: 'EmptyOrderLineSelectionError', + }, + { + name: 'ItemsAlreadyFulfilledError', + }, + ], + }, + { + kind: 'INTERFACE', + name: 'ErrorResult', + possibleTypes: [ + { + name: 'EmptyOrderLineSelectionError', + }, + { + name: 'ItemsAlreadyFulfilledError', + }, + { + name: 'InvalidCredentialsError', + }, + { + name: 'QuantityTooGreatError', + }, + { + name: 'MultipleOrderError', + }, + { + name: 'CancelActiveOrderError', + }, + { + name: 'OrderStateTransitionError', + }, + { + name: 'MimeTypeError', + }, + { + name: 'LanguageNotAvailableError', + }, + { + name: 'EmailAddressConflictError', + }, + { + name: 'MissingConditionsError', + }, + { + name: 'NativeAuthStrategyError', + }, + { + name: 'NothingToRefundError', + }, + { + name: 'PaymentOrderMismatchError', + }, + { + name: 'RefundOrderStateError', + }, + { + name: 'AlreadyRefundedError', + }, + { + name: 'RefundStateTransitionError', + }, + { + name: 'ProductOptionInUseError', + }, + { + name: 'SettlePaymentError', + }, + { + name: 'PaymentStateTransitionError', + }, + { + name: 'FulfillmentStateTransitionError', + }, + { + name: 'ChannelDefaultLanguageError', + }, + ], + }, + { + kind: 'UNION', + name: 'AuthenticationResult', + possibleTypes: [ + { + name: 'CurrentUser', + }, + { + name: 'InvalidCredentialsError', + }, + ], + }, + { + kind: 'UNION', + name: 'CancelOrderResult', + possibleTypes: [ + { + name: 'Order', + }, + { + name: 'EmptyOrderLineSelectionError', + }, + { + name: 'QuantityTooGreatError', + }, + { + name: 'MultipleOrderError', + }, + { + name: 'CancelActiveOrderError', + }, + { + name: 'OrderStateTransitionError', + }, + ], + }, + { + kind: 'UNION', + name: 'CreateAssetResult', + possibleTypes: [ + { + name: 'Asset', + }, + { + name: 'MimeTypeError', + }, + ], + }, + { + kind: 'UNION', + name: 'CreateChannelResult', + possibleTypes: [ + { + name: 'Channel', + }, + { + name: 'LanguageNotAvailableError', + }, + ], + }, + { + kind: 'UNION', + name: 'CreateCustomerResult', + possibleTypes: [ + { + name: 'Customer', + }, + { + name: 'EmailAddressConflictError', + }, + ], + }, + { + kind: 'UNION', + name: 'CreatePromotionResult', + possibleTypes: [ + { + name: 'Promotion', + }, + { + name: 'MissingConditionsError', + }, + ], + }, + { + kind: 'UNION', + name: 'NativeAuthenticationResult', + possibleTypes: [ + { + name: 'CurrentUser', + }, + { + name: 'InvalidCredentialsError', + }, + { + name: 'NativeAuthStrategyError', + }, + ], + }, + { + kind: 'UNION', + name: 'RefundOrderResult', + possibleTypes: [ + { + name: 'Refund', + }, + { + name: 'QuantityTooGreatError', + }, + { + name: 'NothingToRefundError', + }, + { + name: 'OrderStateTransitionError', + }, + { + name: 'MultipleOrderError', + }, + { + name: 'PaymentOrderMismatchError', + }, + { + name: 'RefundOrderStateError', + }, + { + name: 'AlreadyRefundedError', + }, + { + name: 'RefundStateTransitionError', + }, + ], + }, + { + kind: 'UNION', + name: 'RemoveOptionGroupFromProductResult', + possibleTypes: [ + { + name: 'Product', + }, + { + name: 'ProductOptionInUseError', + }, + ], + }, + { + kind: 'UNION', + name: 'SettlePaymentResult', + possibleTypes: [ + { + name: 'Payment', + }, + { + name: 'SettlePaymentError', + }, + { + name: 'PaymentStateTransitionError', + }, + { + name: 'OrderStateTransitionError', + }, + ], + }, + { + kind: 'UNION', + name: 'SettleRefundResult', + possibleTypes: [ + { + name: 'Refund', + }, + { + name: 'RefundStateTransitionError', + }, + ], + }, + { + kind: 'UNION', + name: 'TransitionFulfillmentToStateResult', + possibleTypes: [ + { + name: 'Fulfillment', + }, + { + name: 'FulfillmentStateTransitionError', + }, + ], + }, + { + kind: 'UNION', + name: 'TransitionOrderToStateResult', + possibleTypes: [ + { + name: 'Order', + }, + { + name: 'OrderStateTransitionError', + }, + ], + }, + { + kind: 'UNION', + name: 'UpdateChannelResult', + possibleTypes: [ + { + name: 'Channel', + }, + { + name: 'LanguageNotAvailableError', + }, + ], + }, + { + kind: 'UNION', + name: 'UpdateCustomerResult', + possibleTypes: [ + { + name: 'Customer', + }, + { + name: 'EmailAddressConflictError', + }, + ], + }, + { + kind: 'UNION', + name: 'UpdateGlobalSettingsResult', + possibleTypes: [ + { + name: 'GlobalSettings', + }, + { + name: 'ChannelDefaultLanguageError', + }, + ], + }, + { + kind: 'UNION', + name: 'UpdatePromotionResult', + possibleTypes: [ + { + name: 'Promotion', + }, + { + name: 'MissingConditionsError', + }, + ], + }, ], }, }; diff --git a/packages/admin-ui/src/lib/core/src/data/definitions/auth-definitions.ts b/packages/admin-ui/src/lib/core/src/data/definitions/auth-definitions.ts index a571a06000..63034a3a41 100644 --- a/packages/admin-ui/src/lib/core/src/data/definitions/auth-definitions.ts +++ b/packages/admin-ui/src/lib/core/src/data/definitions/auth-definitions.ts @@ -1,5 +1,7 @@ import gql from 'graphql-tag'; +import { ERROR_RESULT_FRAGMENT } from './shared-definitions'; + export const CURRENT_USER_FRAGMENT = gql` fragment CurrentUser on CurrentUser { id @@ -16,17 +18,19 @@ export const CURRENT_USER_FRAGMENT = gql` export const ATTEMPT_LOGIN = gql` mutation AttemptLogin($username: String!, $password: String!, $rememberMe: Boolean!) { login(username: $username, password: $password, rememberMe: $rememberMe) { - user { - ...CurrentUser - } + ...CurrentUser + ...ErrorResult } } ${CURRENT_USER_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const LOG_OUT = gql` mutation LogOut { - logout + logout { + success + } } `; diff --git a/packages/admin-ui/src/lib/core/src/data/definitions/customer-definitions.ts b/packages/admin-ui/src/lib/core/src/data/definitions/customer-definitions.ts index 3f51be9417..e4334b057b 100644 --- a/packages/admin-ui/src/lib/core/src/data/definitions/customer-definitions.ts +++ b/packages/admin-ui/src/lib/core/src/data/definitions/customer-definitions.ts @@ -1,5 +1,7 @@ import gql from 'graphql-tag'; +import { ERROR_RESULT_FRAGMENT } from './shared-definitions'; + export const ADDRESS_FRAGMENT = gql` fragment Address on Address { id @@ -95,18 +97,22 @@ export const CREATE_CUSTOMER = gql` mutation CreateCustomer($input: CreateCustomerInput!, $password: String) { createCustomer(input: $input, password: $password) { ...Customer + ...ErrorResult } } ${CUSTOMER_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const UPDATE_CUSTOMER = gql` mutation UpdateCustomer($input: UpdateCustomerInput!) { updateCustomer(input: $input) { ...Customer + ...ErrorResult } } ${CUSTOMER_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const DELETE_CUSTOMER = gql` diff --git a/packages/admin-ui/src/lib/core/src/data/definitions/order-definitions.ts b/packages/admin-ui/src/lib/core/src/data/definitions/order-definitions.ts index 2ad0925b0b..e059bb6721 100644 --- a/packages/admin-ui/src/lib/core/src/data/definitions/order-definitions.ts +++ b/packages/admin-ui/src/lib/core/src/data/definitions/order-definitions.ts @@ -1,5 +1,7 @@ import gql from 'graphql-tag'; +import { ERROR_RESULT_FRAGMENT } from './shared-definitions'; + export const ADJUSTMENT_FRAGMENT = gql` fragment Adjustment on Adjustment { adjustmentSource @@ -199,50 +201,71 @@ export const GET_ORDER = gql` export const SETTLE_PAYMENT = gql` mutation SettlePayment($id: ID!) { settlePayment(id: $id) { - id - transactionId - amount - method - state - metadata + ... on Payment { + id + transactionId + amount + method + state + metadata + } + ...ErrorResult + ... on SettlePaymentError { + paymentErrorMessage + } + ... on PaymentStateTransitionError { + transitionError + } + ... on OrderStateTransitionError { + transitionError + } } } + ${ERROR_RESULT_FRAGMENT} `; export const CREATE_FULFILLMENT = gql` mutation CreateFulfillment($input: FulfillOrderInput!) { - fulfillOrder(input: $input) { + addFulfillmentToOrder(input: $input) { ...Fulfillment + ...ErrorResult } } ${FULFILLMENT_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const CANCEL_ORDER = gql` mutation CancelOrder($input: CancelOrderInput!) { cancelOrder(input: $input) { ...OrderDetail + ...ErrorResult } } ${ORDER_DETAIL_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const REFUND_ORDER = gql` mutation RefundOrder($input: RefundOrderInput!) { refundOrder(input: $input) { ...Refund + ...ErrorResult } } ${REFUND_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const SETTLE_REFUND = gql` mutation SettleRefund($input: SettleRefundInput!) { settleRefund(input: $input) { ...Refund + ...ErrorResult } } ${REFUND_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const GET_ORDER_HISTORY = gql` @@ -299,9 +322,14 @@ export const TRANSITION_ORDER_TO_STATE = gql` mutation TransitionOrderToState($id: ID!, $state: String!) { transitionOrderToState(id: $id, state: $state) { ...Order + ...ErrorResult + ... on OrderStateTransitionError { + transitionError + } } } ${ORDER_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const UPDATE_ORDER_CUSTOM_FIELDS = gql` @@ -317,7 +345,12 @@ export const TRANSITION_FULFILLMENT_TO_STATE = gql` mutation TransitionFulfillmentToState($id: ID!, $state: String!) { transitionFulfillmentToState(id: $id, state: $state) { ...Fulfillment + ...ErrorResult + ... on FulfillmentStateTransitionError { + transitionError + } } } ${FULFILLMENT_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; diff --git a/packages/admin-ui/src/lib/core/src/data/definitions/product-definitions.ts b/packages/admin-ui/src/lib/core/src/data/definitions/product-definitions.ts index 4d8430556b..3bde1728d9 100644 --- a/packages/admin-ui/src/lib/core/src/data/definitions/product-definitions.ts +++ b/packages/admin-ui/src/lib/core/src/data/definitions/product-definitions.ts @@ -1,5 +1,7 @@ import gql from 'graphql-tag'; +import { ERROR_RESULT_FRAGMENT } from './shared-definitions'; + export const ASSET_FRAGMENT = gql` fragment Asset on Asset { id @@ -274,23 +276,27 @@ export const ADD_OPTION_GROUP_TO_PRODUCT = gql` export const REMOVE_OPTION_GROUP_FROM_PRODUCT = gql` mutation RemoveOptionGroupFromProduct($productId: ID!, $optionGroupId: ID!) { removeOptionGroupFromProduct(productId: $productId, optionGroupId: $optionGroupId) { - id - createdAt - updatedAt - optionGroups { + ... on Product { id createdAt updatedAt - code - options { + optionGroups { id createdAt updatedAt code + options { + id + createdAt + updatedAt + code + } } } + ...ErrorResult } } + ${ERROR_RESULT_FRAGMENT} `; export const GET_PRODUCT_WITH_VARIANTS = gql` @@ -371,6 +377,9 @@ export const CREATE_ASSETS = gql` mutation CreateAssets($input: [CreateAssetInput!]!) { createAssets(input: $input) { ...Asset + ... on ErrorResult { + message + } } } ${ASSET_FRAGMENT} diff --git a/packages/admin-ui/src/lib/core/src/data/definitions/promotion-definitions.ts b/packages/admin-ui/src/lib/core/src/data/definitions/promotion-definitions.ts index 5a01dee6b2..2f5c642b5c 100644 --- a/packages/admin-ui/src/lib/core/src/data/definitions/promotion-definitions.ts +++ b/packages/admin-ui/src/lib/core/src/data/definitions/promotion-definitions.ts @@ -1,6 +1,10 @@ import gql from 'graphql-tag'; -import { CONFIGURABLE_OPERATION_DEF_FRAGMENT, CONFIGURABLE_OPERATION_FRAGMENT } from './shared-definitions'; +import { + CONFIGURABLE_OPERATION_DEF_FRAGMENT, + CONFIGURABLE_OPERATION_FRAGMENT, + ERROR_RESULT_FRAGMENT, +} from './shared-definitions'; export const PROMOTION_FRAGMENT = gql` fragment Promotion on Promotion { @@ -60,9 +64,11 @@ export const CREATE_PROMOTION = gql` mutation CreatePromotion($input: CreatePromotionInput!) { createPromotion(input: $input) { ...Promotion + ...ErrorResult } } ${PROMOTION_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const UPDATE_PROMOTION = gql` diff --git a/packages/admin-ui/src/lib/core/src/data/definitions/settings-definitions.ts b/packages/admin-ui/src/lib/core/src/data/definitions/settings-definitions.ts index b9be1e6c4d..986d6fa5bc 100644 --- a/packages/admin-ui/src/lib/core/src/data/definitions/settings-definitions.ts +++ b/packages/admin-ui/src/lib/core/src/data/definitions/settings-definitions.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; -import { CONFIGURABLE_OPERATION_DEF_FRAGMENT } from './shared-definitions'; +import { CONFIGURABLE_OPERATION_DEF_FRAGMENT, ERROR_RESULT_FRAGMENT } from './shared-definitions'; export const COUNTRY_FRAGMENT = gql` fragment Country on Country { @@ -342,18 +342,22 @@ export const CREATE_CHANNEL = gql` mutation CreateChannel($input: CreateChannelInput!) { createChannel(input: $input) { ...Channel + ...ErrorResult } } ${CHANNEL_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const UPDATE_CHANNEL = gql` mutation UpdateChannel($input: UpdateChannelInput!) { updateChannel(input: $input) { ...Channel + ...ErrorResult } } ${CHANNEL_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const DELETE_CHANNEL = gql` @@ -433,9 +437,11 @@ export const UPDATE_GLOBAL_SETTINGS = gql` mutation UpdateGlobalSettings($input: UpdateGlobalSettingsInput!) { updateGlobalSettings(input: $input) { ...GlobalSettings + ...ErrorResult } } ${GLOBAL_SETTINGS_FRAGMENT} + ${ERROR_RESULT_FRAGMENT} `; export const CUSTOM_FIELD_CONFIG_FRAGMENT = gql` diff --git a/packages/admin-ui/src/lib/core/src/data/definitions/shared-definitions.ts b/packages/admin-ui/src/lib/core/src/data/definitions/shared-definitions.ts index 60c813094d..544a33a827 100644 --- a/packages/admin-ui/src/lib/core/src/data/definitions/shared-definitions.ts +++ b/packages/admin-ui/src/lib/core/src/data/definitions/shared-definitions.ts @@ -23,3 +23,10 @@ export const CONFIGURABLE_OPERATION_DEF_FRAGMENT = gql` description } `; + +export const ERROR_RESULT_FRAGMENT = gql` + fragment ErrorResult on ErrorResult { + errorCode + message + } +`; diff --git a/packages/admin-ui/src/lib/core/src/providers/auth/auth.service.ts b/packages/admin-ui/src/lib/core/src/providers/auth/auth.service.ts index 66b68ff114..be4c7009de 100644 --- a/packages/admin-ui/src/lib/core/src/providers/auth/auth.service.ts +++ b/packages/admin-ui/src/lib/core/src/providers/auth/auth.service.ts @@ -1,9 +1,14 @@ import { Injectable } from '@angular/core'; import { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants'; import { Observable, of } from 'rxjs'; -import { catchError, mapTo, mergeMap, switchMap } from 'rxjs/operators'; +import { catchError, map, mapTo, mergeMap, switchMap } from 'rxjs/operators'; -import { CurrentUserChannel, CurrentUserFragment, SetAsLoggedIn } from '../../common/generated-types'; +import { + AttemptLogin, + CurrentUserChannel, + CurrentUserFragment, + SetAsLoggedIn, +} from '../../common/generated-types'; import { DataService } from '../../data/providers/data.service'; import { ServerConfigService } from '../../data/server-config'; import { LocalStorageService } from '../local-storage/local-storage.service'; @@ -25,15 +30,22 @@ export class AuthService { * Attempts to log in via the REST login endpoint and updates the app * state on success. */ - logIn(username: string, password: string, rememberMe: boolean): Observable { + logIn(username: string, password: string, rememberMe: boolean): Observable { return this.dataService.auth.attemptLogin(username, password, rememberMe).pipe( switchMap(response => { - this.setChannelToken(response.login.user.channels); - return this.serverConfigService.getServerConfig().then(() => response.login.user); + if (response.login.__typename === 'CurrentUser') { + this.setChannelToken(response.login.channels); + } + return this.serverConfigService.getServerConfig().then(() => response.login); }), - switchMap(user => { - const { id } = this.getActiveChannel(user.channels); - return this.dataService.client.loginSuccess(username, id, user.channels); + switchMap(login => { + if (login.__typename === 'CurrentUser') { + const { id } = this.getActiveChannel(login.channels); + return this.dataService.client + .loginSuccess(username, id, login.channels) + .pipe(map(() => login)); + } + return of(login); }), ); } diff --git a/packages/admin-ui/src/lib/customer/src/components/customer-detail/customer-detail.component.ts b/packages/admin-ui/src/lib/customer/src/components/customer-detail/customer-detail.component.ts index 75ec69b29f..2cbb177303 100644 --- a/packages/admin-ui/src/lib/customer/src/components/customer-detail/customer-detail.component.ts +++ b/packages/admin-ui/src/lib/customer/src/components/customer-detail/customer-detail.component.ts @@ -5,6 +5,8 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { BaseDetailComponent, CreateAddressInput, + CreateCustomerAddress, + CreateCustomerAddressMutation, CreateCustomerInput, Customer, CustomFieldConfig, @@ -19,7 +21,11 @@ import { NotificationService, ServerConfigService, SortOrder, + UpdateCustomer, + UpdateCustomerAddress, + UpdateCustomerAddressMutation, UpdateCustomerInput, + UpdateCustomerMutation, } from '@vendure/admin-ui/core'; import { notNullOrUndefined } from '@vendure/common/lib/shared-utils'; import { EMPTY, forkJoin, from, Observable, Subject } from 'rxjs'; @@ -183,30 +189,31 @@ export class CustomerDetailComponent extends BaseDetailComponent { - this.notificationService.success(_('common.notify-create-success'), { - entity: 'Customer', - }); - if (data.createCustomer.emailAddress && !formValue.password) { - this.notificationService.notify({ - message: _('customer.email-verification-sent'), - translationVars: { emailAddress: formValue.emailAddress }, - type: 'info', - duration: 10000, - }); + this.dataService.customer + .createCustomer(customer, formValue.password) + .subscribe(({ createCustomer }) => { + switch (createCustomer.__typename) { + case 'Customer': + this.notificationService.success(_('common.notify-create-success'), { + entity: 'Customer', + }); + if (createCustomer.emailAddress && !formValue.password) { + this.notificationService.notify({ + message: _('customer.email-verification-sent'), + translationVars: { emailAddress: formValue.emailAddress }, + type: 'info', + duration: 10000, + }); + } + this.detailForm.markAsPristine(); + this.addressDefaultsUpdated = false; + this.changeDetector.markForCheck(); + this.router.navigate(['../', createCustomer.id], { relativeTo: this.route }); + break; + case 'EmailAddressConflictError': + this.notificationService.error(createCustomer.message); } - this.detailForm.markAsPristine(); - this.addressDefaultsUpdated = false; - this.changeDetector.markForCheck(); - this.router.navigate(['../', data.createCustomer.id], { relativeTo: this.route }); - }, - err => { - this.notificationService.error(_('common.notify-create-error'), { - entity: 'Customer', - }); - }, - ); + }); } save() { @@ -214,7 +221,11 @@ export class CustomerDetailComponent extends BaseDetailComponent { - const saveOperations: Array> = []; + const saveOperations: Array> = []; const customerForm = this.detailForm.get('customer'); if (customerForm && customerForm.dirty) { const formValue = customerForm.value; @@ -228,7 +239,11 @@ export class CustomerDetailComponent extends BaseDetailComponent res.updateCustomer)), + ); } const addressFormArray = this.detailForm.get('addresses') as FormArray; if ((addressFormArray && addressFormArray.dirty) || this.addressDefaultsUpdated) { @@ -251,14 +266,18 @@ export class CustomerDetailComponent extends BaseDetailComponent res.createCustomerAddress)), ); } else { saveOperations.push( - this.dataService.customer.updateCustomerAddress({ - ...input, - id: address.id, - }), + this.dataService.customer + .updateCustomerAddress({ + ...input, + id: address.id, + }) + .pipe(map(res => res.updateCustomerAddress)), ); } } @@ -269,13 +288,23 @@ export class CustomerDetailComponent extends BaseDetailComponent { - this.notificationService.success(_('common.notify-update-success'), { - entity: 'Customer', - }); - this.detailForm.markAsPristine(); - this.addressDefaultsUpdated = false; - this.changeDetector.markForCheck(); - this.fetchHistory.next(); + for (const result of data) { + switch (result.__typename) { + case 'Customer': + case 'Address': + this.notificationService.success(_('common.notify-update-success'), { + entity: 'Customer', + }); + this.detailForm.markAsPristine(); + this.addressDefaultsUpdated = false; + this.changeDetector.markForCheck(); + this.fetchHistory.next(); + break; + case 'EmailAddressConflictError': + this.notificationService.error(result.message); + break; + } + } }, err => { this.notificationService.error(_('common.notify-update-error'), { diff --git a/packages/admin-ui/src/lib/login/src/components/login/login.component.html b/packages/admin-ui/src/lib/login/src/components/login/login.component.html index b60160448b..0a68de3f19 100644 --- a/packages/admin-ui/src/lib/login/src/components/login/login.component.html +++ b/packages/admin-ui/src/lib/login/src/components/login/login.component.html @@ -36,6 +36,13 @@ > {{ 'common.login' | translate }} + + + + {{ errorMessage }} + + +
vendure {{ version }}
diff --git a/packages/admin-ui/src/lib/login/src/components/login/login.component.ts b/packages/admin-ui/src/lib/login/src/components/login/login.component.ts index 608e2ccec4..e9e7c85c7a 100644 --- a/packages/admin-ui/src/lib/login/src/components/login/login.component.ts +++ b/packages/admin-ui/src/lib/login/src/components/login/login.component.ts @@ -12,23 +12,28 @@ export class LoginComponent { password = ''; rememberMe = false; version = ADMIN_UI_VERSION; + errorMessage: string | undefined; constructor(private authService: AuthService, private router: Router) {} logIn(): void { - this.authService.logIn(this.username, this.password, this.rememberMe).subscribe( - () => { - const redirect = this.getRedirectRoute(); - this.router.navigateByUrl(redirect ? redirect : '/'); - }, - err => { - /* error handled by http interceptor */ - }, - ); + this.errorMessage = undefined; + this.authService.logIn(this.username, this.password, this.rememberMe).subscribe(result => { + switch (result.__typename) { + case 'CurrentUser': + const redirect = this.getRedirectRoute(); + this.router.navigateByUrl(redirect ? redirect : '/'); + break; + case 'InvalidCredentialsError': + case 'NativeAuthStrategyError': + this.errorMessage = result.message; + break; + } + }); } /** - * Attemps to read a redirect param from the current url and parse it into a + * Attempts to read a redirect param from the current url and parse it into a * route from which the user was redirected after a 401 error. */ private getRedirectRoute(): string | undefined { diff --git a/packages/admin-ui/src/lib/marketing/src/components/promotion-detail/promotion-detail.component.ts b/packages/admin-ui/src/lib/marketing/src/components/promotion-detail/promotion-detail.component.ts index 480ca08ea5..2d9889c661 100644 --- a/packages/admin-ui/src/lib/marketing/src/components/promotion-detail/promotion-detail.component.ts +++ b/packages/admin-ui/src/lib/marketing/src/components/promotion-detail/promotion-detail.component.ts @@ -138,11 +138,20 @@ export class PromotionDetailComponent extends BaseDetailComponent { - this.notificationService.success(_('common.notify-create-success'), { entity: 'Promotion' }); - this.detailForm.markAsPristine(); - this.changeDetector.markForCheck(); - this.router.navigate(['../', data.createPromotion.id], { relativeTo: this.route }); + ({ createPromotion }) => { + switch (createPromotion.__typename) { + case 'Promotion': + this.notificationService.success(_('common.notify-create-success'), { + entity: 'Promotion', + }); + this.detailForm.markAsPristine(); + this.changeDetector.markForCheck(); + this.router.navigate(['../', createPromotion.id], { relativeTo: this.route }); + break; + case 'MissingConditionsError': + this.notificationService.error(createPromotion.message); + break; + } }, err => { this.notificationService.error(_('common.notify-create-error'), { diff --git a/packages/admin-ui/src/lib/order/src/components/order-detail/order-detail.component.ts b/packages/admin-ui/src/lib/order/src/components/order-detail/order-detail.component.ts index ec3ba32ef0..08a1f17354 100644 --- a/packages/admin-ui/src/lib/order/src/components/order-detail/order-detail.component.ts +++ b/packages/admin-ui/src/lib/order/src/components/order-detail/order-detail.component.ts @@ -9,6 +9,7 @@ import { DataService, EditNoteDialogComponent, GetOrderHistory, + GetOrderQuery, HistoryEntry, ModalService, NotificationService, @@ -132,9 +133,15 @@ export class OrderDetailComponent extends BaseDetailComponent { - this.notificationService.success(_('order.transitioned-to-state-success'), { state }); - this.fetchHistory.next(); + this.dataService.order.transitionToState(this.id, state).subscribe(({ transitionOrderToState }) => { + switch (transitionOrderToState?.__typename) { + case 'Order': + this.notificationService.success(_('order.transitioned-to-state-success'), { state }); + this.fetchHistory.next(); + break; + case 'OrderStateTransitionError': + this.notificationService.error(transitionOrderToState.transitionError); + } }); } @@ -171,14 +178,20 @@ export class OrderDetailComponent extends BaseDetailComponent { - if (settlePayment) { - if (settlePayment.state === 'Settled') { - this.notificationService.success(_('order.settle-payment-success')); - } else { - this.notificationService.error(_('order.settle-payment-error')); - } - this.dataService.order.getOrder(this.id).single$.subscribe(); - this.fetchHistory.next(); + switch (settlePayment.__typename) { + case 'Payment': + if (settlePayment.state === 'Settled') { + this.notificationService.success(_('order.settle-payment-success')); + } else { + this.notificationService.error(_('order.settle-payment-error')); + } + this.dataService.order.getOrder(this.id).single$.subscribe(); + this.fetchHistory.next(); + break; + case 'OrderStateTransitionError': + case 'PaymentStateTransitionError': + case 'SettlePaymentError': + this.notificationService.error(settlePayment.message); } }); } @@ -362,15 +375,32 @@ export class OrderDetailComponent extends BaseDetailComponent { if (input) { return this.dataService.order.refundOrder(omit(input, ['cancel'])).pipe( - switchMap(result => { - if (input.cancel.length) { - return this.dataService.order.cancelOrder({ - orderId: this.id, - lines: input.cancel, - reason: input.reason, - }); - } else { - return of(result); + switchMap(({ refundOrder }) => { + switch (refundOrder.__typename) { + case 'Refund': + if (input.cancel.length) { + return this.dataService.order + .cancelOrder({ + orderId: this.id, + lines: input.cancel, + reason: input.reason, + }) + .pipe(map(({ cancelOrder }) => cancelOrder)); + } else { + return of(refundOrder); + } + case 'AlreadyRefundedError': + case 'OrderStateTransitionError': + case 'MultipleOrderError': + case 'NothingToRefundError': + case 'PaymentOrderMismatchError': + case 'QuantityTooGreatError': + case 'RefundOrderStateError': + case 'RefundStateTransitionError': + this.notificationService.error(refundOrder.message); + // tslint:disable-next-line:no-switch-case-fall-through + default: + return of(undefined); } }), ); @@ -378,16 +408,27 @@ export class OrderDetailComponent extends BaseDetailComponent this.refetchOrder(result)), ) .subscribe(result => { if (result) { - this.notificationService.success(_('order.refund-order-success')); + switch (result.__typename) { + case 'Order': + case 'Refund': + this.refetchOrder(result).subscribe(); + this.notificationService.success(_('order.refund-order-success')); + break; + case 'QuantityTooGreatError': + case 'MultipleOrderError': + case 'OrderStateTransitionError': + case 'CancelActiveOrderError': + case 'EmptyOrderLineSelectionError': + this.notificationService.error(result.message); + } } }); } - private refetchOrder(result: object | undefined) { + private refetchOrder(result: object | undefined): Observable { this.fetchHistory.next(); if (result) { return this.dataService.order.getOrder(this.id).single$; diff --git a/packages/admin-ui/src/lib/order/src/public_api.ts b/packages/admin-ui/src/lib/order/src/public_api.ts index 15e6ff457e..5f7d5ddb5c 100644 --- a/packages/admin-ui/src/lib/order/src/public_api.ts +++ b/packages/admin-ui/src/lib/order/src/public_api.ts @@ -1,7 +1,9 @@ // This file was generated by the build-public-api.ts script export * from './components/cancel-order-dialog/cancel-order-dialog.component'; export * from './components/fulfill-order-dialog/fulfill-order-dialog.component'; +export * from './components/fulfillment-card/fulfillment-card.component'; export * from './components/fulfillment-detail/fulfillment-detail.component'; +export * from './components/fulfillment-state-label/fulfillment-state-label.component'; export * from './components/line-fulfillment/line-fulfillment.component'; export * from './components/line-refunds/line-refunds.component'; export * from './components/order-custom-fields-card/order-custom-fields-card.component'; diff --git a/packages/admin-ui/src/lib/settings/src/components/channel-detail/channel-detail.component.ts b/packages/admin-ui/src/lib/settings/src/components/channel-detail/channel-detail.component.ts index 85679f5bae..8a201de87f 100644 --- a/packages/admin-ui/src/lib/settings/src/components/channel-detail/channel-detail.component.ts +++ b/packages/admin-ui/src/lib/settings/src/components/channel-detail/channel-detail.component.ts @@ -54,7 +54,7 @@ export class ChannelDetailComponent extends BaseDetailComponent data.zones); + this.zones$ = this.dataService.settings.getZones().mapSingle(data => data.zones); this.availableLanguageCodes$ = this.serverConfigService.getAvailableLanguages(); } @@ -96,21 +96,21 @@ export class ChannelDetailComponent extends BaseDetailComponent createChannel)), ), ) - .subscribe( - (data) => { - this.notificationService.success(_('common.notify-create-success'), { - entity: 'Channel', - }); - this.detailForm.markAsPristine(); - this.changeDetector.markForCheck(); - this.router.navigate(['../', data.id], { relativeTo: this.route }); - }, - (err) => { - this.notificationService.error(_('common.notify-create-error'), { - entity: 'Channel', - }); - }, - ); + .subscribe(data => { + switch (data.__typename) { + case 'Channel': + this.notificationService.success(_('common.notify-create-success'), { + entity: 'Channel', + }); + this.detailForm.markAsPristine(); + this.changeDetector.markForCheck(); + this.router.navigate(['../', data.id], { relativeTo: this.route }); + break; + case 'LanguageNotAvailableError': + this.notificationService.error(data.message); + break; + } + }); } save() { @@ -121,7 +121,7 @@ export class ChannelDetailComponent extends BaseDetailComponent { + mergeMap(channel => { const input = { id: channel.id, code: formValue.code, @@ -134,20 +134,19 @@ export class ChannelDetailComponent extends BaseDetailComponent { - this.notificationService.success(_('common.notify-update-success'), { - entity: 'Channel', - }); - this.detailForm.markAsPristine(); - this.changeDetector.markForCheck(); - }, - (err) => { - this.notificationService.error(_('common.notify-update-error'), { - entity: 'Channel', - }); - }, - ); + .subscribe(({ updateChannel }) => { + switch (updateChannel.__typename) { + case 'Channel': + this.notificationService.success(_('common.notify-update-success'), { + entity: 'Channel', + }); + this.detailForm.markAsPristine(); + this.changeDetector.markForCheck(); + break; + case 'LanguageNotAvailableError': + this.notificationService.error(updateChannel.message); + } + }); } /** diff --git a/packages/admin-ui/src/lib/settings/src/components/global-settings/global-settings.component.ts b/packages/admin-ui/src/lib/settings/src/components/global-settings/global-settings.component.ts index c65332cb7d..df30fa8008 100644 --- a/packages/admin-ui/src/lib/settings/src/components/global-settings/global-settings.component.ts +++ b/packages/admin-ui/src/lib/settings/src/components/global-settings/global-settings.component.ts @@ -7,7 +7,7 @@ import { CustomFieldConfig, GlobalSettings, LanguageCode, Permission } from '@ve import { NotificationService } from '@vendure/admin-ui/core'; import { DataService } from '@vendure/admin-ui/core'; import { ServerConfigService } from '@vendure/admin-ui/core'; -import { switchMap } from 'rxjs/operators'; +import { switchMap, tap } from 'rxjs/operators'; @Component({ selector: 'vdr-global-settings', @@ -63,21 +63,23 @@ export class GlobalSettingsComponent extends BaseDetailComponent this.dataService.settings .updateGlobalSettings(this.detailForm.value) - .pipe(switchMap(() => this.serverConfigService.refreshGlobalSettings())) - .subscribe( - () => { - this.detailForm.markAsPristine(); - this.changeDetector.markForCheck(); - this.notificationService.success(_('common.notify-update-success'), { - entity: 'Settings', - }); - }, - (err) => { - this.notificationService.error(_('common.notify-update-error'), { - entity: 'Settings', - }); - }, - ); + .pipe( + tap(({ updateGlobalSettings }) => { + switch (updateGlobalSettings.__typename) { + case 'GlobalSettings': + this.detailForm.markAsPristine(); + this.changeDetector.markForCheck(); + this.notificationService.success(_('common.notify-update-success'), { + entity: 'Settings', + }); + break; + case 'ChannelDefaultLanguageError': + this.notificationService.error(updateGlobalSettings.message); + } + }), + switchMap(() => this.serverConfigService.refreshGlobalSettings()), + ) + .subscribe(); } protected setFormValues(entity: GlobalSettings, languageCode: LanguageCode): void { diff --git a/packages/asset-server-plugin/e2e/asset-server-plugin.e2e-spec.ts b/packages/asset-server-plugin/e2e/asset-server-plugin.e2e-spec.ts index 30199dac03..27860b890a 100644 --- a/packages/asset-server-plugin/e2e/asset-server-plugin.e2e-spec.ts +++ b/packages/asset-server-plugin/e2e/asset-server-plugin.e2e-spec.ts @@ -63,8 +63,8 @@ describe('AssetServerPlugin', () => { const { createAssets }: CreateAssets.Mutation = await adminClient.fileUploadMutation({ mutation: CREATE_ASSETS, filePaths: filesToUpload, - mapVariables: (filePaths) => ({ - input: filePaths.map((p) => ({ file: null })), + mapVariables: filePaths => ({ + input: filePaths.map(p => ({ file: null })), }), }); @@ -188,7 +188,7 @@ describe('AssetServerPlugin', () => { let testImages: CreateAssets.CreateAssets[] = []; async function testMimeTypeOfAssetWithExt(ext: string, expectedMimeType: string) { - const testImage = testImages.find((i) => i.source.endsWith(ext))!; + const testImage = testImages.find(i => i.source.endsWith(ext))!; const result = await fetch(testImage.source); const contentType = result.headers.get('Content-Type'); @@ -198,12 +198,12 @@ describe('AssetServerPlugin', () => { beforeAll(async () => { const formats = ['gif', 'jpg', 'png', 'svg', 'tiff', 'webp']; - const filesToUpload = formats.map((ext) => path.join(__dirname, `fixtures/assets/test.${ext}`)); + const filesToUpload = formats.map(ext => path.join(__dirname, `fixtures/assets/test.${ext}`)); const { createAssets }: CreateAssets.Mutation = await adminClient.fileUploadMutation({ mutation: CREATE_ASSETS, filePaths: filesToUpload, - mapVariables: (filePaths) => ({ - input: filePaths.map((p) => ({ file: null })), + mapVariables: filePaths => ({ + input: filePaths.map(p => ({ file: null })), }), }); @@ -239,13 +239,15 @@ describe('AssetServerPlugin', () => { export const CREATE_ASSETS = gql` mutation CreateAssets($input: [CreateAssetInput!]!) { createAssets(input: $input) { - id - name - source - preview - focalPoint { - x - y + ... on Asset { + id + name + source + preview + focalPoint { + x + y + } } } } diff --git a/packages/asset-server-plugin/e2e/graphql/generated-e2e-asset-server-plugin-types.ts b/packages/asset-server-plugin/e2e/graphql/generated-e2e-asset-server-plugin-types.ts index a8cbb65f2f..2af682c61e 100644 --- a/packages/asset-server-plugin/e2e/graphql/generated-e2e-asset-server-plugin-types.ts +++ b/packages/asset-server-plugin/e2e/graphql/generated-e2e-asset-server-plugin-types.ts @@ -1,6 +1,6 @@ // tslint:disable export type Maybe = T | null; - +export type Exact = { [K in keyof T]: T[K] }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; @@ -8,11 +8,19 @@ export type Scalars = { Boolean: boolean; Int: number; Float: number; + /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: any; + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any; + /** The `Upload` scalar type represents a file upload. */ Upload: any; }; +export type AddFulfillmentToOrderResult = + | Fulfillment + | EmptyOrderLineSelectionError + | ItemsAlreadyFulfilledError; + export type AddNoteToCustomerInput = { id: Scalars['ID']; note: Scalars['String']; @@ -26,7 +34,6 @@ export type AddNoteToOrderInput = { }; export type Address = Node & { - __typename?: 'Address'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -45,7 +52,6 @@ export type Address = Node & { }; export type Adjustment = { - __typename?: 'Adjustment'; adjustmentSource: Scalars['String']; type: AdjustmentType; description: Scalars['String']; @@ -63,7 +69,6 @@ export enum AdjustmentType { } export type Administrator = Node & { - __typename?: 'Administrator'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -82,7 +87,6 @@ export type AdministratorFilterParameter = { }; export type AdministratorList = PaginatedList & { - __typename?: 'AdministratorList'; items: Array; totalItems: Scalars['Int']; }; @@ -103,8 +107,14 @@ export type AdministratorSortParameter = { emailAddress?: Maybe; }; +/** Returned if an attempting to refund an OrderItem which has already been refunded */ +export type AlreadyRefundedError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + refundId: Scalars['ID']; +}; + export type Asset = Node & { - __typename?: 'Asset'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -133,7 +143,6 @@ export type AssetFilterParameter = { }; export type AssetList = PaginatedList & { - __typename?: 'AssetList'; items: Array; totalItems: Scalars['Int']; }; @@ -175,15 +184,15 @@ export type AuthenticationInput = { }; export type AuthenticationMethod = Node & { - __typename?: 'AuthenticationMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; strategy: Scalars['String']; }; +export type AuthenticationResult = CurrentUser | InvalidCredentialsError; + export type BooleanCustomFieldConfig = CustomField & { - __typename?: 'BooleanCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -197,9 +206,15 @@ export type BooleanOperators = { eq?: Maybe; }; +/** Returned if an attempting to cancel lines from an Order which is still active */ +export type CancelActiveOrderError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + export type Cancellation = Node & StockMovement & { - __typename?: 'Cancellation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -217,8 +232,15 @@ export type CancelOrderInput = { reason?: Maybe; }; +export type CancelOrderResult = + | Order + | EmptyOrderLineSelectionError + | QuantityTooGreatError + | MultipleOrderError + | CancelActiveOrderError + | OrderStateTransitionError; + export type Channel = Node & { - __typename?: 'Channel'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -231,8 +253,18 @@ export type Channel = Node & { pricesIncludeTax: Scalars['Boolean']; }; +/** + * Returned when the default LanguageCode of a Channel is no longer found in the `availableLanguages` + * of the GlobalSettings + */ +export type ChannelDefaultLanguageError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + language: Scalars['String']; + channelCode: Scalars['String']; +}; + export type Collection = Node & { - __typename?: 'Collection'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -258,7 +290,6 @@ export type CollectionProductVariantsArgs = { }; export type CollectionBreadcrumb = { - __typename?: 'CollectionBreadcrumb'; id: Scalars['ID']; name: Scalars['String']; slug: Scalars['String']; @@ -276,7 +307,6 @@ export type CollectionFilterParameter = { }; export type CollectionList = PaginatedList & { - __typename?: 'CollectionList'; items: Array; totalItems: Scalars['Int']; }; @@ -299,7 +329,6 @@ export type CollectionSortParameter = { }; export type CollectionTranslation = { - __typename?: 'CollectionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -310,13 +339,11 @@ export type CollectionTranslation = { }; export type ConfigArg = { - __typename?: 'ConfigArg'; name: Scalars['String']; value: Scalars['String']; }; export type ConfigArgDefinition = { - __typename?: 'ConfigArgDefinition'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -331,13 +358,11 @@ export type ConfigArgInput = { }; export type ConfigurableOperation = { - __typename?: 'ConfigurableOperation'; code: Scalars['String']; args: Array; }; export type ConfigurableOperationDefinition = { - __typename?: 'ConfigurableOperationDefinition'; code: Scalars['String']; args: Array; description: Scalars['String']; @@ -349,7 +374,6 @@ export type ConfigurableOperationInput = { }; export type Coordinate = { - __typename?: 'Coordinate'; x: Scalars['Float']; y: Scalars['Float']; }; @@ -360,7 +384,6 @@ export type CoordinateInput = { }; export type Country = Node & { - __typename?: 'Country'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -381,7 +404,6 @@ export type CountryFilterParameter = { }; export type CountryList = PaginatedList & { - __typename?: 'CountryList'; items: Array; totalItems: Scalars['Int']; }; @@ -402,7 +424,6 @@ export type CountrySortParameter = { }; export type CountryTranslation = { - __typename?: 'CountryTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -443,6 +464,8 @@ export type CreateAssetInput = { file: Scalars['Upload']; }; +export type CreateAssetResult = Asset | MimeTypeError; + export type CreateChannelInput = { code: Scalars['String']; token: Scalars['String']; @@ -453,6 +476,8 @@ export type CreateChannelInput = { defaultShippingZoneId: Scalars['ID']; }; +export type CreateChannelResult = Channel | LanguageNotAvailableError; + export type CreateCollectionInput = { isPrivate?: Maybe; featuredAssetId?: Maybe; @@ -491,6 +516,8 @@ export type CreateCustomerInput = { customFields?: Maybe; }; +export type CreateCustomerResult = Customer | EmailAddressConflictError; + export type CreateFacetInput = { code: Scalars['String']; isPrivate: Scalars['Boolean']; @@ -570,6 +597,8 @@ export type CreatePromotionInput = { actions: Array; }; +export type CreatePromotionResult = Promotion | MissingConditionsError; + export type CreateRoleInput = { code: Scalars['String']; description: Scalars['String']; @@ -927,14 +956,12 @@ export enum CurrencyCode { } export type CurrentUser = { - __typename?: 'CurrentUser'; id: Scalars['ID']; identifier: Scalars['String']; channels: Array; }; export type CurrentUserChannel = { - __typename?: 'CurrentUserChannel'; id: Scalars['ID']; token: Scalars['String']; code: Scalars['String']; @@ -942,7 +969,6 @@ export type CurrentUserChannel = { }; export type Customer = Node & { - __typename?: 'Customer'; groups: Array; history: HistoryEntryList; id: Scalars['ID']; @@ -978,7 +1004,6 @@ export type CustomerFilterParameter = { }; export type CustomerGroup = Node & { - __typename?: 'CustomerGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -997,7 +1022,6 @@ export type CustomerGroupFilterParameter = { }; export type CustomerGroupList = PaginatedList & { - __typename?: 'CustomerGroupList'; items: Array; totalItems: Scalars['Int']; }; @@ -1017,7 +1041,6 @@ export type CustomerGroupSortParameter = { }; export type CustomerList = PaginatedList & { - __typename?: 'CustomerList'; items: Array; totalItems: Scalars['Int']; }; @@ -1059,7 +1082,6 @@ export type CustomFieldConfig = | DateTimeCustomFieldConfig; export type CustomFields = { - __typename?: 'CustomFields'; Address: Array; Collection: Array; Customer: Array; @@ -1093,7 +1115,6 @@ export type DateRange = { * See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes */ export type DateTimeCustomFieldConfig = CustomField & { - __typename?: 'DateTimeCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1107,7 +1128,6 @@ export type DateTimeCustomFieldConfig = CustomField & { }; export type DeletionResponse = { - __typename?: 'DeletionResponse'; result: DeletionResult; message?: Maybe; }; @@ -1119,8 +1139,50 @@ export enum DeletionResult { NOT_DELETED = 'NOT_DELETED', } +/** Retured when attemting to create a Customer with an email address already registered to an existing User. */ +export type EmailAddressConflictError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if no OrderLines have been specified for the operation */ +export type EmptyOrderLineSelectionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export enum ErrorCode { + UNKNOWN_ERROR = 'UNKNOWN_ERROR', + MIME_TYPE_ERROR = 'MIME_TYPE_ERROR', + INVALID_CREDENTIALS_ERROR = 'INVALID_CREDENTIALS_ERROR', + NATIVE_AUTH_STRATEGY_ERROR = 'NATIVE_AUTH_STRATEGY_ERROR', + LANGUAGE_NOT_AVAILABLE_ERROR = 'LANGUAGE_NOT_AVAILABLE_ERROR', + EMAIL_ADDRESS_CONFLICT_ERROR = 'EMAIL_ADDRESS_CONFLICT_ERROR', + CHANNEL_DEFAULT_LANGUAGE_ERROR = 'CHANNEL_DEFAULT_LANGUAGE_ERROR', + SETTLE_PAYMENT_ERROR = 'SETTLE_PAYMENT_ERROR', + PAYMENT_STATE_TRANSITION_ERROR = 'PAYMENT_STATE_TRANSITION_ERROR', + ORDER_STATE_TRANSITION_ERROR = 'ORDER_STATE_TRANSITION_ERROR', + EMPTY_ORDER_LINE_SELECTION_ERROR = 'EMPTY_ORDER_LINE_SELECTION_ERROR', + ITEMS_ALREADY_FULFILLED_ERROR = 'ITEMS_ALREADY_FULFILLED_ERROR', + QUANTITY_TOO_GREAT_ERROR = 'QUANTITY_TOO_GREAT_ERROR', + MULTIPLE_ORDER_ERROR = 'MULTIPLE_ORDER_ERROR', + CANCEL_ACTIVE_ORDER_ERROR = 'CANCEL_ACTIVE_ORDER_ERROR', + NOTHING_TO_REFUND_ERROR = 'NOTHING_TO_REFUND_ERROR', + PAYMENT_ORDER_MISMATCH_ERROR = 'PAYMENT_ORDER_MISMATCH_ERROR', + REFUND_ORDER_STATE_ERROR = 'REFUND_ORDER_STATE_ERROR', + ALREADY_REFUNDED_ERROR = 'ALREADY_REFUNDED_ERROR', + REFUND_STATE_TRANSITION_ERROR = 'REFUND_STATE_TRANSITION_ERROR', + FULFILLMENT_STATE_TRANSITION_ERROR = 'FULFILLMENT_STATE_TRANSITION_ERROR', + PRODUCT_OPTION_IN_USE_ERROR = 'PRODUCT_OPTION_IN_USE_ERROR', + MISSING_CONDITIONS_ERROR = 'MISSING_CONDITIONS_ERROR', +} + +export type ErrorResult = { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Facet = Node & { - __typename?: 'Facet'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1143,7 +1205,6 @@ export type FacetFilterParameter = { }; export type FacetList = PaginatedList & { - __typename?: 'FacetList'; items: Array; totalItems: Scalars['Int']; }; @@ -1164,7 +1225,6 @@ export type FacetSortParameter = { }; export type FacetTranslation = { - __typename?: 'FacetTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1180,7 +1240,6 @@ export type FacetTranslationInput = { }; export type FacetValue = Node & { - __typename?: 'FacetValue'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1197,13 +1256,11 @@ export type FacetValue = Node & { * by the search, and in what quantity. */ export type FacetValueResult = { - __typename?: 'FacetValueResult'; facetValue: FacetValue; count: Scalars['Int']; }; export type FacetValueTranslation = { - __typename?: 'FacetValueTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1219,7 +1276,6 @@ export type FacetValueTranslationInput = { }; export type FloatCustomFieldConfig = CustomField & { - __typename?: 'FloatCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1233,7 +1289,6 @@ export type FloatCustomFieldConfig = CustomField & { }; export type Fulfillment = Node & { - __typename?: 'Fulfillment'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1244,6 +1299,15 @@ export type Fulfillment = Node & { trackingCode?: Maybe; }; +/** Returned when there is an error in transitioning the Fulfillment state */ +export type FulfillmentStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type FulfillOrderInput = { lines: Array; method: Scalars['String']; @@ -1251,7 +1315,6 @@ export type FulfillOrderInput = { }; export type GlobalSettings = { - __typename?: 'GlobalSettings'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1262,7 +1325,6 @@ export type GlobalSettings = { }; export type HistoryEntry = Node & { - __typename?: 'HistoryEntry'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1280,7 +1342,6 @@ export type HistoryEntryFilterParameter = { }; export type HistoryEntryList = PaginatedList & { - __typename?: 'HistoryEntryList'; items: Array; totalItems: Scalars['Int']; }; @@ -1325,14 +1386,12 @@ export enum HistoryEntryType { } export type ImportInfo = { - __typename?: 'ImportInfo'; errors?: Maybe>; processed: Scalars['Int']; imported: Scalars['Int']; }; export type IntCustomFieldConfig = CustomField & { - __typename?: 'IntCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1345,8 +1404,19 @@ export type IntCustomFieldConfig = CustomField & { step?: Maybe; }; +/** Returned if the user authentication credentials are not valid */ +export type InvalidCredentialsError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if the specified items are already part of a Fulfillment */ +export type ItemsAlreadyFulfilledError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Job = Node & { - __typename?: 'Job'; id: Scalars['ID']; createdAt: Scalars['DateTime']; startedAt?: Maybe; @@ -1373,7 +1443,6 @@ export type JobFilterParameter = { }; export type JobList = PaginatedList & { - __typename?: 'JobList'; items: Array; totalItems: Scalars['Int']; }; @@ -1386,7 +1455,6 @@ export type JobListOptions = { }; export type JobQueue = { - __typename?: 'JobQueue'; name: Scalars['String']; running: Scalars['Boolean']; }; @@ -1741,8 +1809,14 @@ export enum LanguageCode { zu = 'zu', } +/** Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings */ +export type LanguageNotAvailableError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + languageCode: Scalars['String']; +}; + export type LocaleStringCustomFieldConfig = CustomField & { - __typename?: 'LocaleStringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1755,7 +1829,6 @@ export type LocaleStringCustomFieldConfig = CustomField & { }; export type LocalizedString = { - __typename?: 'LocalizedString'; languageCode: LanguageCode; value: Scalars['String']; }; @@ -1765,9 +1838,17 @@ export enum LogicalOperator { OR = 'OR', } -export type LoginResult = { - __typename?: 'LoginResult'; - user: CurrentUser; +export type MimeTypeError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + fileName: Scalars['String']; + mimeType: Scalars['String']; +}; + +/** Returned if a PromotionCondition has neither a couponCode nor any conditions set */ +export type MissingConditionsError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; }; export type MoveCollectionInput = { @@ -1776,8 +1857,13 @@ export type MoveCollectionInput = { index: Scalars['Int']; }; +/** Returned if an operation has specified OrderLines from multiple Orders */ +export type MultipleOrderError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Mutation = { - __typename?: 'Mutation'; /** Create a new Administrator */ createAdministrator: Administrator; /** Update an existing Administrator */ @@ -1787,7 +1873,7 @@ export type Mutation = { /** Assign a Role to an Administrator */ assignRoleToAdministrator: Administrator; /** Create a new Asset */ - createAssets: Array; + createAssets: Array; /** Update an existing Asset */ updateAsset: Asset; /** Delete an Asset */ @@ -1798,14 +1884,14 @@ export type Mutation = { * Authenticates the user using the native authentication strategy. This mutation * is an alias for `authenticate({ native: { ... }})` */ - login: LoginResult; + login: NativeAuthenticationResult; /** Authenticates the user using a named authentication strategy */ - authenticate: LoginResult; - logout: Scalars['Boolean']; + authenticate: AuthenticationResult; + logout: Success; /** Create a new Channel */ - createChannel: Channel; + createChannel: CreateChannelResult; /** Update an existing Channel */ - updateChannel: Channel; + updateChannel: UpdateChannelResult; /** Delete a Channel */ deleteChannel: DeletionResponse; /** Create a new Collection */ @@ -1833,9 +1919,9 @@ export type Mutation = { /** Remove Customers from a CustomerGroup */ removeCustomersFromGroup: CustomerGroup; /** Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer. */ - createCustomer: Customer; + createCustomer: CreateCustomerResult; /** Update an existing Customer */ - updateCustomer: Customer; + updateCustomer: UpdateCustomerResult; /** Delete a Customer */ deleteCustomer: DeletionResponse; /** Create a new Address and associate it with the Customer specified by customerId */ @@ -1843,7 +1929,7 @@ export type Mutation = { /** Update an existing Address */ updateCustomerAddress: Address; /** Update an existing Address */ - deleteCustomerAddress: Scalars['Boolean']; + deleteCustomerAddress: Success; addNoteToCustomer: Customer; updateCustomerNote: HistoryEntry; deleteCustomerNote: DeletionResponse; @@ -1859,20 +1945,20 @@ export type Mutation = { updateFacetValues: Array; /** Delete one or more FacetValues */ deleteFacetValues: Array; - updateGlobalSettings: GlobalSettings; + updateGlobalSettings: UpdateGlobalSettingsResult; importProducts?: Maybe; /** Remove all settled jobs in the given queues olfer than the given date. Returns the number of jobs deleted. */ removeSettledJobs: Scalars['Int']; - settlePayment: Payment; - fulfillOrder: Fulfillment; - cancelOrder: Order; - refundOrder: Refund; - settleRefund: Refund; + settlePayment: SettlePaymentResult; + addFulfillmentToOrder: AddFulfillmentToOrderResult; + cancelOrder: CancelOrderResult; + refundOrder: RefundOrderResult; + settleRefund: SettleRefundResult; addNoteToOrder: Order; updateOrderNote: HistoryEntry; deleteOrderNote: DeletionResponse; - transitionOrderToState?: Maybe; - transitionFulfillmentToState: Fulfillment; + transitionOrderToState?: Maybe; + transitionFulfillmentToState: TransitionFulfillmentToStateResult; setOrderCustomFields?: Maybe; /** Update an existing PaymentMethod */ updatePaymentMethod: PaymentMethod; @@ -1894,7 +1980,7 @@ export type Mutation = { /** Add an OptionGroup to a Product */ addOptionGroupToProduct: Product; /** Remove an OptionGroup from a Product */ - removeOptionGroupFromProduct: Product; + removeOptionGroupFromProduct: RemoveOptionGroupFromProductResult; /** Create a set of ProductVariants based on the OptionGroups assigned to the given Product */ createProductVariants: Array>; /** Update existing ProductVariants */ @@ -1905,8 +1991,8 @@ export type Mutation = { assignProductsToChannel: Array; /** Removes Products from the specified Channel */ removeProductsFromChannel: Array; - createPromotion: Promotion; - updatePromotion: Promotion; + createPromotion: CreatePromotionResult; + updatePromotion: UpdatePromotionResult; deletePromotion: DeletionResponse; /** Create a new Role */ createRole: Role; @@ -2133,7 +2219,7 @@ export type MutationSettlePaymentArgs = { id: Scalars['ID']; }; -export type MutationFulfillOrderArgs = { +export type MutationAddFulfillmentToOrderArgs = { input: FulfillOrderInput; }; @@ -2319,15 +2405,29 @@ export type MutationRemoveMembersFromZoneArgs = { memberIds: Array; }; +export type NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError; + export type NativeAuthInput = { username: Scalars['String']; password: Scalars['String']; }; +/** Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured. */ +export type NativeAuthStrategyError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Node = { id: Scalars['ID']; }; +/** Returned if an attempting to refund an Order but neither items nor shipping refund was specified */ +export type NothingToRefundError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type NumberOperators = { eq?: Maybe; lt?: Maybe; @@ -2343,7 +2443,6 @@ export type NumberRange = { }; export type Order = Node & { - __typename?: 'Order'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -2382,7 +2481,6 @@ export type OrderHistoryArgs = { }; export type OrderAddress = { - __typename?: 'OrderAddress'; fullName?: Maybe; company?: Maybe; streetLine1?: Maybe; @@ -2411,7 +2509,6 @@ export type OrderFilterParameter = { }; export type OrderItem = Node & { - __typename?: 'OrderItem'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2426,7 +2523,6 @@ export type OrderItem = Node & { }; export type OrderLine = Node & { - __typename?: 'OrderLine'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2448,7 +2544,6 @@ export type OrderLineInput = { }; export type OrderList = PaginatedList & { - __typename?: 'OrderList'; items: Array; totalItems: Scalars['Int']; }; @@ -2461,7 +2556,6 @@ export type OrderListOptions = { }; export type OrderProcessState = { - __typename?: 'OrderProcessState'; name: Scalars['String']; to: Array; }; @@ -2480,13 +2574,21 @@ export type OrderSortParameter = { total?: Maybe; }; +/** Returned if there is an error in transitioning the Order state */ +export type OrderStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type PaginatedList = { items: Array; totalItems: Scalars['Int']; }; export type Payment = Node & { - __typename?: 'Payment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2500,7 +2602,6 @@ export type Payment = Node & { }; export type PaymentMethod = Node & { - __typename?: 'PaymentMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2518,7 +2619,6 @@ export type PaymentMethodFilterParameter = { }; export type PaymentMethodList = PaginatedList & { - __typename?: 'PaymentMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -2537,6 +2637,21 @@ export type PaymentMethodSortParameter = { code?: Maybe; }; +/** Returned if an attempting to refund a Payment against OrderLines from a different Order */ +export type PaymentOrderMismatchError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Payment state */ +export type PaymentStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + /** * " * @description @@ -2582,13 +2697,11 @@ export enum Permission { /** The price range where the result has more than one price */ export type PriceRange = { - __typename?: 'PriceRange'; min: Scalars['Int']; max: Scalars['Int']; }; export type Product = Node & { - __typename?: 'Product'; enabled: Scalars['Boolean']; channels: Array; id: Scalars['ID']; @@ -2619,7 +2732,6 @@ export type ProductFilterParameter = { }; export type ProductList = PaginatedList & { - __typename?: 'ProductList'; items: Array; totalItems: Scalars['Int']; }; @@ -2632,7 +2744,6 @@ export type ProductListOptions = { }; export type ProductOption = Node & { - __typename?: 'ProductOption'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2646,7 +2757,6 @@ export type ProductOption = Node & { }; export type ProductOptionGroup = Node & { - __typename?: 'ProductOptionGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2659,7 +2769,6 @@ export type ProductOptionGroup = Node & { }; export type ProductOptionGroupTranslation = { - __typename?: 'ProductOptionGroupTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2674,8 +2783,14 @@ export type ProductOptionGroupTranslationInput = { customFields?: Maybe; }; +export type ProductOptionInUseError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + optionGroupCode: Scalars['String']; + productVariantCount: Scalars['Int']; +}; + export type ProductOptionTranslation = { - __typename?: 'ProductOptionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2700,7 +2815,6 @@ export type ProductSortParameter = { }; export type ProductTranslation = { - __typename?: 'ProductTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2720,7 +2834,6 @@ export type ProductTranslationInput = { }; export type ProductVariant = Node & { - __typename?: 'ProductVariant'; enabled: Scalars['Boolean']; stockOnHand: Scalars['Int']; trackInventory: Scalars['Boolean']; @@ -2767,7 +2880,6 @@ export type ProductVariantFilterParameter = { }; export type ProductVariantList = PaginatedList & { - __typename?: 'ProductVariantList'; items: Array; totalItems: Scalars['Int']; }; @@ -2792,7 +2904,6 @@ export type ProductVariantSortParameter = { }; export type ProductVariantTranslation = { - __typename?: 'ProductVariantTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2808,7 +2919,6 @@ export type ProductVariantTranslationInput = { }; export type Promotion = Node & { - __typename?: 'Promotion'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2834,7 +2944,6 @@ export type PromotionFilterParameter = { }; export type PromotionList = PaginatedList & { - __typename?: 'PromotionList'; items: Array; totalItems: Scalars['Int']; }; @@ -2857,8 +2966,13 @@ export type PromotionSortParameter = { name?: Maybe; }; +/** Returned if the specified quantity of an OrderLine is greater than the number of items in that line */ +export type QuantityTooGreatError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Query = { - __typename?: 'Query'; administrators: AdministratorList; administrator?: Maybe; /** Get a list of Assets */ @@ -3081,7 +3195,6 @@ export type QueryZoneArgs = { }; export type Refund = Node & { - __typename?: 'Refund'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3106,6 +3219,35 @@ export type RefundOrderInput = { reason?: Maybe; }; +export type RefundOrderResult = + | Refund + | QuantityTooGreatError + | NothingToRefundError + | OrderStateTransitionError + | MultipleOrderError + | PaymentOrderMismatchError + | RefundOrderStateError + | AlreadyRefundedError + | RefundStateTransitionError; + +/** Returned if an attempting to refund an Order which is not in the expected state */ +export type RefundOrderStateError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Refund state */ +export type RefundStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + +export type RemoveOptionGroupFromProductResult = Product | ProductOptionInUseError; + export type RemoveProductsFromChannelInput = { productIds: Array; channelId: Scalars['ID']; @@ -3113,7 +3255,6 @@ export type RemoveProductsFromChannelInput = { export type Return = Node & StockMovement & { - __typename?: 'Return'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3124,7 +3265,6 @@ export type Return = Node & }; export type Role = Node & { - __typename?: 'Role'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3142,7 +3282,6 @@ export type RoleFilterParameter = { }; export type RoleList = PaginatedList & { - __typename?: 'RoleList'; items: Array; totalItems: Scalars['Int']; }; @@ -3164,7 +3303,6 @@ export type RoleSortParameter = { export type Sale = Node & StockMovement & { - __typename?: 'Sale'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3187,19 +3325,16 @@ export type SearchInput = { }; export type SearchReindexResponse = { - __typename?: 'SearchReindexResponse'; success: Scalars['Boolean']; }; export type SearchResponse = { - __typename?: 'SearchResponse'; items: Array; totalItems: Scalars['Int']; facetValues: Array; }; export type SearchResult = { - __typename?: 'SearchResult'; enabled: Scalars['Boolean']; /** An array of ids of the Collections in which this result appears */ channelIds: Array; @@ -3228,7 +3363,6 @@ export type SearchResult = { }; export type SearchResultAsset = { - __typename?: 'SearchResultAsset'; id: Scalars['ID']; preview: Scalars['String']; focalPoint?: Maybe; @@ -3243,19 +3377,32 @@ export type SearchResultSortParameter = { }; export type ServerConfig = { - __typename?: 'ServerConfig'; orderProcess: Array; permittedAssetTypes: Array; customFieldConfig: CustomFields; }; +/** Returned if the Payment settlement fails */ +export type SettlePaymentError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + +export type SettlePaymentResult = + | Payment + | SettlePaymentError + | PaymentStateTransitionError + | OrderStateTransitionError; + export type SettleRefundInput = { id: Scalars['ID']; transactionId: Scalars['String']; }; +export type SettleRefundResult = Refund | RefundStateTransitionError; + export type ShippingMethod = Node & { - __typename?: 'ShippingMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3274,7 +3421,6 @@ export type ShippingMethodFilterParameter = { }; export type ShippingMethodList = PaginatedList & { - __typename?: 'ShippingMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -3287,7 +3433,6 @@ export type ShippingMethodListOptions = { }; export type ShippingMethodQuote = { - __typename?: 'ShippingMethodQuote'; id: Scalars['ID']; price: Scalars['Int']; priceWithTax: Scalars['Int']; @@ -3305,7 +3450,6 @@ export type ShippingMethodSortParameter = { /** The price value where the result has a single price */ export type SinglePrice = { - __typename?: 'SinglePrice'; value: Scalars['Int']; }; @@ -3316,7 +3460,6 @@ export enum SortOrder { export type StockAdjustment = Node & StockMovement & { - __typename?: 'StockAdjustment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3337,7 +3480,6 @@ export type StockMovement = { export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return; export type StockMovementList = { - __typename?: 'StockMovementList'; items: Array; totalItems: Scalars['Int']; }; @@ -3356,7 +3498,6 @@ export enum StockMovementType { } export type StringCustomFieldConfig = CustomField & { - __typename?: 'StringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -3370,7 +3511,6 @@ export type StringCustomFieldConfig = CustomField & { }; export type StringFieldOption = { - __typename?: 'StringFieldOption'; value: Scalars['String']; label?: Maybe>; }; @@ -3380,8 +3520,12 @@ export type StringOperators = { contains?: Maybe; }; +/** Indicates that an operation succeeded, where we do not want to return any more specific information. */ +export type Success = { + success: Scalars['Boolean']; +}; + export type TaxCategory = Node & { - __typename?: 'TaxCategory'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3389,7 +3533,6 @@ export type TaxCategory = Node & { }; export type TaxRate = Node & { - __typename?: 'TaxRate'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3410,7 +3553,6 @@ export type TaxRateFilterParameter = { }; export type TaxRateList = PaginatedList & { - __typename?: 'TaxRateList'; items: Array; totalItems: Scalars['Int']; }; @@ -3448,7 +3590,6 @@ export type TestShippingMethodOrderLineInput = { }; export type TestShippingMethodQuote = { - __typename?: 'TestShippingMethodQuote'; price: Scalars['Int']; priceWithTax: Scalars['Int']; description: Scalars['String']; @@ -3456,11 +3597,14 @@ export type TestShippingMethodQuote = { }; export type TestShippingMethodResult = { - __typename?: 'TestShippingMethodResult'; eligible: Scalars['Boolean']; quote?: Maybe; }; +export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError; + +export type TransitionOrderToStateResult = Order | OrderStateTransitionError; + export type UpdateAddressInput = { id: Scalars['ID']; fullName?: Maybe; @@ -3503,6 +3647,8 @@ export type UpdateChannelInput = { defaultShippingZoneId?: Maybe; }; +export type UpdateChannelResult = Channel | LanguageNotAvailableError; + export type UpdateCollectionInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3550,6 +3696,8 @@ export type UpdateCustomerNoteInput = { note: Scalars['String']; }; +export type UpdateCustomerResult = Customer | EmailAddressConflictError; + export type UpdateFacetInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3571,6 +3719,8 @@ export type UpdateGlobalSettingsInput = { customFields?: Maybe; }; +export type UpdateGlobalSettingsResult = GlobalSettings | ChannelDefaultLanguageError; + export type UpdateOrderInput = { id: Scalars['ID']; customFields?: Maybe; @@ -3640,6 +3790,8 @@ export type UpdatePromotionInput = { actions?: Maybe>; }; +export type UpdatePromotionResult = Promotion | MissingConditionsError; + export type UpdateRoleInput = { id: Scalars['ID']; code?: Maybe; @@ -3678,7 +3830,6 @@ export type UpdateZoneInput = { }; export type User = Node & { - __typename?: 'User'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3691,7 +3842,6 @@ export type User = Node & { }; export type Zone = Node & { - __typename?: 'Zone'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3699,36 +3849,45 @@ export type Zone = Node & { members: Array; }; -export type CreateAssetsMutationVariables = { +export type CreateAssetsMutationVariables = Exact<{ input: Array; -}; +}>; -export type CreateAssetsMutation = { __typename?: 'Mutation' } & { +export type CreateAssetsMutation = { createAssets: Array< - { __typename?: 'Asset' } & Pick & { - focalPoint?: Maybe<{ __typename?: 'Coordinate' } & Pick>; - } + Pick & { + focalPoint?: Maybe>; + } >; }; -export type DeleteAssetMutationVariables = { +export type DeleteAssetMutationVariables = Exact<{ id: Scalars['ID']; force: Scalars['Boolean']; -}; +}>; -export type DeleteAssetMutation = { __typename?: 'Mutation' } & { - deleteAsset: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteAssetMutation = { deleteAsset: Pick }; + +type DiscriminateUnion = T extends U ? T : never; export namespace CreateAssets { export type Variables = CreateAssetsMutationVariables; export type Mutation = CreateAssetsMutation; - export type CreateAssets = NonNullable; - export type FocalPoint = NonNullable['focalPoint']>; + export type CreateAssets = NonNullable[number]>; + export type AssetInlineFragment = DiscriminateUnion< + NonNullable[number]>, + { __typename?: 'Asset' } + >; + export type FocalPoint = NonNullable< + DiscriminateUnion< + NonNullable[number]>, + { __typename?: 'Asset' } + >['focalPoint'] + >; } export namespace DeleteAsset { export type Variables = DeleteAssetMutationVariables; export type Mutation = DeleteAssetMutation; - export type DeleteAsset = DeleteAssetMutation['deleteAsset']; + export type DeleteAsset = NonNullable; } diff --git a/packages/common/src/generated-shop-types.ts b/packages/common/src/generated-shop-types.ts index cef2d87c00..bc9532e96c 100644 --- a/packages/common/src/generated-shop-types.ts +++ b/packages/common/src/generated-shop-types.ts @@ -1,6 +1,6 @@ // tslint:disable -export type Maybe = T | null; - +export type Maybe = T; +export type Exact = { [K in keyof T]: T[K] }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string | number; @@ -8,11 +8,21 @@ export type Scalars = { Boolean: boolean; Int: number; Float: number; + /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: any; + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any; + /** The `Upload` scalar type represents a file upload. */ Upload: any; }; +export type AddPaymentToOrderResult = + | Order + | OrderPaymentStateError + | PaymentFailedError + | PaymentDeclinedError + | OrderStateTransitionError; + export type Address = Node & { __typename?: 'Address'; id: Scalars['ID']; @@ -67,6 +77,19 @@ export type AdministratorList = PaginatedList & { totalItems: Scalars['Int']; }; +/** Retured when attemting to set the Customer for an Order when already logged in. */ +export type AlreadyLoggedInError = ErrorResult & { + __typename?: 'AlreadyLoggedInError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export type ApplyCouponCodeResult = + | Order + | CouponCodeExpiredError + | CouponCodeInvalidError + | CouponCodeLimitError; + export type Asset = Node & { __typename?: 'Asset'; id: Scalars['ID']; @@ -107,6 +130,8 @@ export type AuthenticationMethod = Node & { strategy: Scalars['String']; }; +export type AuthenticationResult = CurrentUser | InvalidCredentialsError; + export type BooleanCustomFieldConfig = CustomField & { __typename?: 'BooleanCustomFieldConfig'; name: Scalars['String']; @@ -296,6 +321,31 @@ export type CountryTranslation = { name: Scalars['String']; }; +/** Returned if the provided coupon code is invalid */ +export type CouponCodeExpiredError = ErrorResult & { + __typename?: 'CouponCodeExpiredError'; + errorCode: ErrorCode; + message: Scalars['String']; + couponCode: Scalars['String']; +}; + +/** Returned if the provided coupon code is invalid */ +export type CouponCodeInvalidError = ErrorResult & { + __typename?: 'CouponCodeInvalidError'; + errorCode: ErrorCode; + message: Scalars['String']; + couponCode: Scalars['String']; +}; + +/** Returned if the provided coupon code is invalid */ +export type CouponCodeLimitError = ErrorResult & { + __typename?: 'CouponCodeLimitError'; + errorCode: ErrorCode; + message: Scalars['String']; + couponCode: Scalars['String']; + limit: Scalars['Int']; +}; + export type CreateAddressInput = { fullName?: Maybe; company?: Maybe; @@ -804,6 +854,44 @@ export enum DeletionResult { NOT_DELETED = 'NOT_DELETED', } +/** Retured when attemting to create a Customer with an email address already registered to an existing User. */ +export type EmailAddressConflictError = ErrorResult & { + __typename?: 'EmailAddressConflictError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export enum ErrorCode { + UNKNOWN_ERROR = 'UNKNOWN_ERROR', + ORDER_MODIFICATION_ERROR = 'ORDER_MODIFICATION_ERROR', + ORDER_LIMIT_ERROR = 'ORDER_LIMIT_ERROR', + NEGATIVE_QUANTITY_ERROR = 'NEGATIVE_QUANTITY_ERROR', + COUPON_CODE_EXPIRED_ERROR = 'COUPON_CODE_EXPIRED_ERROR', + COUPON_CODE_INVALID_ERROR = 'COUPON_CODE_INVALID_ERROR', + COUPON_CODE_LIMIT_ERROR = 'COUPON_CODE_LIMIT_ERROR', + ORDER_STATE_TRANSITION_ERROR = 'ORDER_STATE_TRANSITION_ERROR', + ORDER_PAYMENT_STATE_ERROR = 'ORDER_PAYMENT_STATE_ERROR', + PAYMENT_FAILED_ERROR = 'PAYMENT_FAILED_ERROR', + PAYMENT_DECLINED_ERROR = 'PAYMENT_DECLINED_ERROR', + ALREADY_LOGGED_IN_ERROR = 'ALREADY_LOGGED_IN_ERROR', + EMAIL_ADDRESS_CONFLICT_ERROR = 'EMAIL_ADDRESS_CONFLICT_ERROR', + INVALID_CREDENTIALS_ERROR = 'INVALID_CREDENTIALS_ERROR', + NATIVE_AUTH_STRATEGY_ERROR = 'NATIVE_AUTH_STRATEGY_ERROR', + MISSING_PASSWORD_ERROR = 'MISSING_PASSWORD_ERROR', + VERIFICATION_TOKEN_INVALID_ERROR = 'VERIFICATION_TOKEN_INVALID_ERROR', + VERIFICATION_TOKEN_EXPIRED_ERROR = 'VERIFICATION_TOKEN_EXPIRED_ERROR', + PASSWORD_ALREADY_SET_ERROR = 'PASSWORD_ALREADY_SET_ERROR', + IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR = 'IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR', + IDENTIFIER_CHANGE_TOKEN_EXPIRED_ERROR = 'IDENTIFIER_CHANGE_TOKEN_EXPIRED_ERROR', + PASSWORD_RESET_TOKEN_INVALID_ERROR = 'PASSWORD_RESET_TOKEN_INVALID_ERROR', + PASSWORD_RESET_TOKEN_EXPIRED_ERROR = 'PASSWORD_RESET_TOKEN_EXPIRED_ERROR', +} + +export type ErrorResult = { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Facet = Node & { __typename?: 'Facet'; id: Scalars['ID']; @@ -963,6 +1051,26 @@ export enum HistoryEntryType { ORDER_COUPON_REMOVED = 'ORDER_COUPON_REMOVED', } +/** + * Retured if the token used to change a Customer's email address is valid, but has + * expired according to the `verificationTokenDuration` setting in the AuthOptions. + */ +export type IdentifierChangeTokenExpiredError = ErrorResult & { + __typename?: 'IdentifierChangeTokenExpiredError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** + * Retured if the token used to change a Customer's email address is either + * invalid or does not match any expected tokens. + */ +export type IdentifierChangeTokenInvalidError = ErrorResult & { + __typename?: 'IdentifierChangeTokenInvalidError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type ImportInfo = { __typename?: 'ImportInfo'; errors?: Maybe>; @@ -984,6 +1092,13 @@ export type IntCustomFieldConfig = CustomField & { step?: Maybe; }; +/** Returned if the user authentication credentials are not valid */ +export type InvalidCredentialsError = ErrorResult & { + __typename?: 'InvalidCredentialsError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + /** * @description * Languages in the form of a ISO 639-1 language code with optional @@ -1334,9 +1449,11 @@ export enum LogicalOperator { OR = 'OR', } -export type LoginResult = { - __typename?: 'LoginResult'; - user: CurrentUser; +/** Retured when attemting to register or verify a customer account without a password, when one is required. */ +export type MissingPasswordError = ErrorResult & { + __typename?: 'MissingPasswordError'; + errorCode: ErrorCode; + message: Scalars['String']; }; export type Mutation = { @@ -1345,22 +1462,22 @@ export type Mutation = { * Adds an item to the order. If custom fields are defined on the OrderLine * entity, a third argument 'customFields' will be available. */ - addItemToOrder?: Maybe; + addItemToOrder: UpdateOrderItemsResult; /** Remove an OrderLine from the Order */ - removeOrderLine?: Maybe; + removeOrderLine: RemoveOrderItemsResult; /** Remove all OrderLine from the Order */ - removeAllOrderLines?: Maybe; + removeAllOrderLines: RemoveOrderItemsResult; /** * Adjusts an OrderLine. If custom fields are defined on the OrderLine entity, a * third argument 'customFields' of type `OrderLineCustomFieldsInput` will be available. */ - adjustOrderLine?: Maybe; + adjustOrderLine: UpdateOrderItemsResult; /** Applies the given coupon code to the active Order */ - applyCouponCode?: Maybe; + applyCouponCode: ApplyCouponCodeResult; /** Removes the given coupon code from the active Order */ removeCouponCode?: Maybe; /** Transitions an Order to a new state. Valid next states can be found by querying `nextOrderStates` */ - transitionOrderToState?: Maybe; + transitionOrderToState?: Maybe; /** Sets the shipping address for this order */ setOrderShippingAddress?: Maybe; /** Sets the billing address for this order */ @@ -1368,25 +1485,20 @@ export type Mutation = { /** Allows any custom fields to be set for the active order */ setOrderCustomFields?: Maybe; /** Sets the shipping method by id, which can be obtained with the `eligibleShippingMethods` query */ - setOrderShippingMethod?: Maybe; + setOrderShippingMethod: SetOrderShippingMethodResult; /** Add a Payment to the Order */ - addPaymentToOrder?: Maybe; + addPaymentToOrder?: Maybe; /** Set the Customer for the Order. Required only if the Customer is not currently logged in */ - setCustomerForOrder?: Maybe; + setCustomerForOrder?: Maybe; /** * Authenticates the user using the native authentication strategy. This mutation * is an alias for `authenticate({ native: { ... }})` */ - login: LoginResult; + login: NativeAuthenticationResult; /** Authenticates the user using a named authentication strategy */ - authenticate: LoginResult; + authenticate: AuthenticationResult; /** End the current authenticated session */ - logout: Scalars['Boolean']; - /** - * Regenerate and send a verification token for a new Customer registration. Only - * applicable if `authOptions.requireVerification` is set to true. - */ - refreshCustomerVerification: Scalars['Boolean']; + logout: Success; /** * Register a Customer account with the given credentials. There are three possible registration flows: * @@ -1408,7 +1520,12 @@ export type Mutation = { * 3. The Customer _must_ be registered _with_ a password. No further action is * needed - the Customer is able to authenticate immediately. */ - registerCustomerAccount: Scalars['Boolean']; + registerCustomerAccount: RegisterCustomerAccountResult; + /** + * Regenerate and send a verification token for a new Customer registration. Only + * applicable if `authOptions.requireVerification` is set to true. + */ + refreshCustomerVerification: RefreshCustomerVerificationResult; /** Update an existing Customer */ updateCustomer: Customer; /** Create a new Customer Address */ @@ -1416,7 +1533,7 @@ export type Mutation = { /** Update an existing Address */ updateCustomerAddress: Address; /** Delete an existing Address */ - deleteCustomerAddress: Scalars['Boolean']; + deleteCustomerAddress: Success; /** * Verify a Customer email address with the token sent to that address. Only * applicable if `authOptions.requireVerification` is set to true. @@ -1424,25 +1541,25 @@ export type Mutation = { * If the Customer was not registered with a password in the `registerCustomerAccount` mutation, the a password _must_ be * provided here. */ - verifyCustomerAccount: LoginResult; + verifyCustomerAccount: VerifyCustomerAccountResult; /** Update the password of the active Customer */ - updateCustomerPassword?: Maybe; + updateCustomerPassword: UpdateCustomerPasswordResult; /** * Request to update the emailAddress of the active Customer. If `authOptions.requireVerification` is enabled * (as is the default), then the `identifierChangeToken` will be assigned to the current User and * a IdentifierChangeRequestEvent will be raised. This can then be used e.g. by the EmailPlugin to email * that verification token to the Customer, which is then used to verify the change of email address. */ - requestUpdateCustomerEmailAddress?: Maybe; + requestUpdateCustomerEmailAddress: RequestUpdateCustomerEmailAddressResult; /** * Confirm the update of the emailAddress with the provided token, which has been generated by the * `requestUpdateCustomerEmailAddress` mutation. */ - updateCustomerEmailAddress?: Maybe; + updateCustomerEmailAddress: UpdateCustomerEmailAddressResult; /** Requests a password reset email to be sent */ - requestPasswordReset?: Maybe; + requestPasswordReset?: Maybe; /** Resets a Customer's password based on the provided token */ - resetPassword: LoginResult; + resetPassword: ResetPasswordResult; }; export type MutationAddItemToOrderArgs = { @@ -1506,14 +1623,14 @@ export type MutationAuthenticateArgs = { rememberMe?: Maybe; }; -export type MutationRefreshCustomerVerificationArgs = { - emailAddress: Scalars['String']; -}; - export type MutationRegisterCustomerAccountArgs = { input: RegisterCustomerInput; }; +export type MutationRefreshCustomerVerificationArgs = { + emailAddress: Scalars['String']; +}; + export type MutationUpdateCustomerArgs = { input: UpdateCustomerInput; }; @@ -1558,11 +1675,27 @@ export type MutationResetPasswordArgs = { password: Scalars['String']; }; +export type NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError; + export type NativeAuthInput = { username: Scalars['String']; password: Scalars['String']; }; +/** Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured. */ +export type NativeAuthStrategyError = ErrorResult & { + __typename?: 'NativeAuthStrategyError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Retured when attemting to set a negative OrderLine quantity. */ +export type NegativeQuantityError = ErrorResult & { + __typename?: 'NegativeQuantityError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Node = { id: Scalars['ID']; }; @@ -1663,6 +1796,14 @@ export type OrderItem = Node & { refundId?: Maybe; }; +/** Retured when the maximum order size limit has been reached. */ +export type OrderLimitError = ErrorResult & { + __typename?: 'OrderLimitError'; + errorCode: ErrorCode; + message: Scalars['String']; + maxItems: Scalars['Int']; +}; + export type OrderLine = Node & { __typename?: 'OrderLine'; id: Scalars['ID']; @@ -1693,6 +1834,20 @@ export type OrderListOptions = { filter?: Maybe; }; +/** Returned when attempting to modify the contents of an Order that is not in the `AddingItems` state. */ +export type OrderModificationError = ErrorResult & { + __typename?: 'OrderModificationError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned when attempting to add a Payment to an Order that is not in the `ArrangingPayment` state. */ +export type OrderPaymentStateError = ErrorResult & { + __typename?: 'OrderPaymentStateError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type OrderProcessState = { __typename?: 'OrderProcessState'; name: Scalars['String']; @@ -1713,11 +1868,48 @@ export type OrderSortParameter = { total?: Maybe; }; +/** Returned if there is an error in transitioning the Order state */ +export type OrderStateTransitionError = ErrorResult & { + __typename?: 'OrderStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type PaginatedList = { items: Array; totalItems: Scalars['Int']; }; +/** Retured when attemting to verify a customer account with a password, when a password has already been set. */ +export type PasswordAlreadySetError = ErrorResult & { + __typename?: 'PasswordAlreadySetError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** + * Retured if the token used to reset a Customer's password is valid, but has + * expired according to the `verificationTokenDuration` setting in the AuthOptions. + */ +export type PasswordResetTokenExpiredError = ErrorResult & { + __typename?: 'PasswordResetTokenExpiredError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** + * Retured if the token used to reset a Customer's password is either + * invalid or does not match any expected tokens. + */ +export type PasswordResetTokenInvalidError = ErrorResult & { + __typename?: 'PasswordResetTokenInvalidError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Payment = Node & { __typename?: 'Payment'; id: Scalars['ID']; @@ -1732,6 +1924,22 @@ export type Payment = Node & { metadata?: Maybe; }; +/** Returned when a Payment is declined by the payment provider. */ +export type PaymentDeclinedError = ErrorResult & { + __typename?: 'PaymentDeclinedError'; + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + +/** Returned when a Payment fails due to an error. */ +export type PaymentFailedError = ErrorResult & { + __typename?: 'PaymentFailedError'; + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + /** Passed as input to the `addPaymentToOrder` mutation. */ export type PaymentInput = { /** This field should correspond to the `code` property of a PaymentMethodHandler. */ @@ -2075,6 +2283,8 @@ export type QuerySearchArgs = { input: SearchInput; }; +export type RefreshCustomerVerificationResult = Success | NativeAuthStrategyError; + export type Refund = Node & { __typename?: 'Refund'; id: Scalars['ID']; @@ -2093,6 +2303,8 @@ export type Refund = Node & { metadata?: Maybe; }; +export type RegisterCustomerAccountResult = Success | MissingPasswordError | NativeAuthStrategyError; + export type RegisterCustomerInput = { emailAddress: Scalars['String']; title?: Maybe; @@ -2102,6 +2314,22 @@ export type RegisterCustomerInput = { password?: Maybe; }; +export type RemoveOrderItemsResult = Order | OrderModificationError; + +export type RequestPasswordResetResult = Success | NativeAuthStrategyError; + +export type RequestUpdateCustomerEmailAddressResult = + | Success + | InvalidCredentialsError + | EmailAddressConflictError + | NativeAuthStrategyError; + +export type ResetPasswordResult = + | CurrentUser + | PasswordResetTokenInvalidError + | PasswordResetTokenExpiredError + | NativeAuthStrategyError; + export type Return = Node & StockMovement & { __typename?: 'Return'; @@ -2215,6 +2443,10 @@ export type ServerConfig = { customFieldConfig: CustomFields; }; +export type SetCustomerForOrderResult = Order | AlreadyLoggedInError | EmailAddressConflictError; + +export type SetOrderShippingMethodResult = Order | OrderModificationError; + export type ShippingMethod = Node & { __typename?: 'ShippingMethod'; id: Scalars['ID']; @@ -2313,6 +2545,12 @@ export type StringOperators = { contains?: Maybe; }; +/** Indicates that an operation succeeded, where we do not want to return any more specific information. */ +export type Success = { + __typename?: 'Success'; + success: Scalars['Boolean']; +}; + export type TaxCategory = Node & { __typename?: 'TaxCategory'; id: Scalars['ID']; @@ -2340,6 +2578,8 @@ export type TaxRateList = PaginatedList & { totalItems: Scalars['Int']; }; +export type TransitionOrderToStateResult = Order | OrderStateTransitionError; + export type UpdateAddressInput = { id: Scalars['ID']; fullName?: Maybe; @@ -2356,6 +2596,12 @@ export type UpdateAddressInput = { customFields?: Maybe; }; +export type UpdateCustomerEmailAddressResult = + | Success + | IdentifierChangeTokenInvalidError + | IdentifierChangeTokenExpiredError + | NativeAuthStrategyError; + export type UpdateCustomerInput = { title?: Maybe; firstName?: Maybe; @@ -2364,10 +2610,14 @@ export type UpdateCustomerInput = { customFields?: Maybe; }; +export type UpdateCustomerPasswordResult = Success | InvalidCredentialsError | NativeAuthStrategyError; + export type UpdateOrderInput = { customFields?: Maybe; }; +export type UpdateOrderItemsResult = Order | OrderModificationError | OrderLimitError | NegativeQuantityError; + export type User = Node & { __typename?: 'User'; id: Scalars['ID']; @@ -2381,6 +2631,34 @@ export type User = Node & { customFields?: Maybe; }; +/** + * Returned if the verification token (used to verify a Customer's email address) is valid, but has + * expired according to the `verificationTokenDuration` setting in the AuthOptions. + */ +export type VerificationTokenExpiredError = ErrorResult & { + __typename?: 'VerificationTokenExpiredError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** + * Retured if the verification token (used to verify a Customer's email address) is either + * invalid or does not match any expected tokens. + */ +export type VerificationTokenInvalidError = ErrorResult & { + __typename?: 'VerificationTokenInvalidError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export type VerifyCustomerAccountResult = + | CurrentUser + | VerificationTokenInvalidError + | VerificationTokenExpiredError + | MissingPasswordError + | PasswordAlreadySetError + | NativeAuthStrategyError; + export type Zone = Node & { __typename?: 'Zone'; id: Scalars['ID']; diff --git a/packages/common/src/generated-types.ts b/packages/common/src/generated-types.ts index bec18691b2..faa1c340f0 100644 --- a/packages/common/src/generated-types.ts +++ b/packages/common/src/generated-types.ts @@ -1,6 +1,6 @@ // tslint:disable -export type Maybe = T | null; - +export type Maybe = T; +export type Exact = { [K in keyof T]: T[K] }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string | number; @@ -8,11 +8,16 @@ export type Scalars = { Boolean: boolean; Int: number; Float: number; + /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: any; + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any; + /** The `Upload` scalar type represents a file upload. */ Upload: any; }; +export type AddFulfillmentToOrderResult = Fulfillment | EmptyOrderLineSelectionError | ItemsAlreadyFulfilledError; + export type AddNoteToCustomerInput = { id: Scalars['ID']; note: Scalars['String']; @@ -26,7 +31,7 @@ export type AddNoteToOrderInput = { }; export type Address = Node & { - __typename?: 'Address'; + __typename?: 'Address'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -45,7 +50,7 @@ export type Address = Node & { }; export type Adjustment = { - __typename?: 'Adjustment'; + __typename?: 'Adjustment'; adjustmentSource: Scalars['String']; type: AdjustmentType; description: Scalars['String']; @@ -63,7 +68,7 @@ export enum AdjustmentType { } export type Administrator = Node & { - __typename?: 'Administrator'; + __typename?: 'Administrator'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -82,7 +87,7 @@ export type AdministratorFilterParameter = { }; export type AdministratorList = PaginatedList & { - __typename?: 'AdministratorList'; + __typename?: 'AdministratorList'; items: Array; totalItems: Scalars['Int']; }; @@ -103,8 +108,16 @@ export type AdministratorSortParameter = { emailAddress?: Maybe; }; +/** Returned if an attempting to refund an OrderItem which has already been refunded */ +export type AlreadyRefundedError = ErrorResult & { + __typename?: 'AlreadyRefundedError'; + errorCode: ErrorCode; + message: Scalars['String']; + refundId: Scalars['ID']; +}; + export type Asset = Node & { - __typename?: 'Asset'; + __typename?: 'Asset'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -133,7 +146,7 @@ export type AssetFilterParameter = { }; export type AssetList = PaginatedList & { - __typename?: 'AssetList'; + __typename?: 'AssetList'; items: Array; totalItems: Scalars['Int']; }; @@ -175,15 +188,17 @@ export type AuthenticationInput = { }; export type AuthenticationMethod = Node & { - __typename?: 'AuthenticationMethod'; + __typename?: 'AuthenticationMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; strategy: Scalars['String']; }; +export type AuthenticationResult = CurrentUser | InvalidCredentialsError; + export type BooleanCustomFieldConfig = CustomField & { - __typename?: 'BooleanCustomFieldConfig'; + __typename?: 'BooleanCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -197,8 +212,16 @@ export type BooleanOperators = { eq?: Maybe; }; +/** Returned if an attempting to cancel lines from an Order which is still active */ +export type CancelActiveOrderError = ErrorResult & { + __typename?: 'CancelActiveOrderError'; + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + export type Cancellation = Node & StockMovement & { - __typename?: 'Cancellation'; + __typename?: 'Cancellation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -216,8 +239,10 @@ export type CancelOrderInput = { reason?: Maybe; }; +export type CancelOrderResult = Order | EmptyOrderLineSelectionError | QuantityTooGreatError | MultipleOrderError | CancelActiveOrderError | OrderStateTransitionError; + export type Channel = Node & { - __typename?: 'Channel'; + __typename?: 'Channel'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -230,8 +255,20 @@ export type Channel = Node & { pricesIncludeTax: Scalars['Boolean']; }; +/** + * Returned when the default LanguageCode of a Channel is no longer found in the `availableLanguages` + * of the GlobalSettings + */ +export type ChannelDefaultLanguageError = ErrorResult & { + __typename?: 'ChannelDefaultLanguageError'; + errorCode: ErrorCode; + message: Scalars['String']; + language: Scalars['String']; + channelCode: Scalars['String']; +}; + export type Collection = Node & { - __typename?: 'Collection'; + __typename?: 'Collection'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -258,7 +295,7 @@ export type CollectionProductVariantsArgs = { }; export type CollectionBreadcrumb = { - __typename?: 'CollectionBreadcrumb'; + __typename?: 'CollectionBreadcrumb'; id: Scalars['ID']; name: Scalars['String']; slug: Scalars['String']; @@ -276,7 +313,7 @@ export type CollectionFilterParameter = { }; export type CollectionList = PaginatedList & { - __typename?: 'CollectionList'; + __typename?: 'CollectionList'; items: Array; totalItems: Scalars['Int']; }; @@ -299,7 +336,7 @@ export type CollectionSortParameter = { }; export type CollectionTranslation = { - __typename?: 'CollectionTranslation'; + __typename?: 'CollectionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -310,13 +347,13 @@ export type CollectionTranslation = { }; export type ConfigArg = { - __typename?: 'ConfigArg'; + __typename?: 'ConfigArg'; name: Scalars['String']; value: Scalars['String']; }; export type ConfigArgDefinition = { - __typename?: 'ConfigArgDefinition'; + __typename?: 'ConfigArgDefinition'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -331,13 +368,13 @@ export type ConfigArgInput = { }; export type ConfigurableOperation = { - __typename?: 'ConfigurableOperation'; + __typename?: 'ConfigurableOperation'; code: Scalars['String']; args: Array; }; export type ConfigurableOperationDefinition = { - __typename?: 'ConfigurableOperationDefinition'; + __typename?: 'ConfigurableOperationDefinition'; code: Scalars['String']; args: Array; description: Scalars['String']; @@ -349,7 +386,7 @@ export type ConfigurableOperationInput = { }; export type Coordinate = { - __typename?: 'Coordinate'; + __typename?: 'Coordinate'; x: Scalars['Float']; y: Scalars['Float']; }; @@ -360,7 +397,7 @@ export type CoordinateInput = { }; export type Country = Node & { - __typename?: 'Country'; + __typename?: 'Country'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -381,7 +418,7 @@ export type CountryFilterParameter = { }; export type CountryList = PaginatedList & { - __typename?: 'CountryList'; + __typename?: 'CountryList'; items: Array; totalItems: Scalars['Int']; }; @@ -402,7 +439,7 @@ export type CountrySortParameter = { }; export type CountryTranslation = { - __typename?: 'CountryTranslation'; + __typename?: 'CountryTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -443,6 +480,8 @@ export type CreateAssetInput = { file: Scalars['Upload']; }; +export type CreateAssetResult = Asset | MimeTypeError; + export type CreateChannelInput = { code: Scalars['String']; token: Scalars['String']; @@ -453,6 +492,8 @@ export type CreateChannelInput = { defaultShippingZoneId: Scalars['ID']; }; +export type CreateChannelResult = Channel | LanguageNotAvailableError; + export type CreateCollectionInput = { isPrivate?: Maybe; featuredAssetId?: Maybe; @@ -491,6 +532,8 @@ export type CreateCustomerInput = { customFields?: Maybe; }; +export type CreateCustomerResult = Customer | EmailAddressConflictError; + export type CreateFacetInput = { code: Scalars['String']; isPrivate: Scalars['Boolean']; @@ -570,6 +613,8 @@ export type CreatePromotionInput = { actions: Array; }; +export type CreatePromotionResult = Promotion | MissingConditionsError; + export type CreateRoleInput = { code: Scalars['String']; description: Scalars['String']; @@ -927,14 +972,14 @@ export enum CurrencyCode { } export type CurrentUser = { - __typename?: 'CurrentUser'; + __typename?: 'CurrentUser'; id: Scalars['ID']; identifier: Scalars['String']; channels: Array; }; export type CurrentUserChannel = { - __typename?: 'CurrentUserChannel'; + __typename?: 'CurrentUserChannel'; id: Scalars['ID']; token: Scalars['String']; code: Scalars['String']; @@ -942,7 +987,7 @@ export type CurrentUserChannel = { }; export type Customer = Node & { - __typename?: 'Customer'; + __typename?: 'Customer'; groups: Array; history: HistoryEntryList; id: Scalars['ID']; @@ -980,7 +1025,7 @@ export type CustomerFilterParameter = { }; export type CustomerGroup = Node & { - __typename?: 'CustomerGroup'; + __typename?: 'CustomerGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1000,7 +1045,7 @@ export type CustomerGroupFilterParameter = { }; export type CustomerGroupList = PaginatedList & { - __typename?: 'CustomerGroupList'; + __typename?: 'CustomerGroupList'; items: Array; totalItems: Scalars['Int']; }; @@ -1020,7 +1065,7 @@ export type CustomerGroupSortParameter = { }; export type CustomerList = PaginatedList & { - __typename?: 'CustomerList'; + __typename?: 'CustomerList'; items: Array; totalItems: Scalars['Int']; }; @@ -1056,7 +1101,7 @@ export type CustomField = { export type CustomFieldConfig = StringCustomFieldConfig | LocaleStringCustomFieldConfig | IntCustomFieldConfig | FloatCustomFieldConfig | BooleanCustomFieldConfig | DateTimeCustomFieldConfig; export type CustomFields = { - __typename?: 'CustomFields'; + __typename?: 'CustomFields'; Address: Array; Collection: Array; Customer: Array; @@ -1091,7 +1136,7 @@ export type DateRange = { * See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes */ export type DateTimeCustomFieldConfig = CustomField & { - __typename?: 'DateTimeCustomFieldConfig'; + __typename?: 'DateTimeCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1105,7 +1150,7 @@ export type DateTimeCustomFieldConfig = CustomField & { }; export type DeletionResponse = { - __typename?: 'DeletionResponse'; + __typename?: 'DeletionResponse'; result: DeletionResult; message?: Maybe; }; @@ -1117,8 +1162,53 @@ export enum DeletionResult { NOT_DELETED = 'NOT_DELETED' } +/** Retured when attemting to create a Customer with an email address already registered to an existing User. */ +export type EmailAddressConflictError = ErrorResult & { + __typename?: 'EmailAddressConflictError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if no OrderLines have been specified for the operation */ +export type EmptyOrderLineSelectionError = ErrorResult & { + __typename?: 'EmptyOrderLineSelectionError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export enum ErrorCode { + UNKNOWN_ERROR = 'UNKNOWN_ERROR', + MIME_TYPE_ERROR = 'MIME_TYPE_ERROR', + INVALID_CREDENTIALS_ERROR = 'INVALID_CREDENTIALS_ERROR', + NATIVE_AUTH_STRATEGY_ERROR = 'NATIVE_AUTH_STRATEGY_ERROR', + LANGUAGE_NOT_AVAILABLE_ERROR = 'LANGUAGE_NOT_AVAILABLE_ERROR', + EMAIL_ADDRESS_CONFLICT_ERROR = 'EMAIL_ADDRESS_CONFLICT_ERROR', + CHANNEL_DEFAULT_LANGUAGE_ERROR = 'CHANNEL_DEFAULT_LANGUAGE_ERROR', + SETTLE_PAYMENT_ERROR = 'SETTLE_PAYMENT_ERROR', + PAYMENT_STATE_TRANSITION_ERROR = 'PAYMENT_STATE_TRANSITION_ERROR', + ORDER_STATE_TRANSITION_ERROR = 'ORDER_STATE_TRANSITION_ERROR', + EMPTY_ORDER_LINE_SELECTION_ERROR = 'EMPTY_ORDER_LINE_SELECTION_ERROR', + ITEMS_ALREADY_FULFILLED_ERROR = 'ITEMS_ALREADY_FULFILLED_ERROR', + QUANTITY_TOO_GREAT_ERROR = 'QUANTITY_TOO_GREAT_ERROR', + MULTIPLE_ORDER_ERROR = 'MULTIPLE_ORDER_ERROR', + CANCEL_ACTIVE_ORDER_ERROR = 'CANCEL_ACTIVE_ORDER_ERROR', + NOTHING_TO_REFUND_ERROR = 'NOTHING_TO_REFUND_ERROR', + PAYMENT_ORDER_MISMATCH_ERROR = 'PAYMENT_ORDER_MISMATCH_ERROR', + REFUND_ORDER_STATE_ERROR = 'REFUND_ORDER_STATE_ERROR', + ALREADY_REFUNDED_ERROR = 'ALREADY_REFUNDED_ERROR', + REFUND_STATE_TRANSITION_ERROR = 'REFUND_STATE_TRANSITION_ERROR', + FULFILLMENT_STATE_TRANSITION_ERROR = 'FULFILLMENT_STATE_TRANSITION_ERROR', + PRODUCT_OPTION_IN_USE_ERROR = 'PRODUCT_OPTION_IN_USE_ERROR', + MISSING_CONDITIONS_ERROR = 'MISSING_CONDITIONS_ERROR' +} + +export type ErrorResult = { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Facet = Node & { - __typename?: 'Facet'; + __typename?: 'Facet'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1141,7 +1231,7 @@ export type FacetFilterParameter = { }; export type FacetList = PaginatedList & { - __typename?: 'FacetList'; + __typename?: 'FacetList'; items: Array; totalItems: Scalars['Int']; }; @@ -1162,7 +1252,7 @@ export type FacetSortParameter = { }; export type FacetTranslation = { - __typename?: 'FacetTranslation'; + __typename?: 'FacetTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1178,7 +1268,7 @@ export type FacetTranslationInput = { }; export type FacetValue = Node & { - __typename?: 'FacetValue'; + __typename?: 'FacetValue'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1195,13 +1285,13 @@ export type FacetValue = Node & { * by the search, and in what quantity. */ export type FacetValueResult = { - __typename?: 'FacetValueResult'; + __typename?: 'FacetValueResult'; facetValue: FacetValue; count: Scalars['Int']; }; export type FacetValueTranslation = { - __typename?: 'FacetValueTranslation'; + __typename?: 'FacetValueTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1217,7 +1307,7 @@ export type FacetValueTranslationInput = { }; export type FloatCustomFieldConfig = CustomField & { - __typename?: 'FloatCustomFieldConfig'; + __typename?: 'FloatCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1231,7 +1321,7 @@ export type FloatCustomFieldConfig = CustomField & { }; export type Fulfillment = Node & { - __typename?: 'Fulfillment'; + __typename?: 'Fulfillment'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1242,6 +1332,16 @@ export type Fulfillment = Node & { trackingCode?: Maybe; }; +/** Returned when there is an error in transitioning the Fulfillment state */ +export type FulfillmentStateTransitionError = ErrorResult & { + __typename?: 'FulfillmentStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type FulfillOrderInput = { lines: Array; method: Scalars['String']; @@ -1249,7 +1349,7 @@ export type FulfillOrderInput = { }; export type GlobalSettings = { - __typename?: 'GlobalSettings'; + __typename?: 'GlobalSettings'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1260,7 +1360,7 @@ export type GlobalSettings = { }; export type HistoryEntry = Node & { - __typename?: 'HistoryEntry'; + __typename?: 'HistoryEntry'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1278,7 +1378,7 @@ export type HistoryEntryFilterParameter = { }; export type HistoryEntryList = PaginatedList & { - __typename?: 'HistoryEntryList'; + __typename?: 'HistoryEntryList'; items: Array; totalItems: Scalars['Int']; }; @@ -1323,14 +1423,14 @@ export enum HistoryEntryType { } export type ImportInfo = { - __typename?: 'ImportInfo'; + __typename?: 'ImportInfo'; errors?: Maybe>; processed: Scalars['Int']; imported: Scalars['Int']; }; export type IntCustomFieldConfig = CustomField & { - __typename?: 'IntCustomFieldConfig'; + __typename?: 'IntCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1343,8 +1443,22 @@ export type IntCustomFieldConfig = CustomField & { step?: Maybe; }; +/** Returned if the user authentication credentials are not valid */ +export type InvalidCredentialsError = ErrorResult & { + __typename?: 'InvalidCredentialsError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if the specified items are already part of a Fulfillment */ +export type ItemsAlreadyFulfilledError = ErrorResult & { + __typename?: 'ItemsAlreadyFulfilledError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Job = Node & { - __typename?: 'Job'; + __typename?: 'Job'; id: Scalars['ID']; createdAt: Scalars['DateTime']; startedAt?: Maybe; @@ -1371,7 +1485,7 @@ export type JobFilterParameter = { }; export type JobList = PaginatedList & { - __typename?: 'JobList'; + __typename?: 'JobList'; items: Array; totalItems: Scalars['Int']; }; @@ -1384,7 +1498,7 @@ export type JobListOptions = { }; export type JobQueue = { - __typename?: 'JobQueue'; + __typename?: 'JobQueue'; name: Scalars['String']; running: Scalars['Boolean']; }; @@ -1740,8 +1854,16 @@ export enum LanguageCode { zu = 'zu' } +/** Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings */ +export type LanguageNotAvailableError = ErrorResult & { + __typename?: 'LanguageNotAvailableError'; + errorCode: ErrorCode; + message: Scalars['String']; + languageCode: Scalars['String']; +}; + export type LocaleStringCustomFieldConfig = CustomField & { - __typename?: 'LocaleStringCustomFieldConfig'; + __typename?: 'LocaleStringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1754,7 +1876,7 @@ export type LocaleStringCustomFieldConfig = CustomField & { }; export type LocalizedString = { - __typename?: 'LocalizedString'; + __typename?: 'LocalizedString'; languageCode: LanguageCode; value: Scalars['String']; }; @@ -1764,9 +1886,19 @@ export enum LogicalOperator { OR = 'OR' } -export type LoginResult = { - __typename?: 'LoginResult'; - user: CurrentUser; +export type MimeTypeError = ErrorResult & { + __typename?: 'MimeTypeError'; + errorCode: ErrorCode; + message: Scalars['String']; + fileName: Scalars['String']; + mimeType: Scalars['String']; +}; + +/** Returned if a PromotionCondition has neither a couponCode nor any conditions set */ +export type MissingConditionsError = ErrorResult & { + __typename?: 'MissingConditionsError'; + errorCode: ErrorCode; + message: Scalars['String']; }; export type MoveCollectionInput = { @@ -1775,8 +1907,15 @@ export type MoveCollectionInput = { index: Scalars['Int']; }; +/** Returned if an operation has specified OrderLines from multiple Orders */ +export type MultipleOrderError = ErrorResult & { + __typename?: 'MultipleOrderError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Mutation = { - __typename?: 'Mutation'; + __typename?: 'Mutation'; /** Create a new Administrator */ createAdministrator: Administrator; /** Update an existing Administrator */ @@ -1786,7 +1925,7 @@ export type Mutation = { /** Assign a Role to an Administrator */ assignRoleToAdministrator: Administrator; /** Create a new Asset */ - createAssets: Array; + createAssets: Array; /** Update an existing Asset */ updateAsset: Asset; /** Delete an Asset */ @@ -1797,14 +1936,14 @@ export type Mutation = { * Authenticates the user using the native authentication strategy. This mutation * is an alias for `authenticate({ native: { ... }})` */ - login: LoginResult; + login: NativeAuthenticationResult; /** Authenticates the user using a named authentication strategy */ - authenticate: LoginResult; - logout: Scalars['Boolean']; + authenticate: AuthenticationResult; + logout: Success; /** Create a new Channel */ - createChannel: Channel; + createChannel: CreateChannelResult; /** Update an existing Channel */ - updateChannel: Channel; + updateChannel: UpdateChannelResult; /** Delete a Channel */ deleteChannel: DeletionResponse; /** Create a new Collection */ @@ -1832,9 +1971,9 @@ export type Mutation = { /** Remove Customers from a CustomerGroup */ removeCustomersFromGroup: CustomerGroup; /** Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer. */ - createCustomer: Customer; + createCustomer: CreateCustomerResult; /** Update an existing Customer */ - updateCustomer: Customer; + updateCustomer: UpdateCustomerResult; /** Delete a Customer */ deleteCustomer: DeletionResponse; /** Create a new Address and associate it with the Customer specified by customerId */ @@ -1842,7 +1981,7 @@ export type Mutation = { /** Update an existing Address */ updateCustomerAddress: Address; /** Update an existing Address */ - deleteCustomerAddress: Scalars['Boolean']; + deleteCustomerAddress: Success; addNoteToCustomer: Customer; updateCustomerNote: HistoryEntry; deleteCustomerNote: DeletionResponse; @@ -1858,20 +1997,20 @@ export type Mutation = { updateFacetValues: Array; /** Delete one or more FacetValues */ deleteFacetValues: Array; - updateGlobalSettings: GlobalSettings; + updateGlobalSettings: UpdateGlobalSettingsResult; importProducts?: Maybe; /** Remove all settled jobs in the given queues olfer than the given date. Returns the number of jobs deleted. */ removeSettledJobs: Scalars['Int']; - settlePayment: Payment; - fulfillOrder: Fulfillment; - cancelOrder: Order; - refundOrder: Refund; - settleRefund: Refund; + settlePayment: SettlePaymentResult; + addFulfillmentToOrder: AddFulfillmentToOrderResult; + cancelOrder: CancelOrderResult; + refundOrder: RefundOrderResult; + settleRefund: SettleRefundResult; addNoteToOrder: Order; updateOrderNote: HistoryEntry; deleteOrderNote: DeletionResponse; - transitionOrderToState?: Maybe; - transitionFulfillmentToState: Fulfillment; + transitionOrderToState?: Maybe; + transitionFulfillmentToState: TransitionFulfillmentToStateResult; setOrderCustomFields?: Maybe; /** Update an existing PaymentMethod */ updatePaymentMethod: PaymentMethod; @@ -1893,7 +2032,7 @@ export type Mutation = { /** Add an OptionGroup to a Product */ addOptionGroupToProduct: Product; /** Remove an OptionGroup from a Product */ - removeOptionGroupFromProduct: Product; + removeOptionGroupFromProduct: RemoveOptionGroupFromProductResult; /** Create a set of ProductVariants based on the OptionGroups assigned to the given Product */ createProductVariants: Array>; /** Update existing ProductVariants */ @@ -1904,8 +2043,8 @@ export type Mutation = { assignProductsToChannel: Array; /** Removes Products from the specified Channel */ removeProductsFromChannel: Array; - createPromotion: Promotion; - updatePromotion: Promotion; + createPromotion: CreatePromotionResult; + updatePromotion: UpdatePromotionResult; deletePromotion: DeletionResponse; /** Create a new Role */ createRole: Role; @@ -2177,7 +2316,7 @@ export type MutationSettlePaymentArgs = { }; -export type MutationFulfillOrderArgs = { +export type MutationAddFulfillmentToOrderArgs = { input: FulfillOrderInput; }; @@ -2407,15 +2546,31 @@ export type MutationRemoveMembersFromZoneArgs = { memberIds: Array; }; +export type NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError; + export type NativeAuthInput = { username: Scalars['String']; password: Scalars['String']; }; +/** Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured. */ +export type NativeAuthStrategyError = ErrorResult & { + __typename?: 'NativeAuthStrategyError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Node = { id: Scalars['ID']; }; +/** Returned if an attempting to refund an Order but neither items nor shipping refund was specified */ +export type NothingToRefundError = ErrorResult & { + __typename?: 'NothingToRefundError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type NumberOperators = { eq?: Maybe; lt?: Maybe; @@ -2431,7 +2586,7 @@ export type NumberRange = { }; export type Order = Node & { - __typename?: 'Order'; + __typename?: 'Order'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -2471,7 +2626,7 @@ export type OrderHistoryArgs = { }; export type OrderAddress = { - __typename?: 'OrderAddress'; + __typename?: 'OrderAddress'; fullName?: Maybe; company?: Maybe; streetLine1?: Maybe; @@ -2500,7 +2655,7 @@ export type OrderFilterParameter = { }; export type OrderItem = Node & { - __typename?: 'OrderItem'; + __typename?: 'OrderItem'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2515,7 +2670,7 @@ export type OrderItem = Node & { }; export type OrderLine = Node & { - __typename?: 'OrderLine'; + __typename?: 'OrderLine'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2537,7 +2692,7 @@ export type OrderLineInput = { }; export type OrderList = PaginatedList & { - __typename?: 'OrderList'; + __typename?: 'OrderList'; items: Array; totalItems: Scalars['Int']; }; @@ -2550,7 +2705,7 @@ export type OrderListOptions = { }; export type OrderProcessState = { - __typename?: 'OrderProcessState'; + __typename?: 'OrderProcessState'; name: Scalars['String']; to: Array; }; @@ -2569,13 +2724,23 @@ export type OrderSortParameter = { total?: Maybe; }; +/** Returned if there is an error in transitioning the Order state */ +export type OrderStateTransitionError = ErrorResult & { + __typename?: 'OrderStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type PaginatedList = { items: Array; totalItems: Scalars['Int']; }; export type Payment = Node & { - __typename?: 'Payment'; + __typename?: 'Payment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2589,7 +2754,7 @@ export type Payment = Node & { }; export type PaymentMethod = Node & { - __typename?: 'PaymentMethod'; + __typename?: 'PaymentMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2607,7 +2772,7 @@ export type PaymentMethodFilterParameter = { }; export type PaymentMethodList = PaginatedList & { - __typename?: 'PaymentMethodList'; + __typename?: 'PaymentMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -2626,6 +2791,23 @@ export type PaymentMethodSortParameter = { code?: Maybe; }; +/** Returned if an attempting to refund a Payment against OrderLines from a different Order */ +export type PaymentOrderMismatchError = ErrorResult & { + __typename?: 'PaymentOrderMismatchError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Payment state */ +export type PaymentStateTransitionError = ErrorResult & { + __typename?: 'PaymentStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + /** * " * @description @@ -2671,13 +2853,13 @@ export enum Permission { /** The price range where the result has more than one price */ export type PriceRange = { - __typename?: 'PriceRange'; + __typename?: 'PriceRange'; min: Scalars['Int']; max: Scalars['Int']; }; export type Product = Node & { - __typename?: 'Product'; + __typename?: 'Product'; enabled: Scalars['Boolean']; channels: Array; id: Scalars['ID']; @@ -2708,7 +2890,7 @@ export type ProductFilterParameter = { }; export type ProductList = PaginatedList & { - __typename?: 'ProductList'; + __typename?: 'ProductList'; items: Array; totalItems: Scalars['Int']; }; @@ -2721,7 +2903,7 @@ export type ProductListOptions = { }; export type ProductOption = Node & { - __typename?: 'ProductOption'; + __typename?: 'ProductOption'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2735,7 +2917,7 @@ export type ProductOption = Node & { }; export type ProductOptionGroup = Node & { - __typename?: 'ProductOptionGroup'; + __typename?: 'ProductOptionGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2748,7 +2930,7 @@ export type ProductOptionGroup = Node & { }; export type ProductOptionGroupTranslation = { - __typename?: 'ProductOptionGroupTranslation'; + __typename?: 'ProductOptionGroupTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2763,8 +2945,16 @@ export type ProductOptionGroupTranslationInput = { customFields?: Maybe; }; +export type ProductOptionInUseError = ErrorResult & { + __typename?: 'ProductOptionInUseError'; + errorCode: ErrorCode; + message: Scalars['String']; + optionGroupCode: Scalars['String']; + productVariantCount: Scalars['Int']; +}; + export type ProductOptionTranslation = { - __typename?: 'ProductOptionTranslation'; + __typename?: 'ProductOptionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2789,7 +2979,7 @@ export type ProductSortParameter = { }; export type ProductTranslation = { - __typename?: 'ProductTranslation'; + __typename?: 'ProductTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2809,7 +2999,7 @@ export type ProductTranslationInput = { }; export type ProductVariant = Node & { - __typename?: 'ProductVariant'; + __typename?: 'ProductVariant'; enabled: Scalars['Boolean']; stockOnHand: Scalars['Int']; trackInventory: Scalars['Boolean']; @@ -2857,7 +3047,7 @@ export type ProductVariantFilterParameter = { }; export type ProductVariantList = PaginatedList & { - __typename?: 'ProductVariantList'; + __typename?: 'ProductVariantList'; items: Array; totalItems: Scalars['Int']; }; @@ -2882,7 +3072,7 @@ export type ProductVariantSortParameter = { }; export type ProductVariantTranslation = { - __typename?: 'ProductVariantTranslation'; + __typename?: 'ProductVariantTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2898,7 +3088,7 @@ export type ProductVariantTranslationInput = { }; export type Promotion = Node & { - __typename?: 'Promotion'; + __typename?: 'Promotion'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2924,7 +3114,7 @@ export type PromotionFilterParameter = { }; export type PromotionList = PaginatedList & { - __typename?: 'PromotionList'; + __typename?: 'PromotionList'; items: Array; totalItems: Scalars['Int']; }; @@ -2947,8 +3137,15 @@ export type PromotionSortParameter = { name?: Maybe; }; +/** Returned if the specified quantity of an OrderLine is greater than the number of items in that line */ +export type QuantityTooGreatError = ErrorResult & { + __typename?: 'QuantityTooGreatError'; + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Query = { - __typename?: 'Query'; + __typename?: 'Query'; administrators: AdministratorList; administrator?: Maybe; /** Get a list of Assets */ @@ -3211,7 +3408,7 @@ export type QueryZoneArgs = { }; export type Refund = Node & { - __typename?: 'Refund'; + __typename?: 'Refund'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3236,13 +3433,35 @@ export type RefundOrderInput = { reason?: Maybe; }; +export type RefundOrderResult = Refund | QuantityTooGreatError | NothingToRefundError | OrderStateTransitionError | MultipleOrderError | PaymentOrderMismatchError | RefundOrderStateError | AlreadyRefundedError | RefundStateTransitionError; + +/** Returned if an attempting to refund an Order which is not in the expected state */ +export type RefundOrderStateError = ErrorResult & { + __typename?: 'RefundOrderStateError'; + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Refund state */ +export type RefundStateTransitionError = ErrorResult & { + __typename?: 'RefundStateTransitionError'; + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + +export type RemoveOptionGroupFromProductResult = Product | ProductOptionInUseError; + export type RemoveProductsFromChannelInput = { productIds: Array; channelId: Scalars['ID']; }; export type Return = Node & StockMovement & { - __typename?: 'Return'; + __typename?: 'Return'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3253,7 +3472,7 @@ export type Return = Node & StockMovement & { }; export type Role = Node & { - __typename?: 'Role'; + __typename?: 'Role'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3271,7 +3490,7 @@ export type RoleFilterParameter = { }; export type RoleList = PaginatedList & { - __typename?: 'RoleList'; + __typename?: 'RoleList'; items: Array; totalItems: Scalars['Int']; }; @@ -3292,7 +3511,7 @@ export type RoleSortParameter = { }; export type Sale = Node & StockMovement & { - __typename?: 'Sale'; + __typename?: 'Sale'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3315,19 +3534,19 @@ export type SearchInput = { }; export type SearchReindexResponse = { - __typename?: 'SearchReindexResponse'; + __typename?: 'SearchReindexResponse'; success: Scalars['Boolean']; }; export type SearchResponse = { - __typename?: 'SearchResponse'; + __typename?: 'SearchResponse'; items: Array; totalItems: Scalars['Int']; facetValues: Array; }; export type SearchResult = { - __typename?: 'SearchResult'; + __typename?: 'SearchResult'; enabled: Scalars['Boolean']; /** An array of ids of the Collections in which this result appears */ channelIds: Array; @@ -3356,7 +3575,7 @@ export type SearchResult = { }; export type SearchResultAsset = { - __typename?: 'SearchResultAsset'; + __typename?: 'SearchResultAsset'; id: Scalars['ID']; preview: Scalars['String']; focalPoint?: Maybe; @@ -3371,19 +3590,31 @@ export type SearchResultSortParameter = { }; export type ServerConfig = { - __typename?: 'ServerConfig'; + __typename?: 'ServerConfig'; orderProcess: Array; permittedAssetTypes: Array; customFieldConfig: CustomFields; }; +/** Returned if the Payment settlement fails */ +export type SettlePaymentError = ErrorResult & { + __typename?: 'SettlePaymentError'; + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + +export type SettlePaymentResult = Payment | SettlePaymentError | PaymentStateTransitionError | OrderStateTransitionError; + export type SettleRefundInput = { id: Scalars['ID']; transactionId: Scalars['String']; }; +export type SettleRefundResult = Refund | RefundStateTransitionError; + export type ShippingMethod = Node & { - __typename?: 'ShippingMethod'; + __typename?: 'ShippingMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3402,7 +3633,7 @@ export type ShippingMethodFilterParameter = { }; export type ShippingMethodList = PaginatedList & { - __typename?: 'ShippingMethodList'; + __typename?: 'ShippingMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -3415,7 +3646,7 @@ export type ShippingMethodListOptions = { }; export type ShippingMethodQuote = { - __typename?: 'ShippingMethodQuote'; + __typename?: 'ShippingMethodQuote'; id: Scalars['ID']; price: Scalars['Int']; priceWithTax: Scalars['Int']; @@ -3433,7 +3664,7 @@ export type ShippingMethodSortParameter = { /** The price value where the result has a single price */ export type SinglePrice = { - __typename?: 'SinglePrice'; + __typename?: 'SinglePrice'; value: Scalars['Int']; }; @@ -3443,7 +3674,7 @@ export enum SortOrder { } export type StockAdjustment = Node & StockMovement & { - __typename?: 'StockAdjustment'; + __typename?: 'StockAdjustment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3464,7 +3695,7 @@ export type StockMovement = { export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return; export type StockMovementList = { - __typename?: 'StockMovementList'; + __typename?: 'StockMovementList'; items: Array; totalItems: Scalars['Int']; }; @@ -3483,7 +3714,7 @@ export enum StockMovementType { } export type StringCustomFieldConfig = CustomField & { - __typename?: 'StringCustomFieldConfig'; + __typename?: 'StringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -3497,7 +3728,7 @@ export type StringCustomFieldConfig = CustomField & { }; export type StringFieldOption = { - __typename?: 'StringFieldOption'; + __typename?: 'StringFieldOption'; value: Scalars['String']; label?: Maybe>; }; @@ -3507,8 +3738,14 @@ export type StringOperators = { contains?: Maybe; }; +/** Indicates that an operation succeeded, where we do not want to return any more specific information. */ +export type Success = { + __typename?: 'Success'; + success: Scalars['Boolean']; +}; + export type TaxCategory = Node & { - __typename?: 'TaxCategory'; + __typename?: 'TaxCategory'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3516,7 +3753,7 @@ export type TaxCategory = Node & { }; export type TaxRate = Node & { - __typename?: 'TaxRate'; + __typename?: 'TaxRate'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3537,7 +3774,7 @@ export type TaxRateFilterParameter = { }; export type TaxRateList = PaginatedList & { - __typename?: 'TaxRateList'; + __typename?: 'TaxRateList'; items: Array; totalItems: Scalars['Int']; }; @@ -3575,7 +3812,7 @@ export type TestShippingMethodOrderLineInput = { }; export type TestShippingMethodQuote = { - __typename?: 'TestShippingMethodQuote'; + __typename?: 'TestShippingMethodQuote'; price: Scalars['Int']; priceWithTax: Scalars['Int']; description: Scalars['String']; @@ -3583,11 +3820,15 @@ export type TestShippingMethodQuote = { }; export type TestShippingMethodResult = { - __typename?: 'TestShippingMethodResult'; + __typename?: 'TestShippingMethodResult'; eligible: Scalars['Boolean']; quote?: Maybe; }; +export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError; + +export type TransitionOrderToStateResult = Order | OrderStateTransitionError; + export type UpdateAddressInput = { id: Scalars['ID']; fullName?: Maybe; @@ -3630,6 +3871,8 @@ export type UpdateChannelInput = { defaultShippingZoneId?: Maybe; }; +export type UpdateChannelResult = Channel | LanguageNotAvailableError; + export type UpdateCollectionInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3677,6 +3920,8 @@ export type UpdateCustomerNoteInput = { note: Scalars['String']; }; +export type UpdateCustomerResult = Customer | EmailAddressConflictError; + export type UpdateFacetInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3698,6 +3943,8 @@ export type UpdateGlobalSettingsInput = { customFields?: Maybe; }; +export type UpdateGlobalSettingsResult = GlobalSettings | ChannelDefaultLanguageError; + export type UpdateOrderInput = { id: Scalars['ID']; customFields?: Maybe; @@ -3767,6 +4014,8 @@ export type UpdatePromotionInput = { actions?: Maybe>; }; +export type UpdatePromotionResult = Promotion | MissingConditionsError; + export type UpdateRoleInput = { id: Scalars['ID']; code?: Maybe; @@ -3806,7 +4055,7 @@ export type UpdateZoneInput = { export type User = Node & { - __typename?: 'User'; + __typename?: 'User'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3819,7 +4068,7 @@ export type User = Node & { }; export type Zone = Node & { - __typename?: 'Zone'; + __typename?: 'Zone'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; diff --git a/packages/core/e2e/asset.e2e-spec.ts b/packages/core/e2e/asset.e2e-spec.ts index 4b5e0e9c87..cef4bdcd19 100644 --- a/packages/core/e2e/asset.e2e-spec.ts +++ b/packages/core/e2e/asset.e2e-spec.ts @@ -1,7 +1,7 @@ /* tslint:disable:no-non-null-assertion */ import { omit } from '@vendure/common/lib/omit'; import { mergeConfig } from '@vendure/core'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; @@ -10,6 +10,7 @@ import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-conf import { ASSET_FRAGMENT } from './graphql/fragments'; import { + AssetFragment, CreateAssets, DeleteAsset, DeletionResult, @@ -26,7 +27,6 @@ import { GET_PRODUCT_WITH_VARIANTS, UPDATE_ASSET, } from './graphql/shared-definitions'; -import { assertThrowsWithMessage } from './utils/assert-throws-with-message'; describe('Asset resolver', () => { const { server, adminClient } = createTestEnvironment( @@ -137,6 +137,10 @@ describe('Asset resolver', () => { }); describe('createAssets', () => { + function isAsset(input: CreateAssets.CreateAssets): input is AssetFragment { + return input.hasOwnProperty('name'); + } + it('permitted types by mime type', async () => { const filesToUpload = [ path.join(__dirname, 'fixtures/assets/pps1.jpg'), @@ -150,30 +154,30 @@ describe('Asset resolver', () => { }), }); - expect(createAssets.map(a => omit(a, ['id'])).sort((a, b) => (a.name < b.name ? -1 : 1))).toEqual( - [ - { - fileSize: 1680, - focalPoint: null, - mimeType: 'image/jpeg', - name: 'pps1.jpg', - preview: 'test-url/test-assets/pps1__preview.jpg', - source: 'test-url/test-assets/pps1.jpg', - type: 'IMAGE', - }, - { - fileSize: 1680, - focalPoint: null, - mimeType: 'image/jpeg', - name: 'pps2.jpg', - preview: 'test-url/test-assets/pps2__preview.jpg', - source: 'test-url/test-assets/pps2.jpg', - type: 'IMAGE', - }, - ], - ); + expect(createAssets.length).toBe(2); + const results = createAssets.filter(isAsset); + expect(results.map(a => omit(a, ['id'])).sort((a, b) => (a.name < b.name ? -1 : 1))).toEqual([ + { + fileSize: 1680, + focalPoint: null, + mimeType: 'image/jpeg', + name: 'pps1.jpg', + preview: 'test-url/test-assets/pps1__preview.jpg', + source: 'test-url/test-assets/pps1.jpg', + type: 'IMAGE', + }, + { + fileSize: 1680, + focalPoint: null, + mimeType: 'image/jpeg', + name: 'pps2.jpg', + preview: 'test-url/test-assets/pps2__preview.jpg', + source: 'test-url/test-assets/pps2.jpg', + type: 'IMAGE', + }, + ]); - createdAssetId = createAssets[0].id; + createdAssetId = results[0].id; }); it('permitted type by file extension', async () => { @@ -186,7 +190,9 @@ describe('Asset resolver', () => { }), }); - expect(createAssets.map(a => omit(a, ['id']))).toEqual([ + expect(createAssets.length).toBe(1); + const results = createAssets.filter(isAsset); + expect(results.map(a => omit(a, ['id']))).toEqual([ { fileSize: 1680, focalPoint: null, @@ -199,19 +205,23 @@ describe('Asset resolver', () => { ]); }); - it( - 'not permitted type', - assertThrowsWithMessage(async () => { - const filesToUpload = [path.join(__dirname, 'fixtures/assets/dummy.txt')]; - const { createAssets }: CreateAssets.Mutation = await adminClient.fileUploadMutation({ - mutation: CREATE_ASSETS, - filePaths: filesToUpload, - mapVariables: filePaths => ({ - input: filePaths.map(p => ({ file: null })), - }), - }); - }, `The MIME type 'text/plain' is not permitted.`), - ); + it('not permitted type', async () => { + const filesToUpload = [path.join(__dirname, 'fixtures/assets/dummy.txt')]; + const { createAssets }: CreateAssets.Mutation = await adminClient.fileUploadMutation({ + mutation: CREATE_ASSETS, + filePaths: filesToUpload, + mapVariables: filePaths => ({ + input: filePaths.map(p => ({ file: null })), + }), + }); + + expect(createAssets.length).toBe(1); + expect(createAssets[0]).toEqual({ + message: `The MIME type 'text/plain' is not permitted.`, + mimeType: 'text/plain', + fileName: 'dummy.txt', + }); + }); }); describe('updateAsset', () => { @@ -375,9 +385,16 @@ export const CREATE_ASSETS = gql` mutation CreateAssets($input: [CreateAssetInput!]!) { createAssets(input: $input) { ...Asset - focalPoint { - x - y + ... on Asset { + focalPoint { + x + y + } + } + ... on MimeTypeError { + message + fileName + mimeType } } } diff --git a/packages/core/e2e/auth.e2e-spec.ts b/packages/core/e2e/auth.e2e-spec.ts index ca76e7295d..b6dfb923dc 100644 --- a/packages/core/e2e/auth.e2e-spec.ts +++ b/packages/core/e2e/auth.e2e-spec.ts @@ -11,6 +11,7 @@ import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-conf import { CreateAdministrator, CreateRole, + ErrorCode, GetCustomerList, Me, MutationCreateProductArgs, @@ -76,12 +77,11 @@ describe('Authorization & permissions', () => { customerEmailAddress = customers.items[0].emailAddress; }); - it( - 'cannot login', - assertThrowsWithMessage(async () => { - await adminClient.asUserWithCredentials(customerEmailAddress, 'test'); - }, 'The credentials did not match. Please check and try again'), - ); + it('cannot login', async () => { + const result = await adminClient.asUserWithCredentials(customerEmailAddress, 'test'); + + expect(result.errorCode).toBe(ErrorCode.INVALID_CREDENTIALS_ERROR); + }); }); describe('ReadCatalog permission', () => { @@ -153,7 +153,9 @@ describe('Authorization & permissions', () => { gql` mutation CanCreateCustomer($input: CreateCustomerInput!) { createCustomer(input: $input) { - id + ... on Customer { + id + } } } `, @@ -214,9 +216,7 @@ describe('Authorization & permissions', () => { const role = roleResult.createRole; - const identifier = `${code}@${Math.random() - .toString(16) - .substr(2, 8)}`; + const identifier = `${code}@${Math.random().toString(16).substr(2, 8)}`; const password = `test`; const adminResult = await adminClient.query< diff --git a/packages/core/e2e/authentication-strategy.e2e-spec.ts b/packages/core/e2e/authentication-strategy.e2e-spec.ts index 7f8ab1b7d9..19bebafff8 100644 --- a/packages/core/e2e/authentication-strategy.e2e-spec.ts +++ b/packages/core/e2e/authentication-strategy.e2e-spec.ts @@ -1,6 +1,7 @@ +import { ErrorCode } from '@vendure/common/lib/generated-shop-types'; import { pick } from '@vendure/common/lib/pick'; import { mergeConfig } from '@vendure/core'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; @@ -10,8 +11,11 @@ import { NativeAuthenticationStrategy } from '../src/config/auth/native-authenti import { DefaultLogger } from '../src/config/logger/default-logger'; import { TestAuthenticationStrategy, VALID_AUTH_TOKEN } from './fixtures/test-authentication-strategies'; +import { CURRENT_USER_FRAGMENT } from './graphql/fragments'; import { Authenticate, + CurrentUser, + CurrentUserFragment, GetCustomerHistory, GetCustomers, GetCustomerUserAuth, @@ -48,6 +52,10 @@ describe('AuthenticationStrategy', () => { await server.destroy(); }); + const currentUserGuard: ErrorResultGuard = createErrorResultGuard< + CurrentUserFragment + >(input => input.identifier != null); + describe('external auth', () => { const userData = { email: 'test@email.com', @@ -56,24 +64,24 @@ describe('AuthenticationStrategy', () => { }; let newCustomerId: string; - it( - 'fails with a bad token', - assertThrowsWithMessage(async () => { - await shopClient.query(AUTHENTICATE, { - input: { - test_strategy: { - token: 'bad-token', - }, + it('fails with a bad token', async () => { + const { authenticate } = await shopClient.query(AUTHENTICATE, { + input: { + test_strategy: { + token: 'bad-token', }, - }); - }, 'The credentials did not match. Please check and try again'), - ); + }, + }); + + expect(authenticate.message).toBe('The provided credentials are invalid'); + expect(authenticate.errorCode).toBe(ErrorCode.INVALID_CREDENTIALS_ERROR); + }); it('creates a new Customer with valid token', async () => { const { customers: before } = await adminClient.query(GET_CUSTOMERS); expect(before.totalItems).toBe(1); - const result = await shopClient.query(AUTHENTICATE, { + const { authenticate } = await shopClient.query(AUTHENTICATE, { input: { test_strategy: { token: VALID_AUTH_TOKEN, @@ -81,7 +89,9 @@ describe('AuthenticationStrategy', () => { }, }, }); - expect(result.authenticate.user.identifier).toEqual(userData.email); + currentUserGuard.assertSuccess(authenticate); + + expect(authenticate.identifier).toEqual(userData.email); const { customers: after } = await adminClient.query(GET_CUSTOMERS); expect(after.totalItems).toBe(2); @@ -141,7 +151,7 @@ describe('AuthenticationStrategy', () => { }); it('logging in again re-uses created User & Customer', async () => { - const result = await shopClient.query(AUTHENTICATE, { + const { authenticate } = await shopClient.query(AUTHENTICATE, { input: { test_strategy: { token: VALID_AUTH_TOKEN, @@ -149,7 +159,9 @@ describe('AuthenticationStrategy', () => { }, }, }); - expect(result.authenticate.user.identifier).toEqual(userData.email); + currentUserGuard.assertSuccess(authenticate); + + expect(authenticate.identifier).toEqual(userData.email); const { customers: after } = await adminClient.query(GET_CUSTOMERS); expect(after.totalItems).toBe(2); @@ -160,6 +172,10 @@ describe('AuthenticationStrategy', () => { }); it('registerCustomerAccount with external email', async () => { + const successErrorGuard: ErrorResultGuard<{ success: boolean }> = createErrorResultGuard<{ + success: boolean; + }>(input => input.success != null); + const { registerCustomerAccount } = await shopClient.query( REGISTER_ACCOUNT, { @@ -168,8 +184,9 @@ describe('AuthenticationStrategy', () => { }, }, ); + successErrorGuard.assertSuccess(registerCustomerAccount); - expect(registerCustomerAccount).toBe(true); + expect(registerCustomerAccount.success).toBe(true); const { customer } = await adminClient.query< GetCustomerUserAuth.Query, GetCustomerUserAuth.Variables @@ -205,12 +222,14 @@ describe('AuthenticationStrategy', () => { const AUTHENTICATE = gql` mutation Authenticate($input: AuthenticationInput!) { authenticate(input: $input) { - user { - id - identifier + ...CurrentUser + ... on ErrorResult { + errorCode + message } } } + ${CURRENT_USER_FRAGMENT} `; const GET_CUSTOMERS = gql` diff --git a/packages/core/e2e/channel.e2e-spec.ts b/packages/core/e2e/channel.e2e-spec.ts index 5a44e4bf00..0653a2d380 100644 --- a/packages/core/e2e/channel.e2e-spec.ts +++ b/packages/core/e2e/channel.e2e-spec.ts @@ -1,20 +1,27 @@ /* tslint:disable:no-non-null-assertion */ import { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants'; -import { createTestEnvironment, E2E_DEFAULT_CHANNEL_TOKEN } from '@vendure/testing'; +import { + createErrorResultGuard, + createTestEnvironment, + E2E_DEFAULT_CHANNEL_TOKEN, + ErrorResultGuard, +} from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; import { initialData } from '../../../e2e-common/e2e-initial-data'; -import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config'; +import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config'; import { AssignProductsToChannel, + ChannelFragment, CreateAdministrator, CreateChannel, CreateRole, CurrencyCode, DeleteChannel, DeletionResult, + ErrorCode, GetChannels, GetCustomerList, GetProductWithVariants, @@ -23,7 +30,7 @@ import { Permission, RemoveProductsFromChannel, UpdateChannel, - UpdateGlobalSettings, + UpdateGlobalLanguages, } from './graphql/generated-e2e-admin-types'; import { ASSIGN_PRODUCT_TO_CHANNEL, @@ -45,6 +52,10 @@ describe('Channels', () => { let secondChannelAdminRole: CreateRole.CreateRole; let customerUser: GetCustomerList.Items; + const channelGuard: ErrorResultGuard = createErrorResultGuard( + input => !!input.defaultLanguageCode, + ); + beforeAll(async () => { await server.init({ initialData, @@ -66,6 +77,30 @@ describe('Channels', () => { await server.destroy(); }); + it('createChannel returns error result defaultLanguageCode not available', async () => { + const { createChannel } = await adminClient.query( + CREATE_CHANNEL, + { + input: { + code: 'second-channel', + token: SECOND_CHANNEL_TOKEN, + defaultLanguageCode: LanguageCode.zh, + currencyCode: CurrencyCode.GBP, + pricesIncludeTax: true, + defaultShippingZoneId: 'T_1', + defaultTaxZoneId: 'T_1', + }, + }, + ); + channelGuard.assertErrorResult(createChannel); + + expect(createChannel.message).toBe( + 'Language "zh" is not available. First enable it via GlobalSettings and try again', + ); + expect(createChannel.errorCode).toBe(ErrorCode.LANGUAGE_NOT_AVAILABLE_ERROR); + expect(createChannel.languageCode).toBe('zh'); + }); + it('create a new Channel', async () => { const { createChannel } = await adminClient.query( CREATE_CHANNEL, @@ -81,6 +116,7 @@ describe('Channels', () => { }, }, ); + channelGuard.assertSuccess(createChannel); expect(createChannel).toEqual({ id: 'T_2', @@ -356,21 +392,28 @@ describe('Channels', () => { }); describe('setting defaultLanguage', () => { - it( - 'throws if languageCode not in availableLanguages', - assertThrowsWithMessage(async () => { - await adminClient.query(UPDATE_CHANNEL, { - input: { - id: 'T_1', - defaultLanguageCode: LanguageCode.zh, - }, - }); - }, 'Language "zh" is not available. First enable it via GlobalSettings and try again.'), - ); + it('returns error result if languageCode not in availableLanguages', async () => { + const { updateChannel } = await adminClient.query< + UpdateChannel.Mutation, + UpdateChannel.Variables + >(UPDATE_CHANNEL, { + input: { + id: 'T_1', + defaultLanguageCode: LanguageCode.zh, + }, + }); + channelGuard.assertErrorResult(updateChannel); + + expect(updateChannel.message).toBe( + 'Language "zh" is not available. First enable it via GlobalSettings and try again', + ); + expect(updateChannel.errorCode).toBe(ErrorCode.LANGUAGE_NOT_AVAILABLE_ERROR); + expect(updateChannel.languageCode).toBe('zh'); + }); it('allows setting to an available language', async () => { - await adminClient.query( - UPDATE_GLOBAL_SETTINGS, + await adminClient.query( + UPDATE_GLOBAL_LANGUAGES, { input: { availableLanguages: [LanguageCode.en, LanguageCode.zh], @@ -390,20 +433,6 @@ describe('Channels', () => { expect(updateChannel.defaultLanguageCode).toBe(LanguageCode.zh); }); - - it( - 'attempting to remove availableLanguage when used by a Channel throws', - assertThrowsWithMessage(async () => { - await adminClient.query( - UPDATE_GLOBAL_SETTINGS, - { - input: { - availableLanguages: [LanguageCode.en], - }, - }, - ); - }, 'Cannot remove make language "zh" unavailable as it is used as the defaultLanguage by the channel "__default_channel__"'), - ); }); it('deleteChannel', async () => { @@ -461,11 +490,13 @@ const DELETE_CHANNEL = gql` } `; -const UPDATE_GLOBAL_SETTINGS = gql` - mutation UpdateGlobalSettings($input: UpdateGlobalSettingsInput!) { +const UPDATE_GLOBAL_LANGUAGES = gql` + mutation UpdateGlobalLanguages($input: UpdateGlobalSettingsInput!) { updateGlobalSettings(input: $input) { - id - availableLanguages + ... on GlobalSettings { + id + availableLanguages + } } } `; diff --git a/packages/core/e2e/custom-fields.e2e-spec.ts b/packages/core/e2e/custom-fields.e2e-spec.ts index 8de1a17e44..554e0b2b89 100644 --- a/packages/core/e2e/custom-fields.e2e-spec.ts +++ b/packages/core/e2e/custom-fields.e2e-spec.ts @@ -327,7 +327,9 @@ describe('Custom fields', () => { await adminClient.query(gql` mutation { updateCustomer(input: { id: "T_1", customFields: { score: 5 } }) { - id + ... on Customer { + id + } } } `); diff --git a/packages/core/e2e/customer.e2e-spec.ts b/packages/core/e2e/customer.e2e-spec.ts index b25442524f..9ba0d33734 100644 --- a/packages/core/e2e/customer.e2e-spec.ts +++ b/packages/core/e2e/customer.e2e-spec.ts @@ -9,7 +9,7 @@ import { mergeConfig, VendurePlugin, } from '@vendure/core'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; @@ -21,10 +21,12 @@ import { AddNoteToCustomer, CreateAddress, CreateCustomer, + CustomerFragment, DeleteCustomer, DeleteCustomerAddress, DeleteCustomerNote, DeletionResult, + ErrorCode, GetCustomer, GetCustomerHistory, GetCustomerList, @@ -34,7 +36,7 @@ import { UpdateCustomer, UpdateCustomerNote, } from './graphql/generated-e2e-admin-types'; -import { AddItemToOrder } from './graphql/generated-e2e-shop-types'; +import { AddItemToOrder, UpdatedOrderFragment } from './graphql/generated-e2e-shop-types'; import { CREATE_ADDRESS, CREATE_CUSTOMER, @@ -78,6 +80,10 @@ describe('Customer resolver', () => { let secondCustomer: GetCustomerList.Items; let thirdCustomer: GetCustomerList.Items; + const customerErrorGuard: ErrorResultGuard = createErrorResultGuard( + input => !!input.emailAddress, + ); + beforeAll(async () => { await server.init({ initialData, @@ -331,13 +337,15 @@ describe('Customer resolver', () => { >( gql` mutation DeleteCustomerAddress($id: ID!) { - deleteCustomerAddress(id: $id) + deleteCustomerAddress(id: $id) { + success + } } `, { id: firstCustomerThirdAddressId }, ); - expect(deleteCustomerAddress).toBe(true); + expect(deleteCustomerAddress.success).toBe(true); const { customer } = await adminClient.query( GET_CUSTOMER, @@ -358,6 +366,10 @@ describe('Customer resolver', () => { }); describe('orders', () => { + const orderResultGuard: ErrorResultGuard = createErrorResultGuard< + UpdatedOrderFragment + >(input => !!input.lines); + it(`lists that user\'s orders`, async () => { // log in as first customer await shopClient.asUserWithCredentials(firstCustomer.emailAddress, 'test'); @@ -369,6 +381,7 @@ describe('Customer resolver', () => { productVariantId: 'T_1', quantity: 1, }); + orderResultGuard.assertSuccess(addItemToOrder); const { customer } = await adminClient.query< GetCustomerOrders.Query, @@ -393,6 +406,7 @@ describe('Customer resolver', () => { lastName: 'Customer', }, }); + customerErrorGuard.assertSuccess(createCustomer); expect(createCustomer.user!.verified).toBe(false); expect(sendEmailFn).toHaveBeenCalledTimes(1); @@ -413,27 +427,62 @@ describe('Customer resolver', () => { }, password: 'test', }); + customerErrorGuard.assertSuccess(createCustomer); expect(createCustomer.user!.verified).toBe(true); expect(sendEmailFn).toHaveBeenCalledTimes(0); }); - it( - 'throws when using an existing, non-deleted emailAddress', - assertThrowsWithMessage(async () => { - const { createCustomer } = await adminClient.query< - CreateCustomer.Mutation, - CreateCustomer.Variables - >(CREATE_CUSTOMER, { - input: { - emailAddress: 'test2@test.com', - firstName: 'New', - lastName: 'Customer', - }, - password: 'test', - }); - }, 'The email address must be unique'), - ); + it('return error result when using an existing, non-deleted emailAddress', async () => { + const { createCustomer } = await adminClient.query< + CreateCustomer.Mutation, + CreateCustomer.Variables + >(CREATE_CUSTOMER, { + input: { + emailAddress: 'test2@test.com', + firstName: 'New', + lastName: 'Customer', + }, + password: 'test', + }); + customerErrorGuard.assertErrorResult(createCustomer); + + expect(createCustomer.message).toBe('The email address is not available.'); + expect(createCustomer.errorCode).toBe(ErrorCode.EMAIL_ADDRESS_CONFLICT_ERROR); + }); + }); + + describe('update', () => { + it('returns error result when emailAddress not available', async () => { + const { updateCustomer } = await adminClient.query< + UpdateCustomer.Mutation, + UpdateCustomer.Variables + >(UPDATE_CUSTOMER, { + input: { + id: thirdCustomer.id, + emailAddress: firstCustomer.emailAddress, + }, + }); + customerErrorGuard.assertErrorResult(updateCustomer); + + expect(updateCustomer.message).toBe('The email address is not available.'); + expect(updateCustomer.errorCode).toBe(ErrorCode.EMAIL_ADDRESS_CONFLICT_ERROR); + }); + + it('succeeds when emailAddress is available', async () => { + const { updateCustomer } = await adminClient.query< + UpdateCustomer.Mutation, + UpdateCustomer.Variables + >(UPDATE_CUSTOMER, { + input: { + id: thirdCustomer.id, + emailAddress: 'unique-email@test.com', + }, + }); + customerErrorGuard.assertSuccess(updateCustomer); + + expect(updateCustomer.emailAddress).toBe('unique-email@test.com'); + }); }); describe('deletion', () => { @@ -502,6 +551,7 @@ describe('Customer resolver', () => { lastName: 'Customer', }, }); + customerErrorGuard.assertSuccess(createCustomer); expect(createCustomer.emailAddress).toBe(thirdCustomer.emailAddress); expect(createCustomer.firstName).toBe('Reusing Email'); diff --git a/packages/core/e2e/default-search-plugin.e2e-spec.ts b/packages/core/e2e/default-search-plugin.e2e-spec.ts index 0a40d2a77c..12329e3164 100644 --- a/packages/core/e2e/default-search-plugin.e2e-spec.ts +++ b/packages/core/e2e/default-search-plugin.e2e-spec.ts @@ -16,6 +16,7 @@ import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-conf import { AssignProductsToChannel, + ChannelFragment, CreateChannel, CreateCollection, CreateFacet, @@ -869,7 +870,7 @@ describe('Default search plugin', () => { describe('channel handling', () => { const SECOND_CHANNEL_TOKEN = 'second-channel-token'; - let secondChannel: CreateChannel.CreateChannel; + let secondChannel: ChannelFragment; beforeAll(async () => { const { createChannel } = await adminClient.query< diff --git a/packages/core/e2e/fixtures/test-payment-methods.ts b/packages/core/e2e/fixtures/test-payment-methods.ts index 4962c28158..a888a558da 100644 --- a/packages/core/e2e/fixtures/test-payment-methods.ts +++ b/packages/core/e2e/fixtures/test-payment-methods.ts @@ -14,7 +14,7 @@ export const testSuccessfulPaymentMethod = new PaymentMethodHandler({ metadata, }; }, - settlePayment: (order) => ({ + settlePayment: order => ({ success: true, }), }); @@ -105,10 +105,11 @@ export const testFailingPaymentMethod = new PaymentMethodHandler({ return { amount: order.total, state: 'Declined', + errorMessage: 'Insufficient funds', metadata, }; }, - settlePayment: (order) => ({ + settlePayment: order => ({ success: true, }), }); @@ -124,7 +125,7 @@ export const testErrorPaymentMethod = new PaymentMethodHandler({ metadata, }; }, - settlePayment: (order) => ({ + settlePayment: order => ({ success: true, }), }); diff --git a/packages/core/e2e/global-settings.e2e-spec.ts b/packages/core/e2e/global-settings.e2e-spec.ts new file mode 100644 index 0000000000..71243a2a91 --- /dev/null +++ b/packages/core/e2e/global-settings.e2e-spec.ts @@ -0,0 +1,149 @@ +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; +import gql from 'graphql-tag'; +import path from 'path'; + +import { initialData } from '../../../e2e-common/e2e-initial-data'; +import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config'; + +import { + GetGlobalSettings, + GlobalSettingsFragment, + LanguageCode, + UpdateGlobalSettings, +} from './graphql/generated-e2e-admin-types'; + +describe('GlobalSettings resolver', () => { + const { server, adminClient } = createTestEnvironment({ + ...testConfig, + ...{ + customFields: { + Customer: [{ name: 'age', type: 'int' }], + }, + }, + }); + let globalSettings: GlobalSettingsFragment; + + const globalSettingsGuard: ErrorResultGuard = createErrorResultGuard< + GlobalSettingsFragment + >(input => !!input.availableLanguages); + + beforeAll(async () => { + await server.init({ + initialData, + productsCsvPath: path.join(__dirname, 'fixtures/e2e-products-full.csv'), + customerCount: 1, + }); + await adminClient.asSuperAdmin(); + const result = await adminClient.query(GET_GLOBAL_SETTINGS); + globalSettings = result.globalSettings; + }, TEST_SETUP_TIMEOUT_MS); + + afterAll(async () => { + await server.destroy(); + }); + + describe('globalSettings query', () => { + it('includes basic settings', () => { + expect(globalSettings.availableLanguages).toEqual([LanguageCode.en]); + expect(globalSettings.trackInventory).toBe(false); + }); + + it('includes orderProcess', () => { + expect(globalSettings.serverConfig.orderProcess[0]).toEqual({ + name: 'AddingItems', + to: ['ArrangingPayment', 'Cancelled'], + }); + }); + + it('includes permittedAssetTypes', () => { + expect(globalSettings.serverConfig.permittedAssetTypes).toEqual([ + 'image/*', + 'video/*', + 'audio/*', + '.pdf', + ]); + }); + + it('includes customFieldConfig', () => { + expect(globalSettings.serverConfig.customFieldConfig.Customer).toEqual([{ name: 'age' }]); + }); + }); + + describe('update', () => { + it('returns error result when removing required language', async () => { + const { updateGlobalSettings } = await adminClient.query< + UpdateGlobalSettings.Mutation, + UpdateGlobalSettings.Variables + >(UPDATE_GLOBAL_SETTINGS, { + input: { + availableLanguages: [LanguageCode.zh], + }, + }); + globalSettingsGuard.assertErrorResult(updateGlobalSettings); + + expect(updateGlobalSettings.message).toBe( + 'Cannot make language "en" unavailable as it is used as the defaultLanguage by the channel "__default_channel__"', + ); + }); + + it('successful update', async () => { + const { updateGlobalSettings } = await adminClient.query< + UpdateGlobalSettings.Mutation, + UpdateGlobalSettings.Variables + >(UPDATE_GLOBAL_SETTINGS, { + input: { + availableLanguages: [LanguageCode.en, LanguageCode.zh], + trackInventory: true, + }, + }); + globalSettingsGuard.assertSuccess(updateGlobalSettings); + + expect(updateGlobalSettings.availableLanguages).toEqual([LanguageCode.en, LanguageCode.zh]); + expect(updateGlobalSettings.trackInventory).toBe(true); + }); + }); +}); + +const GLOBAL_SETTINGS_FRAGMENT = gql` + fragment GlobalSettings on GlobalSettings { + id + availableLanguages + trackInventory + serverConfig { + orderProcess { + name + to + } + permittedAssetTypes + customFieldConfig { + Customer { + ... on CustomField { + name + } + } + } + } + } +`; + +const GET_GLOBAL_SETTINGS = gql` + query GetGlobalSettings { + globalSettings { + ...GlobalSettings + } + } + ${GLOBAL_SETTINGS_FRAGMENT} +`; + +const UPDATE_GLOBAL_SETTINGS = gql` + mutation UpdateGlobalSettings($input: UpdateGlobalSettingsInput!) { + updateGlobalSettings(input: $input) { + ...GlobalSettings + ... on ErrorResult { + errorCode + message + } + } + } + ${GLOBAL_SETTINGS_FRAGMENT} +`; diff --git a/packages/core/e2e/graphql/fragments.ts b/packages/core/e2e/graphql/fragments.ts index c28bbfb3d1..0cb2b1ad23 100644 --- a/packages/core/e2e/graphql/fragments.ts +++ b/packages/core/e2e/graphql/fragments.ts @@ -452,6 +452,7 @@ export const TAX_RATE_FRAGMENT = gql` } } `; + export const CURRENT_USER_FRAGMENT = gql` fragment CurrentUser on CurrentUser { id @@ -463,6 +464,7 @@ export const CURRENT_USER_FRAGMENT = gql` } } `; + export const VARIANT_WITH_STOCK_FRAGMENT = gql` fragment VariantWithStock on ProductVariant { id @@ -479,3 +481,33 @@ export const VARIANT_WITH_STOCK_FRAGMENT = gql` } } `; + +export const FULFILLMENT_FRAGMENT = gql` + fragment Fulfillment on Fulfillment { + id + state + nextStates + method + trackingCode + orderItems { + id + } + } +`; + +export const CHANNEL_FRAGMENT = gql` + fragment Channel on Channel { + id + code + token + currencyCode + defaultLanguageCode + defaultShippingZone { + id + } + defaultTaxZone { + id + } + pricesIncludeTax + } +`; diff --git a/packages/core/e2e/graphql/generated-e2e-admin-types.ts b/packages/core/e2e/graphql/generated-e2e-admin-types.ts index 8dbdf28b96..5c9e18abf4 100644 --- a/packages/core/e2e/graphql/generated-e2e-admin-types.ts +++ b/packages/core/e2e/graphql/generated-e2e-admin-types.ts @@ -1,6 +1,6 @@ // tslint:disable export type Maybe = T | null; - +export type Exact = { [K in keyof T]: T[K] }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; @@ -8,11 +8,19 @@ export type Scalars = { Boolean: boolean; Int: number; Float: number; + /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: any; + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any; + /** The `Upload` scalar type represents a file upload. */ Upload: any; }; +export type AddFulfillmentToOrderResult = + | Fulfillment + | EmptyOrderLineSelectionError + | ItemsAlreadyFulfilledError; + export type AddNoteToCustomerInput = { id: Scalars['ID']; note: Scalars['String']; @@ -26,7 +34,6 @@ export type AddNoteToOrderInput = { }; export type Address = Node & { - __typename?: 'Address'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -45,7 +52,6 @@ export type Address = Node & { }; export type Adjustment = { - __typename?: 'Adjustment'; adjustmentSource: Scalars['String']; type: AdjustmentType; description: Scalars['String']; @@ -63,7 +69,6 @@ export enum AdjustmentType { } export type Administrator = Node & { - __typename?: 'Administrator'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -82,7 +87,6 @@ export type AdministratorFilterParameter = { }; export type AdministratorList = PaginatedList & { - __typename?: 'AdministratorList'; items: Array; totalItems: Scalars['Int']; }; @@ -103,8 +107,14 @@ export type AdministratorSortParameter = { emailAddress?: Maybe; }; +/** Returned if an attempting to refund an OrderItem which has already been refunded */ +export type AlreadyRefundedError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + refundId: Scalars['ID']; +}; + export type Asset = Node & { - __typename?: 'Asset'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -133,7 +143,6 @@ export type AssetFilterParameter = { }; export type AssetList = PaginatedList & { - __typename?: 'AssetList'; items: Array; totalItems: Scalars['Int']; }; @@ -175,15 +184,15 @@ export type AuthenticationInput = { }; export type AuthenticationMethod = Node & { - __typename?: 'AuthenticationMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; strategy: Scalars['String']; }; +export type AuthenticationResult = CurrentUser | InvalidCredentialsError; + export type BooleanCustomFieldConfig = CustomField & { - __typename?: 'BooleanCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -197,9 +206,15 @@ export type BooleanOperators = { eq?: Maybe; }; +/** Returned if an attempting to cancel lines from an Order which is still active */ +export type CancelActiveOrderError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + export type Cancellation = Node & StockMovement & { - __typename?: 'Cancellation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -217,8 +232,15 @@ export type CancelOrderInput = { reason?: Maybe; }; +export type CancelOrderResult = + | Order + | EmptyOrderLineSelectionError + | QuantityTooGreatError + | MultipleOrderError + | CancelActiveOrderError + | OrderStateTransitionError; + export type Channel = Node & { - __typename?: 'Channel'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -231,8 +253,18 @@ export type Channel = Node & { pricesIncludeTax: Scalars['Boolean']; }; +/** + * Returned when the default LanguageCode of a Channel is no longer found in the `availableLanguages` + * of the GlobalSettings + */ +export type ChannelDefaultLanguageError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + language: Scalars['String']; + channelCode: Scalars['String']; +}; + export type Collection = Node & { - __typename?: 'Collection'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -258,7 +290,6 @@ export type CollectionProductVariantsArgs = { }; export type CollectionBreadcrumb = { - __typename?: 'CollectionBreadcrumb'; id: Scalars['ID']; name: Scalars['String']; slug: Scalars['String']; @@ -276,7 +307,6 @@ export type CollectionFilterParameter = { }; export type CollectionList = PaginatedList & { - __typename?: 'CollectionList'; items: Array; totalItems: Scalars['Int']; }; @@ -299,7 +329,6 @@ export type CollectionSortParameter = { }; export type CollectionTranslation = { - __typename?: 'CollectionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -310,13 +339,11 @@ export type CollectionTranslation = { }; export type ConfigArg = { - __typename?: 'ConfigArg'; name: Scalars['String']; value: Scalars['String']; }; export type ConfigArgDefinition = { - __typename?: 'ConfigArgDefinition'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -331,13 +358,11 @@ export type ConfigArgInput = { }; export type ConfigurableOperation = { - __typename?: 'ConfigurableOperation'; code: Scalars['String']; args: Array; }; export type ConfigurableOperationDefinition = { - __typename?: 'ConfigurableOperationDefinition'; code: Scalars['String']; args: Array; description: Scalars['String']; @@ -349,7 +374,6 @@ export type ConfigurableOperationInput = { }; export type Coordinate = { - __typename?: 'Coordinate'; x: Scalars['Float']; y: Scalars['Float']; }; @@ -360,7 +384,6 @@ export type CoordinateInput = { }; export type Country = Node & { - __typename?: 'Country'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -381,7 +404,6 @@ export type CountryFilterParameter = { }; export type CountryList = PaginatedList & { - __typename?: 'CountryList'; items: Array; totalItems: Scalars['Int']; }; @@ -402,7 +424,6 @@ export type CountrySortParameter = { }; export type CountryTranslation = { - __typename?: 'CountryTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -443,6 +464,8 @@ export type CreateAssetInput = { file: Scalars['Upload']; }; +export type CreateAssetResult = Asset | MimeTypeError; + export type CreateChannelInput = { code: Scalars['String']; token: Scalars['String']; @@ -453,6 +476,8 @@ export type CreateChannelInput = { defaultShippingZoneId: Scalars['ID']; }; +export type CreateChannelResult = Channel | LanguageNotAvailableError; + export type CreateCollectionInput = { isPrivate?: Maybe; featuredAssetId?: Maybe; @@ -491,6 +516,8 @@ export type CreateCustomerInput = { customFields?: Maybe; }; +export type CreateCustomerResult = Customer | EmailAddressConflictError; + export type CreateFacetInput = { code: Scalars['String']; isPrivate: Scalars['Boolean']; @@ -570,6 +597,8 @@ export type CreatePromotionInput = { actions: Array; }; +export type CreatePromotionResult = Promotion | MissingConditionsError; + export type CreateRoleInput = { code: Scalars['String']; description: Scalars['String']; @@ -927,14 +956,12 @@ export enum CurrencyCode { } export type CurrentUser = { - __typename?: 'CurrentUser'; id: Scalars['ID']; identifier: Scalars['String']; channels: Array; }; export type CurrentUserChannel = { - __typename?: 'CurrentUserChannel'; id: Scalars['ID']; token: Scalars['String']; code: Scalars['String']; @@ -942,7 +969,6 @@ export type CurrentUserChannel = { }; export type Customer = Node & { - __typename?: 'Customer'; groups: Array; history: HistoryEntryList; id: Scalars['ID']; @@ -978,7 +1004,6 @@ export type CustomerFilterParameter = { }; export type CustomerGroup = Node & { - __typename?: 'CustomerGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -997,7 +1022,6 @@ export type CustomerGroupFilterParameter = { }; export type CustomerGroupList = PaginatedList & { - __typename?: 'CustomerGroupList'; items: Array; totalItems: Scalars['Int']; }; @@ -1017,7 +1041,6 @@ export type CustomerGroupSortParameter = { }; export type CustomerList = PaginatedList & { - __typename?: 'CustomerList'; items: Array; totalItems: Scalars['Int']; }; @@ -1059,7 +1082,6 @@ export type CustomFieldConfig = | DateTimeCustomFieldConfig; export type CustomFields = { - __typename?: 'CustomFields'; Address: Array; Collection: Array; Customer: Array; @@ -1093,7 +1115,6 @@ export type DateRange = { * See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes */ export type DateTimeCustomFieldConfig = CustomField & { - __typename?: 'DateTimeCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1107,7 +1128,6 @@ export type DateTimeCustomFieldConfig = CustomField & { }; export type DeletionResponse = { - __typename?: 'DeletionResponse'; result: DeletionResult; message?: Maybe; }; @@ -1119,8 +1139,50 @@ export enum DeletionResult { NOT_DELETED = 'NOT_DELETED', } +/** Retured when attemting to create a Customer with an email address already registered to an existing User. */ +export type EmailAddressConflictError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if no OrderLines have been specified for the operation */ +export type EmptyOrderLineSelectionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export enum ErrorCode { + UNKNOWN_ERROR = 'UNKNOWN_ERROR', + MIME_TYPE_ERROR = 'MIME_TYPE_ERROR', + INVALID_CREDENTIALS_ERROR = 'INVALID_CREDENTIALS_ERROR', + NATIVE_AUTH_STRATEGY_ERROR = 'NATIVE_AUTH_STRATEGY_ERROR', + LANGUAGE_NOT_AVAILABLE_ERROR = 'LANGUAGE_NOT_AVAILABLE_ERROR', + EMAIL_ADDRESS_CONFLICT_ERROR = 'EMAIL_ADDRESS_CONFLICT_ERROR', + CHANNEL_DEFAULT_LANGUAGE_ERROR = 'CHANNEL_DEFAULT_LANGUAGE_ERROR', + SETTLE_PAYMENT_ERROR = 'SETTLE_PAYMENT_ERROR', + PAYMENT_STATE_TRANSITION_ERROR = 'PAYMENT_STATE_TRANSITION_ERROR', + ORDER_STATE_TRANSITION_ERROR = 'ORDER_STATE_TRANSITION_ERROR', + EMPTY_ORDER_LINE_SELECTION_ERROR = 'EMPTY_ORDER_LINE_SELECTION_ERROR', + ITEMS_ALREADY_FULFILLED_ERROR = 'ITEMS_ALREADY_FULFILLED_ERROR', + QUANTITY_TOO_GREAT_ERROR = 'QUANTITY_TOO_GREAT_ERROR', + MULTIPLE_ORDER_ERROR = 'MULTIPLE_ORDER_ERROR', + CANCEL_ACTIVE_ORDER_ERROR = 'CANCEL_ACTIVE_ORDER_ERROR', + NOTHING_TO_REFUND_ERROR = 'NOTHING_TO_REFUND_ERROR', + PAYMENT_ORDER_MISMATCH_ERROR = 'PAYMENT_ORDER_MISMATCH_ERROR', + REFUND_ORDER_STATE_ERROR = 'REFUND_ORDER_STATE_ERROR', + ALREADY_REFUNDED_ERROR = 'ALREADY_REFUNDED_ERROR', + REFUND_STATE_TRANSITION_ERROR = 'REFUND_STATE_TRANSITION_ERROR', + FULFILLMENT_STATE_TRANSITION_ERROR = 'FULFILLMENT_STATE_TRANSITION_ERROR', + PRODUCT_OPTION_IN_USE_ERROR = 'PRODUCT_OPTION_IN_USE_ERROR', + MISSING_CONDITIONS_ERROR = 'MISSING_CONDITIONS_ERROR', +} + +export type ErrorResult = { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Facet = Node & { - __typename?: 'Facet'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1143,7 +1205,6 @@ export type FacetFilterParameter = { }; export type FacetList = PaginatedList & { - __typename?: 'FacetList'; items: Array; totalItems: Scalars['Int']; }; @@ -1164,7 +1225,6 @@ export type FacetSortParameter = { }; export type FacetTranslation = { - __typename?: 'FacetTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1180,7 +1240,6 @@ export type FacetTranslationInput = { }; export type FacetValue = Node & { - __typename?: 'FacetValue'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1197,13 +1256,11 @@ export type FacetValue = Node & { * by the search, and in what quantity. */ export type FacetValueResult = { - __typename?: 'FacetValueResult'; facetValue: FacetValue; count: Scalars['Int']; }; export type FacetValueTranslation = { - __typename?: 'FacetValueTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1219,7 +1276,6 @@ export type FacetValueTranslationInput = { }; export type FloatCustomFieldConfig = CustomField & { - __typename?: 'FloatCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1233,7 +1289,6 @@ export type FloatCustomFieldConfig = CustomField & { }; export type Fulfillment = Node & { - __typename?: 'Fulfillment'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1244,6 +1299,15 @@ export type Fulfillment = Node & { trackingCode?: Maybe; }; +/** Returned when there is an error in transitioning the Fulfillment state */ +export type FulfillmentStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type FulfillOrderInput = { lines: Array; method: Scalars['String']; @@ -1251,7 +1315,6 @@ export type FulfillOrderInput = { }; export type GlobalSettings = { - __typename?: 'GlobalSettings'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1262,7 +1325,6 @@ export type GlobalSettings = { }; export type HistoryEntry = Node & { - __typename?: 'HistoryEntry'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1280,7 +1342,6 @@ export type HistoryEntryFilterParameter = { }; export type HistoryEntryList = PaginatedList & { - __typename?: 'HistoryEntryList'; items: Array; totalItems: Scalars['Int']; }; @@ -1325,14 +1386,12 @@ export enum HistoryEntryType { } export type ImportInfo = { - __typename?: 'ImportInfo'; errors?: Maybe>; processed: Scalars['Int']; imported: Scalars['Int']; }; export type IntCustomFieldConfig = CustomField & { - __typename?: 'IntCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1345,8 +1404,19 @@ export type IntCustomFieldConfig = CustomField & { step?: Maybe; }; +/** Returned if the user authentication credentials are not valid */ +export type InvalidCredentialsError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if the specified items are already part of a Fulfillment */ +export type ItemsAlreadyFulfilledError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Job = Node & { - __typename?: 'Job'; id: Scalars['ID']; createdAt: Scalars['DateTime']; startedAt?: Maybe; @@ -1373,7 +1443,6 @@ export type JobFilterParameter = { }; export type JobList = PaginatedList & { - __typename?: 'JobList'; items: Array; totalItems: Scalars['Int']; }; @@ -1386,7 +1455,6 @@ export type JobListOptions = { }; export type JobQueue = { - __typename?: 'JobQueue'; name: Scalars['String']; running: Scalars['Boolean']; }; @@ -1741,8 +1809,14 @@ export enum LanguageCode { zu = 'zu', } +/** Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings */ +export type LanguageNotAvailableError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + languageCode: Scalars['String']; +}; + export type LocaleStringCustomFieldConfig = CustomField & { - __typename?: 'LocaleStringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1755,7 +1829,6 @@ export type LocaleStringCustomFieldConfig = CustomField & { }; export type LocalizedString = { - __typename?: 'LocalizedString'; languageCode: LanguageCode; value: Scalars['String']; }; @@ -1765,9 +1838,17 @@ export enum LogicalOperator { OR = 'OR', } -export type LoginResult = { - __typename?: 'LoginResult'; - user: CurrentUser; +export type MimeTypeError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + fileName: Scalars['String']; + mimeType: Scalars['String']; +}; + +/** Returned if a PromotionCondition has neither a couponCode nor any conditions set */ +export type MissingConditionsError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; }; export type MoveCollectionInput = { @@ -1776,8 +1857,13 @@ export type MoveCollectionInput = { index: Scalars['Int']; }; +/** Returned if an operation has specified OrderLines from multiple Orders */ +export type MultipleOrderError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Mutation = { - __typename?: 'Mutation'; /** Create a new Administrator */ createAdministrator: Administrator; /** Update an existing Administrator */ @@ -1787,7 +1873,7 @@ export type Mutation = { /** Assign a Role to an Administrator */ assignRoleToAdministrator: Administrator; /** Create a new Asset */ - createAssets: Array; + createAssets: Array; /** Update an existing Asset */ updateAsset: Asset; /** Delete an Asset */ @@ -1798,14 +1884,14 @@ export type Mutation = { * Authenticates the user using the native authentication strategy. This mutation * is an alias for `authenticate({ native: { ... }})` */ - login: LoginResult; + login: NativeAuthenticationResult; /** Authenticates the user using a named authentication strategy */ - authenticate: LoginResult; - logout: Scalars['Boolean']; + authenticate: AuthenticationResult; + logout: Success; /** Create a new Channel */ - createChannel: Channel; + createChannel: CreateChannelResult; /** Update an existing Channel */ - updateChannel: Channel; + updateChannel: UpdateChannelResult; /** Delete a Channel */ deleteChannel: DeletionResponse; /** Create a new Collection */ @@ -1833,9 +1919,9 @@ export type Mutation = { /** Remove Customers from a CustomerGroup */ removeCustomersFromGroup: CustomerGroup; /** Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer. */ - createCustomer: Customer; + createCustomer: CreateCustomerResult; /** Update an existing Customer */ - updateCustomer: Customer; + updateCustomer: UpdateCustomerResult; /** Delete a Customer */ deleteCustomer: DeletionResponse; /** Create a new Address and associate it with the Customer specified by customerId */ @@ -1843,7 +1929,7 @@ export type Mutation = { /** Update an existing Address */ updateCustomerAddress: Address; /** Update an existing Address */ - deleteCustomerAddress: Scalars['Boolean']; + deleteCustomerAddress: Success; addNoteToCustomer: Customer; updateCustomerNote: HistoryEntry; deleteCustomerNote: DeletionResponse; @@ -1859,20 +1945,20 @@ export type Mutation = { updateFacetValues: Array; /** Delete one or more FacetValues */ deleteFacetValues: Array; - updateGlobalSettings: GlobalSettings; + updateGlobalSettings: UpdateGlobalSettingsResult; importProducts?: Maybe; /** Remove all settled jobs in the given queues olfer than the given date. Returns the number of jobs deleted. */ removeSettledJobs: Scalars['Int']; - settlePayment: Payment; - fulfillOrder: Fulfillment; - cancelOrder: Order; - refundOrder: Refund; - settleRefund: Refund; + settlePayment: SettlePaymentResult; + addFulfillmentToOrder: AddFulfillmentToOrderResult; + cancelOrder: CancelOrderResult; + refundOrder: RefundOrderResult; + settleRefund: SettleRefundResult; addNoteToOrder: Order; updateOrderNote: HistoryEntry; deleteOrderNote: DeletionResponse; - transitionOrderToState?: Maybe; - transitionFulfillmentToState: Fulfillment; + transitionOrderToState?: Maybe; + transitionFulfillmentToState: TransitionFulfillmentToStateResult; setOrderCustomFields?: Maybe; /** Update an existing PaymentMethod */ updatePaymentMethod: PaymentMethod; @@ -1894,7 +1980,7 @@ export type Mutation = { /** Add an OptionGroup to a Product */ addOptionGroupToProduct: Product; /** Remove an OptionGroup from a Product */ - removeOptionGroupFromProduct: Product; + removeOptionGroupFromProduct: RemoveOptionGroupFromProductResult; /** Create a set of ProductVariants based on the OptionGroups assigned to the given Product */ createProductVariants: Array>; /** Update existing ProductVariants */ @@ -1905,8 +1991,8 @@ export type Mutation = { assignProductsToChannel: Array; /** Removes Products from the specified Channel */ removeProductsFromChannel: Array; - createPromotion: Promotion; - updatePromotion: Promotion; + createPromotion: CreatePromotionResult; + updatePromotion: UpdatePromotionResult; deletePromotion: DeletionResponse; /** Create a new Role */ createRole: Role; @@ -2133,7 +2219,7 @@ export type MutationSettlePaymentArgs = { id: Scalars['ID']; }; -export type MutationFulfillOrderArgs = { +export type MutationAddFulfillmentToOrderArgs = { input: FulfillOrderInput; }; @@ -2319,15 +2405,29 @@ export type MutationRemoveMembersFromZoneArgs = { memberIds: Array; }; +export type NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError; + export type NativeAuthInput = { username: Scalars['String']; password: Scalars['String']; }; +/** Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured. */ +export type NativeAuthStrategyError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Node = { id: Scalars['ID']; }; +/** Returned if an attempting to refund an Order but neither items nor shipping refund was specified */ +export type NothingToRefundError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type NumberOperators = { eq?: Maybe; lt?: Maybe; @@ -2343,7 +2443,6 @@ export type NumberRange = { }; export type Order = Node & { - __typename?: 'Order'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -2382,7 +2481,6 @@ export type OrderHistoryArgs = { }; export type OrderAddress = { - __typename?: 'OrderAddress'; fullName?: Maybe; company?: Maybe; streetLine1?: Maybe; @@ -2411,7 +2509,6 @@ export type OrderFilterParameter = { }; export type OrderItem = Node & { - __typename?: 'OrderItem'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2426,7 +2523,6 @@ export type OrderItem = Node & { }; export type OrderLine = Node & { - __typename?: 'OrderLine'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2448,7 +2544,6 @@ export type OrderLineInput = { }; export type OrderList = PaginatedList & { - __typename?: 'OrderList'; items: Array; totalItems: Scalars['Int']; }; @@ -2461,7 +2556,6 @@ export type OrderListOptions = { }; export type OrderProcessState = { - __typename?: 'OrderProcessState'; name: Scalars['String']; to: Array; }; @@ -2480,13 +2574,21 @@ export type OrderSortParameter = { total?: Maybe; }; +/** Returned if there is an error in transitioning the Order state */ +export type OrderStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type PaginatedList = { items: Array; totalItems: Scalars['Int']; }; export type Payment = Node & { - __typename?: 'Payment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2500,7 +2602,6 @@ export type Payment = Node & { }; export type PaymentMethod = Node & { - __typename?: 'PaymentMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2518,7 +2619,6 @@ export type PaymentMethodFilterParameter = { }; export type PaymentMethodList = PaginatedList & { - __typename?: 'PaymentMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -2537,6 +2637,21 @@ export type PaymentMethodSortParameter = { code?: Maybe; }; +/** Returned if an attempting to refund a Payment against OrderLines from a different Order */ +export type PaymentOrderMismatchError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Payment state */ +export type PaymentStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + /** * " * @description @@ -2582,13 +2697,11 @@ export enum Permission { /** The price range where the result has more than one price */ export type PriceRange = { - __typename?: 'PriceRange'; min: Scalars['Int']; max: Scalars['Int']; }; export type Product = Node & { - __typename?: 'Product'; enabled: Scalars['Boolean']; channels: Array; id: Scalars['ID']; @@ -2619,7 +2732,6 @@ export type ProductFilterParameter = { }; export type ProductList = PaginatedList & { - __typename?: 'ProductList'; items: Array; totalItems: Scalars['Int']; }; @@ -2632,7 +2744,6 @@ export type ProductListOptions = { }; export type ProductOption = Node & { - __typename?: 'ProductOption'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2646,7 +2757,6 @@ export type ProductOption = Node & { }; export type ProductOptionGroup = Node & { - __typename?: 'ProductOptionGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2659,7 +2769,6 @@ export type ProductOptionGroup = Node & { }; export type ProductOptionGroupTranslation = { - __typename?: 'ProductOptionGroupTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2674,8 +2783,14 @@ export type ProductOptionGroupTranslationInput = { customFields?: Maybe; }; +export type ProductOptionInUseError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + optionGroupCode: Scalars['String']; + productVariantCount: Scalars['Int']; +}; + export type ProductOptionTranslation = { - __typename?: 'ProductOptionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2700,7 +2815,6 @@ export type ProductSortParameter = { }; export type ProductTranslation = { - __typename?: 'ProductTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2720,7 +2834,6 @@ export type ProductTranslationInput = { }; export type ProductVariant = Node & { - __typename?: 'ProductVariant'; enabled: Scalars['Boolean']; stockOnHand: Scalars['Int']; trackInventory: Scalars['Boolean']; @@ -2767,7 +2880,6 @@ export type ProductVariantFilterParameter = { }; export type ProductVariantList = PaginatedList & { - __typename?: 'ProductVariantList'; items: Array; totalItems: Scalars['Int']; }; @@ -2792,7 +2904,6 @@ export type ProductVariantSortParameter = { }; export type ProductVariantTranslation = { - __typename?: 'ProductVariantTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2808,7 +2919,6 @@ export type ProductVariantTranslationInput = { }; export type Promotion = Node & { - __typename?: 'Promotion'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2834,7 +2944,6 @@ export type PromotionFilterParameter = { }; export type PromotionList = PaginatedList & { - __typename?: 'PromotionList'; items: Array; totalItems: Scalars['Int']; }; @@ -2857,8 +2966,13 @@ export type PromotionSortParameter = { name?: Maybe; }; +/** Returned if the specified quantity of an OrderLine is greater than the number of items in that line */ +export type QuantityTooGreatError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Query = { - __typename?: 'Query'; administrators: AdministratorList; administrator?: Maybe; /** Get a list of Assets */ @@ -3081,7 +3195,6 @@ export type QueryZoneArgs = { }; export type Refund = Node & { - __typename?: 'Refund'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3106,6 +3219,35 @@ export type RefundOrderInput = { reason?: Maybe; }; +export type RefundOrderResult = + | Refund + | QuantityTooGreatError + | NothingToRefundError + | OrderStateTransitionError + | MultipleOrderError + | PaymentOrderMismatchError + | RefundOrderStateError + | AlreadyRefundedError + | RefundStateTransitionError; + +/** Returned if an attempting to refund an Order which is not in the expected state */ +export type RefundOrderStateError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Refund state */ +export type RefundStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + +export type RemoveOptionGroupFromProductResult = Product | ProductOptionInUseError; + export type RemoveProductsFromChannelInput = { productIds: Array; channelId: Scalars['ID']; @@ -3113,7 +3255,6 @@ export type RemoveProductsFromChannelInput = { export type Return = Node & StockMovement & { - __typename?: 'Return'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3124,7 +3265,6 @@ export type Return = Node & }; export type Role = Node & { - __typename?: 'Role'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3142,7 +3282,6 @@ export type RoleFilterParameter = { }; export type RoleList = PaginatedList & { - __typename?: 'RoleList'; items: Array; totalItems: Scalars['Int']; }; @@ -3164,7 +3303,6 @@ export type RoleSortParameter = { export type Sale = Node & StockMovement & { - __typename?: 'Sale'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3187,19 +3325,16 @@ export type SearchInput = { }; export type SearchReindexResponse = { - __typename?: 'SearchReindexResponse'; success: Scalars['Boolean']; }; export type SearchResponse = { - __typename?: 'SearchResponse'; items: Array; totalItems: Scalars['Int']; facetValues: Array; }; export type SearchResult = { - __typename?: 'SearchResult'; enabled: Scalars['Boolean']; /** An array of ids of the Collections in which this result appears */ channelIds: Array; @@ -3228,7 +3363,6 @@ export type SearchResult = { }; export type SearchResultAsset = { - __typename?: 'SearchResultAsset'; id: Scalars['ID']; preview: Scalars['String']; focalPoint?: Maybe; @@ -3243,19 +3377,32 @@ export type SearchResultSortParameter = { }; export type ServerConfig = { - __typename?: 'ServerConfig'; orderProcess: Array; permittedAssetTypes: Array; customFieldConfig: CustomFields; }; +/** Returned if the Payment settlement fails */ +export type SettlePaymentError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + +export type SettlePaymentResult = + | Payment + | SettlePaymentError + | PaymentStateTransitionError + | OrderStateTransitionError; + export type SettleRefundInput = { id: Scalars['ID']; transactionId: Scalars['String']; }; +export type SettleRefundResult = Refund | RefundStateTransitionError; + export type ShippingMethod = Node & { - __typename?: 'ShippingMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3274,7 +3421,6 @@ export type ShippingMethodFilterParameter = { }; export type ShippingMethodList = PaginatedList & { - __typename?: 'ShippingMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -3287,7 +3433,6 @@ export type ShippingMethodListOptions = { }; export type ShippingMethodQuote = { - __typename?: 'ShippingMethodQuote'; id: Scalars['ID']; price: Scalars['Int']; priceWithTax: Scalars['Int']; @@ -3305,7 +3450,6 @@ export type ShippingMethodSortParameter = { /** The price value where the result has a single price */ export type SinglePrice = { - __typename?: 'SinglePrice'; value: Scalars['Int']; }; @@ -3316,7 +3460,6 @@ export enum SortOrder { export type StockAdjustment = Node & StockMovement & { - __typename?: 'StockAdjustment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3337,7 +3480,6 @@ export type StockMovement = { export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return; export type StockMovementList = { - __typename?: 'StockMovementList'; items: Array; totalItems: Scalars['Int']; }; @@ -3356,7 +3498,6 @@ export enum StockMovementType { } export type StringCustomFieldConfig = CustomField & { - __typename?: 'StringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -3370,7 +3511,6 @@ export type StringCustomFieldConfig = CustomField & { }; export type StringFieldOption = { - __typename?: 'StringFieldOption'; value: Scalars['String']; label?: Maybe>; }; @@ -3380,8 +3520,12 @@ export type StringOperators = { contains?: Maybe; }; +/** Indicates that an operation succeeded, where we do not want to return any more specific information. */ +export type Success = { + success: Scalars['Boolean']; +}; + export type TaxCategory = Node & { - __typename?: 'TaxCategory'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3389,7 +3533,6 @@ export type TaxCategory = Node & { }; export type TaxRate = Node & { - __typename?: 'TaxRate'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3410,7 +3553,6 @@ export type TaxRateFilterParameter = { }; export type TaxRateList = PaginatedList & { - __typename?: 'TaxRateList'; items: Array; totalItems: Scalars['Int']; }; @@ -3448,7 +3590,6 @@ export type TestShippingMethodOrderLineInput = { }; export type TestShippingMethodQuote = { - __typename?: 'TestShippingMethodQuote'; price: Scalars['Int']; priceWithTax: Scalars['Int']; description: Scalars['String']; @@ -3456,11 +3597,14 @@ export type TestShippingMethodQuote = { }; export type TestShippingMethodResult = { - __typename?: 'TestShippingMethodResult'; eligible: Scalars['Boolean']; quote?: Maybe; }; +export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError; + +export type TransitionOrderToStateResult = Order | OrderStateTransitionError; + export type UpdateAddressInput = { id: Scalars['ID']; fullName?: Maybe; @@ -3503,6 +3647,8 @@ export type UpdateChannelInput = { defaultShippingZoneId?: Maybe; }; +export type UpdateChannelResult = Channel | LanguageNotAvailableError; + export type UpdateCollectionInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3550,6 +3696,8 @@ export type UpdateCustomerNoteInput = { note: Scalars['String']; }; +export type UpdateCustomerResult = Customer | EmailAddressConflictError; + export type UpdateFacetInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3571,6 +3719,8 @@ export type UpdateGlobalSettingsInput = { customFields?: Maybe; }; +export type UpdateGlobalSettingsResult = GlobalSettings | ChannelDefaultLanguageError; + export type UpdateOrderInput = { id: Scalars['ID']; customFields?: Maybe; @@ -3640,6 +3790,8 @@ export type UpdatePromotionInput = { actions?: Maybe>; }; +export type UpdatePromotionResult = Promotion | MissingConditionsError; + export type UpdateRoleInput = { id: Scalars['ID']; code?: Maybe; @@ -3678,7 +3830,6 @@ export type UpdateZoneInput = { }; export type User = Node & { - __typename?: 'User'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3691,7 +3842,6 @@ export type User = Node & { }; export type Zone = Node & { - __typename?: 'Zone'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3699,645 +3849,502 @@ export type Zone = Node & { members: Array; }; -export type GetAdministratorsQueryVariables = { +export type GetAdministratorsQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetAdministratorsQuery = { __typename?: 'Query' } & { - administrators: { __typename?: 'AdministratorList' } & Pick & { - items: Array<{ __typename?: 'Administrator' } & AdministratorFragment>; - }; +export type GetAdministratorsQuery = { + administrators: Pick & { items: Array }; }; -export type GetAdministratorQueryVariables = { +export type GetAdministratorQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetAdministratorQuery = { __typename?: 'Query' } & { - administrator?: Maybe<{ __typename?: 'Administrator' } & AdministratorFragment>; -}; +export type GetAdministratorQuery = { administrator?: Maybe }; -export type UpdateAdministratorMutationVariables = { +export type UpdateAdministratorMutationVariables = Exact<{ input: UpdateAdministratorInput; -}; +}>; -export type UpdateAdministratorMutation = { __typename?: 'Mutation' } & { - updateAdministrator: { __typename?: 'Administrator' } & AdministratorFragment; -}; +export type UpdateAdministratorMutation = { updateAdministrator: AdministratorFragment }; -export type DeleteAdministratorMutationVariables = { +export type DeleteAdministratorMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteAdministratorMutation = { __typename?: 'Mutation' } & { - deleteAdministrator: { __typename?: 'DeletionResponse' } & Pick; +export type DeleteAdministratorMutation = { + deleteAdministrator: Pick; }; -export type Q1QueryVariables = {}; +export type Q1QueryVariables = Exact<{ [key: string]: never }>; -export type Q1Query = { __typename?: 'Query' } & { - product?: Maybe<{ __typename?: 'Product' } & Pick>; -}; +export type Q1Query = { product?: Maybe> }; -export type Q2QueryVariables = {}; +export type Q2QueryVariables = Exact<{ [key: string]: never }>; -export type Q2Query = { __typename?: 'Query' } & { - product?: Maybe<{ __typename?: 'Product' } & Pick>; -}; +export type Q2Query = { product?: Maybe> }; -export type GetAssetQueryVariables = { +export type GetAssetQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetAssetQuery = { __typename?: 'Query' } & { - asset?: Maybe<{ __typename?: 'Asset' } & Pick & AssetFragment>; -}; +export type GetAssetQuery = { asset?: Maybe & AssetFragment> }; -export type AssetFragFirstFragment = { __typename?: 'Asset' } & Pick; +export type AssetFragFirstFragment = Pick; -export type GetAssetFragmentFirstQueryVariables = { +export type GetAssetFragmentFirstQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetAssetFragmentFirstQuery = { __typename?: 'Query' } & { - asset?: Maybe<{ __typename?: 'Asset' } & AssetFragFirstFragment>; -}; +export type GetAssetFragmentFirstQuery = { asset?: Maybe }; -export type CreateAssetsMutationVariables = { +export type CreateAssetsMutationVariables = Exact<{ input: Array; -}; +}>; -export type CreateAssetsMutation = { __typename?: 'Mutation' } & { +export type CreateAssetsMutation = { createAssets: Array< - { __typename?: 'Asset' } & { - focalPoint?: Maybe<{ __typename?: 'Coordinate' } & Pick>; - } & AssetFragment + | ({ focalPoint?: Maybe> } & AssetFragment) + | Pick >; }; -export type CanCreateCustomerMutationVariables = { +export type CanCreateCustomerMutationVariables = Exact<{ input: CreateCustomerInput; -}; +}>; -export type CanCreateCustomerMutation = { __typename?: 'Mutation' } & { - createCustomer: { __typename?: 'Customer' } & Pick; -}; +export type CanCreateCustomerMutation = { createCustomer: Pick }; -export type GetCustomerCountQueryVariables = {}; +export type GetCustomerCountQueryVariables = Exact<{ [key: string]: never }>; -export type GetCustomerCountQuery = { __typename?: 'Query' } & { - customers: { __typename?: 'CustomerList' } & Pick; -}; +export type GetCustomerCountQuery = { customers: Pick }; -export type AuthenticateMutationVariables = { +export type AuthenticateMutationVariables = Exact<{ input: AuthenticationInput; -}; +}>; -export type AuthenticateMutation = { __typename?: 'Mutation' } & { - authenticate: { __typename?: 'LoginResult' } & { - user: { __typename?: 'CurrentUser' } & Pick; - }; +export type AuthenticateMutation = { + authenticate: CurrentUserFragment | Pick; }; -export type GetCustomersQueryVariables = {}; +export type GetCustomersQueryVariables = Exact<{ [key: string]: never }>; -export type GetCustomersQuery = { __typename?: 'Query' } & { - customers: { __typename?: 'CustomerList' } & Pick & { - items: Array<{ __typename?: 'Customer' } & Pick>; - }; +export type GetCustomersQuery = { + customers: Pick & { items: Array> }; }; -export type GetCustomerUserAuthQueryVariables = { +export type GetCustomerUserAuthQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCustomerUserAuthQuery = { __typename?: 'Query' } & { +export type GetCustomerUserAuthQuery = { customer?: Maybe< - { __typename?: 'Customer' } & Pick & { - user?: Maybe< - { __typename?: 'User' } & Pick & { - authenticationMethods: Array< - { __typename?: 'AuthenticationMethod' } & Pick< - AuthenticationMethod, - 'id' | 'strategy' - > - >; - } - >; - } + Pick & { + user?: Maybe< + Pick & { + authenticationMethods: Array>; + } + >; + } >; }; -export type GetChannelsQueryVariables = {}; +export type GetChannelsQueryVariables = Exact<{ [key: string]: never }>; -export type GetChannelsQuery = { __typename?: 'Query' } & { - channels: Array<{ __typename?: 'Channel' } & Pick>; -}; +export type GetChannelsQuery = { channels: Array> }; -export type DeleteChannelMutationVariables = { +export type DeleteChannelMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteChannelMutation = { __typename?: 'Mutation' } & { - deleteChannel: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteChannelMutation = { deleteChannel: Pick }; -export type UpdateGlobalSettingsMutationVariables = { +export type UpdateGlobalLanguagesMutationVariables = Exact<{ input: UpdateGlobalSettingsInput; -}; +}>; -export type UpdateGlobalSettingsMutation = { __typename?: 'Mutation' } & { - updateGlobalSettings: { __typename?: 'GlobalSettings' } & Pick< - GlobalSettings, - 'id' | 'availableLanguages' - >; +export type UpdateGlobalLanguagesMutation = { + updateGlobalSettings: Pick; }; -export type GetCollectionsWithAssetsQueryVariables = {}; +export type GetCollectionsWithAssetsQueryVariables = Exact<{ [key: string]: never }>; -export type GetCollectionsWithAssetsQuery = { __typename?: 'Query' } & { - collections: { __typename?: 'CollectionList' } & { - items: Array< - { __typename?: 'Collection' } & { assets: Array<{ __typename?: 'Asset' } & Pick> } - >; - }; +export type GetCollectionsWithAssetsQuery = { + collections: { items: Array<{ assets: Array> }> }; }; -export type GetProductsWithVariantIdsQueryVariables = {}; +export type GetProductsWithVariantIdsQueryVariables = Exact<{ [key: string]: never }>; -export type GetProductsWithVariantIdsQuery = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & { - items: Array< - { __typename?: 'Product' } & Pick & { - variants: Array<{ __typename?: 'ProductVariant' } & Pick>; - } - >; +export type GetProductsWithVariantIdsQuery = { + products: { + items: Array & { variants: Array> }>; }; }; -export type GetCollectionQueryVariables = { +export type GetCollectionQueryVariables = Exact<{ id?: Maybe; slug?: Maybe; -}; +}>; -export type GetCollectionQuery = { __typename?: 'Query' } & { +export type GetCollectionQuery = { collection?: Maybe< - { __typename?: 'Collection' } & { - productVariants: { __typename?: 'ProductVariantList' } & { - items: Array<{ __typename?: 'ProductVariant' } & Pick>; - }; - } & CollectionFragment + { productVariants: { items: Array> } } & CollectionFragment >; }; -export type MoveCollectionMutationVariables = { +export type MoveCollectionMutationVariables = Exact<{ input: MoveCollectionInput; -}; +}>; -export type MoveCollectionMutation = { __typename?: 'Mutation' } & { - moveCollection: { __typename?: 'Collection' } & CollectionFragment; -}; +export type MoveCollectionMutation = { moveCollection: CollectionFragment }; -export type GetFacetValuesQueryVariables = {}; +export type GetFacetValuesQueryVariables = Exact<{ [key: string]: never }>; -export type GetFacetValuesQuery = { __typename?: 'Query' } & { - facets: { __typename?: 'FacetList' } & { - items: Array< - { __typename?: 'Facet' } & { values: Array<{ __typename?: 'FacetValue' } & FacetValueFragment> } - >; - }; -}; +export type GetFacetValuesQuery = { facets: { items: Array<{ values: Array }> } }; -export type GetCollectionsQueryVariables = {}; +export type GetCollectionsQueryVariables = Exact<{ [key: string]: never }>; -export type GetCollectionsQuery = { __typename?: 'Query' } & { - collections: { __typename?: 'CollectionList' } & { +export type GetCollectionsQuery = { + collections: { items: Array< - { __typename?: 'Collection' } & Pick & { - parent?: Maybe<{ __typename?: 'Collection' } & Pick>; - } + Pick & { parent?: Maybe> } >; }; }; -export type GetCollectionProductsQueryVariables = { +export type GetCollectionProductsQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCollectionProductsQuery = { __typename?: 'Query' } & { - collection?: Maybe< - { __typename?: 'Collection' } & { - productVariants: { __typename?: 'ProductVariantList' } & { - items: Array< - { __typename?: 'ProductVariant' } & Pick & { - facetValues: Array<{ __typename?: 'FacetValue' } & Pick>; - } - >; - }; - } - >; +export type GetCollectionProductsQuery = { + collection?: Maybe<{ + productVariants: { + items: Array< + Pick & { + facetValues: Array>; + } + >; + }; + }>; }; -export type CreateCollectionSelectVariantsMutationVariables = { +export type CreateCollectionSelectVariantsMutationVariables = Exact<{ input: CreateCollectionInput; -}; +}>; -export type CreateCollectionSelectVariantsMutation = { __typename?: 'Mutation' } & { - createCollection: { __typename?: 'Collection' } & Pick & { - productVariants: { __typename?: 'ProductVariantList' } & Pick< - ProductVariantList, - 'totalItems' - > & { items: Array<{ __typename?: 'ProductVariant' } & Pick> }; +export type CreateCollectionSelectVariantsMutation = { + createCollection: Pick & { + productVariants: Pick & { + items: Array>; }; + }; }; -export type GetCollectionBreadcrumbsQueryVariables = { +export type GetCollectionBreadcrumbsQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCollectionBreadcrumbsQuery = { __typename?: 'Query' } & { - collection?: Maybe< - { __typename?: 'Collection' } & { - breadcrumbs: Array< - { __typename?: 'CollectionBreadcrumb' } & Pick - >; - } - >; +export type GetCollectionBreadcrumbsQuery = { + collection?: Maybe<{ breadcrumbs: Array> }>; }; -export type GetCollectionsForProductsQueryVariables = { +export type GetCollectionsForProductsQueryVariables = Exact<{ term: Scalars['String']; -}; +}>; -export type GetCollectionsForProductsQuery = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & { - items: Array< - { __typename?: 'Product' } & Pick & { - collections: Array<{ __typename?: 'Collection' } & Pick>; - } - >; +export type GetCollectionsForProductsQuery = { + products: { + items: Array & { collections: Array> }>; }; }; -export type DeleteCollectionMutationVariables = { +export type DeleteCollectionMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCollectionMutation = { __typename?: 'Mutation' } & { - deleteCollection: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteCollectionMutation = { deleteCollection: Pick }; -export type GetProductCollectionsQueryVariables = { +export type GetProductCollectionsQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetProductCollectionsQuery = { __typename?: 'Query' } & { - product?: Maybe< - { __typename?: 'Product' } & Pick & { - collections: Array<{ __typename?: 'Collection' } & Pick>; - } - >; +export type GetProductCollectionsQuery = { + product?: Maybe & { collections: Array> }>; }; -export type GetProductCollectionsWithParentQueryVariables = { +export type GetProductCollectionsWithParentQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetProductCollectionsWithParentQuery = { __typename?: 'Query' } & { +export type GetProductCollectionsWithParentQuery = { product?: Maybe< - { __typename?: 'Product' } & Pick & { - collections: Array< - { __typename?: 'Collection' } & Pick & { - parent?: Maybe<{ __typename?: 'Collection' } & Pick>; - } - >; - } + Pick & { + collections: Array< + Pick & { parent?: Maybe> } + >; + } >; }; -export type DeleteCountryMutationVariables = { +export type DeleteCountryMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCountryMutation = { __typename?: 'Mutation' } & { - deleteCountry: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteCountryMutation = { deleteCountry: Pick }; -export type GetCountryQueryVariables = { +export type GetCountryQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCountryQuery = { __typename?: 'Query' } & { - country?: Maybe<{ __typename?: 'Country' } & CountryFragment>; -}; +export type GetCountryQuery = { country?: Maybe }; -export type CreateCountryMutationVariables = { +export type CreateCountryMutationVariables = Exact<{ input: CreateCountryInput; -}; +}>; -export type CreateCountryMutation = { __typename?: 'Mutation' } & { - createCountry: { __typename?: 'Country' } & CountryFragment; -}; +export type CreateCountryMutation = { createCountry: CountryFragment }; -export type DeleteCustomerAddressMutationVariables = { +export type DeleteCustomerAddressMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCustomerAddressMutation = { __typename?: 'Mutation' } & Pick< - Mutation, - 'deleteCustomerAddress' ->; +export type DeleteCustomerAddressMutation = { deleteCustomerAddress: Pick }; -export type GetCustomerWithUserQueryVariables = { +export type GetCustomerWithUserQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCustomerWithUserQuery = { __typename?: 'Query' } & { - customer?: Maybe< - { __typename?: 'Customer' } & Pick & { - user?: Maybe<{ __typename?: 'User' } & Pick>; - } - >; +export type GetCustomerWithUserQuery = { + customer?: Maybe & { user?: Maybe> }>; }; -export type GetCustomerOrdersQueryVariables = { +export type GetCustomerOrdersQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCustomerOrdersQuery = { __typename?: 'Query' } & { - customer?: Maybe< - { __typename?: 'Customer' } & { - orders: { __typename?: 'OrderList' } & Pick & { - items: Array<{ __typename?: 'Order' } & Pick>; - }; - } - >; +export type GetCustomerOrdersQuery = { + customer?: Maybe<{ orders: Pick & { items: Array> } }>; }; -export type AddNoteToCustomerMutationVariables = { +export type AddNoteToCustomerMutationVariables = Exact<{ input: AddNoteToCustomerInput; -}; - -export type AddNoteToCustomerMutation = { __typename?: 'Mutation' } & { - addNoteToCustomer: { __typename?: 'Customer' } & CustomerFragment; -}; - -export type ReindexMutationVariables = {}; +}>; -export type ReindexMutation = { __typename?: 'Mutation' } & { - reindex: { __typename?: 'Job' } & Pick; -}; +export type AddNoteToCustomerMutation = { addNoteToCustomer: CustomerFragment }; -export type SearchProductsAdminQueryVariables = { - input: SearchInput; -}; +export type ReindexMutationVariables = Exact<{ [key: string]: never }>; -export type SearchProductsAdminQuery = { __typename?: 'Query' } & { - search: { __typename?: 'SearchResponse' } & Pick & { - items: Array< - { __typename?: 'SearchResult' } & Pick< - SearchResult, - | 'enabled' - | 'productId' - | 'productName' - | 'productPreview' - | 'productVariantId' - | 'productVariantName' - | 'productVariantPreview' - | 'sku' - > - >; - }; -}; +export type ReindexMutation = { reindex: Pick }; -export type SearchFacetValuesQueryVariables = { +export type SearchProductsAdminQueryVariables = Exact<{ input: SearchInput; -}; +}>; -export type SearchFacetValuesQuery = { __typename?: 'Query' } & { - search: { __typename?: 'SearchResponse' } & Pick & { - facetValues: Array< - { __typename?: 'FacetValueResult' } & Pick & { - facetValue: { __typename?: 'FacetValue' } & Pick; - } - >; - }; +export type SearchProductsAdminQuery = { + search: Pick & { + items: Array< + Pick< + SearchResult, + | 'enabled' + | 'productId' + | 'productName' + | 'productPreview' + | 'productVariantId' + | 'productVariantName' + | 'productVariantPreview' + | 'sku' + > + >; + }; }; -export type SearchGetAssetsQueryVariables = { +export type SearchFacetValuesQueryVariables = Exact<{ input: SearchInput; -}; +}>; -export type SearchGetAssetsQuery = { __typename?: 'Query' } & { - search: { __typename?: 'SearchResponse' } & Pick & { - items: Array< - { __typename?: 'SearchResult' } & Pick< - SearchResult, - 'productId' | 'productName' | 'productVariantName' - > & { - productAsset?: Maybe< - { __typename?: 'SearchResultAsset' } & Pick< - SearchResultAsset, - 'id' | 'preview' - > & { - focalPoint?: Maybe< - { __typename?: 'Coordinate' } & Pick - >; - } - >; - productVariantAsset?: Maybe< - { __typename?: 'SearchResultAsset' } & Pick< - SearchResultAsset, - 'id' | 'preview' - > & { - focalPoint?: Maybe< - { __typename?: 'Coordinate' } & Pick - >; - } - >; - } - >; - }; +export type SearchFacetValuesQuery = { + search: Pick & { + facetValues: Array & { facetValue: Pick }>; + }; }; -export type SearchGetPricesQueryVariables = { +export type SearchGetAssetsQueryVariables = Exact<{ input: SearchInput; -}; +}>; -export type SearchGetPricesQuery = { __typename?: 'Query' } & { - search: { __typename?: 'SearchResponse' } & { +export type SearchGetAssetsQuery = { + search: Pick & { items: Array< - { __typename?: 'SearchResult' } & { - price: - | ({ __typename?: 'PriceRange' } & Pick) - | ({ __typename?: 'SinglePrice' } & Pick); - priceWithTax: - | ({ __typename?: 'PriceRange' } & Pick) - | ({ __typename?: 'SinglePrice' } & Pick); + Pick & { + productAsset?: Maybe< + Pick & { + focalPoint?: Maybe>; + } + >; + productVariantAsset?: Maybe< + Pick & { + focalPoint?: Maybe>; + } + >; } >; }; }; -export type IdTest1QueryVariables = {}; - -export type IdTest1Query = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & { - items: Array<{ __typename?: 'Product' } & Pick>; +export type SearchGetPricesQueryVariables = Exact<{ + input: SearchInput; +}>; + +export type SearchGetPricesQuery = { + search: { + items: Array<{ + price: Pick | Pick; + priceWithTax: Pick | Pick; + }>; }; }; -export type IdTest2QueryVariables = {}; +export type IdTest1QueryVariables = Exact<{ [key: string]: never }>; -export type IdTest2Query = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & { +export type IdTest1Query = { products: { items: Array> } }; + +export type IdTest2QueryVariables = Exact<{ [key: string]: never }>; + +export type IdTest2Query = { + products: { items: Array< - { __typename?: 'Product' } & Pick & { - variants: Array< - { __typename?: 'ProductVariant' } & Pick & { - options: Array< - { __typename?: 'ProductOption' } & Pick - >; - } - >; - } + Pick & { + variants: Array< + Pick & { options: Array> } + >; + } >; }; }; -export type IdTest3QueryVariables = {}; +export type IdTest3QueryVariables = Exact<{ [key: string]: never }>; -export type IdTest3Query = { __typename?: 'Query' } & { - product?: Maybe<{ __typename?: 'Product' } & Pick>; -}; +export type IdTest3Query = { product?: Maybe> }; -export type IdTest4MutationVariables = {}; +export type IdTest4MutationVariables = Exact<{ [key: string]: never }>; -export type IdTest4Mutation = { __typename?: 'Mutation' } & { - updateProduct: { __typename?: 'Product' } & Pick & { - featuredAsset?: Maybe<{ __typename?: 'Asset' } & Pick>; - }; +export type IdTest4Mutation = { + updateProduct: Pick & { featuredAsset?: Maybe> }; }; -export type IdTest5MutationVariables = {}; +export type IdTest5MutationVariables = Exact<{ [key: string]: never }>; -export type IdTest5Mutation = { __typename?: 'Mutation' } & { - updateProduct: { __typename?: 'Product' } & Pick; -}; +export type IdTest5Mutation = { updateProduct: Pick }; -export type IdTest6QueryVariables = { +export type IdTest6QueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type IdTest6Query = { __typename?: 'Query' } & { - product?: Maybe<{ __typename?: 'Product' } & Pick>; -}; +export type IdTest6Query = { product?: Maybe> }; -export type IdTest7MutationVariables = { +export type IdTest7MutationVariables = Exact<{ input: UpdateProductInput; -}; +}>; -export type IdTest7Mutation = { __typename?: 'Mutation' } & { - updateProduct: { __typename?: 'Product' } & Pick & { - featuredAsset?: Maybe<{ __typename?: 'Asset' } & Pick>; - }; +export type IdTest7Mutation = { + updateProduct: Pick & { featuredAsset?: Maybe> }; }; -export type IdTest8MutationVariables = { +export type IdTest8MutationVariables = Exact<{ input: UpdateProductInput; -}; +}>; -export type IdTest8Mutation = { __typename?: 'Mutation' } & { - updateProduct: { __typename?: 'Product' } & Pick; -}; +export type IdTest8Mutation = { updateProduct: Pick }; -export type IdTest9QueryVariables = {}; +export type IdTest9QueryVariables = Exact<{ [key: string]: never }>; -export type IdTest9Query = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & { - items: Array<{ __typename?: 'Product' } & ProdFragmentFragment>; - }; -}; +export type IdTest9Query = { products: { items: Array } }; -export type ProdFragmentFragment = { __typename?: 'Product' } & Pick & { - featuredAsset?: Maybe<{ __typename?: 'Asset' } & Pick>; - }; +export type ProdFragmentFragment = Pick & { featuredAsset?: Maybe> }; -export type GetFacetWithValuesQueryVariables = { +export type GetFacetWithValuesQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetFacetWithValuesQuery = { __typename?: 'Query' } & { - facet?: Maybe<{ __typename?: 'Facet' } & FacetWithValuesFragment>; -}; +export type GetFacetWithValuesQuery = { facet?: Maybe }; -export type DeleteFacetValuesMutationVariables = { +export type DeleteFacetValuesMutationVariables = Exact<{ ids: Array; force?: Maybe; -}; +}>; -export type DeleteFacetValuesMutation = { __typename?: 'Mutation' } & { - deleteFacetValues: Array< - { __typename?: 'DeletionResponse' } & Pick - >; +export type DeleteFacetValuesMutation = { + deleteFacetValues: Array>; }; -export type DeleteFacetMutationVariables = { +export type DeleteFacetMutationVariables = Exact<{ id: Scalars['ID']; force?: Maybe; -}; +}>; -export type DeleteFacetMutation = { __typename?: 'Mutation' } & { - deleteFacet: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteFacetMutation = { deleteFacet: Pick }; -export type GetProductListWithVariantsQueryVariables = {}; +export type GetProductListWithVariantsQueryVariables = Exact<{ [key: string]: never }>; -export type GetProductListWithVariantsQuery = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & Pick & { - items: Array< - { __typename?: 'Product' } & Pick & { - variants: Array< - { __typename?: 'ProductVariant' } & Pick - >; - } - >; - }; +export type GetProductListWithVariantsQuery = { + products: Pick & { + items: Array & { variants: Array> }>; + }; }; -export type CreateFacetValuesMutationVariables = { +export type CreateFacetValuesMutationVariables = Exact<{ input: Array; -}; +}>; -export type CreateFacetValuesMutation = { __typename?: 'Mutation' } & { - createFacetValues: Array<{ __typename?: 'FacetValue' } & FacetValueFragment>; -}; +export type CreateFacetValuesMutation = { createFacetValues: Array }; -export type UpdateFacetValuesMutationVariables = { +export type UpdateFacetValuesMutationVariables = Exact<{ input: Array; +}>; + +export type UpdateFacetValuesMutation = { updateFacetValues: Array }; + +export type GlobalSettingsFragment = Pick & { + serverConfig: Pick & { + orderProcess: Array>; + customFieldConfig: { + Customer: Array< + | Pick + | Pick + | Pick + | Pick + | Pick + | Pick + >; + }; + }; }; -export type UpdateFacetValuesMutation = { __typename?: 'Mutation' } & { - updateFacetValues: Array<{ __typename?: 'FacetValue' } & FacetValueFragment>; +export type GetGlobalSettingsQueryVariables = Exact<{ [key: string]: never }>; + +export type GetGlobalSettingsQuery = { globalSettings: GlobalSettingsFragment }; + +export type UpdateGlobalSettingsMutationVariables = Exact<{ + input: UpdateGlobalSettingsInput; +}>; + +export type UpdateGlobalSettingsMutation = { + updateGlobalSettings: GlobalSettingsFragment | Pick; }; -export type AdministratorFragment = { __typename?: 'Administrator' } & Pick< - Administrator, - 'id' | 'firstName' | 'lastName' | 'emailAddress' -> & { - user: { __typename?: 'User' } & Pick & { - roles: Array< - { __typename?: 'Role' } & Pick - >; - }; +export type AdministratorFragment = Pick & { + user: Pick & { + roles: Array>; }; +}; -export type AssetFragment = { __typename?: 'Asset' } & Pick< +export type AssetFragment = Pick< Asset, 'id' | 'name' | 'fileSize' | 'mimeType' | 'type' | 'preview' | 'source' >; -export type ProductVariantFragment = { __typename?: 'ProductVariant' } & Pick< +export type ProductVariantFragment = Pick< ProductVariant, | 'id' | 'enabled' @@ -4351,113 +4358,63 @@ export type ProductVariantFragment = { __typename?: 'ProductVariant' } & Pick< | 'trackInventory' | 'sku' > & { - taxRateApplied: { __typename?: 'TaxRate' } & Pick; - taxCategory: { __typename?: 'TaxCategory' } & Pick; - options: Array< - { __typename?: 'ProductOption' } & Pick - >; - facetValues: Array< - { __typename?: 'FacetValue' } & Pick & { - facet: { __typename?: 'Facet' } & Pick; - } - >; - featuredAsset?: Maybe<{ __typename?: 'Asset' } & AssetFragment>; - assets: Array<{ __typename?: 'Asset' } & AssetFragment>; - translations: Array< - { __typename?: 'ProductVariantTranslation' } & Pick< - ProductVariantTranslation, - 'id' | 'languageCode' | 'name' - > - >; - }; + taxRateApplied: Pick; + taxCategory: Pick; + options: Array>; + facetValues: Array & { facet: Pick }>; + featuredAsset?: Maybe; + assets: Array; + translations: Array>; +}; -export type ProductWithVariantsFragment = { __typename?: 'Product' } & Pick< +export type ProductWithVariantsFragment = Pick< Product, 'id' | 'enabled' | 'languageCode' | 'name' | 'slug' | 'description' > & { - featuredAsset?: Maybe<{ __typename?: 'Asset' } & AssetFragment>; - assets: Array<{ __typename?: 'Asset' } & AssetFragment>; - translations: Array< - { __typename?: 'ProductTranslation' } & Pick< - ProductTranslation, - 'languageCode' | 'name' | 'slug' | 'description' - > - >; - optionGroups: Array< - { __typename?: 'ProductOptionGroup' } & Pick< - ProductOptionGroup, - 'id' | 'languageCode' | 'code' | 'name' - > - >; - variants: Array<{ __typename?: 'ProductVariant' } & ProductVariantFragment>; - facetValues: Array< - { __typename?: 'FacetValue' } & Pick & { - facet: { __typename?: 'Facet' } & Pick; - } - >; - channels: Array<{ __typename?: 'Channel' } & Pick>; - }; + featuredAsset?: Maybe; + assets: Array; + translations: Array>; + optionGroups: Array>; + variants: Array; + facetValues: Array & { facet: Pick }>; + channels: Array>; +}; -export type RoleFragment = { __typename?: 'Role' } & Pick< - Role, - 'id' | 'code' | 'description' | 'permissions' -> & { channels: Array<{ __typename?: 'Channel' } & Pick> }; +export type RoleFragment = Pick & { + channels: Array>; +}; -export type ConfigurableOperationFragment = { __typename?: 'ConfigurableOperation' } & Pick< - ConfigurableOperation, - 'code' -> & { args: Array<{ __typename?: 'ConfigArg' } & Pick> }; +export type ConfigurableOperationFragment = Pick & { + args: Array>; +}; -export type CollectionFragment = { __typename?: 'Collection' } & Pick< +export type CollectionFragment = Pick< Collection, 'id' | 'name' | 'slug' | 'description' | 'isPrivate' | 'languageCode' > & { - featuredAsset?: Maybe<{ __typename?: 'Asset' } & AssetFragment>; - assets: Array<{ __typename?: 'Asset' } & AssetFragment>; - filters: Array<{ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment>; - translations: Array< - { __typename?: 'CollectionTranslation' } & Pick< - CollectionTranslation, - 'id' | 'languageCode' | 'name' | 'slug' | 'description' - > - >; - parent?: Maybe<{ __typename?: 'Collection' } & Pick>; - children?: Maybe>>; - }; + featuredAsset?: Maybe; + assets: Array; + filters: Array; + translations: Array>; + parent?: Maybe>; + children?: Maybe>>; +}; -export type FacetValueFragment = { __typename?: 'FacetValue' } & Pick< - FacetValue, - 'id' | 'languageCode' | 'code' | 'name' -> & { - translations: Array< - { __typename?: 'FacetValueTranslation' } & Pick< - FacetValueTranslation, - 'id' | 'languageCode' | 'name' - > - >; - facet: { __typename?: 'Facet' } & Pick; - }; +export type FacetValueFragment = Pick & { + translations: Array>; + facet: Pick; +}; -export type FacetWithValuesFragment = { __typename?: 'Facet' } & Pick< - Facet, - 'id' | 'languageCode' | 'isPrivate' | 'code' | 'name' -> & { - translations: Array< - { __typename?: 'FacetTranslation' } & Pick - >; - values: Array<{ __typename?: 'FacetValue' } & FacetValueFragment>; - }; +export type FacetWithValuesFragment = Pick & { + translations: Array>; + values: Array; +}; -export type CountryFragment = { __typename?: 'Country' } & Pick< - Country, - 'id' | 'code' | 'name' | 'enabled' -> & { - translations: Array< - { __typename?: 'CountryTranslation' } & Pick - >; - }; +export type CountryFragment = Pick & { + translations: Array>; +}; -export type AddressFragment = { __typename?: 'Address' } & Pick< +export type AddressFragment = Pick< Address, | 'id' | 'fullName' @@ -4470,22 +4427,19 @@ export type AddressFragment = { __typename?: 'Address' } & Pick< | 'phoneNumber' | 'defaultShippingAddress' | 'defaultBillingAddress' -> & { country: { __typename?: 'Country' } & Pick }; +> & { country: Pick }; -export type CustomerFragment = { __typename?: 'Customer' } & Pick< +export type CustomerFragment = Pick< Customer, 'id' | 'title' | 'firstName' | 'lastName' | 'phoneNumber' | 'emailAddress' > & { - user?: Maybe<{ __typename?: 'User' } & Pick>; - addresses?: Maybe>; - }; + user?: Maybe>; + addresses?: Maybe>; +}; -export type AdjustmentFragment = { __typename?: 'Adjustment' } & Pick< - Adjustment, - 'adjustmentSource' | 'amount' | 'description' | 'type' ->; +export type AdjustmentFragment = Pick; -export type ShippingAddressFragment = { __typename?: 'OrderAddress' } & Pick< +export type ShippingAddressFragment = Pick< OrderAddress, | 'fullName' | 'company' @@ -4498,17 +4452,17 @@ export type ShippingAddressFragment = { __typename?: 'OrderAddress' } & Pick< | 'phoneNumber' >; -export type OrderFragment = { __typename?: 'Order' } & Pick< +export type OrderFragment = Pick< Order, 'id' | 'createdAt' | 'updatedAt' | 'code' | 'state' | 'total' | 'currencyCode' -> & { customer?: Maybe<{ __typename?: 'Customer' } & Pick> }; +> & { customer?: Maybe> }; -export type OrderItemFragment = { __typename?: 'OrderItem' } & Pick< +export type OrderItemFragment = Pick< OrderItem, 'id' | 'cancelled' | 'unitPrice' | 'unitPriceIncludesTax' | 'unitPriceWithTax' | 'taxRate' -> & { fulfillment?: Maybe<{ __typename?: 'Fulfillment' } & Pick> }; +> & { fulfillment?: Maybe> }; -export type OrderWithLinesFragment = { __typename?: 'Order' } & Pick< +export type OrderWithLinesFragment = Pick< Order, | 'id' | 'createdAt' @@ -4523,501 +4477,406 @@ export type OrderWithLinesFragment = { __typename?: 'Order' } & Pick< | 'shipping' | 'total' > & { - customer?: Maybe<{ __typename?: 'Customer' } & Pick>; - lines: Array< - { __typename?: 'OrderLine' } & Pick< - OrderLine, - 'id' | 'unitPrice' | 'unitPriceWithTax' | 'quantity' | 'totalPrice' - > & { - featuredAsset?: Maybe<{ __typename?: 'Asset' } & Pick>; - productVariant: { __typename?: 'ProductVariant' } & Pick< - ProductVariant, - 'id' | 'name' | 'sku' - >; - items: Array<{ __typename?: 'OrderItem' } & OrderItemFragment>; - } - >; - adjustments: Array<{ __typename?: 'Adjustment' } & AdjustmentFragment>; - shippingMethod?: Maybe< - { __typename?: 'ShippingMethod' } & Pick - >; - shippingAddress?: Maybe<{ __typename?: 'OrderAddress' } & ShippingAddressFragment>; - payments?: Maybe< - Array< - { __typename?: 'Payment' } & Pick< - Payment, - 'id' | 'transactionId' | 'amount' | 'method' | 'state' | 'metadata' - > - > - >; - }; + customer?: Maybe>; + lines: Array< + Pick & { + featuredAsset?: Maybe>; + productVariant: Pick; + items: Array; + } + >; + adjustments: Array; + shippingMethod?: Maybe>; + shippingAddress?: Maybe; + payments?: Maybe< + Array> + >; +}; -export type PromotionFragment = { __typename?: 'Promotion' } & Pick< +export type PromotionFragment = Pick< Promotion, 'id' | 'createdAt' | 'updatedAt' | 'couponCode' | 'startsAt' | 'endsAt' | 'name' | 'enabled' -> & { - conditions: Array<{ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment>; - actions: Array<{ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment>; - }; +> & { conditions: Array; actions: Array }; -export type ZoneFragment = { __typename?: 'Zone' } & Pick & { - members: Array<{ __typename?: 'Country' } & CountryFragment>; - }; +export type ZoneFragment = Pick & { members: Array }; -export type TaxRateFragment = { __typename?: 'TaxRate' } & Pick< - TaxRate, - 'id' | 'name' | 'enabled' | 'value' -> & { - category: { __typename?: 'TaxCategory' } & Pick; - zone: { __typename?: 'Zone' } & Pick; - customerGroup?: Maybe<{ __typename?: 'CustomerGroup' } & Pick>; - }; +export type TaxRateFragment = Pick & { + category: Pick; + zone: Pick; + customerGroup?: Maybe>; +}; + +export type CurrentUserFragment = Pick & { + channels: Array>; +}; -export type CurrentUserFragment = { __typename?: 'CurrentUser' } & Pick & { - channels: Array< - { __typename?: 'CurrentUserChannel' } & Pick +export type VariantWithStockFragment = Pick & { + stockMovements: Pick & { + items: Array< + | Pick + | Pick + | Pick + | Pick >; }; +}; -export type VariantWithStockFragment = { __typename?: 'ProductVariant' } & Pick< - ProductVariant, - 'id' | 'stockOnHand' -> & { - stockMovements: { __typename?: 'StockMovementList' } & Pick & { - items: Array< - | ({ __typename?: 'StockAdjustment' } & Pick) - | ({ __typename?: 'Sale' } & Pick) - | ({ __typename?: 'Cancellation' } & Pick) - | ({ __typename?: 'Return' } & Pick) - >; - }; - }; +export type FulfillmentFragment = Pick< + Fulfillment, + 'id' | 'state' | 'nextStates' | 'method' | 'trackingCode' +> & { orderItems: Array> }; + +export type ChannelFragment = Pick< + Channel, + 'id' | 'code' | 'token' | 'currencyCode' | 'defaultLanguageCode' | 'pricesIncludeTax' +> & { defaultShippingZone?: Maybe>; defaultTaxZone?: Maybe> }; -export type CreateAdministratorMutationVariables = { +export type CreateAdministratorMutationVariables = Exact<{ input: CreateAdministratorInput; -}; +}>; -export type CreateAdministratorMutation = { __typename?: 'Mutation' } & { - createAdministrator: { __typename?: 'Administrator' } & AdministratorFragment; -}; +export type CreateAdministratorMutation = { createAdministrator: AdministratorFragment }; -export type UpdateProductMutationVariables = { +export type UpdateProductMutationVariables = Exact<{ input: UpdateProductInput; -}; +}>; -export type UpdateProductMutation = { __typename?: 'Mutation' } & { - updateProduct: { __typename?: 'Product' } & ProductWithVariantsFragment; -}; +export type UpdateProductMutation = { updateProduct: ProductWithVariantsFragment }; -export type CreateProductMutationVariables = { +export type CreateProductMutationVariables = Exact<{ input: CreateProductInput; -}; +}>; -export type CreateProductMutation = { __typename?: 'Mutation' } & { - createProduct: { __typename?: 'Product' } & ProductWithVariantsFragment; -}; +export type CreateProductMutation = { createProduct: ProductWithVariantsFragment }; -export type GetProductWithVariantsQueryVariables = { +export type GetProductWithVariantsQueryVariables = Exact<{ id?: Maybe; slug?: Maybe; -}; +}>; -export type GetProductWithVariantsQuery = { __typename?: 'Query' } & { - product?: Maybe<{ __typename?: 'Product' } & ProductWithVariantsFragment>; -}; +export type GetProductWithVariantsQuery = { product?: Maybe }; -export type GetProductListQueryVariables = { +export type GetProductListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetProductListQuery = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & Pick & { - items: Array< - { __typename?: 'Product' } & Pick & { - featuredAsset?: Maybe<{ __typename?: 'Asset' } & Pick>; - } - >; - }; +export type GetProductListQuery = { + products: Pick & { + items: Array< + Pick & { + featuredAsset?: Maybe>; + } + >; + }; }; -export type CreateProductVariantsMutationVariables = { +export type CreateProductVariantsMutationVariables = Exact<{ input: Array; -}; +}>; -export type CreateProductVariantsMutation = { __typename?: 'Mutation' } & { - createProductVariants: Array>; -}; +export type CreateProductVariantsMutation = { createProductVariants: Array> }; -export type UpdateProductVariantsMutationVariables = { +export type UpdateProductVariantsMutationVariables = Exact<{ input: Array; -}; +}>; -export type UpdateProductVariantsMutation = { __typename?: 'Mutation' } & { - updateProductVariants: Array>; -}; +export type UpdateProductVariantsMutation = { updateProductVariants: Array> }; -export type UpdateTaxRateMutationVariables = { +export type UpdateTaxRateMutationVariables = Exact<{ input: UpdateTaxRateInput; -}; +}>; -export type UpdateTaxRateMutation = { __typename?: 'Mutation' } & { - updateTaxRate: { __typename?: 'TaxRate' } & TaxRateFragment; -}; +export type UpdateTaxRateMutation = { updateTaxRate: TaxRateFragment }; -export type CreateFacetMutationVariables = { +export type CreateFacetMutationVariables = Exact<{ input: CreateFacetInput; -}; +}>; -export type CreateFacetMutation = { __typename?: 'Mutation' } & { - createFacet: { __typename?: 'Facet' } & FacetWithValuesFragment; -}; +export type CreateFacetMutation = { createFacet: FacetWithValuesFragment }; -export type UpdateFacetMutationVariables = { +export type UpdateFacetMutationVariables = Exact<{ input: UpdateFacetInput; -}; +}>; -export type UpdateFacetMutation = { __typename?: 'Mutation' } & { - updateFacet: { __typename?: 'Facet' } & FacetWithValuesFragment; -}; +export type UpdateFacetMutation = { updateFacet: FacetWithValuesFragment }; -export type GetCustomerListQueryVariables = { +export type GetCustomerListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetCustomerListQuery = { __typename?: 'Query' } & { - customers: { __typename?: 'CustomerList' } & Pick & { - items: Array< - { __typename?: 'Customer' } & Pick< - Customer, - 'id' | 'title' | 'firstName' | 'lastName' | 'emailAddress' | 'phoneNumber' - > & { user?: Maybe<{ __typename?: 'User' } & Pick> } - >; - }; +export type GetCustomerListQuery = { + customers: Pick & { + items: Array< + Pick & { + user?: Maybe>; + } + >; + }; }; -export type GetAssetListQueryVariables = { +export type GetAssetListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetAssetListQuery = { __typename?: 'Query' } & { - assets: { __typename?: 'AssetList' } & Pick & { - items: Array<{ __typename?: 'Asset' } & AssetFragment>; - }; -}; +export type GetAssetListQuery = { assets: Pick & { items: Array } }; -export type CreateRoleMutationVariables = { +export type CreateRoleMutationVariables = Exact<{ input: CreateRoleInput; -}; +}>; -export type CreateRoleMutation = { __typename?: 'Mutation' } & { - createRole: { __typename?: 'Role' } & RoleFragment; -}; +export type CreateRoleMutation = { createRole: RoleFragment }; -export type CreateCollectionMutationVariables = { +export type CreateCollectionMutationVariables = Exact<{ input: CreateCollectionInput; -}; +}>; -export type CreateCollectionMutation = { __typename?: 'Mutation' } & { - createCollection: { __typename?: 'Collection' } & CollectionFragment; -}; +export type CreateCollectionMutation = { createCollection: CollectionFragment }; -export type UpdateCollectionMutationVariables = { +export type UpdateCollectionMutationVariables = Exact<{ input: UpdateCollectionInput; -}; +}>; -export type UpdateCollectionMutation = { __typename?: 'Mutation' } & { - updateCollection: { __typename?: 'Collection' } & CollectionFragment; -}; +export type UpdateCollectionMutation = { updateCollection: CollectionFragment }; -export type GetCustomerQueryVariables = { +export type GetCustomerQueryVariables = Exact<{ id: Scalars['ID']; orderListOptions?: Maybe; -}; +}>; -export type GetCustomerQuery = { __typename?: 'Query' } & { +export type GetCustomerQuery = { customer?: Maybe< - { __typename?: 'Customer' } & { - orders: { __typename?: 'OrderList' } & Pick & { - items: Array< - { __typename?: 'Order' } & Pick< - Order, - 'id' | 'code' | 'state' | 'total' | 'currencyCode' | 'updatedAt' - > - >; - }; + { + orders: Pick & { + items: Array>; + }; } & CustomerFragment >; }; -export type AttemptLoginMutationVariables = { +export type AttemptLoginMutationVariables = Exact<{ username: Scalars['String']; password: Scalars['String']; rememberMe?: Maybe; -}; +}>; -export type AttemptLoginMutation = { __typename?: 'Mutation' } & { - login: { __typename?: 'LoginResult' } & { user: { __typename?: 'CurrentUser' } & CurrentUserFragment }; -}; +export type AttemptLoginMutation = { login: CurrentUserFragment }; -export type GetCountryListQueryVariables = { +export type GetCountryListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetCountryListQuery = { __typename?: 'Query' } & { - countries: { __typename?: 'CountryList' } & Pick & { - items: Array<{ __typename?: 'Country' } & Pick>; - }; +export type GetCountryListQuery = { + countries: Pick & { + items: Array>; + }; }; -export type UpdateCountryMutationVariables = { +export type UpdateCountryMutationVariables = Exact<{ input: UpdateCountryInput; -}; +}>; -export type UpdateCountryMutation = { __typename?: 'Mutation' } & { - updateCountry: { __typename?: 'Country' } & CountryFragment; -}; +export type UpdateCountryMutation = { updateCountry: CountryFragment }; -export type GetFacetListQueryVariables = { +export type GetFacetListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetFacetListQuery = { __typename?: 'Query' } & { - facets: { __typename?: 'FacetList' } & Pick & { - items: Array<{ __typename?: 'Facet' } & FacetWithValuesFragment>; - }; +export type GetFacetListQuery = { + facets: Pick & { items: Array }; }; -export type DeleteProductMutationVariables = { +export type DeleteProductMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteProductMutation = { __typename?: 'Mutation' } & { - deleteProduct: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteProductMutation = { deleteProduct: Pick }; -export type GetProductSimpleQueryVariables = { +export type GetProductSimpleQueryVariables = Exact<{ id?: Maybe; slug?: Maybe; -}; +}>; -export type GetProductSimpleQuery = { __typename?: 'Query' } & { - product?: Maybe<{ __typename?: 'Product' } & Pick>; -}; +export type GetProductSimpleQuery = { product?: Maybe> }; -export type GetStockMovementQueryVariables = { +export type GetStockMovementQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetStockMovementQuery = { __typename?: 'Query' } & { - product?: Maybe< - { __typename?: 'Product' } & Pick & { - variants: Array<{ __typename?: 'ProductVariant' } & VariantWithStockFragment>; - } - >; +export type GetStockMovementQuery = { + product?: Maybe & { variants: Array }>; }; -export type GetRunningJobsQueryVariables = { +export type GetRunningJobsQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetRunningJobsQuery = { __typename?: 'Query' } & { - jobs: { __typename?: 'JobList' } & Pick & { - items: Array< - { __typename?: 'Job' } & Pick - >; - }; +export type GetRunningJobsQuery = { + jobs: Pick & { + items: Array>; + }; }; -export type CreatePromotionMutationVariables = { +export type CreatePromotionMutationVariables = Exact<{ input: CreatePromotionInput; -}; +}>; -export type CreatePromotionMutation = { __typename?: 'Mutation' } & { - createPromotion: { __typename?: 'Promotion' } & PromotionFragment; +export type CreatePromotionMutation = { + createPromotion: PromotionFragment | Pick; }; -export type MeQueryVariables = {}; +export type MeQueryVariables = Exact<{ [key: string]: never }>; -export type MeQuery = { __typename?: 'Query' } & { - me?: Maybe<{ __typename?: 'CurrentUser' } & CurrentUserFragment>; -}; +export type MeQuery = { me?: Maybe }; -export type CreateChannelMutationVariables = { +export type CreateChannelMutationVariables = Exact<{ input: CreateChannelInput; -}; +}>; -export type CreateChannelMutation = { __typename?: 'Mutation' } & { - createChannel: { __typename?: 'Channel' } & Pick< - Channel, - 'id' | 'code' | 'token' | 'currencyCode' | 'defaultLanguageCode' | 'pricesIncludeTax' - > & { - defaultShippingZone?: Maybe<{ __typename?: 'Zone' } & Pick>; - defaultTaxZone?: Maybe<{ __typename?: 'Zone' } & Pick>; - }; +export type CreateChannelMutation = { + createChannel: + | ChannelFragment + | Pick; }; -export type DeleteProductVariantMutationVariables = { +export type DeleteProductVariantMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteProductVariantMutation = { __typename?: 'Mutation' } & { - deleteProductVariant: { __typename?: 'DeletionResponse' } & Pick; +export type DeleteProductVariantMutation = { + deleteProductVariant: Pick; }; -export type AssignProductsToChannelMutationVariables = { +export type AssignProductsToChannelMutationVariables = Exact<{ input: AssignProductsToChannelInput; -}; +}>; -export type AssignProductsToChannelMutation = { __typename?: 'Mutation' } & { - assignProductsToChannel: Array<{ __typename?: 'Product' } & ProductWithVariantsFragment>; -}; +export type AssignProductsToChannelMutation = { assignProductsToChannel: Array }; -export type RemoveProductsFromChannelMutationVariables = { +export type RemoveProductsFromChannelMutationVariables = Exact<{ input: RemoveProductsFromChannelInput; -}; +}>; -export type RemoveProductsFromChannelMutation = { __typename?: 'Mutation' } & { - removeProductsFromChannel: Array<{ __typename?: 'Product' } & ProductWithVariantsFragment>; +export type RemoveProductsFromChannelMutation = { + removeProductsFromChannel: Array; }; -export type UpdateAssetMutationVariables = { +export type UpdateAssetMutationVariables = Exact<{ input: UpdateAssetInput; -}; +}>; -export type UpdateAssetMutation = { __typename?: 'Mutation' } & { - updateAsset: { __typename?: 'Asset' } & { - focalPoint?: Maybe<{ __typename?: 'Coordinate' } & Pick>; - } & AssetFragment; +export type UpdateAssetMutation = { + updateAsset: { focalPoint?: Maybe> } & AssetFragment; }; -export type DeleteAssetMutationVariables = { +export type DeleteAssetMutationVariables = Exact<{ id: Scalars['ID']; force?: Maybe; -}; +}>; -export type DeleteAssetMutation = { __typename?: 'Mutation' } & { - deleteAsset: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteAssetMutation = { deleteAsset: Pick }; -export type UpdateChannelMutationVariables = { +export type UpdateChannelMutationVariables = Exact<{ input: UpdateChannelInput; -}; +}>; -export type UpdateChannelMutation = { __typename?: 'Mutation' } & { - updateChannel: { __typename?: 'Channel' } & Pick< - Channel, - 'id' | 'code' | 'defaultLanguageCode' | 'currencyCode' - >; +export type UpdateChannelMutation = { + updateChannel: + | ChannelFragment + | Pick; }; -export type GetCustomerHistoryQueryVariables = { +export type GetCustomerHistoryQueryVariables = Exact<{ id: Scalars['ID']; options?: Maybe; -}; +}>; -export type GetCustomerHistoryQuery = { __typename?: 'Query' } & { +export type GetCustomerHistoryQuery = { customer?: Maybe< - { __typename?: 'Customer' } & Pick & { - history: { __typename?: 'HistoryEntryList' } & Pick & { - items: Array< - { __typename?: 'HistoryEntry' } & Pick & { - administrator?: Maybe< - { __typename?: 'Administrator' } & Pick - >; - } - >; - }; - } + Pick & { + history: Pick & { + items: Array< + Pick & { + administrator?: Maybe>; + } + >; + }; + } >; }; -export type GetOrderQueryVariables = { +export type GetOrderQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetOrderQuery = { __typename?: 'Query' } & { - order?: Maybe<{ __typename?: 'Order' } & OrderWithLinesFragment>; -}; +export type GetOrderQuery = { order?: Maybe }; -export type CustomerGroupFragment = { __typename?: 'CustomerGroup' } & Pick & { - customers: { __typename?: 'CustomerList' } & Pick & { - items: Array<{ __typename?: 'Customer' } & Pick>; - }; - }; +export type CustomerGroupFragment = Pick & { + customers: Pick & { items: Array> }; +}; -export type CreateCustomerGroupMutationVariables = { +export type CreateCustomerGroupMutationVariables = Exact<{ input: CreateCustomerGroupInput; -}; +}>; -export type CreateCustomerGroupMutation = { __typename?: 'Mutation' } & { - createCustomerGroup: { __typename?: 'CustomerGroup' } & CustomerGroupFragment; -}; +export type CreateCustomerGroupMutation = { createCustomerGroup: CustomerGroupFragment }; -export type RemoveCustomersFromGroupMutationVariables = { +export type RemoveCustomersFromGroupMutationVariables = Exact<{ groupId: Scalars['ID']; customerIds: Array; -}; +}>; -export type RemoveCustomersFromGroupMutation = { __typename?: 'Mutation' } & { - removeCustomersFromGroup: { __typename?: 'CustomerGroup' } & CustomerGroupFragment; -}; +export type RemoveCustomersFromGroupMutation = { removeCustomersFromGroup: CustomerGroupFragment }; -export type CreateFulfillmentMutationVariables = { +export type CreateFulfillmentMutationVariables = Exact<{ input: FulfillOrderInput; -}; +}>; -export type CreateFulfillmentMutation = { __typename?: 'Mutation' } & { - fulfillOrder: { __typename?: 'Fulfillment' } & Pick< - Fulfillment, - 'id' | 'method' | 'state' | 'trackingCode' - > & { orderItems: Array<{ __typename?: 'OrderItem' } & Pick> }; +export type CreateFulfillmentMutation = { + addFulfillmentToOrder: + | FulfillmentFragment + | Pick + | Pick; }; -export type TransitFulfillmentMutationVariables = { +export type TransitFulfillmentMutationVariables = Exact<{ id: Scalars['ID']; state: Scalars['String']; -}; +}>; -export type TransitFulfillmentMutation = { __typename?: 'Mutation' } & { - transitionFulfillmentToState: { __typename?: 'Fulfillment' } & Pick; +export type TransitFulfillmentMutation = { + transitionFulfillmentToState: + | FulfillmentFragment + | Pick< + FulfillmentStateTransitionError, + 'errorCode' | 'message' | 'transitionError' | 'fromState' | 'toState' + >; }; -export type GetOrderFulfillmentsQueryVariables = { +export type GetOrderFulfillmentsQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetOrderFulfillmentsQuery = { __typename?: 'Query' } & { +export type GetOrderFulfillmentsQuery = { order?: Maybe< - { __typename?: 'Order' } & Pick & { - fulfillments?: Maybe< - Array< - { __typename?: 'Fulfillment' } & Pick< - Fulfillment, - 'id' | 'state' | 'nextStates' | 'method' - > - > - >; - } + Pick & { + fulfillments?: Maybe>>; + } >; }; -export type GetOrderListQueryVariables = { +export type GetOrderListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetOrderListQuery = { __typename?: 'Query' } & { - orders: { __typename?: 'OrderList' } & Pick & { - items: Array<{ __typename?: 'Order' } & OrderFragment>; - }; -}; +export type GetOrderListQuery = { orders: Pick & { items: Array } }; -export type CreateAddressMutationVariables = { +export type CreateAddressMutationVariables = Exact<{ id: Scalars['ID']; input: CreateAddressInput; -}; +}>; -export type CreateAddressMutation = { __typename?: 'Mutation' } & { - createCustomerAddress: { __typename?: 'Address' } & Pick< +export type CreateAddressMutation = { + createCustomerAddress: Pick< Address, | 'id' | 'fullName' @@ -5030,876 +4889,684 @@ export type CreateAddressMutation = { __typename?: 'Mutation' } & { | 'phoneNumber' | 'defaultShippingAddress' | 'defaultBillingAddress' - > & { country: { __typename?: 'Country' } & Pick }; + > & { country: Pick }; }; -export type UpdateAddressMutationVariables = { +export type UpdateAddressMutationVariables = Exact<{ input: UpdateAddressInput; -}; +}>; -export type UpdateAddressMutation = { __typename?: 'Mutation' } & { - updateCustomerAddress: { __typename?: 'Address' } & Pick< - Address, - 'id' | 'defaultShippingAddress' | 'defaultBillingAddress' - > & { country: { __typename?: 'Country' } & Pick }; +export type UpdateAddressMutation = { + updateCustomerAddress: Pick & { + country: Pick; + }; }; -export type CreateCustomerMutationVariables = { +export type CreateCustomerMutationVariables = Exact<{ input: CreateCustomerInput; password?: Maybe; -}; +}>; -export type CreateCustomerMutation = { __typename?: 'Mutation' } & { - createCustomer: { __typename?: 'Customer' } & CustomerFragment; +export type CreateCustomerMutation = { + createCustomer: CustomerFragment | Pick; }; -export type UpdateCustomerMutationVariables = { +export type UpdateCustomerMutationVariables = Exact<{ input: UpdateCustomerInput; -}; +}>; -export type UpdateCustomerMutation = { __typename?: 'Mutation' } & { - updateCustomer: { __typename?: 'Customer' } & CustomerFragment; +export type UpdateCustomerMutation = { + updateCustomer: CustomerFragment | Pick; }; -export type DeleteCustomerMutationVariables = { +export type DeleteCustomerMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCustomerMutation = { __typename?: 'Mutation' } & { - deleteCustomer: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteCustomerMutation = { deleteCustomer: Pick }; -export type UpdateCustomerNoteMutationVariables = { +export type UpdateCustomerNoteMutationVariables = Exact<{ input: UpdateCustomerNoteInput; -}; +}>; -export type UpdateCustomerNoteMutation = { __typename?: 'Mutation' } & { - updateCustomerNote: { __typename?: 'HistoryEntry' } & Pick; +export type UpdateCustomerNoteMutation = { + updateCustomerNote: Pick; }; -export type DeleteCustomerNoteMutationVariables = { +export type DeleteCustomerNoteMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCustomerNoteMutation = { __typename?: 'Mutation' } & { - deleteCustomerNote: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteCustomerNoteMutation = { deleteCustomerNote: Pick }; -export type UpdateCustomerGroupMutationVariables = { +export type UpdateCustomerGroupMutationVariables = Exact<{ input: UpdateCustomerGroupInput; -}; +}>; -export type UpdateCustomerGroupMutation = { __typename?: 'Mutation' } & { - updateCustomerGroup: { __typename?: 'CustomerGroup' } & CustomerGroupFragment; -}; +export type UpdateCustomerGroupMutation = { updateCustomerGroup: CustomerGroupFragment }; -export type DeleteCustomerGroupMutationVariables = { +export type DeleteCustomerGroupMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteCustomerGroupMutation = { __typename?: 'Mutation' } & { - deleteCustomerGroup: { __typename?: 'DeletionResponse' } & Pick; +export type DeleteCustomerGroupMutation = { + deleteCustomerGroup: Pick; }; -export type GetCustomerGroupsQueryVariables = { +export type GetCustomerGroupsQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetCustomerGroupsQuery = { __typename?: 'Query' } & { - customerGroups: { __typename?: 'CustomerGroupList' } & Pick & { - items: Array<{ __typename?: 'CustomerGroup' } & Pick>; - }; +export type GetCustomerGroupsQuery = { + customerGroups: Pick & { + items: Array>; + }; }; -export type GetCustomerGroupQueryVariables = { +export type GetCustomerGroupQueryVariables = Exact<{ id: Scalars['ID']; options?: Maybe; -}; +}>; -export type GetCustomerGroupQuery = { __typename?: 'Query' } & { +export type GetCustomerGroupQuery = { customerGroup?: Maybe< - { __typename?: 'CustomerGroup' } & Pick & { - customers: { __typename?: 'CustomerList' } & Pick & { - items: Array<{ __typename?: 'Customer' } & Pick>; - }; - } + Pick & { + customers: Pick & { items: Array> }; + } >; }; -export type AddCustomersToGroupMutationVariables = { +export type AddCustomersToGroupMutationVariables = Exact<{ groupId: Scalars['ID']; customerIds: Array; -}; +}>; -export type AddCustomersToGroupMutation = { __typename?: 'Mutation' } & { - addCustomersToGroup: { __typename?: 'CustomerGroup' } & CustomerGroupFragment; -}; +export type AddCustomersToGroupMutation = { addCustomersToGroup: CustomerGroupFragment }; -export type GetCustomerWithGroupsQueryVariables = { +export type GetCustomerWithGroupsQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetCustomerWithGroupsQuery = { __typename?: 'Query' } & { - customer?: Maybe< - { __typename?: 'Customer' } & Pick & { - groups: Array<{ __typename?: 'CustomerGroup' } & Pick>; - } - >; +export type GetCustomerWithGroupsQuery = { + customer?: Maybe & { groups: Array> }>; }; -export type AdminTransitionMutationVariables = { +export type AdminTransitionMutationVariables = Exact<{ id: Scalars['ID']; state: Scalars['String']; +}>; + +export type AdminTransitionMutation = { + transitionOrderToState?: Maybe< + | OrderFragment + | Pick< + OrderStateTransitionError, + 'errorCode' | 'message' | 'transitionError' | 'fromState' | 'toState' + > + >; }; -export type AdminTransitionMutation = { __typename?: 'Mutation' } & { - transitionOrderToState?: Maybe<{ __typename?: 'Order' } & Pick>; -}; - -export type UpdateOptionGroupMutationVariables = { +export type UpdateOptionGroupMutationVariables = Exact<{ input: UpdateProductOptionGroupInput; -}; +}>; -export type UpdateOptionGroupMutation = { __typename?: 'Mutation' } & { - updateProductOptionGroup: { __typename?: 'ProductOptionGroup' } & Pick; -}; +export type UpdateOptionGroupMutation = { updateProductOptionGroup: Pick }; -export type DeletePromotionAdHoc1MutationVariables = {}; +export type DeletePromotionAdHoc1MutationVariables = Exact<{ [key: string]: never }>; -export type DeletePromotionAdHoc1Mutation = { __typename?: 'Mutation' } & { - deletePromotion: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeletePromotionAdHoc1Mutation = { deletePromotion: Pick }; -export type GetPromoProductsQueryVariables = {}; +export type GetPromoProductsQueryVariables = Exact<{ [key: string]: never }>; -export type GetPromoProductsQuery = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & { +export type GetPromoProductsQuery = { + products: { items: Array< - { __typename?: 'Product' } & Pick & { - variants: Array< - { __typename?: 'ProductVariant' } & Pick< - ProductVariant, - 'id' | 'price' | 'priceWithTax' | 'sku' - > & { - facetValues: Array< - { __typename?: 'FacetValue' } & Pick - >; - } - >; - } + Pick & { + variants: Array< + Pick & { + facetValues: Array>; + } + >; + } >; }; }; -export type SettlePaymentMutationVariables = { +export type SettlePaymentMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type SettlePaymentMutation = { __typename?: 'Mutation' } & { - settlePayment: { __typename?: 'Payment' } & Pick; +export type SettlePaymentMutation = { + settlePayment: + | PaymentFragment + | Pick + | Pick + | Pick; }; -export type GetOrderListFulfillmentsQueryVariables = {}; +export type PaymentFragment = Pick; -export type GetOrderListFulfillmentsQuery = { __typename?: 'Query' } & { - orders: { __typename?: 'OrderList' } & { +export type GetOrderListFulfillmentsQueryVariables = Exact<{ [key: string]: never }>; + +export type GetOrderListFulfillmentsQuery = { + orders: { items: Array< - { __typename?: 'Order' } & Pick & { - fulfillments?: Maybe< - Array< - { __typename?: 'Fulfillment' } & Pick< - Fulfillment, - 'id' | 'state' | 'nextStates' | 'method' - > - > - >; - } + Pick & { + fulfillments?: Maybe>>; + } >; }; }; -export type GetOrderFulfillmentItemsQueryVariables = { +export type GetOrderFulfillmentItemsQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetOrderFulfillmentItemsQuery = { __typename?: 'Query' } & { - order?: Maybe< - { __typename?: 'Order' } & Pick & { - fulfillments?: Maybe< - Array< - { __typename?: 'Fulfillment' } & Pick & { - orderItems: Array<{ __typename?: 'OrderItem' } & Pick>; - } - > - >; - } - >; +export type GetOrderFulfillmentItemsQuery = { + order?: Maybe & { fulfillments?: Maybe> }>; }; -export type CancelOrderMutationVariables = { +export type CancelOrderMutationVariables = Exact<{ input: CancelOrderInput; -}; +}>; -export type CancelOrderMutation = { __typename?: 'Mutation' } & { - cancelOrder: { __typename?: 'Order' } & Pick & { - lines: Array< - { __typename?: 'OrderLine' } & Pick & { - items: Array<{ __typename?: 'OrderItem' } & Pick>; - } - >; - }; +export type CancelOrderMutation = { + cancelOrder: + | CanceledOrderFragment + | Pick + | Pick + | Pick + | Pick + | Pick; }; -export type RefundOrderMutationVariables = { - input: RefundOrderInput; +export type CanceledOrderFragment = Pick & { + lines: Array & { items: Array> }>; }; -export type RefundOrderMutation = { __typename?: 'Mutation' } & { - refundOrder: { __typename?: 'Refund' } & Pick< - Refund, - 'id' | 'state' | 'items' | 'transactionId' | 'shipping' | 'total' | 'metadata' - >; -}; +export type RefundFragment = Pick< + Refund, + 'id' | 'state' | 'items' | 'transactionId' | 'shipping' | 'total' | 'metadata' +>; -export type SettleRefundMutationVariables = { +export type RefundOrderMutationVariables = Exact<{ + input: RefundOrderInput; +}>; + +export type RefundOrderMutation = { + refundOrder: + | RefundFragment + | Pick + | Pick + | Pick + | Pick + | Pick + | Pick + | Pick + | Pick; +}; + +export type SettleRefundMutationVariables = Exact<{ input: SettleRefundInput; -}; +}>; -export type SettleRefundMutation = { __typename?: 'Mutation' } & { - settleRefund: { __typename?: 'Refund' } & Pick< - Refund, - 'id' | 'state' | 'items' | 'transactionId' | 'shipping' | 'total' | 'metadata' - >; +export type SettleRefundMutation = { + settleRefund: RefundFragment | Pick; }; -export type GetOrderHistoryQueryVariables = { +export type GetOrderHistoryQueryVariables = Exact<{ id: Scalars['ID']; options?: Maybe; -}; +}>; -export type GetOrderHistoryQuery = { __typename?: 'Query' } & { +export type GetOrderHistoryQuery = { order?: Maybe< - { __typename?: 'Order' } & Pick & { - history: { __typename?: 'HistoryEntryList' } & Pick & { - items: Array< - { __typename?: 'HistoryEntry' } & Pick & { - administrator?: Maybe< - { __typename?: 'Administrator' } & Pick - >; - } - >; - }; - } + Pick & { + history: Pick & { + items: Array< + Pick & { + administrator?: Maybe>; + } + >; + }; + } >; }; -export type AddNoteToOrderMutationVariables = { +export type AddNoteToOrderMutationVariables = Exact<{ input: AddNoteToOrderInput; -}; +}>; -export type AddNoteToOrderMutation = { __typename?: 'Mutation' } & { - addNoteToOrder: { __typename?: 'Order' } & Pick; -}; +export type AddNoteToOrderMutation = { addNoteToOrder: Pick }; -export type UpdateOrderNoteMutationVariables = { +export type UpdateOrderNoteMutationVariables = Exact<{ input: UpdateOrderNoteInput; -}; +}>; -export type UpdateOrderNoteMutation = { __typename?: 'Mutation' } & { - updateOrderNote: { __typename?: 'HistoryEntry' } & Pick; -}; +export type UpdateOrderNoteMutation = { updateOrderNote: Pick }; -export type DeleteOrderNoteMutationVariables = { +export type DeleteOrderNoteMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteOrderNoteMutation = { __typename?: 'Mutation' } & { - deleteOrderNote: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteOrderNoteMutation = { deleteOrderNote: Pick }; -export type ProductOptionGroupFragment = { __typename?: 'ProductOptionGroup' } & Pick< - ProductOptionGroup, - 'id' | 'code' | 'name' -> & { - options: Array<{ __typename?: 'ProductOption' } & Pick>; - translations: Array< - { __typename?: 'ProductOptionGroupTranslation' } & Pick< - ProductOptionGroupTranslation, - 'id' | 'languageCode' | 'name' - > - >; - }; +export type ProductOptionGroupFragment = Pick & { + options: Array>; + translations: Array>; +}; -export type CreateProductOptionGroupMutationVariables = { +export type CreateProductOptionGroupMutationVariables = Exact<{ input: CreateProductOptionGroupInput; -}; +}>; -export type CreateProductOptionGroupMutation = { __typename?: 'Mutation' } & { - createProductOptionGroup: { __typename?: 'ProductOptionGroup' } & ProductOptionGroupFragment; -}; +export type CreateProductOptionGroupMutation = { createProductOptionGroup: ProductOptionGroupFragment }; -export type UpdateProductOptionGroupMutationVariables = { +export type UpdateProductOptionGroupMutationVariables = Exact<{ input: UpdateProductOptionGroupInput; -}; +}>; -export type UpdateProductOptionGroupMutation = { __typename?: 'Mutation' } & { - updateProductOptionGroup: { __typename?: 'ProductOptionGroup' } & ProductOptionGroupFragment; -}; +export type UpdateProductOptionGroupMutation = { updateProductOptionGroup: ProductOptionGroupFragment }; -export type CreateProductOptionMutationVariables = { +export type CreateProductOptionMutationVariables = Exact<{ input: CreateProductOptionInput; -}; +}>; -export type CreateProductOptionMutation = { __typename?: 'Mutation' } & { - createProductOption: { __typename?: 'ProductOption' } & Pick< - ProductOption, - 'id' | 'code' | 'name' | 'groupId' - > & { - translations: Array< - { __typename?: 'ProductOptionTranslation' } & Pick< - ProductOptionTranslation, - 'id' | 'languageCode' | 'name' - > - >; - }; +export type CreateProductOptionMutation = { + createProductOption: Pick & { + translations: Array>; + }; }; -export type UpdateProductOptionMutationVariables = { +export type UpdateProductOptionMutationVariables = Exact<{ input: UpdateProductOptionInput; +}>; + +export type UpdateProductOptionMutation = { + updateProductOption: Pick; }; -export type UpdateProductOptionMutation = { __typename?: 'Mutation' } & { - updateProductOption: { __typename?: 'ProductOption' } & Pick< - ProductOption, - 'id' | 'code' | 'name' | 'groupId' +export type ProductWithOptionsFragment = Pick & { + optionGroups: Array< + Pick & { options: Array> } >; }; -export type AddOptionGroupToProductMutationVariables = { +export type AddOptionGroupToProductMutationVariables = Exact<{ productId: Scalars['ID']; optionGroupId: Scalars['ID']; -}; +}>; -export type AddOptionGroupToProductMutation = { __typename?: 'Mutation' } & { - addOptionGroupToProduct: { __typename?: 'Product' } & Pick & { - optionGroups: Array< - { __typename?: 'ProductOptionGroup' } & Pick & { - options: Array<{ __typename?: 'ProductOption' } & Pick>; - } - >; - }; -}; +export type AddOptionGroupToProductMutation = { addOptionGroupToProduct: ProductWithOptionsFragment }; -export type RemoveOptionGroupFromProductMutationVariables = { +export type RemoveOptionGroupFromProductMutationVariables = Exact<{ productId: Scalars['ID']; optionGroupId: Scalars['ID']; -}; +}>; -export type RemoveOptionGroupFromProductMutation = { __typename?: 'Mutation' } & { - removeOptionGroupFromProduct: { __typename?: 'Product' } & Pick & { - optionGroups: Array< - { __typename?: 'ProductOptionGroup' } & Pick & { - options: Array<{ __typename?: 'ProductOption' } & Pick>; - } - >; - }; +export type RemoveOptionGroupFromProductMutation = { + removeOptionGroupFromProduct: + | ProductWithOptionsFragment + | Pick; }; -export type GetOptionGroupQueryVariables = { +export type GetOptionGroupQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetOptionGroupQuery = { __typename?: 'Query' } & { +export type GetOptionGroupQuery = { productOptionGroup?: Maybe< - { __typename?: 'ProductOptionGroup' } & Pick & { - options: Array<{ __typename?: 'ProductOption' } & Pick>; - } + Pick & { options: Array> } >; }; -export type GetProductVariantQueryVariables = { +export type GetProductVariantQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetProductVariantQuery = { __typename?: 'Query' } & { - productVariant?: Maybe<{ __typename?: 'ProductVariant' } & Pick>; -}; +export type GetProductVariantQuery = { productVariant?: Maybe> }; -export type DeletePromotionMutationVariables = { +export type DeletePromotionMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeletePromotionMutation = { __typename?: 'Mutation' } & { - deletePromotion: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeletePromotionMutation = { deletePromotion: Pick }; -export type GetPromotionListQueryVariables = { +export type GetPromotionListQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetPromotionListQuery = { __typename?: 'Query' } & { - promotions: { __typename?: 'PromotionList' } & Pick & { - items: Array<{ __typename?: 'Promotion' } & PromotionFragment>; - }; +export type GetPromotionListQuery = { + promotions: Pick & { items: Array }; }; -export type GetPromotionQueryVariables = { +export type GetPromotionQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetPromotionQuery = { __typename?: 'Query' } & { - promotion?: Maybe<{ __typename?: 'Promotion' } & PromotionFragment>; -}; +export type GetPromotionQuery = { promotion?: Maybe }; -export type UpdatePromotionMutationVariables = { +export type UpdatePromotionMutationVariables = Exact<{ input: UpdatePromotionInput; -}; +}>; -export type UpdatePromotionMutation = { __typename?: 'Mutation' } & { - updatePromotion: { __typename?: 'Promotion' } & PromotionFragment; +export type UpdatePromotionMutation = { + updatePromotion: PromotionFragment | Pick; }; -export type ConfigurableOperationDefFragment = { __typename?: 'ConfigurableOperationDefinition' } & Pick< +export type ConfigurableOperationDefFragment = Pick< ConfigurableOperationDefinition, 'code' | 'description' -> & { - args: Array< - { __typename?: 'ConfigArgDefinition' } & Pick - >; - }; +> & { args: Array> }; -export type GetAdjustmentOperationsQueryVariables = {}; +export type GetAdjustmentOperationsQueryVariables = Exact<{ [key: string]: never }>; -export type GetAdjustmentOperationsQuery = { __typename?: 'Query' } & { - promotionActions: Array< - { __typename?: 'ConfigurableOperationDefinition' } & ConfigurableOperationDefFragment - >; - promotionConditions: Array< - { __typename?: 'ConfigurableOperationDefinition' } & ConfigurableOperationDefFragment - >; +export type GetAdjustmentOperationsQuery = { + promotionActions: Array; + promotionConditions: Array; }; -export type GetRolesQueryVariables = { +export type GetRolesQueryVariables = Exact<{ options?: Maybe; -}; +}>; -export type GetRolesQuery = { __typename?: 'Query' } & { - roles: { __typename?: 'RoleList' } & Pick & { - items: Array<{ __typename?: 'Role' } & RoleFragment>; - }; -}; +export type GetRolesQuery = { roles: Pick & { items: Array } }; -export type GetRoleQueryVariables = { +export type GetRoleQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetRoleQuery = { __typename?: 'Query' } & { - role?: Maybe<{ __typename?: 'Role' } & RoleFragment>; -}; +export type GetRoleQuery = { role?: Maybe }; -export type UpdateRoleMutationVariables = { +export type UpdateRoleMutationVariables = Exact<{ input: UpdateRoleInput; -}; +}>; -export type UpdateRoleMutation = { __typename?: 'Mutation' } & { - updateRole: { __typename?: 'Role' } & RoleFragment; -}; +export type UpdateRoleMutation = { updateRole: RoleFragment }; -export type DeleteRoleMutationVariables = { +export type DeleteRoleMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteRoleMutation = { __typename?: 'Mutation' } & { - deleteRole: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteRoleMutation = { deleteRole: Pick }; -export type LogoutMutationVariables = {}; +export type LogoutMutationVariables = Exact<{ [key: string]: never }>; -export type LogoutMutation = { __typename?: 'Mutation' } & Pick; +export type LogoutMutation = { logout: Pick }; -export type ShippingMethodFragment = { __typename?: 'ShippingMethod' } & Pick< - ShippingMethod, - 'id' | 'code' | 'description' -> & { - calculator: { __typename?: 'ConfigurableOperation' } & Pick; - checker: { __typename?: 'ConfigurableOperation' } & Pick; - }; +export type ShippingMethodFragment = Pick & { + calculator: Pick; + checker: Pick; +}; -export type GetShippingMethodListQueryVariables = {}; +export type GetShippingMethodListQueryVariables = Exact<{ [key: string]: never }>; -export type GetShippingMethodListQuery = { __typename?: 'Query' } & { - shippingMethods: { __typename?: 'ShippingMethodList' } & Pick & { - items: Array<{ __typename?: 'ShippingMethod' } & ShippingMethodFragment>; - }; +export type GetShippingMethodListQuery = { + shippingMethods: Pick & { items: Array }; }; -export type GetShippingMethodQueryVariables = { +export type GetShippingMethodQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetShippingMethodQuery = { __typename?: 'Query' } & { - shippingMethod?: Maybe<{ __typename?: 'ShippingMethod' } & ShippingMethodFragment>; -}; +export type GetShippingMethodQuery = { shippingMethod?: Maybe }; -export type CreateShippingMethodMutationVariables = { +export type CreateShippingMethodMutationVariables = Exact<{ input: CreateShippingMethodInput; -}; +}>; -export type CreateShippingMethodMutation = { __typename?: 'Mutation' } & { - createShippingMethod: { __typename?: 'ShippingMethod' } & ShippingMethodFragment; -}; +export type CreateShippingMethodMutation = { createShippingMethod: ShippingMethodFragment }; -export type UpdateShippingMethodMutationVariables = { +export type UpdateShippingMethodMutationVariables = Exact<{ input: UpdateShippingMethodInput; -}; +}>; -export type UpdateShippingMethodMutation = { __typename?: 'Mutation' } & { - updateShippingMethod: { __typename?: 'ShippingMethod' } & ShippingMethodFragment; -}; +export type UpdateShippingMethodMutation = { updateShippingMethod: ShippingMethodFragment }; -export type DeleteShippingMethodMutationVariables = { +export type DeleteShippingMethodMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteShippingMethodMutation = { __typename?: 'Mutation' } & { - deleteShippingMethod: { __typename?: 'DeletionResponse' } & Pick; +export type DeleteShippingMethodMutation = { + deleteShippingMethod: Pick; }; -export type GetEligibilityCheckersQueryVariables = {}; +export type GetEligibilityCheckersQueryVariables = Exact<{ [key: string]: never }>; -export type GetEligibilityCheckersQuery = { __typename?: 'Query' } & { +export type GetEligibilityCheckersQuery = { shippingEligibilityCheckers: Array< - { __typename?: 'ConfigurableOperationDefinition' } & Pick< - ConfigurableOperationDefinition, - 'code' | 'description' - > & { - args: Array< - { __typename?: 'ConfigArgDefinition' } & Pick< - ConfigArgDefinition, - 'name' | 'type' | 'description' | 'label' | 'ui' - > - >; - } + Pick & { + args: Array>; + } >; }; -export type GetCalculatorsQueryVariables = {}; +export type GetCalculatorsQueryVariables = Exact<{ [key: string]: never }>; -export type GetCalculatorsQuery = { __typename?: 'Query' } & { +export type GetCalculatorsQuery = { shippingCalculators: Array< - { __typename?: 'ConfigurableOperationDefinition' } & Pick< - ConfigurableOperationDefinition, - 'code' | 'description' - > & { - args: Array< - { __typename?: 'ConfigArgDefinition' } & Pick< - ConfigArgDefinition, - 'name' | 'type' | 'description' | 'label' | 'ui' - > - >; - } + Pick & { + args: Array>; + } >; }; -export type TestShippingMethodQueryVariables = { +export type TestShippingMethodQueryVariables = Exact<{ input: TestShippingMethodInput; -}; +}>; -export type TestShippingMethodQuery = { __typename?: 'Query' } & { - testShippingMethod: { __typename?: 'TestShippingMethodResult' } & Pick< - TestShippingMethodResult, - 'eligible' - > & { - quote?: Maybe< - { __typename?: 'TestShippingMethodQuote' } & Pick< - TestShippingMethodQuote, - 'price' | 'priceWithTax' | 'metadata' - > - >; - }; +export type TestShippingMethodQuery = { + testShippingMethod: Pick & { + quote?: Maybe>; + }; }; -export type TestEligibleMethodsQueryVariables = { +export type TestEligibleMethodsQueryVariables = Exact<{ input: TestEligibleShippingMethodsInput; -}; +}>; -export type TestEligibleMethodsQuery = { __typename?: 'Query' } & { +export type TestEligibleMethodsQuery = { testEligibleShippingMethods: Array< - { __typename?: 'ShippingMethodQuote' } & Pick< - ShippingMethodQuote, - 'id' | 'description' | 'price' | 'priceWithTax' | 'metadata' - > + Pick >; }; -export type GetMeQueryVariables = {}; +export type GetMeQueryVariables = Exact<{ [key: string]: never }>; -export type GetMeQuery = { __typename?: 'Query' } & { - me?: Maybe<{ __typename?: 'CurrentUser' } & Pick>; -}; - -export type GetProductsTake3QueryVariables = {}; +export type GetMeQuery = { me?: Maybe> }; -export type GetProductsTake3Query = { __typename?: 'Query' } & { - products: { __typename?: 'ProductList' } & { - items: Array<{ __typename?: 'Product' } & Pick>; - }; -}; +export type GetProductsTake3QueryVariables = Exact<{ [key: string]: never }>; -export type GetProduct1QueryVariables = {}; +export type GetProductsTake3Query = { products: { items: Array> } }; -export type GetProduct1Query = { __typename?: 'Query' } & { - product?: Maybe<{ __typename?: 'Product' } & Pick>; -}; +export type GetProduct1QueryVariables = Exact<{ [key: string]: never }>; -export type GetProduct2VariantsQueryVariables = {}; +export type GetProduct1Query = { product?: Maybe> }; -export type GetProduct2VariantsQuery = { __typename?: 'Query' } & { - product?: Maybe< - { __typename?: 'Product' } & Pick & { - variants: Array<{ __typename?: 'ProductVariant' } & Pick>; - } - >; +export type GetProduct2VariantsQueryVariables = Exact<{ [key: string]: never }>; + +export type GetProduct2VariantsQuery = { + product?: Maybe & { variants: Array> }>; }; -export type GetProductCollectionQueryVariables = {}; +export type GetProductCollectionQueryVariables = Exact<{ [key: string]: never }>; -export type GetProductCollectionQuery = { __typename?: 'Query' } & { - product?: Maybe< - { __typename?: 'Product' } & { - collections: Array<{ __typename?: 'Collection' } & Pick>; - } - >; +export type GetProductCollectionQuery = { + product?: Maybe<{ collections: Array> }>; }; -export type DisableProductMutationVariables = { +export type DisableProductMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DisableProductMutation = { __typename?: 'Mutation' } & { - updateProduct: { __typename?: 'Product' } & Pick; -}; +export type DisableProductMutation = { updateProduct: Pick }; -export type GetCollectionVariantsQueryVariables = { +export type GetCollectionVariantsQueryVariables = Exact<{ id?: Maybe; slug?: Maybe; -}; +}>; -export type GetCollectionVariantsQuery = { __typename?: 'Query' } & { +export type GetCollectionVariantsQuery = { collection?: Maybe< - { __typename?: 'Collection' } & Pick & { - productVariants: { __typename?: 'ProductVariantList' } & { - items: Array<{ __typename?: 'ProductVariant' } & Pick>; - }; - } + Pick & { productVariants: { items: Array> } } >; }; -export type GetCollectionListQueryVariables = {}; +export type GetCollectionListQueryVariables = Exact<{ [key: string]: never }>; -export type GetCollectionListQuery = { __typename?: 'Query' } & { - collections: { __typename?: 'CollectionList' } & { - items: Array<{ __typename?: 'Collection' } & Pick>; - }; -}; +export type GetCollectionListQuery = { collections: { items: Array> } }; -export type GetProductFacetValuesQueryVariables = { +export type GetProductFacetValuesQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetProductFacetValuesQuery = { __typename?: 'Query' } & { - product?: Maybe< - { __typename?: 'Product' } & Pick & { - facetValues: Array<{ __typename?: 'FacetValue' } & Pick>; - } - >; +export type GetProductFacetValuesQuery = { + product?: Maybe & { facetValues: Array> }>; }; -export type GetVariantFacetValuesQueryVariables = { +export type GetVariantFacetValuesQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetVariantFacetValuesQuery = { __typename?: 'Query' } & { +export type GetVariantFacetValuesQuery = { product?: Maybe< - { __typename?: 'Product' } & Pick & { - variants: Array< - { __typename?: 'ProductVariant' } & Pick & { - facetValues: Array<{ __typename?: 'FacetValue' } & Pick>; - } - >; - } + Pick & { + variants: Array & { facetValues: Array> }>; + } >; }; -export type GetCustomerIdsQueryVariables = {}; +export type GetCustomerIdsQueryVariables = Exact<{ [key: string]: never }>; -export type GetCustomerIdsQuery = { __typename?: 'Query' } & { - customers: { __typename?: 'CustomerList' } & { - items: Array<{ __typename?: 'Customer' } & Pick>; - }; -}; +export type GetCustomerIdsQuery = { customers: { items: Array> } }; -export type UpdateStockMutationVariables = { +export type UpdateStockMutationVariables = Exact<{ input: Array; -}; +}>; -export type UpdateStockMutation = { __typename?: 'Mutation' } & { - updateProductVariants: Array>; -}; +export type UpdateStockMutation = { updateProductVariants: Array> }; -export type GetTaxCategoryListQueryVariables = {}; +export type GetTaxCategoryListQueryVariables = Exact<{ [key: string]: never }>; -export type GetTaxCategoryListQuery = { __typename?: 'Query' } & { - taxCategories: Array<{ __typename?: 'TaxCategory' } & Pick>; -}; +export type GetTaxCategoryListQuery = { taxCategories: Array> }; -export type GetTaxCategoryQueryVariables = { +export type GetTaxCategoryQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetTaxCategoryQuery = { __typename?: 'Query' } & { - taxCategory?: Maybe<{ __typename?: 'TaxCategory' } & Pick>; -}; +export type GetTaxCategoryQuery = { taxCategory?: Maybe> }; -export type CreateTaxCategoryMutationVariables = { +export type CreateTaxCategoryMutationVariables = Exact<{ input: CreateTaxCategoryInput; -}; +}>; -export type CreateTaxCategoryMutation = { __typename?: 'Mutation' } & { - createTaxCategory: { __typename?: 'TaxCategory' } & Pick; -}; +export type CreateTaxCategoryMutation = { createTaxCategory: Pick }; -export type UpdateTaxCategoryMutationVariables = { +export type UpdateTaxCategoryMutationVariables = Exact<{ input: UpdateTaxCategoryInput; -}; +}>; -export type UpdateTaxCategoryMutation = { __typename?: 'Mutation' } & { - updateTaxCategory: { __typename?: 'TaxCategory' } & Pick; -}; +export type UpdateTaxCategoryMutation = { updateTaxCategory: Pick }; -export type DeleteTaxCategoryMutationVariables = { +export type DeleteTaxCategoryMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteTaxCategoryMutation = { __typename?: 'Mutation' } & { - deleteTaxCategory: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteTaxCategoryMutation = { deleteTaxCategory: Pick }; -export type GetTaxRatesQueryVariables = {}; +export type GetTaxRatesQueryVariables = Exact<{ [key: string]: never }>; -export type GetTaxRatesQuery = { __typename?: 'Query' } & { - taxRates: { __typename?: 'TaxRateList' } & Pick & { - items: Array<{ __typename?: 'TaxRate' } & TaxRateFragment>; - }; +export type GetTaxRatesQuery = { + taxRates: Pick & { items: Array }; }; -export type GetTaxRateQueryVariables = { +export type GetTaxRateQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetTaxRateQuery = { __typename?: 'Query' } & { - taxRate?: Maybe<{ __typename?: 'TaxRate' } & TaxRateFragment>; -}; +export type GetTaxRateQuery = { taxRate?: Maybe }; -export type CreateTaxRateMutationVariables = { +export type CreateTaxRateMutationVariables = Exact<{ input: CreateTaxRateInput; -}; +}>; -export type CreateTaxRateMutation = { __typename?: 'Mutation' } & { - createTaxRate: { __typename?: 'TaxRate' } & TaxRateFragment; -}; +export type CreateTaxRateMutation = { createTaxRate: TaxRateFragment }; -export type DeleteTaxRateMutationVariables = { +export type DeleteTaxRateMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteTaxRateMutation = { __typename?: 'Mutation' } & { - deleteTaxRate: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteTaxRateMutation = { deleteTaxRate: Pick }; -export type DeleteZoneMutationVariables = { +export type DeleteZoneMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteZoneMutation = { __typename?: 'Mutation' } & { - deleteZone: { __typename?: 'DeletionResponse' } & Pick; -}; +export type DeleteZoneMutation = { deleteZone: Pick }; -export type GetZonesQueryVariables = {}; +export type GetZonesQueryVariables = Exact<{ [key: string]: never }>; -export type GetZonesQuery = { __typename?: 'Query' } & { - zones: Array<{ __typename?: 'Zone' } & Pick>; -}; +export type GetZonesQuery = { zones: Array> }; -export type GetZoneQueryVariables = { +export type GetZoneQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetZoneQuery = { __typename?: 'Query' } & { - zone?: Maybe<{ __typename?: 'Zone' } & ZoneFragment>; -}; +export type GetZoneQuery = { zone?: Maybe }; -export type CreateZoneMutationVariables = { +export type CreateZoneMutationVariables = Exact<{ input: CreateZoneInput; -}; +}>; -export type CreateZoneMutation = { __typename?: 'Mutation' } & { - createZone: { __typename?: 'Zone' } & ZoneFragment; -}; +export type CreateZoneMutation = { createZone: ZoneFragment }; -export type UpdateZoneMutationVariables = { +export type UpdateZoneMutationVariables = Exact<{ input: UpdateZoneInput; -}; +}>; -export type UpdateZoneMutation = { __typename?: 'Mutation' } & { - updateZone: { __typename?: 'Zone' } & ZoneFragment; -}; +export type UpdateZoneMutation = { updateZone: ZoneFragment }; -export type AddMembersToZoneMutationVariables = { +export type AddMembersToZoneMutationVariables = Exact<{ zoneId: Scalars['ID']; memberIds: Array; -}; +}>; -export type AddMembersToZoneMutation = { __typename?: 'Mutation' } & { - addMembersToZone: { __typename?: 'Zone' } & ZoneFragment; -}; +export type AddMembersToZoneMutation = { addMembersToZone: ZoneFragment }; -export type RemoveMembersFromZoneMutationVariables = { +export type RemoveMembersFromZoneMutationVariables = Exact<{ zoneId: Scalars['ID']; memberIds: Array; -}; +}>; -export type RemoveMembersFromZoneMutation = { __typename?: 'Mutation' } & { - removeMembersFromZone: { __typename?: 'Zone' } & ZoneFragment; -}; +export type RemoveMembersFromZoneMutation = { removeMembersFromZone: ZoneFragment }; type DiscriminateUnion = T extends U ? T : never; -type RequireField = T & { [P in TNames]: (T & { [name: string]: never })[P] }; - export namespace GetAdministrators { export type Variables = GetAdministratorsQueryVariables; export type Query = GetAdministratorsQuery; - export type Administrators = GetAdministratorsQuery['administrators']; - export type Items = AdministratorFragment; + export type Administrators = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace GetAdministrator { export type Variables = GetAdministratorQueryVariables; export type Query = GetAdministratorQuery; - export type Administrator = AdministratorFragment; + export type Administrator = NonNullable; } export namespace UpdateAdministrator { export type Variables = UpdateAdministratorMutationVariables; export type Mutation = UpdateAdministratorMutation; - export type UpdateAdministrator = AdministratorFragment; + export type UpdateAdministrator = NonNullable; } export namespace DeleteAdministrator { export type Variables = DeleteAdministratorMutationVariables; export type Mutation = DeleteAdministratorMutation; - export type DeleteAdministrator = DeleteAdministratorMutation['deleteAdministrator']; + export type DeleteAdministrator = NonNullable; } export namespace Q1 { @@ -5917,7 +5584,7 @@ export namespace Q2 { export namespace GetAsset { export type Variables = GetAssetQueryVariables; export type Query = GetAssetQuery; - export type Asset = AssetFragment; + export type Asset = NonNullable; } export namespace AssetFragFirst { @@ -5927,40 +5594,62 @@ export namespace AssetFragFirst { export namespace GetAssetFragmentFirst { export type Variables = GetAssetFragmentFirstQueryVariables; export type Query = GetAssetFragmentFirstQuery; - export type Asset = AssetFragFirstFragment; + export type Asset = NonNullable; } export namespace CreateAssets { export type Variables = CreateAssetsMutationVariables; export type Mutation = CreateAssetsMutation; - export type CreateAssets = AssetFragment; - export type FocalPoint = NonNullable['focalPoint']>; + export type CreateAssets = NonNullable[number]>; + export type AssetInlineFragment = DiscriminateUnion< + NonNullable[number]>, + { __typename?: 'Asset' } + >; + export type FocalPoint = NonNullable< + DiscriminateUnion< + NonNullable[number]>, + { __typename?: 'Asset' } + >['focalPoint'] + >; + export type MimeTypeErrorInlineFragment = DiscriminateUnion< + NonNullable[number]>, + { __typename?: 'MimeTypeError' } + >; } export namespace CanCreateCustomer { export type Variables = CanCreateCustomerMutationVariables; export type Mutation = CanCreateCustomerMutation; - export type CreateCustomer = CanCreateCustomerMutation['createCustomer']; + export type CreateCustomer = NonNullable; + export type CustomerInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'Customer' } + >; } export namespace GetCustomerCount { export type Variables = GetCustomerCountQueryVariables; export type Query = GetCustomerCountQuery; - export type Customers = GetCustomerCountQuery['customers']; + export type Customers = NonNullable; } export namespace Authenticate { export type Variables = AuthenticateMutationVariables; export type Mutation = AuthenticateMutation; - export type Authenticate = AuthenticateMutation['authenticate']; - export type User = AuthenticateMutation['authenticate']['user']; + export type Authenticate = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace GetCustomers { export type Variables = GetCustomersQueryVariables; export type Query = GetCustomersQuery; - export type Customers = GetCustomersQuery['customers']; - export type Items = NonNullable; + export type Customers = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace GetCustomerUserAuth { @@ -5969,102 +5658,148 @@ export namespace GetCustomerUserAuth { export type Customer = NonNullable; export type User = NonNullable['user']>; export type AuthenticationMethods = NonNullable< - NonNullable['user']>['authenticationMethods'][0] + NonNullable< + NonNullable['user']>['authenticationMethods'] + >[number] >; } export namespace GetChannels { export type Variables = GetChannelsQueryVariables; export type Query = GetChannelsQuery; - export type Channels = NonNullable; + export type Channels = NonNullable[number]>; } export namespace DeleteChannel { export type Variables = DeleteChannelMutationVariables; export type Mutation = DeleteChannelMutation; - export type DeleteChannel = DeleteChannelMutation['deleteChannel']; + export type DeleteChannel = NonNullable; } -export namespace UpdateGlobalSettings { - export type Variables = UpdateGlobalSettingsMutationVariables; - export type Mutation = UpdateGlobalSettingsMutation; - export type UpdateGlobalSettings = UpdateGlobalSettingsMutation['updateGlobalSettings']; +export namespace UpdateGlobalLanguages { + export type Variables = UpdateGlobalLanguagesMutationVariables; + export type Mutation = UpdateGlobalLanguagesMutation; + export type UpdateGlobalSettings = NonNullable; + export type GlobalSettingsInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'GlobalSettings' } + >; } export namespace GetCollectionsWithAssets { export type Variables = GetCollectionsWithAssetsQueryVariables; export type Query = GetCollectionsWithAssetsQuery; - export type Collections = GetCollectionsWithAssetsQuery['collections']; - export type Items = NonNullable; + export type Collections = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type Assets = NonNullable< - NonNullable['assets'][0] + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['assets'] + >[number] >; } export namespace GetProductsWithVariantIds { export type Variables = GetProductsWithVariantIdsQueryVariables; export type Query = GetProductsWithVariantIdsQuery; - export type Products = GetProductsWithVariantIdsQuery['products']; - export type Items = NonNullable; + export type Products = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type Variants = NonNullable< - NonNullable['variants'][0] + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['variants'] + >[number] >; } export namespace GetCollection { export type Variables = GetCollectionQueryVariables; export type Query = GetCollectionQuery; - export type Collection = CollectionFragment; - export type ProductVariants = NonNullable['productVariants']; + export type Collection = NonNullable; + export type ProductVariants = NonNullable< + NonNullable['productVariants'] + >; export type Items = NonNullable< - NonNullable['productVariants']['items'][0] + NonNullable< + NonNullable['productVariants']>['items'] + >[number] >; } export namespace MoveCollection { export type Variables = MoveCollectionMutationVariables; export type Mutation = MoveCollectionMutation; - export type MoveCollection = CollectionFragment; + export type MoveCollection = NonNullable; } export namespace GetFacetValues { export type Variables = GetFacetValuesQueryVariables; export type Query = GetFacetValuesQuery; - export type Facets = GetFacetValuesQuery['facets']; - export type Items = NonNullable; - export type Values = FacetValueFragment; + export type Facets = NonNullable; + export type Items = NonNullable['items']>[number]>; + export type Values = NonNullable< + NonNullable< + NonNullable['items']>[number]>['values'] + >[number] + >; } export namespace GetCollections { export type Variables = GetCollectionsQueryVariables; export type Query = GetCollectionsQuery; - export type Collections = GetCollectionsQuery['collections']; - export type Items = NonNullable; - export type Parent = NonNullable['parent']>; + export type Collections = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; + export type Parent = NonNullable< + NonNullable['items']>[number]>['parent'] + >; } export namespace GetCollectionProducts { export type Variables = GetCollectionProductsQueryVariables; export type Query = GetCollectionProductsQuery; export type Collection = NonNullable; - export type ProductVariants = NonNullable['productVariants']; + export type ProductVariants = NonNullable< + NonNullable['productVariants'] + >; export type Items = NonNullable< - NonNullable['productVariants']['items'][0] + NonNullable< + NonNullable['productVariants']>['items'] + >[number] >; export type FacetValues = NonNullable< NonNullable< - NonNullable['productVariants']['items'][0] - >['facetValues'][0] + NonNullable< + NonNullable< + NonNullable< + NonNullable['productVariants'] + >['items'] + >[number] + >['facetValues'] + >[number] >; } export namespace CreateCollectionSelectVariants { export type Variables = CreateCollectionSelectVariantsMutationVariables; export type Mutation = CreateCollectionSelectVariantsMutation; - export type CreateCollection = CreateCollectionSelectVariantsMutation['createCollection']; - export type ProductVariants = CreateCollectionSelectVariantsMutation['createCollection']['productVariants']; + export type CreateCollection = NonNullable; + export type ProductVariants = NonNullable< + NonNullable['productVariants'] + >; export type Items = NonNullable< - CreateCollectionSelectVariantsMutation['createCollection']['productVariants']['items'][0] + NonNullable< + NonNullable< + NonNullable['productVariants'] + >['items'] + >[number] >; } @@ -6073,24 +5808,30 @@ export namespace GetCollectionBreadcrumbs { export type Query = GetCollectionBreadcrumbsQuery; export type Collection = NonNullable; export type Breadcrumbs = NonNullable< - NonNullable['breadcrumbs'][0] + NonNullable['breadcrumbs']>[number] >; } export namespace GetCollectionsForProducts { export type Variables = GetCollectionsForProductsQueryVariables; export type Query = GetCollectionsForProductsQuery; - export type Products = GetCollectionsForProductsQuery['products']; - export type Items = NonNullable; + export type Products = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type Collections = NonNullable< - NonNullable['collections'][0] + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['collections'] + >[number] >; } export namespace DeleteCollection { export type Variables = DeleteCollectionMutationVariables; export type Mutation = DeleteCollectionMutation; - export type DeleteCollection = DeleteCollectionMutation['deleteCollection']; + export type DeleteCollection = NonNullable; } export namespace GetProductCollections { @@ -6098,7 +5839,7 @@ export namespace GetProductCollections { export type Query = GetProductCollectionsQuery; export type Product = NonNullable; export type Collections = NonNullable< - NonNullable['collections'][0] + NonNullable['collections']>[number] >; } @@ -6107,34 +5848,37 @@ export namespace GetProductCollectionsWithParent { export type Query = GetProductCollectionsWithParentQuery; export type Product = NonNullable; export type Collections = NonNullable< - NonNullable['collections'][0] + NonNullable['collections']>[number] >; export type Parent = NonNullable< - NonNullable['collections'][0]>['parent'] + NonNullable< + NonNullable['collections']>[number] + >['parent'] >; } export namespace DeleteCountry { export type Variables = DeleteCountryMutationVariables; export type Mutation = DeleteCountryMutation; - export type DeleteCountry = DeleteCountryMutation['deleteCountry']; + export type DeleteCountry = NonNullable; } export namespace GetCountry { export type Variables = GetCountryQueryVariables; export type Query = GetCountryQuery; - export type Country = CountryFragment; + export type Country = NonNullable; } export namespace CreateCountry { export type Variables = CreateCountryMutationVariables; export type Mutation = CreateCountryMutation; - export type CreateCountry = CountryFragment; + export type CreateCountry = NonNullable; } export namespace DeleteCustomerAddress { export type Variables = DeleteCustomerAddressMutationVariables; export type Mutation = DeleteCustomerAddressMutation; + export type DeleteCustomerAddress = NonNullable; } export namespace GetCustomerWithUser { @@ -6148,54 +5892,74 @@ export namespace GetCustomerOrders { export type Variables = GetCustomerOrdersQueryVariables; export type Query = GetCustomerOrdersQuery; export type Customer = NonNullable; - export type Orders = NonNullable['orders']; - export type Items = NonNullable['orders']['items'][0]>; + export type Orders = NonNullable['orders']>; + export type Items = NonNullable< + NonNullable['orders']>['items']>[number] + >; } export namespace AddNoteToCustomer { export type Variables = AddNoteToCustomerMutationVariables; export type Mutation = AddNoteToCustomerMutation; - export type AddNoteToCustomer = CustomerFragment; + export type AddNoteToCustomer = NonNullable; } export namespace Reindex { export type Variables = ReindexMutationVariables; export type Mutation = ReindexMutation; - export type Reindex = ReindexMutation['reindex']; + export type Reindex = NonNullable; } export namespace SearchProductsAdmin { export type Variables = SearchProductsAdminQueryVariables; export type Query = SearchProductsAdminQuery; - export type Search = SearchProductsAdminQuery['search']; - export type Items = NonNullable; + export type Search = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace SearchFacetValues { export type Variables = SearchFacetValuesQueryVariables; export type Query = SearchFacetValuesQuery; - export type Search = SearchFacetValuesQuery['search']; - export type FacetValues = NonNullable; - export type FacetValue = NonNullable['facetValue']; + export type Search = NonNullable; + export type FacetValues = NonNullable< + NonNullable['facetValues']>[number] + >; + export type FacetValue = NonNullable< + NonNullable< + NonNullable['facetValues']>[number] + >['facetValue'] + >; } export namespace SearchGetAssets { export type Variables = SearchGetAssetsQueryVariables; export type Query = SearchGetAssetsQuery; - export type Search = SearchGetAssetsQuery['search']; - export type Items = NonNullable; + export type Search = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type ProductAsset = NonNullable< - NonNullable['productAsset'] + NonNullable['items']>[number]>['productAsset'] >; export type FocalPoint = NonNullable< - NonNullable['productAsset']>['focalPoint'] + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['productAsset'] + >['focalPoint'] >; export type ProductVariantAsset = NonNullable< - NonNullable['productVariantAsset'] + NonNullable< + NonNullable['items']>[number] + >['productVariantAsset'] >; export type _FocalPoint = NonNullable< NonNullable< - NonNullable['productVariantAsset'] + NonNullable< + NonNullable['items']>[number] + >['productVariantAsset'] >['focalPoint'] >; } @@ -6203,43 +5967,73 @@ export namespace SearchGetAssets { export namespace SearchGetPrices { export type Variables = SearchGetPricesQueryVariables; export type Query = SearchGetPricesQuery; - export type Search = SearchGetPricesQuery['search']; - export type Items = NonNullable; - export type Price = NonNullable['price']; + export type Search = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; + export type Price = NonNullable< + NonNullable['items']>[number]>['price'] + >; export type PriceRangeInlineFragment = DiscriminateUnion< - RequireField['price'], '__typename'>, - { __typename: 'PriceRange' } + NonNullable< + NonNullable['items']>[number]>['price'] + >, + { __typename?: 'PriceRange' } >; export type SinglePriceInlineFragment = DiscriminateUnion< - RequireField['price'], '__typename'>, - { __typename: 'SinglePrice' } + NonNullable< + NonNullable['items']>[number]>['price'] + >, + { __typename?: 'SinglePrice' } + >; + export type PriceWithTax = NonNullable< + NonNullable['items']>[number]>['priceWithTax'] >; - export type PriceWithTax = NonNullable['priceWithTax']; export type _PriceRangeInlineFragment = DiscriminateUnion< - RequireField['priceWithTax'], '__typename'>, - { __typename: 'PriceRange' } + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['priceWithTax'] + >, + { __typename?: 'PriceRange' } >; export type _SinglePriceInlineFragment = DiscriminateUnion< - RequireField['priceWithTax'], '__typename'>, - { __typename: 'SinglePrice' } + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['priceWithTax'] + >, + { __typename?: 'SinglePrice' } >; } export namespace IdTest1 { export type Variables = IdTest1QueryVariables; export type Query = IdTest1Query; - export type Products = IdTest1Query['products']; - export type Items = NonNullable; + export type Products = NonNullable; + export type Items = NonNullable['items']>[number]>; } export namespace IdTest2 { export type Variables = IdTest2QueryVariables; export type Query = IdTest2Query; - export type Products = IdTest2Query['products']; - export type Items = NonNullable; - export type Variants = NonNullable['variants'][0]>; + export type Products = NonNullable; + export type Items = NonNullable['items']>[number]>; + export type Variants = NonNullable< + NonNullable< + NonNullable['items']>[number]>['variants'] + >[number] + >; export type Options = NonNullable< - NonNullable['variants'][0]>['options'][0] + NonNullable< + NonNullable< + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['variants'] + >[number] + >['options'] + >[number] >; } @@ -6252,14 +6046,14 @@ export namespace IdTest3 { export namespace IdTest4 { export type Variables = IdTest4MutationVariables; export type Mutation = IdTest4Mutation; - export type UpdateProduct = IdTest4Mutation['updateProduct']; - export type FeaturedAsset = NonNullable; + export type UpdateProduct = NonNullable; + export type FeaturedAsset = NonNullable['featuredAsset']>; } export namespace IdTest5 { export type Variables = IdTest5MutationVariables; export type Mutation = IdTest5Mutation; - export type UpdateProduct = IdTest5Mutation['updateProduct']; + export type UpdateProduct = NonNullable; } export namespace IdTest6 { @@ -6271,21 +6065,21 @@ export namespace IdTest6 { export namespace IdTest7 { export type Variables = IdTest7MutationVariables; export type Mutation = IdTest7Mutation; - export type UpdateProduct = IdTest7Mutation['updateProduct']; - export type FeaturedAsset = NonNullable; + export type UpdateProduct = NonNullable; + export type FeaturedAsset = NonNullable['featuredAsset']>; } export namespace IdTest8 { export type Variables = IdTest8MutationVariables; export type Mutation = IdTest8Mutation; - export type UpdateProduct = IdTest8Mutation['updateProduct']; + export type UpdateProduct = NonNullable; } export namespace IdTest9 { export type Variables = IdTest9QueryVariables; export type Query = IdTest9Query; - export type Products = IdTest9Query['products']; - export type Items = ProdFragmentFragment; + export type Products = NonNullable; + export type Items = NonNullable['items']>[number]>; } export namespace ProdFragment { @@ -6296,47 +6090,101 @@ export namespace ProdFragment { export namespace GetFacetWithValues { export type Variables = GetFacetWithValuesQueryVariables; export type Query = GetFacetWithValuesQuery; - export type Facet = FacetWithValuesFragment; + export type Facet = NonNullable; } export namespace DeleteFacetValues { export type Variables = DeleteFacetValuesMutationVariables; export type Mutation = DeleteFacetValuesMutation; - export type DeleteFacetValues = NonNullable; + export type DeleteFacetValues = NonNullable< + NonNullable[number] + >; } export namespace DeleteFacet { export type Variables = DeleteFacetMutationVariables; export type Mutation = DeleteFacetMutation; - export type DeleteFacet = DeleteFacetMutation['deleteFacet']; + export type DeleteFacet = NonNullable; } export namespace GetProductListWithVariants { export type Variables = GetProductListWithVariantsQueryVariables; export type Query = GetProductListWithVariantsQuery; - export type Products = GetProductListWithVariantsQuery['products']; - export type Items = NonNullable; + export type Products = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type Variants = NonNullable< - NonNullable['variants'][0] + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['variants'] + >[number] >; } export namespace CreateFacetValues { export type Variables = CreateFacetValuesMutationVariables; export type Mutation = CreateFacetValuesMutation; - export type CreateFacetValues = FacetValueFragment; + export type CreateFacetValues = NonNullable< + NonNullable[number] + >; } export namespace UpdateFacetValues { export type Variables = UpdateFacetValuesMutationVariables; export type Mutation = UpdateFacetValuesMutation; - export type UpdateFacetValues = FacetValueFragment; + export type UpdateFacetValues = NonNullable< + NonNullable[number] + >; +} + +export namespace GlobalSettings { + export type Fragment = GlobalSettingsFragment; + export type ServerConfig = NonNullable; + export type OrderProcess = NonNullable< + NonNullable['orderProcess']>[number] + >; + export type CustomFieldConfig = NonNullable< + NonNullable['customFieldConfig'] + >; + export type Customer = NonNullable< + NonNullable< + NonNullable['customFieldConfig']>['Customer'] + >[number] + >; + export type CustomFieldInlineFragment = DiscriminateUnion< + NonNullable< + NonNullable< + NonNullable< + NonNullable['customFieldConfig'] + >['Customer'] + >[number] + >, + { __typename?: 'CustomField' } + >; +} + +export namespace GetGlobalSettings { + export type Variables = GetGlobalSettingsQueryVariables; + export type Query = GetGlobalSettingsQuery; + export type GlobalSettings = NonNullable; +} + +export namespace UpdateGlobalSettings { + export type Variables = UpdateGlobalSettingsMutationVariables; + export type Mutation = UpdateGlobalSettingsMutation; + export type UpdateGlobalSettings = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace Administrator { export type Fragment = AdministratorFragment; - export type User = AdministratorFragment['user']; - export type Roles = NonNullable; + export type User = NonNullable; + export type Roles = NonNullable['roles']>[number]>; } export namespace Asset { @@ -6345,74 +6193,78 @@ export namespace Asset { export namespace ProductVariant { export type Fragment = ProductVariantFragment; - export type TaxRateApplied = ProductVariantFragment['taxRateApplied']; - export type TaxCategory = ProductVariantFragment['taxCategory']; - export type Options = NonNullable; - export type FacetValues = NonNullable; - export type Facet = NonNullable['facet']; - export type FeaturedAsset = AssetFragment; - export type Assets = AssetFragment; - export type Translations = NonNullable; + export type TaxRateApplied = NonNullable; + export type TaxCategory = NonNullable; + export type Options = NonNullable[number]>; + export type FacetValues = NonNullable[number]>; + export type Facet = NonNullable< + NonNullable[number]>['facet'] + >; + export type FeaturedAsset = NonNullable; + export type Assets = NonNullable[number]>; + export type Translations = NonNullable[number]>; } export namespace ProductWithVariants { export type Fragment = ProductWithVariantsFragment; - export type FeaturedAsset = AssetFragment; - export type Assets = AssetFragment; - export type Translations = NonNullable; - export type OptionGroups = NonNullable; - export type Variants = ProductVariantFragment; - export type FacetValues = NonNullable; - export type Facet = NonNullable['facet']; - export type Channels = NonNullable; + export type FeaturedAsset = NonNullable; + export type Assets = NonNullable[number]>; + export type Translations = NonNullable[number]>; + export type OptionGroups = NonNullable[number]>; + export type Variants = NonNullable[number]>; + export type FacetValues = NonNullable[number]>; + export type Facet = NonNullable< + NonNullable[number]>['facet'] + >; + export type Channels = NonNullable[number]>; } export namespace Role { export type Fragment = RoleFragment; - export type Channels = NonNullable; + export type Channels = NonNullable[number]>; } export namespace ConfigurableOperation { export type Fragment = ConfigurableOperationFragment; - export type Args = NonNullable; + export type Args = NonNullable[number]>; } export namespace Collection { export type Fragment = CollectionFragment; - export type FeaturedAsset = AssetFragment; - export type Assets = AssetFragment; - export type Filters = ConfigurableOperationFragment; - export type Translations = NonNullable; + export type FeaturedAsset = NonNullable; + export type Assets = NonNullable[number]>; + export type Filters = NonNullable[number]>; + export type Translations = NonNullable[number]>; export type Parent = NonNullable; - export type Children = NonNullable[0]>; + export type Children = NonNullable[number]>; } export namespace FacetValue { export type Fragment = FacetValueFragment; - export type Translations = NonNullable; - export type Facet = FacetValueFragment['facet']; + export type Translations = NonNullable[number]>; + export type Facet = NonNullable; } export namespace FacetWithValues { export type Fragment = FacetWithValuesFragment; - export type Translations = NonNullable; - export type Values = FacetValueFragment; + export type Translations = NonNullable[number]>; + export type Values = NonNullable[number]>; } export namespace Country { export type Fragment = CountryFragment; - export type Translations = NonNullable; + export type Translations = NonNullable[number]>; } export namespace Address { export type Fragment = AddressFragment; - export type Country = AddressFragment['country']; + export type Country = NonNullable; } export namespace Customer { export type Fragment = CustomerFragment; export type User = NonNullable; - export type Addresses = AddressFragment; + export type Addresses = NonNullable[number]>; } export namespace Adjustment { @@ -6436,185 +6288,219 @@ export namespace OrderItem { export namespace OrderWithLines { export type Fragment = OrderWithLinesFragment; export type Customer = NonNullable; - export type Lines = NonNullable; - export type FeaturedAsset = NonNullable['featuredAsset']>; - export type ProductVariant = NonNullable['productVariant']; - export type Items = OrderItemFragment; - export type Adjustments = AdjustmentFragment; + export type Lines = NonNullable[number]>; + export type FeaturedAsset = NonNullable< + NonNullable[number]>['featuredAsset'] + >; + export type ProductVariant = NonNullable< + NonNullable[number]>['productVariant'] + >; + export type Items = NonNullable< + NonNullable[number]>['items']>[number] + >; + export type Adjustments = NonNullable[number]>; export type ShippingMethod = NonNullable; - export type ShippingAddress = ShippingAddressFragment; - export type Payments = NonNullable[0]>; + export type ShippingAddress = NonNullable; + export type Payments = NonNullable[number]>; } export namespace Promotion { export type Fragment = PromotionFragment; - export type Conditions = ConfigurableOperationFragment; - export type Actions = ConfigurableOperationFragment; + export type Conditions = NonNullable[number]>; + export type Actions = NonNullable[number]>; } export namespace Zone { export type Fragment = ZoneFragment; - export type Members = CountryFragment; + export type Members = NonNullable[number]>; } export namespace TaxRate { export type Fragment = TaxRateFragment; - export type Category = TaxRateFragment['category']; - export type Zone = TaxRateFragment['zone']; + export type Category = NonNullable; + export type Zone = NonNullable; export type CustomerGroup = NonNullable; } export namespace CurrentUser { export type Fragment = CurrentUserFragment; - export type Channels = NonNullable; + export type Channels = NonNullable[number]>; } export namespace VariantWithStock { export type Fragment = VariantWithStockFragment; - export type StockMovements = VariantWithStockFragment['stockMovements']; - export type Items = NonNullable; + export type StockMovements = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type StockMovementInlineFragment = DiscriminateUnion< - RequireField, '__typename'>, - { __typename: 'StockMovement' } + NonNullable['items']>[number]>, + { __typename?: 'StockMovement' } >; } +export namespace Fulfillment { + export type Fragment = FulfillmentFragment; + export type OrderItems = NonNullable[number]>; +} + +export namespace Channel { + export type Fragment = ChannelFragment; + export type DefaultShippingZone = NonNullable; + export type DefaultTaxZone = NonNullable; +} + export namespace CreateAdministrator { export type Variables = CreateAdministratorMutationVariables; export type Mutation = CreateAdministratorMutation; - export type CreateAdministrator = AdministratorFragment; + export type CreateAdministrator = NonNullable; } export namespace UpdateProduct { export type Variables = UpdateProductMutationVariables; export type Mutation = UpdateProductMutation; - export type UpdateProduct = ProductWithVariantsFragment; + export type UpdateProduct = NonNullable; } export namespace CreateProduct { export type Variables = CreateProductMutationVariables; export type Mutation = CreateProductMutation; - export type CreateProduct = ProductWithVariantsFragment; + export type CreateProduct = NonNullable; } export namespace GetProductWithVariants { export type Variables = GetProductWithVariantsQueryVariables; export type Query = GetProductWithVariantsQuery; - export type Product = ProductWithVariantsFragment; + export type Product = NonNullable; } export namespace GetProductList { export type Variables = GetProductListQueryVariables; export type Query = GetProductListQuery; - export type Products = GetProductListQuery['products']; - export type Items = NonNullable; + export type Products = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type FeaturedAsset = NonNullable< - NonNullable['featuredAsset'] + NonNullable< + NonNullable['items']>[number] + >['featuredAsset'] >; } export namespace CreateProductVariants { export type Variables = CreateProductVariantsMutationVariables; export type Mutation = CreateProductVariantsMutation; - export type CreateProductVariants = ProductVariantFragment; + export type CreateProductVariants = NonNullable< + NonNullable[number] + >; } export namespace UpdateProductVariants { export type Variables = UpdateProductVariantsMutationVariables; export type Mutation = UpdateProductVariantsMutation; - export type UpdateProductVariants = ProductVariantFragment; + export type UpdateProductVariants = NonNullable< + NonNullable[number] + >; } export namespace UpdateTaxRate { export type Variables = UpdateTaxRateMutationVariables; export type Mutation = UpdateTaxRateMutation; - export type UpdateTaxRate = TaxRateFragment; + export type UpdateTaxRate = NonNullable; } export namespace CreateFacet { export type Variables = CreateFacetMutationVariables; export type Mutation = CreateFacetMutation; - export type CreateFacet = FacetWithValuesFragment; + export type CreateFacet = NonNullable; } export namespace UpdateFacet { export type Variables = UpdateFacetMutationVariables; export type Mutation = UpdateFacetMutation; - export type UpdateFacet = FacetWithValuesFragment; + export type UpdateFacet = NonNullable; } export namespace GetCustomerList { export type Variables = GetCustomerListQueryVariables; export type Query = GetCustomerListQuery; - export type Customers = GetCustomerListQuery['customers']; - export type Items = NonNullable; - export type User = NonNullable['user']>; + export type Customers = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; + export type User = NonNullable< + NonNullable['items']>[number]>['user'] + >; } export namespace GetAssetList { export type Variables = GetAssetListQueryVariables; export type Query = GetAssetListQuery; - export type Assets = GetAssetListQuery['assets']; - export type Items = AssetFragment; + export type Assets = NonNullable; + export type Items = NonNullable['items']>[number]>; } export namespace CreateRole { export type Variables = CreateRoleMutationVariables; export type Mutation = CreateRoleMutation; - export type CreateRole = RoleFragment; + export type CreateRole = NonNullable; } export namespace CreateCollection { export type Variables = CreateCollectionMutationVariables; export type Mutation = CreateCollectionMutation; - export type CreateCollection = CollectionFragment; + export type CreateCollection = NonNullable; } export namespace UpdateCollection { export type Variables = UpdateCollectionMutationVariables; export type Mutation = UpdateCollectionMutation; - export type UpdateCollection = CollectionFragment; + export type UpdateCollection = NonNullable; } export namespace GetCustomer { export type Variables = GetCustomerQueryVariables; export type Query = GetCustomerQuery; - export type Customer = CustomerFragment; - export type Orders = NonNullable['orders']; - export type Items = NonNullable['orders']['items'][0]>; + export type Customer = NonNullable; + export type Orders = NonNullable['orders']>; + export type Items = NonNullable< + NonNullable['orders']>['items']>[number] + >; } export namespace AttemptLogin { export type Variables = AttemptLoginMutationVariables; export type Mutation = AttemptLoginMutation; - export type Login = AttemptLoginMutation['login']; - export type User = CurrentUserFragment; + export type Login = NonNullable; } export namespace GetCountryList { export type Variables = GetCountryListQueryVariables; export type Query = GetCountryListQuery; - export type Countries = GetCountryListQuery['countries']; - export type Items = NonNullable; + export type Countries = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace UpdateCountry { export type Variables = UpdateCountryMutationVariables; export type Mutation = UpdateCountryMutation; - export type UpdateCountry = CountryFragment; + export type UpdateCountry = NonNullable; } export namespace GetFacetList { export type Variables = GetFacetListQueryVariables; export type Query = GetFacetListQuery; - export type Facets = GetFacetListQuery['facets']; - export type Items = FacetWithValuesFragment; + export type Facets = NonNullable; + export type Items = NonNullable['items']>[number]>; } export namespace DeleteProduct { export type Variables = DeleteProductMutationVariables; export type Mutation = DeleteProductMutation; - export type DeleteProduct = DeleteProductMutation['deleteProduct']; + export type DeleteProduct = NonNullable; } export namespace GetProductSimple { @@ -6627,121 +6513,163 @@ export namespace GetStockMovement { export type Variables = GetStockMovementQueryVariables; export type Query = GetStockMovementQuery; export type Product = NonNullable; - export type Variants = VariantWithStockFragment; + export type Variants = NonNullable< + NonNullable['variants']>[number] + >; } export namespace GetRunningJobs { export type Variables = GetRunningJobsQueryVariables; export type Query = GetRunningJobsQuery; - export type Jobs = GetRunningJobsQuery['jobs']; - export type Items = NonNullable; + export type Jobs = NonNullable; + export type Items = NonNullable['items']>[number]>; } export namespace CreatePromotion { export type Variables = CreatePromotionMutationVariables; export type Mutation = CreatePromotionMutation; - export type CreatePromotion = PromotionFragment; + export type CreatePromotion = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace Me { export type Variables = MeQueryVariables; export type Query = MeQuery; - export type Me = CurrentUserFragment; + export type Me = NonNullable; } export namespace CreateChannel { export type Variables = CreateChannelMutationVariables; export type Mutation = CreateChannelMutation; - export type CreateChannel = CreateChannelMutation['createChannel']; - export type DefaultShippingZone = NonNullable< - CreateChannelMutation['createChannel']['defaultShippingZone'] + export type CreateChannel = NonNullable; + export type LanguageNotAvailableErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'LanguageNotAvailableError' } >; - export type DefaultTaxZone = NonNullable; } export namespace DeleteProductVariant { export type Variables = DeleteProductVariantMutationVariables; export type Mutation = DeleteProductVariantMutation; - export type DeleteProductVariant = DeleteProductVariantMutation['deleteProductVariant']; + export type DeleteProductVariant = NonNullable; } export namespace AssignProductsToChannel { export type Variables = AssignProductsToChannelMutationVariables; export type Mutation = AssignProductsToChannelMutation; - export type AssignProductsToChannel = ProductWithVariantsFragment; + export type AssignProductsToChannel = NonNullable< + NonNullable[number] + >; } export namespace RemoveProductsFromChannel { export type Variables = RemoveProductsFromChannelMutationVariables; export type Mutation = RemoveProductsFromChannelMutation; - export type RemoveProductsFromChannel = ProductWithVariantsFragment; + export type RemoveProductsFromChannel = NonNullable< + NonNullable[number] + >; } export namespace UpdateAsset { export type Variables = UpdateAssetMutationVariables; export type Mutation = UpdateAssetMutation; - export type UpdateAsset = AssetFragment; - export type FocalPoint = NonNullable; + export type UpdateAsset = NonNullable; + export type AssetInlineFragment = { __typename: 'Asset' } & Pick< + NonNullable, + 'focalPoint' + >; + export type FocalPoint = NonNullable< + ({ __typename: 'Asset' } & Pick< + NonNullable, + 'focalPoint' + >)['focalPoint'] + >; } export namespace DeleteAsset { export type Variables = DeleteAssetMutationVariables; export type Mutation = DeleteAssetMutation; - export type DeleteAsset = DeleteAssetMutation['deleteAsset']; + export type DeleteAsset = NonNullable; } export namespace UpdateChannel { export type Variables = UpdateChannelMutationVariables; export type Mutation = UpdateChannelMutation; - export type UpdateChannel = UpdateChannelMutation['updateChannel']; + export type UpdateChannel = NonNullable; + export type LanguageNotAvailableErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'LanguageNotAvailableError' } + >; } export namespace GetCustomerHistory { export type Variables = GetCustomerHistoryQueryVariables; export type Query = GetCustomerHistoryQuery; export type Customer = NonNullable; - export type History = NonNullable['history']; - export type Items = NonNullable['history']['items'][0]>; + export type History = NonNullable['history']>; + export type Items = NonNullable< + NonNullable['history']>['items']>[number] + >; export type Administrator = NonNullable< - NonNullable['history']['items'][0]>['administrator'] + NonNullable< + NonNullable< + NonNullable['history']>['items'] + >[number] + >['administrator'] >; } export namespace GetOrder { export type Variables = GetOrderQueryVariables; export type Query = GetOrderQuery; - export type Order = OrderWithLinesFragment; + export type Order = NonNullable; } export namespace CustomerGroup { export type Fragment = CustomerGroupFragment; - export type Customers = CustomerGroupFragment['customers']; - export type Items = NonNullable; + export type Customers = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace CreateCustomerGroup { export type Variables = CreateCustomerGroupMutationVariables; export type Mutation = CreateCustomerGroupMutation; - export type CreateCustomerGroup = CustomerGroupFragment; + export type CreateCustomerGroup = NonNullable; } export namespace RemoveCustomersFromGroup { export type Variables = RemoveCustomersFromGroupMutationVariables; export type Mutation = RemoveCustomersFromGroupMutation; - export type RemoveCustomersFromGroup = CustomerGroupFragment; + export type RemoveCustomersFromGroup = NonNullable< + RemoveCustomersFromGroupMutation['removeCustomersFromGroup'] + >; } export namespace CreateFulfillment { export type Variables = CreateFulfillmentMutationVariables; export type Mutation = CreateFulfillmentMutation; - export type FulfillOrder = CreateFulfillmentMutation['fulfillOrder']; - export type OrderItems = NonNullable; + export type AddFulfillmentToOrder = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace TransitFulfillment { export type Variables = TransitFulfillmentMutationVariables; export type Mutation = TransitFulfillmentMutation; - export type TransitionFulfillmentToState = TransitFulfillmentMutation['transitionFulfillmentToState']; + export type TransitionFulfillmentToState = NonNullable< + TransitFulfillmentMutation['transitionFulfillmentToState'] + >; + export type FulfillmentStateTransitionErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'FulfillmentStateTransitionError' } + >; } export namespace GetOrderFulfillments { @@ -6749,149 +6677,197 @@ export namespace GetOrderFulfillments { export type Query = GetOrderFulfillmentsQuery; export type Order = NonNullable; export type Fulfillments = NonNullable< - NonNullable['fulfillments']>[0] + NonNullable['fulfillments']>[number] >; } export namespace GetOrderList { export type Variables = GetOrderListQueryVariables; export type Query = GetOrderListQuery; - export type Orders = GetOrderListQuery['orders']; - export type Items = OrderFragment; + export type Orders = NonNullable; + export type Items = NonNullable['items']>[number]>; } export namespace CreateAddress { export type Variables = CreateAddressMutationVariables; export type Mutation = CreateAddressMutation; - export type CreateCustomerAddress = CreateAddressMutation['createCustomerAddress']; - export type Country = CreateAddressMutation['createCustomerAddress']['country']; + export type CreateCustomerAddress = NonNullable; + export type Country = NonNullable['country']>; } export namespace UpdateAddress { export type Variables = UpdateAddressMutationVariables; export type Mutation = UpdateAddressMutation; - export type UpdateCustomerAddress = UpdateAddressMutation['updateCustomerAddress']; - export type Country = UpdateAddressMutation['updateCustomerAddress']['country']; + export type UpdateCustomerAddress = NonNullable; + export type Country = NonNullable['country']>; } export namespace CreateCustomer { export type Variables = CreateCustomerMutationVariables; export type Mutation = CreateCustomerMutation; - export type CreateCustomer = CustomerFragment; + export type CreateCustomer = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace UpdateCustomer { export type Variables = UpdateCustomerMutationVariables; export type Mutation = UpdateCustomerMutation; - export type UpdateCustomer = CustomerFragment; + export type UpdateCustomer = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace DeleteCustomer { export type Variables = DeleteCustomerMutationVariables; export type Mutation = DeleteCustomerMutation; - export type DeleteCustomer = DeleteCustomerMutation['deleteCustomer']; + export type DeleteCustomer = NonNullable; } export namespace UpdateCustomerNote { export type Variables = UpdateCustomerNoteMutationVariables; export type Mutation = UpdateCustomerNoteMutation; - export type UpdateCustomerNote = UpdateCustomerNoteMutation['updateCustomerNote']; + export type UpdateCustomerNote = NonNullable; } export namespace DeleteCustomerNote { export type Variables = DeleteCustomerNoteMutationVariables; export type Mutation = DeleteCustomerNoteMutation; - export type DeleteCustomerNote = DeleteCustomerNoteMutation['deleteCustomerNote']; + export type DeleteCustomerNote = NonNullable; } export namespace UpdateCustomerGroup { export type Variables = UpdateCustomerGroupMutationVariables; export type Mutation = UpdateCustomerGroupMutation; - export type UpdateCustomerGroup = CustomerGroupFragment; + export type UpdateCustomerGroup = NonNullable; } export namespace DeleteCustomerGroup { export type Variables = DeleteCustomerGroupMutationVariables; export type Mutation = DeleteCustomerGroupMutation; - export type DeleteCustomerGroup = DeleteCustomerGroupMutation['deleteCustomerGroup']; + export type DeleteCustomerGroup = NonNullable; } export namespace GetCustomerGroups { export type Variables = GetCustomerGroupsQueryVariables; export type Query = GetCustomerGroupsQuery; - export type CustomerGroups = GetCustomerGroupsQuery['customerGroups']; - export type Items = NonNullable; + export type CustomerGroups = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace GetCustomerGroup { export type Variables = GetCustomerGroupQueryVariables; export type Query = GetCustomerGroupQuery; export type CustomerGroup = NonNullable; - export type Customers = NonNullable['customers']; + export type Customers = NonNullable['customers']>; export type Items = NonNullable< - NonNullable['customers']['items'][0] + NonNullable< + NonNullable['customers']>['items'] + >[number] >; } export namespace AddCustomersToGroup { export type Variables = AddCustomersToGroupMutationVariables; export type Mutation = AddCustomersToGroupMutation; - export type AddCustomersToGroup = CustomerGroupFragment; + export type AddCustomersToGroup = NonNullable; } export namespace GetCustomerWithGroups { export type Variables = GetCustomerWithGroupsQueryVariables; export type Query = GetCustomerWithGroupsQuery; export type Customer = NonNullable; - export type Groups = NonNullable['groups'][0]>; + export type Groups = NonNullable< + NonNullable['groups']>[number] + >; } export namespace AdminTransition { export type Variables = AdminTransitionMutationVariables; export type Mutation = AdminTransitionMutation; export type TransitionOrderToState = NonNullable; + export type OrderStateTransitionErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'OrderStateTransitionError' } + >; } export namespace UpdateOptionGroup { export type Variables = UpdateOptionGroupMutationVariables; export type Mutation = UpdateOptionGroupMutation; - export type UpdateProductOptionGroup = UpdateOptionGroupMutation['updateProductOptionGroup']; + export type UpdateProductOptionGroup = NonNullable; } export namespace DeletePromotionAdHoc1 { export type Variables = DeletePromotionAdHoc1MutationVariables; export type Mutation = DeletePromotionAdHoc1Mutation; - export type DeletePromotion = DeletePromotionAdHoc1Mutation['deletePromotion']; + export type DeletePromotion = NonNullable; } export namespace GetPromoProducts { export type Variables = GetPromoProductsQueryVariables; export type Query = GetPromoProductsQuery; - export type Products = GetPromoProductsQuery['products']; - export type Items = NonNullable; + export type Products = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type Variants = NonNullable< - NonNullable['variants'][0] + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['variants'] + >[number] >; export type FacetValues = NonNullable< NonNullable< - NonNullable['variants'][0] - >['facetValues'][0] + NonNullable< + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['variants'] + >[number] + >['facetValues'] + >[number] >; } export namespace SettlePayment { export type Variables = SettlePaymentMutationVariables; export type Mutation = SettlePaymentMutation; - export type SettlePayment = SettlePaymentMutation['settlePayment']; + export type SettlePayment = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; + export type SettlePaymentErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'SettlePaymentError' } + >; +} + +export namespace Payment { + export type Fragment = PaymentFragment; } export namespace GetOrderListFulfillments { export type Variables = GetOrderListFulfillmentsQueryVariables; export type Query = GetOrderListFulfillmentsQuery; - export type Orders = GetOrderListFulfillmentsQuery['orders']; - export type Items = NonNullable; + export type Orders = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type Fulfillments = NonNullable< - NonNullable['fulfillments']>[0] + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['fulfillments'] + >[number] >; } @@ -6900,122 +6876,149 @@ export namespace GetOrderFulfillmentItems { export type Query = GetOrderFulfillmentItemsQuery; export type Order = NonNullable; export type Fulfillments = NonNullable< - NonNullable['fulfillments']>[0] - >; - export type OrderItems = NonNullable< - NonNullable< - NonNullable['fulfillments']>[0] - >['orderItems'][0] + NonNullable['fulfillments']>[number] >; } export namespace CancelOrder { export type Variables = CancelOrderMutationVariables; export type Mutation = CancelOrderMutation; - export type CancelOrder = CancelOrderMutation['cancelOrder']; - export type Lines = NonNullable; - export type Items = NonNullable['items'][0]>; + export type CancelOrder = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; +} + +export namespace CanceledOrder { + export type Fragment = CanceledOrderFragment; + export type Lines = NonNullable[number]>; + export type Items = NonNullable< + NonNullable[number]>['items']>[number] + >; +} + +export namespace Refund { + export type Fragment = RefundFragment; } export namespace RefundOrder { export type Variables = RefundOrderMutationVariables; export type Mutation = RefundOrderMutation; - export type RefundOrder = RefundOrderMutation['refundOrder']; + export type RefundOrder = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace SettleRefund { export type Variables = SettleRefundMutationVariables; export type Mutation = SettleRefundMutation; - export type SettleRefund = SettleRefundMutation['settleRefund']; + export type SettleRefund = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace GetOrderHistory { export type Variables = GetOrderHistoryQueryVariables; export type Query = GetOrderHistoryQuery; export type Order = NonNullable; - export type History = NonNullable['history']; - export type Items = NonNullable['history']['items'][0]>; + export type History = NonNullable['history']>; + export type Items = NonNullable< + NonNullable['history']>['items']>[number] + >; export type Administrator = NonNullable< - NonNullable['history']['items'][0]>['administrator'] + NonNullable< + NonNullable['history']>['items']>[number] + >['administrator'] >; } export namespace AddNoteToOrder { export type Variables = AddNoteToOrderMutationVariables; export type Mutation = AddNoteToOrderMutation; - export type AddNoteToOrder = AddNoteToOrderMutation['addNoteToOrder']; + export type AddNoteToOrder = NonNullable; } export namespace UpdateOrderNote { export type Variables = UpdateOrderNoteMutationVariables; export type Mutation = UpdateOrderNoteMutation; - export type UpdateOrderNote = UpdateOrderNoteMutation['updateOrderNote']; + export type UpdateOrderNote = NonNullable; } export namespace DeleteOrderNote { export type Variables = DeleteOrderNoteMutationVariables; export type Mutation = DeleteOrderNoteMutation; - export type DeleteOrderNote = DeleteOrderNoteMutation['deleteOrderNote']; + export type DeleteOrderNote = NonNullable; } export namespace ProductOptionGroup { export type Fragment = ProductOptionGroupFragment; - export type Options = NonNullable; - export type Translations = NonNullable; + export type Options = NonNullable[number]>; + export type Translations = NonNullable[number]>; } export namespace CreateProductOptionGroup { export type Variables = CreateProductOptionGroupMutationVariables; export type Mutation = CreateProductOptionGroupMutation; - export type CreateProductOptionGroup = ProductOptionGroupFragment; + export type CreateProductOptionGroup = NonNullable< + CreateProductOptionGroupMutation['createProductOptionGroup'] + >; } export namespace UpdateProductOptionGroup { export type Variables = UpdateProductOptionGroupMutationVariables; export type Mutation = UpdateProductOptionGroupMutation; - export type UpdateProductOptionGroup = ProductOptionGroupFragment; + export type UpdateProductOptionGroup = NonNullable< + UpdateProductOptionGroupMutation['updateProductOptionGroup'] + >; } export namespace CreateProductOption { export type Variables = CreateProductOptionMutationVariables; export type Mutation = CreateProductOptionMutation; - export type CreateProductOption = CreateProductOptionMutation['createProductOption']; + export type CreateProductOption = NonNullable; export type Translations = NonNullable< - CreateProductOptionMutation['createProductOption']['translations'][0] + NonNullable['translations']>[number] >; } export namespace UpdateProductOption { export type Variables = UpdateProductOptionMutationVariables; export type Mutation = UpdateProductOptionMutation; - export type UpdateProductOption = UpdateProductOptionMutation['updateProductOption']; + export type UpdateProductOption = NonNullable; +} + +export namespace ProductWithOptions { + export type Fragment = ProductWithOptionsFragment; + export type OptionGroups = NonNullable[number]>; + export type Options = NonNullable< + NonNullable< + NonNullable[number]>['options'] + >[number] + >; } export namespace AddOptionGroupToProduct { export type Variables = AddOptionGroupToProductMutationVariables; export type Mutation = AddOptionGroupToProductMutation; - export type AddOptionGroupToProduct = AddOptionGroupToProductMutation['addOptionGroupToProduct']; - export type OptionGroups = NonNullable< - AddOptionGroupToProductMutation['addOptionGroupToProduct']['optionGroups'][0] - >; - export type Options = NonNullable< - NonNullable< - AddOptionGroupToProductMutation['addOptionGroupToProduct']['optionGroups'][0] - >['options'][0] + export type AddOptionGroupToProduct = NonNullable< + AddOptionGroupToProductMutation['addOptionGroupToProduct'] >; } export namespace RemoveOptionGroupFromProduct { export type Variables = RemoveOptionGroupFromProductMutationVariables; export type Mutation = RemoveOptionGroupFromProductMutation; - export type RemoveOptionGroupFromProduct = RemoveOptionGroupFromProductMutation['removeOptionGroupFromProduct']; - export type OptionGroups = NonNullable< - RemoveOptionGroupFromProductMutation['removeOptionGroupFromProduct']['optionGroups'][0] + export type RemoveOptionGroupFromProduct = NonNullable< + RemoveOptionGroupFromProductMutation['removeOptionGroupFromProduct'] >; - export type Options = NonNullable< - NonNullable< - RemoveOptionGroupFromProductMutation['removeOptionGroupFromProduct']['optionGroups'][0] - >['options'][0] + export type ProductOptionInUseErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ProductOptionInUseError' } >; } @@ -7023,7 +7026,9 @@ export namespace GetOptionGroup { export type Variables = GetOptionGroupQueryVariables; export type Query = GetOptionGroupQuery; export type ProductOptionGroup = NonNullable; - export type Options = NonNullable['options'][0]>; + export type Options = NonNullable< + NonNullable['options']>[number] + >; } export namespace GetProductVariant { @@ -7035,137 +7040,160 @@ export namespace GetProductVariant { export namespace DeletePromotion { export type Variables = DeletePromotionMutationVariables; export type Mutation = DeletePromotionMutation; - export type DeletePromotion = DeletePromotionMutation['deletePromotion']; + export type DeletePromotion = NonNullable; } export namespace GetPromotionList { export type Variables = GetPromotionListQueryVariables; export type Query = GetPromotionListQuery; - export type Promotions = GetPromotionListQuery['promotions']; - export type Items = PromotionFragment; + export type Promotions = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace GetPromotion { export type Variables = GetPromotionQueryVariables; export type Query = GetPromotionQuery; - export type Promotion = PromotionFragment; + export type Promotion = NonNullable; } export namespace UpdatePromotion { export type Variables = UpdatePromotionMutationVariables; export type Mutation = UpdatePromotionMutation; - export type UpdatePromotion = PromotionFragment; + export type UpdatePromotion = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace ConfigurableOperationDef { export type Fragment = ConfigurableOperationDefFragment; - export type Args = NonNullable; + export type Args = NonNullable[number]>; } export namespace GetAdjustmentOperations { export type Variables = GetAdjustmentOperationsQueryVariables; export type Query = GetAdjustmentOperationsQuery; - export type PromotionActions = ConfigurableOperationDefFragment; - export type PromotionConditions = ConfigurableOperationDefFragment; + export type PromotionActions = NonNullable< + NonNullable[number] + >; + export type PromotionConditions = NonNullable< + NonNullable[number] + >; } export namespace GetRoles { export type Variables = GetRolesQueryVariables; export type Query = GetRolesQuery; - export type Roles = GetRolesQuery['roles']; - export type Items = RoleFragment; + export type Roles = NonNullable; + export type Items = NonNullable['items']>[number]>; } export namespace GetRole { export type Variables = GetRoleQueryVariables; export type Query = GetRoleQuery; - export type Role = RoleFragment; + export type Role = NonNullable; } export namespace UpdateRole { export type Variables = UpdateRoleMutationVariables; export type Mutation = UpdateRoleMutation; - export type UpdateRole = RoleFragment; + export type UpdateRole = NonNullable; } export namespace DeleteRole { export type Variables = DeleteRoleMutationVariables; export type Mutation = DeleteRoleMutation; - export type DeleteRole = DeleteRoleMutation['deleteRole']; + export type DeleteRole = NonNullable; } export namespace Logout { export type Variables = LogoutMutationVariables; export type Mutation = LogoutMutation; + export type Logout = NonNullable; } export namespace ShippingMethod { export type Fragment = ShippingMethodFragment; - export type Calculator = ShippingMethodFragment['calculator']; - export type Checker = ShippingMethodFragment['checker']; + export type Calculator = NonNullable; + export type Checker = NonNullable; } export namespace GetShippingMethodList { export type Variables = GetShippingMethodListQueryVariables; export type Query = GetShippingMethodListQuery; - export type ShippingMethods = GetShippingMethodListQuery['shippingMethods']; - export type Items = ShippingMethodFragment; + export type ShippingMethods = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace GetShippingMethod { export type Variables = GetShippingMethodQueryVariables; export type Query = GetShippingMethodQuery; - export type ShippingMethod = ShippingMethodFragment; + export type ShippingMethod = NonNullable; } export namespace CreateShippingMethod { export type Variables = CreateShippingMethodMutationVariables; export type Mutation = CreateShippingMethodMutation; - export type CreateShippingMethod = ShippingMethodFragment; + export type CreateShippingMethod = NonNullable; } export namespace UpdateShippingMethod { export type Variables = UpdateShippingMethodMutationVariables; export type Mutation = UpdateShippingMethodMutation; - export type UpdateShippingMethod = ShippingMethodFragment; + export type UpdateShippingMethod = NonNullable; } export namespace DeleteShippingMethod { export type Variables = DeleteShippingMethodMutationVariables; export type Mutation = DeleteShippingMethodMutation; - export type DeleteShippingMethod = DeleteShippingMethodMutation['deleteShippingMethod']; + export type DeleteShippingMethod = NonNullable; } export namespace GetEligibilityCheckers { export type Variables = GetEligibilityCheckersQueryVariables; export type Query = GetEligibilityCheckersQuery; export type ShippingEligibilityCheckers = NonNullable< - GetEligibilityCheckersQuery['shippingEligibilityCheckers'][0] + NonNullable[number] >; export type Args = NonNullable< - NonNullable['args'][0] + NonNullable< + NonNullable< + NonNullable[number] + >['args'] + >[number] >; } export namespace GetCalculators { export type Variables = GetCalculatorsQueryVariables; export type Query = GetCalculatorsQuery; - export type ShippingCalculators = NonNullable; - export type Args = NonNullable['args'][0]>; + export type ShippingCalculators = NonNullable< + NonNullable[number] + >; + export type Args = NonNullable< + NonNullable< + NonNullable[number]>['args'] + >[number] + >; } export namespace TestShippingMethod { export type Variables = TestShippingMethodQueryVariables; export type Query = TestShippingMethodQuery; - export type TestShippingMethod = TestShippingMethodQuery['testShippingMethod']; - export type Quote = NonNullable; + export type TestShippingMethod = NonNullable; + export type Quote = NonNullable['quote']>; } export namespace TestEligibleMethods { export type Variables = TestEligibleMethodsQueryVariables; export type Query = TestEligibleMethodsQuery; export type TestEligibleShippingMethods = NonNullable< - TestEligibleMethodsQuery['testEligibleShippingMethods'][0] + NonNullable[number] >; } @@ -7178,8 +7206,10 @@ export namespace GetMe { export namespace GetProductsTake3 { export type Variables = GetProductsTake3QueryVariables; export type Query = GetProductsTake3Query; - export type Products = GetProductsTake3Query['products']; - export type Items = NonNullable; + export type Products = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace GetProduct1 { @@ -7192,7 +7222,9 @@ export namespace GetProduct2Variants { export type Variables = GetProduct2VariantsQueryVariables; export type Query = GetProduct2VariantsQuery; export type Product = NonNullable; - export type Variants = NonNullable['variants'][0]>; + export type Variants = NonNullable< + NonNullable['variants']>[number] + >; } export namespace GetProductCollection { @@ -7200,31 +7232,37 @@ export namespace GetProductCollection { export type Query = GetProductCollectionQuery; export type Product = NonNullable; export type Collections = NonNullable< - NonNullable['collections'][0] + NonNullable['collections']>[number] >; } export namespace DisableProduct { export type Variables = DisableProductMutationVariables; export type Mutation = DisableProductMutation; - export type UpdateProduct = DisableProductMutation['updateProduct']; + export type UpdateProduct = NonNullable; } export namespace GetCollectionVariants { export type Variables = GetCollectionVariantsQueryVariables; export type Query = GetCollectionVariantsQuery; export type Collection = NonNullable; - export type ProductVariants = NonNullable['productVariants']; + export type ProductVariants = NonNullable< + NonNullable['productVariants'] + >; export type Items = NonNullable< - NonNullable['productVariants']['items'][0] + NonNullable< + NonNullable['productVariants']>['items'] + >[number] >; } export namespace GetCollectionList { export type Variables = GetCollectionListQueryVariables; export type Query = GetCollectionListQuery; - export type Collections = GetCollectionListQuery['collections']; - export type Items = NonNullable; + export type Collections = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace GetProductFacetValues { @@ -7232,7 +7270,7 @@ export namespace GetProductFacetValues { export type Query = GetProductFacetValuesQuery; export type Product = NonNullable; export type FacetValues = NonNullable< - NonNullable['facetValues'][0] + NonNullable['facetValues']>[number] >; } @@ -7240,29 +7278,39 @@ export namespace GetVariantFacetValues { export type Variables = GetVariantFacetValuesQueryVariables; export type Query = GetVariantFacetValuesQuery; export type Product = NonNullable; - export type Variants = NonNullable['variants'][0]>; + export type Variants = NonNullable< + NonNullable['variants']>[number] + >; export type FacetValues = NonNullable< - NonNullable['variants'][0]>['facetValues'][0] + NonNullable< + NonNullable< + NonNullable['variants']>[number] + >['facetValues'] + >[number] >; } export namespace GetCustomerIds { export type Variables = GetCustomerIdsQueryVariables; export type Query = GetCustomerIdsQuery; - export type Customers = GetCustomerIdsQuery['customers']; - export type Items = NonNullable; + export type Customers = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; } export namespace UpdateStock { export type Variables = UpdateStockMutationVariables; export type Mutation = UpdateStockMutation; - export type UpdateProductVariants = VariantWithStockFragment; + export type UpdateProductVariants = NonNullable< + NonNullable[number] + >; } export namespace GetTaxCategoryList { export type Variables = GetTaxCategoryListQueryVariables; export type Query = GetTaxCategoryListQuery; - export type TaxCategories = NonNullable; + export type TaxCategories = NonNullable[number]>; } export namespace GetTaxCategory { @@ -7274,84 +7322,84 @@ export namespace GetTaxCategory { export namespace CreateTaxCategory { export type Variables = CreateTaxCategoryMutationVariables; export type Mutation = CreateTaxCategoryMutation; - export type CreateTaxCategory = CreateTaxCategoryMutation['createTaxCategory']; + export type CreateTaxCategory = NonNullable; } export namespace UpdateTaxCategory { export type Variables = UpdateTaxCategoryMutationVariables; export type Mutation = UpdateTaxCategoryMutation; - export type UpdateTaxCategory = UpdateTaxCategoryMutation['updateTaxCategory']; + export type UpdateTaxCategory = NonNullable; } export namespace DeleteTaxCategory { export type Variables = DeleteTaxCategoryMutationVariables; export type Mutation = DeleteTaxCategoryMutation; - export type DeleteTaxCategory = DeleteTaxCategoryMutation['deleteTaxCategory']; + export type DeleteTaxCategory = NonNullable; } export namespace GetTaxRates { export type Variables = GetTaxRatesQueryVariables; export type Query = GetTaxRatesQuery; - export type TaxRates = GetTaxRatesQuery['taxRates']; - export type Items = TaxRateFragment; + export type TaxRates = NonNullable; + export type Items = NonNullable['items']>[number]>; } export namespace GetTaxRate { export type Variables = GetTaxRateQueryVariables; export type Query = GetTaxRateQuery; - export type TaxRate = TaxRateFragment; + export type TaxRate = NonNullable; } export namespace CreateTaxRate { export type Variables = CreateTaxRateMutationVariables; export type Mutation = CreateTaxRateMutation; - export type CreateTaxRate = TaxRateFragment; + export type CreateTaxRate = NonNullable; } export namespace DeleteTaxRate { export type Variables = DeleteTaxRateMutationVariables; export type Mutation = DeleteTaxRateMutation; - export type DeleteTaxRate = DeleteTaxRateMutation['deleteTaxRate']; + export type DeleteTaxRate = NonNullable; } export namespace DeleteZone { export type Variables = DeleteZoneMutationVariables; export type Mutation = DeleteZoneMutation; - export type DeleteZone = DeleteZoneMutation['deleteZone']; + export type DeleteZone = NonNullable; } export namespace GetZones { export type Variables = GetZonesQueryVariables; export type Query = GetZonesQuery; - export type Zones = NonNullable; + export type Zones = NonNullable[number]>; } export namespace GetZone { export type Variables = GetZoneQueryVariables; export type Query = GetZoneQuery; - export type Zone = ZoneFragment; + export type Zone = NonNullable; } export namespace CreateZone { export type Variables = CreateZoneMutationVariables; export type Mutation = CreateZoneMutation; - export type CreateZone = ZoneFragment; + export type CreateZone = NonNullable; } export namespace UpdateZone { export type Variables = UpdateZoneMutationVariables; export type Mutation = UpdateZoneMutation; - export type UpdateZone = ZoneFragment; + export type UpdateZone = NonNullable; } export namespace AddMembersToZone { export type Variables = AddMembersToZoneMutationVariables; export type Mutation = AddMembersToZoneMutation; - export type AddMembersToZone = ZoneFragment; + export type AddMembersToZone = NonNullable; } export namespace RemoveMembersFromZone { export type Variables = RemoveMembersFromZoneMutationVariables; export type Mutation = RemoveMembersFromZoneMutation; - export type RemoveMembersFromZone = ZoneFragment; + export type RemoveMembersFromZone = NonNullable; } diff --git a/packages/core/e2e/graphql/generated-e2e-shop-types.ts b/packages/core/e2e/graphql/generated-e2e-shop-types.ts index 3d86b0136f..fa47d3ca50 100644 --- a/packages/core/e2e/graphql/generated-e2e-shop-types.ts +++ b/packages/core/e2e/graphql/generated-e2e-shop-types.ts @@ -1,6 +1,6 @@ // tslint:disable export type Maybe = T | null; - +export type Exact = { [K in keyof T]: T[K] }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; @@ -8,13 +8,22 @@ export type Scalars = { Boolean: boolean; Int: number; Float: number; + /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: any; + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any; + /** The `Upload` scalar type represents a file upload. */ Upload: any; }; +export type AddPaymentToOrderResult = + | Order + | OrderPaymentStateError + | PaymentFailedError + | PaymentDeclinedError + | OrderStateTransitionError; + export type Address = Node & { - __typename?: 'Address'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -33,7 +42,6 @@ export type Address = Node & { }; export type Adjustment = { - __typename?: 'Adjustment'; adjustmentSource: Scalars['String']; type: AdjustmentType; description: Scalars['String']; @@ -51,7 +59,6 @@ export enum AdjustmentType { } export type Administrator = Node & { - __typename?: 'Administrator'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -62,13 +69,23 @@ export type Administrator = Node & { }; export type AdministratorList = PaginatedList & { - __typename?: 'AdministratorList'; items: Array; totalItems: Scalars['Int']; }; +/** Retured when attemting to set the Customer for an Order when already logged in. */ +export type AlreadyLoggedInError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export type ApplyCouponCodeResult = + | Order + | CouponCodeExpiredError + | CouponCodeInvalidError + | CouponCodeLimitError; + export type Asset = Node & { - __typename?: 'Asset'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -84,7 +101,6 @@ export type Asset = Node & { }; export type AssetList = PaginatedList & { - __typename?: 'AssetList'; items: Array; totalItems: Scalars['Int']; }; @@ -100,15 +116,15 @@ export type AuthenticationInput = { }; export type AuthenticationMethod = Node & { - __typename?: 'AuthenticationMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; strategy: Scalars['String']; }; +export type AuthenticationResult = CurrentUser | InvalidCredentialsError; + export type BooleanCustomFieldConfig = CustomField & { - __typename?: 'BooleanCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -124,7 +140,6 @@ export type BooleanOperators = { export type Cancellation = Node & StockMovement & { - __typename?: 'Cancellation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -135,7 +150,6 @@ export type Cancellation = Node & }; export type Channel = Node & { - __typename?: 'Channel'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -149,7 +163,6 @@ export type Channel = Node & { }; export type Collection = Node & { - __typename?: 'Collection'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -174,7 +187,6 @@ export type CollectionProductVariantsArgs = { }; export type CollectionBreadcrumb = { - __typename?: 'CollectionBreadcrumb'; id: Scalars['ID']; name: Scalars['String']; slug: Scalars['String']; @@ -191,7 +203,6 @@ export type CollectionFilterParameter = { }; export type CollectionList = PaginatedList & { - __typename?: 'CollectionList'; items: Array; totalItems: Scalars['Int']; }; @@ -214,7 +225,6 @@ export type CollectionSortParameter = { }; export type CollectionTranslation = { - __typename?: 'CollectionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -225,13 +235,11 @@ export type CollectionTranslation = { }; export type ConfigArg = { - __typename?: 'ConfigArg'; name: Scalars['String']; value: Scalars['String']; }; export type ConfigArgDefinition = { - __typename?: 'ConfigArgDefinition'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -246,13 +254,11 @@ export type ConfigArgInput = { }; export type ConfigurableOperation = { - __typename?: 'ConfigurableOperation'; code: Scalars['String']; args: Array; }; export type ConfigurableOperationDefinition = { - __typename?: 'ConfigurableOperationDefinition'; code: Scalars['String']; args: Array; description: Scalars['String']; @@ -264,13 +270,11 @@ export type ConfigurableOperationInput = { }; export type Coordinate = { - __typename?: 'Coordinate'; x: Scalars['Float']; y: Scalars['Float']; }; export type Country = Node & { - __typename?: 'Country'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -282,13 +286,11 @@ export type Country = Node & { }; export type CountryList = PaginatedList & { - __typename?: 'CountryList'; items: Array; totalItems: Scalars['Int']; }; export type CountryTranslation = { - __typename?: 'CountryTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -296,6 +298,28 @@ export type CountryTranslation = { name: Scalars['String']; }; +/** Returned if the provided coupon code is invalid */ +export type CouponCodeExpiredError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + couponCode: Scalars['String']; +}; + +/** Returned if the provided coupon code is invalid */ +export type CouponCodeInvalidError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + couponCode: Scalars['String']; +}; + +/** Returned if the provided coupon code is invalid */ +export type CouponCodeLimitError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + couponCode: Scalars['String']; + limit: Scalars['Int']; +}; + export type CreateAddressInput = { fullName?: Maybe; company?: Maybe; @@ -644,14 +668,12 @@ export enum CurrencyCode { } export type CurrentUser = { - __typename?: 'CurrentUser'; id: Scalars['ID']; identifier: Scalars['String']; channels: Array; }; export type CurrentUserChannel = { - __typename?: 'CurrentUserChannel'; id: Scalars['ID']; token: Scalars['String']; code: Scalars['String']; @@ -659,7 +681,6 @@ export type CurrentUserChannel = { }; export type Customer = Node & { - __typename?: 'Customer'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -689,7 +710,6 @@ export type CustomerFilterParameter = { }; export type CustomerGroup = Node & { - __typename?: 'CustomerGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -702,7 +722,6 @@ export type CustomerGroupCustomersArgs = { }; export type CustomerList = PaginatedList & { - __typename?: 'CustomerList'; items: Array; totalItems: Scalars['Int']; }; @@ -744,7 +763,6 @@ export type CustomFieldConfig = | DateTimeCustomFieldConfig; export type CustomFields = { - __typename?: 'CustomFields'; Address: Array; Collection: Array; Customer: Array; @@ -778,7 +796,6 @@ export type DateRange = { * See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes */ export type DateTimeCustomFieldConfig = CustomField & { - __typename?: 'DateTimeCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -792,7 +809,6 @@ export type DateTimeCustomFieldConfig = CustomField & { }; export type DeletionResponse = { - __typename?: 'DeletionResponse'; result: DeletionResult; message?: Maybe; }; @@ -804,8 +820,44 @@ export enum DeletionResult { NOT_DELETED = 'NOT_DELETED', } +/** Retured when attemting to create a Customer with an email address already registered to an existing User. */ +export type EmailAddressConflictError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export enum ErrorCode { + UNKNOWN_ERROR = 'UNKNOWN_ERROR', + ORDER_MODIFICATION_ERROR = 'ORDER_MODIFICATION_ERROR', + ORDER_LIMIT_ERROR = 'ORDER_LIMIT_ERROR', + NEGATIVE_QUANTITY_ERROR = 'NEGATIVE_QUANTITY_ERROR', + COUPON_CODE_EXPIRED_ERROR = 'COUPON_CODE_EXPIRED_ERROR', + COUPON_CODE_INVALID_ERROR = 'COUPON_CODE_INVALID_ERROR', + COUPON_CODE_LIMIT_ERROR = 'COUPON_CODE_LIMIT_ERROR', + ORDER_STATE_TRANSITION_ERROR = 'ORDER_STATE_TRANSITION_ERROR', + ORDER_PAYMENT_STATE_ERROR = 'ORDER_PAYMENT_STATE_ERROR', + PAYMENT_FAILED_ERROR = 'PAYMENT_FAILED_ERROR', + PAYMENT_DECLINED_ERROR = 'PAYMENT_DECLINED_ERROR', + ALREADY_LOGGED_IN_ERROR = 'ALREADY_LOGGED_IN_ERROR', + EMAIL_ADDRESS_CONFLICT_ERROR = 'EMAIL_ADDRESS_CONFLICT_ERROR', + INVALID_CREDENTIALS_ERROR = 'INVALID_CREDENTIALS_ERROR', + NATIVE_AUTH_STRATEGY_ERROR = 'NATIVE_AUTH_STRATEGY_ERROR', + MISSING_PASSWORD_ERROR = 'MISSING_PASSWORD_ERROR', + VERIFICATION_TOKEN_INVALID_ERROR = 'VERIFICATION_TOKEN_INVALID_ERROR', + VERIFICATION_TOKEN_EXPIRED_ERROR = 'VERIFICATION_TOKEN_EXPIRED_ERROR', + PASSWORD_ALREADY_SET_ERROR = 'PASSWORD_ALREADY_SET_ERROR', + IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR = 'IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR', + IDENTIFIER_CHANGE_TOKEN_EXPIRED_ERROR = 'IDENTIFIER_CHANGE_TOKEN_EXPIRED_ERROR', + PASSWORD_RESET_TOKEN_INVALID_ERROR = 'PASSWORD_RESET_TOKEN_INVALID_ERROR', + PASSWORD_RESET_TOKEN_EXPIRED_ERROR = 'PASSWORD_RESET_TOKEN_EXPIRED_ERROR', +} + +export type ErrorResult = { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Facet = Node & { - __typename?: 'Facet'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -818,13 +870,11 @@ export type Facet = Node & { }; export type FacetList = PaginatedList & { - __typename?: 'FacetList'; items: Array; totalItems: Scalars['Int']; }; export type FacetTranslation = { - __typename?: 'FacetTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -833,7 +883,6 @@ export type FacetTranslation = { }; export type FacetValue = Node & { - __typename?: 'FacetValue'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -850,13 +899,11 @@ export type FacetValue = Node & { * by the search, and in what quantity. */ export type FacetValueResult = { - __typename?: 'FacetValueResult'; facetValue: FacetValue; count: Scalars['Int']; }; export type FacetValueTranslation = { - __typename?: 'FacetValueTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -865,7 +912,6 @@ export type FacetValueTranslation = { }; export type FloatCustomFieldConfig = CustomField & { - __typename?: 'FloatCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -879,7 +925,6 @@ export type FloatCustomFieldConfig = CustomField & { }; export type Fulfillment = Node & { - __typename?: 'Fulfillment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -890,7 +935,6 @@ export type Fulfillment = Node & { }; export type GlobalSettings = { - __typename?: 'GlobalSettings'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -901,7 +945,6 @@ export type GlobalSettings = { }; export type HistoryEntry = Node & { - __typename?: 'HistoryEntry'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -919,7 +962,6 @@ export type HistoryEntryFilterParameter = { }; export type HistoryEntryList = PaginatedList & { - __typename?: 'HistoryEntryList'; items: Array; totalItems: Scalars['Int']; }; @@ -963,15 +1005,31 @@ export enum HistoryEntryType { ORDER_COUPON_REMOVED = 'ORDER_COUPON_REMOVED', } +/** + * Retured if the token used to change a Customer's email address is valid, but has + * expired according to the `verificationTokenDuration` setting in the AuthOptions. + */ +export type IdentifierChangeTokenExpiredError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** + * Retured if the token used to change a Customer's email address is either + * invalid or does not match any expected tokens. + */ +export type IdentifierChangeTokenInvalidError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type ImportInfo = { - __typename?: 'ImportInfo'; errors?: Maybe>; processed: Scalars['Int']; imported: Scalars['Int']; }; export type IntCustomFieldConfig = CustomField & { - __typename?: 'IntCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -984,6 +1042,12 @@ export type IntCustomFieldConfig = CustomField & { step?: Maybe; }; +/** Returned if the user authentication credentials are not valid */ +export type InvalidCredentialsError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + /** * @description * Languages in the form of a ISO 639-1 language code with optional @@ -1311,7 +1375,6 @@ export enum LanguageCode { } export type LocaleStringCustomFieldConfig = CustomField & { - __typename?: 'LocaleStringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1324,7 +1387,6 @@ export type LocaleStringCustomFieldConfig = CustomField & { }; export type LocalizedString = { - __typename?: 'LocalizedString'; languageCode: LanguageCode; value: Scalars['String']; }; @@ -1334,33 +1396,33 @@ export enum LogicalOperator { OR = 'OR', } -export type LoginResult = { - __typename?: 'LoginResult'; - user: CurrentUser; +/** Retured when attemting to register or verify a customer account without a password, when one is required. */ +export type MissingPasswordError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; }; export type Mutation = { - __typename?: 'Mutation'; /** * Adds an item to the order. If custom fields are defined on the OrderLine * entity, a third argument 'customFields' will be available. */ - addItemToOrder?: Maybe; + addItemToOrder: UpdateOrderItemsResult; /** Remove an OrderLine from the Order */ - removeOrderLine?: Maybe; + removeOrderLine: RemoveOrderItemsResult; /** Remove all OrderLine from the Order */ - removeAllOrderLines?: Maybe; + removeAllOrderLines: RemoveOrderItemsResult; /** * Adjusts an OrderLine. If custom fields are defined on the OrderLine entity, a * third argument 'customFields' of type `OrderLineCustomFieldsInput` will be available. */ - adjustOrderLine?: Maybe; + adjustOrderLine: UpdateOrderItemsResult; /** Applies the given coupon code to the active Order */ - applyCouponCode?: Maybe; + applyCouponCode: ApplyCouponCodeResult; /** Removes the given coupon code from the active Order */ removeCouponCode?: Maybe; /** Transitions an Order to a new state. Valid next states can be found by querying `nextOrderStates` */ - transitionOrderToState?: Maybe; + transitionOrderToState?: Maybe; /** Sets the shipping address for this order */ setOrderShippingAddress?: Maybe; /** Sets the billing address for this order */ @@ -1368,25 +1430,20 @@ export type Mutation = { /** Allows any custom fields to be set for the active order */ setOrderCustomFields?: Maybe; /** Sets the shipping method by id, which can be obtained with the `eligibleShippingMethods` query */ - setOrderShippingMethod?: Maybe; + setOrderShippingMethod: SetOrderShippingMethodResult; /** Add a Payment to the Order */ - addPaymentToOrder?: Maybe; + addPaymentToOrder?: Maybe; /** Set the Customer for the Order. Required only if the Customer is not currently logged in */ - setCustomerForOrder?: Maybe; + setCustomerForOrder?: Maybe; /** * Authenticates the user using the native authentication strategy. This mutation * is an alias for `authenticate({ native: { ... }})` */ - login: LoginResult; + login: NativeAuthenticationResult; /** Authenticates the user using a named authentication strategy */ - authenticate: LoginResult; + authenticate: AuthenticationResult; /** End the current authenticated session */ - logout: Scalars['Boolean']; - /** - * Regenerate and send a verification token for a new Customer registration. Only - * applicable if `authOptions.requireVerification` is set to true. - */ - refreshCustomerVerification: Scalars['Boolean']; + logout: Success; /** * Register a Customer account with the given credentials. There are three possible registration flows: * @@ -1408,7 +1465,12 @@ export type Mutation = { * 3. The Customer _must_ be registered _with_ a password. No further action is * needed - the Customer is able to authenticate immediately. */ - registerCustomerAccount: Scalars['Boolean']; + registerCustomerAccount: RegisterCustomerAccountResult; + /** + * Regenerate and send a verification token for a new Customer registration. Only + * applicable if `authOptions.requireVerification` is set to true. + */ + refreshCustomerVerification: RefreshCustomerVerificationResult; /** Update an existing Customer */ updateCustomer: Customer; /** Create a new Customer Address */ @@ -1416,7 +1478,7 @@ export type Mutation = { /** Update an existing Address */ updateCustomerAddress: Address; /** Delete an existing Address */ - deleteCustomerAddress: Scalars['Boolean']; + deleteCustomerAddress: Success; /** * Verify a Customer email address with the token sent to that address. Only * applicable if `authOptions.requireVerification` is set to true. @@ -1424,25 +1486,25 @@ export type Mutation = { * If the Customer was not registered with a password in the `registerCustomerAccount` mutation, the a password _must_ be * provided here. */ - verifyCustomerAccount: LoginResult; + verifyCustomerAccount: VerifyCustomerAccountResult; /** Update the password of the active Customer */ - updateCustomerPassword?: Maybe; + updateCustomerPassword: UpdateCustomerPasswordResult; /** * Request to update the emailAddress of the active Customer. If `authOptions.requireVerification` is enabled * (as is the default), then the `identifierChangeToken` will be assigned to the current User and * a IdentifierChangeRequestEvent will be raised. This can then be used e.g. by the EmailPlugin to email * that verification token to the Customer, which is then used to verify the change of email address. */ - requestUpdateCustomerEmailAddress?: Maybe; + requestUpdateCustomerEmailAddress: RequestUpdateCustomerEmailAddressResult; /** * Confirm the update of the emailAddress with the provided token, which has been generated by the * `requestUpdateCustomerEmailAddress` mutation. */ - updateCustomerEmailAddress?: Maybe; + updateCustomerEmailAddress: UpdateCustomerEmailAddressResult; /** Requests a password reset email to be sent */ - requestPasswordReset?: Maybe; + requestPasswordReset?: Maybe; /** Resets a Customer's password based on the provided token */ - resetPassword: LoginResult; + resetPassword: ResetPasswordResult; }; export type MutationAddItemToOrderArgs = { @@ -1506,14 +1568,14 @@ export type MutationAuthenticateArgs = { rememberMe?: Maybe; }; -export type MutationRefreshCustomerVerificationArgs = { - emailAddress: Scalars['String']; -}; - export type MutationRegisterCustomerAccountArgs = { input: RegisterCustomerInput; }; +export type MutationRefreshCustomerVerificationArgs = { + emailAddress: Scalars['String']; +}; + export type MutationUpdateCustomerArgs = { input: UpdateCustomerInput; }; @@ -1558,11 +1620,25 @@ export type MutationResetPasswordArgs = { password: Scalars['String']; }; +export type NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError; + export type NativeAuthInput = { username: Scalars['String']; password: Scalars['String']; }; +/** Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured. */ +export type NativeAuthStrategyError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Retured when attemting to set a negative OrderLine quantity. */ +export type NegativeQuantityError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Node = { id: Scalars['ID']; }; @@ -1582,7 +1658,6 @@ export type NumberRange = { }; export type Order = Node & { - __typename?: 'Order'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1620,7 +1695,6 @@ export type OrderHistoryArgs = { }; export type OrderAddress = { - __typename?: 'OrderAddress'; fullName?: Maybe; company?: Maybe; streetLine1?: Maybe; @@ -1649,7 +1723,6 @@ export type OrderFilterParameter = { }; export type OrderItem = Node & { - __typename?: 'OrderItem'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1663,8 +1736,14 @@ export type OrderItem = Node & { refundId?: Maybe; }; +/** Retured when the maximum order size limit has been reached. */ +export type OrderLimitError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + maxItems: Scalars['Int']; +}; + export type OrderLine = Node & { - __typename?: 'OrderLine'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1681,7 +1760,6 @@ export type OrderLine = Node & { }; export type OrderList = PaginatedList & { - __typename?: 'OrderList'; items: Array; totalItems: Scalars['Int']; }; @@ -1693,8 +1771,19 @@ export type OrderListOptions = { filter?: Maybe; }; +/** Returned when attempting to modify the contents of an Order that is not in the `AddingItems` state. */ +export type OrderModificationError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned when attempting to add a Payment to an Order that is not in the `ArrangingPayment` state. */ +export type OrderPaymentStateError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type OrderProcessState = { - __typename?: 'OrderProcessState'; name: Scalars['String']; to: Array; }; @@ -1713,13 +1802,45 @@ export type OrderSortParameter = { total?: Maybe; }; +/** Returned if there is an error in transitioning the Order state */ +export type OrderStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type PaginatedList = { items: Array; totalItems: Scalars['Int']; }; +/** Retured when attemting to verify a customer account with a password, when a password has already been set. */ +export type PasswordAlreadySetError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** + * Retured if the token used to reset a Customer's password is valid, but has + * expired according to the `verificationTokenDuration` setting in the AuthOptions. + */ +export type PasswordResetTokenExpiredError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** + * Retured if the token used to reset a Customer's password is either + * invalid or does not match any expected tokens. + */ +export type PasswordResetTokenInvalidError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Payment = Node & { - __typename?: 'Payment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1732,6 +1853,20 @@ export type Payment = Node & { metadata?: Maybe; }; +/** Returned when a Payment is declined by the payment provider. */ +export type PaymentDeclinedError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + +/** Returned when a Payment fails due to an error. */ +export type PaymentFailedError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + /** Passed as input to the `addPaymentToOrder` mutation. */ export type PaymentInput = { /** This field should correspond to the `code` property of a PaymentMethodHandler. */ @@ -1745,7 +1880,6 @@ export type PaymentInput = { }; export type PaymentMethod = Node & { - __typename?: 'PaymentMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1800,13 +1934,11 @@ export enum Permission { /** The price range where the result has more than one price */ export type PriceRange = { - __typename?: 'PriceRange'; min: Scalars['Int']; max: Scalars['Int']; }; export type Product = Node & { - __typename?: 'Product'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1834,7 +1966,6 @@ export type ProductFilterParameter = { }; export type ProductList = PaginatedList & { - __typename?: 'ProductList'; items: Array; totalItems: Scalars['Int']; }; @@ -1847,7 +1978,6 @@ export type ProductListOptions = { }; export type ProductOption = Node & { - __typename?: 'ProductOption'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1861,7 +1991,6 @@ export type ProductOption = Node & { }; export type ProductOptionGroup = Node & { - __typename?: 'ProductOptionGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1874,7 +2003,6 @@ export type ProductOptionGroup = Node & { }; export type ProductOptionGroupTranslation = { - __typename?: 'ProductOptionGroupTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1883,7 +2011,6 @@ export type ProductOptionGroupTranslation = { }; export type ProductOptionTranslation = { - __typename?: 'ProductOptionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1901,7 +2028,6 @@ export type ProductSortParameter = { }; export type ProductTranslation = { - __typename?: 'ProductTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1912,7 +2038,6 @@ export type ProductTranslation = { }; export type ProductVariant = Node & { - __typename?: 'ProductVariant'; id: Scalars['ID']; product: Product; productId: Scalars['ID']; @@ -1948,7 +2073,6 @@ export type ProductVariantFilterParameter = { }; export type ProductVariantList = PaginatedList & { - __typename?: 'ProductVariantList'; items: Array; totalItems: Scalars['Int']; }; @@ -1972,7 +2096,6 @@ export type ProductVariantSortParameter = { }; export type ProductVariantTranslation = { - __typename?: 'ProductVariantTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1981,7 +2104,6 @@ export type ProductVariantTranslation = { }; export type Promotion = Node & { - __typename?: 'Promotion'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1996,13 +2118,11 @@ export type Promotion = Node & { }; export type PromotionList = PaginatedList & { - __typename?: 'PromotionList'; items: Array; totalItems: Scalars['Int']; }; export type Query = { - __typename?: 'Query'; /** The active Channel */ activeChannel: Channel; /** The active Customer */ @@ -2075,8 +2195,9 @@ export type QuerySearchArgs = { input: SearchInput; }; +export type RefreshCustomerVerificationResult = Success | NativeAuthStrategyError; + export type Refund = Node & { - __typename?: 'Refund'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2093,6 +2214,8 @@ export type Refund = Node & { metadata?: Maybe; }; +export type RegisterCustomerAccountResult = Success | MissingPasswordError | NativeAuthStrategyError; + export type RegisterCustomerInput = { emailAddress: Scalars['String']; title?: Maybe; @@ -2102,9 +2225,24 @@ export type RegisterCustomerInput = { password?: Maybe; }; +export type RemoveOrderItemsResult = Order | OrderModificationError; + +export type RequestPasswordResetResult = Success | NativeAuthStrategyError; + +export type RequestUpdateCustomerEmailAddressResult = + | Success + | InvalidCredentialsError + | EmailAddressConflictError + | NativeAuthStrategyError; + +export type ResetPasswordResult = + | CurrentUser + | PasswordResetTokenInvalidError + | PasswordResetTokenExpiredError + | NativeAuthStrategyError; + export type Return = Node & StockMovement & { - __typename?: 'Return'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2115,7 +2253,6 @@ export type Return = Node & }; export type Role = Node & { - __typename?: 'Role'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2126,14 +2263,12 @@ export type Role = Node & { }; export type RoleList = PaginatedList & { - __typename?: 'RoleList'; items: Array; totalItems: Scalars['Int']; }; export type Sale = Node & StockMovement & { - __typename?: 'Sale'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2156,19 +2291,16 @@ export type SearchInput = { }; export type SearchReindexResponse = { - __typename?: 'SearchReindexResponse'; success: Scalars['Boolean']; }; export type SearchResponse = { - __typename?: 'SearchResponse'; items: Array; totalItems: Scalars['Int']; facetValues: Array; }; export type SearchResult = { - __typename?: 'SearchResult'; sku: Scalars['String']; slug: Scalars['String']; productId: Scalars['ID']; @@ -2194,7 +2326,6 @@ export type SearchResult = { }; export type SearchResultAsset = { - __typename?: 'SearchResultAsset'; id: Scalars['ID']; preview: Scalars['String']; focalPoint?: Maybe; @@ -2209,14 +2340,16 @@ export type SearchResultSortParameter = { }; export type ServerConfig = { - __typename?: 'ServerConfig'; orderProcess: Array; permittedAssetTypes: Array; customFieldConfig: CustomFields; }; +export type SetCustomerForOrderResult = Order | AlreadyLoggedInError | EmailAddressConflictError; + +export type SetOrderShippingMethodResult = Order | OrderModificationError; + export type ShippingMethod = Node & { - __typename?: 'ShippingMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2228,13 +2361,11 @@ export type ShippingMethod = Node & { }; export type ShippingMethodList = PaginatedList & { - __typename?: 'ShippingMethodList'; items: Array; totalItems: Scalars['Int']; }; export type ShippingMethodQuote = { - __typename?: 'ShippingMethodQuote'; id: Scalars['ID']; price: Scalars['Int']; priceWithTax: Scalars['Int']; @@ -2244,7 +2375,6 @@ export type ShippingMethodQuote = { /** The price value where the result has a single price */ export type SinglePrice = { - __typename?: 'SinglePrice'; value: Scalars['Int']; }; @@ -2255,7 +2385,6 @@ export enum SortOrder { export type StockAdjustment = Node & StockMovement & { - __typename?: 'StockAdjustment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2276,7 +2405,6 @@ export type StockMovement = { export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return; export type StockMovementList = { - __typename?: 'StockMovementList'; items: Array; totalItems: Scalars['Int']; }; @@ -2289,7 +2417,6 @@ export enum StockMovementType { } export type StringCustomFieldConfig = CustomField & { - __typename?: 'StringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -2303,7 +2430,6 @@ export type StringCustomFieldConfig = CustomField & { }; export type StringFieldOption = { - __typename?: 'StringFieldOption'; value: Scalars['String']; label?: Maybe>; }; @@ -2313,8 +2439,12 @@ export type StringOperators = { contains?: Maybe; }; +/** Indicates that an operation succeeded, where we do not want to return any more specific information. */ +export type Success = { + success: Scalars['Boolean']; +}; + export type TaxCategory = Node & { - __typename?: 'TaxCategory'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2322,7 +2452,6 @@ export type TaxCategory = Node & { }; export type TaxRate = Node & { - __typename?: 'TaxRate'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2335,11 +2464,12 @@ export type TaxRate = Node & { }; export type TaxRateList = PaginatedList & { - __typename?: 'TaxRateList'; items: Array; totalItems: Scalars['Int']; }; +export type TransitionOrderToStateResult = Order | OrderStateTransitionError; + export type UpdateAddressInput = { id: Scalars['ID']; fullName?: Maybe; @@ -2356,6 +2486,12 @@ export type UpdateAddressInput = { customFields?: Maybe; }; +export type UpdateCustomerEmailAddressResult = + | Success + | IdentifierChangeTokenInvalidError + | IdentifierChangeTokenExpiredError + | NativeAuthStrategyError; + export type UpdateCustomerInput = { title?: Maybe; firstName?: Maybe; @@ -2364,12 +2500,15 @@ export type UpdateCustomerInput = { customFields?: Maybe; }; +export type UpdateCustomerPasswordResult = Success | InvalidCredentialsError | NativeAuthStrategyError; + export type UpdateOrderInput = { customFields?: Maybe; }; +export type UpdateOrderItemsResult = Order | OrderModificationError | OrderLimitError | NegativeQuantityError; + export type User = Node & { - __typename?: 'User'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2381,8 +2520,33 @@ export type User = Node & { customFields?: Maybe; }; +/** + * Returned if the verification token (used to verify a Customer's email address) is valid, but has + * expired according to the `verificationTokenDuration` setting in the AuthOptions. + */ +export type VerificationTokenExpiredError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** + * Retured if the verification token (used to verify a Customer's email address) is either + * invalid or does not match any expected tokens. + */ +export type VerificationTokenInvalidError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export type VerifyCustomerAccountResult = + | CurrentUser + | VerificationTokenInvalidError + | VerificationTokenExpiredError + | MissingPasswordError + | PasswordAlreadySetError + | NativeAuthStrategyError; + export type Zone = Node & { - __typename?: 'Zone'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2390,541 +2554,584 @@ export type Zone = Node & { members: Array; }; -export type TestOrderFragmentFragment = { __typename?: 'Order' } & Pick< +export type TestOrderFragmentFragment = Pick< Order, 'id' | 'code' | 'state' | 'active' | 'total' | 'couponCodes' | 'shipping' > & { - adjustments: Array< - { __typename?: 'Adjustment' } & Pick< - Adjustment, - 'adjustmentSource' | 'amount' | 'description' | 'type' - > - >; - lines: Array< - { __typename?: 'OrderLine' } & Pick & { - productVariant: { __typename?: 'ProductVariant' } & Pick; - adjustments: Array< - { __typename?: 'Adjustment' } & Pick< - Adjustment, - 'adjustmentSource' | 'amount' | 'description' | 'type' - > - >; - } - >; - shippingMethod?: Maybe< - { __typename?: 'ShippingMethod' } & Pick - >; - customer?: Maybe< - { __typename?: 'Customer' } & Pick & { - user?: Maybe<{ __typename?: 'User' } & Pick>; - } - >; - history: { __typename?: 'HistoryEntryList' } & { - items: Array<{ __typename?: 'HistoryEntry' } & Pick>; - }; - }; - -export type AddItemToOrderMutationVariables = { - productVariantId: Scalars['ID']; - quantity: Scalars['Int']; + adjustments: Array>; + lines: Array< + Pick & { + productVariant: Pick; + adjustments: Array>; + } + >; + shippingMethod?: Maybe>; + customer?: Maybe & { user?: Maybe> }>; + history: { items: Array> }; }; -export type AddItemToOrderMutation = { __typename?: 'Mutation' } & { - addItemToOrder?: Maybe< - { __typename?: 'Order' } & Pick & { - lines: Array< - { __typename?: 'OrderLine' } & Pick & { - productVariant: { __typename?: 'ProductVariant' } & Pick; - adjustments: Array< - { __typename?: 'Adjustment' } & Pick< - Adjustment, - 'adjustmentSource' | 'amount' | 'description' | 'type' - > - >; - } - >; - adjustments: Array< - { __typename?: 'Adjustment' } & Pick< - Adjustment, - 'adjustmentSource' | 'amount' | 'description' | 'type' - > - >; - } +export type UpdatedOrderFragment = Pick & { + lines: Array< + Pick & { + productVariant: Pick; + adjustments: Array>; + } >; + adjustments: Array>; }; -export type SearchProductsShopQueryVariables = { - input: SearchInput; +export type AddItemToOrderMutationVariables = Exact<{ + productVariantId: Scalars['ID']; + quantity: Scalars['Int']; +}>; + +export type AddItemToOrderMutation = { + addItemToOrder: + | UpdatedOrderFragment + | Pick + | Pick + | Pick; }; -export type SearchProductsShopQuery = { __typename?: 'Query' } & { - search: { __typename?: 'SearchResponse' } & Pick & { - items: Array< - { __typename?: 'SearchResult' } & Pick< - SearchResult, - | 'productId' - | 'productName' - | 'productPreview' - | 'productVariantId' - | 'productVariantName' - | 'productVariantPreview' - | 'sku' - | 'collectionIds' - > & { - price: - | ({ __typename?: 'PriceRange' } & Pick) - | ({ __typename?: 'SinglePrice' } & Pick); - } - >; - }; +export type SearchProductsShopQueryVariables = Exact<{ + input: SearchInput; +}>; + +export type SearchProductsShopQuery = { + search: Pick & { + items: Array< + Pick< + SearchResult, + | 'productId' + | 'productName' + | 'productPreview' + | 'productVariantId' + | 'productVariantName' + | 'productVariantPreview' + | 'sku' + | 'collectionIds' + > & { price: Pick | Pick } + >; + }; }; -export type RegisterMutationVariables = { +export type RegisterMutationVariables = Exact<{ input: RegisterCustomerInput; +}>; + +export type RegisterMutation = { + registerCustomerAccount: + | Pick + | Pick + | Pick; }; -export type RegisterMutation = { __typename?: 'Mutation' } & Pick; +export type CurrentUserShopFragment = Pick & { + channels: Array>; +}; -export type VerifyMutationVariables = { +export type VerifyMutationVariables = Exact<{ password?: Maybe; token: Scalars['String']; -}; +}>; -export type VerifyMutation = { __typename?: 'Mutation' } & { - verifyCustomerAccount: { __typename?: 'LoginResult' } & { - user: { __typename?: 'CurrentUser' } & Pick; - }; +export type VerifyMutation = { + verifyCustomerAccount: + | CurrentUserShopFragment + | Pick + | Pick + | Pick + | Pick + | Pick; }; -export type RefreshTokenMutationVariables = { +export type RefreshTokenMutationVariables = Exact<{ emailAddress: Scalars['String']; -}; +}>; -export type RefreshTokenMutation = { __typename?: 'Mutation' } & Pick< - Mutation, - 'refreshCustomerVerification' ->; +export type RefreshTokenMutation = { + refreshCustomerVerification: + | Pick + | Pick; +}; -export type RequestPasswordResetMutationVariables = { +export type RequestPasswordResetMutationVariables = Exact<{ identifier: Scalars['String']; -}; +}>; -export type RequestPasswordResetMutation = { __typename?: 'Mutation' } & Pick< - Mutation, - 'requestPasswordReset' ->; +export type RequestPasswordResetMutation = { + requestPasswordReset?: Maybe< + Pick | Pick + >; +}; -export type ResetPasswordMutationVariables = { +export type ResetPasswordMutationVariables = Exact<{ token: Scalars['String']; password: Scalars['String']; -}; +}>; -export type ResetPasswordMutation = { __typename?: 'Mutation' } & { - resetPassword: { __typename?: 'LoginResult' } & { - user: { __typename?: 'CurrentUser' } & Pick; - }; +export type ResetPasswordMutation = { + resetPassword: + | CurrentUserShopFragment + | Pick + | Pick + | Pick; }; -export type RequestUpdateEmailAddressMutationVariables = { +export type RequestUpdateEmailAddressMutationVariables = Exact<{ password: Scalars['String']; newEmailAddress: Scalars['String']; -}; +}>; -export type RequestUpdateEmailAddressMutation = { __typename?: 'Mutation' } & Pick< - Mutation, - 'requestUpdateCustomerEmailAddress' ->; +export type RequestUpdateEmailAddressMutation = { + requestUpdateCustomerEmailAddress: + | Pick + | Pick + | Pick + | Pick; +}; -export type UpdateEmailAddressMutationVariables = { +export type UpdateEmailAddressMutationVariables = Exact<{ token: Scalars['String']; -}; +}>; -export type UpdateEmailAddressMutation = { __typename?: 'Mutation' } & Pick< - Mutation, - 'updateCustomerEmailAddress' ->; +export type UpdateEmailAddressMutation = { + updateCustomerEmailAddress: + | Pick + | Pick + | Pick + | Pick; +}; -export type GetActiveCustomerQueryVariables = {}; +export type GetActiveCustomerQueryVariables = Exact<{ [key: string]: never }>; -export type GetActiveCustomerQuery = { __typename?: 'Query' } & { - activeCustomer?: Maybe<{ __typename?: 'Customer' } & Pick>; -}; +export type GetActiveCustomerQuery = { activeCustomer?: Maybe> }; -export type CreateAddressShopMutationVariables = { +export type CreateAddressShopMutationVariables = Exact<{ input: CreateAddressInput; -}; +}>; -export type CreateAddressShopMutation = { __typename?: 'Mutation' } & { - createCustomerAddress: { __typename?: 'Address' } & Pick & { - country: { __typename?: 'Country' } & Pick; - }; +export type CreateAddressShopMutation = { + createCustomerAddress: Pick & { country: Pick }; }; -export type UpdateAddressShopMutationVariables = { +export type UpdateAddressShopMutationVariables = Exact<{ input: UpdateAddressInput; -}; +}>; -export type UpdateAddressShopMutation = { __typename?: 'Mutation' } & { - updateCustomerAddress: { __typename?: 'Address' } & Pick & { - country: { __typename?: 'Country' } & Pick; - }; +export type UpdateAddressShopMutation = { + updateCustomerAddress: Pick & { country: Pick }; }; -export type DeleteAddressShopMutationVariables = { +export type DeleteAddressShopMutationVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type DeleteAddressShopMutation = { __typename?: 'Mutation' } & Pick; +export type DeleteAddressShopMutation = { deleteCustomerAddress: Pick }; -export type UpdateCustomerMutationVariables = { +export type UpdateCustomerMutationVariables = Exact<{ input: UpdateCustomerInput; -}; +}>; -export type UpdateCustomerMutation = { __typename?: 'Mutation' } & { - updateCustomer: { __typename?: 'Customer' } & Pick; -}; +export type UpdateCustomerMutation = { updateCustomer: Pick }; -export type UpdatePasswordMutationVariables = { +export type UpdatePasswordMutationVariables = Exact<{ old: Scalars['String']; new: Scalars['String']; -}; +}>; -export type UpdatePasswordMutation = { __typename?: 'Mutation' } & Pick; +export type UpdatePasswordMutation = { + updateCustomerPassword: + | Pick + | Pick + | Pick; +}; -export type GetActiveOrderQueryVariables = {}; +export type GetActiveOrderQueryVariables = Exact<{ [key: string]: never }>; -export type GetActiveOrderQuery = { __typename?: 'Query' } & { - activeOrder?: Maybe<{ __typename?: 'Order' } & TestOrderFragmentFragment>; -}; +export type GetActiveOrderQuery = { activeOrder?: Maybe }; -export type AdjustItemQuantityMutationVariables = { +export type AdjustItemQuantityMutationVariables = Exact<{ orderLineId: Scalars['ID']; quantity: Scalars['Int']; -}; +}>; -export type AdjustItemQuantityMutation = { __typename?: 'Mutation' } & { - adjustOrderLine?: Maybe<{ __typename?: 'Order' } & TestOrderFragmentFragment>; +export type AdjustItemQuantityMutation = { + adjustOrderLine: + | TestOrderFragmentFragment + | Pick + | Pick + | Pick; }; -export type RemoveItemFromOrderMutationVariables = { +export type RemoveItemFromOrderMutationVariables = Exact<{ orderLineId: Scalars['ID']; -}; +}>; -export type RemoveItemFromOrderMutation = { __typename?: 'Mutation' } & { - removeOrderLine?: Maybe<{ __typename?: 'Order' } & TestOrderFragmentFragment>; +export type RemoveItemFromOrderMutation = { + removeOrderLine: TestOrderFragmentFragment | Pick; }; -export type GetShippingMethodsQueryVariables = {}; +export type GetShippingMethodsQueryVariables = Exact<{ [key: string]: never }>; -export type GetShippingMethodsQuery = { __typename?: 'Query' } & { - eligibleShippingMethods: Array< - { __typename?: 'ShippingMethodQuote' } & Pick - >; +export type GetShippingMethodsQuery = { + eligibleShippingMethods: Array>; }; -export type SetShippingMethodMutationVariables = { +export type SetShippingMethodMutationVariables = Exact<{ id: Scalars['ID']; +}>; + +export type SetShippingMethodMutation = { + setOrderShippingMethod: TestOrderFragmentFragment | Pick; }; -export type SetShippingMethodMutation = { __typename?: 'Mutation' } & { - setOrderShippingMethod?: Maybe< - { __typename?: 'Order' } & Pick & { - shippingMethod?: Maybe< - { __typename?: 'ShippingMethod' } & Pick - >; - } - >; +export type ActiveOrderCustomerFragment = Pick & { + customer?: Maybe>; + lines: Array>; }; -export type SetCustomerForOrderMutationVariables = { +export type SetCustomerForOrderMutationVariables = Exact<{ input: CreateCustomerInput; -}; +}>; -export type SetCustomerForOrderMutation = { __typename?: 'Mutation' } & { +export type SetCustomerForOrderMutation = { setCustomerForOrder?: Maybe< - { __typename?: 'Order' } & Pick & { - customer?: Maybe< - { __typename?: 'Customer' } & Pick< - Customer, - 'id' | 'emailAddress' | 'firstName' | 'lastName' - > - >; - } + | ActiveOrderCustomerFragment + | Pick + | Pick >; }; -export type GetOrderByCodeQueryVariables = { +export type GetOrderByCodeQueryVariables = Exact<{ code: Scalars['String']; -}; +}>; -export type GetOrderByCodeQuery = { __typename?: 'Query' } & { - orderByCode?: Maybe<{ __typename?: 'Order' } & TestOrderFragmentFragment>; -}; +export type GetOrderByCodeQuery = { orderByCode?: Maybe }; -export type GetOrderPromotionsByCodeQueryVariables = { +export type GetOrderPromotionsByCodeQueryVariables = Exact<{ code: Scalars['String']; -}; +}>; -export type GetOrderPromotionsByCodeQuery = { __typename?: 'Query' } & { - orderByCode?: Maybe< - { __typename?: 'Order' } & { - promotions: Array<{ __typename?: 'Promotion' } & Pick>; - } & TestOrderFragmentFragment - >; +export type GetOrderPromotionsByCodeQuery = { + orderByCode?: Maybe<{ promotions: Array> } & TestOrderFragmentFragment>; }; -export type GetAvailableCountriesQueryVariables = {}; +export type GetAvailableCountriesQueryVariables = Exact<{ [key: string]: never }>; -export type GetAvailableCountriesQuery = { __typename?: 'Query' } & { - availableCountries: Array<{ __typename?: 'Country' } & Pick>; -}; +export type GetAvailableCountriesQuery = { availableCountries: Array> }; -export type TransitionToStateMutationVariables = { +export type TransitionToStateMutationVariables = Exact<{ state: Scalars['String']; +}>; + +export type TransitionToStateMutation = { + transitionOrderToState?: Maybe< + | TestOrderFragmentFragment + | Pick< + OrderStateTransitionError, + 'errorCode' | 'message' | 'transitionError' | 'fromState' | 'toState' + > + >; }; -export type TransitionToStateMutation = { __typename?: 'Mutation' } & { - transitionOrderToState?: Maybe<{ __typename?: 'Order' } & Pick>; +export type SetShippingAddressMutationVariables = Exact<{ + input: CreateAddressInput; +}>; + +export type SetShippingAddressMutation = { + setOrderShippingAddress?: Maybe<{ + shippingAddress?: Maybe< + Pick< + OrderAddress, + | 'fullName' + | 'company' + | 'streetLine1' + | 'streetLine2' + | 'city' + | 'province' + | 'postalCode' + | 'country' + | 'phoneNumber' + > + >; + }>; }; -export type SetShippingAddressMutationVariables = { +export type SetBillingAddressMutationVariables = Exact<{ input: CreateAddressInput; +}>; + +export type SetBillingAddressMutation = { + setOrderBillingAddress?: Maybe<{ + billingAddress?: Maybe< + Pick< + OrderAddress, + | 'fullName' + | 'company' + | 'streetLine1' + | 'streetLine2' + | 'city' + | 'province' + | 'postalCode' + | 'country' + | 'phoneNumber' + > + >; + }>; }; -export type SetShippingAddressMutation = { __typename?: 'Mutation' } & { - setOrderShippingAddress?: Maybe< - { __typename?: 'Order' } & { - shippingAddress?: Maybe< - { __typename?: 'OrderAddress' } & Pick< - OrderAddress, - | 'fullName' - | 'company' - | 'streetLine1' - | 'streetLine2' - | 'city' - | 'province' - | 'postalCode' - | 'country' - | 'phoneNumber' - > - >; - } +export type TestOrderWithPaymentsFragment = { + payments?: Maybe< + Array> >; -}; +} & TestOrderFragmentFragment; -export type SetBillingAddressMutationVariables = { - input: CreateAddressInput; -}; +export type GetActiveOrderWithPaymentsQueryVariables = Exact<{ [key: string]: never }>; -export type SetBillingAddressMutation = { __typename?: 'Mutation' } & { - setOrderBillingAddress?: Maybe< - { __typename?: 'Order' } & { - billingAddress?: Maybe< - { __typename?: 'OrderAddress' } & Pick< - OrderAddress, - | 'fullName' - | 'company' - | 'streetLine1' - | 'streetLine2' - | 'city' - | 'province' - | 'postalCode' - | 'country' - | 'phoneNumber' - > - >; - } - >; -}; +export type GetActiveOrderWithPaymentsQuery = { activeOrder?: Maybe }; -export type AddPaymentToOrderMutationVariables = { +export type AddPaymentToOrderMutationVariables = Exact<{ input: PaymentInput; -}; +}>; -export type AddPaymentToOrderMutation = { __typename?: 'Mutation' } & { +export type AddPaymentToOrderMutation = { addPaymentToOrder?: Maybe< - { __typename?: 'Order' } & { - payments?: Maybe< - Array< - { __typename?: 'Payment' } & Pick< - Payment, - 'id' | 'transactionId' | 'method' | 'amount' | 'state' | 'metadata' - > - > - >; - } & TestOrderFragmentFragment + | TestOrderWithPaymentsFragment + | Pick + | Pick + | Pick + | Pick >; }; -export type GetActiveOrderPaymentsQueryVariables = {}; +export type GetActiveOrderPaymentsQueryVariables = Exact<{ [key: string]: never }>; -export type GetActiveOrderPaymentsQuery = { __typename?: 'Query' } & { +export type GetActiveOrderPaymentsQuery = { activeOrder?: Maybe< - { __typename?: 'Order' } & Pick & { - payments?: Maybe< - Array< - { __typename?: 'Payment' } & Pick< - Payment, - | 'id' - | 'transactionId' - | 'method' - | 'amount' - | 'state' - | 'errorMessage' - | 'metadata' - > + Pick & { + payments?: Maybe< + Array< + Pick< + Payment, + 'id' | 'transactionId' | 'method' | 'amount' | 'state' | 'errorMessage' | 'metadata' > - >; - } + > + >; + } >; }; -export type GetNextOrderStatesQueryVariables = {}; +export type GetNextOrderStatesQueryVariables = Exact<{ [key: string]: never }>; -export type GetNextOrderStatesQuery = { __typename?: 'Query' } & Pick; +export type GetNextOrderStatesQuery = Pick; -export type GetCustomerAddressesQueryVariables = {}; +export type GetCustomerAddressesQueryVariables = Exact<{ [key: string]: never }>; -export type GetCustomerAddressesQuery = { __typename?: 'Query' } & { - activeOrder?: Maybe< - { __typename?: 'Order' } & { - customer?: Maybe< - { __typename?: 'Customer' } & { - addresses?: Maybe< - Array<{ __typename?: 'Address' } & Pick> - >; - } - >; - } - >; +export type GetCustomerAddressesQuery = { + activeOrder?: Maybe<{ + customer?: Maybe<{ addresses?: Maybe>> }>; + }>; }; -export type GetCustomerOrdersQueryVariables = {}; +export type GetCustomerOrdersQueryVariables = Exact<{ [key: string]: never }>; -export type GetCustomerOrdersQuery = { __typename?: 'Query' } & { - activeOrder?: Maybe< - { __typename?: 'Order' } & { - customer?: Maybe< - { __typename?: 'Customer' } & { - orders: { __typename?: 'OrderList' } & { - items: Array<{ __typename?: 'Order' } & Pick>; - }; - } - >; - } - >; +export type GetCustomerOrdersQuery = { + activeOrder?: Maybe<{ customer?: Maybe<{ orders: { items: Array> } }> }>; }; -export type ApplyCouponCodeMutationVariables = { +export type ApplyCouponCodeMutationVariables = Exact<{ couponCode: Scalars['String']; -}; +}>; -export type ApplyCouponCodeMutation = { __typename?: 'Mutation' } & { - applyCouponCode?: Maybe<{ __typename?: 'Order' } & TestOrderFragmentFragment>; +export type ApplyCouponCodeMutation = { + applyCouponCode: + | TestOrderFragmentFragment + | Pick + | Pick + | Pick; }; -export type RemoveCouponCodeMutationVariables = { +export type RemoveCouponCodeMutationVariables = Exact<{ couponCode: Scalars['String']; -}; +}>; -export type RemoveCouponCodeMutation = { __typename?: 'Mutation' } & { - removeCouponCode?: Maybe<{ __typename?: 'Order' } & TestOrderFragmentFragment>; -}; +export type RemoveCouponCodeMutation = { removeCouponCode?: Maybe }; -export type RemoveAllOrderLinesMutationVariables = {}; +export type RemoveAllOrderLinesMutationVariables = Exact<{ [key: string]: never }>; -export type RemoveAllOrderLinesMutation = { __typename?: 'Mutation' } & { - removeAllOrderLines?: Maybe<{ __typename?: 'Order' } & TestOrderFragmentFragment>; +export type RemoveAllOrderLinesMutation = { + removeAllOrderLines: TestOrderFragmentFragment | Pick; }; type DiscriminateUnion = T extends U ? T : never; -type RequireField = T & { [P in TNames]: (T & { [name: string]: never })[P] }; - export namespace TestOrderFragment { export type Fragment = TestOrderFragmentFragment; - export type Adjustments = NonNullable; - export type Lines = NonNullable; - export type ProductVariant = NonNullable['productVariant']; + export type Adjustments = NonNullable[number]>; + export type Lines = NonNullable[number]>; + export type ProductVariant = NonNullable< + NonNullable[number]>['productVariant'] + >; export type _Adjustments = NonNullable< - NonNullable['adjustments'][0] + NonNullable< + NonNullable[number]>['adjustments'] + >[number] >; export type ShippingMethod = NonNullable; export type Customer = NonNullable; export type User = NonNullable['user']>; - export type History = TestOrderFragmentFragment['history']; - export type Items = NonNullable; + export type History = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; +} + +export namespace UpdatedOrder { + export type Fragment = UpdatedOrderFragment; + export type Lines = NonNullable[number]>; + export type ProductVariant = NonNullable< + NonNullable[number]>['productVariant'] + >; + export type Adjustments = NonNullable< + NonNullable[number]>['adjustments']>[number] + >; + export type _Adjustments = NonNullable[number]>; } export namespace AddItemToOrder { export type Variables = AddItemToOrderMutationVariables; export type Mutation = AddItemToOrderMutation; export type AddItemToOrder = NonNullable; - export type Lines = NonNullable['lines'][0]>; - export type ProductVariant = NonNullable< - NonNullable['lines'][0] - >['productVariant']; - export type Adjustments = NonNullable< - NonNullable['lines'][0]>['adjustments'][0] - >; - export type _Adjustments = NonNullable< - NonNullable['adjustments'][0] + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } >; } export namespace SearchProductsShop { export type Variables = SearchProductsShopQueryVariables; export type Query = SearchProductsShopQuery; - export type Search = SearchProductsShopQuery['search']; - export type Items = NonNullable; - export type Price = NonNullable['price']; + export type Search = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; + export type Price = NonNullable< + NonNullable['items']>[number]>['price'] + >; export type SinglePriceInlineFragment = DiscriminateUnion< - RequireField['price'], '__typename'>, - { __typename: 'SinglePrice' } + NonNullable< + NonNullable['items']>[number]>['price'] + >, + { __typename?: 'SinglePrice' } >; export type PriceRangeInlineFragment = DiscriminateUnion< - RequireField['price'], '__typename'>, - { __typename: 'PriceRange' } + NonNullable< + NonNullable['items']>[number]>['price'] + >, + { __typename?: 'PriceRange' } >; } export namespace Register { export type Variables = RegisterMutationVariables; export type Mutation = RegisterMutation; + export type RegisterCustomerAccount = NonNullable; + export type SuccessInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'Success' } + >; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; +} + +export namespace CurrentUserShop { + export type Fragment = CurrentUserShopFragment; + export type Channels = NonNullable[number]>; } export namespace Verify { export type Variables = VerifyMutationVariables; export type Mutation = VerifyMutation; - export type VerifyCustomerAccount = VerifyMutation['verifyCustomerAccount']; - export type User = VerifyMutation['verifyCustomerAccount']['user']; + export type VerifyCustomerAccount = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace RefreshToken { export type Variables = RefreshTokenMutationVariables; export type Mutation = RefreshTokenMutation; + export type RefreshCustomerVerification = NonNullable< + RefreshTokenMutation['refreshCustomerVerification'] + >; + export type SuccessInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'Success' } + >; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace RequestPasswordReset { export type Variables = RequestPasswordResetMutationVariables; export type Mutation = RequestPasswordResetMutation; + export type RequestPasswordReset = NonNullable; + export type SuccessInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'Success' } + >; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace ResetPassword { export type Variables = ResetPasswordMutationVariables; export type Mutation = ResetPasswordMutation; - export type ResetPassword = ResetPasswordMutation['resetPassword']; - export type User = ResetPasswordMutation['resetPassword']['user']; + export type ResetPassword = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace RequestUpdateEmailAddress { export type Variables = RequestUpdateEmailAddressMutationVariables; export type Mutation = RequestUpdateEmailAddressMutation; + export type RequestUpdateCustomerEmailAddress = NonNullable< + RequestUpdateEmailAddressMutation['requestUpdateCustomerEmailAddress'] + >; + export type SuccessInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'Success' } + >; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace UpdateEmailAddress { export type Variables = UpdateEmailAddressMutationVariables; export type Mutation = UpdateEmailAddressMutation; + export type UpdateCustomerEmailAddress = NonNullable< + UpdateEmailAddressMutation['updateCustomerEmailAddress'] + >; + export type SuccessInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'Success' } + >; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace GetActiveCustomer { @@ -2936,100 +3143,138 @@ export namespace GetActiveCustomer { export namespace CreateAddressShop { export type Variables = CreateAddressShopMutationVariables; export type Mutation = CreateAddressShopMutation; - export type CreateCustomerAddress = CreateAddressShopMutation['createCustomerAddress']; - export type Country = CreateAddressShopMutation['createCustomerAddress']['country']; + export type CreateCustomerAddress = NonNullable; + export type Country = NonNullable< + NonNullable['country'] + >; } export namespace UpdateAddressShop { export type Variables = UpdateAddressShopMutationVariables; export type Mutation = UpdateAddressShopMutation; - export type UpdateCustomerAddress = UpdateAddressShopMutation['updateCustomerAddress']; - export type Country = UpdateAddressShopMutation['updateCustomerAddress']['country']; + export type UpdateCustomerAddress = NonNullable; + export type Country = NonNullable< + NonNullable['country'] + >; } export namespace DeleteAddressShop { export type Variables = DeleteAddressShopMutationVariables; export type Mutation = DeleteAddressShopMutation; + export type DeleteCustomerAddress = NonNullable; } export namespace UpdateCustomer { export type Variables = UpdateCustomerMutationVariables; export type Mutation = UpdateCustomerMutation; - export type UpdateCustomer = UpdateCustomerMutation['updateCustomer']; + export type UpdateCustomer = NonNullable; } export namespace UpdatePassword { export type Variables = UpdatePasswordMutationVariables; export type Mutation = UpdatePasswordMutation; + export type UpdateCustomerPassword = NonNullable; + export type SuccessInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'Success' } + >; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace GetActiveOrder { export type Variables = GetActiveOrderQueryVariables; export type Query = GetActiveOrderQuery; - export type ActiveOrder = TestOrderFragmentFragment; + export type ActiveOrder = NonNullable; } export namespace AdjustItemQuantity { export type Variables = AdjustItemQuantityMutationVariables; export type Mutation = AdjustItemQuantityMutation; - export type AdjustOrderLine = TestOrderFragmentFragment; + export type AdjustOrderLine = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace RemoveItemFromOrder { export type Variables = RemoveItemFromOrderMutationVariables; export type Mutation = RemoveItemFromOrderMutation; - export type RemoveOrderLine = TestOrderFragmentFragment; + export type RemoveOrderLine = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace GetShippingMethods { export type Variables = GetShippingMethodsQueryVariables; export type Query = GetShippingMethodsQuery; - export type EligibleShippingMethods = NonNullable; + export type EligibleShippingMethods = NonNullable< + NonNullable[number] + >; } export namespace SetShippingMethod { export type Variables = SetShippingMethodMutationVariables; export type Mutation = SetShippingMethodMutation; export type SetOrderShippingMethod = NonNullable; - export type ShippingMethod = NonNullable< - NonNullable['shippingMethod'] + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } >; } +export namespace ActiveOrderCustomer { + export type Fragment = ActiveOrderCustomerFragment; + export type Customer = NonNullable; + export type Lines = NonNullable[number]>; +} + export namespace SetCustomerForOrder { export type Variables = SetCustomerForOrderMutationVariables; export type Mutation = SetCustomerForOrderMutation; export type SetCustomerForOrder = NonNullable; - export type Customer = NonNullable< - NonNullable['customer'] + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } >; } export namespace GetOrderByCode { export type Variables = GetOrderByCodeQueryVariables; export type Query = GetOrderByCodeQuery; - export type OrderByCode = TestOrderFragmentFragment; + export type OrderByCode = NonNullable; } export namespace GetOrderPromotionsByCode { export type Variables = GetOrderPromotionsByCodeQueryVariables; export type Query = GetOrderPromotionsByCodeQuery; - export type OrderByCode = TestOrderFragmentFragment; + export type OrderByCode = NonNullable; export type Promotions = NonNullable< - NonNullable['promotions'][0] + NonNullable['promotions']>[number] >; } export namespace GetAvailableCountries { export type Variables = GetAvailableCountriesQueryVariables; export type Query = GetAvailableCountriesQuery; - export type AvailableCountries = NonNullable; + export type AvailableCountries = NonNullable< + NonNullable[number] + >; } export namespace TransitionToState { export type Variables = TransitionToStateMutationVariables; export type Mutation = TransitionToStateMutation; export type TransitionOrderToState = NonNullable; + export type OrderStateTransitionErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'OrderStateTransitionError' } + >; } export namespace SetShippingAddress { @@ -3050,12 +3295,32 @@ export namespace SetBillingAddress { >; } +export namespace TestOrderWithPayments { + export type Fragment = TestOrderWithPaymentsFragment; + export type Payments = NonNullable[number]>; +} + +export namespace GetActiveOrderWithPayments { + export type Variables = GetActiveOrderWithPaymentsQueryVariables; + export type Query = GetActiveOrderWithPaymentsQuery; + export type ActiveOrder = NonNullable; +} + export namespace AddPaymentToOrder { export type Variables = AddPaymentToOrderMutationVariables; export type Mutation = AddPaymentToOrderMutation; - export type AddPaymentToOrder = TestOrderFragmentFragment; - export type Payments = NonNullable< - NonNullable['payments']>[0] + export type AddPaymentToOrder = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; + export type PaymentDeclinedErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'PaymentDeclinedError' } + >; + export type PaymentFailedErrorInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'PaymentFailedError' } >; } @@ -3064,7 +3329,7 @@ export namespace GetActiveOrderPayments { export type Query = GetActiveOrderPaymentsQuery; export type ActiveOrder = NonNullable; export type Payments = NonNullable< - NonNullable['payments']>[0] + NonNullable['payments']>[number] >; } @@ -3081,7 +3346,7 @@ export namespace GetCustomerAddresses { export type Addresses = NonNullable< NonNullable< NonNullable['customer']>['addresses'] - >[0] + >[number] >; } @@ -3091,27 +3356,39 @@ export namespace GetCustomerOrders { export type ActiveOrder = NonNullable; export type Customer = NonNullable['customer']>; export type Orders = NonNullable< - NonNullable['customer'] - >['orders']; + NonNullable['customer']>['orders'] + >; export type Items = NonNullable< - NonNullable['customer']>['orders']['items'][0] + NonNullable< + NonNullable< + NonNullable['customer']>['orders'] + >['items'] + >[number] >; } export namespace ApplyCouponCode { export type Variables = ApplyCouponCodeMutationVariables; export type Mutation = ApplyCouponCodeMutation; - export type ApplyCouponCode = TestOrderFragmentFragment; + export type ApplyCouponCode = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } export namespace RemoveCouponCode { export type Variables = RemoveCouponCodeMutationVariables; export type Mutation = RemoveCouponCodeMutation; - export type RemoveCouponCode = TestOrderFragmentFragment; + export type RemoveCouponCode = NonNullable; } export namespace RemoveAllOrderLines { export type Variables = RemoveAllOrderLinesMutationVariables; export type Mutation = RemoveAllOrderLinesMutation; - export type RemoveAllOrderLines = TestOrderFragmentFragment; + export type RemoveAllOrderLines = NonNullable; + export type ErrorResultInlineFragment = DiscriminateUnion< + NonNullable, + { __typename?: 'ErrorResult' } + >; } diff --git a/packages/core/e2e/graphql/shared-definitions.ts b/packages/core/e2e/graphql/shared-definitions.ts index 0f5b368eeb..d0fc9acdcc 100644 --- a/packages/core/e2e/graphql/shared-definitions.ts +++ b/packages/core/e2e/graphql/shared-definitions.ts @@ -3,11 +3,13 @@ import gql from 'graphql-tag'; import { ADMINISTRATOR_FRAGMENT, ASSET_FRAGMENT, + CHANNEL_FRAGMENT, COLLECTION_FRAGMENT, COUNTRY_FRAGMENT, CURRENT_USER_FRAGMENT, CUSTOMER_FRAGMENT, FACET_WITH_VALUES_FRAGMENT, + FULFILLMENT_FRAGMENT, ORDER_FRAGMENT, ORDER_WITH_LINES_FRAGMENT, PRODUCT_VARIANT_FRAGMENT, @@ -199,9 +201,7 @@ export const GET_CUSTOMER = gql` export const ATTEMPT_LOGIN = gql` mutation AttemptLogin($username: String!, $password: String!, $rememberMe: Boolean) { login(username: $username, password: $password, rememberMe: $rememberMe) { - user { - ...CurrentUser - } + ...CurrentUser } } ${CURRENT_USER_FRAGMENT} @@ -288,6 +288,10 @@ export const CREATE_PROMOTION = gql` mutation CreatePromotion($input: CreatePromotionInput!) { createPromotion(input: $input) { ...Promotion + ... on ErrorResult { + errorCode + message + } } } ${PROMOTION_FRAGMENT} @@ -304,20 +308,15 @@ export const ME = gql` export const CREATE_CHANNEL = gql` mutation CreateChannel($input: CreateChannelInput!) { createChannel(input: $input) { - id - code - token - currencyCode - defaultLanguageCode - defaultShippingZone { - id - } - defaultTaxZone { - id + ...Channel + ... on LanguageNotAvailableError { + errorCode + message + languageCode } - pricesIncludeTax } } + ${CHANNEL_FRAGMENT} `; export const DELETE_PRODUCT_VARIANT = gql` @@ -346,13 +345,16 @@ export const REMOVE_PRODUCT_FROM_CHANNEL = gql` } ${PRODUCT_WITH_VARIANTS_FRAGMENT} `; + export const UPDATE_ASSET = gql` mutation UpdateAsset($input: UpdateAssetInput!) { updateAsset(input: $input) { ...Asset - focalPoint { - x - y + ... on Asset { + focalPoint { + x + y + } } } } @@ -371,12 +373,15 @@ export const DELETE_ASSET = gql` export const UPDATE_CHANNEL = gql` mutation UpdateChannel($input: UpdateChannelInput!) { updateChannel(input: $input) { - id - code - defaultLanguageCode - currencyCode + ...Channel + ... on LanguageNotAvailableError { + errorCode + message + languageCode + } } } + ${CHANNEL_FRAGMENT} `; export const GET_CUSTOMER_HISTORY = gql` @@ -440,25 +445,31 @@ export const REMOVE_CUSTOMERS_FROM_GROUP = gql` export const CREATE_FULFILLMENT = gql` mutation CreateFulfillment($input: FulfillOrderInput!) { - fulfillOrder(input: $input) { - id - method - state - trackingCode - orderItems { - id + addFulfillmentToOrder(input: $input) { + ...Fulfillment + ... on ErrorResult { + errorCode + message } } } + ${FULFILLMENT_FRAGMENT} `; export const TRANSIT_FULFILLMENT = gql` mutation TransitFulfillment($id: ID!, $state: String!) { transitionFulfillmentToState(id: $id, state: $state) { - id - state + ...Fulfillment + ... on FulfillmentStateTransitionError { + errorCode + message + transitionError + fromState + toState + } } } + ${FULFILLMENT_FRAGMENT} `; export const GET_ORDER_FULFILLMENTS = gql` @@ -528,6 +539,10 @@ export const CREATE_CUSTOMER = gql` mutation CreateCustomer($input: CreateCustomerInput!, $password: String) { createCustomer(input: $input, password: $password) { ...Customer + ... on ErrorResult { + errorCode + message + } } } ${CUSTOMER_FRAGMENT} @@ -537,6 +552,10 @@ export const UPDATE_CUSTOMER = gql` mutation UpdateCustomer($input: UpdateCustomerInput!) { updateCustomer(input: $input) { ...Customer + ... on ErrorResult { + errorCode + message + } } } ${CUSTOMER_FRAGMENT} @@ -638,9 +657,15 @@ export const GET_CUSTOMER_WITH_GROUPS = gql` export const ADMIN_TRANSITION_TO_STATE = gql` mutation AdminTransition($id: ID!, $state: String!) { transitionOrderToState(id: $id, state: $state) { - id - state - nextStates + ...Order + ... on OrderStateTransitionError { + errorCode + message + transitionError + fromState + toState + } } } + ${ORDER_FRAGMENT} `; diff --git a/packages/core/e2e/graphql/shop-definitions.ts b/packages/core/e2e/graphql/shop-definitions.ts index d9fda04e8b..e75a4f42b3 100644 --- a/packages/core/e2e/graphql/shop-definitions.ts +++ b/packages/core/e2e/graphql/shop-definitions.ts @@ -50,26 +50,18 @@ export const TEST_ORDER_FRAGMENT = gql` } `; -export const ADD_ITEM_TO_ORDER = gql` - mutation AddItemToOrder($productVariantId: ID!, $quantity: Int!) { - addItemToOrder(productVariantId: $productVariantId, quantity: $quantity) { +export const UPDATED_ORDER_FRAGMENT = gql` + fragment UpdatedOrder on Order { + id + code + state + active + total + lines { id - code - state - active - total - lines { + quantity + productVariant { id - quantity - productVariant { - id - } - adjustments { - adjustmentSource - amount - description - type - } } adjustments { adjustmentSource @@ -78,7 +70,26 @@ export const ADD_ITEM_TO_ORDER = gql` type } } + adjustments { + adjustmentSource + amount + description + type + } + } +`; + +export const ADD_ITEM_TO_ORDER = gql` + mutation AddItemToOrder($productVariantId: ID!, $quantity: Int!) { + addItemToOrder(productVariantId: $productVariantId, quantity: $quantity) { + ...UpdatedOrder + ... on ErrorResult { + errorCode + message + } + } } + ${UPDATED_ORDER_FRAGMENT} `; export const SEARCH_PRODUCTS_SHOP = gql` query SearchProductsShop($input: SearchInput!) { @@ -108,47 +119,105 @@ export const SEARCH_PRODUCTS_SHOP = gql` `; export const REGISTER_ACCOUNT = gql` mutation Register($input: RegisterCustomerInput!) { - registerCustomerAccount(input: $input) + registerCustomerAccount(input: $input) { + ... on Success { + success + } + ... on ErrorResult { + errorCode + message + } + } } `; + +export const CURRENT_USER_FRAGMENT = gql` + fragment CurrentUserShop on CurrentUser { + id + identifier + channels { + code + token + permissions + } + } +`; + export const VERIFY_EMAIL = gql` mutation Verify($password: String, $token: String!) { verifyCustomerAccount(password: $password, token: $token) { - user { - id - identifier + ...CurrentUserShop + ... on ErrorResult { + errorCode + message } } } + ${CURRENT_USER_FRAGMENT} `; + export const REFRESH_TOKEN = gql` mutation RefreshToken($emailAddress: String!) { - refreshCustomerVerification(emailAddress: $emailAddress) + refreshCustomerVerification(emailAddress: $emailAddress) { + ... on Success { + success + } + ... on ErrorResult { + errorCode + message + } + } } `; export const REQUEST_PASSWORD_RESET = gql` mutation RequestPasswordReset($identifier: String!) { - requestPasswordReset(emailAddress: $identifier) + requestPasswordReset(emailAddress: $identifier) { + ... on Success { + success + } + ... on ErrorResult { + errorCode + message + } + } } `; export const RESET_PASSWORD = gql` mutation ResetPassword($token: String!, $password: String!) { resetPassword(token: $token, password: $password) { - user { - id - identifier + ...CurrentUserShop + ... on ErrorResult { + errorCode + message } } } + ${CURRENT_USER_FRAGMENT} `; export const REQUEST_UPDATE_EMAIL_ADDRESS = gql` mutation RequestUpdateEmailAddress($password: String!, $newEmailAddress: String!) { - requestUpdateCustomerEmailAddress(password: $password, newEmailAddress: $newEmailAddress) + requestUpdateCustomerEmailAddress(password: $password, newEmailAddress: $newEmailAddress) { + ... on Success { + success + } + ... on ErrorResult { + errorCode + message + } + } } `; export const UPDATE_EMAIL_ADDRESS = gql` mutation UpdateEmailAddress($token: String!) { - updateCustomerEmailAddress(token: $token) + updateCustomerEmailAddress(token: $token) { + ... on Success { + success + } + ... on ErrorResult { + errorCode + message + } + } } `; export const GET_ACTIVE_CUSTOMER = gql` @@ -182,7 +251,9 @@ export const UPDATE_ADDRESS = gql` `; export const DELETE_ADDRESS = gql` mutation DeleteAddressShop($id: ID!) { - deleteCustomerAddress(id: $id) + deleteCustomerAddress(id: $id) { + success + } } `; @@ -198,7 +269,15 @@ export const UPDATE_CUSTOMER = gql` export const UPDATE_PASSWORD = gql` mutation UpdatePassword($old: String!, $new: String!) { - updateCustomerPassword(currentPassword: $old, newPassword: $new) + updateCustomerPassword(currentPassword: $old, newPassword: $new) { + ... on Success { + success + } + ... on ErrorResult { + errorCode + message + } + } } `; @@ -215,6 +294,10 @@ export const ADJUST_ITEM_QUANTITY = gql` mutation AdjustItemQuantity($orderLineId: ID!, $quantity: Int!) { adjustOrderLine(orderLineId: $orderLineId, quantity: $quantity) { ...TestOrderFragment + ... on ErrorResult { + errorCode + message + } } } ${TEST_ORDER_FRAGMENT} @@ -224,6 +307,10 @@ export const REMOVE_ITEM_FROM_ORDER = gql` mutation RemoveItemFromOrder($orderLineId: ID!) { removeOrderLine(orderLineId: $orderLineId) { ...TestOrderFragment + ... on ErrorResult { + errorCode + message + } } } ${TEST_ORDER_FRAGMENT} @@ -242,28 +329,42 @@ export const GET_ELIGIBLE_SHIPPING_METHODS = gql` export const SET_SHIPPING_METHOD = gql` mutation SetShippingMethod($id: ID!) { setOrderShippingMethod(shippingMethodId: $id) { - shipping - shippingMethod { - id - code - description + ...TestOrderFragment + ... on ErrorResult { + errorCode + message } } } + ${TEST_ORDER_FRAGMENT} +`; + +export const ACTIVE_ORDER_CUSTOMER = gql` + fragment ActiveOrderCustomer on Order { + id + customer { + id + emailAddress + firstName + lastName + } + lines { + id + } + } `; export const SET_CUSTOMER = gql` mutation SetCustomerForOrder($input: CreateCustomerInput!) { setCustomerForOrder(input: $input) { - id - customer { - id - emailAddress - firstName - lastName + ...ActiveOrderCustomer + ... on ErrorResult { + errorCode + message } } } + ${ACTIVE_ORDER_CUSTOMER} `; export const GET_ORDER_BY_CODE = gql` @@ -300,10 +401,17 @@ export const GET_AVAILABLE_COUNTRIES = gql` export const TRANSITION_TO_STATE = gql` mutation TransitionToState($state: String!) { transitionOrderToState(state: $state) { - id - state + ...TestOrderFragment + ... on OrderStateTransitionError { + errorCode + message + transitionError + fromState + toState + } } } + ${TEST_ORDER_FRAGMENT} `; export const SET_SHIPPING_ADDRESS = gql` @@ -342,21 +450,47 @@ export const SET_BILLING_ADDRESS = gql` } `; +export const TEST_ORDER_WITH_PAYMENTS_FRAGMENT = gql` + fragment TestOrderWithPayments on Order { + ...TestOrderFragment + payments { + id + transactionId + method + amount + state + metadata + } + } + ${TEST_ORDER_FRAGMENT} +`; + +export const GET_ACTIVE_ORDER_WITH_PAYMENTS = gql` + query GetActiveOrderWithPayments { + activeOrder { + ...TestOrderWithPayments + } + } + ${TEST_ORDER_WITH_PAYMENTS_FRAGMENT} +`; + export const ADD_PAYMENT = gql` mutation AddPaymentToOrder($input: PaymentInput!) { addPaymentToOrder(input: $input) { - ...TestOrderFragment - payments { - id - transactionId - method - amount - state - metadata + ...TestOrderWithPayments + ... on ErrorResult { + errorCode + message + } + ... on PaymentDeclinedError { + paymentErrorMessage + } + ... on PaymentFailedError { + paymentErrorMessage } } } - ${TEST_ORDER_FRAGMENT} + ${TEST_ORDER_WITH_PAYMENTS_FRAGMENT} `; export const GET_ACTIVE_ORDER_PAYMENTS = gql` @@ -413,6 +547,10 @@ export const APPLY_COUPON_CODE = gql` mutation ApplyCouponCode($couponCode: String!) { applyCouponCode(couponCode: $couponCode) { ...TestOrderFragment + ... on ErrorResult { + errorCode + message + } } } ${TEST_ORDER_FRAGMENT} @@ -431,6 +569,10 @@ export const REMOVE_ALL_ORDER_LINES = gql` mutation RemoveAllOrderLines { removeAllOrderLines { ...TestOrderFragment + ... on ErrorResult { + errorCode + message + } } } ${TEST_ORDER_FRAGMENT} diff --git a/packages/core/e2e/order-channel.e2e-spec.ts b/packages/core/e2e/order-channel.e2e-spec.ts index 884321b4eb..d77afff4ff 100644 --- a/packages/core/e2e/order-channel.e2e-spec.ts +++ b/packages/core/e2e/order-channel.e2e-spec.ts @@ -1,5 +1,10 @@ /* tslint:disable:no-non-null-assertion */ -import { createTestEnvironment, E2E_DEFAULT_CHANNEL_TOKEN } from '@vendure/testing'; +import { + createErrorResultGuard, + createTestEnvironment, + E2E_DEFAULT_CHANNEL_TOKEN, + ErrorResultGuard, +} from '@vendure/testing'; import path from 'path'; import { initialData } from '../../../e2e-common/e2e-initial-data'; @@ -15,7 +20,7 @@ import { GetProductWithVariants, LanguageCode, } from './graphql/generated-e2e-admin-types'; -import { AddItemToOrder, GetActiveOrder } from './graphql/generated-e2e-shop-types'; +import { AddItemToOrder, GetActiveOrder, UpdatedOrderFragment } from './graphql/generated-e2e-shop-types'; import { ASSIGN_PRODUCT_TO_CHANNEL, CREATE_CHANNEL, @@ -120,6 +125,10 @@ describe('Channelaware orders', () => { await server.destroy(); }); + const orderResultGuard: ErrorResultGuard = createErrorResultGuard< + UpdatedOrderFragment + >(input => !!input.lines); + it('creates order on current channel', async () => { shopClient.setChannelToken(SECOND_CHANNEL_TOKEN); const { addItemToOrder } = await shopClient.query( @@ -129,6 +138,7 @@ describe('Channelaware orders', () => { quantity: 1, }, ); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(1); expect(addItemToOrder!.lines[0].quantity).toBe(1); @@ -151,6 +161,7 @@ describe('Channelaware orders', () => { quantity: 1, }, ); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(1); expect(addItemToOrder!.lines[0].quantity).toBe(1); diff --git a/packages/core/e2e/order-process.e2e-spec.ts b/packages/core/e2e/order-process.e2e-spec.ts index f28cef2ed3..d3a3b588e1 100644 --- a/packages/core/e2e/order-process.e2e-spec.ts +++ b/packages/core/e2e/order-process.e2e-spec.ts @@ -1,20 +1,22 @@ /* tslint:disable:no-non-null-assertion */ import { CustomOrderProcess, mergeConfig, OrderState } from '@vendure/core'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import path from 'path'; import { initialData } from '../../../e2e-common/e2e-initial-data'; import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config'; import { testSuccessfulPaymentMethod } from './fixtures/test-payment-methods'; -import { AdminTransition, GetOrder } from './graphql/generated-e2e-admin-types'; +import { AdminTransition, GetOrder, OrderFragment } from './graphql/generated-e2e-admin-types'; import { AddItemToOrder, AddPaymentToOrder, + ErrorCode, GetNextOrderStates, SetCustomerForOrder, SetShippingAddress, SetShippingMethod, + TestOrderFragmentFragment, TransitionToState, } from './graphql/generated-e2e-shop-types'; import { ADMIN_TRANSITION_TO_STATE, GET_ORDER } from './graphql/shared-definitions'; @@ -81,6 +83,10 @@ describe('Order process', () => { }, }; + const orderErrorGuard: ErrorResultGuard< + TestOrderFragmentFragment | OrderFragment + > = createErrorResultGuard(input => !!input.total); + const { server, adminClient, shopClient } = createTestEnvironment( mergeConfig(testConfig, { orderOptions: { process: [customOrderProcess as any, customOrderProcess2 as any] }, @@ -130,6 +136,7 @@ describe('Order process', () => { >(TRANSITION_TO_STATE, { state: 'ValidatingCustomer', }); + orderErrorGuard.assertSuccess(transitionOrderToState); expect(transitionStartSpy).toHaveBeenCalledTimes(1); expect(transitionEndSpy).not.toHaveBeenCalled(); @@ -155,17 +162,21 @@ describe('Order process', () => { }, ); - try { - const { transitionOrderToState } = await shopClient.query< - TransitionToState.Mutation, - TransitionToState.Variables - >(TRANSITION_TO_STATE, { - state: 'ValidatingCustomer', - }); - fail('Should have thrown'); - } catch (e) { - expect(e.message).toContain(VALIDATION_ERROR_MESSAGE); - } + const { transitionOrderToState } = await shopClient.query< + TransitionToState.Mutation, + TransitionToState.Variables + >(TRANSITION_TO_STATE, { + state: 'ValidatingCustomer', + }); + orderErrorGuard.assertErrorResult(transitionOrderToState); + + expect(transitionOrderToState!.message).toBe( + 'Cannot transition Order from "AddingItems" to "ValidatingCustomer"', + ); + expect(transitionOrderToState!.errorCode).toBe(ErrorCode.ORDER_STATE_TRANSITION_ERROR); + expect(transitionOrderToState!.transitionError).toBe(VALIDATION_ERROR_MESSAGE); + expect(transitionOrderToState!.fromState).toBe('AddingItems'); + expect(transitionOrderToState!.toState).toBe('ValidatingCustomer'); expect(transitionStartSpy).toHaveBeenCalledTimes(1); expect(transitionErrorSpy).toHaveBeenCalledTimes(1); @@ -197,6 +208,7 @@ describe('Order process', () => { >(TRANSITION_TO_STATE, { state: 'ValidatingCustomer', }); + orderErrorGuard.assertSuccess(transitionOrderToState); expect(transitionEndSpy).toHaveBeenCalledTimes(1); expect(transitionEndSpy.mock.calls[0].slice(0, 2)).toEqual(['AddingItems', 'ValidatingCustomer']); @@ -227,7 +239,7 @@ describe('Order process', () => { }); describe('Admin API transition constraints', () => { - let order: NonNullable; + let order: NonNullable; beforeAll(async () => { await shopClient.asAnonymousUser(); @@ -268,32 +280,35 @@ describe('Order process', () => { state: 'ValidatingCustomer', }, ); - const result = await shopClient.query( - TRANSITION_TO_STATE, - { - state: 'ArrangingPayment', - }, - ); - order = result.transitionOrderToState!; + const { transitionOrderToState } = await shopClient.query< + TransitionToState.Mutation, + TransitionToState.Variables + >(TRANSITION_TO_STATE, { + state: 'ArrangingPayment', + }); + orderErrorGuard.assertSuccess(transitionOrderToState); + + order = transitionOrderToState!; }); it('cannot manually transition to PaymentAuthorized', async () => { expect(order.state).toBe('ArrangingPayment'); - try { - const { transitionOrderToState } = await adminClient.query< - AdminTransition.Mutation, - AdminTransition.Variables - >(ADMIN_TRANSITION_TO_STATE, { - id: order.id, - state: 'PaymentAuthorized', - }); - fail('Should have thrown'); - } catch (e) { - expect(e.message).toContain( - 'Cannot transition Order to the "PaymentAuthorized" state when the total is not covered by authorized Payments', - ); - } + const { transitionOrderToState } = await adminClient.query< + AdminTransition.Mutation, + AdminTransition.Variables + >(ADMIN_TRANSITION_TO_STATE, { + id: order.id, + state: 'PaymentAuthorized', + }); + orderErrorGuard.assertErrorResult(transitionOrderToState); + + expect(transitionOrderToState!.message).toBe( + 'Cannot transition Order from "ArrangingPayment" to "PaymentAuthorized"', + ); + expect(transitionOrderToState!.transitionError).toBe( + 'Cannot transition Order to the "PaymentAuthorized" state when the total is not covered by authorized Payments', + ); const result = await adminClient.query(GET_ORDER, { id: order.id, @@ -302,20 +317,21 @@ describe('Order process', () => { }); it('cannot manually transition to PaymentSettled', async () => { - try { - const { transitionOrderToState } = await adminClient.query< - AdminTransition.Mutation, - AdminTransition.Variables - >(ADMIN_TRANSITION_TO_STATE, { - id: order.id, - state: 'PaymentSettled', - }); - fail('Should have thrown'); - } catch (e) { - expect(e.message).toContain( - 'Cannot transition Order to the "PaymentSettled" state when the total is not covered by settled Payments', - ); - } + const { transitionOrderToState } = await adminClient.query< + AdminTransition.Mutation, + AdminTransition.Variables + >(ADMIN_TRANSITION_TO_STATE, { + id: order.id, + state: 'PaymentSettled', + }); + orderErrorGuard.assertErrorResult(transitionOrderToState); + + expect(transitionOrderToState!.message).toBe( + 'Cannot transition Order from "ArrangingPayment" to "PaymentSettled"', + ); + expect(transitionOrderToState!.transitionError).toContain( + 'Cannot transition Order to the "PaymentSettled" state when the total is not covered by settled Payments', + ); const result = await adminClient.query(GET_ORDER, { id: order.id, @@ -333,23 +349,26 @@ describe('Order process', () => { metadata: {}, }, }); + orderErrorGuard.assertSuccess(addPaymentToOrder); expect(addPaymentToOrder?.state).toBe('PaymentSettled'); - try { - const { transitionOrderToState } = await adminClient.query< - AdminTransition.Mutation, - AdminTransition.Variables - >(ADMIN_TRANSITION_TO_STATE, { - id: order.id, - state: 'Cancelled', - }); - fail('Should have thrown'); - } catch (e) { - expect(e.message).toContain( - 'Cannot transition Order to the "Cancelled" state unless all OrderItems are cancelled', - ); - } + const { transitionOrderToState } = await adminClient.query< + AdminTransition.Mutation, + AdminTransition.Variables + >(ADMIN_TRANSITION_TO_STATE, { + id: order.id, + state: 'Cancelled', + }); + orderErrorGuard.assertErrorResult(transitionOrderToState); + + expect(transitionOrderToState!.message).toBe( + 'Cannot transition Order from "PaymentSettled" to "Cancelled"', + ); + expect(transitionOrderToState!.transitionError).toContain( + 'Cannot transition Order to the "Cancelled" state unless all OrderItems are cancelled', + ); + const result = await adminClient.query(GET_ORDER, { id: order.id, }); @@ -357,20 +376,22 @@ describe('Order process', () => { }); it('cannot manually transition to PartiallyDelivered', async () => { - try { - const { transitionOrderToState } = await adminClient.query< - AdminTransition.Mutation, - AdminTransition.Variables - >(ADMIN_TRANSITION_TO_STATE, { - id: order.id, - state: 'PartiallyDelivered', - }); - fail('Should have thrown'); - } catch (e) { - expect(e.message).toContain( - 'Cannot transition Order to the "PartiallyDelivered" state unless some OrderItems are delivered', - ); - } + const { transitionOrderToState } = await adminClient.query< + AdminTransition.Mutation, + AdminTransition.Variables + >(ADMIN_TRANSITION_TO_STATE, { + id: order.id, + state: 'PartiallyDelivered', + }); + orderErrorGuard.assertErrorResult(transitionOrderToState); + + expect(transitionOrderToState!.message).toBe( + 'Cannot transition Order from "PaymentSettled" to "PartiallyDelivered"', + ); + expect(transitionOrderToState!.transitionError).toContain( + 'Cannot transition Order to the "PartiallyDelivered" state unless some OrderItems are delivered', + ); + const result = await adminClient.query(GET_ORDER, { id: order.id, }); @@ -378,20 +399,22 @@ describe('Order process', () => { }); it('cannot manually transition to PartiallyDelivered', async () => { - try { - const { transitionOrderToState } = await adminClient.query< - AdminTransition.Mutation, - AdminTransition.Variables - >(ADMIN_TRANSITION_TO_STATE, { - id: order.id, - state: 'Delivered', - }); - fail('Should have thrown'); - } catch (e) { - expect(e.message).toContain( - 'Cannot transition Order to the "Delivered" state unless all OrderItems are delivered', - ); - } + const { transitionOrderToState } = await adminClient.query< + AdminTransition.Mutation, + AdminTransition.Variables + >(ADMIN_TRANSITION_TO_STATE, { + id: order.id, + state: 'Delivered', + }); + orderErrorGuard.assertErrorResult(transitionOrderToState); + + expect(transitionOrderToState!.message).toBe( + 'Cannot transition Order from "PaymentSettled" to "Delivered"', + ); + expect(transitionOrderToState!.transitionError).toContain( + 'Cannot transition Order to the "Delivered" state unless all OrderItems are delivered', + ); + const result = await adminClient.query(GET_ORDER, { id: order.id, }); diff --git a/packages/core/e2e/order-promotion.e2e-spec.ts b/packages/core/e2e/order-promotion.e2e-spec.ts index 962043a68f..2a4fecd59c 100644 --- a/packages/core/e2e/order-promotion.e2e-spec.ts +++ b/packages/core/e2e/order-promotion.e2e-spec.ts @@ -10,7 +10,7 @@ import { orderPercentageDiscount, productsPercentageDiscount, } from '@vendure/core'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; @@ -25,6 +25,7 @@ import { GetFacetList, GetPromoProducts, HistoryEntryType, + PromotionFragment, RemoveCustomersFromGroup, } from './graphql/generated-e2e-admin-types'; import { @@ -32,11 +33,15 @@ import { AdjustItemQuantity, AdjustmentType, ApplyCouponCode, + ErrorCode, GetActiveOrder, GetOrderPromotionsByCode, RemoveCouponCode, SetCustomerForOrder, TestOrderFragment, + TestOrderFragmentFragment, + TestOrderWithPaymentsFragment, + UpdatedOrderFragment, } from './graphql/generated-e2e-shop-types'; import { CREATE_CUSTOMER_GROUP, @@ -76,6 +81,11 @@ describe('Promotions applied to Orders', () => { ], }); + type OrderSuccessResult = UpdatedOrderFragment | TestOrderFragmentFragment; + const orderResultGuard: ErrorResultGuard = createErrorResultGuard( + input => !!input.lines, + ); + let products: GetPromoProducts.Items[]; beforeAll(async () => { @@ -97,8 +107,8 @@ describe('Promotions applied to Orders', () => { describe('coupon codes', () => { const TEST_COUPON_CODE = 'TESTCOUPON'; const EXPIRED_COUPON_CODE = 'EXPIRED'; - let promoFreeWithCoupon: CreatePromotion.CreatePromotion; - let promoFreeWithExpiredCoupon: CreatePromotion.CreatePromotion; + let promoFreeWithCoupon: PromotionFragment; + let promoFreeWithExpiredCoupon: PromotionFragment; beforeAll(async () => { promoFreeWithCoupon = await createPromotion({ @@ -119,10 +129,7 @@ describe('Promotions applied to Orders', () => { await shopClient.asAnonymousUser(); const item60 = getVariantBySlug('item-60'); - const { addItemToOrder } = await shopClient.query< - AddItemToOrder.Mutation, - AddItemToOrder.Variables - >(ADD_ITEM_TO_ORDER, { + await shopClient.query(ADD_ITEM_TO_ORDER, { productVariantId: item60.id, quantity: 1, }); @@ -133,29 +140,29 @@ describe('Promotions applied to Orders', () => { await deletePromotion(promoFreeWithExpiredCoupon.id); }); - it( - 'applyCouponCode throws with nonexistant code', - assertThrowsWithMessage(async () => { - await shopClient.query( - APPLY_COUPON_CODE, - { - couponCode: 'bad code', - }, - ); - }, 'Coupon code "bad code" is not valid'), - ); + it('applyCouponCode returns error result when code is nonexistant', async () => { + const { applyCouponCode } = await shopClient.query< + ApplyCouponCode.Mutation, + ApplyCouponCode.Variables + >(APPLY_COUPON_CODE, { + couponCode: 'bad code', + }); + orderResultGuard.assertErrorResult(applyCouponCode); + expect(applyCouponCode.message).toBe('Coupon code "bad code" is not valid'); + expect(applyCouponCode.errorCode).toBe(ErrorCode.COUPON_CODE_INVALID_ERROR); + }); - it( - 'applyCouponCode throws with expired code', - assertThrowsWithMessage(async () => { - await shopClient.query( - APPLY_COUPON_CODE, - { - couponCode: EXPIRED_COUPON_CODE, - }, - ); - }, `Coupon code "${EXPIRED_COUPON_CODE}" has expired`), - ); + it('applyCouponCode returns error when code is expired', async () => { + const { applyCouponCode } = await shopClient.query< + ApplyCouponCode.Mutation, + ApplyCouponCode.Variables + >(APPLY_COUPON_CODE, { + couponCode: EXPIRED_COUPON_CODE, + }); + orderResultGuard.assertErrorResult(applyCouponCode); + expect(applyCouponCode.message).toBe(`Coupon code "${EXPIRED_COUPON_CODE}" has expired`); + expect(applyCouponCode.errorCode).toBe(ErrorCode.COUPON_CODE_EXPIRED_ERROR); + }); it('applies a valid coupon code', async () => { const { applyCouponCode } = await shopClient.query< @@ -164,7 +171,7 @@ describe('Promotions applied to Orders', () => { >(APPLY_COUPON_CODE, { couponCode: TEST_COUPON_CODE, }); - + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.couponCodes).toEqual([TEST_COUPON_CODE]); expect(applyCouponCode!.adjustments.length).toBe(1); expect(applyCouponCode!.adjustments[0].description).toBe('Free with test coupon'); @@ -192,7 +199,7 @@ describe('Promotions applied to Orders', () => { >(APPLY_COUPON_CODE, { couponCode: TEST_COUPON_CODE, }); - + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.couponCodes).toEqual([TEST_COUPON_CODE]); }); @@ -274,6 +281,7 @@ describe('Promotions applied to Orders', () => { productVariantId: item60.id, quantity: 1, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.total).toBe(6000); expect(addItemToOrder!.adjustments.length).toBe(0); @@ -284,6 +292,7 @@ describe('Promotions applied to Orders', () => { orderLineId: addItemToOrder!.lines[0].id, quantity: 2, }); + orderResultGuard.assertSuccess(adjustOrderLine); expect(adjustOrderLine!.total).toBe(0); expect(adjustOrderLine!.adjustments[0].description).toBe('Free if order total greater than 100'); expect(adjustOrderLine!.adjustments[0].amount).toBe(-12000); @@ -318,6 +327,7 @@ describe('Promotions applied to Orders', () => { productVariantId: itemSale1.id, quantity: 1, }); + orderResultGuard.assertSuccess(res1); expect(res1!.total).toBe(120); expect(res1!.adjustments.length).toBe(0); @@ -328,6 +338,7 @@ describe('Promotions applied to Orders', () => { productVariantId: itemSale12.id, quantity: 1, }); + orderResultGuard.assertSuccess(res2); expect(res2!.total).toBe(0); expect(res2!.adjustments.length).toBe(1); expect(res2!.total).toBe(0); @@ -367,6 +378,7 @@ describe('Promotions applied to Orders', () => { productVariantId: item12.id, quantity: 1, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.total).toBe(7200); expect(addItemToOrder!.adjustments.length).toBe(0); @@ -377,6 +389,7 @@ describe('Promotions applied to Orders', () => { orderLineId: addItemToOrder!.lines[0].id, quantity: 2, }); + orderResultGuard.assertSuccess(adjustOrderLine); expect(adjustOrderLine!.total).toBe(0); expect(adjustOrderLine!.adjustments[0].description).toBe( 'Free if buying 3 or more offer products', @@ -415,6 +428,7 @@ describe('Promotions applied to Orders', () => { productVariantId: getVariantBySlug('item-60').id, quantity: 1, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.total).toBe(0); expect(addItemToOrder!.adjustments.length).toBe(1); expect(addItemToOrder!.adjustments[0].description).toBe('Free for group members'); @@ -435,6 +449,7 @@ describe('Promotions applied to Orders', () => { orderLineId: addItemToOrder!.lines[0].id, quantity: 2, }); + orderResultGuard.assertSuccess(adjustOrderLine); expect(adjustOrderLine!.total).toBe(12000); expect(adjustOrderLine!.adjustments.length).toBe(0); @@ -469,6 +484,7 @@ describe('Promotions applied to Orders', () => { productVariantId: item60.id, quantity: 1, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.total).toBe(6000); expect(addItemToOrder!.adjustments.length).toBe(0); @@ -478,7 +494,7 @@ describe('Promotions applied to Orders', () => { >(APPLY_COUPON_CODE, { couponCode, }); - + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.adjustments.length).toBe(1); expect(applyCouponCode!.adjustments[0].description).toBe('50% discount on order'); expect(applyCouponCode!.total).toBe(3000); @@ -524,6 +540,7 @@ describe('Promotions applied to Orders', () => { function getItemSale1Line(lines: TestOrderFragment.Lines[]): TestOrderFragment.Lines { return lines.find(l => l.productVariant.id === getVariantBySlug('item-sale-1').id)!; } + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.adjustments.length).toBe(0); expect(getItemSale1Line(addItemToOrder!.lines).adjustments.length).toBe(2); // 2x tax expect(addItemToOrder!.total).toBe(2640); @@ -534,6 +551,7 @@ describe('Promotions applied to Orders', () => { >(APPLY_COUPON_CODE, { couponCode, }); + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.total).toBe(1920); expect(getItemSale1Line(applyCouponCode!.lines).adjustments.length).toBe(4); // 2x tax, 2x promotion @@ -580,6 +598,7 @@ describe('Promotions applied to Orders', () => { productVariantId: item60.id, quantity: 1, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.adjustments.length).toBe(0); expect(addItemToOrder!.lines[0].adjustments.length).toBe(1); // 1x tax expect(addItemToOrder!.total).toBe(6000); @@ -590,6 +609,7 @@ describe('Promotions applied to Orders', () => { >(APPLY_COUPON_CODE, { couponCode, }); + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.total).toBe(3000); expect(applyCouponCode!.lines[0].adjustments.length).toBe(2); // 1x tax, 1x promotion @@ -650,6 +670,7 @@ describe('Promotions applied to Orders', () => { >(APPLY_COUPON_CODE, { couponCode: 'CODE1', }); + orderResultGuard.assertSuccess(apply1); expect(apply1?.lines[0].adjustments.length).toBe(2); expect( @@ -664,6 +685,7 @@ describe('Promotions applied to Orders', () => { >(APPLY_COUPON_CODE, { couponCode: 'CODE2', }); + orderResultGuard.assertSuccess(apply2); expect(apply2?.lines[0].adjustments.length).toBe(2); expect( @@ -676,7 +698,10 @@ describe('Promotions applied to Orders', () => { describe('per-customer usage limit', () => { const TEST_COUPON_CODE = 'TESTCOUPON'; - let promoWithUsageLimit: CreatePromotion.CreatePromotion; + const orderGuard: ErrorResultGuard = createErrorResultGuard< + TestOrderWithPaymentsFragment + >(input => !!input.lines); + let promoWithUsageLimit: PromotionFragment; beforeAll(async () => { promoWithUsageLimit = await createPromotion({ @@ -731,12 +756,15 @@ describe('Promotions applied to Orders', () => { ApplyCouponCode.Mutation, ApplyCouponCode.Variables >(APPLY_COUPON_CODE, { couponCode: TEST_COUPON_CODE }); + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.total).toBe(0); expect(applyCouponCode!.couponCodes).toEqual([TEST_COUPON_CODE]); await proceedToArrangingPayment(shopClient); const order = await addPaymentToOrder(shopClient, testSuccessfulPaymentMethod); + orderGuard.assertSuccess(order); + expect(order.state).toBe('PaymentSettled'); expect(order.active).toBe(false); orderCode = order.code; @@ -754,22 +782,20 @@ describe('Promotions applied to Orders', () => { ]); }); - it('throws when usage exceeds limit', async () => { + it('returns error result when usage exceeds limit', async () => { await shopClient.asAnonymousUser(); await createNewActiveOrder(); await addGuestCustomerToOrder(); - try { - await shopClient.query( - APPLY_COUPON_CODE, - { couponCode: TEST_COUPON_CODE }, - ); - fail('should have thrown'); - } catch (err) { - expect(err.message).toEqual( - expect.stringContaining('Coupon code cannot be used more than once per customer'), - ); - } + const { applyCouponCode } = await shopClient.query< + ApplyCouponCode.Mutation, + ApplyCouponCode.Variables + >(APPLY_COUPON_CODE, { couponCode: TEST_COUPON_CODE }); + orderResultGuard.assertErrorResult(applyCouponCode); + + expect(applyCouponCode.message).toEqual( + 'Coupon code cannot be used more than once per customer', + ); }); it('removes couponCode from order when adding customer after code applied', async () => { @@ -780,6 +806,7 @@ describe('Promotions applied to Orders', () => { ApplyCouponCode.Mutation, ApplyCouponCode.Variables >(APPLY_COUPON_CODE, { couponCode: TEST_COUPON_CODE }); + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.total).toBe(0); expect(applyCouponCode!.couponCodes).toEqual([TEST_COUPON_CODE]); @@ -804,30 +831,31 @@ describe('Promotions applied to Orders', () => { ApplyCouponCode.Mutation, ApplyCouponCode.Variables >(APPLY_COUPON_CODE, { couponCode: TEST_COUPON_CODE }); + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.total).toBe(0); expect(applyCouponCode!.couponCodes).toEqual([TEST_COUPON_CODE]); await proceedToArrangingPayment(shopClient); const order = await addPaymentToOrder(shopClient, testSuccessfulPaymentMethod); + orderGuard.assertSuccess(order); + expect(order.state).toBe('PaymentSettled'); expect(order.active).toBe(false); }); - it('throws when usage exceeds limit', async () => { + it('returns error result when usage exceeds limit', async () => { await logInAsRegisteredCustomer(); await createNewActiveOrder(); - try { - await shopClient.query( - APPLY_COUPON_CODE, - { couponCode: TEST_COUPON_CODE }, - ); - fail('should have thrown'); - } catch (err) { - expect(err.message).toEqual( - expect.stringContaining('Coupon code cannot be used more than once per customer'), - ); - } + const { applyCouponCode } = await shopClient.query< + ApplyCouponCode.Mutation, + ApplyCouponCode.Variables + >(APPLY_COUPON_CODE, { couponCode: TEST_COUPON_CODE }); + orderResultGuard.assertErrorResult(applyCouponCode); + expect(applyCouponCode.message).toEqual( + 'Coupon code cannot be used more than once per customer', + ); + expect(applyCouponCode.errorCode).toBe(ErrorCode.COUPON_CODE_LIMIT_ERROR); }); it('removes couponCode from order when logging in after code applied', async () => { @@ -837,6 +865,7 @@ describe('Promotions applied to Orders', () => { ApplyCouponCode.Mutation, ApplyCouponCode.Variables >(APPLY_COUPON_CODE, { couponCode: TEST_COUPON_CODE }); + orderResultGuard.assertSuccess(applyCouponCode); expect(applyCouponCode!.couponCodes).toEqual([TEST_COUPON_CODE]); expect(applyCouponCode!.total).toBe(0); @@ -879,14 +908,14 @@ describe('Promotions applied to Orders', () => { await deletePromotion(deletedPromotion.id); } - async function createPromotion(input: CreatePromotionInput): Promise { + async function createPromotion(input: CreatePromotionInput): Promise { const result = await adminClient.query( CREATE_PROMOTION, { input, }, ); - return result.createPromotion; + return result.createPromotion as PromotionFragment; } function getVariantBySlug( diff --git a/packages/core/e2e/order.e2e-spec.ts b/packages/core/e2e/order.e2e-spec.ts index 0033067834..4a0d6fb4f6 100644 --- a/packages/core/e2e/order.e2e-spec.ts +++ b/packages/core/e2e/order.e2e-spec.ts @@ -1,6 +1,11 @@ /* tslint:disable:no-non-null-assertion */ import { pick } from '@vendure/common/lib/pick'; -import { createTestEnvironment, SimpleGraphQLClient } from '@vendure/testing'; +import { + createErrorResultGuard, + createTestEnvironment, + ErrorResultGuard, + SimpleGraphQLClient, +} from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; @@ -13,11 +18,15 @@ import { singleStageRefundablePaymentMethod, twoStagePaymentMethod, } from './fixtures/test-payment-methods'; +import { FULFILLMENT_FRAGMENT } from './graphql/fragments'; import { AddNoteToOrder, + CanceledOrderFragment, CancelOrder, CreateFulfillment, DeleteOrderNote, + ErrorCode, + FulfillmentFragment, GetCustomerList, GetOrder, GetOrderFulfillmentItems, @@ -28,6 +37,8 @@ import { GetProductWithVariants, GetStockMovement, HistoryEntryType, + PaymentFragment, + RefundFragment, RefundOrder, SettlePayment, SettleRefund, @@ -37,7 +48,13 @@ import { UpdateOrderNote, UpdateProductVariants, } from './graphql/generated-e2e-admin-types'; -import { AddItemToOrder, DeletionResult, GetActiveOrder } from './graphql/generated-e2e-shop-types'; +import { + AddItemToOrder, + DeletionResult, + GetActiveOrder, + TestOrderFragmentFragment, + UpdatedOrder, +} from './graphql/generated-e2e-shop-types'; import { CREATE_FULFILLMENT, GET_CUSTOMER_LIST, @@ -67,6 +84,19 @@ describe('Orders resolver', () => { let customers: GetCustomerList.Items[]; const password = 'test'; + const orderGuard: ErrorResultGuard< + TestOrderFragmentFragment | CanceledOrderFragment + > = createErrorResultGuard(input => !!input.lines); + const paymentGuard: ErrorResultGuard = createErrorResultGuard( + input => !!input.state, + ); + const fulfillmentGuard: ErrorResultGuard = createErrorResultGuard< + FulfillmentFragment + >(input => !!input.method); + const refundGuard: ErrorResultGuard = createErrorResultGuard( + input => !!input.items, + ); + beforeAll(async () => { await server.init({ initialData, @@ -133,6 +163,7 @@ describe('Orders resolver', () => { await shopClient.asUserWithCredentials(customers[0].emailAddress, password); await proceedToArrangingPayment(shopClient); const order = await addPaymentToOrder(shopClient, failsToSettlePaymentMethod); + orderGuard.assertSuccess(order); expect(order.state).toBe('PaymentAuthorized'); @@ -143,9 +174,11 @@ describe('Orders resolver', () => { >(SETTLE_PAYMENT, { id: payment.id, }); + paymentGuard.assertErrorResult(settlePayment); - expect(settlePayment!.id).toBe(payment.id); - expect(settlePayment!.state).toBe('Authorized'); + expect(settlePayment.message).toBe('Settling the payment failed'); + expect(settlePayment.errorCode).toBe(ErrorCode.SETTLE_PAYMENT_ERROR); + expect((settlePayment as any).paymentErrorMessage).toBe('Something went horribly wrong'); const result = await adminClient.query(GET_ORDER, { id: order.id, @@ -159,6 +192,7 @@ describe('Orders resolver', () => { await shopClient.asUserWithCredentials(customers[1].emailAddress, password); await proceedToArrangingPayment(shopClient); const order = await addPaymentToOrder(shopClient, twoStagePaymentMethod); + orderGuard.assertSuccess(order); expect(order.state).toBe('PaymentAuthorized'); expect(onTransitionSpy).toHaveBeenCalledTimes(1); @@ -172,6 +206,7 @@ describe('Orders resolver', () => { >(SETTLE_PAYMENT, { id: payment.id, }); + paymentGuard.assertSuccess(settlePayment); expect(settlePayment!.id).toBe(payment.id); expect(settlePayment!.state).toBe('Settled'); @@ -240,63 +275,45 @@ describe('Orders resolver', () => { }); describe('fulfillment', () => { - it( - 'throws if Order is not in "PaymentSettled" state', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: 'T_1', - }); - expect(order!.state).toBe('PaymentAuthorized'); + it('return error result if lines is empty', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: 'T_2', + }); + expect(order!.state).toBe('PaymentSettled'); + const { addFulfillmentToOrder } = await adminClient.query< + CreateFulfillment.Mutation, + CreateFulfillment.Variables + >(CREATE_FULFILLMENT, { + input: { + lines: [], + method: 'Test', + }, + }); + fulfillmentGuard.assertErrorResult(addFulfillmentToOrder); - await adminClient.query( - CREATE_FULFILLMENT, - { - input: { - lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: l.quantity })), - method: 'Test', - }, - }, - ); - }, 'One or more OrderItems belong to an Order which is in an invalid state'), - ); + expect(addFulfillmentToOrder.message).toBe('At least one OrderLine must be specified'); + expect(addFulfillmentToOrder.errorCode).toBe(ErrorCode.EMPTY_ORDER_LINE_SELECTION_ERROR); + }); - it( - 'throws if lines is empty', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: 'T_2', - }); - expect(order!.state).toBe('PaymentSettled'); - await adminClient.query( - CREATE_FULFILLMENT, - { - input: { - lines: [], - method: 'Test', - }, - }, - ); - }, 'Nothing to fulfill'), - ); + it('returns error result if all quantities are zero', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: 'T_2', + }); + expect(order!.state).toBe('PaymentSettled'); + const { addFulfillmentToOrder } = await adminClient.query< + CreateFulfillment.Mutation, + CreateFulfillment.Variables + >(CREATE_FULFILLMENT, { + input: { + lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: 0 })), + method: 'Test', + }, + }); + fulfillmentGuard.assertErrorResult(addFulfillmentToOrder); - it( - 'throws if all quantities are zero', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: 'T_2', - }); - expect(order!.state).toBe('PaymentSettled'); - await adminClient.query( - CREATE_FULFILLMENT, - { - input: { - lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: 0 })), - method: 'Test', - }, - }, - ); - }, 'Nothing to fulfill'), - ); + expect(addFulfillmentToOrder.message).toBe('At least one OrderLine must be specified'); + expect(addFulfillmentToOrder.errorCode).toBe(ErrorCode.EMPTY_ORDER_LINE_SELECTION_ERROR); + }); it('creates the first fulfillment', async () => { const { order } = await adminClient.query(GET_ORDER, { @@ -305,7 +322,7 @@ describe('Orders resolver', () => { expect(order!.state).toBe('PaymentSettled'); const lines = order!.lines; - const { fulfillOrder } = await adminClient.query< + const { addFulfillmentToOrder } = await adminClient.query< CreateFulfillment.Mutation, CreateFulfillment.Variables >(CREATE_FULFILLMENT, { @@ -315,21 +332,22 @@ describe('Orders resolver', () => { trackingCode: '111', }, }); + fulfillmentGuard.assertSuccess(addFulfillmentToOrder); - expect(fulfillOrder!.id).toBe('T_1'); - expect(fulfillOrder!.method).toBe('Test1'); - expect(fulfillOrder!.trackingCode).toBe('111'); - expect(fulfillOrder!.state).toBe('Pending'); - expect(fulfillOrder!.orderItems).toEqual([{ id: lines[0].items[0].id }]); + expect(addFulfillmentToOrder.id).toBe('T_1'); + expect(addFulfillmentToOrder.method).toBe('Test1'); + expect(addFulfillmentToOrder.trackingCode).toBe('111'); + expect(addFulfillmentToOrder.state).toBe('Pending'); + expect(addFulfillmentToOrder.orderItems).toEqual([{ id: lines[0].items[0].id }]); const result = await adminClient.query(GET_ORDER, { id: 'T_2', }); - expect(result.order!.lines[0].items[0].fulfillment!.id).toBe(fulfillOrder!.id); + expect(result.order!.lines[0].items[0].fulfillment!.id).toBe(addFulfillmentToOrder!.id); expect( result.order!.lines[1].items.filter( - i => i.fulfillment && i.fulfillment.id === fulfillOrder.id, + i => i.fulfillment && i.fulfillment.id === addFulfillmentToOrder.id, ).length, ).toBe(0); expect(result.order!.lines[1].items.filter(i => i.fulfillment == null).length).toBe(3); @@ -346,7 +364,7 @@ describe('Orders resolver', () => { return items.length > 0 ? true : false; }) || []; - const { fulfillOrder } = await adminClient.query< + const { addFulfillmentToOrder } = await adminClient.query< CreateFulfillment.Mutation, CreateFulfillment.Variables >(CREATE_FULFILLMENT, { @@ -359,93 +377,109 @@ describe('Orders resolver', () => { trackingCode: '222', }, }); + fulfillmentGuard.assertSuccess(addFulfillmentToOrder); - expect(fulfillOrder!.id).toBe('T_2'); - expect(fulfillOrder!.method).toBe('Test2'); - expect(fulfillOrder!.trackingCode).toBe('222'); - expect(fulfillOrder!.state).toBe('Pending'); + expect(addFulfillmentToOrder.id).toBe('T_2'); + expect(addFulfillmentToOrder.method).toBe('Test2'); + expect(addFulfillmentToOrder.trackingCode).toBe('222'); + expect(addFulfillmentToOrder.state).toBe('Pending'); }); - it( - 'throws if an OrderItem already part of a Fulfillment', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: 'T_2', - }); - await adminClient.query( - CREATE_FULFILLMENT, - { - input: { - method: 'Test', - lines: [ - { - orderLineId: order!.lines[0].id, - quantity: 1, - }, - ], + it('returns error result if an OrderItem already part of a Fulfillment', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: 'T_2', + }); + const { addFulfillmentToOrder } = await adminClient.query< + CreateFulfillment.Mutation, + CreateFulfillment.Variables + >(CREATE_FULFILLMENT, { + input: { + method: 'Test', + lines: [ + { + orderLineId: order!.lines[0].id, + quantity: 1, }, - }, - ); - }, 'One or more OrderItems have already been fulfilled'), - ); + ], + }, + }); + fulfillmentGuard.assertErrorResult(addFulfillmentToOrder); + + expect(addFulfillmentToOrder.message).toBe( + 'One or more OrderItems are already part of a Fulfillment', + ); + expect(addFulfillmentToOrder.errorCode).toBe(ErrorCode.ITEMS_ALREADY_FULFILLED_ERROR); + }); + it('transits the first fulfillment from created to Shipped and automatically change the order state to PartiallyShipped', async () => { - const fulfillment = await adminClient.query< + const { transitionFulfillmentToState } = await adminClient.query< TransitFulfillment.Mutation, TransitFulfillment.Variables >(TRANSIT_FULFILLMENT, { id: 'T_1', state: 'Shipped', }); - expect(fulfillment.transitionFulfillmentToState?.id).toBe('T_1'); - expect(fulfillment.transitionFulfillmentToState?.state).toBe('Shipped'); + fulfillmentGuard.assertSuccess(transitionFulfillmentToState); + + expect(transitionFulfillmentToState.id).toBe('T_1'); + expect(transitionFulfillmentToState.state).toBe('Shipped'); const { order } = await adminClient.query(GET_ORDER, { id: 'T_2', }); expect(order?.state).toBe('PartiallyShipped'); }); + it('transits the second fulfillment from created to Shipped and automatically change the order state to Shipped', async () => { - const fulfillment = await adminClient.query< + const { transitionFulfillmentToState } = await adminClient.query< TransitFulfillment.Mutation, TransitFulfillment.Variables >(TRANSIT_FULFILLMENT, { id: 'T_2', state: 'Shipped', }); - expect(fulfillment.transitionFulfillmentToState?.id).toBe('T_2'); - expect(fulfillment.transitionFulfillmentToState?.state).toBe('Shipped'); + fulfillmentGuard.assertSuccess(transitionFulfillmentToState); + + expect(transitionFulfillmentToState.id).toBe('T_2'); + expect(transitionFulfillmentToState.state).toBe('Shipped'); const { order } = await adminClient.query(GET_ORDER, { id: 'T_2', }); expect(order?.state).toBe('Shipped'); }); + it('transits the first fulfillment from Shipped to Delivered and change the order state to PartiallyDelivered', async () => { - const fulfillment = await adminClient.query< + const { transitionFulfillmentToState } = await adminClient.query< TransitFulfillment.Mutation, TransitFulfillment.Variables >(TRANSIT_FULFILLMENT, { id: 'T_1', state: 'Delivered', }); - expect(fulfillment.transitionFulfillmentToState?.id).toBe('T_1'); - expect(fulfillment.transitionFulfillmentToState?.state).toBe('Delivered'); + fulfillmentGuard.assertSuccess(transitionFulfillmentToState); + + expect(transitionFulfillmentToState.id).toBe('T_1'); + expect(transitionFulfillmentToState.state).toBe('Delivered'); const { order } = await adminClient.query(GET_ORDER, { id: 'T_2', }); expect(order?.state).toBe('PartiallyDelivered'); }); + it('transits the second fulfillment from Shipped to Delivered and change the order state to Delivered', async () => { - const fulfillment = await adminClient.query< + const { transitionFulfillmentToState } = await adminClient.query< TransitFulfillment.Mutation, TransitFulfillment.Variables >(TRANSIT_FULFILLMENT, { id: 'T_2', state: 'Delivered', }); - expect(fulfillment.transitionFulfillmentToState?.id).toBe('T_2'); - expect(fulfillment.transitionFulfillmentToState?.state).toBe('Delivered'); + fulfillmentGuard.assertSuccess(transitionFulfillmentToState); + + expect(transitionFulfillmentToState.id).toBe('T_2'); + expect(transitionFulfillmentToState.state).toBe('Delivered'); const { order } = await adminClient.query(GET_ORDER, { id: 'T_2', @@ -642,6 +676,8 @@ describe('Orders resolver', () => { ); await proceedToArrangingPayment(shopClient); const order = await addPaymentToOrder(shopClient, failsToSettlePaymentMethod); + orderGuard.assertSuccess(order); + expect(order.state).toBe('PaymentAuthorized'); const result1 = await adminClient.query( @@ -665,6 +701,8 @@ describe('Orders resolver', () => { }, }, ); + orderGuard.assertSuccess(cancelOrder); + expect( cancelOrder.lines.map(l => l.items.map(pick(['id', 'cancelled'])).sort((a, b) => (a.id > b.id ? 1 : -1)), @@ -729,68 +767,91 @@ describe('Orders resolver', () => { productVariantId = result.productVariantId; }); - it( - 'cannot cancel from AddingItems state', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: orderId, - }); - expect(order!.state).toBe('AddingItems'); - await adminClient.query(CANCEL_ORDER, { + it('cannot cancel from AddingItems state', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: orderId, + }); + expect(order!.state).toBe('AddingItems'); + + const { cancelOrder } = await adminClient.query( + CANCEL_ORDER, + { input: { orderId, lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: 1 })), }, - }); - }, 'Cannot cancel OrderLines from an Order in the "AddingItems" state'), - ); + }, + ); + orderGuard.assertErrorResult(cancelOrder); - it( - 'cannot cancel from ArrangingPayment state', - assertThrowsWithMessage(async () => { - await proceedToArrangingPayment(shopClient); - const { order } = await adminClient.query(GET_ORDER, { - id: orderId, - }); - expect(order!.state).toBe('ArrangingPayment'); - await adminClient.query(CANCEL_ORDER, { + expect(cancelOrder.message).toBe( + 'Cannot cancel OrderLines from an Order in the "AddingItems" state', + ); + expect(cancelOrder.errorCode).toBe(ErrorCode.CANCEL_ACTIVE_ORDER_ERROR); + }); + + it('cannot cancel from ArrangingPayment state', async () => { + await proceedToArrangingPayment(shopClient); + const { order } = await adminClient.query(GET_ORDER, { + id: orderId, + }); + expect(order!.state).toBe('ArrangingPayment'); + const { cancelOrder } = await adminClient.query( + CANCEL_ORDER, + { input: { orderId, lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: 1 })), }, - }); - }, 'Cannot cancel OrderLines from an Order in the "ArrangingPayment" state'), - ); + }, + ); + orderGuard.assertErrorResult(cancelOrder); - it( - 'throws if lines are empty', - assertThrowsWithMessage(async () => { - const order = await addPaymentToOrder(shopClient, twoStagePaymentMethod); - expect(order.state).toBe('PaymentAuthorized'); + expect(cancelOrder.message).toBe( + 'Cannot cancel OrderLines from an Order in the "ArrangingPayment" state', + ); + expect(cancelOrder.errorCode).toBe(ErrorCode.CANCEL_ACTIVE_ORDER_ERROR); + }); - await adminClient.query(CANCEL_ORDER, { + it('returns error result if lines are empty', async () => { + const order = await addPaymentToOrder(shopClient, twoStagePaymentMethod); + orderGuard.assertSuccess(order); + + expect(order.state).toBe('PaymentAuthorized'); + + const { cancelOrder } = await adminClient.query( + CANCEL_ORDER, + { input: { orderId, lines: [], }, - }); - }, 'Nothing to cancel'), - ); + }, + ); + orderGuard.assertErrorResult(cancelOrder); - it( - 'throws if all quantities zero', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: orderId, - }); - await adminClient.query(CANCEL_ORDER, { + expect(cancelOrder.message).toBe('At least one OrderLine must be specified'); + expect(cancelOrder.errorCode).toBe(ErrorCode.EMPTY_ORDER_LINE_SELECTION_ERROR); + }); + + it('returns error result if all quantities zero', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: orderId, + }); + const { cancelOrder } = await adminClient.query( + CANCEL_ORDER, + { input: { orderId, lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: 0 })), }, - }); - }, 'Nothing to cancel'), - ); + }, + ); + orderGuard.assertErrorResult(cancelOrder); + + expect(cancelOrder.message).toBe('At least one OrderLine must be specified'); + expect(cancelOrder.errorCode).toBe(ErrorCode.EMPTY_ORDER_LINE_SELECTION_ERROR); + }); it('partial cancellation', async () => { const result1 = await adminClient.query( @@ -823,6 +884,7 @@ describe('Orders resolver', () => { }, }, ); + orderGuard.assertSuccess(cancelOrder); expect(cancelOrder.lines[0].quantity).toBe(1); expect(cancelOrder.lines[0].items.sort((a, b) => (a.id < b.id ? -1 : 1))).toEqual([ @@ -855,6 +917,27 @@ describe('Orders resolver', () => { ]); }); + it('returns error result if attempting to cancel already cancelled item', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: orderId, + }); + const { cancelOrder } = await adminClient.query( + CANCEL_ORDER, + { + input: { + orderId, + lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: 2 })), + }, + }, + ); + orderGuard.assertErrorResult(cancelOrder); + + expect(cancelOrder.message).toBe( + 'The specified quantity is greater than the available OrderItems', + ); + expect(cancelOrder.errorCode).toBe(ErrorCode.QUANTITY_TOO_GREAT_ERROR); + }); + it('complete cancellation', async () => { const { order } = await adminClient.query(GET_ORDER, { id: orderId, @@ -968,50 +1051,61 @@ describe('Orders resolver', () => { productVariantId = result.productVariantId; }); - it( - 'cannot refund from PaymentAuthorized state', - assertThrowsWithMessage(async () => { - await proceedToArrangingPayment(shopClient); - const order = await addPaymentToOrder(shopClient, twoStagePaymentMethod); - expect(order.state).toBe('PaymentAuthorized'); - paymentId = order.payments![0].id; + it('cannot refund from PaymentAuthorized state', async () => { + await proceedToArrangingPayment(shopClient); + const order = await addPaymentToOrder(shopClient, twoStagePaymentMethod); + orderGuard.assertSuccess(order); - await adminClient.query(REFUND_ORDER, { + expect(order.state).toBe('PaymentAuthorized'); + paymentId = order.payments![0].id; + + const { refundOrder } = await adminClient.query( + REFUND_ORDER, + { input: { lines: order.lines.map(l => ({ orderLineId: l.id, quantity: 1 })), shipping: 0, adjustment: 0, paymentId, }, - }); - }, 'Cannot refund an Order in the "PaymentAuthorized" state'), - ); + }, + ); + refundGuard.assertErrorResult(refundOrder); - it( - 'throws if no lines and no shipping', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: orderId, - }); - const { settlePayment } = await adminClient.query< - SettlePayment.Mutation, - SettlePayment.Variables - >(SETTLE_PAYMENT, { - id: order!.payments![0].id, - }); + expect(refundOrder.message).toBe('Cannot refund an Order in the "PaymentAuthorized" state'); + expect(refundOrder.errorCode).toBe(ErrorCode.REFUND_ORDER_STATE_ERROR); + }); - expect(settlePayment!.state).toBe('Settled'); + it('returns error result if no lines and no shipping', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: orderId, + }); + const { settlePayment } = await adminClient.query< + SettlePayment.Mutation, + SettlePayment.Variables + >(SETTLE_PAYMENT, { + id: order!.payments![0].id, + }); + paymentGuard.assertSuccess(settlePayment); - await adminClient.query(REFUND_ORDER, { + expect(settlePayment!.state).toBe('Settled'); + + const { refundOrder } = await adminClient.query( + REFUND_ORDER, + { input: { lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: 0 })), shipping: 0, adjustment: 0, paymentId, }, - }); - }, 'Nothing to refund'), - ); + }, + ); + refundGuard.assertErrorResult(refundOrder); + + expect(refundOrder.message).toBe('Nothing to refund'); + expect(refundOrder.errorCode).toBe(ErrorCode.NOTHING_TO_REFUND_ERROR); + }); it( 'throws if paymentId not valid', @@ -1030,28 +1124,29 @@ describe('Orders resolver', () => { }, }, ); - }, "No Payment with the id '999' could be found"), + }, `No Payment with the id '999' could be found`), ); - it( - 'throws if payment and order lines do not belong to the same Order', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: orderId, - }); - const { refundOrder } = await adminClient.query( - REFUND_ORDER, - { - input: { - lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: l.quantity })), - shipping: 100, - adjustment: 0, - paymentId: 'T_1', - }, + it('returns error result if payment and order lines do not belong to the same Order', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: orderId, + }); + const { refundOrder } = await adminClient.query( + REFUND_ORDER, + { + input: { + lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: l.quantity })), + shipping: 100, + adjustment: 0, + paymentId: 'T_1', }, - ); - }, 'The Payment and OrderLines do not belong to the same Order'), - ); + }, + ); + refundGuard.assertErrorResult(refundOrder); + + expect(refundOrder.message).toBe('The Payment and OrderLines do not belong to the same Order'); + expect(refundOrder.errorCode).toBe(ErrorCode.PAYMENT_ORDER_MISMATCH_ERROR); + }); it('creates a Refund to be manually settled', async () => { const { order } = await adminClient.query(GET_ORDER, { @@ -1069,6 +1164,7 @@ describe('Orders resolver', () => { }, }, ); + refundGuard.assertSuccess(refundOrder); expect(refundOrder.shipping).toBe(order!.shipping); expect(refundOrder.items).toBe(order!.subTotal); @@ -1078,25 +1174,26 @@ describe('Orders resolver', () => { refundId = refundOrder.id; }); - it( - 'throws if attempting to refund the same item more than once', - assertThrowsWithMessage(async () => { - const { order } = await adminClient.query(GET_ORDER, { - id: orderId, - }); - const { refundOrder } = await adminClient.query( - REFUND_ORDER, - { - input: { - lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: l.quantity })), - shipping: order!.shipping, - adjustment: 0, - paymentId, - }, + it('returns error result if attempting to refund the same item more than once', async () => { + const { order } = await adminClient.query(GET_ORDER, { + id: orderId, + }); + const { refundOrder } = await adminClient.query( + REFUND_ORDER, + { + input: { + lines: order!.lines.map(l => ({ orderLineId: l.id, quantity: l.quantity })), + shipping: order!.shipping, + adjustment: 0, + paymentId, }, - ); - }, 'Cannot refund an OrderItem which has already been refunded'), - ); + }, + ); + refundGuard.assertErrorResult(refundOrder); + + expect(refundOrder.message).toBe('Cannot refund an OrderItem which has already been refunded'); + expect(refundOrder.errorCode).toBe(ErrorCode.ALREADY_REFUNDED_ERROR); + }); it('manually settle a Refund', async () => { const { settleRefund } = await adminClient.query( @@ -1108,6 +1205,7 @@ describe('Orders resolver', () => { }, }, ); + refundGuard.assertSuccess(settleRefund); expect(settleRefund.state).toBe('Settled'); expect(settleRefund.transactionId).toBe('aaabbb'); @@ -1356,18 +1454,28 @@ async function createTestOrder( quantity: 2, }, ); - const orderId = addItemToOrder!.id; + const orderId = (addItemToOrder as UpdatedOrder.Fragment).id; return { product, productVariantId, orderId }; } export const SETTLE_PAYMENT = gql` mutation SettlePayment($id: ID!) { settlePayment(id: $id) { - id - state - metadata + ...Payment + ... on ErrorResult { + errorCode + message + } + ... on SettlePaymentError { + paymentErrorMessage + } } } + fragment Payment on Payment { + id + state + metadata + } `; export const GET_ORDER_LIST_FULFILLMENTS = gql` @@ -1393,57 +1501,71 @@ export const GET_ORDER_FULFILLMENT_ITEMS = gql` id state fulfillments { - id - state - orderItems { - id - } + ...Fulfillment } } } + ${FULFILLMENT_FRAGMENT} `; export const CANCEL_ORDER = gql` mutation CancelOrder($input: CancelOrderInput!) { cancelOrder(input: $input) { - id - lines { - quantity - items { - id - cancelled - } + ...CanceledOrder + ... on ErrorResult { + errorCode + message + } + } + } + fragment CanceledOrder on Order { + id + lines { + quantity + items { + id + cancelled } } } `; +const REFUND_FRAGMENT = gql` + fragment Refund on Refund { + id + state + items + transactionId + shipping + total + metadata + } +`; + export const REFUND_ORDER = gql` mutation RefundOrder($input: RefundOrderInput!) { refundOrder(input: $input) { - id - state - items - transactionId - shipping - total - metadata + ...Refund + ... on ErrorResult { + errorCode + message + } } } + ${REFUND_FRAGMENT} `; export const SETTLE_REFUND = gql` mutation SettleRefund($input: SettleRefundInput!) { settleRefund(input: $input) { - id - state - items - transactionId - shipping - total - metadata + ...Refund + ... on ErrorResult { + errorCode + message + } } } + ${REFUND_FRAGMENT} `; export const GET_ORDER_HISTORY = gql` diff --git a/packages/core/e2e/price-calculation-strategy.e2e-spec.ts b/packages/core/e2e/price-calculation-strategy.e2e-spec.ts index b5adc8b5df..478c2d81a4 100644 --- a/packages/core/e2e/price-calculation-strategy.e2e-spec.ts +++ b/packages/core/e2e/price-calculation-strategy.e2e-spec.ts @@ -86,20 +86,22 @@ const ADD_ITEM_TO_ORDER_CUSTOM_FIELDS = gql` quantity: $quantity customFields: $customFields ) { - id - subTotalBeforeTax - subTotal - shipping - total - lines { + ... on Order { id - quantity - unitPrice - unitPriceWithTax - items { + subTotalBeforeTax + subTotal + shipping + total + lines { + id + quantity unitPrice unitPriceWithTax - unitPriceIncludesTax + items { + unitPrice + unitPriceWithTax + unitPriceIncludesTax + } } } } diff --git a/packages/core/e2e/product.e2e-spec.ts b/packages/core/e2e/product.e2e-spec.ts index 382c3420ea..eab8d7f477 100644 --- a/packages/core/e2e/product.e2e-spec.ts +++ b/packages/core/e2e/product.e2e-spec.ts @@ -1,7 +1,7 @@ import { omit } from '@vendure/common/lib/omit'; import { pick } from '@vendure/common/lib/pick'; import { notNullOrUndefined } from '@vendure/common/lib/shared-utils'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; @@ -15,6 +15,7 @@ import { DeleteProduct, DeleteProductVariant, DeletionResult, + ErrorCode, GetAssetList, GetOptionGroup, GetProductList, @@ -23,6 +24,7 @@ import { GetProductWithVariants, LanguageCode, ProductVariantFragment, + ProductWithOptionsFragment, ProductWithVariants, RemoveOptionGroupFromProduct, SortOrder, @@ -49,6 +51,10 @@ import { sortById } from './utils/test-order-utils'; describe('Product resolver', () => { const { server, adminClient, shopClient } = createTestEnvironment(testConfig); + const removeOptionGuard: ErrorResultGuard = createErrorResultGuard< + ProductWithOptionsFragment + >(input => !!input.optionGroups); + beforeAll(async () => { await server.init({ initialData, @@ -682,31 +688,36 @@ describe('Product resolver', () => { }); expect(addOptionGroupToProduct.optionGroups.length).toBe(1); - const result = await adminClient.query< + const { removeOptionGroupFromProduct } = await adminClient.query< RemoveOptionGroupFromProduct.Mutation, RemoveOptionGroupFromProduct.Variables >(REMOVE_OPTION_GROUP_FROM_PRODUCT, { optionGroupId: 'T_1', productId: newProductWithAssets.id, }); - expect(result.removeOptionGroupFromProduct.id).toBe(newProductWithAssets.id); - expect(result.removeOptionGroupFromProduct.optionGroups.length).toBe(0); + removeOptionGuard.assertSuccess(removeOptionGroupFromProduct); + + expect(removeOptionGroupFromProduct.id).toBe(newProductWithAssets.id); + expect(removeOptionGroupFromProduct.optionGroups.length).toBe(0); }); - it( - 'removeOptionGroupFromProduct errors if the optionGroup is being used by variants', - assertThrowsWithMessage( - () => - adminClient.query< - RemoveOptionGroupFromProduct.Mutation, - RemoveOptionGroupFromProduct.Variables - >(REMOVE_OPTION_GROUP_FROM_PRODUCT, { - optionGroupId: 'T_3', - productId: 'T_2', - }), + it('removeOptionGroupFromProduct return error result if the optionGroup is being used by variants', async () => { + const { removeOptionGroupFromProduct } = await adminClient.query< + RemoveOptionGroupFromProduct.Mutation, + RemoveOptionGroupFromProduct.Variables + >(REMOVE_OPTION_GROUP_FROM_PRODUCT, { + optionGroupId: 'T_3', + productId: 'T_2', + }); + removeOptionGuard.assertErrorResult(removeOptionGroupFromProduct); + + expect(removeOptionGroupFromProduct.message).toBe( `Cannot remove ProductOptionGroup "curvy-monitor-monitor-size" as it is used by 2 ProductVariants`, - ), - ); + ); + expect(removeOptionGroupFromProduct.errorCode).toBe(ErrorCode.PRODUCT_OPTION_IN_USE_ERROR); + expect(removeOptionGroupFromProduct.optionGroupCode).toBe('curvy-monitor-monitor-size'); + expect(removeOptionGroupFromProduct.productVariantCount).toBe(2); + }); it( 'removeOptionGroupFromProduct errors with an invalid productId', @@ -1157,36 +1168,42 @@ describe('Product resolver', () => { }); }); -export const ADD_OPTION_GROUP_TO_PRODUCT = gql` - mutation AddOptionGroupToProduct($productId: ID!, $optionGroupId: ID!) { - addOptionGroupToProduct(productId: $productId, optionGroupId: $optionGroupId) { +const PRODUCT_WITH_OPTIONS_FRAGMENT = gql` + fragment ProductWithOptions on Product { + id + optionGroups { id - optionGroups { + code + options { id code - options { - id - code - } } } } `; +export const ADD_OPTION_GROUP_TO_PRODUCT = gql` + mutation AddOptionGroupToProduct($productId: ID!, $optionGroupId: ID!) { + addOptionGroupToProduct(productId: $productId, optionGroupId: $optionGroupId) { + ...ProductWithOptions + } + } + ${PRODUCT_WITH_OPTIONS_FRAGMENT} +`; + export const REMOVE_OPTION_GROUP_FROM_PRODUCT = gql` mutation RemoveOptionGroupFromProduct($productId: ID!, $optionGroupId: ID!) { removeOptionGroupFromProduct(productId: $productId, optionGroupId: $optionGroupId) { - id - optionGroups { - id - code - options { - id - code - } + ...ProductWithOptions + ... on ProductOptionInUseError { + errorCode + message + optionGroupCode + productVariantCount } } } + ${PRODUCT_WITH_OPTIONS_FRAGMENT} `; export const GET_OPTION_GROUP = gql` diff --git a/packages/core/e2e/promotion.e2e-spec.ts b/packages/core/e2e/promotion.e2e-spec.ts index 6094f804b1..96f521c630 100644 --- a/packages/core/e2e/promotion.e2e-spec.ts +++ b/packages/core/e2e/promotion.e2e-spec.ts @@ -1,22 +1,24 @@ import { pick } from '@vendure/common/lib/pick'; import { PromotionAction, PromotionCondition, PromotionOrderAction } from '@vendure/core'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; import { initialData } from '../../../e2e-common/e2e-initial-data'; -import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config'; +import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config'; import { PROMOTION_FRAGMENT } from './graphql/fragments'; import { CreatePromotion, DeletePromotion, DeletionResult, + ErrorCode, GetAdjustmentOperations, GetPromotion, GetPromotionList, LanguageCode, Promotion, + PromotionFragment, UpdatePromotion, } from './graphql/generated-e2e-admin-types'; import { CREATE_PROMOTION } from './graphql/shared-definitions'; @@ -48,6 +50,10 @@ describe('Promotion resolver', () => { ]; let promotion: Promotion.Fragment; + const promotionGuard: ErrorResultGuard = createErrorResultGuard( + input => !!input.couponCode, + ); + beforeAll(async () => { await server.init({ initialData, @@ -62,100 +68,116 @@ describe('Promotion resolver', () => { }); it('createPromotion', async () => { - const result = await adminClient.query( - CREATE_PROMOTION, - { - input: { - name: 'test promotion', - enabled: true, - couponCode: 'TEST123', - startsAt: new Date('2019-10-30T00:00:00.000Z'), - endsAt: new Date('2019-12-01T00:00:00.000Z'), - conditions: [ - { - code: promoCondition.code, - arguments: [{ name: 'arg', value: '500' }], - }, - ], - actions: [ - { - code: promoAction.code, - arguments: [ - { - name: 'facetValueIds', - value: '["T_1"]', - }, - ], - }, - ], - }, + const { createPromotion } = await adminClient.query< + CreatePromotion.Mutation, + CreatePromotion.Variables + >(CREATE_PROMOTION, { + input: { + name: 'test promotion', + enabled: true, + couponCode: 'TEST123', + startsAt: new Date('2019-10-30T00:00:00.000Z'), + endsAt: new Date('2019-12-01T00:00:00.000Z'), + conditions: [ + { + code: promoCondition.code, + arguments: [{ name: 'arg', value: '500' }], + }, + ], + actions: [ + { + code: promoAction.code, + arguments: [ + { + name: 'facetValueIds', + value: '["T_1"]', + }, + ], + }, + ], }, - ); - promotion = result.createPromotion; + }); + promotionGuard.assertSuccess(createPromotion); + + promotion = createPromotion; expect(pick(promotion, snapshotProps)).toMatchSnapshot(); }); - it( - 'createPromotion throws with empty conditions and no couponCode', - assertThrowsWithMessage(async () => { - await adminClient.query(CREATE_PROMOTION, { - input: { - name: 'bad promotion', - enabled: true, - conditions: [], - actions: [ - { - code: promoAction.code, - arguments: [ - { - name: 'facetValueIds', - value: '["T_1"]', - }, - ], - }, - ], - }, - }); - }, 'A Promotion must have either at least one condition or a coupon code set'), - ); + it('createPromotion return error result with empty conditions and no couponCode', async () => { + const { createPromotion } = await adminClient.query< + CreatePromotion.Mutation, + CreatePromotion.Variables + >(CREATE_PROMOTION, { + input: { + name: 'bad promotion', + enabled: true, + conditions: [], + actions: [ + { + code: promoAction.code, + arguments: [ + { + name: 'facetValueIds', + value: '["T_1"]', + }, + ], + }, + ], + }, + }); + promotionGuard.assertErrorResult(createPromotion); + + expect(createPromotion.message).toBe( + 'A Promotion must have either at least one condition or a coupon code set', + ); + expect(createPromotion.errorCode).toBe(ErrorCode.MISSING_CONDITIONS_ERROR); + }); it('updatePromotion', async () => { - const result = await adminClient.query( - UPDATE_PROMOTION, - { - input: { - id: promotion.id, - couponCode: 'TEST1235', - startsAt: new Date('2019-05-30T22:00:00.000Z'), - endsAt: new Date('2019-06-01T22:00:00.000Z'), - conditions: [ - { - code: promoCondition.code, - arguments: [{ name: 'arg', value: '90' }], - }, - { - code: promoCondition2.code, - arguments: [{ name: 'arg', value: '10' }], - }, - ], - }, + const { updatePromotion } = await adminClient.query< + UpdatePromotion.Mutation, + UpdatePromotion.Variables + >(UPDATE_PROMOTION, { + input: { + id: promotion.id, + couponCode: 'TEST1235', + startsAt: new Date('2019-05-30T22:00:00.000Z'), + endsAt: new Date('2019-06-01T22:00:00.000Z'), + conditions: [ + { + code: promoCondition.code, + arguments: [{ name: 'arg', value: '90' }], + }, + { + code: promoCondition2.code, + arguments: [{ name: 'arg', value: '10' }], + }, + ], }, - ); - expect(pick(result.updatePromotion, snapshotProps)).toMatchSnapshot(); + }); + promotionGuard.assertSuccess(updatePromotion); + + expect(pick(updatePromotion, snapshotProps)).toMatchSnapshot(); }); - it( - 'updatePromotion throws with empty conditions and no couponCode', - assertThrowsWithMessage(async () => { - await adminClient.query(UPDATE_PROMOTION, { - input: { - id: promotion.id, - couponCode: '', - conditions: [], - }, - }); - }, 'A Promotion must have either at least one condition or a coupon code set'), - ); + it('updatePromotion return error result with empty conditions and no couponCode', async () => { + const { updatePromotion } = await adminClient.query< + UpdatePromotion.Mutation, + UpdatePromotion.Variables + >(UPDATE_PROMOTION, { + input: { + id: promotion.id, + couponCode: '', + conditions: [], + }, + }); + promotionGuard.assertErrorResult(updatePromotion); + + expect(updatePromotion.message).toBe( + 'A Promotion must have either at least one condition or a coupon code set', + ); + expect(updatePromotion.errorCode).toBe(ErrorCode.MISSING_CONDITIONS_ERROR); + }); it('promotion', async () => { const result = await adminClient.query(GET_PROMOTION, { @@ -291,6 +313,10 @@ export const UPDATE_PROMOTION = gql` mutation UpdatePromotion($input: UpdatePromotionInput!) { updatePromotion(input: $input) { ...Promotion + ... on ErrorResult { + errorCode + message + } } } ${PROMOTION_FRAGMENT} diff --git a/packages/core/e2e/role.e2e-spec.ts b/packages/core/e2e/role.e2e-spec.ts index 948838e234..761654c9d7 100644 --- a/packages/core/e2e/role.e2e-spec.ts +++ b/packages/core/e2e/role.e2e-spec.ts @@ -13,6 +13,7 @@ import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-conf import { ROLE_FRAGMENT } from './graphql/fragments'; import { + ChannelFragment, CreateChannel, CreateRole, CurrencyCode, @@ -280,7 +281,7 @@ describe('Role resolver', () => { }); describe('multi-channel', () => { - let secondChannel: CreateChannel.CreateChannel; + let secondChannel: ChannelFragment; let multiChannelRole: CreateRole.CreateRole; beforeAll(async () => { diff --git a/packages/core/e2e/session-management.e2e-spec.ts b/packages/core/e2e/session-management.e2e-spec.ts index b2314b4fef..c06fbe8888 100644 --- a/packages/core/e2e/session-management.e2e-spec.ts +++ b/packages/core/e2e/session-management.e2e-spec.ts @@ -104,7 +104,9 @@ describe('Session caching', () => { await adminClient.query( gql` mutation Logout { - logout + logout { + success + } } `, ); diff --git a/packages/core/e2e/shop-auth.e2e-spec.ts b/packages/core/e2e/shop-auth.e2e-spec.ts index 6213c42708..6ebbfc31e0 100644 --- a/packages/core/e2e/shop-auth.e2e-spec.ts +++ b/packages/core/e2e/shop-auth.e2e-spec.ts @@ -1,6 +1,6 @@ /* tslint:disable:no-non-null-assertion */ import { OnModuleInit } from '@nestjs/common'; -import { RegisterCustomerInput } from '@vendure/common/lib/generated-shop-types'; +import { ErrorCode, RegisterCustomerInput } from '@vendure/common/lib/generated-shop-types'; import { pick } from '@vendure/common/lib/pick'; import { AccountRegistrationEvent, @@ -12,7 +12,7 @@ import { PasswordResetEvent, VendurePlugin, } from '@vendure/core'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import { DocumentNode } from 'graphql'; import gql from 'graphql-tag'; import path from 'path'; @@ -30,6 +30,7 @@ import { Permission, } from './graphql/generated-e2e-admin-types'; import { + CurrentUserShopFragment, GetActiveCustomer, RefreshToken, Register, @@ -70,21 +71,29 @@ let sendEmailFn: jest.Mock; class TestEmailPlugin implements OnModuleInit { constructor(private eventBus: EventBus) {} onModuleInit() { - this.eventBus.ofType(AccountRegistrationEvent).subscribe((event) => { + this.eventBus.ofType(AccountRegistrationEvent).subscribe(event => { sendEmailFn(event); }); - this.eventBus.ofType(PasswordResetEvent).subscribe((event) => { + this.eventBus.ofType(PasswordResetEvent).subscribe(event => { sendEmailFn(event); }); - this.eventBus.ofType(IdentifierChangeRequestEvent).subscribe((event) => { + this.eventBus.ofType(IdentifierChangeRequestEvent).subscribe(event => { sendEmailFn(event); }); - this.eventBus.ofType(IdentifierChangeEvent).subscribe((event) => { + this.eventBus.ofType(IdentifierChangeEvent).subscribe(event => { sendEmailFn(event); }); } } +const successErrorGuard: ErrorResultGuard<{ success: boolean }> = createErrorResultGuard<{ + success: boolean; +}>(input => input.success != null); + +const currentUserErrorGuard: ErrorResultGuard = createErrorResultGuard< + CurrentUserShopFragment +>(input => input.identifier != null); + describe('Shop auth & accounts', () => { const { server, adminClient, shopClient } = createTestEnvironment( mergeConfig(testConfig, { @@ -115,6 +124,24 @@ describe('Shop auth & accounts', () => { sendEmailFn = jest.fn(); }); + it('does not return error result on email address conflict', async () => { + // To prevent account enumeration attacks + const { customers } = await adminClient.query(GET_CUSTOMER_LIST); + const input: RegisterCustomerInput = { + firstName: 'Duplicate', + lastName: 'Person', + phoneNumber: '123456', + emailAddress: customers.items[0].emailAddress, + }; + const { registerCustomerAccount } = await shopClient.query( + REGISTER_ACCOUNT, + { + input, + }, + ); + successErrorGuard.assertSuccess(registerCustomerAccount); + }); + it('register a new account without password', async () => { const verificationTokenPromise = getVerificationTokenPromise(); const input: RegisterCustomerInput = { @@ -123,13 +150,17 @@ describe('Shop auth & accounts', () => { phoneNumber: '123456', emailAddress, }; - const result = await shopClient.query(REGISTER_ACCOUNT, { - input, - }); + const { registerCustomerAccount } = await shopClient.query( + REGISTER_ACCOUNT, + { + input, + }, + ); + successErrorGuard.assertSuccess(registerCustomerAccount); verificationToken = await verificationTokenPromise; - expect(result.registerCustomerAccount).toBe(true); + expect(registerCustomerAccount.success).toBe(true); expect(sendEmailFn).toHaveBeenCalled(); expect(verificationToken).toBeDefined(); @@ -152,7 +183,7 @@ describe('Shop auth & accounts', () => { }); it('issues a new token if attempting to register a second time', async () => { - const sendEmail = new Promise((resolve) => { + const sendEmail = new Promise(resolve => { sendEmailFn.mockImplementation((event: AccountRegistrationEvent) => { resolve(event.user.getNativeAuthenticationMethod().verificationToken!); }); @@ -162,13 +193,17 @@ describe('Shop auth & accounts', () => { lastName: 'Tester', emailAddress, }; - const result = await shopClient.query(REGISTER_ACCOUNT, { - input, - }); + const { registerCustomerAccount } = await shopClient.query( + REGISTER_ACCOUNT, + { + input, + }, + ); + successErrorGuard.assertSuccess(registerCustomerAccount); const newVerificationToken = await sendEmail; - expect(result.registerCustomerAccount).toBe(true); + expect(registerCustomerAccount.success).toBe(true); expect(sendEmailFn).toHaveBeenCalled(); expect(newVerificationToken).not.toBe(verificationToken); @@ -176,19 +211,19 @@ describe('Shop auth & accounts', () => { }); it('refreshCustomerVerification issues a new token', async () => { - const sendEmail = new Promise((resolve) => { + const sendEmail = new Promise(resolve => { sendEmailFn.mockImplementation((event: AccountRegistrationEvent) => { resolve(event.user.getNativeAuthenticationMethod().verificationToken!); }); }); - const result = await shopClient.query( - REFRESH_TOKEN, - { emailAddress }, - ); - + const { refreshCustomerVerification } = await shopClient.query< + RefreshToken.Mutation, + RefreshToken.Variables + >(REFRESH_TOKEN, { emailAddress }); + successErrorGuard.assertSuccess(refreshCustomerVerification); const newVerificationToken = await sendEmail; - expect(result.refreshCustomerVerification).toBe(true); + expect(refreshCustomerVerification.success).toBe(true); expect(sendEmailFn).toHaveBeenCalled(); expect(newVerificationToken).not.toBe(verificationToken); @@ -196,56 +231,62 @@ describe('Shop auth & accounts', () => { }); it('refreshCustomerVerification does nothing with an unrecognized emailAddress', async () => { - const result = await shopClient.query( - REFRESH_TOKEN, - { - emailAddress: 'never-been-registered@test.com', - }, - ); + const { refreshCustomerVerification } = await shopClient.query< + RefreshToken.Mutation, + RefreshToken.Variables + >(REFRESH_TOKEN, { + emailAddress: 'never-been-registered@test.com', + }); + successErrorGuard.assertSuccess(refreshCustomerVerification); await waitForSendEmailFn(); - expect(result.refreshCustomerVerification).toBe(true); + + expect(refreshCustomerVerification.success).toBe(true); expect(sendEmailFn).not.toHaveBeenCalled(); }); it('login fails before verification', async () => { - try { - await shopClient.asUserWithCredentials(emailAddress, ''); - fail('should have thrown'); - } catch (err) { - expect(getErrorCode(err)).toBe('UNAUTHORIZED'); - } + const result = await shopClient.asUserWithCredentials(emailAddress, ''); + expect(result.errorCode).toBe(ErrorCode.INVALID_CREDENTIALS_ERROR); }); - it( - 'verification fails with wrong token', - assertThrowsWithMessage( - () => - shopClient.query(VERIFY_EMAIL, { - password, - token: 'bad-token', - }), - `Verification token not recognized`, - ), - ); + it('verification fails with wrong token', async () => { + const { verifyCustomerAccount } = await shopClient.query( + VERIFY_EMAIL, + { + password, + token: 'bad-token', + }, + ); + currentUserErrorGuard.assertErrorResult(verifyCustomerAccount); - it( - 'verification fails with no password', - assertThrowsWithMessage( - () => - shopClient.query(VERIFY_EMAIL, { - token: verificationToken, - }), - `A password must be provided as it was not set during registration`, - ), - ); + expect(verifyCustomerAccount.message).toBe(`Verification token not recognized`); + expect(verifyCustomerAccount.errorCode).toBe(ErrorCode.VERIFICATION_TOKEN_INVALID_ERROR); + }); + + it('verification fails with no password', async () => { + const { verifyCustomerAccount } = await shopClient.query( + VERIFY_EMAIL, + { + token: verificationToken, + }, + ); + currentUserErrorGuard.assertErrorResult(verifyCustomerAccount); + + expect(verifyCustomerAccount.message).toBe(`A password must be provided.`); + expect(verifyCustomerAccount.errorCode).toBe(ErrorCode.MISSING_PASSWORD_ERROR); + }); it('verification succeeds with password and correct token', async () => { - const result = await shopClient.query(VERIFY_EMAIL, { - password, - token: verificationToken, - }); + const { verifyCustomerAccount } = await shopClient.query( + VERIFY_EMAIL, + { + password, + token: verificationToken, + }, + ); + currentUserErrorGuard.assertSuccess(verifyCustomerAccount); - expect(result.verifyCustomerAccount.user.identifier).toBe('test1@test.com'); + expect(verifyCustomerAccount.identifier).toBe('test1@test.com'); const { activeCustomer } = await shopClient.query(GET_ACTIVE_CUSTOMER); newCustomerId = activeCustomer!.id; }); @@ -256,25 +297,32 @@ describe('Shop auth & accounts', () => { lastName: 'Hacker', emailAddress, }; - const result = await shopClient.query(REGISTER_ACCOUNT, { - input, - }); + const { registerCustomerAccount } = await shopClient.query( + REGISTER_ACCOUNT, + { + input, + }, + ); + successErrorGuard.assertSuccess(registerCustomerAccount); + await waitForSendEmailFn(); - expect(result.registerCustomerAccount).toBe(true); + expect(registerCustomerAccount.success).toBe(true); expect(sendEmailFn).not.toHaveBeenCalled(); }); - it( - 'verification fails if attempted a second time', - assertThrowsWithMessage( - () => - shopClient.query(VERIFY_EMAIL, { - password, - token: verificationToken, - }), - `Verification token not recognized`, - ), - ); + it('verification fails if attempted a second time', async () => { + const { verifyCustomerAccount } = await shopClient.query( + VERIFY_EMAIL, + { + password, + token: verificationToken, + }, + ); + currentUserErrorGuard.assertErrorResult(verifyCustomerAccount); + + expect(verifyCustomerAccount.message).toBe(`Verification token not recognized`); + expect(verifyCustomerAccount.errorCode).toBe(ErrorCode.VERIFICATION_TOKEN_INVALID_ERROR); + }); it('customer history contains entries for registration & verification', async () => { const { customer } = await adminClient.query< @@ -322,13 +370,17 @@ describe('Shop auth & accounts', () => { emailAddress, password, }; - const result = await shopClient.query(REGISTER_ACCOUNT, { - input, - }); + const { registerCustomerAccount } = await shopClient.query( + REGISTER_ACCOUNT, + { + input, + }, + ); + successErrorGuard.assertSuccess(registerCustomerAccount); verificationToken = await verificationTokenPromise; - expect(result.registerCustomerAccount).toBe(true); + expect(registerCustomerAccount.success).toBe(true); expect(sendEmailFn).toHaveBeenCalled(); expect(verificationToken).toBeDefined(); @@ -349,25 +401,31 @@ describe('Shop auth & accounts', () => { pick(customers.items[0], ['firstName', 'lastName', 'emailAddress', 'phoneNumber']), ).toEqual(pick(input, ['firstName', 'lastName', 'emailAddress', 'phoneNumber'])); }); - it( - 'verification fails with password', - assertThrowsWithMessage( - () => - shopClient.query(VERIFY_EMAIL, { - token: verificationToken, - password: 'new password', - }), - `A password has already been set during registration`, - ), - ); + + it('verification fails with password', async () => { + const { verifyCustomerAccount } = await shopClient.query( + VERIFY_EMAIL, + { + token: verificationToken, + password: 'new password', + }, + ); + currentUserErrorGuard.assertErrorResult(verifyCustomerAccount); + + expect(verifyCustomerAccount.message).toBe(`A password has already been set during registration`); + expect(verifyCustomerAccount.errorCode).toBe(ErrorCode.PASSWORD_ALREADY_SET_ERROR); + }); it('verification succeeds with no password and correct token', async () => { - const a = 1; - const result = await shopClient.query(VERIFY_EMAIL, { - token: verificationToken, - }); + const { verifyCustomerAccount } = await shopClient.query( + VERIFY_EMAIL, + { + token: verificationToken, + }, + ); + currentUserErrorGuard.assertSuccess(verifyCustomerAccount); - expect(result.verifyCustomerAccount.user.identifier).toBe('test2@test.com'); + expect(verifyCustomerAccount.identifier).toBe('test2@test.com'); const { activeCustomer } = await shopClient.query(GET_ACTIVE_CUSTOMER); }); }); @@ -388,58 +446,65 @@ describe('Shop auth & accounts', () => { }); it('requestPasswordReset silently fails with invalid identifier', async () => { - const result = await shopClient.query< + const { requestPasswordReset } = await shopClient.query< RequestPasswordReset.Mutation, RequestPasswordReset.Variables >(REQUEST_PASSWORD_RESET, { identifier: 'invalid-identifier', }); + successErrorGuard.assertSuccess(requestPasswordReset); await waitForSendEmailFn(); - expect(result.requestPasswordReset).toBe(true); + expect(requestPasswordReset.success).toBe(true); expect(sendEmailFn).not.toHaveBeenCalled(); expect(passwordResetToken).not.toBeDefined(); }); it('requestPasswordReset sends reset token', async () => { const passwordResetTokenPromise = getPasswordResetTokenPromise(); - const result = await shopClient.query< + const { requestPasswordReset } = await shopClient.query< RequestPasswordReset.Mutation, RequestPasswordReset.Variables >(REQUEST_PASSWORD_RESET, { identifier: customer.emailAddress, }); + successErrorGuard.assertSuccess(requestPasswordReset); passwordResetToken = await passwordResetTokenPromise; - expect(result.requestPasswordReset).toBe(true); + expect(requestPasswordReset.success).toBe(true); expect(sendEmailFn).toHaveBeenCalled(); expect(passwordResetToken).toBeDefined(); }); - it( - 'resetPassword fails with wrong token', - assertThrowsWithMessage( - () => - shopClient.query(RESET_PASSWORD, { - password: 'newPassword', - token: 'bad-token', - }), - `Password reset token not recognized`, - ), - ); + it('resetPassword returns error result with wrong token', async () => { + const { resetPassword } = await shopClient.query( + RESET_PASSWORD, + { + password: 'newPassword', + token: 'bad-token', + }, + ); + currentUserErrorGuard.assertErrorResult(resetPassword); + + expect(resetPassword.message).toBe(`Password reset token not recognized`); + expect(resetPassword.errorCode).toBe(ErrorCode.PASSWORD_RESET_TOKEN_INVALID_ERROR); + }); it('resetPassword works with valid token', async () => { - const result = await shopClient.query( + const { resetPassword } = await shopClient.query( RESET_PASSWORD, { token: passwordResetToken, password: 'newPassword', }, ); + currentUserErrorGuard.assertSuccess(resetPassword); + + expect(resetPassword.identifier).toBe(customer.emailAddress); const loginResult = await shopClient.asUserWithCredentials(customer.emailAddress, 'newPassword'); - expect(loginResult.user.identifier).toBe(customer.emailAddress); + expect(loginResult.identifier).toBe(customer.emailAddress); }); it('customer history for password reset', async () => { @@ -500,41 +565,40 @@ describe('Shop auth & accounts', () => { } }); - it('throws if password is incorrect', async () => { - try { - await shopClient.asUserWithCredentials(customer.emailAddress, PASSWORD); - await shopClient.query< - RequestUpdateEmailAddress.Mutation, - RequestUpdateEmailAddress.Variables - >(REQUEST_UPDATE_EMAIL_ADDRESS, { - password: 'bad password', - newEmailAddress: NEW_EMAIL_ADDRESS, - }); - fail('should have thrown'); - } catch (err) { - expect(getErrorCode(err)).toBe('UNAUTHORIZED'); - } + it('return error result if password is incorrect', async () => { + await shopClient.asUserWithCredentials(customer.emailAddress, PASSWORD); + const { requestUpdateCustomerEmailAddress } = await shopClient.query< + RequestUpdateEmailAddress.Mutation, + RequestUpdateEmailAddress.Variables + >(REQUEST_UPDATE_EMAIL_ADDRESS, { + password: 'bad password', + newEmailAddress: NEW_EMAIL_ADDRESS, + }); + successErrorGuard.assertErrorResult(requestUpdateCustomerEmailAddress); + + expect(requestUpdateCustomerEmailAddress.message).toBe('The provided credentials are invalid'); + expect(requestUpdateCustomerEmailAddress.errorCode).toBe(ErrorCode.INVALID_CREDENTIALS_ERROR); }); - it( - 'throws if email address already in use', - assertThrowsWithMessage(async () => { - await shopClient.asUserWithCredentials(customer.emailAddress, PASSWORD); - const result = await adminClient.query( - GET_CUSTOMER, - { id: 'T_2' }, - ); - const otherCustomer = result.customer!; + it('return error result email address already in use', async () => { + await shopClient.asUserWithCredentials(customer.emailAddress, PASSWORD); + const result = await adminClient.query(GET_CUSTOMER, { + id: 'T_2', + }); + const otherCustomer = result.customer!; + + const { requestUpdateCustomerEmailAddress } = await shopClient.query< + RequestUpdateEmailAddress.Mutation, + RequestUpdateEmailAddress.Variables + >(REQUEST_UPDATE_EMAIL_ADDRESS, { + password: PASSWORD, + newEmailAddress: otherCustomer.emailAddress, + }); + successErrorGuard.assertErrorResult(requestUpdateCustomerEmailAddress); - await shopClient.query< - RequestUpdateEmailAddress.Mutation, - RequestUpdateEmailAddress.Variables - >(REQUEST_UPDATE_EMAIL_ADDRESS, { - password: PASSWORD, - newEmailAddress: otherCustomer.emailAddress, - }); - }, 'This email address is not available'), - ); + expect(requestUpdateCustomerEmailAddress.message).toBe('The email address is not available.'); + expect(requestUpdateCustomerEmailAddress.errorCode).toBe(ErrorCode.EMAIL_ADDRESS_CONFLICT_ERROR); + }); it('triggers event with token', async () => { await shopClient.asUserWithCredentials(customer.emailAddress, PASSWORD); @@ -556,30 +620,32 @@ describe('Shop auth & accounts', () => { }); it('cannot login with new email address before verification', async () => { - try { - await shopClient.asUserWithCredentials(NEW_EMAIL_ADDRESS, PASSWORD); - fail('should have thrown'); - } catch (err) { - expect(getErrorCode(err)).toBe('UNAUTHORIZED'); - } + const result = await shopClient.asUserWithCredentials(NEW_EMAIL_ADDRESS, PASSWORD); + + expect(result.errorCode).toBe(ErrorCode.INVALID_CREDENTIALS_ERROR); }); - it( - 'throws with bad token', - assertThrowsWithMessage(async () => { - await shopClient.query( - UPDATE_EMAIL_ADDRESS, - { token: 'bad token' }, - ); - }, 'Identifier change token not recognized'), - ); + it('return error result for bad token', async () => { + const { updateCustomerEmailAddress } = await shopClient.query< + UpdateEmailAddress.Mutation, + UpdateEmailAddress.Variables + >(UPDATE_EMAIL_ADDRESS, { token: 'bad token' }); + successErrorGuard.assertErrorResult(updateCustomerEmailAddress); - it('verify the new email address', async () => { - const result = await shopClient.query( - UPDATE_EMAIL_ADDRESS, - { token: emailUpdateToken }, + expect(updateCustomerEmailAddress.message).toBe('Identifier change token not recognized'); + expect(updateCustomerEmailAddress.errorCode).toBe( + ErrorCode.IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR, ); - expect(result.updateCustomerEmailAddress).toBe(true); + }); + + it('verify the new email address', async () => { + const { updateCustomerEmailAddress } = await shopClient.query< + UpdateEmailAddress.Mutation, + UpdateEmailAddress.Variables + >(UPDATE_EMAIL_ADDRESS, { token: emailUpdateToken }); + successErrorGuard.assertSuccess(updateCustomerEmailAddress); + + expect(updateCustomerEmailAddress.success).toBe(true); expect(sendEmailFn).toHaveBeenCalled(); expect(sendEmailFn.mock.calls[0][0] instanceof IdentifierChangeEvent).toBe(true); @@ -593,12 +659,9 @@ describe('Shop auth & accounts', () => { }); it('cannot login with old email address after verification', async () => { - try { - await shopClient.asUserWithCredentials(customer.emailAddress, PASSWORD); - fail('should have thrown'); - } catch (err) { - expect(getErrorCode(err)).toBe('UNAUTHORIZED'); - } + const result = await shopClient.asUserWithCredentials(customer.emailAddress, PASSWORD); + + expect(result.errorCode).toBe(ErrorCode.INVALID_CREDENTIALS_ERROR); }); it('customer history for email update', async () => { @@ -699,7 +762,7 @@ describe('Shop auth & accounts', () => { * A "sleep" function which allows the sendEmailFn time to get called. */ function waitForSendEmailFn() { - return new Promise((resolve) => setTimeout(resolve, 10)); + return new Promise(resolve => setTimeout(resolve, 10)); } }); @@ -730,64 +793,79 @@ describe('Expiring tokens', () => { await server.destroy(); }); - it( - 'attempting to verify after token has expired throws', - assertThrowsWithMessage(async () => { - const verificationTokenPromise = getVerificationTokenPromise(); - const input: RegisterCustomerInput = { - firstName: 'Barry', - lastName: 'Wallace', - emailAddress: 'barry.wallace@test.com', - }; - const result = await shopClient.query(REGISTER_ACCOUNT, { + it('attempting to verify after token has expired throws', async () => { + const verificationTokenPromise = getVerificationTokenPromise(); + const input: RegisterCustomerInput = { + firstName: 'Barry', + lastName: 'Wallace', + emailAddress: 'barry.wallace@test.com', + }; + const { registerCustomerAccount } = await shopClient.query( + REGISTER_ACCOUNT, + { input, - }); + }, + ); + successErrorGuard.assertSuccess(registerCustomerAccount); - const verificationToken = await verificationTokenPromise; + const verificationToken = await verificationTokenPromise; - expect(result.registerCustomerAccount).toBe(true); - expect(sendEmailFn).toHaveBeenCalledTimes(1); - expect(verificationToken).toBeDefined(); + expect(registerCustomerAccount.success).toBe(true); + expect(sendEmailFn).toHaveBeenCalledTimes(1); + expect(verificationToken).toBeDefined(); - await new Promise((resolve) => setTimeout(resolve, 3)); + await new Promise(resolve => setTimeout(resolve, 3)); - return shopClient.query(VERIFY_EMAIL, { + const { verifyCustomerAccount } = await shopClient.query( + VERIFY_EMAIL, + { password: 'test', token: verificationToken, - }); - }, `Verification token has expired. Use refreshCustomerVerification to send a new token.`), - ); + }, + ); + currentUserErrorGuard.assertErrorResult(verifyCustomerAccount); - it( - 'attempting to reset password after token has expired throws', - assertThrowsWithMessage(async () => { - const { customer } = await adminClient.query( - GET_CUSTOMER, - { id: 'T_1' }, - ); + expect(verifyCustomerAccount.message).toBe( + `Verification token has expired. Use refreshCustomerVerification to send a new token.`, + ); + expect(verifyCustomerAccount.errorCode).toBe(ErrorCode.VERIFICATION_TOKEN_EXPIRED_ERROR); + }); - const passwordResetTokenPromise = getPasswordResetTokenPromise(); - const result = await shopClient.query< - RequestPasswordReset.Mutation, - RequestPasswordReset.Variables - >(REQUEST_PASSWORD_RESET, { - identifier: customer!.emailAddress, - }); + it('attempting to reset password after token has expired returns error result', async () => { + const { customer } = await adminClient.query(GET_CUSTOMER, { + id: 'T_1', + }); - const passwordResetToken = await passwordResetTokenPromise; + const passwordResetTokenPromise = getPasswordResetTokenPromise(); + const { requestPasswordReset } = await shopClient.query< + RequestPasswordReset.Mutation, + RequestPasswordReset.Variables + >(REQUEST_PASSWORD_RESET, { + identifier: customer!.emailAddress, + }); + successErrorGuard.assertSuccess(requestPasswordReset); - expect(result.requestPasswordReset).toBe(true); - expect(sendEmailFn).toHaveBeenCalledTimes(1); - expect(passwordResetToken).toBeDefined(); + const passwordResetToken = await passwordResetTokenPromise; + + expect(requestPasswordReset.success).toBe(true); + expect(sendEmailFn).toHaveBeenCalledTimes(1); + expect(passwordResetToken).toBeDefined(); - await new Promise((resolve) => setTimeout(resolve, 3)); + await new Promise(resolve => setTimeout(resolve, 3)); - return shopClient.query(RESET_PASSWORD, { + const { resetPassword } = await shopClient.query( + RESET_PASSWORD, + { password: 'test', token: passwordResetToken, - }); - }, `Password reset token has expired.`), - ); + }, + ); + + currentUserErrorGuard.assertErrorResult(resetPassword); + + expect(resetPassword.message).toBe(`Password reset token has expired`); + expect(resetPassword.errorCode).toBe(ErrorCode.PASSWORD_RESET_TOKEN_EXPIRED_ERROR); + }); }); describe('Registration without email verification', () => { @@ -817,19 +895,23 @@ describe('Registration without email verification', () => { await server.destroy(); }); - it( - 'errors if no password is provided', - assertThrowsWithMessage(async () => { - const input: RegisterCustomerInput = { - firstName: 'Glen', - lastName: 'Beardsley', - emailAddress: userEmailAddress, - }; - const result = await shopClient.query(REGISTER_ACCOUNT, { + it('Returns error result if no password is provided', async () => { + const input: RegisterCustomerInput = { + firstName: 'Glen', + lastName: 'Beardsley', + emailAddress: userEmailAddress, + }; + const { registerCustomerAccount } = await shopClient.query( + REGISTER_ACCOUNT, + { input, - }); - }, 'A password must be provided when `authOptions.requireVerification` is set to "false"'), - ); + }, + ); + successErrorGuard.assertErrorResult(registerCustomerAccount); + + expect(registerCustomerAccount.message).toBe('A password must be provided.'); + expect(registerCustomerAccount.errorCode).toBe(ErrorCode.MISSING_PASSWORD_ERROR); + }); it('register a new account with password', async () => { const input: RegisterCustomerInput = { @@ -838,11 +920,15 @@ describe('Registration without email verification', () => { emailAddress: userEmailAddress, password: 'test', }; - const result = await shopClient.query(REGISTER_ACCOUNT, { - input, - }); + const { registerCustomerAccount } = await shopClient.query( + REGISTER_ACCOUNT, + { + input, + }, + ); + successErrorGuard.assertSuccess(registerCustomerAccount); - expect(result.registerCustomerAccount).toBe(true); + expect(registerCustomerAccount.success).toBe(true); expect(sendEmailFn).not.toHaveBeenCalled(); }); @@ -904,8 +990,9 @@ describe('Updating email address without email verification', () => { password: 'test', newEmailAddress: NEW_EMAIL_ADDRESS, }); + successErrorGuard.assertSuccess(requestUpdateCustomerEmailAddress); - expect(requestUpdateCustomerEmailAddress).toBe(true); + expect(requestUpdateCustomerEmailAddress.success).toBe(true); expect(sendEmailFn).toHaveBeenCalledTimes(1); expect(sendEmailFn.mock.calls[0][0] instanceof IdentifierChangeEvent).toBe(true); @@ -915,7 +1002,7 @@ describe('Updating email address without email verification', () => { }); function getVerificationTokenPromise(): Promise { - return new Promise((resolve) => { + return new Promise(resolve => { sendEmailFn.mockImplementation((event: AccountRegistrationEvent) => { resolve(event.user.getNativeAuthenticationMethod().verificationToken); }); @@ -923,7 +1010,7 @@ function getVerificationTokenPromise(): Promise { } function getPasswordResetTokenPromise(): Promise { - return new Promise((resolve) => { + return new Promise(resolve => { sendEmailFn.mockImplementation((event: PasswordResetEvent) => { resolve(event.user.getNativeAuthenticationMethod().passwordResetToken); }); @@ -934,7 +1021,7 @@ function getEmailUpdateTokenPromise(): Promise<{ identifierChangeToken: string | null; pendingIdentifier: string | null; }> { - return new Promise((resolve) => { + return new Promise(resolve => { sendEmailFn.mockImplementation((event: IdentifierChangeRequestEvent) => { resolve( pick(event.user.getNativeAuthenticationMethod(), [ diff --git a/packages/core/e2e/shop-customer.e2e-spec.ts b/packages/core/e2e/shop-customer.e2e-spec.ts index 273ca4076c..7a0d4d2746 100644 --- a/packages/core/e2e/shop-customer.e2e-spec.ts +++ b/packages/core/e2e/shop-customer.e2e-spec.ts @@ -1,12 +1,12 @@ /* tslint:disable:no-non-null-assertion */ import { pick } from '@vendure/common/lib/pick'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; import { skip } from 'rxjs/operators'; import { initialData } from '../../../e2e-common/e2e-initial-data'; -import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config'; +import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config'; import { AttemptLogin, @@ -19,6 +19,7 @@ import { CreateAddressInput, CreateAddressShop, DeleteAddressShop, + ErrorCode, UpdateAddressInput, UpdateAddressShop, UpdateCustomer, @@ -39,6 +40,10 @@ describe('Shop customers', () => { const { server, adminClient, shopClient } = createTestEnvironment(testConfig); let customer: GetCustomer.Customer; + const successErrorGuard: ErrorResultGuard<{ success: boolean }> = createErrorResultGuard<{ + success: boolean; + }>(input => input.success != null); + beforeAll(async () => { await server.init({ initialData, @@ -252,12 +257,12 @@ describe('Shop customers', () => { ); it('deleteCustomerAddress works', async () => { - const result = await shopClient.query( - DELETE_ADDRESS, - { id: 'T_3' }, - ); + const { deleteCustomerAddress } = await shopClient.query< + DeleteAddressShop.Mutation, + DeleteAddressShop.Variables + >(DELETE_ADDRESS, { id: 'T_3' }); - expect(result.deleteCustomerAddress).toBe(true); + expect(deleteCustomerAddress.success).toBe(true); }); it('customer history for CUSTOMER_ADDRESS_DELETED', async () => { @@ -286,27 +291,32 @@ describe('Shop customers', () => { }, 'You are not currently authorized to perform this action'), ); - it( - 'updatePassword fails with incorrect current password', - assertThrowsWithMessage(async () => { - await shopClient.query(UPDATE_PASSWORD, { - old: 'wrong', - new: 'test2', - }); - }, 'The credentials did not match. Please check and try again'), - ); + it('updatePassword return error result with incorrect current password', async () => { + const { updateCustomerPassword } = await shopClient.query< + UpdatePassword.Mutation, + UpdatePassword.Variables + >(UPDATE_PASSWORD, { + old: 'wrong', + new: 'test2', + }); + successErrorGuard.assertErrorResult(updateCustomerPassword); + + expect(updateCustomerPassword.message).toBe('The provided credentials are invalid'); + expect(updateCustomerPassword.errorCode).toBe(ErrorCode.INVALID_CREDENTIALS_ERROR); + }); it('updatePassword works', async () => { - const response = await shopClient.query( - UPDATE_PASSWORD, - { old: 'test', new: 'test2' }, - ); + const { updateCustomerPassword } = await shopClient.query< + UpdatePassword.Mutation, + UpdatePassword.Variables + >(UPDATE_PASSWORD, { old: 'test', new: 'test2' }); + successErrorGuard.assertSuccess(updateCustomerPassword); - expect(response.updateCustomerPassword).toBe(true); + expect(updateCustomerPassword.success).toBe(true); // Log out and log in with new password const loginResult = await shopClient.asUserWithCredentials(customer.emailAddress, 'test2'); - expect(loginResult.user.identifier).toBe(customer.emailAddress); + expect(loginResult.identifier).toBe(customer.emailAddress); }); it('customer history for CUSTOMER_PASSWORD_UPDATED', async () => { diff --git a/packages/core/e2e/shop-order.e2e-spec.ts b/packages/core/e2e/shop-order.e2e-spec.ts index bfd2aaa215..1f8f220a00 100644 --- a/packages/core/e2e/shop-order.e2e-spec.ts +++ b/packages/core/e2e/shop-order.e2e-spec.ts @@ -1,6 +1,7 @@ /* tslint:disable:no-non-null-assertion */ +import { pick } from '@vendure/common/lib/pick'; import { mergeConfig } from '@vendure/core'; -import { createTestEnvironment } from '@vendure/testing'; +import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing'; import gql from 'graphql-tag'; import path from 'path'; @@ -21,24 +22,32 @@ import { UpdateCountry, } from './graphql/generated-e2e-admin-types'; import { + ActiveOrderCustomer, + ActiveOrderCustomerFragment, AddItemToOrder, AddPaymentToOrder, AdjustItemQuantity, + ErrorCode, GetActiveOrder, GetActiveOrderPayments, + GetActiveOrderWithPayments, GetAvailableCountries, GetCustomerAddresses, GetCustomerOrders, GetNextOrderStates, GetOrderByCode, GetShippingMethods, + PaymentDeclinedError, RemoveAllOrderLines, RemoveItemFromOrder, SetBillingAddress, SetCustomerForOrder, SetShippingAddress, SetShippingMethod, + TestOrderFragmentFragment, + TestOrderWithPaymentsFragment, TransitionToState, + UpdatedOrderFragment, } from './graphql/generated-e2e-shop-types'; import { ATTEMPT_LOGIN, @@ -55,6 +64,7 @@ import { GET_ACTIVE_ORDER_ADDRESSES, GET_ACTIVE_ORDER_ORDERS, GET_ACTIVE_ORDER_PAYMENTS, + GET_ACTIVE_ORDER_WITH_PAYMENTS, GET_AVAILABLE_COUNTRIES, GET_ELIGIBLE_SHIPPING_METHODS, GET_NEXT_STATES, @@ -65,6 +75,7 @@ import { SET_CUSTOMER, SET_SHIPPING_ADDRESS, SET_SHIPPING_METHOD, + TEST_ORDER_FRAGMENT, TRANSITION_TO_STATE, } from './graphql/shop-definitions'; import { assertThrowsWithMessage } from './utils/assert-throws-with-message'; @@ -88,6 +99,15 @@ describe('Shop orders', () => { }), ); + type OrderSuccessResult = + | UpdatedOrderFragment + | TestOrderFragmentFragment + | TestOrderWithPaymentsFragment + | ActiveOrderCustomerFragment; + const orderResultGuard: ErrorResultGuard = createErrorResultGuard( + input => !!input.lines, + ); + beforeAll(async () => { await server.init({ initialData, @@ -144,6 +164,7 @@ describe('Shop orders', () => { quantity: 1, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(1); expect(addItemToOrder!.lines[0].quantity).toBe(1); expect(addItemToOrder!.lines[0].productVariant.id).toBe('T_1'); @@ -164,17 +185,19 @@ describe('Shop orders', () => { ), ); - it( - 'addItemToOrder errors with a negative quantity', - assertThrowsWithMessage( - () => - shopClient.query(ADD_ITEM_TO_ORDER, { - productVariantId: 'T_999', - quantity: -3, - }), - `-3 is not a valid quantity for an OrderItem`, - ), - ); + it('addItemToOrder errors with a negative quantity', async () => { + const { addItemToOrder } = await shopClient.query< + AddItemToOrder.Mutation, + AddItemToOrder.Variables + >(ADD_ITEM_TO_ORDER, { + productVariantId: 'T_999', + quantity: -3, + }); + + orderResultGuard.assertErrorResult(addItemToOrder); + expect(addItemToOrder.message).toEqual(`The quantity for an OrderItem cannot be negative`); + expect(addItemToOrder.errorCode).toEqual(ErrorCode.NEGATIVE_QUANTITY_ERROR); + }); it('addItemToOrder with an existing productVariantId adds quantity to the existing OrderLine', async () => { const { addItemToOrder } = await shopClient.query< @@ -184,20 +207,26 @@ describe('Shop orders', () => { productVariantId: 'T_1', quantity: 2, }); - + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(1); expect(addItemToOrder!.lines[0].quantity).toBe(3); }); - it( - 'addItemToOrder errors when going beyond orderItemsLimit', - assertThrowsWithMessage(async () => { - await shopClient.query(ADD_ITEM_TO_ORDER, { - productVariantId: 'T_1', - quantity: 100, - }); - }, 'Cannot add items. An order may consist of a maximum of 99 items'), - ); + it('addItemToOrder errors when going beyond orderItemsLimit', async () => { + const { addItemToOrder } = await shopClient.query< + AddItemToOrder.Mutation, + AddItemToOrder.Variables + >(ADD_ITEM_TO_ORDER, { + productVariantId: 'T_1', + quantity: 100, + }); + + orderResultGuard.assertErrorResult(addItemToOrder); + expect(addItemToOrder.message).toBe( + 'Cannot add items. An order may consist of a maximum of 99 items', + ); + expect(addItemToOrder.errorCode).toBe(ErrorCode.ORDER_LIMIT_ERROR); + }); it('adjustOrderLine adjusts the quantity', async () => { const { adjustOrderLine } = await shopClient.query< @@ -207,7 +236,7 @@ describe('Shop orders', () => { orderLineId: firstOrderLineId, quantity: 50, }); - + orderResultGuard.assertSuccess(adjustOrderLine); expect(adjustOrderLine!.lines.length).toBe(1); expect(adjustOrderLine!.lines[0].quantity).toBe(50); }); @@ -220,6 +249,7 @@ describe('Shop orders', () => { productVariantId: 'T_3', quantity: 3, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(2); expect(addItemToOrder!.lines.map(i => i.productVariant.id)).toEqual(['T_1', 'T_3']); @@ -230,38 +260,38 @@ describe('Shop orders', () => { orderLineId: addItemToOrder?.lines[1].id!, quantity: 0, }); - + orderResultGuard.assertSuccess(adjustOrderLine); expect(adjustOrderLine!.lines.length).toBe(1); expect(adjustOrderLine!.lines.map(i => i.productVariant.id)).toEqual(['T_1']); }); - it( - 'adjustOrderLine errors when going beyond orderItemsLimit', - assertThrowsWithMessage(async () => { - await shopClient.query( - ADJUST_ITEM_QUANTITY, - { - orderLineId: firstOrderLineId, - quantity: 100, - }, - ); - }, 'Cannot add items. An order may consist of a maximum of 99 items'), - ); + it('adjustOrderLine errors when going beyond orderItemsLimit', async () => { + const { adjustOrderLine } = await shopClient.query< + AdjustItemQuantity.Mutation, + AdjustItemQuantity.Variables + >(ADJUST_ITEM_QUANTITY, { + orderLineId: firstOrderLineId, + quantity: 100, + }); + orderResultGuard.assertErrorResult(adjustOrderLine); + expect(adjustOrderLine.message).toBe( + 'Cannot add items. An order may consist of a maximum of 99 items', + ); + expect(adjustOrderLine.errorCode).toBe(ErrorCode.ORDER_LIMIT_ERROR); + }); - it( - 'adjustOrderLine errors with a negative quantity', - assertThrowsWithMessage( - () => - shopClient.query( - ADJUST_ITEM_QUANTITY, - { - orderLineId: firstOrderLineId, - quantity: -3, - }, - ), - `-3 is not a valid quantity for an OrderItem`, - ), - ); + it('adjustOrderLine errors with a negative quantity', async () => { + const { adjustOrderLine } = await shopClient.query< + AdjustItemQuantity.Mutation, + AdjustItemQuantity.Variables + >(ADJUST_ITEM_QUANTITY, { + orderLineId: firstOrderLineId, + quantity: -3, + }); + orderResultGuard.assertErrorResult(adjustOrderLine); + expect(adjustOrderLine.message).toBe('The quantity for an OrderItem cannot be negative'); + expect(adjustOrderLine.errorCode).toBe(ErrorCode.NEGATIVE_QUANTITY_ERROR); + }); it( 'adjustOrderLine errors with an invalid orderLineId', @@ -286,6 +316,7 @@ describe('Shop orders', () => { productVariantId: 'T_3', quantity: 3, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(2); expect(addItemToOrder!.lines.map(i => i.productVariant.id)).toEqual(['T_1', 'T_3']); @@ -295,6 +326,7 @@ describe('Shop orders', () => { >(REMOVE_ITEM_FROM_ORDER, { orderLineId: firstOrderLineId, }); + orderResultGuard.assertSuccess(removeOrderLine); expect(removeOrderLine!.lines.length).toBe(1); expect(removeOrderLine!.lines.map(i => i.productVariant.id)).toEqual(['T_3']); }); @@ -319,29 +351,50 @@ describe('Shop orders', () => { expect(result.nextOrderStates).toEqual(['ArrangingPayment', 'Cancelled']); }); - it( - 'transitionOrderToState throws for an invalid state', - assertThrowsWithMessage( - () => - shopClient.query( - TRANSITION_TO_STATE, - { state: 'Completed' }, - ), + it('transitionOrderToState returns error result for invalid state', async () => { + const { transitionOrderToState } = await shopClient.query< + TransitionToState.Mutation, + TransitionToState.Variables + >(TRANSITION_TO_STATE, { state: 'Completed' }); + orderResultGuard.assertErrorResult(transitionOrderToState); + + expect(transitionOrderToState!.message).toBe( `Cannot transition Order from "AddingItems" to "Completed"`, - ), - ); + ); + expect(transitionOrderToState!.errorCode).toBe(ErrorCode.ORDER_STATE_TRANSITION_ERROR); + }); - it( - 'attempting to transition to ArrangingPayment throws when Order has no Customer', - assertThrowsWithMessage( - () => - shopClient.query( - TRANSITION_TO_STATE, - { state: 'ArrangingPayment' }, - ), + it('attempting to transition to ArrangingPayment returns error result when Order has no Customer', async () => { + const { transitionOrderToState } = await shopClient.query< + TransitionToState.Mutation, + TransitionToState.Variables + >(TRANSITION_TO_STATE, { state: 'ArrangingPayment' }); + orderResultGuard.assertErrorResult(transitionOrderToState); + + expect(transitionOrderToState!.transitionError).toBe( `Cannot transition Order to the "ArrangingPayment" state without Customer details`, - ), - ); + ); + expect(transitionOrderToState!.errorCode).toBe(ErrorCode.ORDER_STATE_TRANSITION_ERROR); + }); + + it('setCustomerForOrder returns error result on email address conflict', async () => { + const { customers } = await adminClient.query(GET_CUSTOMER_LIST); + + const { setCustomerForOrder } = await shopClient.query< + SetCustomerForOrder.Mutation, + SetCustomerForOrder.Variables + >(SET_CUSTOMER, { + input: { + emailAddress: customers.items[0].emailAddress, + firstName: 'Test', + lastName: 'Person', + }, + }); + orderResultGuard.assertErrorResult(setCustomerForOrder); + + expect(setCustomerForOrder!.message).toBe('The email address is not available.'); + expect(setCustomerForOrder!.errorCode).toBe(ErrorCode.EMAIL_ADDRESS_CONFLICT_ERROR); + }); it('setCustomerForOrder creates a new Customer and associates it with the Order', async () => { const { setCustomerForOrder } = await shopClient.query< @@ -354,6 +407,7 @@ describe('Shop orders', () => { lastName: 'Person', }, }); + orderResultGuard.assertSuccess(setCustomerForOrder); const customer = setCustomerForOrder!.customer!; expect(customer.firstName).toBe('Test'); @@ -373,6 +427,7 @@ describe('Shop orders', () => { lastName: 'Person', }, }); + orderResultGuard.assertSuccess(setCustomerForOrder); const customer = setCustomerForOrder!.customer!; expect(customer.firstName).toBe('Changed'); @@ -456,12 +511,16 @@ describe('Shop orders', () => { }); it('can transition to ArrangingPayment once Customer has been set', async () => { - const result = await shopClient.query( - TRANSITION_TO_STATE, - { state: 'ArrangingPayment' }, - ); - - expect(result.transitionOrderToState).toEqual({ id: 'T_1', state: 'ArrangingPayment' }); + const { transitionOrderToState } = await shopClient.query< + TransitionToState.Mutation, + TransitionToState.Variables + >(TRANSITION_TO_STATE, { state: 'ArrangingPayment' }); + orderResultGuard.assertSuccess(transitionOrderToState); + + expect(pick(transitionOrderToState, ['id', 'state'])).toEqual({ + id: 'T_1', + state: 'ArrangingPayment', + }); }); it('adds a successful payment and transitions Order state', async () => { @@ -474,6 +533,7 @@ describe('Shop orders', () => { metadata: {}, }, }); + orderResultGuard.assertSuccess(addPaymentToOrder); const payment = addPaymentToOrder!.payments![0]; expect(addPaymentToOrder!.state).toBe('PaymentSettled'); @@ -505,7 +565,7 @@ describe('Shop orders', () => { describe('ordering as authenticated user', () => { let firstOrderLineId: string; - let activeOrder: AddItemToOrder.AddItemToOrder; + let activeOrder: UpdatedOrderFragment; let authenticatedUserEmailAddress: string; let customers: GetCustomerList.Items[]; const password = 'test'; @@ -538,7 +598,7 @@ describe('Shop orders', () => { productVariantId: 'T_1', quantity: 1, }); - + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(1); expect(addItemToOrder!.lines[0].quantity).toBe(1); expect(addItemToOrder!.lines[0].productVariant.id).toBe('T_1'); @@ -568,7 +628,7 @@ describe('Shop orders', () => { productVariantId: 'T_1', quantity: 2, }); - + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(1); expect(addItemToOrder!.lines[0].quantity).toBe(3); }); @@ -581,7 +641,7 @@ describe('Shop orders', () => { orderLineId: firstOrderLineId, quantity: 50, }); - + orderResultGuard.assertSuccess(adjustOrderLine); expect(adjustOrderLine!.lines.length).toBe(1); expect(adjustOrderLine!.lines[0].quantity).toBe(50); }); @@ -594,6 +654,7 @@ describe('Shop orders', () => { productVariantId: 'T_3', quantity: 3, }); + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(2); expect(addItemToOrder!.lines.map(i => i.productVariant.id)).toEqual(['T_1', 'T_3']); @@ -603,6 +664,7 @@ describe('Shop orders', () => { >(REMOVE_ITEM_FROM_ORDER, { orderLineId: firstOrderLineId, }); + orderResultGuard.assertSuccess(removeOrderLine); expect(removeOrderLine!.lines.length).toBe(1); expect(removeOrderLine!.lines.map(i => i.productVariant.id)).toEqual(['T_3']); }); @@ -623,21 +685,24 @@ describe('Shop orders', () => { expect(result2.activeOrder!.id).toBe(activeOrder.id); }); - it( - 'cannot setCustomerForOrder when already logged in', - assertThrowsWithMessage(async () => { - await shopClient.query( - SET_CUSTOMER, - { - input: { - emailAddress: 'newperson@email.com', - firstName: 'New', - lastName: 'Person', - }, - }, - ); - }, 'Cannot set a Customer for the Order when already logged in'), - ); + it('cannot setCustomerForOrder when already logged in', async () => { + const { setCustomerForOrder } = await shopClient.query< + SetCustomerForOrder.Mutation, + SetCustomerForOrder.Variables + >(SET_CUSTOMER, { + input: { + emailAddress: 'newperson@email.com', + firstName: 'New', + lastName: 'Person', + }, + }); + orderResultGuard.assertErrorResult(setCustomerForOrder); + + expect(setCustomerForOrder!.message).toBe( + 'Cannot set a Customer for the Order when already logged in', + ); + expect(setCustomerForOrder!.errorCode).toBe(ErrorCode.ALREADY_LOGGED_IN_ERROR); + }); describe('shipping', () => { let shippingMethods: GetShippingMethods.EligibleShippingMethods[]; @@ -738,7 +803,7 @@ describe('Shop orders', () => { orderLineId: activeOrder.lines[0].id, quantity: 10, }); - + orderResultGuard.assertSuccess(adjustOrderLine); expect(adjustOrderLine!.shipping).toBe(shippingMethods[1].price); expect(adjustOrderLine!.shippingMethod!.id).toBe(shippingMethods[1].id); expect(adjustOrderLine!.shippingMethod!.description).toBe(shippingMethods[1].description); @@ -746,93 +811,110 @@ describe('Shop orders', () => { }); describe('payment', () => { - it( - 'attempting add a Payment throws error when in AddingItems state', - assertThrowsWithMessage( - () => - shopClient.query( - ADD_PAYMENT, - { - input: { - method: testSuccessfulPaymentMethod.code, - metadata: {}, - }, - }, - ), + it('attempting add a Payment returns error result when in AddingItems state', async () => { + const { addPaymentToOrder } = await shopClient.query< + AddPaymentToOrder.Mutation, + AddPaymentToOrder.Variables + >(ADD_PAYMENT, { + input: { + method: testSuccessfulPaymentMethod.code, + metadata: {}, + }, + }); + + orderResultGuard.assertErrorResult(addPaymentToOrder); + expect(addPaymentToOrder!.message).toBe( `A Payment may only be added when Order is in "ArrangingPayment" state`, - ), - ); + ); + expect(addPaymentToOrder!.errorCode).toBe(ErrorCode.ORDER_PAYMENT_STATE_ERROR); + }); it('transitions to the ArrangingPayment state', async () => { - const result = await shopClient.query< + const { transitionOrderToState } = await shopClient.query< TransitionToState.Mutation, TransitionToState.Variables >(TRANSITION_TO_STATE, { state: 'ArrangingPayment' }); - expect(result.transitionOrderToState).toEqual({ + + orderResultGuard.assertSuccess(transitionOrderToState); + expect(pick(transitionOrderToState, ['id', 'state'])).toEqual({ id: activeOrder.id, state: 'ArrangingPayment', }); }); - it( - 'attempting to add an item throws error when in ArrangingPayment state', - assertThrowsWithMessage( - () => - shopClient.query( - ADD_ITEM_TO_ORDER, - { - productVariantId: 'T_4', - quantity: 1, - }, - ), + it('attempting to add an item returns error result when in ArrangingPayment state', async () => { + const { addItemToOrder } = await shopClient.query< + AddItemToOrder.Mutation, + AddItemToOrder.Variables + >(ADD_ITEM_TO_ORDER, { + productVariantId: 'T_4', + quantity: 1, + }); + + orderResultGuard.assertErrorResult(addItemToOrder); + expect(addItemToOrder.message).toBe( `Order contents may only be modified when in the "AddingItems" state`, - ), - ); + ); + expect(addItemToOrder.errorCode).toBe(ErrorCode.ORDER_MODIFICATION_ERROR); + }); - it( - 'attempting to modify item quantity throws error when in ArrangingPayment state', - assertThrowsWithMessage( - () => - shopClient.query( - ADJUST_ITEM_QUANTITY, - { - orderLineId: activeOrder.lines[0].id, - quantity: 12, - }, - ), + it('attempting to modify item quantity returns error result when in ArrangingPayment state', async () => { + const { adjustOrderLine } = await shopClient.query< + AdjustItemQuantity.Mutation, + AdjustItemQuantity.Variables + >(ADJUST_ITEM_QUANTITY, { + orderLineId: activeOrder.lines[0].id, + quantity: 12, + }); + orderResultGuard.assertErrorResult(adjustOrderLine); + expect(adjustOrderLine.message).toBe( `Order contents may only be modified when in the "AddingItems" state`, - ), - ); + ); + expect(adjustOrderLine.errorCode).toBe(ErrorCode.ORDER_MODIFICATION_ERROR); + }); - it( - 'attempting to remove an item throws error when in ArrangingPayment state', - assertThrowsWithMessage( - () => - shopClient.query( - REMOVE_ITEM_FROM_ORDER, - { - orderLineId: activeOrder.lines[0].id, - }, - ), + it('attempting to remove an item returns error result when in ArrangingPayment state', async () => { + const { removeOrderLine } = await shopClient.query< + RemoveItemFromOrder.Mutation, + RemoveItemFromOrder.Variables + >(REMOVE_ITEM_FROM_ORDER, { + orderLineId: activeOrder.lines[0].id, + }); + orderResultGuard.assertErrorResult(removeOrderLine); + expect(removeOrderLine.message).toBe( `Order contents may only be modified when in the "AddingItems" state`, - ), - ); + ); + expect(removeOrderLine.errorCode).toBe(ErrorCode.ORDER_MODIFICATION_ERROR); + }); - it( - 'attempting to setOrderShippingMethod throws error when in ArrangingPayment state', - assertThrowsWithMessage(async () => { - const shippingMethodsResult = await shopClient.query( - GET_ELIGIBLE_SHIPPING_METHODS, - ); - const shippingMethods = shippingMethodsResult.eligibleShippingMethods; - return shopClient.query( - SET_SHIPPING_METHOD, - { - id: shippingMethods[0].id, - }, - ); - }, `Order contents may only be modified when in the "AddingItems" state`), - ); + it('attempting to remove all items returns error result when in ArrangingPayment state', async () => { + const { removeAllOrderLines } = await shopClient.query( + REMOVE_ALL_ORDER_LINES, + ); + orderResultGuard.assertErrorResult(removeAllOrderLines); + expect(removeAllOrderLines.message).toBe( + `Order contents may only be modified when in the "AddingItems" state`, + ); + expect(removeAllOrderLines.errorCode).toBe(ErrorCode.ORDER_MODIFICATION_ERROR); + }); + + it('attempting to setOrderShippingMethod returns error result when in ArrangingPayment state', async () => { + const shippingMethodsResult = await shopClient.query( + GET_ELIGIBLE_SHIPPING_METHODS, + ); + const shippingMethods = shippingMethodsResult.eligibleShippingMethods; + const { setOrderShippingMethod } = await shopClient.query< + SetShippingMethod.Mutation, + SetShippingMethod.Variables + >(SET_SHIPPING_METHOD, { + id: shippingMethods[0].id, + }); + orderResultGuard.assertErrorResult(setOrderShippingMethod); + expect(setOrderShippingMethod.message).toBe( + `Order contents may only be modified when in the "AddingItems" state`, + ); + expect(setOrderShippingMethod.errorCode).toBe(ErrorCode.ORDER_MODIFICATION_ERROR); + }); it('adds a declined payment', async () => { const { addPaymentToOrder } = await shopClient.query< @@ -846,9 +928,17 @@ describe('Shop orders', () => { }, }, }); + orderResultGuard.assertErrorResult(addPaymentToOrder); - const payment = addPaymentToOrder!.payments![0]; - expect(addPaymentToOrder!.payments!.length).toBe(1); + expect(addPaymentToOrder!.message).toBe('The payment was declined'); + expect(addPaymentToOrder!.errorCode).toBe(ErrorCode.PAYMENT_DECLINED_ERROR); + expect((addPaymentToOrder as any).paymentErrorMessage).toBe('Insufficient funds'); + + const { activeOrder: order } = await shopClient.query( + GET_ACTIVE_ORDER_WITH_PAYMENTS, + ); + const payment = order!.payments![0]; + expect(order!.payments!.length).toBe(1); expect(payment.method).toBe(testFailingPaymentMethod.code); expect(payment.state).toBe('Declined'); expect(payment.transactionId).toBe(null); @@ -857,25 +947,24 @@ describe('Shop orders', () => { }); }); - it('adds an error payment and returns error response', async () => { - try { - await shopClient.query( - ADD_PAYMENT, - { - input: { - method: testErrorPaymentMethod.code, - metadata: { - foo: 'bar', - }, - }, + it('adds an error payment and returns error result', async () => { + const { addPaymentToOrder } = await shopClient.query< + AddPaymentToOrder.Mutation, + AddPaymentToOrder.Variables + >(ADD_PAYMENT, { + input: { + method: testErrorPaymentMethod.code, + metadata: { + foo: 'bar', }, - ); - // TODO: we need to return an Error response as per - // https://github.com/vendure-ecommerce/vendure/issues/437 - // fail('should have thrown'); - } catch (err) { - // expect(err.message).toEqual('Something went horribly wrong'); - } + }, + }); + + orderResultGuard.assertErrorResult(addPaymentToOrder); + expect(addPaymentToOrder!.message).toBe('The payment failed'); + expect(addPaymentToOrder!.errorCode).toBe(ErrorCode.PAYMENT_FAILED_ERROR); + expect((addPaymentToOrder as any).paymentErrorMessage).toBe('Something went horribly wrong'); + const result = await shopClient.query( GET_ACTIVE_ORDER_PAYMENTS, ); @@ -898,6 +987,7 @@ describe('Shop orders', () => { }, }, }); + orderResultGuard.assertSuccess(addPaymentToOrder); const payment = addPaymentToOrder!.payments![2]; expect(addPaymentToOrder!.state).toBe('PaymentSettled'); @@ -979,7 +1069,7 @@ describe('Shop orders', () => { productVariantId: 'T_1', quantity: 1, }); - + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(1); expect(addItemToOrder!.lines[0].productVariant.id).toBe('T_1'); @@ -1002,7 +1092,7 @@ describe('Shop orders', () => { productVariantId: 'T_2', quantity: 1, }); - + orderResultGuard.assertSuccess(addItemToOrder); expect(addItemToOrder!.lines.length).toBe(1); expect(addItemToOrder!.lines[0].productVariant.id).toBe('T_2'); @@ -1069,23 +1159,21 @@ describe('Shop orders', () => { quantity: 1, }); - try { - await shopClient.query( - SET_CUSTOMER, - { - input: { - emailAddress: customers[0].emailAddress, - firstName: 'Evil', - lastName: 'Hacker', - }, - }, - ); - fail('Should have thrown'); - } catch (e) { - expect(e.message).toContain( - 'Cannot use a registered email address for a guest order. Please log in first', - ); - } + const { setCustomerForOrder } = await shopClient.query< + SetCustomerForOrder.Mutation, + SetCustomerForOrder.Variables + >(SET_CUSTOMER, { + input: { + emailAddress: customers[0].emailAddress, + firstName: 'Evil', + lastName: 'Hacker', + }, + }); + orderResultGuard.assertErrorResult(setCustomerForOrder); + + expect(setCustomerForOrder!.message).toBe('The email address is not available.'); + expect(setCustomerForOrder!.errorCode).toBe(ErrorCode.EMAIL_ADDRESS_CONFLICT_ERROR); + const { customer } = await adminClient.query( GET_CUSTOMER, { @@ -1201,6 +1289,7 @@ describe('Shop orders', () => { RemoveAllOrderLines.Mutation, RemoveAllOrderLines.Variables >(REMOVE_ALL_ORDER_LINES); + orderResultGuard.assertSuccess(removeAllOrderLines); expect(removeAllOrderLines?.total).toBe(0); expect(removeAllOrderLines?.lines.length).toBe(0); }); diff --git a/packages/core/src/api/api.module.ts b/packages/core/src/api/api.module.ts index 2c7916ea70..5bb910a658 100644 --- a/packages/core/src/api/api.module.ts +++ b/packages/core/src/api/api.module.ts @@ -3,6 +3,7 @@ import { APP_FILTER, APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core'; import path from 'path'; import { DataImportModule } from '../data-import/data-import.module'; +import { I18nModule } from '../i18n/i18n.module'; import { ServiceModule } from '../service/service.module'; import { AdminApiModule, ApiSharedModule, ShopApiModule } from './api-internal-modules'; @@ -11,6 +12,7 @@ import { configureGraphQLModule } from './config/configure-graphql-module'; import { AuthGuard } from './middleware/auth-guard'; import { ExceptionLoggerFilter } from './middleware/exception-logger.filter'; import { IdInterceptor } from './middleware/id-interceptor'; +import { TranslateErrorResultInterceptor } from './middleware/translate-error-result-interceptor'; import { ValidateCustomFieldsInterceptor } from './middleware/validate-custom-fields-interceptor'; /** @@ -22,6 +24,7 @@ import { ValidateCustomFieldsInterceptor } from './middleware/validate-custom-fi imports: [ ServiceModule.forRoot(), DataImportModule, + I18nModule, ApiSharedModule, AdminApiModule, ShopApiModule, @@ -60,6 +63,10 @@ import { ValidateCustomFieldsInterceptor } from './middleware/validate-custom-fi provide: APP_INTERCEPTOR, useClass: ValidateCustomFieldsInterceptor, }, + { + provide: APP_INTERCEPTOR, + useClass: TranslateErrorResultInterceptor, + }, { provide: APP_FILTER, useClass: ExceptionLoggerFilter, diff --git a/packages/core/src/api/config/configure-graphql-module.ts b/packages/core/src/api/config/configure-graphql-module.ts index c34db917f0..848ce5c3c0 100644 --- a/packages/core/src/api/config/configure-graphql-module.ts +++ b/packages/core/src/api/config/configure-graphql-module.ts @@ -8,6 +8,11 @@ import { GraphQLDateTime } from 'graphql-iso-date'; import GraphQLJSON from 'graphql-type-json'; import path from 'path'; +import { + adminErrorOperationTypeResolvers, + ErrorResult, +} from '../../common/error/generated-graphql-admin-errors'; +import { shopErrorOperationTypeResolvers } from '../../common/error/generated-graphql-shop-errors'; import { ConfigModule } from '../../config/config.module'; import { ConfigService } from '../../config/config.service'; import { I18nModule } from '../../i18n/i18n.module'; @@ -21,6 +26,7 @@ import { IdCodecPlugin } from '../middleware/id-codec-plugin'; import { TranslateErrorsPlugin } from '../middleware/translate-errors-plugin'; import { generateAuthenticationTypes } from './generate-auth-types'; +import { generateErrorCodeEnum } from './generate-error-code-enum'; import { generateListOptions } from './generate-list-options'; import { addGraphQLCustomFields, @@ -133,6 +139,14 @@ async function createGraphQLOptions( StockMovement: stockMovementResolveType, CustomFieldConfig: customFieldsConfigResolveType, CustomField: customFieldsConfigResolveType, + ErrorResult: { + __resolveType(value: ErrorResult) { + return value.__typename; + }, + }, + ...(options.apiType === 'admin' + ? adminErrorOperationTypeResolvers + : shopErrorOperationTypeResolvers), }, uploads: { maxFileSize: configService.assetOptions.uploadMaxFileSize, @@ -177,6 +191,7 @@ async function createGraphQLOptions( schema = addServerConfigCustomFields(schema, customFields); schema = addOrderLineCustomFieldsInput(schema, customFields.OrderLine || []); schema = generateAuthenticationTypes(schema, authStrategies); + schema = generateErrorCodeEnum(schema); if (apiType === 'shop') { schema = addRegisterCustomerCustomFieldsInput(schema, customFields.Customer || []); } diff --git a/packages/core/src/api/config/generate-error-code-enum.ts b/packages/core/src/api/config/generate-error-code-enum.ts new file mode 100644 index 0000000000..87c3da5eb8 --- /dev/null +++ b/packages/core/src/api/config/generate-error-code-enum.ts @@ -0,0 +1,33 @@ +import { buildSchema, extendSchema, GraphQLSchema, parse } from 'graphql'; + +export const ERROR_INTERFACE_NAME = 'ErrorResult'; + +/** + * Generates the members of the `ErrorCode` enum dynamically, by getting the names of + * all the types which inherit from the `ErrorResult` interface. + */ +export function generateErrorCodeEnum(typeDefsOrSchema: string | GraphQLSchema): GraphQLSchema { + const schema = typeof typeDefsOrSchema === 'string' ? buildSchema(typeDefsOrSchema) : typeDefsOrSchema; + const errorNodes = Object.values(schema.getTypeMap()) + .map(type => type.astNode) + .filter(node => { + return ( + node && + node?.kind === 'ObjectTypeDefinition' && + node.interfaces?.map(i => i.name.value).includes(ERROR_INTERFACE_NAME) + ); + }); + if (!errorNodes.length) { + return schema; + } + + const errorCodeEnum = ` + extend enum ErrorCode { + ${errorNodes.map(n => camelToUpperSnakeCase(n?.name.value || '')).join('\n')} + }`; + return extendSchema(schema, parse(errorCodeEnum)); +} + +function camelToUpperSnakeCase(input: string): string { + return input.replace(/([a-z])([A-Z])/g, '$1_$2').toUpperCase(); +} diff --git a/packages/core/src/api/middleware/asset-interceptor-plugin.ts b/packages/core/src/api/middleware/asset-interceptor-plugin.ts index 08299ca2a7..b48a937faf 100644 --- a/packages/core/src/api/middleware/asset-interceptor-plugin.ts +++ b/packages/core/src/api/middleware/asset-interceptor-plugin.ts @@ -1,6 +1,6 @@ import { Asset } from '@vendure/common/lib/generated-types'; import { ApolloServerPlugin, GraphQLRequestListener, GraphQLServiceContext } from 'apollo-server-plugin-base'; -import { DocumentNode } from 'graphql'; +import { DocumentNode, GraphQLNamedType, isUnionType } from 'graphql'; import { AssetStorageStrategy } from '../../config/asset-storage-strategy/asset-storage-strategy'; import { ConfigService } from '../../config/config.service'; @@ -49,8 +49,12 @@ export class AssetInterceptorPlugin implements ApolloServerPlugin { return; } this.graphqlValueTransformer.transformValues(typeTree, data, (value, type) => { - const isAssetType = type && (type.name === 'Asset' || type.name === 'SearchResultAsset'); - if (isAssetType) { + if (!type) { + return value; + } + const isAssetType = this.isAssetType(type); + const isUnionWithAssetType = isUnionType(type) && type.getTypes().find(t => this.isAssetType(t)); + if (isAssetType || isUnionWithAssetType) { if (value && !Array.isArray(value)) { if (value.preview) { value.preview = toAbsoluteUrl(request, value.preview); @@ -77,4 +81,9 @@ export class AssetInterceptorPlugin implements ApolloServerPlugin { return value; }); } + + private isAssetType(type: GraphQLNamedType): boolean { + const assetTypeNames = ['Asset', 'SearchResultAsset']; + return assetTypeNames.includes(type.name); + } } diff --git a/packages/core/src/api/middleware/translate-error-result-interceptor.ts b/packages/core/src/api/middleware/translate-error-result-interceptor.ts new file mode 100644 index 0000000000..6c6eb7b91f --- /dev/null +++ b/packages/core/src/api/middleware/translate-error-result-interceptor.ts @@ -0,0 +1,40 @@ +import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common'; +import { Observable } from 'rxjs'; +import { map, switchMap } from 'rxjs/operators'; + +import { ErrorResult as AdminErrorResult } from '../../common/error/generated-graphql-admin-errors'; +import { ErrorResult as ShopErrorResult } from '../../common/error/generated-graphql-shop-errors'; +import { I18nService } from '../../i18n/i18n.service'; +import { parseContext } from '../common/parse-context'; + +/** + * @description + * Translates any top-level ErrorResult message + */ +@Injectable() +export class TranslateErrorResultInterceptor implements NestInterceptor { + constructor(private i18nService: I18nService) {} + + intercept(context: ExecutionContext, next: CallHandler): Observable { + const { isGraphQL, req } = parseContext(context); + return next.handle().pipe( + switchMap(result => Promise.resolve(result)), + map(result => { + if (Array.isArray(result)) { + for (const item of result) { + this.translateResult(req, item); + } + } else { + this.translateResult(req, result); + } + return result; + }), + ); + } + + private translateResult(req: any, result: unknown) { + if (result instanceof AdminErrorResult || result instanceof ShopErrorResult) { + this.i18nService.translateErrorResult(req, result as any); + } + } +} diff --git a/packages/core/src/api/resolvers/admin/asset.resolver.ts b/packages/core/src/api/resolvers/admin/asset.resolver.ts index ddee3404b7..bbad64204f 100644 --- a/packages/core/src/api/resolvers/admin/asset.resolver.ts +++ b/packages/core/src/api/resolvers/admin/asset.resolver.ts @@ -1,5 +1,6 @@ import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { + CreateAssetResult, MutationCreateAssetsArgs, MutationDeleteAssetArgs, MutationDeleteAssetsArgs, @@ -36,15 +37,13 @@ export class AssetResolver { @Transaction() @Mutation() @Allow(Permission.CreateCatalog) - async createAssets(@Ctx() ctx: RequestContext, @Args() args: MutationCreateAssetsArgs): Promise { - // TODO: Currently we validate _all_ mime types up-front due to limitations - // with the existing error handling mechanisms. With a solution as described - // in https://github.com/vendure-ecommerce/vendure/issues/437 we could defer - // this check to the individual processing of a single Asset. - await this.assetService.validateInputMimeTypes(args.input); + async createAssets( + @Ctx() ctx: RequestContext, + @Args() args: MutationCreateAssetsArgs, + ): Promise { // TODO: Is there some way to parellelize this while still preserving // the order of files in the upload? Non-deterministic IDs mess up the e2e test snapshots. - const assets: Asset[] = []; + const assets: CreateAssetResult[] = []; for (const input of args.input) { const asset = await this.assetService.create(ctx, input); assets.push(asset); diff --git a/packages/core/src/api/resolvers/admin/auth.resolver.ts b/packages/core/src/api/resolvers/admin/auth.resolver.ts index 6bca89f10e..fe23413c24 100644 --- a/packages/core/src/api/resolvers/admin/auth.resolver.ts +++ b/packages/core/src/api/resolvers/admin/auth.resolver.ts @@ -1,12 +1,15 @@ import { Args, Context, Mutation, Query, Resolver } from '@nestjs/graphql'; import { - LoginResult, + AuthenticationResult, MutationAuthenticateArgs, MutationLoginArgs, + NativeAuthenticationResult, Permission, + Success, } from '@vendure/common/lib/generated-types'; import { Request, Response } from 'express'; +import { NativeAuthStrategyError } from '../../../common/error/generated-graphql-admin-errors'; import { ConfigService } from '../../../config/config.service'; import { AdministratorService } from '../../../service/services/administrator.service'; import { AuthService } from '../../../service/services/auth.service'; @@ -33,25 +36,29 @@ export class AuthResolver extends BaseAuthResolver { @Transaction() @Mutation() @Allow(Permission.Public) - login( + async login( @Args() args: MutationLoginArgs, @Ctx() ctx: RequestContext, @Context('req') req: Request, @Context('res') res: Response, - ): Promise { - return super.login(args, ctx, req, res); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } + return (await super.login(args, ctx, req, res)) as AuthenticationResult; } @Transaction() @Mutation() @Allow(Permission.Public) - authenticate( + async authenticate( @Args() args: MutationAuthenticateArgs, @Ctx() ctx: RequestContext, @Context('req') req: Request, @Context('res') res: Response, - ): Promise { - return this.authenticateAndCreateSession(ctx, args, req, res); + ): Promise { + return (await this.authenticateAndCreateSession(ctx, args, req, res)) as AuthenticationResult; } @Transaction() @@ -61,7 +68,7 @@ export class AuthResolver extends BaseAuthResolver { @Ctx() ctx: RequestContext, @Context('req') req: Request, @Context('res') res: Response, - ): Promise { + ): Promise { return super.logout(ctx, req, res); } @@ -70,4 +77,8 @@ export class AuthResolver extends BaseAuthResolver { me(@Ctx() ctx: RequestContext) { return super.me(ctx, 'admin'); } + + protected requireNativeAuthStrategy() { + return super.requireNativeAuthStrategy() as NativeAuthStrategyError | undefined; + } } diff --git a/packages/core/src/api/resolvers/admin/channel.resolver.ts b/packages/core/src/api/resolvers/admin/channel.resolver.ts index 3eb3a545df..0a53656dc3 100644 --- a/packages/core/src/api/resolvers/admin/channel.resolver.ts +++ b/packages/core/src/api/resolvers/admin/channel.resolver.ts @@ -1,13 +1,16 @@ import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { + CreateChannelResult, DeletionResponse, MutationCreateChannelArgs, MutationDeleteChannelArgs, MutationUpdateChannelArgs, Permission, QueryChannelArgs, + UpdateChannelResult, } from '@vendure/common/lib/generated-types'; +import { ErrorResultUnion, isGraphQlErrorResult } from '../../../common/error/error-result'; import { Channel } from '../../../entity/channel/channel.entity'; import { ChannelService } from '../../../service/services/channel.service'; import { RoleService } from '../../../service/services/role.service'; @@ -44,13 +47,16 @@ export class ChannelResolver { async createChannel( @Ctx() ctx: RequestContext, @Args() args: MutationCreateChannelArgs, - ): Promise { - const channel = await this.channelService.create(ctx, args.input); + ): Promise> { + const result = await this.channelService.create(ctx, args.input); + if (isGraphQlErrorResult(result)) { + return result; + } const superAdminRole = await this.roleService.getSuperAdminRole(); const customerRole = await this.roleService.getCustomerRole(); - await this.roleService.assignRoleToChannel(ctx, superAdminRole.id, channel.id); - await this.roleService.assignRoleToChannel(ctx, customerRole.id, channel.id); - return channel; + await this.roleService.assignRoleToChannel(ctx, superAdminRole.id, result.id); + await this.roleService.assignRoleToChannel(ctx, customerRole.id, result.id); + return result; } @Transaction() @@ -59,8 +65,12 @@ export class ChannelResolver { async updateChannel( @Ctx() ctx: RequestContext, @Args() args: MutationUpdateChannelArgs, - ): Promise { - return this.channelService.update(ctx, args.input); + ): Promise> { + const result = await this.channelService.update(ctx, args.input); + if (isGraphQlErrorResult(result)) { + return result; + } + return result; } @Transaction() diff --git a/packages/core/src/api/resolvers/admin/customer.resolver.ts b/packages/core/src/api/resolvers/admin/customer.resolver.ts index 700db00883..ee99b1dd5a 100644 --- a/packages/core/src/api/resolvers/admin/customer.resolver.ts +++ b/packages/core/src/api/resolvers/admin/customer.resolver.ts @@ -1,8 +1,8 @@ import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { + CreateCustomerResult, DeletionResponse, MutationAddNoteToCustomerArgs, - MutationAddNoteToOrderArgs, MutationCreateCustomerAddressArgs, MutationCreateCustomerArgs, MutationDeleteCustomerAddressArgs, @@ -14,9 +14,12 @@ import { Permission, QueryCustomerArgs, QueryCustomersArgs, + Success, + UpdateCustomerResult, } from '@vendure/common/lib/generated-types'; import { PaginatedList } from '@vendure/common/lib/shared-types'; +import { ErrorResultUnion } from '../../../common/error/error-result'; import { Address } from '../../../entity/address/address.entity'; import { Customer } from '../../../entity/customer/customer.entity'; import { CustomerService } from '../../../service/services/customer.service'; @@ -54,7 +57,7 @@ export class CustomerResolver { async createCustomer( @Ctx() ctx: RequestContext, @Args() args: MutationCreateCustomerArgs, - ): Promise { + ): Promise> { const { input, password } = args; return this.customerService.create(ctx, input, password || undefined); } @@ -65,7 +68,7 @@ export class CustomerResolver { async updateCustomer( @Ctx() ctx: RequestContext, @Args() args: MutationUpdateCustomerArgs, - ): Promise { + ): Promise> { const { input } = args; return this.customerService.update(ctx, input); } @@ -98,9 +101,10 @@ export class CustomerResolver { async deleteCustomerAddress( @Ctx() ctx: RequestContext, @Args() args: MutationDeleteCustomerAddressArgs, - ): Promise { + ): Promise { const { id } = args; - return this.customerService.deleteAddress(ctx, id); + const success = await this.customerService.deleteAddress(ctx, id); + return { success }; } @Transaction() diff --git a/packages/core/src/api/resolvers/admin/global-settings.resolver.ts b/packages/core/src/api/resolvers/admin/global-settings.resolver.ts index 8398d91905..eb18a66801 100644 --- a/packages/core/src/api/resolvers/admin/global-settings.resolver.ts +++ b/packages/core/src/api/resolvers/admin/global-settings.resolver.ts @@ -3,11 +3,15 @@ import { MutationUpdateGlobalSettingsArgs, OrderProcessState, Permission, + UpdateGlobalSettingsResult, } from '@vendure/common/lib/generated-types'; +import { ErrorResultUnion } from '../../../common/error/error-result'; import { UserInputError } from '../../../common/error/errors'; +import { ChannelDefaultLanguageError } from '../../../common/error/generated-graphql-admin-errors'; import { ConfigService } from '../../../config/config.service'; import { CustomFields } from '../../../config/custom-field/custom-field-types'; +import { GlobalSettings } from '../../../entity/global-settings/global-settings.entity'; import { ChannelService } from '../../../service/services/channel.service'; import { GlobalSettingsService } from '../../../service/services/global-settings.service'; import { OrderService } from '../../../service/services/order.service'; @@ -57,7 +61,10 @@ export class GlobalSettingsResolver { @Transaction() @Mutation() @Allow(Permission.UpdateSettings) - async updateGlobalSettings(@Ctx() ctx: RequestContext, @Args() args: MutationUpdateGlobalSettingsArgs) { + async updateGlobalSettings( + @Ctx() ctx: RequestContext, + @Args() args: MutationUpdateGlobalSettingsArgs, + ): Promise> { // This validation is performed here in the resolver rather than at the service // layer to avoid a circular dependency [ChannelService <> GlobalSettingsService] const { availableLanguages } = args.input; @@ -67,10 +74,10 @@ export class GlobalSettingsResolver { c => !availableLanguages.includes(c.defaultLanguageCode), ); if (unavailableDefaults.length) { - throw new UserInputError('error.cannot-set-default-language-as-unavailable', { - language: unavailableDefaults.map(c => c.defaultLanguageCode).join(', '), - channelCode: unavailableDefaults.map(c => c.code).join(', '), - }); + return new ChannelDefaultLanguageError( + unavailableDefaults.map(c => c.defaultLanguageCode).join(', '), + unavailableDefaults.map(c => c.code).join(', '), + ); } } return this.globalSettingsService.updateSettings(ctx, args.input); diff --git a/packages/core/src/api/resolvers/admin/order.resolver.ts b/packages/core/src/api/resolvers/admin/order.resolver.ts index 379b87fd79..9c411f1574 100644 --- a/packages/core/src/api/resolvers/admin/order.resolver.ts +++ b/packages/core/src/api/resolvers/admin/order.resolver.ts @@ -1,9 +1,11 @@ import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { + AddFulfillmentToOrderResult, + CancelOrderResult, + MutationAddFulfillmentToOrderArgs, MutationAddNoteToOrderArgs, MutationCancelOrderArgs, MutationDeleteOrderNoteArgs, - MutationFulfillOrderArgs, MutationRefundOrderArgs, MutationSetOrderCustomFieldsArgs, MutationSettlePaymentArgs, @@ -14,10 +16,16 @@ import { Permission, QueryOrderArgs, QueryOrdersArgs, + RefundOrderResult, + SettlePaymentResult, } from '@vendure/common/lib/generated-types'; import { PaginatedList } from '@vendure/common/lib/shared-types'; +import { ErrorResultUnion } from '../../../common/error/error-result'; +import { Fulfillment } from '../../../entity/fulfillment/fulfillment.entity'; import { Order } from '../../../entity/order/order.entity'; +import { Payment } from '../../../entity/payment/payment.entity'; +import { Refund } from '../../../entity/refund/refund.entity'; import { FulfillmentState } from '../../../service/helpers/fulfillment-state-machine/fulfillment-state'; import { OrderState } from '../../../service/helpers/order-state-machine/order-state'; import { OrderService } from '../../../service/services/order.service'; @@ -46,28 +54,40 @@ export class OrderResolver { @Transaction() @Mutation() @Allow(Permission.UpdateOrder) - async settlePayment(@Ctx() ctx: RequestContext, @Args() args: MutationSettlePaymentArgs) { + async settlePayment( + @Ctx() ctx: RequestContext, + @Args() args: MutationSettlePaymentArgs, + ): Promise> { return this.orderService.settlePayment(ctx, args.id); } @Transaction() @Mutation() @Allow(Permission.UpdateOrder) - async fulfillOrder(@Ctx() ctx: RequestContext, @Args() args: MutationFulfillOrderArgs) { + async addFulfillmentToOrder( + @Ctx() ctx: RequestContext, + @Args() args: MutationAddFulfillmentToOrderArgs, + ): Promise> { return this.orderService.createFulfillment(ctx, args.input); } @Transaction() @Mutation() @Allow(Permission.UpdateOrder) - async cancelOrder(@Ctx() ctx: RequestContext, @Args() args: MutationCancelOrderArgs) { + async cancelOrder( + @Ctx() ctx: RequestContext, + @Args() args: MutationCancelOrderArgs, + ): Promise> { return this.orderService.cancelOrder(ctx, args.input); } @Transaction() @Mutation() @Allow(Permission.UpdateOrder) - async refundOrder(@Ctx() ctx: RequestContext, @Args() args: MutationRefundOrderArgs) { + async refundOrder( + @Ctx() ctx: RequestContext, + @Args() args: MutationRefundOrderArgs, + ): Promise> { return this.orderService.refundOrder(ctx, args.input); } diff --git a/packages/core/src/api/resolvers/admin/product.resolver.ts b/packages/core/src/api/resolvers/admin/product.resolver.ts index 6fd092b87f..7394e87961 100644 --- a/packages/core/src/api/resolvers/admin/product.resolver.ts +++ b/packages/core/src/api/resolvers/admin/product.resolver.ts @@ -15,9 +15,11 @@ import { QueryProductArgs, QueryProductsArgs, QueryProductVariantArgs, + RemoveOptionGroupFromProductResult, } from '@vendure/common/lib/generated-types'; import { PaginatedList } from '@vendure/common/lib/shared-types'; +import { ErrorResultUnion } from '../../../common/error/error-result'; import { UserInputError } from '../../../common/error/errors'; import { Translated } from '../../../common/types/locale-types'; import { ProductVariant } from '../../../entity/product-variant/product-variant.entity'; @@ -124,7 +126,7 @@ export class ProductResolver { async removeOptionGroupFromProduct( @Ctx() ctx: RequestContext, @Args() args: MutationRemoveOptionGroupFromProductArgs, - ): Promise> { + ): Promise>> { const { productId, optionGroupId } = args; return this.productService.removeOptionGroupFromProduct(ctx, productId, optionGroupId); } diff --git a/packages/core/src/api/resolvers/admin/promotion.resolver.ts b/packages/core/src/api/resolvers/admin/promotion.resolver.ts index 1917547d72..4ca938a2a4 100644 --- a/packages/core/src/api/resolvers/admin/promotion.resolver.ts +++ b/packages/core/src/api/resolvers/admin/promotion.resolver.ts @@ -1,5 +1,6 @@ import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { + CreatePromotionResult, DeletionResponse, MutationCreatePromotionArgs, MutationDeletePromotionArgs, @@ -7,9 +8,11 @@ import { Permission, QueryPromotionArgs, QueryPromotionsArgs, + UpdatePromotionResult, } from '@vendure/common/lib/generated-types'; import { PaginatedList } from '@vendure/common/lib/shared-types'; +import { ErrorResultUnion } from '../../../common/error/error-result'; import { PromotionItemAction, PromotionOrderAction } from '../../../config/promotion/promotion-action'; import { PromotionCondition } from '../../../config/promotion/promotion-condition'; import { Promotion } from '../../../entity/promotion/promotion.entity'; @@ -63,7 +66,7 @@ export class PromotionResolver { createPromotion( @Ctx() ctx: RequestContext, @Args() args: MutationCreatePromotionArgs, - ): Promise { + ): Promise> { this.configurableOperationCodec.decodeConfigurableOperationIds( PromotionOrderAction, args.input.actions, @@ -81,7 +84,7 @@ export class PromotionResolver { updatePromotion( @Ctx() ctx: RequestContext, @Args() args: MutationUpdatePromotionArgs, - ): Promise { + ): Promise> { this.configurableOperationCodec.decodeConfigurableOperationIds( PromotionOrderAction, args.input.actions || [], @@ -110,17 +113,21 @@ export class PromotionResolver { /** * Encodes any entity IDs used in the filter arguments. */ - private encodeConditionsAndActions = (collection: T): T => { - if (collection) { + private encodeConditionsAndActions = < + T extends ErrorResultUnion | undefined + >( + maybePromotion: T, + ): T => { + if (maybePromotion instanceof Promotion) { this.configurableOperationCodec.encodeConfigurableOperationIds( PromotionOrderAction, - collection.actions, + maybePromotion.actions, ); this.configurableOperationCodec.encodeConfigurableOperationIds( PromotionCondition, - collection.conditions, + maybePromotion.conditions, ); } - return collection; + return maybePromotion; }; } diff --git a/packages/core/src/api/resolvers/base/base-auth.resolver.ts b/packages/core/src/api/resolvers/base/base-auth.resolver.ts index 92a997ccac..6e80e320cd 100644 --- a/packages/core/src/api/resolvers/base/base-auth.resolver.ts +++ b/packages/core/src/api/resolvers/base/base-auth.resolver.ts @@ -1,15 +1,24 @@ +import { AuthenticationResult as ShopAuthenticationResult } from '@vendure/common/lib/generated-shop-types'; import { + AuthenticationResult as AdminAuthenticationResult, CurrentUser, CurrentUserChannel, - LoginResult, MutationAuthenticateArgs, MutationLoginArgs, + Success, } from '@vendure/common/lib/generated-types'; import { Request, Response } from 'express'; -import { ForbiddenError, InternalServerError, UnauthorizedError } from '../../../common/error/errors'; +import { isGraphQlErrorResult } from '../../../common/error/error-result'; +import { ForbiddenError, UnauthorizedError } from '../../../common/error/errors'; +import { NativeAuthStrategyError as AdminNativeAuthStrategyError } from '../../../common/error/generated-graphql-admin-errors'; +import { + InvalidCredentialsError, + NativeAuthStrategyError as ShopNativeAuthStrategyError, +} from '../../../common/error/generated-graphql-shop-errors'; import { NATIVE_AUTH_STRATEGY_NAME } from '../../../config/auth/native-authentication-strategy'; import { ConfigService } from '../../../config/config.service'; +import { Logger } from '../../../config/logger/vendure-logger'; import { User } from '../../../entity/user/user.entity'; import { getUserChannelsPermissions } from '../../../service/helpers/utils/get-user-channels-permissions'; import { AdministratorService } from '../../../service/services/administrator.service'; @@ -21,12 +30,18 @@ import { RequestContext } from '../../common/request-context'; import { setSessionToken } from '../../common/set-session-token'; export class BaseAuthResolver { + protected readonly nativeAuthStrategyIsConfigured: boolean; + constructor( protected authService: AuthService, protected userService: UserService, protected administratorService: AdministratorService, protected configService: ConfigService, - ) {} + ) { + this.nativeAuthStrategyIsConfigured = !!this.configService.authOptions.shopAuthenticationStrategy.find( + strategy => strategy.name === NATIVE_AUTH_STRATEGY_NAME, + ); + } /** * Attempts a login given the username and password of a user. If successful, returns @@ -37,7 +52,7 @@ export class BaseAuthResolver { ctx: RequestContext, req: Request, res: Response, - ): Promise { + ): Promise { return await this.authenticateAndCreateSession( ctx, { @@ -48,10 +63,10 @@ export class BaseAuthResolver { ); } - async logout(ctx: RequestContext, req: Request, res: Response): Promise { + async logout(ctx: RequestContext, req: Request, res: Response): Promise { const token = extractSessionToken(req, this.configService.authOptions.tokenMethod); if (!token) { - return false; + return { success: false }; } await this.authService.destroyAuthenticatedSession(ctx, token); setSessionToken({ @@ -61,7 +76,7 @@ export class BaseAuthResolver { rememberMe: false, sessionToken: '', }); - return true; + return { success: true }; } /** @@ -90,14 +105,17 @@ export class BaseAuthResolver { args: MutationAuthenticateArgs, req: Request, res: Response, - ): Promise { + ): Promise { const [method, data] = Object.entries(args.input)[0]; const { apiType } = ctx; const session = await this.authService.authenticate(ctx, apiType, method, data); + if (isGraphQlErrorResult(session)) { + return session; + } if (apiType && apiType === 'admin') { const administrator = await this.administratorService.findOneByUserId(ctx, session.user.id); if (!administrator) { - throw new UnauthorizedError(); + return new InvalidCredentialsError(); } } setSessionToken({ @@ -107,9 +125,7 @@ export class BaseAuthResolver { rememberMe: args.rememberMe || false, sessionToken: session.token, }); - return { - user: this.publiclyAccessibleUser(session.user), - }; + return this.publiclyAccessibleUser(session.user); } /** @@ -119,10 +135,10 @@ export class BaseAuthResolver { ctx: RequestContext, currentPassword: string, newPassword: string, - ): Promise { + ): Promise { const { activeUserId } = ctx; if (!activeUserId) { - throw new InternalServerError(`error.no-active-user-id`); + throw new ForbiddenError(); } return this.userService.updatePassword(ctx, activeUserId, currentPassword, newPassword); } @@ -137,4 +153,20 @@ export class BaseAuthResolver { channels: getUserChannelsPermissions(user) as CurrentUserChannel[], }; } + + protected requireNativeAuthStrategy(): + | AdminNativeAuthStrategyError + | ShopNativeAuthStrategyError + | undefined { + if (!this.nativeAuthStrategyIsConfigured) { + const authStrategyNames = this.configService.authOptions.shopAuthenticationStrategy + .map(s => s.name) + .join(', '); + const errorMessage = + 'This GraphQL operation requires that the NativeAuthenticationStrategy be configured for the Shop API.\n' + + `Currently the following AuthenticationStrategies are enabled: ${authStrategyNames}`; + Logger.error(errorMessage); + return new AdminNativeAuthStrategyError(); + } + } } diff --git a/packages/core/src/api/resolvers/shop/shop-auth.resolver.ts b/packages/core/src/api/resolvers/shop/shop-auth.resolver.ts index ea8e14ba09..f2b6bd7e91 100644 --- a/packages/core/src/api/resolvers/shop/shop-auth.resolver.ts +++ b/packages/core/src/api/resolvers/shop/shop-auth.resolver.ts @@ -1,6 +1,9 @@ import { Args, Context, Mutation, Query, Resolver } from '@nestjs/graphql'; import { - LoginResult, + AuthenticationResult, + ErrorCode, + InvalidCredentialsError, + MissingPasswordError, MutationAuthenticateArgs, MutationLoginArgs, MutationRefreshCustomerVerificationArgs, @@ -11,20 +14,26 @@ import { MutationUpdateCustomerEmailAddressArgs, MutationUpdateCustomerPasswordArgs, MutationVerifyCustomerAccountArgs, + NativeAuthenticationResult, Permission, + RefreshCustomerVerificationResult, + RegisterCustomerAccountResult, + RequestPasswordResetResult, + RequestUpdateCustomerEmailAddressResult, + ResetPasswordResult, + Success, + UpdateCustomerEmailAddressResult, + UpdateCustomerPasswordResult, + VerifyCustomerAccountResult, } from '@vendure/common/lib/generated-shop-types'; import { HistoryEntryType } from '@vendure/common/lib/generated-types'; import { Request, Response } from 'express'; -import { - ForbiddenError, - InternalServerError, - PasswordResetTokenError, - VerificationTokenError, -} from '../../../common/error/errors'; +import { isGraphQlErrorResult } from '../../../common/error/error-result'; +import { ForbiddenError } from '../../../common/error/errors'; +import { NativeAuthStrategyError } from '../../../common/error/generated-graphql-shop-errors'; import { NATIVE_AUTH_STRATEGY_NAME } from '../../../config/auth/native-authentication-strategy'; import { ConfigService } from '../../../config/config.service'; -import { Logger } from '../../../config/logger/vendure-logger'; import { AdministratorService } from '../../../service/services/administrator.service'; import { AuthService } from '../../../service/services/auth.service'; import { CustomerService } from '../../../service/services/customer.service'; @@ -39,8 +48,6 @@ import { BaseAuthResolver } from '../base/base-auth.resolver'; @Resolver() export class ShopAuthResolver extends BaseAuthResolver { - private readonly nativeAuthStrategyIsConfigured: boolean; - constructor( authService: AuthService, userService: UserService, @@ -50,44 +57,44 @@ export class ShopAuthResolver extends BaseAuthResolver { protected historyService: HistoryService, ) { super(authService, userService, administratorService, configService); - this.nativeAuthStrategyIsConfigured = !!this.configService.authOptions.shopAuthenticationStrategy.find( - strategy => strategy.name === NATIVE_AUTH_STRATEGY_NAME, - ); } @Transaction() @Mutation() @Allow(Permission.Public) - login( + async login( @Args() args: MutationLoginArgs, @Ctx() ctx: RequestContext, @Context('req') req: Request, @Context('res') res: Response, - ): Promise { - this.requireNativeAuthStrategy(); - return super.login(args, ctx, req, res); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } + return (await super.login(args, ctx, req, res)) as AuthenticationResult; } @Transaction() @Mutation() @Allow(Permission.Public) - authenticate( + async authenticate( @Args() args: MutationAuthenticateArgs, @Ctx() ctx: RequestContext, @Context('req') req: Request, @Context('res') res: Response, - ): Promise { - return this.authenticateAndCreateSession(ctx, args, req, res); + ): Promise { + return (await this.authenticateAndCreateSession(ctx, args, req, res)) as AuthenticationResult; } @Transaction() @Mutation() @Allow(Permission.Public) - logout( + async logout( @Ctx() ctx: RequestContext, @Context('req') req: Request, @Context('res') res: Response, - ): Promise { + ): Promise { return super.logout(ctx, req, res); } @@ -103,9 +110,21 @@ export class ShopAuthResolver extends BaseAuthResolver { async registerCustomerAccount( @Ctx() ctx: RequestContext, @Args() args: MutationRegisterCustomerAccountArgs, - ) { - this.requireNativeAuthStrategy(); - return this.customerService.registerCustomerAccount(ctx, args.input).then(() => true); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } + const result = await this.customerService.registerCustomerAccount(ctx, args.input); + if (isGraphQlErrorResult(result)) { + if (result.errorCode === ErrorCode.EMAIL_ADDRESS_CONFLICT_ERROR) { + // We do not want to reveal the email address conflict, + // otherwise account enumeration attacks become possible. + return { success: true }; + } + return result as MissingPasswordError; + } + return { success: true }; } @Transaction() @@ -116,33 +135,36 @@ export class ShopAuthResolver extends BaseAuthResolver { @Args() args: MutationVerifyCustomerAccountArgs, @Context('req') req: Request, @Context('res') res: Response, - ): Promise { - this.requireNativeAuthStrategy(); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } const { token, password } = args; const customer = await this.customerService.verifyCustomerEmailAddress( ctx, token, password || undefined, ); - if (customer && customer.user) { - const session = await this.authService.createAuthenticatedSessionForUser( - ctx, - customer.user, - NATIVE_AUTH_STRATEGY_NAME, - ); - setSessionToken({ - req, - res, - authOptions: this.configService.authOptions, - rememberMe: true, - sessionToken: session.token, - }); - return { - user: this.publiclyAccessibleUser(session.user), - }; - } else { - throw new VerificationTokenError(); + if (isGraphQlErrorResult(customer)) { + return customer; } + const session = await this.authService.createAuthenticatedSessionForUser( + ctx, + // We know that there is a user, since the Customer + // was found with the .getCustomerByUserId() method. + // tslint:disable-next-line:no-non-null-assertion + customer.user!, + NATIVE_AUTH_STRATEGY_NAME, + ); + setSessionToken({ + req, + res, + authOptions: this.configService.authOptions, + rememberMe: true, + sessionToken: session.token, + }); + return this.publiclyAccessibleUser(session.user); } @Transaction() @@ -151,16 +173,28 @@ export class ShopAuthResolver extends BaseAuthResolver { async refreshCustomerVerification( @Ctx() ctx: RequestContext, @Args() args: MutationRefreshCustomerVerificationArgs, - ) { - this.requireNativeAuthStrategy(); - return this.customerService.refreshVerificationToken(ctx, args.emailAddress).then(() => true); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } + await this.customerService.refreshVerificationToken(ctx, args.emailAddress); + return { success: true }; } @Transaction() @Mutation() @Allow(Permission.Public) - async requestPasswordReset(@Ctx() ctx: RequestContext, @Args() args: MutationRequestPasswordResetArgs) { - return this.customerService.requestPasswordReset(ctx, args.emailAddress).then(() => true); + async requestPasswordReset( + @Ctx() ctx: RequestContext, + @Args() args: MutationRequestPasswordResetArgs, + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } + await this.customerService.requestPasswordReset(ctx, args.emailAddress); + return { success: true }; } @Transaction() @@ -171,27 +205,35 @@ export class ShopAuthResolver extends BaseAuthResolver { @Args() args: MutationResetPasswordArgs, @Context('req') req: Request, @Context('res') res: Response, - ) { - this.requireNativeAuthStrategy(); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } const { token, password } = args; - const customer = await this.customerService.resetPassword(ctx, token, password); - if (customer && customer.user) { - return super.authenticateAndCreateSession( - ctx, - { - input: { - [NATIVE_AUTH_STRATEGY_NAME]: { - username: customer.user.identifier, - password: args.password, - }, + const resetResult = await this.customerService.resetPassword(ctx, token, password); + if (isGraphQlErrorResult(resetResult)) { + return resetResult; + } + + const authResult = await super.authenticateAndCreateSession( + ctx, + { + input: { + [NATIVE_AUTH_STRATEGY_NAME]: { + username: resetResult.identifier, + password: args.password, }, }, - req, - res, - ); - } else { - throw new PasswordResetTokenError(); + }, + req, + res, + ); + if (isGraphQlErrorResult(authResult)) { + // This should never occur in theory + throw authResult; } + return authResult; } @Transaction() @@ -200,9 +242,15 @@ export class ShopAuthResolver extends BaseAuthResolver { async updateCustomerPassword( @Ctx() ctx: RequestContext, @Args() args: MutationUpdateCustomerPasswordArgs, - ): Promise { - this.requireNativeAuthStrategy(); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } const result = await super.updatePassword(ctx, args.currentPassword, args.newPassword); + if (isGraphQlErrorResult(result)) { + return result; + } if (result && ctx.activeUserId) { const customer = await this.customerService.findOneByUserId(ctx, ctx.activeUserId); if (customer) { @@ -214,7 +262,7 @@ export class ShopAuthResolver extends BaseAuthResolver { }); } } - return result; + return { success: result }; } @Transaction() @@ -223,13 +271,29 @@ export class ShopAuthResolver extends BaseAuthResolver { async requestUpdateCustomerEmailAddress( @Ctx() ctx: RequestContext, @Args() args: MutationRequestUpdateCustomerEmailAddressArgs, - ): Promise { - this.requireNativeAuthStrategy(); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } if (!ctx.activeUserId) { throw new ForbiddenError(); } - await this.authService.verifyUserPassword(ctx, ctx.activeUserId, args.password); - return this.customerService.requestUpdateEmailAddress(ctx, ctx.activeUserId, args.newEmailAddress); + const verify = await this.authService.verifyUserPassword(ctx, ctx.activeUserId, args.password); + if (isGraphQlErrorResult(verify)) { + return verify as InvalidCredentialsError; + } + const result = await this.customerService.requestUpdateEmailAddress( + ctx, + ctx.activeUserId, + args.newEmailAddress, + ); + if (isGraphQlErrorResult(result)) { + return result; + } + return { + success: result, + }; } @Transaction() @@ -238,21 +302,19 @@ export class ShopAuthResolver extends BaseAuthResolver { async updateCustomerEmailAddress( @Ctx() ctx: RequestContext, @Args() args: MutationUpdateCustomerEmailAddressArgs, - ): Promise { - this.requireNativeAuthStrategy(); - return this.customerService.updateEmailAddress(ctx, args.token); + ): Promise { + const nativeAuthStrategyError = this.requireNativeAuthStrategy(); + if (nativeAuthStrategyError) { + return nativeAuthStrategyError; + } + const result = await this.customerService.updateEmailAddress(ctx, args.token); + if (isGraphQlErrorResult(result)) { + return result; + } + return { success: result }; } - private requireNativeAuthStrategy() { - if (!this.nativeAuthStrategyIsConfigured) { - const authStrategyNames = this.configService.authOptions.shopAuthenticationStrategy - .map(s => s.name) - .join(', '); - const errorMessage = - 'This GraphQL operation requires that the NativeAuthenticationStrategy be configured for the Shop API.\n' + - `Currently the following AuthenticationStrategies are enabled: ${authStrategyNames}`; - Logger.error(errorMessage); - throw new InternalServerError('error.'); - } + protected requireNativeAuthStrategy() { + return super.requireNativeAuthStrategy() as NativeAuthStrategyError | undefined; } } diff --git a/packages/core/src/api/resolvers/shop/shop-customer.resolver.ts b/packages/core/src/api/resolvers/shop/shop-customer.resolver.ts index 75d8887aa4..205cc09f47 100644 --- a/packages/core/src/api/resolvers/shop/shop-customer.resolver.ts +++ b/packages/core/src/api/resolvers/shop/shop-customer.resolver.ts @@ -1,9 +1,12 @@ import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; -import { MutationDeleteCustomerAddressArgs } from '@vendure/common/lib/generated-shop-types'; +import { + MutationDeleteCustomerAddressArgs, + MutationUpdateCustomerArgs, + Success, +} from '@vendure/common/lib/generated-shop-types'; import { MutationCreateCustomerAddressArgs, MutationUpdateCustomerAddressArgs, - MutationUpdateCustomerArgs, Permission, } from '@vendure/common/lib/generated-types'; @@ -75,13 +78,14 @@ export class ShopCustomerResolver { async deleteCustomerAddress( @Ctx() ctx: RequestContext, @Args() args: MutationDeleteCustomerAddressArgs, - ): Promise { + ): Promise { const customer = await this.getCustomerForOwner(ctx); const customerAddresses = await this.customerService.findAddressesByCustomerId(ctx, customer.id); if (!customerAddresses.find(address => idsAreEqual(address.id, args.id))) { throw new ForbiddenError(); } - return this.customerService.deleteAddress(ctx, args.id); + const success = await this.customerService.deleteAddress(ctx, args.id); + return { success }; } /** diff --git a/packages/core/src/api/resolvers/shop/shop-order.resolver.ts b/packages/core/src/api/resolvers/shop/shop-order.resolver.ts index fada55811e..79701b9fe2 100644 --- a/packages/core/src/api/resolvers/shop/shop-order.resolver.ts +++ b/packages/core/src/api/resolvers/shop/shop-order.resolver.ts @@ -1,5 +1,7 @@ import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { + AddPaymentToOrderResult, + ApplyCouponCodeResult, MutationAddItemToOrderArgs, MutationAddPaymentToOrderArgs, MutationAdjustOrderLineArgs, @@ -14,12 +16,19 @@ import { Permission, QueryOrderArgs, QueryOrderByCodeArgs, + RemoveOrderItemsResult, + SetCustomerForOrderResult, + SetOrderShippingMethodResult, ShippingMethodQuote, + TransitionOrderToStateResult, + UpdateOrderItemsResult, } from '@vendure/common/lib/generated-shop-types'; import { QueryCountriesArgs } from '@vendure/common/lib/generated-types'; import ms from 'ms'; -import { ForbiddenError, IllegalOperationError, InternalServerError } from '../../../common/error/errors'; +import { ErrorResultUnion, isGraphQlErrorResult } from '../../../common/error/error-result'; +import { ForbiddenError, InternalServerError } from '../../../common/error/errors'; +import { AlreadyLoggedInError } from '../../../common/error/generated-graphql-shop-errors'; import { Translated } from '../../../common/types/locale-types'; import { idsAreEqual } from '../../../common/utils'; import { Country } from '../../../entity'; @@ -175,7 +184,7 @@ export class ShopOrderResolver { async setOrderShippingMethod( @Ctx() ctx: RequestContext, @Args() args: MutationSetOrderShippingMethodArgs, - ): Promise { + ): Promise | undefined> { if (ctx.authorizedAsOwnerOnly) { const sessionOrder = await this.getOrderFromContext(ctx); if (sessionOrder) { @@ -215,10 +224,10 @@ export class ShopOrderResolver { async transitionOrderToState( @Ctx() ctx: RequestContext, @Args() args: MutationTransitionOrderToStateArgs, - ): Promise { + ): Promise | undefined> { if (ctx.authorizedAsOwnerOnly) { const sessionOrder = await this.getOrderFromContext(ctx, true); - return this.orderService.transitionToState(ctx, sessionOrder.id, args.state as OrderState); + return await this.orderService.transitionToState(ctx, sessionOrder.id, args.state as OrderState); } } @@ -228,7 +237,7 @@ export class ShopOrderResolver { async addItemToOrder( @Ctx() ctx: RequestContext, @Args() args: MutationAddItemToOrderArgs, - ): Promise { + ): Promise> { const order = await this.getOrderFromContext(ctx, true); return this.orderService.addItemToOrder( ctx, @@ -245,7 +254,7 @@ export class ShopOrderResolver { async adjustOrderLine( @Ctx() ctx: RequestContext, @Args() args: MutationAdjustOrderLineArgs, - ): Promise { + ): Promise> { if (args.quantity === 0) { return this.removeOrderLine(ctx, { orderLineId: args.orderLineId }); } @@ -265,7 +274,7 @@ export class ShopOrderResolver { async removeOrderLine( @Ctx() ctx: RequestContext, @Args() args: MutationRemoveOrderLineArgs, - ): Promise { + ): Promise> { const order = await this.getOrderFromContext(ctx, true); return this.orderService.removeItemFromOrder(ctx, order.id, args.orderLineId); } @@ -273,7 +282,9 @@ export class ShopOrderResolver { @Transaction() @Mutation() @Allow(Permission.UpdateOrder, Permission.Owner) - async removeAllOrderLines(@Ctx() ctx: RequestContext): Promise { + async removeAllOrderLines( + @Ctx() ctx: RequestContext, + ): Promise> { const order = await this.getOrderFromContext(ctx, true); return this.orderService.removeAllItemsFromOrder(ctx, order.id); } @@ -284,7 +295,7 @@ export class ShopOrderResolver { async applyCouponCode( @Ctx() ctx: RequestContext, @Args() args: MutationApplyCouponCodeArgs, - ): Promise { + ): Promise> { const order = await this.getOrderFromContext(ctx, true); return this.orderService.applyCouponCode(ctx, order.id, args.couponCode); } @@ -303,11 +314,17 @@ export class ShopOrderResolver { @Transaction() @Mutation() @Allow(Permission.UpdateOrder, Permission.Owner) - async addPaymentToOrder(@Ctx() ctx: RequestContext, @Args() args: MutationAddPaymentToOrderArgs) { + async addPaymentToOrder( + @Ctx() ctx: RequestContext, + @Args() args: MutationAddPaymentToOrderArgs, + ): Promise | undefined> { if (ctx.authorizedAsOwnerOnly) { const sessionOrder = await this.getOrderFromContext(ctx); if (sessionOrder) { const order = await this.orderService.addPaymentToOrder(ctx, sessionOrder.id, args.input); + if (isGraphQlErrorResult(order)) { + return order; + } if (order.active === false) { if (order.customer) { const addresses = await this.customerService.findAddressesByCustomerId( @@ -340,14 +357,20 @@ export class ShopOrderResolver { @Transaction() @Mutation() @Allow(Permission.Owner) - async setCustomerForOrder(@Ctx() ctx: RequestContext, @Args() args: MutationSetCustomerForOrderArgs) { + async setCustomerForOrder( + @Ctx() ctx: RequestContext, + @Args() args: MutationSetCustomerForOrderArgs, + ): Promise | undefined> { if (ctx.authorizedAsOwnerOnly) { if (ctx.activeUserId) { - throw new IllegalOperationError('error.cannot-set-customer-for-order-when-logged-in'); + return new AlreadyLoggedInError(); } const sessionOrder = await this.getOrderFromContext(ctx); if (sessionOrder) { const customer = await this.customerService.createOrUpdate(ctx, args.input, true); + if (isGraphQlErrorResult(customer)) { + return customer; + } return this.orderService.addCustomerToOrder(ctx, sessionOrder.id, customer); } } diff --git a/packages/core/src/api/schema/admin-api/asset.api.graphql b/packages/core/src/api/schema/admin-api/asset.api.graphql index b8b74ae24c..b8a0afe3a6 100644 --- a/packages/core/src/api/schema/admin-api/asset.api.graphql +++ b/packages/core/src/api/schema/admin-api/asset.api.graphql @@ -7,7 +7,7 @@ type Query { type Mutation { "Create a new Asset" - createAssets(input: [CreateAssetInput!]!): [Asset!]! + createAssets(input: [CreateAssetInput!]!): [CreateAssetResult!]! "Update an existing Asset" updateAsset(input: UpdateAssetInput!): Asset! "Delete an Asset" @@ -16,6 +16,15 @@ type Mutation { deleteAssets(ids: [ID!]!, force: Boolean): DeletionResponse! } +type MimeTypeError implements ErrorResult { + errorCode: ErrorCode! + message: String! + fileName: String! + mimeType: String! +} + +union CreateAssetResult = Asset | MimeTypeError + # generated by generateListOptions function input AssetListOptions diff --git a/packages/core/src/api/schema/admin-api/auth.api.graphql b/packages/core/src/api/schema/admin-api/auth.api.graphql index 31a62c5b5f..e5e682a05d 100644 --- a/packages/core/src/api/schema/admin-api/auth.api.graphql +++ b/packages/core/src/api/schema/admin-api/auth.api.graphql @@ -4,11 +4,14 @@ type Query { type Mutation { "Authenticates the user using the native authentication strategy. This mutation is an alias for `authenticate({ native: { ... }})`" - login(username: String!, password: String!, rememberMe: Boolean): LoginResult! + login(username: String!, password: String!, rememberMe: Boolean): NativeAuthenticationResult! "Authenticates the user using a named authentication strategy" - authenticate(input: AuthenticationInput!, rememberMe: Boolean): LoginResult! - logout: Boolean! + authenticate(input: AuthenticationInput!, rememberMe: Boolean): AuthenticationResult! + logout: Success! } # Populated at run-time input AuthenticationInput + +union NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError +union AuthenticationResult = CurrentUser | InvalidCredentialsError diff --git a/packages/core/src/api/schema/admin-api/channel.api.graphql b/packages/core/src/api/schema/admin-api/channel.api.graphql index 823c9909b5..b01d7ba85f 100644 --- a/packages/core/src/api/schema/admin-api/channel.api.graphql +++ b/packages/core/src/api/schema/admin-api/channel.api.graphql @@ -6,10 +6,10 @@ type Query { type Mutation { "Create a new Channel" - createChannel(input: CreateChannelInput!): Channel! + createChannel(input: CreateChannelInput!): CreateChannelResult! "Update an existing Channel" - updateChannel(input: UpdateChannelInput!): Channel! + updateChannel(input: UpdateChannelInput!): UpdateChannelResult! "Delete a Channel" deleteChannel(id: ID!): DeletionResponse! @@ -35,3 +35,13 @@ input UpdateChannelInput { defaultTaxZoneId: ID defaultShippingZoneId: ID } + +"Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings" +type LanguageNotAvailableError implements ErrorResult { + errorCode: ErrorCode! + message: String! + languageCode: String! +} + +union CreateChannelResult = Channel | LanguageNotAvailableError +union UpdateChannelResult = Channel | LanguageNotAvailableError diff --git a/packages/core/src/api/schema/admin-api/customer.api.graphql b/packages/core/src/api/schema/admin-api/customer.api.graphql index e52c35da15..84e7e603d8 100644 --- a/packages/core/src/api/schema/admin-api/customer.api.graphql +++ b/packages/core/src/api/schema/admin-api/customer.api.graphql @@ -5,10 +5,10 @@ type Query { type Mutation { "Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer." - createCustomer(input: CreateCustomerInput!, password: String): Customer! + createCustomer(input: CreateCustomerInput!, password: String): CreateCustomerResult! "Update an existing Customer" - updateCustomer(input: UpdateCustomerInput!): Customer! + updateCustomer(input: UpdateCustomerInput!): UpdateCustomerResult! "Delete a Customer" deleteCustomer(id: ID!): DeletionResponse! @@ -20,7 +20,7 @@ type Mutation { updateCustomerAddress(input: UpdateAddressInput!): Address! "Update an existing Address" - deleteCustomerAddress(id: ID!): Boolean! + deleteCustomerAddress(id: ID!): Success! addNoteToCustomer(input: AddNoteToCustomerInput!): Customer! updateCustomerNote(input: UpdateCustomerNoteInput!): HistoryEntry! @@ -56,3 +56,6 @@ input UpdateCustomerNoteInput { note: String! } +union CreateCustomerResult = Customer | EmailAddressConflictError +union UpdateCustomerResult = Customer | EmailAddressConflictError + diff --git a/packages/core/src/api/schema/admin-api/global-settings.api.graphql b/packages/core/src/api/schema/admin-api/global-settings.api.graphql index 0e3ee456a9..b8d1995467 100644 --- a/packages/core/src/api/schema/admin-api/global-settings.api.graphql +++ b/packages/core/src/api/schema/admin-api/global-settings.api.graphql @@ -3,10 +3,23 @@ type Query { } type Mutation { - updateGlobalSettings(input: UpdateGlobalSettingsInput!): GlobalSettings! + updateGlobalSettings(input: UpdateGlobalSettingsInput!): UpdateGlobalSettingsResult! } input UpdateGlobalSettingsInput { availableLanguages: [LanguageCode!] trackInventory: Boolean } + +""" +Returned when the default LanguageCode of a Channel is no longer found in the `availableLanguages` +of the GlobalSettings +""" +type ChannelDefaultLanguageError implements ErrorResult { + errorCode: ErrorCode! + message: String! + language: String! + channelCode: String! +} + +union UpdateGlobalSettingsResult = GlobalSettings | ChannelDefaultLanguageError diff --git a/packages/core/src/api/schema/admin-api/order.api.graphql b/packages/core/src/api/schema/admin-api/order.api.graphql index 00a8ceaa4b..7144a966dc 100644 --- a/packages/core/src/api/schema/admin-api/order.api.graphql +++ b/packages/core/src/api/schema/admin-api/order.api.graphql @@ -4,16 +4,16 @@ type Query { } type Mutation { - settlePayment(id: ID!): Payment! - fulfillOrder(input: FulfillOrderInput!): Fulfillment! - cancelOrder(input: CancelOrderInput!): Order! - refundOrder(input: RefundOrderInput!): Refund! - settleRefund(input: SettleRefundInput!): Refund! + settlePayment(id: ID!): SettlePaymentResult! + addFulfillmentToOrder(input: FulfillOrderInput!): AddFulfillmentToOrderResult! + cancelOrder(input: CancelOrderInput!): CancelOrderResult! + refundOrder(input: RefundOrderInput!): RefundOrderResult! + settleRefund(input: SettleRefundInput!): SettleRefundResult! addNoteToOrder(input: AddNoteToOrderInput!): Order! updateOrderNote(input: UpdateOrderNoteInput!): HistoryEntry! deleteOrderNote(id: ID!): DeletionResponse! - transitionOrderToState(id: ID!, state: String!): Order - transitionFulfillmentToState(id: ID!, state: String!): Fulfillment! + transitionOrderToState(id: ID!, state: String!): TransitionOrderToStateResult + transitionFulfillmentToState(id: ID!, state: String!): TransitionFulfillmentToStateResult! setOrderCustomFields(input: UpdateOrderInput!): Order } @@ -72,3 +72,117 @@ input UpdateOrderNoteInput { note: String isPublic: Boolean } + +"Returned if the Payment settlement fails" +type SettlePaymentError implements ErrorResult { + errorCode: ErrorCode! + message: String! + paymentErrorMessage: String! +} + +"Returned if no OrderLines have been specified for the operation" +type EmptyOrderLineSelectionError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned if the specified items are already part of a Fulfillment" +type ItemsAlreadyFulfilledError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned if an operation has specified OrderLines from multiple Orders" +type MultipleOrderError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned if an attempting to cancel lines from an Order which is still active" +type CancelActiveOrderError implements ErrorResult { + errorCode: ErrorCode! + message: String! + orderState: String! +} + +"Returned if an attempting to refund a Payment against OrderLines from a different Order" +type PaymentOrderMismatchError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned if an attempting to refund an Order which is not in the expected state" +type RefundOrderStateError implements ErrorResult { + errorCode: ErrorCode! + message: String! + orderState: String! +} + +"Returned if an attempting to refund an Order but neither items nor shipping refund was specified" +type NothingToRefundError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned if an attempting to refund an OrderItem which has already been refunded" +type AlreadyRefundedError implements ErrorResult { + errorCode: ErrorCode! + message: String! + refundId: ID! +} + +"Returned if the specified quantity of an OrderLine is greater than the number of items in that line" +type QuantityTooGreatError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned when there is an error in transitioning the Refund state" +type RefundStateTransitionError implements ErrorResult { + errorCode: ErrorCode! + message: String! + transitionError: String! + fromState: String! + toState: String! +} + +"Returned when there is an error in transitioning the Payment state" +type PaymentStateTransitionError implements ErrorResult { + errorCode: ErrorCode! + message: String! + transitionError: String! + fromState: String! + toState: String! +} + +"Returned when there is an error in transitioning the Fulfillment state" +type FulfillmentStateTransitionError implements ErrorResult { + errorCode: ErrorCode! + message: String! + transitionError: String! + fromState: String! + toState: String! +} + +union TransitionOrderToStateResult = Order | OrderStateTransitionError +union SettlePaymentResult = Payment | SettlePaymentError | PaymentStateTransitionError | OrderStateTransitionError +union AddFulfillmentToOrderResult = Fulfillment | EmptyOrderLineSelectionError | ItemsAlreadyFulfilledError +union CancelOrderResult = + Order + | EmptyOrderLineSelectionError + | QuantityTooGreatError + | MultipleOrderError + | CancelActiveOrderError + | OrderStateTransitionError +union RefundOrderResult = + Refund + | QuantityTooGreatError + | NothingToRefundError + | OrderStateTransitionError + | MultipleOrderError + | PaymentOrderMismatchError + | RefundOrderStateError + | AlreadyRefundedError + | RefundStateTransitionError +union SettleRefundResult = Refund | RefundStateTransitionError +union TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError diff --git a/packages/core/src/api/schema/admin-api/product.api.graphql b/packages/core/src/api/schema/admin-api/product.api.graphql index 590250af15..e6377d7c69 100644 --- a/packages/core/src/api/schema/admin-api/product.api.graphql +++ b/packages/core/src/api/schema/admin-api/product.api.graphql @@ -20,7 +20,7 @@ type Mutation { addOptionGroupToProduct(productId: ID!, optionGroupId: ID!): Product! "Remove an OptionGroup from a Product" - removeOptionGroupFromProduct(productId: ID!, optionGroupId: ID!): Product! + removeOptionGroupFromProduct(productId: ID!, optionGroupId: ID!): RemoveOptionGroupFromProductResult! "Create a set of ProductVariants based on the OptionGroups assigned to the given Product" createProductVariants(input: [CreateProductVariantInput!]!): [ProductVariant]! @@ -139,3 +139,12 @@ input RemoveProductsFromChannelInput { productIds: [ID!]! channelId: ID! } + +type ProductOptionInUseError implements ErrorResult { + errorCode: ErrorCode! + message: String! + optionGroupCode: String! + productVariantCount: Int! +} + +union RemoveOptionGroupFromProductResult = Product | ProductOptionInUseError diff --git a/packages/core/src/api/schema/admin-api/promotion.api.graphql b/packages/core/src/api/schema/admin-api/promotion.api.graphql index cecdea3097..0d53658246 100644 --- a/packages/core/src/api/schema/admin-api/promotion.api.graphql +++ b/packages/core/src/api/schema/admin-api/promotion.api.graphql @@ -6,8 +6,8 @@ type Query { } type Mutation { - createPromotion(input: CreatePromotionInput!): Promotion! - updatePromotion(input: UpdatePromotionInput!): Promotion! + createPromotion(input: CreatePromotionInput!): CreatePromotionResult! + updatePromotion(input: UpdatePromotionInput!): UpdatePromotionResult! deletePromotion(id: ID!): DeletionResponse! } @@ -36,3 +36,12 @@ input UpdatePromotionInput { conditions: [ConfigurableOperationInput!] actions: [ConfigurableOperationInput!] } + +"Returned if a PromotionCondition has neither a couponCode nor any conditions set" +type MissingConditionsError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +union CreatePromotionResult = Promotion | MissingConditionsError +union UpdatePromotionResult = Promotion | MissingConditionsError diff --git a/packages/core/src/api/schema/common/common-types.graphql b/packages/core/src/api/schema/common/common-types.graphql index 0c3a1219f8..8b7037188e 100644 --- a/packages/core/src/api/schema/common/common-types.graphql +++ b/packages/core/src/api/schema/common/common-types.graphql @@ -81,6 +81,15 @@ enum SortOrder { DESC } +enum ErrorCode { + UNKNOWN_ERROR +} + +interface ErrorResult { + errorCode: ErrorCode! + message: String! +} + input StringOperators { eq: String contains: String @@ -174,3 +183,37 @@ input UpdateAddressInput { defaultShippingAddress: Boolean defaultBillingAddress: Boolean } + +""" +Indicates that an operation succeeded, where we do not want to return any more specific information. +""" +type Success { + success: Boolean! +} + +"Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured." +type NativeAuthStrategyError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned if the user authentication credentials are not valid" +type InvalidCredentialsError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned if there is an error in transitioning the Order state" +type OrderStateTransitionError implements ErrorResult { + errorCode: ErrorCode! + message: String! + transitionError: String! + fromState: String! + toState: String! +} + +"Retured when attemting to create a Customer with an email address already registered to an existing User." +type EmailAddressConflictError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} diff --git a/packages/core/src/api/schema/shop-api/shop.api.graphql b/packages/core/src/api/schema/shop-api/shop.api.graphql index 433cd51ad4..0d7d0199c6 100644 --- a/packages/core/src/api/schema/shop-api/shop.api.graphql +++ b/packages/core/src/api/schema/shop-api/shop.api.graphql @@ -43,19 +43,19 @@ type Query { type Mutation { "Adds an item to the order. If custom fields are defined on the OrderLine entity, a third argument 'customFields' will be available." - addItemToOrder(productVariantId: ID!, quantity: Int!): Order + addItemToOrder(productVariantId: ID!, quantity: Int!): UpdateOrderItemsResult! "Remove an OrderLine from the Order" - removeOrderLine(orderLineId: ID!): Order + removeOrderLine(orderLineId: ID!): RemoveOrderItemsResult! "Remove all OrderLine from the Order" - removeAllOrderLines: Order + removeAllOrderLines: RemoveOrderItemsResult! "Adjusts an OrderLine. If custom fields are defined on the OrderLine entity, a third argument 'customFields' of type `OrderLineCustomFieldsInput` will be available." - adjustOrderLine(orderLineId: ID!, quantity: Int): Order + adjustOrderLine(orderLineId: ID!, quantity: Int): UpdateOrderItemsResult! "Applies the given coupon code to the active Order" - applyCouponCode(couponCode: String!): Order + applyCouponCode(couponCode: String!): ApplyCouponCodeResult! "Removes the given coupon code from the active Order" removeCouponCode(couponCode: String!): Order "Transitions an Order to a new state. Valid next states can be found by querying `nextOrderStates`" - transitionOrderToState(state: String!): Order + transitionOrderToState(state: String!): TransitionOrderToStateResult "Sets the shipping address for this order" setOrderShippingAddress(input: CreateAddressInput!): Order "Sets the billing address for this order" @@ -63,19 +63,17 @@ type Mutation { "Allows any custom fields to be set for the active order" setOrderCustomFields(input: UpdateOrderInput!): Order "Sets the shipping method by id, which can be obtained with the `eligibleShippingMethods` query" - setOrderShippingMethod(shippingMethodId: ID!): Order + setOrderShippingMethod(shippingMethodId: ID!): SetOrderShippingMethodResult! "Add a Payment to the Order" - addPaymentToOrder(input: PaymentInput!): Order + addPaymentToOrder(input: PaymentInput!): AddPaymentToOrderResult "Set the Customer for the Order. Required only if the Customer is not currently logged in" - setCustomerForOrder(input: CreateCustomerInput!): Order + setCustomerForOrder(input: CreateCustomerInput!): SetCustomerForOrderResult "Authenticates the user using the native authentication strategy. This mutation is an alias for `authenticate({ native: { ... }})`" - login(username: String!, password: String!, rememberMe: Boolean): LoginResult! + login(username: String!, password: String!, rememberMe: Boolean): NativeAuthenticationResult! "Authenticates the user using a named authentication strategy" - authenticate(input: AuthenticationInput!, rememberMe: Boolean): LoginResult! + authenticate(input: AuthenticationInput!, rememberMe: Boolean): AuthenticationResult! "End the current authenticated session" - logout: Boolean! - "Regenerate and send a verification token for a new Customer registration. Only applicable if `authOptions.requireVerification` is set to true." - refreshCustomerVerification(emailAddress: String!): Boolean! + logout: Success! """ Register a Customer account with the given credentials. There are three possible registration flows: @@ -92,7 +90,9 @@ type Mutation { 3. The Customer _must_ be registered _with_ a password. No further action is needed - the Customer is able to authenticate immediately. """ - registerCustomerAccount(input: RegisterCustomerInput!): Boolean! + registerCustomerAccount(input: RegisterCustomerInput!): RegisterCustomerAccountResult! + "Regenerate and send a verification token for a new Customer registration. Only applicable if `authOptions.requireVerification` is set to true." + refreshCustomerVerification(emailAddress: String!): RefreshCustomerVerificationResult! "Update an existing Customer" updateCustomer(input: UpdateCustomerInput!): Customer! "Create a new Customer Address" @@ -100,32 +100,35 @@ type Mutation { "Update an existing Address" updateCustomerAddress(input: UpdateAddressInput!): Address! "Delete an existing Address" - deleteCustomerAddress(id: ID!): Boolean! + deleteCustomerAddress(id: ID!): Success! """ Verify a Customer email address with the token sent to that address. Only applicable if `authOptions.requireVerification` is set to true. If the Customer was not registered with a password in the `registerCustomerAccount` mutation, the a password _must_ be provided here. """ - verifyCustomerAccount(token: String!, password: String): LoginResult! + verifyCustomerAccount(token: String!, password: String): VerifyCustomerAccountResult! "Update the password of the active Customer" - updateCustomerPassword(currentPassword: String!, newPassword: String!): Boolean + updateCustomerPassword(currentPassword: String!, newPassword: String!): UpdateCustomerPasswordResult! """ Request to update the emailAddress of the active Customer. If `authOptions.requireVerification` is enabled (as is the default), then the `identifierChangeToken` will be assigned to the current User and a IdentifierChangeRequestEvent will be raised. This can then be used e.g. by the EmailPlugin to email that verification token to the Customer, which is then used to verify the change of email address. """ - requestUpdateCustomerEmailAddress(password: String!, newEmailAddress: String!): Boolean + requestUpdateCustomerEmailAddress( + password: String! + newEmailAddress: String! + ): RequestUpdateCustomerEmailAddressResult! """ Confirm the update of the emailAddress with the provided token, which has been generated by the `requestUpdateCustomerEmailAddress` mutation. """ - updateCustomerEmailAddress(token: String!): Boolean + updateCustomerEmailAddress(token: String!): UpdateCustomerEmailAddressResult! "Requests a password reset email to be sent" - requestPasswordReset(emailAddress: String!): Boolean + requestPasswordReset(emailAddress: String!): RequestPasswordResetResult "Resets a Customer's password based on the provided token" - resetPassword(token: String!, password: String!): LoginResult! + resetPassword(token: String!, password: String!): ResetPasswordResult! } # Populated at run-time @@ -174,3 +177,180 @@ input OrderListOptions # generated by generateListOptions function input ProductListOptions + +"Returned when attempting to modify the contents of an Order that is not in the `AddingItems` state." +type OrderModificationError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Retured when the maximum order size limit has been reached." +type OrderLimitError implements ErrorResult { + errorCode: ErrorCode! + message: String! + maxItems: Int! +} + +"Retured when attemting to set a negative OrderLine quantity." +type NegativeQuantityError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned when attempting to add a Payment to an Order that is not in the `ArrangingPayment` state." +type OrderPaymentStateError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Returned when a Payment fails due to an error." +type PaymentFailedError implements ErrorResult { + errorCode: ErrorCode! + message: String! + paymentErrorMessage: String! +} + +"Returned when a Payment is declined by the payment provider." +type PaymentDeclinedError implements ErrorResult { + errorCode: ErrorCode! + message: String! + paymentErrorMessage: String! +} + +"Returned if the provided coupon code is invalid" +type CouponCodeInvalidError implements ErrorResult { + errorCode: ErrorCode! + message: String! + couponCode: String! +} + +"Returned if the provided coupon code is invalid" +type CouponCodeInvalidError implements ErrorResult { + errorCode: ErrorCode! + message: String! + couponCode: String! +} + +"Returned if the provided coupon code is invalid" +type CouponCodeExpiredError implements ErrorResult { + errorCode: ErrorCode! + message: String! + couponCode: String! +} + +"Returned if the provided coupon code is invalid" +type CouponCodeLimitError implements ErrorResult { + errorCode: ErrorCode! + message: String! + couponCode: String! + limit: Int! +} + +"Retured when attemting to set the Customer for an Order when already logged in." +type AlreadyLoggedInError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Retured when attemting to register or verify a customer account without a password, when one is required." +type MissingPasswordError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +"Retured when attemting to verify a customer account with a password, when a password has already been set." +type PasswordAlreadySetError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +""" +Retured if the verification token (used to verify a Customer's email address) is either +invalid or does not match any expected tokens. +""" +type VerificationTokenInvalidError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +""" +Returned if the verification token (used to verify a Customer's email address) is valid, but has +expired according to the `verificationTokenDuration` setting in the AuthOptions. +""" +type VerificationTokenExpiredError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +""" +Retured if the token used to change a Customer's email address is either +invalid or does not match any expected tokens. +""" +type IdentifierChangeTokenInvalidError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +""" +Retured if the token used to change a Customer's email address is valid, but has +expired according to the `verificationTokenDuration` setting in the AuthOptions. +""" +type IdentifierChangeTokenExpiredError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +""" +Retured if the token used to reset a Customer's password is either +invalid or does not match any expected tokens. +""" +type PasswordResetTokenInvalidError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +""" +Retured if the token used to reset a Customer's password is valid, but has +expired according to the `verificationTokenDuration` setting in the AuthOptions. +""" +type PasswordResetTokenExpiredError implements ErrorResult { + errorCode: ErrorCode! + message: String! +} + +union UpdateOrderItemsResult = Order | OrderModificationError | OrderLimitError | NegativeQuantityError +union RemoveOrderItemsResult = Order | OrderModificationError +union SetOrderShippingMethodResult = Order | OrderModificationError +union ApplyCouponCodeResult = Order | CouponCodeExpiredError | CouponCodeInvalidError | CouponCodeLimitError +union AddPaymentToOrderResult = + Order + | OrderPaymentStateError + | PaymentFailedError + | PaymentDeclinedError + | OrderStateTransitionError +union TransitionOrderToStateResult = Order | OrderStateTransitionError +union SetCustomerForOrderResult = Order | AlreadyLoggedInError | EmailAddressConflictError +union RegisterCustomerAccountResult = Success | MissingPasswordError | NativeAuthStrategyError +union RefreshCustomerVerificationResult = Success | NativeAuthStrategyError +union VerifyCustomerAccountResult = + CurrentUser + | VerificationTokenInvalidError + | VerificationTokenExpiredError + | MissingPasswordError + | PasswordAlreadySetError + | NativeAuthStrategyError +union UpdateCustomerPasswordResult = Success | InvalidCredentialsError | NativeAuthStrategyError +union RequestUpdateCustomerEmailAddressResult = + Success + | InvalidCredentialsError + | EmailAddressConflictError + | NativeAuthStrategyError +union UpdateCustomerEmailAddressResult = + Success + | IdentifierChangeTokenInvalidError + | IdentifierChangeTokenExpiredError + | NativeAuthStrategyError +union RequestPasswordResetResult = Success | NativeAuthStrategyError +union ResetPasswordResult = CurrentUser | PasswordResetTokenInvalidError | PasswordResetTokenExpiredError | NativeAuthStrategyError +union NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError +union AuthenticationResult = CurrentUser | InvalidCredentialsError diff --git a/packages/core/src/api/schema/type/auth.type.graphql b/packages/core/src/api/schema/type/auth.type.graphql index 0084dff5a1..8bdfa210eb 100644 --- a/packages/core/src/api/schema/type/auth.type.graphql +++ b/packages/core/src/api/schema/type/auth.type.graphql @@ -1,7 +1,3 @@ -type LoginResult { - user: CurrentUser! -} - type CurrentUser { id: ID! identifier: String! diff --git a/packages/core/src/common/error/error-result.ts b/packages/core/src/common/error/error-result.ts new file mode 100644 index 0000000000..6922d9a6bb --- /dev/null +++ b/packages/core/src/common/error/error-result.ts @@ -0,0 +1,63 @@ +import { ErrorResult as GraphQLErrorResultShop } from '@vendure/common/lib/generated-shop-types'; +import { ErrorResult, ErrorResult as GraphQLErrorResultAdmin } from '@vendure/common/lib/generated-types'; + +import { VendureEntity } from '../../entity/base/base.entity'; + +export type GraphQLErrorResult = GraphQLErrorResultShop | GraphQLErrorResultAdmin; + +/** + * @description + * Takes an ErrorResult union type (i.e. a generated union type consisting of some query/mutation result + * plus one or more ErrorResult types) and returns a union of _just_ the ErrorResult types. + * + * @example + * ```TypeScript + * type UpdateOrderItemsResult = Order | OrderModificationError | OrderLimitError | NegativeQuantityError; + * + * type T1 = JustErrorResults; + * // T1 = OrderModificationError | OrderLimitError | NegativeQuantityError + * ``` + */ +export type JustErrorResults = Exclude< + T, + T extends GraphQLErrorResult ? never : T +>; + +/** + * @description + * Used to construct a TypeScript return type for a query or mutation which, in the GraphQL schema, + * returns a union type composed of a success result (e.g. Order) plus one or more ErrorResult + * types. + * + * Since the TypeScript entities do not correspond 1-to-1 with their GraphQL type counterparts, + * we use this type to substitute them. + * + * @example + * ```TypeScript + * type UpdateOrderItemsResult = Order | OrderModificationError | OrderLimitError | NegativeQuantityError; + * type T1 = ErrorResultUnion; + * // T1 = VendureEntityOrder | OrderModificationError | OrderLimitError | NegativeQuantityError; + */ +export type ErrorResultUnion = + | JustErrorResults + | E; + +/** + * @description + * Returns true if the ErrorResultUnion is actually an ErrorResult type. + */ +export function isGraphQlErrorResult( + input: T, +): input is JustErrorResults; +export function isGraphQlErrorResult( + input: ErrorResultUnion, +): input is JustErrorResults> { + return ( + input && + !!( + ((input as unknown) as GraphQLErrorResult).errorCode && + ((input as unknown) as GraphQLErrorResult).message != null + ) && + (input as any).__typename + ); +} diff --git a/packages/core/src/common/error/errors.ts b/packages/core/src/common/error/errors.ts index 2d2cdb99cc..9d2e3fc13c 100644 --- a/packages/core/src/common/error/errors.ts +++ b/packages/core/src/common/error/errors.ts @@ -98,100 +98,6 @@ export class EntityNotFoundError extends I18nError { } } -/** - * @description - * This error should be thrown when the verification token (used to verify a Customer's email - * address) is either invalid or does not match any expected tokens. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class VerificationTokenError extends I18nError { - constructor() { - super('error.verification-token-not-recognized', {}, 'BAD_VERIFICATION_TOKEN', LogLevel.Warn); - } -} - -/** - * @description - * This error should be thrown when the verification token (used to verify a Customer's email - * address) is valid, but has expired according to the `verificationTokenDuration` setting - * in {@link AuthOptions}. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class VerificationTokenExpiredError extends I18nError { - constructor() { - super('error.verification-token-has-expired', {}, 'EXPIRED_VERIFICATION_TOKEN', LogLevel.Warn); - } -} - -/** - * @description - * This error should be thrown when an error occurs trying to reset a Customer's password. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class PasswordResetTokenError extends I18nError { - constructor() { - super('error.password-reset-token-not-recognized', {}, 'BAD_PASSWORD_RESET_TOKEN', LogLevel.Warn); - } -} - -/** - * @description - * This error should be thrown when an error occurs trying to reset a Customer's password - * by reason of the token having expired. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class PasswordResetTokenExpiredError extends I18nError { - constructor() { - super('error.password-reset-token-has-expired', {}, 'EXPIRED_PASSWORD_RESET_TOKEN', LogLevel.Warn); - } -} - -/** - * @description - * This error should be thrown when an error occurs when attempting to update a User's identifier - * (e.g. change email address). - * - * @docsCategory errors - * @docsPage Error Types - */ -export class IdentifierChangeTokenError extends I18nError { - constructor() { - super( - 'error.identifier-change-token-not-recognized', - {}, - 'EXPIRED_IDENTIFIER_CHANGE_TOKEN', - LogLevel.Warn, - ); - } -} - -/** - * @description - * This error should be thrown when an error occurs when attempting to update a User's identifier - * (e.g. change email address) by reason of the token having expired. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class IdentifierChangeTokenExpiredError extends I18nError { - constructor() { - super( - 'error.identifier-change-token-has-expired', - {}, - 'EXPIRED_IDENTIFIER_CHANGE_TOKEN', - LogLevel.Warn, - ); - } -} - /** * @description * This error should be thrown when the `requireVerification` in {@link AuthOptions} is set to @@ -205,61 +111,3 @@ export class NotVerifiedError extends I18nError { super('error.email-address-not-verified', {}, 'NOT_VERIFIED', LogLevel.Warn); } } - -/** - * @description - * This error should be thrown when the number or OrderItems in an Order exceeds the limit - * specified by the `orderItemsLimit` setting in {@link OrderOptions}. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class OrderItemsLimitError extends I18nError { - constructor(maxItems: number) { - super('error.order-items-limit-exceeded', { maxItems }, 'ORDER_ITEMS_LIMIT_EXCEEDED', LogLevel.Warn); - } -} - -/** - * @description - * This error is thrown when the coupon code is not associated with any active Promotion. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class CouponCodeInvalidError extends I18nError { - constructor(couponCode: string) { - super('error.coupon-code-not-valid', { couponCode }, 'COUPON_CODE_INVALID', LogLevel.Verbose); - } -} - -/** - * @description - * This error is thrown when the coupon code is associated with a Promotion that has expired. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class CouponCodeExpiredError extends I18nError { - constructor(couponCode: string) { - super('error.coupon-code-expired', { couponCode }, 'COUPON_CODE_EXPIRED', LogLevel.Verbose); - } -} - -/** - * @description - * This error is thrown when the coupon code is associated with a Promotion that has expired. - * - * @docsCategory errors - * @docsPage Error Types - */ -export class CouponCodeLimitError extends I18nError { - constructor(limit: number) { - super( - 'error.coupon-code-limit-has-been-reached', - { limit }, - 'COUPON_CODE_LIMIT_REACHED', - LogLevel.Verbose, - ); - } -} diff --git a/packages/core/src/common/error/generated-graphql-admin-errors.ts b/packages/core/src/common/error/generated-graphql-admin-errors.ts new file mode 100644 index 0000000000..ec044477c2 --- /dev/null +++ b/packages/core/src/common/error/generated-graphql-admin-errors.ts @@ -0,0 +1,361 @@ +// tslint:disable +/** This file was generated by the graphql-errors-plugin, which is part of the "codegen" npm script. */ + +export type Scalars = { + ID: string; + String: string; + Boolean: boolean; + Int: number; + Float: number; + DateTime: any; + JSON: any; + Upload: any; +}; + +export class ErrorResult { + readonly __typename: string; + readonly errorCode: string; + message: Scalars['String']; +} + +export class AlreadyRefundedError extends ErrorResult { + readonly __typename = 'AlreadyRefundedError'; + readonly errorCode = 'ALREADY_REFUNDED_ERROR' as any; + readonly message = 'ALREADY_REFUNDED_ERROR'; + constructor( + public refundId: Scalars['ID'], + ) { + super(); + } +} + +export class CancelActiveOrderError extends ErrorResult { + readonly __typename = 'CancelActiveOrderError'; + readonly errorCode = 'CANCEL_ACTIVE_ORDER_ERROR' as any; + readonly message = 'CANCEL_ACTIVE_ORDER_ERROR'; + constructor( + public orderState: Scalars['String'], + ) { + super(); + } +} + +export class ChannelDefaultLanguageError extends ErrorResult { + readonly __typename = 'ChannelDefaultLanguageError'; + readonly errorCode = 'CHANNEL_DEFAULT_LANGUAGE_ERROR' as any; + readonly message = 'CHANNEL_DEFAULT_LANGUAGE_ERROR'; + constructor( + public language: Scalars['String'], + public channelCode: Scalars['String'], + ) { + super(); + } +} + +export class EmailAddressConflictError extends ErrorResult { + readonly __typename = 'EmailAddressConflictError'; + readonly errorCode = 'EMAIL_ADDRESS_CONFLICT_ERROR' as any; + readonly message = 'EMAIL_ADDRESS_CONFLICT_ERROR'; + constructor( + ) { + super(); + } +} + +export class EmptyOrderLineSelectionError extends ErrorResult { + readonly __typename = 'EmptyOrderLineSelectionError'; + readonly errorCode = 'EMPTY_ORDER_LINE_SELECTION_ERROR' as any; + readonly message = 'EMPTY_ORDER_LINE_SELECTION_ERROR'; + constructor( + ) { + super(); + } +} + +export class FulfillmentStateTransitionError extends ErrorResult { + readonly __typename = 'FulfillmentStateTransitionError'; + readonly errorCode = 'FULFILLMENT_STATE_TRANSITION_ERROR' as any; + readonly message = 'FULFILLMENT_STATE_TRANSITION_ERROR'; + constructor( + public transitionError: Scalars['String'], + public fromState: Scalars['String'], + public toState: Scalars['String'], + ) { + super(); + } +} + +export class InvalidCredentialsError extends ErrorResult { + readonly __typename = 'InvalidCredentialsError'; + readonly errorCode = 'INVALID_CREDENTIALS_ERROR' as any; + readonly message = 'INVALID_CREDENTIALS_ERROR'; + constructor( + ) { + super(); + } +} + +export class ItemsAlreadyFulfilledError extends ErrorResult { + readonly __typename = 'ItemsAlreadyFulfilledError'; + readonly errorCode = 'ITEMS_ALREADY_FULFILLED_ERROR' as any; + readonly message = 'ITEMS_ALREADY_FULFILLED_ERROR'; + constructor( + ) { + super(); + } +} + +export class LanguageNotAvailableError extends ErrorResult { + readonly __typename = 'LanguageNotAvailableError'; + readonly errorCode = 'LANGUAGE_NOT_AVAILABLE_ERROR' as any; + readonly message = 'LANGUAGE_NOT_AVAILABLE_ERROR'; + constructor( + public languageCode: Scalars['String'], + ) { + super(); + } +} + +export class MimeTypeError extends ErrorResult { + readonly __typename = 'MimeTypeError'; + readonly errorCode = 'MIME_TYPE_ERROR' as any; + readonly message = 'MIME_TYPE_ERROR'; + constructor( + public fileName: Scalars['String'], + public mimeType: Scalars['String'], + ) { + super(); + } +} + +export class MissingConditionsError extends ErrorResult { + readonly __typename = 'MissingConditionsError'; + readonly errorCode = 'MISSING_CONDITIONS_ERROR' as any; + readonly message = 'MISSING_CONDITIONS_ERROR'; + constructor( + ) { + super(); + } +} + +export class MultipleOrderError extends ErrorResult { + readonly __typename = 'MultipleOrderError'; + readonly errorCode = 'MULTIPLE_ORDER_ERROR' as any; + readonly message = 'MULTIPLE_ORDER_ERROR'; + constructor( + ) { + super(); + } +} + +export class NativeAuthStrategyError extends ErrorResult { + readonly __typename = 'NativeAuthStrategyError'; + readonly errorCode = 'NATIVE_AUTH_STRATEGY_ERROR' as any; + readonly message = 'NATIVE_AUTH_STRATEGY_ERROR'; + constructor( + ) { + super(); + } +} + +export class NothingToRefundError extends ErrorResult { + readonly __typename = 'NothingToRefundError'; + readonly errorCode = 'NOTHING_TO_REFUND_ERROR' as any; + readonly message = 'NOTHING_TO_REFUND_ERROR'; + constructor( + ) { + super(); + } +} + +export class OrderStateTransitionError extends ErrorResult { + readonly __typename = 'OrderStateTransitionError'; + readonly errorCode = 'ORDER_STATE_TRANSITION_ERROR' as any; + readonly message = 'ORDER_STATE_TRANSITION_ERROR'; + constructor( + public transitionError: Scalars['String'], + public fromState: Scalars['String'], + public toState: Scalars['String'], + ) { + super(); + } +} + +export class PaymentOrderMismatchError extends ErrorResult { + readonly __typename = 'PaymentOrderMismatchError'; + readonly errorCode = 'PAYMENT_ORDER_MISMATCH_ERROR' as any; + readonly message = 'PAYMENT_ORDER_MISMATCH_ERROR'; + constructor( + ) { + super(); + } +} + +export class PaymentStateTransitionError extends ErrorResult { + readonly __typename = 'PaymentStateTransitionError'; + readonly errorCode = 'PAYMENT_STATE_TRANSITION_ERROR' as any; + readonly message = 'PAYMENT_STATE_TRANSITION_ERROR'; + constructor( + public transitionError: Scalars['String'], + public fromState: Scalars['String'], + public toState: Scalars['String'], + ) { + super(); + } +} + +export class ProductOptionInUseError extends ErrorResult { + readonly __typename = 'ProductOptionInUseError'; + readonly errorCode = 'PRODUCT_OPTION_IN_USE_ERROR' as any; + readonly message = 'PRODUCT_OPTION_IN_USE_ERROR'; + constructor( + public optionGroupCode: Scalars['String'], + public productVariantCount: Scalars['Int'], + ) { + super(); + } +} + +export class QuantityTooGreatError extends ErrorResult { + readonly __typename = 'QuantityTooGreatError'; + readonly errorCode = 'QUANTITY_TOO_GREAT_ERROR' as any; + readonly message = 'QUANTITY_TOO_GREAT_ERROR'; + constructor( + ) { + super(); + } +} + +export class RefundOrderStateError extends ErrorResult { + readonly __typename = 'RefundOrderStateError'; + readonly errorCode = 'REFUND_ORDER_STATE_ERROR' as any; + readonly message = 'REFUND_ORDER_STATE_ERROR'; + constructor( + public orderState: Scalars['String'], + ) { + super(); + } +} + +export class RefundStateTransitionError extends ErrorResult { + readonly __typename = 'RefundStateTransitionError'; + readonly errorCode = 'REFUND_STATE_TRANSITION_ERROR' as any; + readonly message = 'REFUND_STATE_TRANSITION_ERROR'; + constructor( + public transitionError: Scalars['String'], + public fromState: Scalars['String'], + public toState: Scalars['String'], + ) { + super(); + } +} + +export class SettlePaymentError extends ErrorResult { + readonly __typename = 'SettlePaymentError'; + readonly errorCode = 'SETTLE_PAYMENT_ERROR' as any; + readonly message = 'SETTLE_PAYMENT_ERROR'; + constructor( + public paymentErrorMessage: Scalars['String'], + ) { + super(); + } +} + + +const errorTypeNames = new Set(['MimeTypeError', 'InvalidCredentialsError', 'NativeAuthStrategyError', 'LanguageNotAvailableError', 'EmailAddressConflictError', 'ChannelDefaultLanguageError', 'SettlePaymentError', 'PaymentStateTransitionError', 'OrderStateTransitionError', 'EmptyOrderLineSelectionError', 'ItemsAlreadyFulfilledError', 'QuantityTooGreatError', 'MultipleOrderError', 'CancelActiveOrderError', 'NothingToRefundError', 'PaymentOrderMismatchError', 'RefundOrderStateError', 'AlreadyRefundedError', 'RefundStateTransitionError', 'FulfillmentStateTransitionError', 'ProductOptionInUseError', 'MissingConditionsError']); +function isGraphQLError(input: any): input is import('@vendure/common/lib/generated-types').ErrorResult { + return input instanceof ErrorResult || errorTypeNames.has(input.__typename); +} + +export const adminErrorOperationTypeResolvers = { + CreateAssetResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Asset'; + }, + }, + NativeAuthenticationResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'CurrentUser'; + }, + }, + AuthenticationResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'CurrentUser'; + }, + }, + CreateChannelResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Channel'; + }, + }, + UpdateChannelResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Channel'; + }, + }, + CreateCustomerResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Customer'; + }, + }, + UpdateCustomerResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Customer'; + }, + }, + UpdateGlobalSettingsResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'GlobalSettings'; + }, + }, + SettlePaymentResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Payment'; + }, + }, + AddFulfillmentToOrderResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Fulfillment'; + }, + }, + CancelOrderResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + RefundOrderResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Refund'; + }, + }, + SettleRefundResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Refund'; + }, + }, + TransitionOrderToStateResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + TransitionFulfillmentToStateResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Fulfillment'; + }, + }, + RemoveOptionGroupFromProductResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Product'; + }, + }, + CreatePromotionResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Promotion'; + }, + }, + UpdatePromotionResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Promotion'; + }, + }, +}; \ No newline at end of file diff --git a/packages/core/src/common/error/generated-graphql-shop-errors.ts b/packages/core/src/common/error/generated-graphql-shop-errors.ts new file mode 100644 index 0000000000..0b8fca0a15 --- /dev/null +++ b/packages/core/src/common/error/generated-graphql-shop-errors.ts @@ -0,0 +1,343 @@ +// tslint:disable +/** This file was generated by the graphql-errors-plugin, which is part of the "codegen" npm script. */ + +export type Scalars = { + ID: string; + String: string; + Boolean: boolean; + Int: number; + Float: number; + DateTime: any; + JSON: any; + Upload: any; +}; + +export class ErrorResult { + readonly __typename: string; + readonly errorCode: string; + message: Scalars['String']; +} + +export class AlreadyLoggedInError extends ErrorResult { + readonly __typename = 'AlreadyLoggedInError'; + readonly errorCode = 'ALREADY_LOGGED_IN_ERROR' as any; + readonly message = 'ALREADY_LOGGED_IN_ERROR'; + constructor( + ) { + super(); + } +} + +export class CouponCodeExpiredError extends ErrorResult { + readonly __typename = 'CouponCodeExpiredError'; + readonly errorCode = 'COUPON_CODE_EXPIRED_ERROR' as any; + readonly message = 'COUPON_CODE_EXPIRED_ERROR'; + constructor( + public couponCode: Scalars['String'], + ) { + super(); + } +} + +export class CouponCodeInvalidError extends ErrorResult { + readonly __typename = 'CouponCodeInvalidError'; + readonly errorCode = 'COUPON_CODE_INVALID_ERROR' as any; + readonly message = 'COUPON_CODE_INVALID_ERROR'; + constructor( + public couponCode: Scalars['String'], + ) { + super(); + } +} + +export class CouponCodeLimitError extends ErrorResult { + readonly __typename = 'CouponCodeLimitError'; + readonly errorCode = 'COUPON_CODE_LIMIT_ERROR' as any; + readonly message = 'COUPON_CODE_LIMIT_ERROR'; + constructor( + public couponCode: Scalars['String'], + public limit: Scalars['Int'], + ) { + super(); + } +} + +export class EmailAddressConflictError extends ErrorResult { + readonly __typename = 'EmailAddressConflictError'; + readonly errorCode = 'EMAIL_ADDRESS_CONFLICT_ERROR' as any; + readonly message = 'EMAIL_ADDRESS_CONFLICT_ERROR'; + constructor( + ) { + super(); + } +} + +export class IdentifierChangeTokenExpiredError extends ErrorResult { + readonly __typename = 'IdentifierChangeTokenExpiredError'; + readonly errorCode = 'IDENTIFIER_CHANGE_TOKEN_EXPIRED_ERROR' as any; + readonly message = 'IDENTIFIER_CHANGE_TOKEN_EXPIRED_ERROR'; + constructor( + ) { + super(); + } +} + +export class IdentifierChangeTokenInvalidError extends ErrorResult { + readonly __typename = 'IdentifierChangeTokenInvalidError'; + readonly errorCode = 'IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR' as any; + readonly message = 'IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR'; + constructor( + ) { + super(); + } +} + +export class InvalidCredentialsError extends ErrorResult { + readonly __typename = 'InvalidCredentialsError'; + readonly errorCode = 'INVALID_CREDENTIALS_ERROR' as any; + readonly message = 'INVALID_CREDENTIALS_ERROR'; + constructor( + ) { + super(); + } +} + +export class MissingPasswordError extends ErrorResult { + readonly __typename = 'MissingPasswordError'; + readonly errorCode = 'MISSING_PASSWORD_ERROR' as any; + readonly message = 'MISSING_PASSWORD_ERROR'; + constructor( + ) { + super(); + } +} + +export class NativeAuthStrategyError extends ErrorResult { + readonly __typename = 'NativeAuthStrategyError'; + readonly errorCode = 'NATIVE_AUTH_STRATEGY_ERROR' as any; + readonly message = 'NATIVE_AUTH_STRATEGY_ERROR'; + constructor( + ) { + super(); + } +} + +export class NegativeQuantityError extends ErrorResult { + readonly __typename = 'NegativeQuantityError'; + readonly errorCode = 'NEGATIVE_QUANTITY_ERROR' as any; + readonly message = 'NEGATIVE_QUANTITY_ERROR'; + constructor( + ) { + super(); + } +} + +export class OrderLimitError extends ErrorResult { + readonly __typename = 'OrderLimitError'; + readonly errorCode = 'ORDER_LIMIT_ERROR' as any; + readonly message = 'ORDER_LIMIT_ERROR'; + constructor( + public maxItems: Scalars['Int'], + ) { + super(); + } +} + +export class OrderModificationError extends ErrorResult { + readonly __typename = 'OrderModificationError'; + readonly errorCode = 'ORDER_MODIFICATION_ERROR' as any; + readonly message = 'ORDER_MODIFICATION_ERROR'; + constructor( + ) { + super(); + } +} + +export class OrderPaymentStateError extends ErrorResult { + readonly __typename = 'OrderPaymentStateError'; + readonly errorCode = 'ORDER_PAYMENT_STATE_ERROR' as any; + readonly message = 'ORDER_PAYMENT_STATE_ERROR'; + constructor( + ) { + super(); + } +} + +export class OrderStateTransitionError extends ErrorResult { + readonly __typename = 'OrderStateTransitionError'; + readonly errorCode = 'ORDER_STATE_TRANSITION_ERROR' as any; + readonly message = 'ORDER_STATE_TRANSITION_ERROR'; + constructor( + public transitionError: Scalars['String'], + public fromState: Scalars['String'], + public toState: Scalars['String'], + ) { + super(); + } +} + +export class PasswordAlreadySetError extends ErrorResult { + readonly __typename = 'PasswordAlreadySetError'; + readonly errorCode = 'PASSWORD_ALREADY_SET_ERROR' as any; + readonly message = 'PASSWORD_ALREADY_SET_ERROR'; + constructor( + ) { + super(); + } +} + +export class PasswordResetTokenExpiredError extends ErrorResult { + readonly __typename = 'PasswordResetTokenExpiredError'; + readonly errorCode = 'PASSWORD_RESET_TOKEN_EXPIRED_ERROR' as any; + readonly message = 'PASSWORD_RESET_TOKEN_EXPIRED_ERROR'; + constructor( + ) { + super(); + } +} + +export class PasswordResetTokenInvalidError extends ErrorResult { + readonly __typename = 'PasswordResetTokenInvalidError'; + readonly errorCode = 'PASSWORD_RESET_TOKEN_INVALID_ERROR' as any; + readonly message = 'PASSWORD_RESET_TOKEN_INVALID_ERROR'; + constructor( + ) { + super(); + } +} + +export class PaymentDeclinedError extends ErrorResult { + readonly __typename = 'PaymentDeclinedError'; + readonly errorCode = 'PAYMENT_DECLINED_ERROR' as any; + readonly message = 'PAYMENT_DECLINED_ERROR'; + constructor( + public paymentErrorMessage: Scalars['String'], + ) { + super(); + } +} + +export class PaymentFailedError extends ErrorResult { + readonly __typename = 'PaymentFailedError'; + readonly errorCode = 'PAYMENT_FAILED_ERROR' as any; + readonly message = 'PAYMENT_FAILED_ERROR'; + constructor( + public paymentErrorMessage: Scalars['String'], + ) { + super(); + } +} + +export class VerificationTokenExpiredError extends ErrorResult { + readonly __typename = 'VerificationTokenExpiredError'; + readonly errorCode = 'VERIFICATION_TOKEN_EXPIRED_ERROR' as any; + readonly message = 'VERIFICATION_TOKEN_EXPIRED_ERROR'; + constructor( + ) { + super(); + } +} + +export class VerificationTokenInvalidError extends ErrorResult { + readonly __typename = 'VerificationTokenInvalidError'; + readonly errorCode = 'VERIFICATION_TOKEN_INVALID_ERROR' as any; + readonly message = 'VERIFICATION_TOKEN_INVALID_ERROR'; + constructor( + ) { + super(); + } +} + + +const errorTypeNames = new Set(['OrderModificationError', 'OrderLimitError', 'NegativeQuantityError', 'CouponCodeExpiredError', 'CouponCodeInvalidError', 'CouponCodeLimitError', 'OrderStateTransitionError', 'OrderPaymentStateError', 'PaymentFailedError', 'PaymentDeclinedError', 'AlreadyLoggedInError', 'EmailAddressConflictError', 'InvalidCredentialsError', 'NativeAuthStrategyError', 'MissingPasswordError', 'VerificationTokenInvalidError', 'VerificationTokenExpiredError', 'PasswordAlreadySetError', 'IdentifierChangeTokenInvalidError', 'IdentifierChangeTokenExpiredError', 'PasswordResetTokenInvalidError', 'PasswordResetTokenExpiredError']); +function isGraphQLError(input: any): input is import('@vendure/common/lib/generated-types').ErrorResult { + return input instanceof ErrorResult || errorTypeNames.has(input.__typename); +} + +export const shopErrorOperationTypeResolvers = { + UpdateOrderItemsResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + RemoveOrderItemsResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + ApplyCouponCodeResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + TransitionOrderToStateResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + SetOrderShippingMethodResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + AddPaymentToOrderResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + SetCustomerForOrderResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Order'; + }, + }, + NativeAuthenticationResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'CurrentUser'; + }, + }, + AuthenticationResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'CurrentUser'; + }, + }, + RegisterCustomerAccountResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Success'; + }, + }, + RefreshCustomerVerificationResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Success'; + }, + }, + VerifyCustomerAccountResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'CurrentUser'; + }, + }, + UpdateCustomerPasswordResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Success'; + }, + }, + RequestUpdateCustomerEmailAddressResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Success'; + }, + }, + UpdateCustomerEmailAddressResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Success'; + }, + }, + RequestPasswordResetResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'Success'; + }, + }, + ResetPasswordResult: { + __resolveType(value: any) { + return isGraphQLError(value) ? (value as any).__typename : 'CurrentUser'; + }, + }, +}; \ No newline at end of file diff --git a/packages/core/src/common/index.ts b/packages/core/src/common/index.ts index 073f59568b..201e97b69a 100644 --- a/packages/core/src/common/index.ts +++ b/packages/core/src/common/index.ts @@ -2,6 +2,8 @@ export * from './finite-state-machine/finite-state-machine'; export * from './finite-state-machine/types'; export * from './async-queue'; export * from './error/errors'; +export * from './error/error-result'; +export * from './error/generated-graphql-admin-errors'; export * from './injector'; export * from './ttl-cache'; export * from './utils'; diff --git a/packages/core/src/common/types/common-types.ts b/packages/core/src/common/types/common-types.ts index 090248f75b..d813350cfe 100644 --- a/packages/core/src/common/types/common-types.ts +++ b/packages/core/src/common/types/common-types.ts @@ -51,7 +51,7 @@ export interface ListQueryOptions { * nullable fields have the type `field?: | null`. */ export type NullOptionals = { - [K in keyof T]: undefined extends T[K] ? NullOptionals | null : NullOptionals + [K in keyof T]: undefined extends T[K] ? NullOptionals | null : NullOptionals; }; export type SortOrder = 'ASC' | 'DESC'; diff --git a/packages/core/src/common/utils.ts b/packages/core/src/common/utils.ts index 84a0ae34b5..28546ef85d 100644 --- a/packages/core/src/common/utils.ts +++ b/packages/core/src/common/utils.ts @@ -14,7 +14,7 @@ export function not(predicate: (...args: any[]) => boolean) { * as determined by a === equality check on the given compareBy property. */ export function foundIn(set: T[], compareBy: keyof T) { - return (item: T) => set.some((t) => t[compareBy] === item[compareBy]); + return (item: T) => set.some(t => t[compareBy] === item[compareBy]); } /** diff --git a/packages/core/src/config/auth/native-authentication-strategy.ts b/packages/core/src/config/auth/native-authentication-strategy.ts index 140475bbab..9dfd01cfb9 100644 --- a/packages/core/src/config/auth/native-authentication-strategy.ts +++ b/packages/core/src/config/auth/native-authentication-strategy.ts @@ -49,6 +49,9 @@ export class NativeAuthenticationStrategy implements AuthenticationStrategy { const user = await this.getUserFromIdentifier(ctx, data.username); + if (!user) { + return false; + } const passwordMatch = await this.verifyUserPassword(ctx, user.id, data.password); if (!passwordMatch) { return false; @@ -56,15 +59,11 @@ export class NativeAuthenticationStrategy implements AuthenticationStrategy { - const user = await this.connection.getRepository(ctx, User).findOne({ + private getUserFromIdentifier(ctx: RequestContext, identifier: string): Promise { + return this.connection.getRepository(ctx, User).findOne({ where: { identifier }, relations: ['roles', 'roles.channels'], }); - if (!user) { - throw new UnauthorizedError(); - } - return user; } /** diff --git a/packages/core/src/config/payment-method/payment-method-handler.ts b/packages/core/src/config/payment-method/payment-method-handler.ts index d6985f4e02..2ef00db3b8 100644 --- a/packages/core/src/config/payment-method/payment-method-handler.ts +++ b/packages/core/src/config/payment-method/payment-method-handler.ts @@ -29,8 +29,24 @@ export type OnPaymentTransitionStartReturnType = ReturnType< export interface CreatePaymentResult { amount: number; state: Exclude; + /** + * @description + * The unique payment reference code typically assigned by + * the payment provider. + */ transactionId?: string; + /** + * @description + * If the payment is declined or fails for ome other reason, pass the + * relevant error message here, and it gets returned with the + * ErrorResponse of the `addPaymentToOrder` mutation. + */ errorMessage?: string; + /** + * @description + * This field can be used to store other relevant data which is often + * provided by the payment provider. + */ metadata?: PaymentMetadata; } diff --git a/packages/core/src/data-import/providers/asset-importer/asset-importer.ts b/packages/core/src/data-import/providers/asset-importer/asset-importer.ts index 6b2ee05474..31009043df 100644 --- a/packages/core/src/data-import/providers/asset-importer/asset-importer.ts +++ b/packages/core/src/data-import/providers/asset-importer/asset-importer.ts @@ -33,7 +33,7 @@ export class AssetImporter { if (fileStat.isFile()) { try { const stream = fs.createReadStream(filename); - const asset = await this.assetService.createFromFileStream(stream); + const asset = (await this.assetService.createFromFileStream(stream)) as Asset; this.assetMap.set(assetPath, asset); assets.push(asset); } catch (err) { diff --git a/packages/core/src/i18n/i18n.service.ts b/packages/core/src/i18n/i18n.service.ts index 9654efcae6..d2257517f8 100644 --- a/packages/core/src/i18n/i18n.service.ts +++ b/packages/core/src/i18n/i18n.service.ts @@ -7,6 +7,7 @@ import ICU from 'i18next-icu'; import Backend from 'i18next-node-fs-backend'; import path from 'path'; +import { GraphQLErrorResult } from '../common/error/error-result'; import { ConfigService } from '../config/config.service'; import { I18nError } from './i18n-error'; @@ -69,4 +70,19 @@ export class I18nService implements OnModuleInit { return error; } + + /** + * Translates the message of an ErrorResult + */ + translateErrorResult(req: I18nRequest, error: GraphQLErrorResult) { + const t: TFunction = req.t; + let translation: string = error.message; + const key = `errorResult.${error.message}`; + try { + translation = t(key, error as any); + } catch (e) { + translation += ` (Translation format error: ${e.message})`; + } + error.message = translation; + } } diff --git a/packages/core/src/i18n/messages/en.json b/packages/core/src/i18n/messages/en.json index 91cedab3bb..854f9a8c40 100644 --- a/packages/core/src/i18n/messages/en.json +++ b/packages/core/src/i18n/messages/en.json @@ -1,45 +1,18 @@ { "error": { - "cancel-order-lines-invalid-order-state": "Cannot cancel OrderLines from an Order in the \"{ state }\" state", - "cancel-order-lines-nothing-to-cancel": "Nothing to cancel", - "cancel-order-lines-quantity-too-high": "Quantity to cancel is greater than existing OrderLine quantity", "cannot-delete-role": "The role '{ roleCode }' cannot be deleted", "cannot-locate-customer-for-user": "Cannot locate a Customer for the user", "cannot-modify-role": "The role '{ roleCode }' cannot be modified", "cannot-create-sales-for-active-order": "Cannot create a Sale for an Order which is still active", "cannot-move-collection-into-self": "Cannot move a Collection into itself", - "cannot-remove-option-group-due-to-variants": "Cannot remove ProductOptionGroup \"{ code }\" as it is used by {count, plural, one {1 ProductVariant} other {# ProductVariants}}", - "cannot-remove-tax-category-due-to-tax-rates": "Cannot remove TaxCategory \"{ name }\" as it is referenced by {count, plural, one {1 TaxRate} other {# TaxRates}}", - "cannot-set-customer-for-order-when-logged-in": "Cannot set a Customer for the Order when already logged in", - "cannot-set-default-language-as-unavailable": "Cannot remove make language \"{ language }\" unavailable as it is used as the defaultLanguage by the channel \"{channelCode}\"", - "cannot-transition-order-from-to": "Cannot transition Order from \"{ fromState }\" to \"{ toState }\"", "cannot-transition-payment-from-to": "Cannot transition Payment from \"{ fromState }\" to \"{ toState }\"", "cannot-transition-refund-from-to": "Cannot transition Refund from \"{ fromState }\" to \"{ toState }\"", "cannot-transition-fulfillment-from-to": "Cannot transition Fulfillment from \"{ fromState }\" to \"{ toState }\"", - "cannot-transition-to-shipping-when-order-is-empty": "Cannot transition Order to the \"ArrangingShipping\" state when it is empty", - "cannot-transition-to-payment-without-customer": "Cannot transition Order to the \"ArrangingPayment\" state without Customer details", - "cannot-transition-unless-all-cancelled": "Cannot transition Order to the \"Cancelled\" state unless all OrderItems are cancelled", - "cannot-transition-unless-all-order-items-delivered": "Cannot transition Order to the \"Delivered\" state unless all OrderItems are delivered", - "cannot-transition-unless-some-order-items-delivered": "Cannot transition Order to the \"PartiallyDelivered\" state unless some OrderItems are delivered", - "cannot-transition-unless-some-order-items-shipped": "Cannot transition Order to the \"PartiallyShipped\" state unless some OrderItems are shipped", - "cannot-transition-unless-all-order-items-shipped": "Cannot transition Order to the \"Shipped\" state unless all OrderItems are shipped", - "cannot-transition-without-authorized-payments": "Cannot transition Order to the \"PaymentAuthorized\" state when the total is not covered by authorized Payments", - "cannot-transition-without-settled-payments": "Cannot transition Order to the \"PaymentSettled\" state when the total is not covered by settled Payments", - "cannot-use-registered-email-address-for-guest-order": "Cannot use a registered email address for a guest order. Please log in first", - "channel-not-found": "No channel with the token \"{ token }\" exists", "collection-id-or-slug-must-be-provided": "Either the Collection id or slug must be provided", "collection-id-slug-mismatch": "The provided id and slug refer to different Collections", - "country-code-not-valid": "The countryCode \"{ countryCode }\" was not recognized", - "coupon-code-expired": "Coupon code \"{ couponCode }\" has expired", - "coupon-code-limit-has-been-reached": "Coupon code cannot be used more than {limit, plural, one {once} other {# times}} per customer", - "coupon-code-not-valid": "Coupon code \"{ couponCode }\" is not valid", - "create-fulfillment-items-already-fulfilled": "One or more OrderItems have already been fulfilled", - "create-fulfillment-orders-must-be-settled": "One or more OrderItems belong to an Order which is in an invalid state", - "create-fulfillment-nothing-to-fulfill": "Nothing to fulfill", + "country-code-not-valid": "The countryCode \"{ countryCode }\" was not recognized", "customer-does-not-belong-to-customer-group": "Customer does not belong to this CustomerGroup", - "default-channel-not-found": "Default channel not found", - "email-address-must-be-unique": "The email address must be unique", - "email-address-not-available": "This email address is not available", + "default-channel-not-found": "Default channel not found", "email-address-not-verified": "Please verify this email address before logging in", "entity-has-no-translation-in-language": "Translatable entity '{ entityName }' has not been translated into the requested language ({ languageCode })", "entity-with-id-not-found": "No { entityName } with the id '{ id }' could be found", @@ -52,44 +25,70 @@ "field-invalid-string-option": "The custom field '{ name }' value ['{ value }'] is invalid. Valid options are [{ validOptions }]", "field-invalid-string-pattern": "The custom field '{ name }' value ['{ value }'] does not match the pattern [{ pattern }]", "forbidden": "You are not currently authorized to perform this action", - "identifier-change-token-not-recognized": "Identifier change token not recognized", - "identifier-change-token-has-expired": "Identifier change token has expired", "invalid-sort-field": "The sort field '{ fieldName }' is invalid. Valid fields are: { validFields }", - "language-not-available-in-global-settings": "Language \"{code}\" is not available. First enable it via GlobalSettings and try again.", - "mime-type-not-permitted": "The MIME type '{ mimetype }' is not permitted.", - "missing-password-on-registration": "A password must be provided when `authOptions.requireVerification` is set to \"false\"", "no-active-tax-zone": "The active tax zone could not be determined. Ensure a default tax zone is set for the current channel.", "no-search-plugin-configured": "No search plugin has been configured", - "no-valid-channel-specified": "No valid channel was specified (ensure the 'vendure-token' header was specified in the request)", - "order-contents-may-only-be-modified-in-addingitems-state": "Order contents may only be modified when in the \"AddingItems\" state", "order-does-not-contain-line-with-id": "This order does not contain an OrderLine with the id { id }", - "order-item-quantity-must-be-positive": "{ quantity } is not a valid quantity for an OrderItem", - "order-items-limit-exceeded": "Cannot add items. An order may consist of a maximum of { maxItems } items", - "order-lines-must-belong-to-same-order": "OrderLines must all belong to a single Order", - "payment-may-only-be-added-in-arrangingpayment-state": "A Payment may only be added when Order is in \"ArrangingPayment\" state", - "password-already-set-during-registration": "A password has already been set during registration", - "password-reset-token-has-expired": "Password reset token has expired.", - "password-reset-token-not-recognized": "Password reset token not recognized", - "password-required-for-verification": "A password must be provided as it was not set during registration", + "pending-identifier-missing": "Could not find the pending email address to update", "permission-invalid": "The permission \"{ permission }\" is not valid", "products-cannot-be-removed-from-default-channel": "Products cannot be removed from the default Channel", "product-id-or-slug-must-be-provided": "Either the Product id or slug must be provided", "product-id-slug-mismatch": "The provided id and slug refer to different Products", "product-variant-option-ids-not-compatible": "ProductVariant optionIds must include one optionId from each of the groups: {groupNames}", "product-variant-options-combination-already-exists": "A ProductVariant already exists with the options: {optionNames}", - "promotion-must-have-conditions-or-coupon-code": "A Promotion must have either at least one condition or a coupon code set", - "refund-order-item-already-refunded": "Cannot refund an OrderItem which has already been refunded", - "refund-order-lines-invalid-order-state": "Cannot refund an Order in the \"{ state }\" state", - "refund-order-lines-nothing-to-refund": "Nothing to refund", - "refund-order-lines-quantity-too-high": "Quantity to refund is greater than existing OrderLine quantity", - "refund-order-payment-lines-mismatch": "The Payment and OrderLines do not belong to the same Order", "stockonhand-cannot-be-negative": "stockOnHand cannot be a negative value", - "verification-token-has-expired": "Verification token has expired. Use refreshCustomerVerification to send a new token.", - "verification-token-not-recognized": "Verification token not recognized", "unauthorized": "The credentials did not match. Please check and try again" }, + "errorResult": { + "ALREADY_CANCELLED_ERROR": "Quantity to cancel is greater than existing OrderLine quantity", + "ALREADY_LOGGED_IN_ERROR": "Cannot set a Customer for the Order when already logged in", + "ALREADY_REFUNDED_ERROR": "Cannot refund an OrderItem which has already been refunded", + "CANCEL_ACTIVE_ORDER_ERROR": "Cannot cancel OrderLines from an Order in the \"{ orderState }\" state", + "CHANNEL_DEFAULT_LANGUAGE_ERROR": "Cannot make language \"{ language }\" unavailable as it is used as the defaultLanguage by the channel \"{ channelCode }\"", + "COUPON_CODE_EXPIRED_ERROR": "Coupon code \"{ couponCode }\" has expired", + "COUPON_CODE_INVALID_ERROR": "Coupon code \"{ couponCode }\" is not valid", + "COUPON_CODE_LIMIT_ERROR": "Coupon code cannot be used more than {limit, plural, one {once} other {# times}} per customer", + "EMAIL_ADDRESS_CONFLICT_ERROR": "The email address is not available.", + "EMPTY_ORDER_LINE_SELECTION_ERROR": "At least one OrderLine must be specified", + "IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR": "Identifier change token not recognized", + "INVALID_CREDENTIALS_ERROR": "The provided credentials are invalid", + "ITEMS_ALREADY_FULFILLED_ERROR": "One or more OrderItems are already part of a Fulfillment", + "LANGUAGE_NOT_AVAILABLE_ERROR": "Language \"{languageCode}\" is not available. First enable it via GlobalSettings and try again", + "MIME_TYPE_ERROR": "The MIME type '{ mimeType }' is not permitted.", + "MISSING_CONDITIONS_ERROR": "A Promotion must have either at least one condition or a coupon code set", + "MISSING_PASSWORD_ERROR": "A password must be provided.", + "NEGATIVE_QUANTITY_ERROR": "The quantity for an OrderItem cannot be negative", + "NOTHING_TO_REFUND_ERROR": "Nothing to refund", + "ORDER_LIMIT_ERROR": "Cannot add items. An order may consist of a maximum of { maxItems } items", + "ORDER_MODIFICATION_ERROR": "Order contents may only be modified when in the \"AddingItems\" state", + "ORDER_PAYMENT_STATE_ERROR": "A Payment may only be added when Order is in \"ArrangingPayment\" state", + "ORDER_STATE_TRANSITION_ERROR": "Cannot transition Order from \"{ fromState }\" to \"{ toState }\"", + "PASSWORD_ALREADY_SET_ERROR": "A password has already been set during registration", + "PASSWORD_RESET_TOKEN_EXPIRED_ERROR": "Password reset token has expired", + "PASSWORD_RESET_TOKEN_INVALID_ERROR": "Password reset token not recognized", + "PAYMENT_DECLINED_ERROR": "The payment was declined", + "PAYMENT_FAILED_ERROR": "The payment failed", + "PAYMENT_ORDER_MISMATCH_ERROR": "The Payment and OrderLines do not belong to the same Order", + "PRODUCT_OPTION_IN_USE_ERROR": "Cannot remove ProductOptionGroup \"{ optionGroupCode }\" as it is used by {productVariantCount, plural, one {1 ProductVariant} other {# ProductVariants}}", + "QUANTITY_TOO_GREAT_ERROR": "The specified quantity is greater than the available OrderItems", + "REFUND_ORDER_STATE_ERROR": "Cannot refund an Order in the \"{ orderState }\" state", + "SETTLE_PAYMENT_ERROR": "Settling the payment failed", + "VERIFICATION_TOKEN_EXPIRED_ERROR": "Verification token has expired. Use refreshCustomerVerification to send a new token.", + "VERIFICATION_TOKEN_INVALID_ERROR": "Verification token not recognized" + }, "message": { "asset-to-be-deleted-is-featured": "The selected {assetCount, plural, one {Asset is} other {Assets are}} featured by {products, plural, =0 {} one {1 Product} other {# Products}} {variants, plural, =0 {} one { 1 ProductVariant} other { # ProductVariants}} {collections, plural, =0 {} one { 1 Collection} other { # Collections}}", + "cannot-remove-tax-category-due-to-tax-rates": "Cannot remove TaxCategory \"{ name }\" as it is referenced by {count, plural, one {1 TaxRate} other {# TaxRates}}", + "cannot-transition-order-from-to": "Cannot transition Order from \"{ fromState }\" to \"{ toState }\"", + "cannot-transition-to-shipping-when-order-is-empty": "Cannot transition Order to the \"ArrangingShipping\" state when it is empty", + "cannot-transition-to-payment-without-customer": "Cannot transition Order to the \"ArrangingPayment\" state without Customer details", + "cannot-transition-unless-all-cancelled": "Cannot transition Order to the \"Cancelled\" state unless all OrderItems are cancelled", + "cannot-transition-unless-all-order-items-delivered": "Cannot transition Order to the \"Delivered\" state unless all OrderItems are delivered", + "cannot-transition-unless-some-order-items-delivered": "Cannot transition Order to the \"PartiallyDelivered\" state unless some OrderItems are delivered", + "cannot-transition-unless-some-order-items-shipped": "Cannot transition Order to the \"PartiallyShipped\" state unless some OrderItems are shipped", + "cannot-transition-unless-all-order-items-shipped": "Cannot transition Order to the \"Shipped\" state unless all OrderItems are shipped", + "cannot-transition-without-authorized-payments": "Cannot transition Order to the \"PaymentAuthorized\" state when the total is not covered by authorized Payments", + "cannot-transition-without-settled-payments": "Cannot transition Order to the \"PaymentSettled\" state when the total is not covered by settled Payments", "country-used-in-addresses": "The selected Country cannot be deleted as it is used in {count, plural, one {1 Address} other {# Addresses}}", "facet-force-deleted": "The Facet was deleted and its FacetValues were removed from {products, plural, =0 {} one {1 Product} other {# Products}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 ProductVariant} other {# ProductVariants}}", "facet-used": "The selected Facet includes FacetValues which are assigned to {products, plural, =0 {} one {1 Product} other {# Products}}{both, select, both { , } single {}}{variants, plural, =0 {} one {1 ProductVariant} other {# ProductVariants}}", diff --git a/packages/core/src/i18n/messages/es.json b/packages/core/src/i18n/messages/es.json index 7a53b0e6a3..14f79aa7ec 100644 --- a/packages/core/src/i18n/messages/es.json +++ b/packages/core/src/i18n/messages/es.json @@ -17,7 +17,7 @@ "no-valid-channel-specified": "No se ha especificado ningún canal válido (asegúrate de que el encabezado 'vendure-token' sea especificado en el requisito)", "order-contents-may-only-be-modified-in-addingitems-state": "Los contenidos de un pedido solo pueden ser modificados durante el \"AddingItems\" estado ", "order-does-not-contain-line-with-id": "Este pedido no contiene una línea de pedido con el id { id }", - "order-item-quantity-must-be-positive": "{ quantity } no es una cantidad válida para una linea de pedido", + "order-item-quantity-must-be-positive": "no es una cantidad válida para una linea de pedido", "order-items-limit-exceeded": "No es posible añadir artículos, Un pedido puede consistir de un máximo de { maxItems } artículos ", "payment-may-only-be-added-in-arrangingpayment-state": "Un pago sólo puede ser añadido cuando el pedido se encuentra en el estado de \"ArrangingPayment\"", "password-reset-token-has-expired": "Este token de restablecimiento de contraseña ha expirado.", diff --git a/packages/core/src/i18n/messages/pt_BR.json b/packages/core/src/i18n/messages/pt_BR.json index 3c217fd782..4c970ebc0d 100644 --- a/packages/core/src/i18n/messages/pt_BR.json +++ b/packages/core/src/i18n/messages/pt_BR.json @@ -61,7 +61,7 @@ "no-valid-channel-specified": "Nenhum canal válido foi especificado (verifique se o cabeçalho 'token' foi especificado na solicitação)", "order-contents-may-only-be-modified-in-addingitems-state": "O conteúdo do pedido pode ser modificado apenas no estado \"AddingItems\"", "order-does-not-contain-line-with-id": "Este pedido não contém um OrderLine com o ID { id }", - "order-item-quantity-must-be-positive": "{ quantity } não é uma quantidade válida para um OrderItem", + "order-item-quantity-must-be-positive": "não é uma quantidade válida para um OrderItem", "order-items-limit-exceeded": "Não é possível adicionar itens. Um pedido pode consistir em no máximo { maxItems } itens", "order-lines-must-belong-to-same-order": "Todos os OrderLines devem pertencer a um único pedido", "payment-may-only-be-added-in-arrangingpayment-state": "Um pagamento pode ser adicionado apenas quando o pedido estiver no estado \"ArrangingPayment\"", diff --git a/packages/core/src/plugin/default-search-plugin/search-strategy/search-strategy-utils.ts b/packages/core/src/plugin/default-search-plugin/search-strategy/search-strategy-utils.ts index 5baee169c1..df947388bc 100644 --- a/packages/core/src/plugin/default-search-plugin/search-strategy/search-strategy-utils.ts +++ b/packages/core/src/plugin/default-search-plugin/search-strategy/search-strategy-utils.ts @@ -22,15 +22,15 @@ export function mapToSearchResult(raw: any, currencyCode: CurrencyCode): SearchR ? ({ min: raw.minPriceWithTax, max: raw.maxPriceWithTax } as PriceRange) : ({ value: raw.si_priceWithTax } as SinglePrice); - const productAsset: SearchResultAsset | null = !raw.si_productAssetId - ? null + const productAsset: SearchResultAsset | undefined = !raw.si_productAssetId + ? undefined : { id: raw.si_productAssetId, preview: raw.si_productPreview, focalPoint: parseFocalPoint(raw.si_productPreviewFocalPoint), }; - const productVariantAsset: SearchResultAsset | null = !raw.si_productVariantAssetId - ? null + const productVariantAsset: SearchResultAsset | undefined = !raw.si_productVariantAssetId + ? undefined : { id: raw.si_productVariantAssetId, preview: raw.si_productVariantPreview, @@ -79,7 +79,7 @@ export function createFacetIdCountMap(facetValuesResult: Array<{ facetValues: st return result; } -function parseFocalPoint(focalPoint: any): Coordinate | null { +function parseFocalPoint(focalPoint: any): Coordinate | undefined { if (focalPoint && typeof focalPoint === 'string') { try { return JSON.parse(focalPoint); @@ -87,5 +87,5 @@ function parseFocalPoint(focalPoint: any): Coordinate | null { // fall though } } - return null; + return; } diff --git a/packages/core/src/service/helpers/order-state-machine/order-state-machine.ts b/packages/core/src/service/helpers/order-state-machine/order-state-machine.ts index 72ddf8fb08..b47f367ce7 100644 --- a/packages/core/src/service/helpers/order-state-machine/order-state-machine.ts +++ b/packages/core/src/service/helpers/order-state-machine/order-state-machine.ts @@ -72,45 +72,45 @@ export class OrderStateMachine { private async onTransitionStart(fromState: OrderState, toState: OrderState, data: OrderTransitionData) { if (toState === 'ArrangingPayment') { if (data.order.lines.length === 0) { - return `error.cannot-transition-to-payment-when-order-is-empty`; + return `message.cannot-transition-to-payment-when-order-is-empty`; } if (!data.order.customer) { - return `error.cannot-transition-to-payment-without-customer`; + return `message.cannot-transition-to-payment-without-customer`; } } if (toState === 'PaymentAuthorized' && !orderTotalIsCovered(data.order, 'Authorized')) { - return `error.cannot-transition-without-authorized-payments`; + return `message.cannot-transition-without-authorized-payments`; } if (toState === 'PaymentSettled' && !orderTotalIsCovered(data.order, 'Settled')) { - return `error.cannot-transition-without-settled-payments`; + return `message.cannot-transition-without-settled-payments`; } if (toState === 'Cancelled' && fromState !== 'AddingItems' && fromState !== 'ArrangingPayment') { if (!orderItemsAreAllCancelled(data.order)) { - return `error.cannot-transition-unless-all-cancelled`; + return `message.cannot-transition-unless-all-cancelled`; } } if (toState === 'PartiallyShipped') { const orderWithFulfillments = await this.findOrderWithFulfillments(data.ctx, data.order.id); if (!orderItemsArePartiallyShipped(orderWithFulfillments)) { - return `error.cannot-transition-unless-some-order-items-shipped`; + return `message.cannot-transition-unless-some-order-items-shipped`; } } if (toState === 'Shipped') { const orderWithFulfillments = await this.findOrderWithFulfillments(data.ctx, data.order.id); if (!orderItemsAreShipped(orderWithFulfillments)) { - return `error.cannot-transition-unless-all-order-items-shipped`; + return `message.cannot-transition-unless-all-order-items-shipped`; } } if (toState === 'PartiallyDelivered') { const orderWithFulfillments = await this.findOrderWithFulfillments(data.ctx, data.order.id); if (!orderItemsArePartiallyDelivered(orderWithFulfillments)) { - return `error.cannot-transition-unless-some-order-items-delivered`; + return `message.cannot-transition-unless-some-order-items-delivered`; } } if (toState === 'Delivered') { const orderWithFulfillments = await this.findOrderWithFulfillments(data.ctx, data.order.id); if (!orderItemsAreDelivered(orderWithFulfillments)) { - return `error.cannot-transition-unless-all-order-items-delivered`; + return `message.cannot-transition-unless-all-order-items-delivered`; } } } @@ -181,7 +181,7 @@ export class OrderStateMachine { ); } } - throw new IllegalOperationError(message || 'error.cannot-transition-order-from-to', { + throw new IllegalOperationError(message || 'message.cannot-transition-order-from-to', { fromState, toState, }); diff --git a/packages/core/src/service/services/asset.service.ts b/packages/core/src/service/services/asset.service.ts index 12561465c8..6bb6ac46d7 100644 --- a/packages/core/src/service/services/asset.service.ts +++ b/packages/core/src/service/services/asset.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common'; import { AssetType, CreateAssetInput, + CreateAssetResult, DeletionResponse, DeletionResult, UpdateAssetInput, @@ -14,7 +15,9 @@ import path from 'path'; import { Stream } from 'stream'; import { RequestContext } from '../../api/common/request-context'; -import { InternalServerError, UserInputError } from '../../common/error/errors'; +import { isGraphQlErrorResult } from '../../common/error/error-result'; +import { InternalServerError } from '../../common/error/errors'; +import { MimeTypeError } from '../../common/error/generated-graphql-admin-errors'; import { ListQueryOptions } from '../../common/types/common-types'; import { getAssetType, idsAreEqual } from '../../common/utils'; import { ConfigService } from '../../config/config.service'; @@ -149,24 +152,18 @@ export class AssetService { return entity; } - async validateInputMimeTypes(inputs: CreateAssetInput[]): Promise { - for (const input of inputs) { - const { mimetype } = await input.file; - if (!this.validateMimeType(mimetype)) { - throw new UserInputError('error.mime-type-not-permitted', { mimetype }); - } - } - } - /** * Create an Asset based on a file uploaded via the GraphQL API. */ - async create(ctx: RequestContext, input: CreateAssetInput): Promise { + async create(ctx: RequestContext, input: CreateAssetInput): Promise { const { createReadStream, filename, mimetype } = await input.file; const stream = createReadStream(); - const asset = await this.createAssetInternal(ctx, stream, filename, mimetype); - this.eventBus.publish(new AssetEvent(ctx, asset, 'created')); - return asset; + const result = await this.createAssetInternal(ctx, stream, filename, mimetype); + if (isGraphQlErrorResult(result)) { + return result; + } + this.eventBus.publish(new AssetEvent(ctx, result, 'created')); + return result; } async update(ctx: RequestContext, input: UpdateAssetInput): Promise { @@ -228,7 +225,7 @@ export class AssetService { /** * Create an Asset from a file stream created during data import. */ - async createFromFileStream(stream: ReadStream): Promise { + async createFromFileStream(stream: ReadStream): Promise { const filePath = stream.path; if (typeof filePath === 'string') { const filename = path.basename(filePath); @@ -244,10 +241,10 @@ export class AssetService { stream: Stream, filename: string, mimetype: string, - ): Promise { + ): Promise { const { assetOptions } = this.configService; if (!this.validateMimeType(mimetype)) { - throw new UserInputError('error.mime-type-not-permitted', { mimetype }); + return new MimeTypeError(filename, mimetype); } const { assetPreviewStrategy, assetStorageStrategy } = assetOptions; const sourceFileName = await this.getSourceFileName(filename); diff --git a/packages/core/src/service/services/auth.service.ts b/packages/core/src/service/services/auth.service.ts index c576080fe8..b661a83625 100644 --- a/packages/core/src/service/services/auth.service.ts +++ b/packages/core/src/service/services/auth.service.ts @@ -3,7 +3,9 @@ import { ID } from '@vendure/common/lib/shared-types'; import { ApiType } from '../../api/common/get-api-type'; import { RequestContext } from '../../api/common/request-context'; -import { InternalServerError, NotVerifiedError, UnauthorizedError } from '../../common/error/errors'; +import { InternalServerError, NotVerifiedError } from '../../common/error/errors'; +import { InvalidCredentialsError } from '../../common/error/generated-graphql-admin-errors'; +import { InvalidCredentialsError as ShopInvalidCredentialsError } from '../../common/error/generated-graphql-shop-errors'; import { AuthenticationStrategy } from '../../config/auth/authentication-strategy'; import { NATIVE_AUTH_STRATEGY_NAME, @@ -41,7 +43,7 @@ export class AuthService { apiType: ApiType, authenticationMethod: string, authenticationData: any, - ): Promise { + ): Promise { this.eventBus.publish( new AttemptedLoginEvent( ctx, @@ -54,7 +56,7 @@ export class AuthService { const authenticationStrategy = this.getAuthenticationStrategy(apiType, authenticationMethod); const user = await authenticationStrategy.authenticate(ctx, authenticationData); if (!user) { - throw new UnauthorizedError(); + return new InvalidCredentialsError(); } return this.createAuthenticatedSessionForUser(ctx, user, authenticationStrategy.name); } @@ -95,14 +97,18 @@ export class AuthService { /** * Verify the provided password against the one we have for the given user. */ - async verifyUserPassword(ctx: RequestContext, userId: ID, password: string): Promise { + async verifyUserPassword( + ctx: RequestContext, + userId: ID, + password: string, + ): Promise { const nativeAuthenticationStrategy = this.getAuthenticationStrategy( 'shop', NATIVE_AUTH_STRATEGY_NAME, ); const passwordMatches = await nativeAuthenticationStrategy.verifyUserPassword(ctx, userId, password); if (!passwordMatches) { - throw new UnauthorizedError(); + return new InvalidCredentialsError(); } return true; } diff --git a/packages/core/src/service/services/channel.service.ts b/packages/core/src/service/services/channel.service.ts index e506254b30..94c510a650 100644 --- a/packages/core/src/service/services/channel.service.ts +++ b/packages/core/src/service/services/channel.service.ts @@ -1,22 +1,21 @@ import { Injectable } from '@nestjs/common'; import { CreateChannelInput, + CreateChannelResult, CurrencyCode, DeletionResponse, DeletionResult, UpdateChannelInput, + UpdateChannelResult, } from '@vendure/common/lib/generated-types'; import { DEFAULT_CHANNEL_CODE } from '@vendure/common/lib/shared-constants'; import { ID, Type } from '@vendure/common/lib/shared-types'; import { unique } from '@vendure/common/lib/unique'; import { RequestContext } from '../../api/common/request-context'; -import { - ChannelNotFoundError, - EntityNotFoundError, - InternalServerError, - UserInputError, -} from '../../common/error/errors'; +import { ErrorResultUnion, isGraphQlErrorResult } from '../../common/error/error-result'; +import { ChannelNotFoundError, EntityNotFoundError, InternalServerError } from '../../common/error/errors'; +import { LanguageNotAvailableError } from '../../common/error/generated-graphql-admin-errors'; import { ChannelAware } from '../../common/types/common-types'; import { assertFound, idsAreEqual } from '../../common/utils'; import { ConfigService } from '../../config/config.service'; @@ -136,8 +135,15 @@ export class ChannelService { .findOne(id, { relations: ['defaultShippingZone', 'defaultTaxZone'] }); } - async create(ctx: RequestContext, input: CreateChannelInput): Promise { + async create( + ctx: RequestContext, + input: CreateChannelInput, + ): Promise> { const channel = new Channel(input); + const defaultLanguageValidationResult = await this.validateDefaultLanguageCode(ctx, input); + if (isGraphQlErrorResult(defaultLanguageValidationResult)) { + return defaultLanguageValidationResult; + } if (input.defaultTaxZoneId) { channel.defaultTaxZone = await this.connection.getEntityOrThrow( ctx, @@ -157,20 +163,17 @@ export class ChannelService { return channel; } - async update(ctx: RequestContext, input: UpdateChannelInput): Promise { + async update( + ctx: RequestContext, + input: UpdateChannelInput, + ): Promise> { const channel = await this.findOne(ctx, input.id); if (!channel) { throw new EntityNotFoundError('Channel', input.id); } - if (input.defaultLanguageCode) { - const availableLanguageCodes = await this.globalSettingsService - .getSettings(ctx) - .then(s => s.availableLanguages); - if (!availableLanguageCodes.includes(input.defaultLanguageCode)) { - throw new UserInputError('error.language-not-available-in-global-settings', { - code: input.defaultLanguageCode, - }); - } + const defaultLanguageValidationResult = await this.validateDefaultLanguageCode(ctx, input); + if (isGraphQlErrorResult(defaultLanguageValidationResult)) { + return defaultLanguageValidationResult; } const updatedChannel = patchEntity(channel, input); if (input.defaultTaxZoneId) { @@ -230,6 +233,20 @@ export class ChannelService { } } + private async validateDefaultLanguageCode( + ctx: RequestContext, + input: CreateChannelInput | UpdateChannelInput, + ): Promise { + if (input.defaultLanguageCode) { + const availableLanguageCodes = await this.globalSettingsService + .getSettings(ctx) + .then(s => s.availableLanguages); + if (!availableLanguageCodes.includes(input.defaultLanguageCode)) { + return new LanguageNotAvailableError(input.defaultLanguageCode); + } + } + } + private async updateAllChannels(ctx?: RequestContext) { this.allChannels = await this.findAll(ctx || RequestContext.empty()); } diff --git a/packages/core/src/service/services/customer.service.ts b/packages/core/src/service/services/customer.service.ts index c9beed92f1..4ff226440b 100644 --- a/packages/core/src/service/services/customer.service.ts +++ b/packages/core/src/service/services/customer.service.ts @@ -1,25 +1,37 @@ import { Injectable } from '@nestjs/common'; -import { RegisterCustomerInput } from '@vendure/common/lib/generated-shop-types'; +import { + RegisterCustomerAccountResult, + RegisterCustomerInput, + UpdateCustomerInput as UpdateCustomerShopInput, + VerifyCustomerAccountResult, +} from '@vendure/common/lib/generated-shop-types'; import { AddNoteToCustomerInput, CreateAddressInput, CreateCustomerInput, + CreateCustomerResult, DeletionResponse, DeletionResult, HistoryEntryType, UpdateAddressInput, UpdateCustomerInput, UpdateCustomerNoteInput, + UpdateCustomerResult, } from '@vendure/common/lib/generated-types'; import { ID, PaginatedList } from '@vendure/common/lib/shared-types'; import { RequestContext } from '../../api/common/request-context'; +import { ErrorResultUnion, isGraphQlErrorResult } from '../../common/error/error-result'; +import { EntityNotFoundError, InternalServerError } from '../../common/error/errors'; +import { EmailAddressConflictError as EmailAddressConflictAdminError } from '../../common/error/generated-graphql-admin-errors'; import { - EntityNotFoundError, - IllegalOperationError, - InternalServerError, - UserInputError, -} from '../../common/error/errors'; + EmailAddressConflictError, + IdentifierChangeTokenExpiredError, + IdentifierChangeTokenInvalidError, + MissingPasswordError, + PasswordResetTokenExpiredError, + PasswordResetTokenInvalidError, +} from '../../common/error/generated-graphql-shop-errors'; import { ListQueryOptions } from '../../common/types/common-types'; import { assertFound, idsAreEqual, normalizeEmailAddress } from '../../common/utils'; import { NATIVE_AUTH_STRATEGY_NAME } from '../../config/auth/native-authentication-strategy'; @@ -131,7 +143,11 @@ export class CustomerService { } } - async create(ctx: RequestContext, input: CreateCustomerInput, password?: string): Promise { + async create( + ctx: RequestContext, + input: CreateCustomerInput, + password?: string, + ): Promise> { input.emailAddress = normalizeEmailAddress(input.emailAddress); const customer = new Customer(input); @@ -145,7 +161,7 @@ export class CustomerService { .getOne(); if (existingCustomerInChannel) { - throw new UserInputError(`error.email-address-must-be-unique`); + return new EmailAddressConflictAdminError(); } const existingCustomer = await this.connection.getRepository(ctx, Customer).findOne({ @@ -169,14 +185,21 @@ export class CustomerService { return this.connection.getRepository(Customer).save(updatedCustomer); } else if (existingCustomer || existingUser) { // Not sure when this situation would occur - throw new UserInputError(`error.email-address-must-be-unique`); + return new EmailAddressConflictAdminError(); } customer.user = await this.userService.createCustomerUser(ctx, input.emailAddress, password); if (password && password !== '') { const verificationToken = customer.user.getNativeAuthenticationMethod().verificationToken; if (verificationToken) { - customer.user = await this.userService.verifyUserByToken(ctx, verificationToken); + const result = await this.userService.verifyUserByToken(ctx, verificationToken); + if (isGraphQlErrorResult(result)) { + // In theory this should never be reached, so we will just + // throw the result + throw result; + } else { + customer.user = result; + } } } else { this.eventBus.publish(new AccountRegistrationEvent(ctx, customer.user)); @@ -206,10 +229,57 @@ export class CustomerService { return createdCustomer; } - async registerCustomerAccount(ctx: RequestContext, input: RegisterCustomerInput): Promise { + async update(ctx: RequestContext, input: UpdateCustomerShopInput & { id: ID }): Promise; + async update( + ctx: RequestContext, + input: UpdateCustomerInput, + ): Promise>; + async update( + ctx: RequestContext, + input: UpdateCustomerInput | (UpdateCustomerShopInput & { id: ID }), + ): Promise> { + const hasEmailAddress = (i: any): i is UpdateCustomerInput & { emailAddress: string } => + i.hasOwnProperty('emailAddress'); + + if (hasEmailAddress(input)) { + const existingCustomerInChannel = await this.connection + .getRepository(ctx, Customer) + .createQueryBuilder('customer') + .leftJoin('customer.channels', 'channel') + .where('channel.id = :channelId', { channelId: ctx.channelId }) + .andWhere('customer.emailAddress = :emailAddress', { emailAddress: input.emailAddress }) + .andWhere('customer.id != :customerId', { customerId: input.id }) + .andWhere('customer.deletedAt is null') + .getOne(); + + if (existingCustomerInChannel) { + return new EmailAddressConflictAdminError(); + } + } + + const customer = await this.connection.getEntityOrThrow(ctx, Customer, input.id, { + channelId: ctx.channelId, + }); + const updatedCustomer = patchEntity(customer, input); + await this.connection.getRepository(ctx, Customer).save(updatedCustomer, { reload: false }); + await this.historyService.createHistoryEntryForCustomer({ + customerId: customer.id, + ctx, + type: HistoryEntryType.CUSTOMER_DETAIL_UPDATED, + data: { + input, + }, + }); + return assertFound(this.findOne(ctx, customer.id)); + } + + async registerCustomerAccount( + ctx: RequestContext, + input: RegisterCustomerInput, + ): Promise { if (!this.configService.authOptions.requireVerification) { if (!input.password) { - throw new UserInputError(`error.missing-password-on-registration`); + return new MissingPasswordError(); } } let user = await this.userService.getUserByEmailAddress(ctx, input.emailAddress); @@ -220,7 +290,7 @@ export class CustomerService { if (hasNativeAuthMethod) { // If the user has already been verified and has already // registered with the native authentication strategy, do nothing. - return false; + return { success: true }; } } const customFields = (input as any).customFields; @@ -232,6 +302,9 @@ export class CustomerService { phoneNumber: input.phoneNumber || '', ...(customFields ? { customFields } : {}), }); + if (isGraphQlErrorResult(customer)) { + return customer; + } await this.historyService.createHistoryEntryForCustomer({ customerId: customer.id, ctx, @@ -272,7 +345,7 @@ export class CustomerService { }, }); } - return true; + return { success: true }; } async refreshVerificationToken(ctx: RequestContext, emailAddress: string): Promise { @@ -289,23 +362,24 @@ export class CustomerService { ctx: RequestContext, verificationToken: string, password?: string, - ): Promise { - const user = await this.userService.verifyUserByToken(ctx, verificationToken, password); - if (user) { - const customer = await this.findOneByUserId(ctx, user.id); - if (!customer) { - throw new InternalServerError('error.cannot-locate-customer-for-user'); - } - await this.historyService.createHistoryEntryForCustomer({ - customerId: customer.id, - ctx, - type: HistoryEntryType.CUSTOMER_VERIFIED, - data: { - strategy: NATIVE_AUTH_STRATEGY_NAME, - }, - }); - return this.findOneByUserId(ctx, user.id); + ): Promise> { + const result = await this.userService.verifyUserByToken(ctx, verificationToken, password); + if (isGraphQlErrorResult(result)) { + return result; + } + const customer = await this.findOneByUserId(ctx, result.id); + if (!customer) { + throw new InternalServerError('error.cannot-locate-customer-for-user'); } + await this.historyService.createHistoryEntryForCustomer({ + customerId: customer.id, + ctx, + type: HistoryEntryType.CUSTOMER_VERIFIED, + data: { + strategy: NATIVE_AUTH_STRATEGY_NAME, + }, + }); + return assertFound(this.findOneByUserId(ctx, result.id)); } async requestPasswordReset(ctx: RequestContext, emailAddress: string): Promise { @@ -329,34 +403,35 @@ export class CustomerService { ctx: RequestContext, passwordResetToken: string, password: string, - ): Promise { - const user = await this.userService.resetPasswordByToken(ctx, passwordResetToken, password); - if (user) { - const customer = await this.findOneByUserId(ctx, user.id); - if (!customer) { - throw new InternalServerError('error.cannot-locate-customer-for-user'); - } - await this.historyService.createHistoryEntryForCustomer({ - customerId: customer.id, - ctx, - type: HistoryEntryType.CUSTOMER_PASSWORD_RESET_VERIFIED, - data: {}, - }); - return customer; + ): Promise { + const result = await this.userService.resetPasswordByToken(ctx, passwordResetToken, password); + if (isGraphQlErrorResult(result)) { + return result; } + const customer = await this.findOneByUserId(ctx, result.id); + if (!customer) { + throw new InternalServerError('error.cannot-locate-customer-for-user'); + } + await this.historyService.createHistoryEntryForCustomer({ + customerId: customer.id, + ctx, + type: HistoryEntryType.CUSTOMER_PASSWORD_RESET_VERIFIED, + data: {}, + }); + return result; } async requestUpdateEmailAddress( ctx: RequestContext, userId: ID, newEmailAddress: string, - ): Promise { + ): Promise { const userWithConflictingIdentifier = await this.userService.getUserByEmailAddress( ctx, newEmailAddress, ); if (userWithConflictingIdentifier) { - throw new UserInputError('error.email-address-not-available'); + return new EmailAddressConflictError(); } const user = await this.userService.getUserById(ctx, userId); if (!user) { @@ -401,8 +476,15 @@ export class CustomerService { } } - async updateEmailAddress(ctx: RequestContext, token: string): Promise { - const { user, oldIdentifier } = await this.userService.changeIdentifierByToken(ctx, token); + async updateEmailAddress( + ctx: RequestContext, + token: string, + ): Promise { + const result = await this.userService.changeIdentifierByToken(ctx, token); + if (isGraphQlErrorResult(result)) { + return result; + } + const { user, oldIdentifier } = result; if (!user) { return false; } @@ -425,31 +507,14 @@ export class CustomerService { return true; } - async update(ctx: RequestContext, input: UpdateCustomerInput): Promise { - const customer = await this.connection.getEntityOrThrow(ctx, Customer, input.id, { - channelId: ctx.channelId, - }); - const updatedCustomer = patchEntity(customer, input); - await this.connection.getRepository(ctx, Customer).save(updatedCustomer, { reload: false }); - await this.historyService.createHistoryEntryForCustomer({ - customerId: customer.id, - ctx, - type: HistoryEntryType.CUSTOMER_DETAIL_UPDATED, - data: { - input, - }, - }); - return assertFound(this.findOne(ctx, customer.id)); - } - /** * For guest checkouts, we assume that a matching email address is the same customer. */ async createOrUpdate( ctx: RequestContext, input: Partial & { emailAddress: string }, - throwOnExistingUser: boolean = false, - ): Promise { + errorOnExistingUser: boolean = false, + ): Promise { input.emailAddress = normalizeEmailAddress(input.emailAddress); let customer: Customer; const existing = await this.connection.getRepository(ctx, Customer).findOne({ @@ -460,9 +525,9 @@ export class CustomerService { }, }); if (existing) { - if (existing.user && throwOnExistingUser) { + if (existing.user && errorOnExistingUser) { // It is not permitted to modify an existing *registered* Customer - throw new IllegalOperationError('error.cannot-use-registered-email-address-for-guest-order'); + return new EmailAddressConflictError(); } customer = patchEntity(existing, input); customer.channels.push(await this.connection.getEntityOrThrow(ctx, Channel, ctx.channelId)); diff --git a/packages/core/src/service/services/history.service.ts b/packages/core/src/service/services/history.service.ts index 3a76bb8e55..2835bada50 100644 --- a/packages/core/src/service/services/history.service.ts +++ b/packages/core/src/service/services/history.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@nestjs/common'; +import { UpdateCustomerInput as UpdateCustomerShopInput } from '@vendure/common/lib/generated-shop-types'; import { HistoryEntryListOptions, HistoryEntryType, @@ -29,7 +30,7 @@ export type CustomerHistoryEntryData = { strategy: string; }; [HistoryEntryType.CUSTOMER_DETAIL_UPDATED]: { - input: UpdateCustomerInput; + input: UpdateCustomerInput | UpdateCustomerShopInput; }; [HistoryEntryType.CUSTOMER_ADDRESS_CREATED]: { address: string; diff --git a/packages/core/src/service/services/order.service.ts b/packages/core/src/service/services/order.service.ts index 037439b6a6..538b1b79bb 100644 --- a/packages/core/src/service/services/order.service.ts +++ b/packages/core/src/service/services/order.service.ts @@ -1,8 +1,17 @@ import { Injectable } from '@nestjs/common'; -import { PaymentInput } from '@vendure/common/lib/generated-shop-types'; import { + AddPaymentToOrderResult, + ApplyCouponCodeResult, + PaymentInput, + RemoveOrderItemsResult, + SetOrderShippingMethodResult, + UpdateOrderItemsResult, +} from '@vendure/common/lib/generated-shop-types'; +import { + AddFulfillmentToOrderResult, AddNoteToOrderInput, CancelOrderInput, + CancelOrderResult, CreateAddressInput, DeletionResponse, DeletionResult, @@ -11,6 +20,8 @@ import { OrderLineInput, OrderProcessState, RefundOrderInput, + RefundOrderResult, + SettlePaymentResult, SettleRefundInput, ShippingMethodQuote, UpdateOrderNoteInput, @@ -20,13 +31,35 @@ import { notNullOrUndefined } from '@vendure/common/lib/shared-utils'; import { unique } from '@vendure/common/lib/unique'; import { RequestContext } from '../../api/common/request-context'; +import { ErrorResultUnion, isGraphQlErrorResult } from '../../common/error/error-result'; import { EntityNotFoundError, IllegalOperationError, InternalServerError, - OrderItemsLimitError, UserInputError, } from '../../common/error/errors'; +import { + AlreadyRefundedError, + CancelActiveOrderError, + EmptyOrderLineSelectionError, + ItemsAlreadyFulfilledError, + MultipleOrderError, + NothingToRefundError, + PaymentOrderMismatchError, + PaymentStateTransitionError, + QuantityTooGreatError, + RefundOrderStateError, + SettlePaymentError, +} from '../../common/error/generated-graphql-admin-errors'; +import { + NegativeQuantityError, + OrderLimitError, + OrderModificationError, + OrderPaymentStateError, + OrderStateTransitionError, + PaymentDeclinedError, + PaymentFailedError, +} from '../../common/error/generated-graphql-shop-errors'; import { ListQueryOptions } from '../../common/types/common-types'; import { assertFound, idsAreEqual } from '../../common/utils'; import { ConfigService } from '../../config/config.service'; @@ -276,11 +309,15 @@ export class OrderService { productVariantId: ID, quantity: number, customFields?: { [key: string]: any }, - ): Promise { - this.assertQuantityIsPositive(quantity); + ): Promise> { const order = await this.getOrderOrThrow(ctx, orderId); - this.assertAddingItemsState(order); - this.assertNotOverOrderItemsLimit(order, quantity); + const validationError = + this.assertQuantityIsPositive(quantity) || + this.assertAddingItemsState(order) || + this.assertNotOverOrderItemsLimit(order, quantity); + if (validationError) { + return validationError; + } const productVariant = await this.getProductVariantOrThrow(ctx, productVariantId); let orderLine = order.lines.find(line => { return ( @@ -304,7 +341,7 @@ export class OrderService { orderLineId: ID, quantity?: number | null, customFields?: { [key: string]: any }, - ): Promise { + ): Promise> { const { priceCalculationStrategy } = this.configService.orderOptions; const order = orderIdOrOrder instanceof Order @@ -314,11 +351,15 @@ export class OrderService { if (customFields != null) { orderLine.customFields = customFields; } - this.assertAddingItemsState(order); if (quantity != null) { - this.assertQuantityIsPositive(quantity); const currentQuantity = orderLine.quantity; - this.assertNotOverOrderItemsLimit(order, quantity - currentQuantity); + const validationError = + this.assertAddingItemsState(order) || + this.assertQuantityIsPositive(quantity) || + this.assertNotOverOrderItemsLimit(order, quantity - currentQuantity); + if (validationError) { + return validationError; + } if (currentQuantity < quantity) { if (!orderLine.items) { orderLine.items = []; @@ -349,9 +390,16 @@ export class OrderService { return this.applyPriceAdjustments(ctx, order, orderLine); } - async removeItemFromOrder(ctx: RequestContext, orderId: ID, orderLineId: ID): Promise { + async removeItemFromOrder( + ctx: RequestContext, + orderId: ID, + orderLineId: ID, + ): Promise> { const order = await this.getOrderOrThrow(ctx, orderId); - this.assertAddingItemsState(order); + const validationError = this.assertAddingItemsState(order); + if (validationError) { + return validationError; + } const orderLine = this.getOrderLineOrThrow(order, orderLineId); order.lines = order.lines.filter(line => !idsAreEqual(line.id, orderLineId)); const updatedOrder = await this.applyPriceAdjustments(ctx, order); @@ -359,31 +407,44 @@ export class OrderService { return updatedOrder; } - async removeAllItemsFromOrder(ctx: RequestContext, orderId: ID): Promise { + async removeAllItemsFromOrder( + ctx: RequestContext, + orderId: ID, + ): Promise> { const order = await this.getOrderOrThrow(ctx, orderId); - this.assertAddingItemsState(order); + const validationError = this.assertAddingItemsState(order); + if (validationError) { + return validationError; + } await this.connection.getRepository(ctx, OrderLine).remove(order.lines); order.lines = []; const updatedOrder = await this.applyPriceAdjustments(ctx, order); return updatedOrder; } - async applyCouponCode(ctx: RequestContext, orderId: ID, couponCode: string) { + async applyCouponCode( + ctx: RequestContext, + orderId: ID, + couponCode: string, + ): Promise> { const order = await this.getOrderOrThrow(ctx, orderId); if (order.couponCodes.includes(couponCode)) { return order; } - const promotion = await this.promotionService.validateCouponCode( + const validationResult = await this.promotionService.validateCouponCode( ctx, couponCode, order.customer && order.customer.id, ); + if (isGraphQlErrorResult(validationResult)) { + return validationResult; + } order.couponCodes.push(couponCode); await this.historyService.createHistoryEntryForOrder({ ctx, orderId: order.id, type: HistoryEntryType.ORDER_COUPON_APPLIED, - data: { couponCode, promotionId: promotion.id }, + data: { couponCode, promotionId: validationResult.id }, }); return this.applyPriceAdjustments(ctx, order); } @@ -442,9 +503,16 @@ export class OrderService { })); } - async setShippingMethod(ctx: RequestContext, orderId: ID, shippingMethodId: ID): Promise { + async setShippingMethod( + ctx: RequestContext, + orderId: ID, + shippingMethodId: ID, + ): Promise> { const order = await this.getOrderOrThrow(ctx, orderId); - this.assertAddingItemsState(order); + const validationError = this.assertAddingItemsState(order); + if (validationError) { + return validationError; + } const eligibleMethods = await this.shippingCalculator.getEligibleShippingMethods(ctx, order); const selectedMethod = eligibleMethods.find(m => idsAreEqual(m.method.id, shippingMethodId)); if (!selectedMethod) { @@ -456,11 +524,20 @@ export class OrderService { return this.connection.getRepository(ctx, Order).save(order); } - async transitionToState(ctx: RequestContext, orderId: ID, state: OrderState): Promise { + async transitionToState( + ctx: RequestContext, + orderId: ID, + state: OrderState, + ): Promise { const order = await this.getOrderOrThrow(ctx, orderId); order.payments = await this.getOrderPayments(ctx, orderId); const fromState = order.state; - await this.orderStateMachine.transition(ctx, order, state); + try { + await this.orderStateMachine.transition(ctx, order, state); + } catch (e) { + const transitionError = ctx.translate(e.message, { fromState, toState: state }); + return new OrderStateTransitionError(transitionError, fromState, state); + } await this.connection.getRepository(ctx, Order).save(order, { reload: false }); this.eventBus.publish(new OrderStateTransitionEvent(fromState, state, ctx, order)); return order; @@ -511,10 +588,14 @@ export class OrderService { } } - async addPaymentToOrder(ctx: RequestContext, orderId: ID, input: PaymentInput): Promise { + async addPaymentToOrder( + ctx: RequestContext, + orderId: ID, + input: PaymentInput, + ): Promise> { const order = await this.getOrderOrThrow(ctx, orderId); if (order.state !== 'ArrangingPayment') { - throw new IllegalOperationError(`error.payment-may-only-be-added-in-arrangingpayment-state`); + return new OrderPaymentStateError(); } const payment = await this.paymentMethodService.createPayment( ctx, @@ -528,10 +609,10 @@ export class OrderService { await this.connection.getRepository(ctx, Order).save(order, { reload: false }); if (payment.state === 'Error') { - // TODO: we need to return an Error response as per - // https://github.com/vendure-ecommerce/vendure/issues/437 - // Throwing an error rolls back all changes, which we do not want. - // throw new InternalServerError(payment.errorMessage); + return new PaymentFailedError(payment.errorMessage); + } + if (payment.state === 'Declined') { + return new PaymentDeclinedError(payment.errorMessage); } if (orderTotalIsCovered(order, 'Settled')) { @@ -543,7 +624,10 @@ export class OrderService { return order; } - async settlePayment(ctx: RequestContext, paymentId: ID): Promise { + async settlePayment( + ctx: RequestContext, + paymentId: ID, + ): Promise> { const payment = await this.connection.getEntityOrThrow(ctx, Payment, paymentId, { relations: ['order'], }); @@ -555,46 +639,56 @@ export class OrderService { if (settlePaymentResult.success) { const fromState = payment.state; const toState = 'Settled'; - await this.paymentStateMachine.transition(ctx, payment.order, payment, toState); + try { + await this.paymentStateMachine.transition(ctx, payment.order, payment, toState); + } catch (e) { + const transitionError = ctx.translate(e.message, { fromState, toState }); + return new PaymentStateTransitionError(transitionError, fromState, toState); + } payment.metadata = { ...payment.metadata, ...settlePaymentResult.metadata }; await this.connection.getRepository(ctx, Payment).save(payment, { reload: false }); this.eventBus.publish( new PaymentStateTransitionEvent(fromState, toState, ctx, payment, payment.order), ); if (payment.amount === payment.order.total) { - await this.transitionToState(ctx, payment.order.id, 'PaymentSettled'); + const orderTransitionResult = await this.transitionToState( + ctx, + payment.order.id, + 'PaymentSettled', + ); + if (isGraphQlErrorResult(orderTransitionResult)) { + return orderTransitionResult; + } } + } else { + return new SettlePaymentError(settlePaymentResult.errorMessage || ''); } return payment; } - async createFulfillment(ctx: RequestContext, input: FulfillOrderInput) { + async createFulfillment( + ctx: RequestContext, + input: FulfillOrderInput, + ): Promise> { if ( !input.lines || input.lines.length === 0 || input.lines.reduce((total, line) => total + line.quantity, 0) === 0 ) { - throw new UserInputError('error.create-fulfillment-nothing-to-fulfill'); + return new EmptyOrderLineSelectionError(); } - const { items, orders } = await this.getOrdersAndItemsFromLines( - ctx, - input.lines, - i => !i.fulfillment, - 'error.create-fulfillment-items-already-fulfilled', - ); - - for (const order of orders) { - if (order.state !== 'PaymentSettled' && order.state !== 'PartiallyDelivered') { - throw new IllegalOperationError('error.create-fulfillment-orders-must-be-settled'); - } + const ordersAndItems = await this.getOrdersAndItemsFromLines(ctx, input.lines, i => !i.fulfillment); + if (!ordersAndItems) { + return new ItemsAlreadyFulfilledError(); } + const fulfillment = await this.fulfillmentService.create(ctx, { trackingCode: input.trackingCode, method: input.method, - orderItems: items, + orderItems: ordersAndItems.items, }); - for (const order of orders) { + for (const order of ordersAndItems.orders) { await this.historyService.createHistoryEntryForOrder({ ctx, orderId: order.id, @@ -627,20 +721,33 @@ export class OrderService { const items = lines.reduce((acc, l) => [...acc, ...l.items], [] as OrderItem[]); return unique(items.map(i => i.fulfillment).filter(notNullOrUndefined), 'id'); } - async cancelOrder(ctx: RequestContext, input: CancelOrderInput): Promise { + + async cancelOrder( + ctx: RequestContext, + input: CancelOrderInput, + ): Promise> { let allOrderItemsCancelled = false; - if (input.lines != null) { - allOrderItemsCancelled = await this.cancelOrderByOrderLines(ctx, input, input.lines); + const cancelResult = + input.lines != null + ? await this.cancelOrderByOrderLines(ctx, input, input.lines) + : await this.cancelOrderById(ctx, input); + + if (isGraphQlErrorResult(cancelResult)) { + return cancelResult; } else { - allOrderItemsCancelled = await this.cancelOrderById(ctx, input); + allOrderItemsCancelled = cancelResult; } + if (allOrderItemsCancelled) { - await this.transitionToState(ctx, input.orderId, 'Cancelled'); + const transitionResult = await this.transitionToState(ctx, input.orderId, 'Cancelled'); + if (isGraphQlErrorResult(transitionResult)) { + return transitionResult; + } } return assertFound(this.findOne(ctx, input.orderId)); } - private async cancelOrderById(ctx: RequestContext, input: CancelOrderInput): Promise { + private async cancelOrderById(ctx: RequestContext, input: CancelOrderInput) { const order = await this.getOrderOrThrow(ctx, input.orderId); if (order.state === 'AddingItems' || order.state === 'ArrangingPayment') { return true; @@ -657,27 +764,24 @@ export class OrderService { ctx: RequestContext, input: CancelOrderInput, lines: OrderLineInput[], - ): Promise { + ) { if (lines.length === 0 || lines.reduce((total, line) => total + line.quantity, 0) === 0) { - throw new UserInputError('error.cancel-order-lines-nothing-to-cancel'); + return new EmptyOrderLineSelectionError(); } - const { items, orders } = await this.getOrdersAndItemsFromLines( - ctx, - lines, - i => !i.cancelled, - 'error.cancel-order-lines-quantity-too-high', - ); - if (1 < orders.length) { - throw new IllegalOperationError('error.order-lines-must-belong-to-same-order'); + const ordersAndItems = await this.getOrdersAndItemsFromLines(ctx, lines, i => !i.cancelled); + if (!ordersAndItems) { + return new QuantityTooGreatError(); } + if (1 < ordersAndItems.orders.length) { + return new MultipleOrderError(); + } + const { orders, items } = ordersAndItems; const order = orders[0]; if (!idsAreEqual(order.id, input.orderId)) { - throw new IllegalOperationError('error.order-lines-must-belong-to-same-order'); + return new MultipleOrderError(); } if (order.state === 'AddingItems' || order.state === 'ArrangingPayment') { - throw new IllegalOperationError('error.cancel-order-lines-invalid-order-state', { - state: order.state, - }); + return new CancelActiveOrderError(order.state); } // Perform the cancellation @@ -685,12 +789,9 @@ export class OrderService { items.forEach(i => (i.cancelled = true)); await this.connection.getRepository(ctx, OrderItem).save(items, { reload: false }); - const orderWithItems = await this.connection.getRepository(ctx, Order).findOne(order.id, { + const orderWithItems = await this.connection.getEntityOrThrow(ctx, Order, order.id, { relations: ['lines', 'lines.items'], }); - if (!orderWithItems) { - throw new InternalServerError('error.could-not-find-order'); - } await this.historyService.createHistoryEntryForOrder({ ctx, orderId: order.id, @@ -703,29 +804,31 @@ export class OrderService { return orderItemsAreAllCancelled(orderWithItems); } - async refundOrder(ctx: RequestContext, input: RefundOrderInput): Promise { + async refundOrder( + ctx: RequestContext, + input: RefundOrderInput, + ): Promise> { if ( (!input.lines || input.lines.length === 0 || input.lines.reduce((total, line) => total + line.quantity, 0) === 0) && input.shipping === 0 ) { - throw new UserInputError('error.refund-order-lines-nothing-to-refund'); + return new NothingToRefundError(); } - const { items, orders } = await this.getOrdersAndItemsFromLines( - ctx, - input.lines, - i => !i.cancelled, - 'error.refund-order-lines-quantity-too-high', - ); + const ordersAndItems = await this.getOrdersAndItemsFromLines(ctx, input.lines, i => !i.cancelled); + if (!ordersAndItems) { + return new QuantityTooGreatError(); + } + const { orders, items } = ordersAndItems; if (1 < orders.length) { - throw new IllegalOperationError('error.order-lines-must-belong-to-same-order'); + return new MultipleOrderError(); } const payment = await this.connection.getEntityOrThrow(ctx, Payment, input.paymentId, { relations: ['order'], }); if (orders && orders.length && !idsAreEqual(payment.order.id, orders[0].id)) { - throw new IllegalOperationError('error.refund-order-payment-lines-mismatch'); + return new PaymentOrderMismatchError(); } const order = payment.order; if ( @@ -733,12 +836,11 @@ export class OrderService { order.state === 'ArrangingPayment' || order.state === 'PaymentAuthorized' ) { - throw new IllegalOperationError('error.refund-order-lines-invalid-order-state', { - state: order.state, - }); + return new RefundOrderStateError(order.state); } - if (items.some(i => !!i.refundId)) { - throw new IllegalOperationError('error.refund-order-item-already-refunded'); + const alreadyRefunded = items.find(i => !!i.refundId); + if (alreadyRefunded) { + return new AlreadyRefundedError(alreadyRefunded.refundId as string); } return await this.paymentMethodService.createRefund(ctx, input, order, items, payment); @@ -768,9 +870,12 @@ export class OrderService { if (order.couponCodes) { let codesRemoved = false; for (const couponCode of order.couponCodes.slice()) { - try { - await this.promotionService.validateCouponCode(ctx, couponCode, customer.id); - } catch (err) { + const validationResult = await this.promotionService.validateCouponCode( + ctx, + couponCode, + customer.id, + ); + if (isGraphQlErrorResult(validationResult)) { order.couponCodes = order.couponCodes.filter(c => c !== couponCode); codesRemoved = true; } @@ -844,8 +949,12 @@ export class OrderService { await this.connection.getRepository(ctx, Order).delete(orderToDelete.id); } if (order && linesToInsert) { + const orderId = order.id; for (const line of linesToInsert) { - order = await this.addItemToOrder(ctx, order.id, line.productVariantId, line.quantity); + const result = await this.addItemToOrder(ctx, orderId, line.productVariantId, line.quantity); + if (!isGraphQlErrorResult(result)) { + order = result; + } } } const customer = await this.customerService.findOneByUserId(ctx, user.id); @@ -896,20 +1005,20 @@ export class OrderService { } /** - * Throws if quantity is negative. + * Returns error if quantity is negative. */ private assertQuantityIsPositive(quantity: number) { if (quantity < 0) { - throw new IllegalOperationError(`error.order-item-quantity-must-be-positive`, { quantity }); + return new NegativeQuantityError(); } } /** - * Throws if the Order is not in the "AddingItems" state. + * Returns error if the Order is not in the "AddingItems" state. */ private assertAddingItemsState(order: Order) { if (order.state !== 'AddingItems') { - throw new IllegalOperationError(`error.order-contents-may-only-be-modified-in-addingitems-state`); + return new OrderModificationError(); } } @@ -921,7 +1030,7 @@ export class OrderService { const currentItemsCount = order.lines.reduce((count, line) => count + line.quantity, 0); const { orderItemsLimit } = this.configService.orderOptions; if (orderItemsLimit < currentItemsCount + quantityToAdd) { - throw new OrderItemsLimitError(orderItemsLimit); + return new OrderLimitError(orderItemsLimit); } } @@ -958,8 +1067,7 @@ export class OrderService { ctx: RequestContext, orderLinesInput: OrderLineInput[], itemMatcher: (i: OrderItem) => boolean, - noMatchesError: string, - ): Promise<{ orders: Order[]; items: OrderItem[] }> { + ): Promise<{ orders: Order[]; items: OrderItem[] } | false> { const orders = new Map(); const items = new Map(); @@ -984,7 +1092,7 @@ export class OrderService { } const matchingItems = line.items.sort((a, b) => (a.id < b.id ? -1 : 1)).filter(itemMatcher); if (matchingItems.length < inputLine.quantity) { - throw new IllegalOperationError(noMatchesError); + return false; } matchingItems.slice(0, inputLine.quantity).forEach(item => { items.set(item.id, item); diff --git a/packages/core/src/service/services/payment-method.service.ts b/packages/core/src/service/services/payment-method.service.ts index 7b4db8dbd8..d95210a238 100644 --- a/packages/core/src/service/services/payment-method.service.ts +++ b/packages/core/src/service/services/payment-method.service.ts @@ -11,6 +11,7 @@ import { assertNever } from '@vendure/common/lib/shared-utils'; import { RequestContext } from '../../api/common/request-context'; import { UserInputError } from '../../common/error/errors'; +import { RefundStateTransitionError } from '../../common/error/generated-graphql-admin-errors'; import { ListQueryOptions } from '../../common/types/common-types'; import { ConfigService } from '../../config/config.service'; import { PaymentMethodHandler } from '../../config/payment-method/payment-method-handler'; @@ -108,7 +109,7 @@ export class PaymentMethodService { order: Order, items: OrderItem[], payment: Payment, - ): Promise { + ): Promise { const { paymentMethod, handler } = await this.getMethodAndHandler(ctx, payment.method); const itemAmount = items.reduce((sum, item) => sum + item.unitPriceWithTax, 0); const refundAmount = itemAmount + input.shipping + input.adjustment; @@ -138,7 +139,11 @@ export class PaymentMethodService { refund = await this.connection.getRepository(ctx, Refund).save(refund); if (createRefundResult) { const fromState = refund.state; - await this.refundStateMachine.transition(ctx, order, refund, createRefundResult.state); + try { + await this.refundStateMachine.transition(ctx, order, refund, createRefundResult.state); + } catch (e) { + return new RefundStateTransitionError(e.message, fromState, createRefundResult.state); + } await this.connection.getRepository(ctx, Refund).save(refund, { reload: false }); this.eventBus.publish( new RefundStateTransitionEvent(fromState, createRefundResult.state, ctx, refund, order), diff --git a/packages/core/src/service/services/product.service.ts b/packages/core/src/service/services/product.service.ts index 2f9ba8f6e9..6243b62930 100644 --- a/packages/core/src/service/services/product.service.ts +++ b/packages/core/src/service/services/product.service.ts @@ -5,6 +5,7 @@ import { DeletionResponse, DeletionResult, Permission, + RemoveOptionGroupFromProductResult, RemoveProductsFromChannelInput, UpdateProductInput, } from '@vendure/common/lib/generated-types'; @@ -12,7 +13,9 @@ import { ID, PaginatedList } from '@vendure/common/lib/shared-types'; import { FindOptionsUtils } from 'typeorm'; import { RequestContext } from '../../api/common/request-context'; +import { ErrorResultUnion } from '../../common/error/error-result'; import { EntityNotFoundError, ForbiddenError, UserInputError } from '../../common/error/errors'; +import { ProductOptionInUseError } from '../../common/error/generated-graphql-admin-errors'; import { ListQueryOptions } from '../../common/types/common-types'; import { Translated } from '../../common/types/locale-types'; import { assertFound, idsAreEqual } from '../../common/utils'; @@ -282,17 +285,14 @@ export class ProductService { ctx: RequestContext, productId: ID, optionGroupId: ID, - ): Promise> { + ): Promise>> { const product = await this.getProductWithOptionGroups(ctx, productId); const optionGroup = product.optionGroups.find(g => idsAreEqual(g.id, optionGroupId)); if (!optionGroup) { throw new EntityNotFoundError('ProductOptionGroup', optionGroupId); } if (product.variants.length) { - throw new UserInputError('error.cannot-remove-option-group-due-to-variants', { - code: optionGroup.code, - count: product.variants.length, - }); + return new ProductOptionInUseError(optionGroup.code, product.variants.length); } product.optionGroups = product.optionGroups.filter(g => g.id !== optionGroupId); diff --git a/packages/core/src/service/services/promotion.service.ts b/packages/core/src/service/services/promotion.service.ts index 50b1c4aab1..926b7dadf6 100644 --- a/packages/core/src/service/services/promotion.service.ts +++ b/packages/core/src/service/services/promotion.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@nestjs/common'; +import { ApplyCouponCodeResult } from '@vendure/common/lib/generated-shop-types'; import { Adjustment, AdjustmentType, @@ -6,21 +7,25 @@ import { ConfigurableOperationDefinition, ConfigurableOperationInput, CreatePromotionInput, + CreatePromotionResult, DeletionResponse, DeletionResult, UpdatePromotionInput, + UpdatePromotionResult, } from '@vendure/common/lib/generated-types'; import { omit } from '@vendure/common/lib/omit'; import { ID, PaginatedList } from '@vendure/common/lib/shared-types'; import { unique } from '@vendure/common/lib/unique'; import { RequestContext } from '../../api/common/request-context'; +import { ErrorResultUnion, JustErrorResults } from '../../common/error/error-result'; +import { UserInputError } from '../../common/error/errors'; +import { MissingConditionsError } from '../../common/error/generated-graphql-admin-errors'; import { CouponCodeExpiredError, CouponCodeInvalidError, CouponCodeLimitError, - UserInputError, -} from '../../common/error/errors'; +} from '../../common/error/generated-graphql-shop-errors'; import { AdjustmentSource } from '../../common/types/adjustment-source'; import { ListQueryOptions } from '../../common/types/common-types'; import { assertFound } from '../../common/utils'; @@ -95,7 +100,10 @@ export class PromotionService { return this.activePromotions; } - async createPromotion(ctx: RequestContext, input: CreatePromotionInput): Promise { + async createPromotion( + ctx: RequestContext, + input: CreatePromotionInput, + ): Promise> { const promotion = new Promotion({ name: input.name, enabled: input.enabled, @@ -107,14 +115,19 @@ export class PromotionService { actions: input.actions.map(a => this.parseOperationArgs('action', a)), priorityScore: this.calculatePriorityScore(input), }); - this.validatePromotionConditions(promotion); + if (promotion.conditions.length === 0 && !promotion.couponCode) { + return new MissingConditionsError(); + } this.channelService.assignToCurrentChannel(promotion, ctx); const newPromotion = await this.connection.getRepository(ctx, Promotion).save(promotion); await this.updatePromotions(); return assertFound(this.findOne(ctx, newPromotion.id)); } - async updatePromotion(ctx: RequestContext, input: UpdatePromotionInput): Promise { + async updatePromotion( + ctx: RequestContext, + input: UpdatePromotionInput, + ): Promise> { const promotion = await this.connection.getEntityOrThrow(ctx, Promotion, input.id, { channelId: ctx.channelId, }); @@ -125,7 +138,9 @@ export class PromotionService { if (input.actions) { updatedPromotion.actions = input.actions.map(a => this.parseOperationArgs('action', a)); } - this.validatePromotionConditions(updatedPromotion); + if (promotion.conditions.length === 0 && !promotion.couponCode) { + return new MissingConditionsError(); + } promotion.priorityScore = this.calculatePriorityScore(input); await this.connection.getRepository(ctx, Promotion).save(updatedPromotion, { reload: false }); await this.updatePromotions(); @@ -142,7 +157,11 @@ export class PromotionService { }; } - async validateCouponCode(ctx: RequestContext, couponCode: string, customerId?: ID): Promise { + async validateCouponCode( + ctx: RequestContext, + couponCode: string, + customerId?: ID, + ): Promise | Promotion> { const promotion = await this.connection.getRepository(ctx, Promotion).findOne({ where: { couponCode, @@ -151,15 +170,15 @@ export class PromotionService { }, }); if (!promotion) { - throw new CouponCodeInvalidError(couponCode); + return new CouponCodeInvalidError(couponCode); } if (promotion.endsAt && +promotion.endsAt < +new Date()) { - throw new CouponCodeExpiredError(couponCode); + return new CouponCodeExpiredError(couponCode); } if (customerId && promotion.perCustomerUsageLimit != null) { const usageCount = await this.countPromotionUsagesForCustomer(ctx, promotion.id, customerId); if (promotion.perCustomerUsageLimit <= usageCount) { - throw new CouponCodeLimitError(promotion.perCustomerUsageLimit); + return new CouponCodeLimitError(couponCode, promotion.perCustomerUsageLimit); } } return promotion; @@ -240,13 +259,4 @@ export class PromotionService { where: { enabled: true }, }); } - - /** - * Ensure the Promotion has at least one condition or a couponCode specified. - */ - private validatePromotionConditions(promotion: Promotion) { - if (promotion.conditions.length === 0 && !promotion.couponCode) { - throw new UserInputError('error.promotion-must-have-conditions-or-coupon-code'); - } - } } diff --git a/packages/core/src/service/services/tax-category.service.ts b/packages/core/src/service/services/tax-category.service.ts index 010e904b5a..43d96d4711 100644 --- a/packages/core/src/service/services/tax-category.service.ts +++ b/packages/core/src/service/services/tax-category.service.ts @@ -50,7 +50,7 @@ export class TaxCategoryService { .count({ where: { category: id } }); if (0 < dependentRates) { - const message = ctx.translate('error.cannot-remove-tax-category-due-to-tax-rates', { + const message = ctx.translate('message.cannot-remove-tax-category-due-to-tax-rates', { name: taxCategory.name, count: dependentRates, }); diff --git a/packages/core/src/service/services/user.service.ts b/packages/core/src/service/services/user.service.ts index 2576ea92d3..e8312da46f 100644 --- a/packages/core/src/service/services/user.service.ts +++ b/packages/core/src/service/services/user.service.ts @@ -1,16 +1,21 @@ import { Injectable } from '@nestjs/common'; +import { VerifyCustomerAccountResult } from '@vendure/common/lib/generated-shop-types'; import { ID } from '@vendure/common/lib/shared-types'; import { RequestContext } from '../../api/common/request-context'; +import { ErrorResultUnion } from '../../common/error/error-result'; +import { EntityNotFoundError, InternalServerError } from '../../common/error/errors'; import { - IdentifierChangeTokenError, IdentifierChangeTokenExpiredError, - InternalServerError, + IdentifierChangeTokenInvalidError, + InvalidCredentialsError, + MissingPasswordError, + PasswordAlreadySetError, PasswordResetTokenExpiredError, - UnauthorizedError, - UserInputError, + PasswordResetTokenInvalidError, VerificationTokenExpiredError, -} from '../../common/error/errors'; + VerificationTokenInvalidError, +} from '../../common/error/generated-graphql-shop-errors'; import { ConfigService } from '../../config/config.service'; import { NativeAuthenticationMethod } from '../../entity/authentication-method/native-authentication-method.entity'; import { User } from '../../entity/user/user.entity'; @@ -114,7 +119,7 @@ export class UserService { ctx: RequestContext, verificationToken: string, password?: string, - ): Promise { + ): Promise> { const user = await this.connection .getRepository(ctx, User) .createQueryBuilder('user') @@ -127,11 +132,11 @@ export class UserService { const nativeAuthMethod = user.getNativeAuthenticationMethod(); if (!password) { if (!nativeAuthMethod.passwordHash) { - throw new UserInputError(`error.password-required-for-verification`); + return new MissingPasswordError(); } } else { if (!!nativeAuthMethod.passwordHash) { - throw new UserInputError(`error.password-already-set-during-registration`); + return new PasswordAlreadySetError(); } nativeAuthMethod.passwordHash = await this.passwordCipher.hash(password); } @@ -140,8 +145,10 @@ export class UserService { await this.connection.getRepository(ctx, NativeAuthenticationMethod).save(nativeAuthMethod); return this.connection.getRepository(ctx, User).save(user); } else { - throw new VerificationTokenExpiredError(); + return new VerificationTokenExpiredError(); } + } else { + return new VerificationTokenInvalidError(); } } @@ -160,30 +167,35 @@ export class UserService { ctx: RequestContext, passwordResetToken: string, password: string, - ): Promise { + ): Promise { const user = await this.connection .getRepository(ctx, User) .createQueryBuilder('user') .leftJoinAndSelect('user.authenticationMethods', 'authenticationMethod') .where('authenticationMethod.passwordResetToken = :passwordResetToken', { passwordResetToken }) .getOne(); - if (user) { - if (this.verificationTokenGenerator.verifyVerificationToken(passwordResetToken)) { - const nativeAuthMethod = user.getNativeAuthenticationMethod(); - nativeAuthMethod.passwordHash = await this.passwordCipher.hash(password); - nativeAuthMethod.passwordResetToken = null; - await this.connection.getRepository(ctx, NativeAuthenticationMethod).save(nativeAuthMethod); - return this.connection.getRepository(ctx, User).save(user); - } else { - throw new PasswordResetTokenExpiredError(); - } + if (!user) { + return new PasswordResetTokenInvalidError(); + } + if (this.verificationTokenGenerator.verifyVerificationToken(passwordResetToken)) { + const nativeAuthMethod = user.getNativeAuthenticationMethod(); + nativeAuthMethod.passwordHash = await this.passwordCipher.hash(password); + nativeAuthMethod.passwordResetToken = null; + await this.connection.getRepository(ctx, NativeAuthenticationMethod).save(nativeAuthMethod); + return this.connection.getRepository(ctx, User).save(user); + } else { + return new PasswordResetTokenExpiredError(); } } async changeIdentifierByToken( ctx: RequestContext, token: string, - ): Promise<{ user: User; oldIdentifier: string }> { + ): Promise< + | { user: User; oldIdentifier: string } + | IdentifierChangeTokenInvalidError + | IdentifierChangeTokenExpiredError + > { const user = await this.connection .getRepository(ctx, User) .createQueryBuilder('user') @@ -193,10 +205,10 @@ export class UserService { }) .getOne(); if (!user) { - throw new IdentifierChangeTokenError(); + return new IdentifierChangeTokenInvalidError(); } if (!this.verificationTokenGenerator.verifyVerificationToken(token)) { - throw new IdentifierChangeTokenExpiredError(); + return new IdentifierChangeTokenExpiredError(); } const nativeAuthMethod = user.getNativeAuthenticationMethod(); const pendingIdentifier = nativeAuthMethod.pendingIdentifier; @@ -220,7 +232,7 @@ export class UserService { userId: ID, currentPassword: string, newPassword: string, - ): Promise { + ): Promise { const user = await this.connection .getRepository(ctx, User) .createQueryBuilder('user') @@ -229,12 +241,12 @@ export class UserService { .where('user.id = :id', { id: userId }) .getOne(); if (!user) { - throw new InternalServerError(`error.no-active-user-id`); + throw new EntityNotFoundError('User', userId); } const nativeAuthMethod = user.getNativeAuthenticationMethod(); const matches = await this.passwordCipher.check(currentPassword, nativeAuthMethod.passwordHash); if (!matches) { - throw new UnauthorizedError(); + return new InvalidCredentialsError(); } nativeAuthMethod.passwordHash = await this.passwordCipher.hash(newPassword); await this.connection diff --git a/packages/core/src/service/transaction/transactional-connection.ts b/packages/core/src/service/transaction/transactional-connection.ts index aca50faa04..db831ea237 100644 --- a/packages/core/src/service/transaction/transactional-connection.ts +++ b/packages/core/src/service/transaction/transactional-connection.ts @@ -125,7 +125,14 @@ export class TransactionalConnection { ): Promise { let entity: T | undefined; if (options.channelId != null) { - entity = await this.findOneInChannel(ctx, entityType, id, options.channelId, options); + const { channelId, ...optionsWithoutChannelId } = options; + entity = await this.findOneInChannel( + ctx, + entityType, + id, + options.channelId, + optionsWithoutChannelId, + ); } else { entity = await this.getRepository(ctx, entityType).findOne(id, options as FindOneOptions); } diff --git a/packages/dev-server/dev-config.ts b/packages/dev-server/dev-config.ts index 80ae86b8c4..5c119e9919 100644 --- a/packages/dev-server/dev-config.ts +++ b/packages/dev-server/dev-config.ts @@ -9,13 +9,32 @@ import { examplePaymentHandler, LanguageCode, LogLevel, + PluginCommonModule, + ProductService, VendureConfig, + VendurePlugin, } from '@vendure/core'; import { ElasticsearchPlugin } from '@vendure/elasticsearch-plugin'; import { defaultEmailHandlers, EmailPlugin } from '@vendure/email-plugin'; import path from 'path'; import { ConnectionOptions } from 'typeorm'; +@VendurePlugin({ + imports: [PluginCommonModule], + providers: [ + { + provide: ProductService, + useClass: class MyProdService { + findOne() { + console.log('YOLO'); + return {}; + } + }, + }, + ], +}) +class MyPlugin {} + /** * Config settings used during development */ @@ -58,6 +77,7 @@ export const devConfig: VendureConfig = { importAssetsDir: path.join(__dirname, 'import-assets'), }, plugins: [ + MyPlugin, AssetServerPlugin.init({ route: 'assets', assetUploadDir: path.join(__dirname, 'assets'), @@ -120,7 +140,7 @@ function getDbConfig(): ConnectionOptions { default: console.log('Using mysql connection'); return { - synchronize: true, + synchronize: false, type: 'mysql', host: '127.0.0.1', port: 3306, diff --git a/packages/elasticsearch-plugin/e2e/graphql/generated-e2e-elasticsearch-plugin-types.ts b/packages/elasticsearch-plugin/e2e/graphql/generated-e2e-elasticsearch-plugin-types.ts index 874663f154..74c9dc782d 100644 --- a/packages/elasticsearch-plugin/e2e/graphql/generated-e2e-elasticsearch-plugin-types.ts +++ b/packages/elasticsearch-plugin/e2e/graphql/generated-e2e-elasticsearch-plugin-types.ts @@ -1,6 +1,6 @@ // tslint:disable export type Maybe = T | null; - +export type Exact = { [K in keyof T]: T[K] }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; @@ -8,11 +8,19 @@ export type Scalars = { Boolean: boolean; Int: number; Float: number; + /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: any; + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any; + /** The `Upload` scalar type represents a file upload. */ Upload: any; }; +export type AddFulfillmentToOrderResult = + | Fulfillment + | EmptyOrderLineSelectionError + | ItemsAlreadyFulfilledError; + export type AddNoteToCustomerInput = { id: Scalars['ID']; note: Scalars['String']; @@ -26,7 +34,6 @@ export type AddNoteToOrderInput = { }; export type Address = Node & { - __typename?: 'Address'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -45,7 +52,6 @@ export type Address = Node & { }; export type Adjustment = { - __typename?: 'Adjustment'; adjustmentSource: Scalars['String']; type: AdjustmentType; description: Scalars['String']; @@ -63,7 +69,6 @@ export enum AdjustmentType { } export type Administrator = Node & { - __typename?: 'Administrator'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -82,7 +87,6 @@ export type AdministratorFilterParameter = { }; export type AdministratorList = PaginatedList & { - __typename?: 'AdministratorList'; items: Array; totalItems: Scalars['Int']; }; @@ -103,8 +107,14 @@ export type AdministratorSortParameter = { emailAddress?: Maybe; }; +/** Returned if an attempting to refund an OrderItem which has already been refunded */ +export type AlreadyRefundedError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + refundId: Scalars['ID']; +}; + export type Asset = Node & { - __typename?: 'Asset'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -133,7 +143,6 @@ export type AssetFilterParameter = { }; export type AssetList = PaginatedList & { - __typename?: 'AssetList'; items: Array; totalItems: Scalars['Int']; }; @@ -175,15 +184,15 @@ export type AuthenticationInput = { }; export type AuthenticationMethod = Node & { - __typename?: 'AuthenticationMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; strategy: Scalars['String']; }; +export type AuthenticationResult = CurrentUser | InvalidCredentialsError; + export type BooleanCustomFieldConfig = CustomField & { - __typename?: 'BooleanCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -197,9 +206,15 @@ export type BooleanOperators = { eq?: Maybe; }; +/** Returned if an attempting to cancel lines from an Order which is still active */ +export type CancelActiveOrderError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + export type Cancellation = Node & StockMovement & { - __typename?: 'Cancellation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -217,8 +232,15 @@ export type CancelOrderInput = { reason?: Maybe; }; +export type CancelOrderResult = + | Order + | EmptyOrderLineSelectionError + | QuantityTooGreatError + | MultipleOrderError + | CancelActiveOrderError + | OrderStateTransitionError; + export type Channel = Node & { - __typename?: 'Channel'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -231,8 +253,18 @@ export type Channel = Node & { pricesIncludeTax: Scalars['Boolean']; }; +/** + * Returned when the default LanguageCode of a Channel is no longer found in the `availableLanguages` + * of the GlobalSettings + */ +export type ChannelDefaultLanguageError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + language: Scalars['String']; + channelCode: Scalars['String']; +}; + export type Collection = Node & { - __typename?: 'Collection'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -258,7 +290,6 @@ export type CollectionProductVariantsArgs = { }; export type CollectionBreadcrumb = { - __typename?: 'CollectionBreadcrumb'; id: Scalars['ID']; name: Scalars['String']; slug: Scalars['String']; @@ -276,7 +307,6 @@ export type CollectionFilterParameter = { }; export type CollectionList = PaginatedList & { - __typename?: 'CollectionList'; items: Array; totalItems: Scalars['Int']; }; @@ -299,7 +329,6 @@ export type CollectionSortParameter = { }; export type CollectionTranslation = { - __typename?: 'CollectionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -310,13 +339,11 @@ export type CollectionTranslation = { }; export type ConfigArg = { - __typename?: 'ConfigArg'; name: Scalars['String']; value: Scalars['String']; }; export type ConfigArgDefinition = { - __typename?: 'ConfigArgDefinition'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -331,13 +358,11 @@ export type ConfigArgInput = { }; export type ConfigurableOperation = { - __typename?: 'ConfigurableOperation'; code: Scalars['String']; args: Array; }; export type ConfigurableOperationDefinition = { - __typename?: 'ConfigurableOperationDefinition'; code: Scalars['String']; args: Array; description: Scalars['String']; @@ -349,7 +374,6 @@ export type ConfigurableOperationInput = { }; export type Coordinate = { - __typename?: 'Coordinate'; x: Scalars['Float']; y: Scalars['Float']; }; @@ -360,7 +384,6 @@ export type CoordinateInput = { }; export type Country = Node & { - __typename?: 'Country'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -381,7 +404,6 @@ export type CountryFilterParameter = { }; export type CountryList = PaginatedList & { - __typename?: 'CountryList'; items: Array; totalItems: Scalars['Int']; }; @@ -402,7 +424,6 @@ export type CountrySortParameter = { }; export type CountryTranslation = { - __typename?: 'CountryTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -443,6 +464,8 @@ export type CreateAssetInput = { file: Scalars['Upload']; }; +export type CreateAssetResult = Asset | MimeTypeError; + export type CreateChannelInput = { code: Scalars['String']; token: Scalars['String']; @@ -453,6 +476,8 @@ export type CreateChannelInput = { defaultShippingZoneId: Scalars['ID']; }; +export type CreateChannelResult = Channel | LanguageNotAvailableError; + export type CreateCollectionInput = { isPrivate?: Maybe; featuredAssetId?: Maybe; @@ -491,6 +516,8 @@ export type CreateCustomerInput = { customFields?: Maybe; }; +export type CreateCustomerResult = Customer | EmailAddressConflictError; + export type CreateFacetInput = { code: Scalars['String']; isPrivate: Scalars['Boolean']; @@ -570,6 +597,8 @@ export type CreatePromotionInput = { actions: Array; }; +export type CreatePromotionResult = Promotion | MissingConditionsError; + export type CreateRoleInput = { code: Scalars['String']; description: Scalars['String']; @@ -927,14 +956,12 @@ export enum CurrencyCode { } export type CurrentUser = { - __typename?: 'CurrentUser'; id: Scalars['ID']; identifier: Scalars['String']; channels: Array; }; export type CurrentUserChannel = { - __typename?: 'CurrentUserChannel'; id: Scalars['ID']; token: Scalars['String']; code: Scalars['String']; @@ -942,7 +969,6 @@ export type CurrentUserChannel = { }; export type Customer = Node & { - __typename?: 'Customer'; groups: Array; history: HistoryEntryList; id: Scalars['ID']; @@ -978,7 +1004,6 @@ export type CustomerFilterParameter = { }; export type CustomerGroup = Node & { - __typename?: 'CustomerGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -997,7 +1022,6 @@ export type CustomerGroupFilterParameter = { }; export type CustomerGroupList = PaginatedList & { - __typename?: 'CustomerGroupList'; items: Array; totalItems: Scalars['Int']; }; @@ -1017,7 +1041,6 @@ export type CustomerGroupSortParameter = { }; export type CustomerList = PaginatedList & { - __typename?: 'CustomerList'; items: Array; totalItems: Scalars['Int']; }; @@ -1059,7 +1082,6 @@ export type CustomFieldConfig = | DateTimeCustomFieldConfig; export type CustomFields = { - __typename?: 'CustomFields'; Address: Array; Collection: Array; Customer: Array; @@ -1093,7 +1115,6 @@ export type DateRange = { * See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes */ export type DateTimeCustomFieldConfig = CustomField & { - __typename?: 'DateTimeCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1107,7 +1128,6 @@ export type DateTimeCustomFieldConfig = CustomField & { }; export type DeletionResponse = { - __typename?: 'DeletionResponse'; result: DeletionResult; message?: Maybe; }; @@ -1119,8 +1139,50 @@ export enum DeletionResult { NOT_DELETED = 'NOT_DELETED', } +/** Retured when attemting to create a Customer with an email address already registered to an existing User. */ +export type EmailAddressConflictError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if no OrderLines have been specified for the operation */ +export type EmptyOrderLineSelectionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +export enum ErrorCode { + UNKNOWN_ERROR = 'UNKNOWN_ERROR', + MIME_TYPE_ERROR = 'MIME_TYPE_ERROR', + INVALID_CREDENTIALS_ERROR = 'INVALID_CREDENTIALS_ERROR', + NATIVE_AUTH_STRATEGY_ERROR = 'NATIVE_AUTH_STRATEGY_ERROR', + LANGUAGE_NOT_AVAILABLE_ERROR = 'LANGUAGE_NOT_AVAILABLE_ERROR', + EMAIL_ADDRESS_CONFLICT_ERROR = 'EMAIL_ADDRESS_CONFLICT_ERROR', + CHANNEL_DEFAULT_LANGUAGE_ERROR = 'CHANNEL_DEFAULT_LANGUAGE_ERROR', + SETTLE_PAYMENT_ERROR = 'SETTLE_PAYMENT_ERROR', + PAYMENT_STATE_TRANSITION_ERROR = 'PAYMENT_STATE_TRANSITION_ERROR', + ORDER_STATE_TRANSITION_ERROR = 'ORDER_STATE_TRANSITION_ERROR', + EMPTY_ORDER_LINE_SELECTION_ERROR = 'EMPTY_ORDER_LINE_SELECTION_ERROR', + ITEMS_ALREADY_FULFILLED_ERROR = 'ITEMS_ALREADY_FULFILLED_ERROR', + QUANTITY_TOO_GREAT_ERROR = 'QUANTITY_TOO_GREAT_ERROR', + MULTIPLE_ORDER_ERROR = 'MULTIPLE_ORDER_ERROR', + CANCEL_ACTIVE_ORDER_ERROR = 'CANCEL_ACTIVE_ORDER_ERROR', + NOTHING_TO_REFUND_ERROR = 'NOTHING_TO_REFUND_ERROR', + PAYMENT_ORDER_MISMATCH_ERROR = 'PAYMENT_ORDER_MISMATCH_ERROR', + REFUND_ORDER_STATE_ERROR = 'REFUND_ORDER_STATE_ERROR', + ALREADY_REFUNDED_ERROR = 'ALREADY_REFUNDED_ERROR', + REFUND_STATE_TRANSITION_ERROR = 'REFUND_STATE_TRANSITION_ERROR', + FULFILLMENT_STATE_TRANSITION_ERROR = 'FULFILLMENT_STATE_TRANSITION_ERROR', + PRODUCT_OPTION_IN_USE_ERROR = 'PRODUCT_OPTION_IN_USE_ERROR', + MISSING_CONDITIONS_ERROR = 'MISSING_CONDITIONS_ERROR', +} + +export type ErrorResult = { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Facet = Node & { - __typename?: 'Facet'; isPrivate: Scalars['Boolean']; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1143,7 +1205,6 @@ export type FacetFilterParameter = { }; export type FacetList = PaginatedList & { - __typename?: 'FacetList'; items: Array; totalItems: Scalars['Int']; }; @@ -1164,7 +1225,6 @@ export type FacetSortParameter = { }; export type FacetTranslation = { - __typename?: 'FacetTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1180,7 +1240,6 @@ export type FacetTranslationInput = { }; export type FacetValue = Node & { - __typename?: 'FacetValue'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1197,13 +1256,11 @@ export type FacetValue = Node & { * by the search, and in what quantity. */ export type FacetValueResult = { - __typename?: 'FacetValueResult'; facetValue: FacetValue; count: Scalars['Int']; }; export type FacetValueTranslation = { - __typename?: 'FacetValueTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1219,7 +1276,6 @@ export type FacetValueTranslationInput = { }; export type FloatCustomFieldConfig = CustomField & { - __typename?: 'FloatCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1233,7 +1289,6 @@ export type FloatCustomFieldConfig = CustomField & { }; export type Fulfillment = Node & { - __typename?: 'Fulfillment'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -1244,6 +1299,15 @@ export type Fulfillment = Node & { trackingCode?: Maybe; }; +/** Returned when there is an error in transitioning the Fulfillment state */ +export type FulfillmentStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type FulfillOrderInput = { lines: Array; method: Scalars['String']; @@ -1251,7 +1315,6 @@ export type FulfillOrderInput = { }; export type GlobalSettings = { - __typename?: 'GlobalSettings'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1262,7 +1325,6 @@ export type GlobalSettings = { }; export type HistoryEntry = Node & { - __typename?: 'HistoryEntry'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -1280,7 +1342,6 @@ export type HistoryEntryFilterParameter = { }; export type HistoryEntryList = PaginatedList & { - __typename?: 'HistoryEntryList'; items: Array; totalItems: Scalars['Int']; }; @@ -1325,14 +1386,12 @@ export enum HistoryEntryType { } export type ImportInfo = { - __typename?: 'ImportInfo'; errors?: Maybe>; processed: Scalars['Int']; imported: Scalars['Int']; }; export type IntCustomFieldConfig = CustomField & { - __typename?: 'IntCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1345,8 +1404,19 @@ export type IntCustomFieldConfig = CustomField & { step?: Maybe; }; +/** Returned if the user authentication credentials are not valid */ +export type InvalidCredentialsError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned if the specified items are already part of a Fulfillment */ +export type ItemsAlreadyFulfilledError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Job = Node & { - __typename?: 'Job'; id: Scalars['ID']; createdAt: Scalars['DateTime']; startedAt?: Maybe; @@ -1373,7 +1443,6 @@ export type JobFilterParameter = { }; export type JobList = PaginatedList & { - __typename?: 'JobList'; items: Array; totalItems: Scalars['Int']; }; @@ -1386,7 +1455,6 @@ export type JobListOptions = { }; export type JobQueue = { - __typename?: 'JobQueue'; name: Scalars['String']; running: Scalars['Boolean']; }; @@ -1741,8 +1809,14 @@ export enum LanguageCode { zu = 'zu', } +/** Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings */ +export type LanguageNotAvailableError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + languageCode: Scalars['String']; +}; + export type LocaleStringCustomFieldConfig = CustomField & { - __typename?: 'LocaleStringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -1755,7 +1829,6 @@ export type LocaleStringCustomFieldConfig = CustomField & { }; export type LocalizedString = { - __typename?: 'LocalizedString'; languageCode: LanguageCode; value: Scalars['String']; }; @@ -1765,9 +1838,17 @@ export enum LogicalOperator { OR = 'OR', } -export type LoginResult = { - __typename?: 'LoginResult'; - user: CurrentUser; +export type MimeTypeError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + fileName: Scalars['String']; + mimeType: Scalars['String']; +}; + +/** Returned if a PromotionCondition has neither a couponCode nor any conditions set */ +export type MissingConditionsError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; }; export type MoveCollectionInput = { @@ -1776,8 +1857,13 @@ export type MoveCollectionInput = { index: Scalars['Int']; }; +/** Returned if an operation has specified OrderLines from multiple Orders */ +export type MultipleOrderError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Mutation = { - __typename?: 'Mutation'; /** Create a new Administrator */ createAdministrator: Administrator; /** Update an existing Administrator */ @@ -1787,7 +1873,7 @@ export type Mutation = { /** Assign a Role to an Administrator */ assignRoleToAdministrator: Administrator; /** Create a new Asset */ - createAssets: Array; + createAssets: Array; /** Update an existing Asset */ updateAsset: Asset; /** Delete an Asset */ @@ -1798,14 +1884,14 @@ export type Mutation = { * Authenticates the user using the native authentication strategy. This mutation * is an alias for `authenticate({ native: { ... }})` */ - login: LoginResult; + login: NativeAuthenticationResult; /** Authenticates the user using a named authentication strategy */ - authenticate: LoginResult; - logout: Scalars['Boolean']; + authenticate: AuthenticationResult; + logout: Success; /** Create a new Channel */ - createChannel: Channel; + createChannel: CreateChannelResult; /** Update an existing Channel */ - updateChannel: Channel; + updateChannel: UpdateChannelResult; /** Delete a Channel */ deleteChannel: DeletionResponse; /** Create a new Collection */ @@ -1833,9 +1919,9 @@ export type Mutation = { /** Remove Customers from a CustomerGroup */ removeCustomersFromGroup: CustomerGroup; /** Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer. */ - createCustomer: Customer; + createCustomer: CreateCustomerResult; /** Update an existing Customer */ - updateCustomer: Customer; + updateCustomer: UpdateCustomerResult; /** Delete a Customer */ deleteCustomer: DeletionResponse; /** Create a new Address and associate it with the Customer specified by customerId */ @@ -1843,7 +1929,7 @@ export type Mutation = { /** Update an existing Address */ updateCustomerAddress: Address; /** Update an existing Address */ - deleteCustomerAddress: Scalars['Boolean']; + deleteCustomerAddress: Success; addNoteToCustomer: Customer; updateCustomerNote: HistoryEntry; deleteCustomerNote: DeletionResponse; @@ -1859,20 +1945,20 @@ export type Mutation = { updateFacetValues: Array; /** Delete one or more FacetValues */ deleteFacetValues: Array; - updateGlobalSettings: GlobalSettings; + updateGlobalSettings: UpdateGlobalSettingsResult; importProducts?: Maybe; /** Remove all settled jobs in the given queues olfer than the given date. Returns the number of jobs deleted. */ removeSettledJobs: Scalars['Int']; - settlePayment: Payment; - fulfillOrder: Fulfillment; - cancelOrder: Order; - refundOrder: Refund; - settleRefund: Refund; + settlePayment: SettlePaymentResult; + addFulfillmentToOrder: AddFulfillmentToOrderResult; + cancelOrder: CancelOrderResult; + refundOrder: RefundOrderResult; + settleRefund: SettleRefundResult; addNoteToOrder: Order; updateOrderNote: HistoryEntry; deleteOrderNote: DeletionResponse; - transitionOrderToState?: Maybe; - transitionFulfillmentToState: Fulfillment; + transitionOrderToState?: Maybe; + transitionFulfillmentToState: TransitionFulfillmentToStateResult; setOrderCustomFields?: Maybe; /** Update an existing PaymentMethod */ updatePaymentMethod: PaymentMethod; @@ -1894,7 +1980,7 @@ export type Mutation = { /** Add an OptionGroup to a Product */ addOptionGroupToProduct: Product; /** Remove an OptionGroup from a Product */ - removeOptionGroupFromProduct: Product; + removeOptionGroupFromProduct: RemoveOptionGroupFromProductResult; /** Create a set of ProductVariants based on the OptionGroups assigned to the given Product */ createProductVariants: Array>; /** Update existing ProductVariants */ @@ -1905,8 +1991,8 @@ export type Mutation = { assignProductsToChannel: Array; /** Removes Products from the specified Channel */ removeProductsFromChannel: Array; - createPromotion: Promotion; - updatePromotion: Promotion; + createPromotion: CreatePromotionResult; + updatePromotion: UpdatePromotionResult; deletePromotion: DeletionResponse; /** Create a new Role */ createRole: Role; @@ -2133,7 +2219,7 @@ export type MutationSettlePaymentArgs = { id: Scalars['ID']; }; -export type MutationFulfillOrderArgs = { +export type MutationAddFulfillmentToOrderArgs = { input: FulfillOrderInput; }; @@ -2319,15 +2405,29 @@ export type MutationRemoveMembersFromZoneArgs = { memberIds: Array; }; +export type NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError; + export type NativeAuthInput = { username: Scalars['String']; password: Scalars['String']; }; +/** Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured. */ +export type NativeAuthStrategyError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Node = { id: Scalars['ID']; }; +/** Returned if an attempting to refund an Order but neither items nor shipping refund was specified */ +export type NothingToRefundError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type NumberOperators = { eq?: Maybe; lt?: Maybe; @@ -2343,7 +2443,6 @@ export type NumberRange = { }; export type Order = Node & { - __typename?: 'Order'; nextStates: Array; id: Scalars['ID']; createdAt: Scalars['DateTime']; @@ -2382,7 +2481,6 @@ export type OrderHistoryArgs = { }; export type OrderAddress = { - __typename?: 'OrderAddress'; fullName?: Maybe; company?: Maybe; streetLine1?: Maybe; @@ -2411,7 +2509,6 @@ export type OrderFilterParameter = { }; export type OrderItem = Node & { - __typename?: 'OrderItem'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2426,7 +2523,6 @@ export type OrderItem = Node & { }; export type OrderLine = Node & { - __typename?: 'OrderLine'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2448,7 +2544,6 @@ export type OrderLineInput = { }; export type OrderList = PaginatedList & { - __typename?: 'OrderList'; items: Array; totalItems: Scalars['Int']; }; @@ -2461,7 +2556,6 @@ export type OrderListOptions = { }; export type OrderProcessState = { - __typename?: 'OrderProcessState'; name: Scalars['String']; to: Array; }; @@ -2480,13 +2574,21 @@ export type OrderSortParameter = { total?: Maybe; }; +/** Returned if there is an error in transitioning the Order state */ +export type OrderStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + export type PaginatedList = { items: Array; totalItems: Scalars['Int']; }; export type Payment = Node & { - __typename?: 'Payment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2500,7 +2602,6 @@ export type Payment = Node & { }; export type PaymentMethod = Node & { - __typename?: 'PaymentMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2518,7 +2619,6 @@ export type PaymentMethodFilterParameter = { }; export type PaymentMethodList = PaginatedList & { - __typename?: 'PaymentMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -2537,6 +2637,21 @@ export type PaymentMethodSortParameter = { code?: Maybe; }; +/** Returned if an attempting to refund a Payment against OrderLines from a different Order */ +export type PaymentOrderMismatchError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Payment state */ +export type PaymentStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + /** * " * @description @@ -2582,13 +2697,11 @@ export enum Permission { /** The price range where the result has more than one price */ export type PriceRange = { - __typename?: 'PriceRange'; min: Scalars['Int']; max: Scalars['Int']; }; export type Product = Node & { - __typename?: 'Product'; enabled: Scalars['Boolean']; channels: Array; id: Scalars['ID']; @@ -2619,7 +2732,6 @@ export type ProductFilterParameter = { }; export type ProductList = PaginatedList & { - __typename?: 'ProductList'; items: Array; totalItems: Scalars['Int']; }; @@ -2632,7 +2744,6 @@ export type ProductListOptions = { }; export type ProductOption = Node & { - __typename?: 'ProductOption'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2646,7 +2757,6 @@ export type ProductOption = Node & { }; export type ProductOptionGroup = Node & { - __typename?: 'ProductOptionGroup'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2659,7 +2769,6 @@ export type ProductOptionGroup = Node & { }; export type ProductOptionGroupTranslation = { - __typename?: 'ProductOptionGroupTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2674,8 +2783,14 @@ export type ProductOptionGroupTranslationInput = { customFields?: Maybe; }; +export type ProductOptionInUseError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + optionGroupCode: Scalars['String']; + productVariantCount: Scalars['Int']; +}; + export type ProductOptionTranslation = { - __typename?: 'ProductOptionTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2700,7 +2815,6 @@ export type ProductSortParameter = { }; export type ProductTranslation = { - __typename?: 'ProductTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2720,7 +2834,6 @@ export type ProductTranslationInput = { }; export type ProductVariant = Node & { - __typename?: 'ProductVariant'; enabled: Scalars['Boolean']; stockOnHand: Scalars['Int']; trackInventory: Scalars['Boolean']; @@ -2767,7 +2880,6 @@ export type ProductVariantFilterParameter = { }; export type ProductVariantList = PaginatedList & { - __typename?: 'ProductVariantList'; items: Array; totalItems: Scalars['Int']; }; @@ -2792,7 +2904,6 @@ export type ProductVariantSortParameter = { }; export type ProductVariantTranslation = { - __typename?: 'ProductVariantTranslation'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2808,7 +2919,6 @@ export type ProductVariantTranslationInput = { }; export type Promotion = Node & { - __typename?: 'Promotion'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -2834,7 +2944,6 @@ export type PromotionFilterParameter = { }; export type PromotionList = PaginatedList & { - __typename?: 'PromotionList'; items: Array; totalItems: Scalars['Int']; }; @@ -2857,8 +2966,13 @@ export type PromotionSortParameter = { name?: Maybe; }; +/** Returned if the specified quantity of an OrderLine is greater than the number of items in that line */ +export type QuantityTooGreatError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; +}; + export type Query = { - __typename?: 'Query'; administrators: AdministratorList; administrator?: Maybe; /** Get a list of Assets */ @@ -3081,7 +3195,6 @@ export type QueryZoneArgs = { }; export type Refund = Node & { - __typename?: 'Refund'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3106,6 +3219,35 @@ export type RefundOrderInput = { reason?: Maybe; }; +export type RefundOrderResult = + | Refund + | QuantityTooGreatError + | NothingToRefundError + | OrderStateTransitionError + | MultipleOrderError + | PaymentOrderMismatchError + | RefundOrderStateError + | AlreadyRefundedError + | RefundStateTransitionError; + +/** Returned if an attempting to refund an Order which is not in the expected state */ +export type RefundOrderStateError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + orderState: Scalars['String']; +}; + +/** Returned when there is an error in transitioning the Refund state */ +export type RefundStateTransitionError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + transitionError: Scalars['String']; + fromState: Scalars['String']; + toState: Scalars['String']; +}; + +export type RemoveOptionGroupFromProductResult = Product | ProductOptionInUseError; + export type RemoveProductsFromChannelInput = { productIds: Array; channelId: Scalars['ID']; @@ -3113,7 +3255,6 @@ export type RemoveProductsFromChannelInput = { export type Return = Node & StockMovement & { - __typename?: 'Return'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3124,7 +3265,6 @@ export type Return = Node & }; export type Role = Node & { - __typename?: 'Role'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3142,7 +3282,6 @@ export type RoleFilterParameter = { }; export type RoleList = PaginatedList & { - __typename?: 'RoleList'; items: Array; totalItems: Scalars['Int']; }; @@ -3164,7 +3303,6 @@ export type RoleSortParameter = { export type Sale = Node & StockMovement & { - __typename?: 'Sale'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3187,19 +3325,16 @@ export type SearchInput = { }; export type SearchReindexResponse = { - __typename?: 'SearchReindexResponse'; success: Scalars['Boolean']; }; export type SearchResponse = { - __typename?: 'SearchResponse'; items: Array; totalItems: Scalars['Int']; facetValues: Array; }; export type SearchResult = { - __typename?: 'SearchResult'; enabled: Scalars['Boolean']; /** An array of ids of the Collections in which this result appears */ channelIds: Array; @@ -3228,7 +3363,6 @@ export type SearchResult = { }; export type SearchResultAsset = { - __typename?: 'SearchResultAsset'; id: Scalars['ID']; preview: Scalars['String']; focalPoint?: Maybe; @@ -3243,19 +3377,32 @@ export type SearchResultSortParameter = { }; export type ServerConfig = { - __typename?: 'ServerConfig'; orderProcess: Array; permittedAssetTypes: Array; customFieldConfig: CustomFields; }; +/** Returned if the Payment settlement fails */ +export type SettlePaymentError = ErrorResult & { + errorCode: ErrorCode; + message: Scalars['String']; + paymentErrorMessage: Scalars['String']; +}; + +export type SettlePaymentResult = + | Payment + | SettlePaymentError + | PaymentStateTransitionError + | OrderStateTransitionError; + export type SettleRefundInput = { id: Scalars['ID']; transactionId: Scalars['String']; }; +export type SettleRefundResult = Refund | RefundStateTransitionError; + export type ShippingMethod = Node & { - __typename?: 'ShippingMethod'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3274,7 +3421,6 @@ export type ShippingMethodFilterParameter = { }; export type ShippingMethodList = PaginatedList & { - __typename?: 'ShippingMethodList'; items: Array; totalItems: Scalars['Int']; }; @@ -3287,7 +3433,6 @@ export type ShippingMethodListOptions = { }; export type ShippingMethodQuote = { - __typename?: 'ShippingMethodQuote'; id: Scalars['ID']; price: Scalars['Int']; priceWithTax: Scalars['Int']; @@ -3305,7 +3450,6 @@ export type ShippingMethodSortParameter = { /** The price value where the result has a single price */ export type SinglePrice = { - __typename?: 'SinglePrice'; value: Scalars['Int']; }; @@ -3316,7 +3460,6 @@ export enum SortOrder { export type StockAdjustment = Node & StockMovement & { - __typename?: 'StockAdjustment'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3337,7 +3480,6 @@ export type StockMovement = { export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return; export type StockMovementList = { - __typename?: 'StockMovementList'; items: Array; totalItems: Scalars['Int']; }; @@ -3356,7 +3498,6 @@ export enum StockMovementType { } export type StringCustomFieldConfig = CustomField & { - __typename?: 'StringCustomFieldConfig'; name: Scalars['String']; type: Scalars['String']; list: Scalars['Boolean']; @@ -3370,7 +3511,6 @@ export type StringCustomFieldConfig = CustomField & { }; export type StringFieldOption = { - __typename?: 'StringFieldOption'; value: Scalars['String']; label?: Maybe>; }; @@ -3380,8 +3520,12 @@ export type StringOperators = { contains?: Maybe; }; +/** Indicates that an operation succeeded, where we do not want to return any more specific information. */ +export type Success = { + success: Scalars['Boolean']; +}; + export type TaxCategory = Node & { - __typename?: 'TaxCategory'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3389,7 +3533,6 @@ export type TaxCategory = Node & { }; export type TaxRate = Node & { - __typename?: 'TaxRate'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3410,7 +3553,6 @@ export type TaxRateFilterParameter = { }; export type TaxRateList = PaginatedList & { - __typename?: 'TaxRateList'; items: Array; totalItems: Scalars['Int']; }; @@ -3448,7 +3590,6 @@ export type TestShippingMethodOrderLineInput = { }; export type TestShippingMethodQuote = { - __typename?: 'TestShippingMethodQuote'; price: Scalars['Int']; priceWithTax: Scalars['Int']; description: Scalars['String']; @@ -3456,11 +3597,14 @@ export type TestShippingMethodQuote = { }; export type TestShippingMethodResult = { - __typename?: 'TestShippingMethodResult'; eligible: Scalars['Boolean']; quote?: Maybe; }; +export type TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError; + +export type TransitionOrderToStateResult = Order | OrderStateTransitionError; + export type UpdateAddressInput = { id: Scalars['ID']; fullName?: Maybe; @@ -3503,6 +3647,8 @@ export type UpdateChannelInput = { defaultShippingZoneId?: Maybe; }; +export type UpdateChannelResult = Channel | LanguageNotAvailableError; + export type UpdateCollectionInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3550,6 +3696,8 @@ export type UpdateCustomerNoteInput = { note: Scalars['String']; }; +export type UpdateCustomerResult = Customer | EmailAddressConflictError; + export type UpdateFacetInput = { id: Scalars['ID']; isPrivate?: Maybe; @@ -3571,6 +3719,8 @@ export type UpdateGlobalSettingsInput = { customFields?: Maybe; }; +export type UpdateGlobalSettingsResult = GlobalSettings | ChannelDefaultLanguageError; + export type UpdateOrderInput = { id: Scalars['ID']; customFields?: Maybe; @@ -3640,6 +3790,8 @@ export type UpdatePromotionInput = { actions?: Maybe>; }; +export type UpdatePromotionResult = Promotion | MissingConditionsError; + export type UpdateRoleInput = { id: Scalars['ID']; code?: Maybe; @@ -3678,7 +3830,6 @@ export type UpdateZoneInput = { }; export type User = Node & { - __typename?: 'User'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3691,7 +3842,6 @@ export type User = Node & { }; export type Zone = Node & { - __typename?: 'Zone'; id: Scalars['ID']; createdAt: Scalars['DateTime']; updatedAt: Scalars['DateTime']; @@ -3699,122 +3849,107 @@ export type Zone = Node & { members: Array; }; -export type SearchProductsAdminQueryVariables = { +export type SearchProductsAdminQueryVariables = Exact<{ input: SearchInput; -}; +}>; -export type SearchProductsAdminQuery = { __typename?: 'Query' } & { - search: { __typename?: 'SearchResponse' } & Pick & { - items: Array< - { __typename?: 'SearchResult' } & Pick< - SearchResult, - | 'enabled' - | 'productId' - | 'productName' - | 'productPreview' - | 'productVariantId' - | 'productVariantName' - | 'productVariantPreview' - | 'sku' - > & { - productAsset?: Maybe< - { __typename?: 'SearchResultAsset' } & Pick< - SearchResultAsset, - 'id' | 'preview' - > & { - focalPoint?: Maybe< - { __typename?: 'Coordinate' } & Pick - >; - } - >; - productVariantAsset?: Maybe< - { __typename?: 'SearchResultAsset' } & Pick< - SearchResultAsset, - 'id' | 'preview' - > & { - focalPoint?: Maybe< - { __typename?: 'Coordinate' } & Pick - >; - } - >; +export type SearchProductsAdminQuery = { + search: Pick & { + items: Array< + Pick< + SearchResult, + | 'enabled' + | 'productId' + | 'productName' + | 'productPreview' + | 'productVariantId' + | 'productVariantName' + | 'productVariantPreview' + | 'sku' + > & { + productAsset?: Maybe< + Pick & { + focalPoint?: Maybe>; } - >; - }; + >; + productVariantAsset?: Maybe< + Pick & { + focalPoint?: Maybe>; + } + >; + } + >; + }; }; -export type SearchFacetValuesQueryVariables = { +export type SearchFacetValuesQueryVariables = Exact<{ input: SearchInput; -}; +}>; -export type SearchFacetValuesQuery = { __typename?: 'Query' } & { - search: { __typename?: 'SearchResponse' } & Pick & { - facetValues: Array< - { __typename?: 'FacetValueResult' } & Pick & { - facetValue: { __typename?: 'FacetValue' } & Pick; - } - >; - }; +export type SearchFacetValuesQuery = { + search: Pick & { + facetValues: Array & { facetValue: Pick }>; + }; }; -export type SearchGetPricesQueryVariables = { +export type SearchGetPricesQueryVariables = Exact<{ input: SearchInput; -}; - -export type SearchGetPricesQuery = { __typename?: 'Query' } & { - search: { __typename?: 'SearchResponse' } & { - items: Array< - { __typename?: 'SearchResult' } & { - price: - | ({ __typename?: 'PriceRange' } & Pick) - | ({ __typename?: 'SinglePrice' } & Pick); - priceWithTax: - | ({ __typename?: 'PriceRange' } & Pick) - | ({ __typename?: 'SinglePrice' } & Pick); - } - >; +}>; + +export type SearchGetPricesQuery = { + search: { + items: Array<{ + price: Pick | Pick; + priceWithTax: Pick | Pick; + }>; }; }; -export type ReindexMutationVariables = {}; +export type ReindexMutationVariables = Exact<{ [key: string]: never }>; -export type ReindexMutation = { __typename?: 'Mutation' } & { - reindex: { __typename?: 'Job' } & Pick< - Job, - 'id' | 'queueName' | 'state' | 'progress' | 'duration' | 'result' - >; +export type ReindexMutation = { + reindex: Pick; }; -export type GetJobInfoQueryVariables = { +export type GetJobInfoQueryVariables = Exact<{ id: Scalars['ID']; -}; +}>; -export type GetJobInfoQuery = { __typename?: 'Query' } & { - job?: Maybe< - { __typename?: 'Job' } & Pick - >; +export type GetJobInfoQuery = { + job?: Maybe>; }; type DiscriminateUnion = T extends U ? T : never; -type RequireField = T & { [P in TNames]: (T & { [name: string]: never })[P] }; - export namespace SearchProductsAdmin { export type Variables = SearchProductsAdminQueryVariables; export type Query = SearchProductsAdminQuery; - export type Search = SearchProductsAdminQuery['search']; - export type Items = NonNullable; + export type Search = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; export type ProductAsset = NonNullable< - NonNullable['productAsset'] + NonNullable< + NonNullable['items']>[number] + >['productAsset'] >; export type FocalPoint = NonNullable< - NonNullable['productAsset']>['focalPoint'] + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['productAsset'] + >['focalPoint'] >; export type ProductVariantAsset = NonNullable< - NonNullable['productVariantAsset'] + NonNullable< + NonNullable['items']>[number] + >['productVariantAsset'] >; export type _FocalPoint = NonNullable< NonNullable< - NonNullable['productVariantAsset'] + NonNullable< + NonNullable['items']>[number] + >['productVariantAsset'] >['focalPoint'] >; } @@ -3822,40 +3957,64 @@ export namespace SearchProductsAdmin { export namespace SearchFacetValues { export type Variables = SearchFacetValuesQueryVariables; export type Query = SearchFacetValuesQuery; - export type Search = SearchFacetValuesQuery['search']; - export type FacetValues = NonNullable; - export type FacetValue = NonNullable['facetValue']; + export type Search = NonNullable; + export type FacetValues = NonNullable< + NonNullable['facetValues']>[number] + >; + export type FacetValue = NonNullable< + NonNullable< + NonNullable['facetValues']>[number] + >['facetValue'] + >; } export namespace SearchGetPrices { export type Variables = SearchGetPricesQueryVariables; export type Query = SearchGetPricesQuery; - export type Search = SearchGetPricesQuery['search']; - export type Items = NonNullable; - export type Price = NonNullable['price']; + export type Search = NonNullable; + export type Items = NonNullable< + NonNullable['items']>[number] + >; + export type Price = NonNullable< + NonNullable['items']>[number]>['price'] + >; export type PriceRangeInlineFragment = DiscriminateUnion< - RequireField['price'], '__typename'>, - { __typename: 'PriceRange' } + NonNullable< + NonNullable['items']>[number]>['price'] + >, + { __typename?: 'PriceRange' } >; export type SinglePriceInlineFragment = DiscriminateUnion< - RequireField['price'], '__typename'>, - { __typename: 'SinglePrice' } + NonNullable< + NonNullable['items']>[number]>['price'] + >, + { __typename?: 'SinglePrice' } + >; + export type PriceWithTax = NonNullable< + NonNullable['items']>[number]>['priceWithTax'] >; - export type PriceWithTax = NonNullable['priceWithTax']; export type _PriceRangeInlineFragment = DiscriminateUnion< - RequireField['priceWithTax'], '__typename'>, - { __typename: 'PriceRange' } + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['priceWithTax'] + >, + { __typename?: 'PriceRange' } >; export type _SinglePriceInlineFragment = DiscriminateUnion< - RequireField['priceWithTax'], '__typename'>, - { __typename: 'SinglePrice' } + NonNullable< + NonNullable< + NonNullable['items']>[number] + >['priceWithTax'] + >, + { __typename?: 'SinglePrice' } >; } export namespace Reindex { export type Variables = ReindexMutationVariables; export type Mutation = ReindexMutation; - export type Reindex = ReindexMutation['reindex']; + export type Reindex = NonNullable; } export namespace GetJobInfo { diff --git a/packages/elasticsearch-plugin/src/elasticsearch.service.ts b/packages/elasticsearch-plugin/src/elasticsearch.service.ts index f9a00bb3b2..368943439c 100644 --- a/packages/elasticsearch-plugin/src/elasticsearch.service.ts +++ b/packages/elasticsearch-plugin/src/elasticsearch.service.ts @@ -312,21 +312,21 @@ export class ElasticsearchService implements OnModuleInit, OnModuleDestroy { private getSearchResultAssets( source: ProductIndexItem | VariantIndexItem, - ): { productAsset: SearchResultAsset | null; productVariantAsset: SearchResultAsset | null } { - const productAsset: SearchResultAsset | null = source.productAssetId + ): { productAsset: SearchResultAsset | undefined; productVariantAsset: SearchResultAsset | undefined } { + const productAsset: SearchResultAsset | undefined = source.productAssetId ? { id: source.productAssetId.toString(), preview: source.productPreview, focalPoint: source.productPreviewFocalPoint, } - : null; - const productVariantAsset: SearchResultAsset | null = source.productVariantAssetId + : undefined; + const productVariantAsset: SearchResultAsset | undefined = source.productVariantAssetId ? { id: source.productVariantAssetId.toString(), preview: source.productVariantPreview, focalPoint: source.productVariantPreviewFocalPoint, } - : null; + : undefined; return { productAsset, productVariantAsset }; } diff --git a/packages/elasticsearch-plugin/src/indexer.controller.ts b/packages/elasticsearch-plugin/src/indexer.controller.ts index e229e771df..2a5f37b749 100644 --- a/packages/elasticsearch-plugin/src/indexer.controller.ts +++ b/packages/elasticsearch-plugin/src/indexer.controller.ts @@ -637,13 +637,13 @@ export class ElasticsearchIndexerController implements OnModuleInit, OnModuleDes slug: v.product.slug, productId: v.product.id, productName: v.product.name, - productAssetId: productAsset ? productAsset.id : null, + productAssetId: productAsset ? productAsset.id : undefined, productPreview: productAsset ? productAsset.preview : '', - productPreviewFocalPoint: productAsset ? productAsset.focalPoint || null : null, + productPreviewFocalPoint: productAsset ? productAsset.focalPoint || undefined : undefined, productVariantName: v.name, - productVariantAssetId: variantAsset ? variantAsset.id : null, + productVariantAssetId: variantAsset ? variantAsset.id : undefined, productVariantPreview: variantAsset ? variantAsset.preview : '', - productVariantPreviewFocalPoint: productAsset ? productAsset.focalPoint || null : null, + productVariantPreviewFocalPoint: productAsset ? productAsset.focalPoint || undefined : undefined, price: v.price, priceWithTax: v.priceWithTax, currencyCode: v.currencyCode, @@ -676,14 +676,14 @@ export class ElasticsearchIndexerController implements OnModuleInit, OnModuleDes slug: first.product.slug, productId: first.product.id, productName: first.product.name, - productAssetId: productAsset ? productAsset.id : null, + productAssetId: productAsset ? productAsset.id : undefined, productPreview: productAsset ? productAsset.preview : '', - productPreviewFocalPoint: productAsset ? productAsset.focalPoint || null : null, + productPreviewFocalPoint: productAsset ? productAsset.focalPoint || undefined : undefined, productVariantId: first.id, productVariantName: first.name, - productVariantAssetId: variantAsset ? variantAsset.id : null, + productVariantAssetId: variantAsset ? variantAsset.id : undefined, productVariantPreview: variantAsset ? variantAsset.preview : '', - productVariantPreviewFocalPoint: productAsset ? productAsset.focalPoint || null : null, + productVariantPreviewFocalPoint: productAsset ? productAsset.focalPoint || undefined : undefined, priceMin: Math.min(...prices), priceMax: Math.max(...prices), priceWithTaxMin: Math.min(...pricesWithTax), diff --git a/packages/elasticsearch-plugin/src/types.ts b/packages/elasticsearch-plugin/src/types.ts index be5b889827..df138ab0cc 100644 --- a/packages/elasticsearch-plugin/src/types.ts +++ b/packages/elasticsearch-plugin/src/types.ts @@ -31,12 +31,12 @@ export type PriceRangeBucket = { }; export type IndexItemAssets = { - productAssetId: ID | null; + productAssetId: ID | undefined; productPreview: string; - productPreviewFocalPoint: Coordinate | null; - productVariantAssetId: ID | null; + productPreviewFocalPoint: Coordinate | undefined; + productVariantAssetId: ID | undefined; productVariantPreview: string; - productVariantPreviewFocalPoint: Coordinate | null; + productVariantPreviewFocalPoint: Coordinate | undefined; }; export type VariantIndexItem = Omit< @@ -214,7 +214,7 @@ export class DeleteAssetMessage extends WorkerMessage = T | null | undefined; +type Maybe = T | undefined; type CustomMappingDefinition = { graphQlType: T; valueFn: (...args: Args) => R; diff --git a/packages/testing/src/data-population/mock-data.service.ts b/packages/testing/src/data-population/mock-data.service.ts index 1a575277d7..8790b07440 100644 --- a/packages/testing/src/data-population/mock-data.service.ts +++ b/packages/testing/src/data-population/mock-data.service.ts @@ -23,8 +23,10 @@ export class MockDataService { const query1 = gql` mutation CreateCustomer($input: CreateCustomerInput!, $password: String) { createCustomer(input: $input, password: $password) { - id - emailAddress + ... on Customer { + id + emailAddress + } } } `; @@ -41,7 +43,10 @@ export class MockDataService { const customer: { id: string; emailAddress: string } | void = await this.client .query(query1, variables1) - .then((data: any) => data.createCustomer, err => this.log(err)); + .then( + (data: any) => data.createCustomer, + err => this.log(err), + ); if (customer) { const query2 = gql` diff --git a/packages/testing/src/error-result-guard.ts b/packages/testing/src/error-result-guard.ts new file mode 100644 index 0000000000..8ff1dceb34 --- /dev/null +++ b/packages/testing/src/error-result-guard.ts @@ -0,0 +1,81 @@ +declare function fail(error?: any): never; + +/** + * Convenience method for creating an {@link ErrorResultGuard}. Takes a predicate function which + * tests whether the input is considered successful (true) or an error result (false). + * + * Note that the resulting variable must _still_ be type annotated in order for the TypeScript + * type inference to work as expected: + * + * @example + * ```TypeScript + * const orderResultGuard: ErrorResultGuard + * = createErrorResultGuard(order => !!order.lines); + * ``` + * @docsCategory testing + */ +export function createErrorResultGuard(testFn: (input: T) => boolean): ErrorResultGuard { + return new ErrorResultGuard(testFn); +} + +/** + * @description + * A utility class which is used to assert the success of an operation + * which returns a union type of `SuccessType | ErrorResponse [ | ErrorResponse ]`. + * The methods of this class are used to: + * 1. assert that the result is a success or error case + * 2. narrow the type so that TypeScript can correctly infer the properties of the result. + * + * @example + * ```TypeScript + * const orderResultGuard: ErrorResultGuard + * = createErrorResultGuard(order => !!order.lines); + * + * it('errors when quantity is negative', async () => { + * const { addItemToOrder } = await shopClient.query(ADD_ITEM_TO_ORDER, { + * productVariantId: 42, quantity: -1, + * }); + * + * // The test will fail + * orderResultGuard.assertErrorResult(addItemToOrder); + * + * // the type of `addItemToOrder` has now been + * // narrowed to only include the ErrorResult types. + * expect(addItemToOrder.errorCode).toBe(ErrorCode.NegativeQuantityError); + * } + * ``` + * @docsCategory testing + */ +export class ErrorResultGuard { + constructor(private testFn: (input: T) => boolean) {} + + /** + * @description + * A type guard which returns `true` if the input passes the `testFn` predicate. + */ + isSuccess(input: T | any): input is T { + return this.testFn(input as T); + } + + /** + * @description + * Asserts (using the testing library's `fail()` function) that the input is + * successful, i.e. it passes the `testFn`. + */ + assertSuccess(input: T | R): asserts input is T { + if (!this.isSuccess(input)) { + fail(`Unexpected error: ${JSON.stringify(input)}`); + } + } + + /** + * @description + * Asserts (using the testing library's `fail()` function) that the input is + * not successful, i.e. it does not pass the `testFn`. + */ + assertErrorResult(input: T | R): asserts input is R { + if (this.isSuccess(input)) { + fail(`Should have errored`); + } + } +} diff --git a/packages/testing/src/index.ts b/packages/testing/src/index.ts index 85aa91afca..1003f1bba3 100644 --- a/packages/testing/src/index.ts +++ b/packages/testing/src/index.ts @@ -4,6 +4,7 @@ export * from './config/test-config'; export * from './create-test-environment'; export * from './data-population/clear-all-tables'; export * from './data-population/populate-customers'; +export * from './error-result-guard'; export * from './initializers/initializers'; export * from './initializers/test-db-initializer'; export * from './initializers/mysql-initializer'; diff --git a/packages/testing/src/simple-graphql-client.ts b/packages/testing/src/simple-graphql-client.ts index 9a170dd6bd..6d97cc6ab8 100644 --- a/packages/testing/src/simple-graphql-client.ts +++ b/packages/testing/src/simple-graphql-client.ts @@ -14,13 +14,17 @@ import { createUploadPostData } from './utils/create-upload-post-data'; const LOGIN = gql` mutation($username: String!, $password: String!) { login(username: $username, password: $password) { - user { + ... on CurrentUser { id identifier channels { token } } + ... on ErrorResult { + errorCode + message + } } } `; @@ -129,14 +133,16 @@ export class SimpleGraphQLClient { await this.query( gql` mutation { - logout + logout { + success + } } `, ); } const result = await this.query(LOGIN, { username, password }); - if (result.login.user.channels.length === 1) { - this.setChannelToken(result.login.user.channels[0].token); + if (result.login.channels?.length === 1) { + this.setChannelToken(result.login.channels[0].token); } return result.login; } @@ -161,7 +167,9 @@ export class SimpleGraphQLClient { await this.query( gql` mutation { - logout + logout { + success + } } `, ); diff --git a/schema-admin.json b/schema-admin.json index 53c86b71fe..d196752f62 100644 --- a/schema-admin.json +++ b/schema-admin.json @@ -1 +1 @@ -{"data":{"__schema":{"queryType":{"name":"Query"},"mutationType":{"name":"Mutation"},"subscriptionType":null,"types":[{"kind":"OBJECT","name":"Query","description":null,"fields":[{"name":"administrators","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"AdministratorListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"AdministratorList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"administrator","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Administrator","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":"Get a list of Assets","args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"AssetListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"AssetList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"asset","description":"Get a single Asset by id","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"me","description":null,"args":[],"type":{"kind":"OBJECT","name":"CurrentUser","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"channel","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Channel","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"activeChannel","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"collections","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"collection","description":"Get a Collection either by id or slug. If neither id nor slug is speicified, an error will result.","args":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Collection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"collectionFilters","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"countries","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CountryListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CountryList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Country","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customerGroups","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerGroupListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroupList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customerGroup","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CustomerGroup","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customers","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customer","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Customer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"facets","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"FacetListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facet","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Facet","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"globalSettings","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GlobalSettings","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"job","description":null,"args":[{"name":"jobId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Job","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"jobs","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"JobListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"JobList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"jobsById","description":null,"args":[{"name":"jobIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Job","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"jobQueues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"JobQueue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"order","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"orders","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentMethods","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"PaymentMethodListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PaymentMethodList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentMethod","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PaymentMethod","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"productOptionGroups","description":null,"args":[{"name":"filterTerm","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"productOptionGroup","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"search","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SearchInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"products","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"product","description":"Get a Product either by id or slug. If neither id nor slug is speicified, an error will result.","args":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Product","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":"Get a ProductVariant by id","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ProductVariant","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"promotion","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Promotion","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"promotions","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"PromotionListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PromotionList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"promotionConditions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"promotionActions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"roles","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"RoleListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RoleList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"role","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Role","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shippingMethods","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ShippingMethodListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethodList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingMethod","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ShippingMethod","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shippingEligibilityCheckers","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingCalculators","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"testShippingMethod","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TestShippingMethodInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TestShippingMethodResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"testEligibleShippingMethods","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TestEligibleShippingMethodsInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethodQuote","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"taxCategories","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"taxCategory","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"TaxCategory","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"taxRates","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"TaxRateListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRateList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRate","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"TaxRate","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"zones","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"zone","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AdministratorListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"AdministratorSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"AdministratorFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Int","description":"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AdministratorSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SortOrder","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ASC","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DESC","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AdministratorFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DateOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"before","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"after","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"between","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateRange","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"DateTime","description":"A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DateRange","description":null,"fields":null,"inputFields":[{"name":"start","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"defaultValue":null},{"name":"end","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"StringOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"contains","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"String","description":"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AdministratorList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"PaginatedList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Node","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"AdministratorList","ofType":null},{"kind":"OBJECT","name":"AssetList","ofType":null},{"kind":"OBJECT","name":"CollectionList","ofType":null},{"kind":"OBJECT","name":"ProductVariantList","ofType":null},{"kind":"OBJECT","name":"CustomerList","ofType":null},{"kind":"OBJECT","name":"HistoryEntryList","ofType":null},{"kind":"OBJECT","name":"OrderList","ofType":null},{"kind":"OBJECT","name":"CountryList","ofType":null},{"kind":"OBJECT","name":"CustomerGroupList","ofType":null},{"kind":"OBJECT","name":"FacetList","ofType":null},{"kind":"OBJECT","name":"JobList","ofType":null},{"kind":"OBJECT","name":"PaymentMethodList","ofType":null},{"kind":"OBJECT","name":"ProductList","ofType":null},{"kind":"OBJECT","name":"PromotionList","ofType":null},{"kind":"OBJECT","name":"RoleList","ofType":null},{"kind":"OBJECT","name":"ShippingMethodList","ofType":null},{"kind":"OBJECT","name":"TaxRateList","ofType":null}]},{"kind":"INTERFACE","name":"Node","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Administrator","ofType":null},{"kind":"OBJECT","name":"User","ofType":null},{"kind":"OBJECT","name":"Role","ofType":null},{"kind":"OBJECT","name":"Channel","ofType":null},{"kind":"OBJECT","name":"Zone","ofType":null},{"kind":"OBJECT","name":"Country","ofType":null},{"kind":"OBJECT","name":"AuthenticationMethod","ofType":null},{"kind":"OBJECT","name":"Asset","ofType":null},{"kind":"OBJECT","name":"Collection","ofType":null},{"kind":"OBJECT","name":"ProductVariant","ofType":null},{"kind":"OBJECT","name":"StockAdjustment","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"OrderLine","ofType":null},{"kind":"OBJECT","name":"OrderItem","ofType":null},{"kind":"OBJECT","name":"Fulfillment","ofType":null},{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"Customer","ofType":null},{"kind":"OBJECT","name":"CustomerGroup","ofType":null},{"kind":"OBJECT","name":"HistoryEntry","ofType":null},{"kind":"OBJECT","name":"Address","ofType":null},{"kind":"OBJECT","name":"Promotion","ofType":null},{"kind":"OBJECT","name":"Payment","ofType":null},{"kind":"OBJECT","name":"Refund","ofType":null},{"kind":"OBJECT","name":"ShippingMethod","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null},{"kind":"OBJECT","name":"Product","ofType":null},{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null},{"kind":"OBJECT","name":"ProductOption","ofType":null},{"kind":"OBJECT","name":"FacetValue","ofType":null},{"kind":"OBJECT","name":"Facet","ofType":null},{"kind":"OBJECT","name":"TaxRate","ofType":null},{"kind":"OBJECT","name":"TaxCategory","ofType":null},{"kind":"OBJECT","name":"Job","ofType":null},{"kind":"OBJECT","name":"PaymentMethod","ofType":null}]},{"kind":"SCALAR","name":"ID","description":"The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Administrator","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"firstName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"emailAddress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"User","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifier","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"verified","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"roles","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"lastLogin","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authenticationMethods","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"AuthenticationMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Boolean","description":"The `Boolean` scalar type represents `true` or `false`.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Role","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"Permission","description":"\"\n@description\nPermissions for administrators and customers. Used to control access to\nGraphQL resolvers via the {@link Allow} decorator.\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"Authenticated","description":" The Authenticated role means simply that the user is logged in ","isDeprecated":false,"deprecationReason":null},{"name":"SuperAdmin","description":" SuperAdmin can perform the most sensitive tasks","isDeprecated":false,"deprecationReason":null},{"name":"Owner","description":" Owner means the user owns this entity, e.g. a Customer's own Order","isDeprecated":false,"deprecationReason":null},{"name":"Public","description":" Public means any unauthenticated user may perform the operation ","isDeprecated":false,"deprecationReason":null},{"name":"CreateCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreatePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadPromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdatePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeletePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteSettings","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Channel","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"token","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultTaxZone","description":null,"args":[],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultShippingZone","description":null,"args":[],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultLanguageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pricesIncludeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Zone","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"members","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Country","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CountryTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LanguageCode","description":"@description\nLanguages in the form of a ISO 639-1 language code with optional\nregion or script modifier (e.g. de_AT). The selection available is based\non the [Unicode CLDR summary list](https://unicode-org.github.io/cldr-staging/charts/37/summary/root.html)\nand includes the major spoken languages of the world and any widely-used variants.\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"af","description":"Afrikaans","isDeprecated":false,"deprecationReason":null},{"name":"ak","description":"Akan","isDeprecated":false,"deprecationReason":null},{"name":"sq","description":"Albanian","isDeprecated":false,"deprecationReason":null},{"name":"am","description":"Amharic","isDeprecated":false,"deprecationReason":null},{"name":"ar","description":"Arabic","isDeprecated":false,"deprecationReason":null},{"name":"hy","description":"Armenian","isDeprecated":false,"deprecationReason":null},{"name":"as","description":"Assamese","isDeprecated":false,"deprecationReason":null},{"name":"az","description":"Azerbaijani","isDeprecated":false,"deprecationReason":null},{"name":"bm","description":"Bambara","isDeprecated":false,"deprecationReason":null},{"name":"bn","description":"Bangla","isDeprecated":false,"deprecationReason":null},{"name":"eu","description":"Basque","isDeprecated":false,"deprecationReason":null},{"name":"be","description":"Belarusian","isDeprecated":false,"deprecationReason":null},{"name":"bs","description":"Bosnian","isDeprecated":false,"deprecationReason":null},{"name":"br","description":"Breton","isDeprecated":false,"deprecationReason":null},{"name":"bg","description":"Bulgarian","isDeprecated":false,"deprecationReason":null},{"name":"my","description":"Burmese","isDeprecated":false,"deprecationReason":null},{"name":"ca","description":"Catalan","isDeprecated":false,"deprecationReason":null},{"name":"ce","description":"Chechen","isDeprecated":false,"deprecationReason":null},{"name":"zh","description":"Chinese","isDeprecated":false,"deprecationReason":null},{"name":"zh_Hans","description":"Simplified Chinese","isDeprecated":false,"deprecationReason":null},{"name":"zh_Hant","description":"Traditional Chinese","isDeprecated":false,"deprecationReason":null},{"name":"cu","description":"Church Slavic","isDeprecated":false,"deprecationReason":null},{"name":"kw","description":"Cornish","isDeprecated":false,"deprecationReason":null},{"name":"co","description":"Corsican","isDeprecated":false,"deprecationReason":null},{"name":"hr","description":"Croatian","isDeprecated":false,"deprecationReason":null},{"name":"cs","description":"Czech","isDeprecated":false,"deprecationReason":null},{"name":"da","description":"Danish","isDeprecated":false,"deprecationReason":null},{"name":"nl","description":"Dutch","isDeprecated":false,"deprecationReason":null},{"name":"nl_BE","description":"Flemish","isDeprecated":false,"deprecationReason":null},{"name":"dz","description":"Dzongkha","isDeprecated":false,"deprecationReason":null},{"name":"en","description":"English","isDeprecated":false,"deprecationReason":null},{"name":"en_AU","description":"Australian English","isDeprecated":false,"deprecationReason":null},{"name":"en_CA","description":"Canadian English","isDeprecated":false,"deprecationReason":null},{"name":"en_GB","description":"British English","isDeprecated":false,"deprecationReason":null},{"name":"en_US","description":"American English","isDeprecated":false,"deprecationReason":null},{"name":"eo","description":"Esperanto","isDeprecated":false,"deprecationReason":null},{"name":"et","description":"Estonian","isDeprecated":false,"deprecationReason":null},{"name":"ee","description":"Ewe","isDeprecated":false,"deprecationReason":null},{"name":"fo","description":"Faroese","isDeprecated":false,"deprecationReason":null},{"name":"fi","description":"Finnish","isDeprecated":false,"deprecationReason":null},{"name":"fr","description":"French","isDeprecated":false,"deprecationReason":null},{"name":"fr_CA","description":"Canadian French","isDeprecated":false,"deprecationReason":null},{"name":"fr_CH","description":"Swiss French","isDeprecated":false,"deprecationReason":null},{"name":"ff","description":"Fulah","isDeprecated":false,"deprecationReason":null},{"name":"gl","description":"Galician","isDeprecated":false,"deprecationReason":null},{"name":"lg","description":"Ganda","isDeprecated":false,"deprecationReason":null},{"name":"ka","description":"Georgian","isDeprecated":false,"deprecationReason":null},{"name":"de","description":"German","isDeprecated":false,"deprecationReason":null},{"name":"de_AT","description":"Austrian German","isDeprecated":false,"deprecationReason":null},{"name":"de_CH","description":"Swiss High German","isDeprecated":false,"deprecationReason":null},{"name":"el","description":"Greek","isDeprecated":false,"deprecationReason":null},{"name":"gu","description":"Gujarati","isDeprecated":false,"deprecationReason":null},{"name":"ht","description":"Haitian Creole","isDeprecated":false,"deprecationReason":null},{"name":"ha","description":"Hausa","isDeprecated":false,"deprecationReason":null},{"name":"he","description":"Hebrew","isDeprecated":false,"deprecationReason":null},{"name":"hi","description":"Hindi","isDeprecated":false,"deprecationReason":null},{"name":"hu","description":"Hungarian","isDeprecated":false,"deprecationReason":null},{"name":"is","description":"Icelandic","isDeprecated":false,"deprecationReason":null},{"name":"ig","description":"Igbo","isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Indonesian","isDeprecated":false,"deprecationReason":null},{"name":"ia","description":"Interlingua","isDeprecated":false,"deprecationReason":null},{"name":"ga","description":"Irish","isDeprecated":false,"deprecationReason":null},{"name":"it","description":"Italian","isDeprecated":false,"deprecationReason":null},{"name":"ja","description":"Japanese","isDeprecated":false,"deprecationReason":null},{"name":"jv","description":"Javanese","isDeprecated":false,"deprecationReason":null},{"name":"kl","description":"Kalaallisut","isDeprecated":false,"deprecationReason":null},{"name":"kn","description":"Kannada","isDeprecated":false,"deprecationReason":null},{"name":"ks","description":"Kashmiri","isDeprecated":false,"deprecationReason":null},{"name":"kk","description":"Kazakh","isDeprecated":false,"deprecationReason":null},{"name":"km","description":"Khmer","isDeprecated":false,"deprecationReason":null},{"name":"ki","description":"Kikuyu","isDeprecated":false,"deprecationReason":null},{"name":"rw","description":"Kinyarwanda","isDeprecated":false,"deprecationReason":null},{"name":"ko","description":"Korean","isDeprecated":false,"deprecationReason":null},{"name":"ku","description":"Kurdish","isDeprecated":false,"deprecationReason":null},{"name":"ky","description":"Kyrgyz","isDeprecated":false,"deprecationReason":null},{"name":"lo","description":"Lao","isDeprecated":false,"deprecationReason":null},{"name":"la","description":"Latin","isDeprecated":false,"deprecationReason":null},{"name":"lv","description":"Latvian","isDeprecated":false,"deprecationReason":null},{"name":"ln","description":"Lingala","isDeprecated":false,"deprecationReason":null},{"name":"lt","description":"Lithuanian","isDeprecated":false,"deprecationReason":null},{"name":"lu","description":"Luba-Katanga","isDeprecated":false,"deprecationReason":null},{"name":"lb","description":"Luxembourgish","isDeprecated":false,"deprecationReason":null},{"name":"mk","description":"Macedonian","isDeprecated":false,"deprecationReason":null},{"name":"mg","description":"Malagasy","isDeprecated":false,"deprecationReason":null},{"name":"ms","description":"Malay","isDeprecated":false,"deprecationReason":null},{"name":"ml","description":"Malayalam","isDeprecated":false,"deprecationReason":null},{"name":"mt","description":"Maltese","isDeprecated":false,"deprecationReason":null},{"name":"gv","description":"Manx","isDeprecated":false,"deprecationReason":null},{"name":"mi","description":"Maori","isDeprecated":false,"deprecationReason":null},{"name":"mr","description":"Marathi","isDeprecated":false,"deprecationReason":null},{"name":"mn","description":"Mongolian","isDeprecated":false,"deprecationReason":null},{"name":"ne","description":"Nepali","isDeprecated":false,"deprecationReason":null},{"name":"nd","description":"North Ndebele","isDeprecated":false,"deprecationReason":null},{"name":"se","description":"Northern Sami","isDeprecated":false,"deprecationReason":null},{"name":"nb","description":"Norwegian Bokmål","isDeprecated":false,"deprecationReason":null},{"name":"nn","description":"Norwegian Nynorsk","isDeprecated":false,"deprecationReason":null},{"name":"ny","description":"Nyanja","isDeprecated":false,"deprecationReason":null},{"name":"or","description":"Odia","isDeprecated":false,"deprecationReason":null},{"name":"om","description":"Oromo","isDeprecated":false,"deprecationReason":null},{"name":"os","description":"Ossetic","isDeprecated":false,"deprecationReason":null},{"name":"ps","description":"Pashto","isDeprecated":false,"deprecationReason":null},{"name":"fa","description":"Persian","isDeprecated":false,"deprecationReason":null},{"name":"fa_AF","description":"Dari","isDeprecated":false,"deprecationReason":null},{"name":"pl","description":"Polish","isDeprecated":false,"deprecationReason":null},{"name":"pt","description":"Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pt_BR","description":"Brazilian Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pt_PT","description":"European Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pa","description":"Punjabi","isDeprecated":false,"deprecationReason":null},{"name":"qu","description":"Quechua","isDeprecated":false,"deprecationReason":null},{"name":"ro","description":"Romanian","isDeprecated":false,"deprecationReason":null},{"name":"ro_MD","description":"Moldavian","isDeprecated":false,"deprecationReason":null},{"name":"rm","description":"Romansh","isDeprecated":false,"deprecationReason":null},{"name":"rn","description":"Rundi","isDeprecated":false,"deprecationReason":null},{"name":"ru","description":"Russian","isDeprecated":false,"deprecationReason":null},{"name":"sm","description":"Samoan","isDeprecated":false,"deprecationReason":null},{"name":"sg","description":"Sango","isDeprecated":false,"deprecationReason":null},{"name":"sa","description":"Sanskrit","isDeprecated":false,"deprecationReason":null},{"name":"gd","description":"Scottish Gaelic","isDeprecated":false,"deprecationReason":null},{"name":"sr","description":"Serbian","isDeprecated":false,"deprecationReason":null},{"name":"sn","description":"Shona","isDeprecated":false,"deprecationReason":null},{"name":"ii","description":"Sichuan Yi","isDeprecated":false,"deprecationReason":null},{"name":"sd","description":"Sindhi","isDeprecated":false,"deprecationReason":null},{"name":"si","description":"Sinhala","isDeprecated":false,"deprecationReason":null},{"name":"sk","description":"Slovak","isDeprecated":false,"deprecationReason":null},{"name":"sl","description":"Slovenian","isDeprecated":false,"deprecationReason":null},{"name":"so","description":"Somali","isDeprecated":false,"deprecationReason":null},{"name":"st","description":"Southern Sotho","isDeprecated":false,"deprecationReason":null},{"name":"es","description":"Spanish","isDeprecated":false,"deprecationReason":null},{"name":"es_ES","description":"European Spanish","isDeprecated":false,"deprecationReason":null},{"name":"es_MX","description":"Mexican Spanish","isDeprecated":false,"deprecationReason":null},{"name":"su","description":"Sundanese","isDeprecated":false,"deprecationReason":null},{"name":"sw","description":"Swahili","isDeprecated":false,"deprecationReason":null},{"name":"sw_CD","description":"Congo Swahili","isDeprecated":false,"deprecationReason":null},{"name":"sv","description":"Swedish","isDeprecated":false,"deprecationReason":null},{"name":"tg","description":"Tajik","isDeprecated":false,"deprecationReason":null},{"name":"ta","description":"Tamil","isDeprecated":false,"deprecationReason":null},{"name":"tt","description":"Tatar","isDeprecated":false,"deprecationReason":null},{"name":"te","description":"Telugu","isDeprecated":false,"deprecationReason":null},{"name":"th","description":"Thai","isDeprecated":false,"deprecationReason":null},{"name":"bo","description":"Tibetan","isDeprecated":false,"deprecationReason":null},{"name":"ti","description":"Tigrinya","isDeprecated":false,"deprecationReason":null},{"name":"to","description":"Tongan","isDeprecated":false,"deprecationReason":null},{"name":"tr","description":"Turkish","isDeprecated":false,"deprecationReason":null},{"name":"tk","description":"Turkmen","isDeprecated":false,"deprecationReason":null},{"name":"uk","description":"Ukrainian","isDeprecated":false,"deprecationReason":null},{"name":"ur","description":"Urdu","isDeprecated":false,"deprecationReason":null},{"name":"ug","description":"Uyghur","isDeprecated":false,"deprecationReason":null},{"name":"uz","description":"Uzbek","isDeprecated":false,"deprecationReason":null},{"name":"vi","description":"Vietnamese","isDeprecated":false,"deprecationReason":null},{"name":"vo","description":"Volapük","isDeprecated":false,"deprecationReason":null},{"name":"cy","description":"Welsh","isDeprecated":false,"deprecationReason":null},{"name":"fy","description":"Western Frisian","isDeprecated":false,"deprecationReason":null},{"name":"wo","description":"Wolof","isDeprecated":false,"deprecationReason":null},{"name":"xh","description":"Xhosa","isDeprecated":false,"deprecationReason":null},{"name":"yi","description":"Yiddish","isDeprecated":false,"deprecationReason":null},{"name":"yo","description":"Yoruba","isDeprecated":false,"deprecationReason":null},{"name":"zu","description":"Zulu","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"CountryTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CurrencyCode","description":"@description\nISO 4217 currency code\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"AED","description":"United Arab Emirates dirham","isDeprecated":false,"deprecationReason":null},{"name":"AFN","description":"Afghan afghani","isDeprecated":false,"deprecationReason":null},{"name":"ALL","description":"Albanian lek","isDeprecated":false,"deprecationReason":null},{"name":"AMD","description":"Armenian dram","isDeprecated":false,"deprecationReason":null},{"name":"ANG","description":"Netherlands Antillean guilder","isDeprecated":false,"deprecationReason":null},{"name":"AOA","description":"Angolan kwanza","isDeprecated":false,"deprecationReason":null},{"name":"ARS","description":"Argentine peso","isDeprecated":false,"deprecationReason":null},{"name":"AUD","description":"Australian dollar","isDeprecated":false,"deprecationReason":null},{"name":"AWG","description":"Aruban florin","isDeprecated":false,"deprecationReason":null},{"name":"AZN","description":"Azerbaijani manat","isDeprecated":false,"deprecationReason":null},{"name":"BAM","description":"Bosnia and Herzegovina convertible mark","isDeprecated":false,"deprecationReason":null},{"name":"BBD","description":"Barbados dollar","isDeprecated":false,"deprecationReason":null},{"name":"BDT","description":"Bangladeshi taka","isDeprecated":false,"deprecationReason":null},{"name":"BGN","description":"Bulgarian lev","isDeprecated":false,"deprecationReason":null},{"name":"BHD","description":"Bahraini dinar","isDeprecated":false,"deprecationReason":null},{"name":"BIF","description":"Burundian franc","isDeprecated":false,"deprecationReason":null},{"name":"BMD","description":"Bermudian dollar","isDeprecated":false,"deprecationReason":null},{"name":"BND","description":"Brunei dollar","isDeprecated":false,"deprecationReason":null},{"name":"BOB","description":"Boliviano","isDeprecated":false,"deprecationReason":null},{"name":"BRL","description":"Brazilian real","isDeprecated":false,"deprecationReason":null},{"name":"BSD","description":"Bahamian dollar","isDeprecated":false,"deprecationReason":null},{"name":"BTN","description":"Bhutanese ngultrum","isDeprecated":false,"deprecationReason":null},{"name":"BWP","description":"Botswana pula","isDeprecated":false,"deprecationReason":null},{"name":"BYN","description":"Belarusian ruble","isDeprecated":false,"deprecationReason":null},{"name":"BZD","description":"Belize dollar","isDeprecated":false,"deprecationReason":null},{"name":"CAD","description":"Canadian dollar","isDeprecated":false,"deprecationReason":null},{"name":"CDF","description":"Congolese franc","isDeprecated":false,"deprecationReason":null},{"name":"CHF","description":"Swiss franc","isDeprecated":false,"deprecationReason":null},{"name":"CLP","description":"Chilean peso","isDeprecated":false,"deprecationReason":null},{"name":"CNY","description":"Renminbi (Chinese) yuan","isDeprecated":false,"deprecationReason":null},{"name":"COP","description":"Colombian peso","isDeprecated":false,"deprecationReason":null},{"name":"CRC","description":"Costa Rican colon","isDeprecated":false,"deprecationReason":null},{"name":"CUC","description":"Cuban convertible peso","isDeprecated":false,"deprecationReason":null},{"name":"CUP","description":"Cuban peso","isDeprecated":false,"deprecationReason":null},{"name":"CVE","description":"Cape Verde escudo","isDeprecated":false,"deprecationReason":null},{"name":"CZK","description":"Czech koruna","isDeprecated":false,"deprecationReason":null},{"name":"DJF","description":"Djiboutian franc","isDeprecated":false,"deprecationReason":null},{"name":"DKK","description":"Danish krone","isDeprecated":false,"deprecationReason":null},{"name":"DOP","description":"Dominican peso","isDeprecated":false,"deprecationReason":null},{"name":"DZD","description":"Algerian dinar","isDeprecated":false,"deprecationReason":null},{"name":"EGP","description":"Egyptian pound","isDeprecated":false,"deprecationReason":null},{"name":"ERN","description":"Eritrean nakfa","isDeprecated":false,"deprecationReason":null},{"name":"ETB","description":"Ethiopian birr","isDeprecated":false,"deprecationReason":null},{"name":"EUR","description":"Euro","isDeprecated":false,"deprecationReason":null},{"name":"FJD","description":"Fiji dollar","isDeprecated":false,"deprecationReason":null},{"name":"FKP","description":"Falkland Islands pound","isDeprecated":false,"deprecationReason":null},{"name":"GBP","description":"Pound sterling","isDeprecated":false,"deprecationReason":null},{"name":"GEL","description":"Georgian lari","isDeprecated":false,"deprecationReason":null},{"name":"GHS","description":"Ghanaian cedi","isDeprecated":false,"deprecationReason":null},{"name":"GIP","description":"Gibraltar pound","isDeprecated":false,"deprecationReason":null},{"name":"GMD","description":"Gambian dalasi","isDeprecated":false,"deprecationReason":null},{"name":"GNF","description":"Guinean franc","isDeprecated":false,"deprecationReason":null},{"name":"GTQ","description":"Guatemalan quetzal","isDeprecated":false,"deprecationReason":null},{"name":"GYD","description":"Guyanese dollar","isDeprecated":false,"deprecationReason":null},{"name":"HKD","description":"Hong Kong dollar","isDeprecated":false,"deprecationReason":null},{"name":"HNL","description":"Honduran lempira","isDeprecated":false,"deprecationReason":null},{"name":"HRK","description":"Croatian kuna","isDeprecated":false,"deprecationReason":null},{"name":"HTG","description":"Haitian gourde","isDeprecated":false,"deprecationReason":null},{"name":"HUF","description":"Hungarian forint","isDeprecated":false,"deprecationReason":null},{"name":"IDR","description":"Indonesian rupiah","isDeprecated":false,"deprecationReason":null},{"name":"ILS","description":"Israeli new shekel","isDeprecated":false,"deprecationReason":null},{"name":"INR","description":"Indian rupee","isDeprecated":false,"deprecationReason":null},{"name":"IQD","description":"Iraqi dinar","isDeprecated":false,"deprecationReason":null},{"name":"IRR","description":"Iranian rial","isDeprecated":false,"deprecationReason":null},{"name":"ISK","description":"Icelandic króna","isDeprecated":false,"deprecationReason":null},{"name":"JMD","description":"Jamaican dollar","isDeprecated":false,"deprecationReason":null},{"name":"JOD","description":"Jordanian dinar","isDeprecated":false,"deprecationReason":null},{"name":"JPY","description":"Japanese yen","isDeprecated":false,"deprecationReason":null},{"name":"KES","description":"Kenyan shilling","isDeprecated":false,"deprecationReason":null},{"name":"KGS","description":"Kyrgyzstani som","isDeprecated":false,"deprecationReason":null},{"name":"KHR","description":"Cambodian riel","isDeprecated":false,"deprecationReason":null},{"name":"KMF","description":"Comoro franc","isDeprecated":false,"deprecationReason":null},{"name":"KPW","description":"North Korean won","isDeprecated":false,"deprecationReason":null},{"name":"KRW","description":"South Korean won","isDeprecated":false,"deprecationReason":null},{"name":"KWD","description":"Kuwaiti dinar","isDeprecated":false,"deprecationReason":null},{"name":"KYD","description":"Cayman Islands dollar","isDeprecated":false,"deprecationReason":null},{"name":"KZT","description":"Kazakhstani tenge","isDeprecated":false,"deprecationReason":null},{"name":"LAK","description":"Lao kip","isDeprecated":false,"deprecationReason":null},{"name":"LBP","description":"Lebanese pound","isDeprecated":false,"deprecationReason":null},{"name":"LKR","description":"Sri Lankan rupee","isDeprecated":false,"deprecationReason":null},{"name":"LRD","description":"Liberian dollar","isDeprecated":false,"deprecationReason":null},{"name":"LSL","description":"Lesotho loti","isDeprecated":false,"deprecationReason":null},{"name":"LYD","description":"Libyan dinar","isDeprecated":false,"deprecationReason":null},{"name":"MAD","description":"Moroccan dirham","isDeprecated":false,"deprecationReason":null},{"name":"MDL","description":"Moldovan leu","isDeprecated":false,"deprecationReason":null},{"name":"MGA","description":"Malagasy ariary","isDeprecated":false,"deprecationReason":null},{"name":"MKD","description":"Macedonian denar","isDeprecated":false,"deprecationReason":null},{"name":"MMK","description":"Myanmar kyat","isDeprecated":false,"deprecationReason":null},{"name":"MNT","description":"Mongolian tögrög","isDeprecated":false,"deprecationReason":null},{"name":"MOP","description":"Macanese pataca","isDeprecated":false,"deprecationReason":null},{"name":"MRU","description":"Mauritanian ouguiya","isDeprecated":false,"deprecationReason":null},{"name":"MUR","description":"Mauritian rupee","isDeprecated":false,"deprecationReason":null},{"name":"MVR","description":"Maldivian rufiyaa","isDeprecated":false,"deprecationReason":null},{"name":"MWK","description":"Malawian kwacha","isDeprecated":false,"deprecationReason":null},{"name":"MXN","description":"Mexican peso","isDeprecated":false,"deprecationReason":null},{"name":"MYR","description":"Malaysian ringgit","isDeprecated":false,"deprecationReason":null},{"name":"MZN","description":"Mozambican metical","isDeprecated":false,"deprecationReason":null},{"name":"NAD","description":"Namibian dollar","isDeprecated":false,"deprecationReason":null},{"name":"NGN","description":"Nigerian naira","isDeprecated":false,"deprecationReason":null},{"name":"NIO","description":"Nicaraguan córdoba","isDeprecated":false,"deprecationReason":null},{"name":"NOK","description":"Norwegian krone","isDeprecated":false,"deprecationReason":null},{"name":"NPR","description":"Nepalese rupee","isDeprecated":false,"deprecationReason":null},{"name":"NZD","description":"New Zealand dollar","isDeprecated":false,"deprecationReason":null},{"name":"OMR","description":"Omani rial","isDeprecated":false,"deprecationReason":null},{"name":"PAB","description":"Panamanian balboa","isDeprecated":false,"deprecationReason":null},{"name":"PEN","description":"Peruvian sol","isDeprecated":false,"deprecationReason":null},{"name":"PGK","description":"Papua New Guinean kina","isDeprecated":false,"deprecationReason":null},{"name":"PHP","description":"Philippine peso","isDeprecated":false,"deprecationReason":null},{"name":"PKR","description":"Pakistani rupee","isDeprecated":false,"deprecationReason":null},{"name":"PLN","description":"Polish złoty","isDeprecated":false,"deprecationReason":null},{"name":"PYG","description":"Paraguayan guaraní","isDeprecated":false,"deprecationReason":null},{"name":"QAR","description":"Qatari riyal","isDeprecated":false,"deprecationReason":null},{"name":"RON","description":"Romanian leu","isDeprecated":false,"deprecationReason":null},{"name":"RSD","description":"Serbian dinar","isDeprecated":false,"deprecationReason":null},{"name":"RUB","description":"Russian ruble","isDeprecated":false,"deprecationReason":null},{"name":"RWF","description":"Rwandan franc","isDeprecated":false,"deprecationReason":null},{"name":"SAR","description":"Saudi riyal","isDeprecated":false,"deprecationReason":null},{"name":"SBD","description":"Solomon Islands dollar","isDeprecated":false,"deprecationReason":null},{"name":"SCR","description":"Seychelles rupee","isDeprecated":false,"deprecationReason":null},{"name":"SDG","description":"Sudanese pound","isDeprecated":false,"deprecationReason":null},{"name":"SEK","description":"Swedish krona/kronor","isDeprecated":false,"deprecationReason":null},{"name":"SGD","description":"Singapore dollar","isDeprecated":false,"deprecationReason":null},{"name":"SHP","description":"Saint Helena pound","isDeprecated":false,"deprecationReason":null},{"name":"SLL","description":"Sierra Leonean leone","isDeprecated":false,"deprecationReason":null},{"name":"SOS","description":"Somali shilling","isDeprecated":false,"deprecationReason":null},{"name":"SRD","description":"Surinamese dollar","isDeprecated":false,"deprecationReason":null},{"name":"SSP","description":"South Sudanese pound","isDeprecated":false,"deprecationReason":null},{"name":"STN","description":"São Tomé and Príncipe dobra","isDeprecated":false,"deprecationReason":null},{"name":"SVC","description":"Salvadoran colón","isDeprecated":false,"deprecationReason":null},{"name":"SYP","description":"Syrian pound","isDeprecated":false,"deprecationReason":null},{"name":"SZL","description":"Swazi lilangeni","isDeprecated":false,"deprecationReason":null},{"name":"THB","description":"Thai baht","isDeprecated":false,"deprecationReason":null},{"name":"TJS","description":"Tajikistani somoni","isDeprecated":false,"deprecationReason":null},{"name":"TMT","description":"Turkmenistan manat","isDeprecated":false,"deprecationReason":null},{"name":"TND","description":"Tunisian dinar","isDeprecated":false,"deprecationReason":null},{"name":"TOP","description":"Tongan paʻanga","isDeprecated":false,"deprecationReason":null},{"name":"TRY","description":"Turkish lira","isDeprecated":false,"deprecationReason":null},{"name":"TTD","description":"Trinidad and Tobago dollar","isDeprecated":false,"deprecationReason":null},{"name":"TWD","description":"New Taiwan dollar","isDeprecated":false,"deprecationReason":null},{"name":"TZS","description":"Tanzanian shilling","isDeprecated":false,"deprecationReason":null},{"name":"UAH","description":"Ukrainian hryvnia","isDeprecated":false,"deprecationReason":null},{"name":"UGX","description":"Ugandan shilling","isDeprecated":false,"deprecationReason":null},{"name":"USD","description":"United States dollar","isDeprecated":false,"deprecationReason":null},{"name":"UYU","description":"Uruguayan peso","isDeprecated":false,"deprecationReason":null},{"name":"UZS","description":"Uzbekistan som","isDeprecated":false,"deprecationReason":null},{"name":"VES","description":"Venezuelan bolívar soberano","isDeprecated":false,"deprecationReason":null},{"name":"VND","description":"Vietnamese đồng","isDeprecated":false,"deprecationReason":null},{"name":"VUV","description":"Vanuatu vatu","isDeprecated":false,"deprecationReason":null},{"name":"WST","description":"Samoan tala","isDeprecated":false,"deprecationReason":null},{"name":"XAF","description":"CFA franc BEAC","isDeprecated":false,"deprecationReason":null},{"name":"XCD","description":"East Caribbean dollar","isDeprecated":false,"deprecationReason":null},{"name":"XOF","description":"CFA franc BCEAO","isDeprecated":false,"deprecationReason":null},{"name":"XPF","description":"CFP franc (franc Pacifique)","isDeprecated":false,"deprecationReason":null},{"name":"YER","description":"Yemeni rial","isDeprecated":false,"deprecationReason":null},{"name":"ZAR","description":"South African rand","isDeprecated":false,"deprecationReason":null},{"name":"ZMW","description":"Zambian kwacha","isDeprecated":false,"deprecationReason":null},{"name":"ZWL","description":"Zimbabwean dollar","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"AuthenticationMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"strategy","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"JSON","description":"The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AssetListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"AssetSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"AssetFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AssetSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"fileSize","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"mimeType","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"width","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"height","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"source","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"preview","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AssetFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"type","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"fileSize","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"mimeType","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"width","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"height","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"source","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"preview","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NumberOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"lt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"lte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"gt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"gte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"between","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberRange","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Float","description":"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NumberRange","description":null,"fields":null,"inputFields":[{"name":"start","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null},{"name":"end","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AssetList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Asset","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"AssetType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fileSize","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mimeType","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"width","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"height","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"source","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"preview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"focalPoint","description":null,"args":[],"type":{"kind":"OBJECT","name":"Coordinate","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AssetType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"IMAGE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"VIDEO","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"BINARY","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Coordinate","description":null,"fields":[{"name":"x","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"y","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CurrentUser","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifier","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CurrentUserChannel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CurrentUserChannel","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"token","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"position","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionFilterParameter","description":null,"fields":null,"inputFields":[{"name":"isPrivate","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"position","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"BooleanOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Collection","description":null,"fields":[{"name":"isPrivate","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"ENUM","name":"LanguageCode","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"breadcrumbs","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionBreadcrumb","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"position","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"parent","description":null,"args":[],"type":{"kind":"OBJECT","name":"Collection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"children","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"filters","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariants","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariantList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionBreadcrumb","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigurableOperation","description":null,"fields":[{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArg","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigArg","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantSortParameter","description":null,"fields":null,"inputFields":[{"name":"stockOnHand","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"productId","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"priceWithTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantFilterParameter","description":null,"fields":null,"inputFields":[{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"stockOnHand","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"trackInventory","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"priceIncludesTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"priceWithTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariantList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariant","description":null,"fields":[{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stockOnHand","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"trackInventory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stockMovements","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"StockMovementListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StockMovementList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"product","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sku","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceIncludesTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRateApplied","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxCategory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariantTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"StockMovementListOptions","description":null,"fields":null,"inputFields":[{"name":"type","description":null,"type":{"kind":"ENUM","name":"StockMovementType","ofType":null},"defaultValue":null},{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"StockMovementType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ADJUSTMENT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SALE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CANCELLATION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"RETURN","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"StockMovementList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"StockMovementItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"StockMovementItem","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StockAdjustment","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null}]},{"kind":"OBJECT","name":"StockAdjustment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"StockMovement","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StockAdjustment","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null}]},{"kind":"OBJECT","name":"Sale","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderLine","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unitPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"order","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderItem","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"cancelled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceIncludesTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRate","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillment","description":null,"args":[],"type":{"kind":"OBJECT","name":"Fulfillment","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refundId","description":null,"args":[],"type":{"kind":"SCALAR","name":"ID","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Adjustment","description":null,"fields":[{"name":"adjustmentSource","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"AdjustmentType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"amount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AdjustmentType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TAX","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PROMOTION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SHIPPING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"TAX_REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PROMOTION_REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SHIPPING_REFUND","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Fulfillment","description":null,"fields":[{"name":"nextStates","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"trackingCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Order","description":null,"fields":[{"name":"nextStates","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":"A unique code for the Order","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"active","description":"An order is active as long as the payment process has not been completed","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customer","description":null,"args":[],"type":{"kind":"OBJECT","name":"Customer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shippingAddress","description":null,"args":[],"type":{"kind":"OBJECT","name":"OrderAddress","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"billingAddress","description":null,"args":[],"type":{"kind":"OBJECT","name":"OrderAddress","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lines","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":"Order-level adjustments to the order total, such as discounts from promotions","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"couponCodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"promotions","description":"Promotions applied to the order. Only gets populated after the payment process has completed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"payments","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Payment","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillments","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Fulfillment","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"subTotalBeforeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subTotal","description":"The subTotal is the total of the OrderLines, before order-level promotions and shipping has been applied.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shipping","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingMethod","description":null,"args":[],"type":{"kind":"OBJECT","name":"ShippingMethod","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"totalBeforeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"total","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"history","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntryList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Customer","description":null,"fields":[{"name":"groups","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"history","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntryList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"firstName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"emailAddress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addresses","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"orders","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":null,"args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerGroup","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customers","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerList","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntrySortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntrySortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntryFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"type","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HistoryEntryList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntry","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HistoryEntry","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPublic","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"HistoryEntryType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"administrator","description":null,"args":[],"type":{"kind":"OBJECT","name":"Administrator","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"data","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"JSON","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"HistoryEntryType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CUSTOMER_REGISTERED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_DETAIL_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDED_TO_GROUP","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_REMOVED_FROM_GROUP","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_CREATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_DELETED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_RESET_REQUESTED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_RESET_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_EMAIL_UPDATE_REQUESTED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_EMAIL_UPDATE_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_NOTE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_STATE_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_PAYMENT_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_FULFILLMENT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_CANCELLATION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_REFUND_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_FULFILLMENT_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_NOTE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_COUPON_APPLIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_COUPON_REMOVED","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Address","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fullName","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine1","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine2","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"city","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"province","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"postalCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultShippingAddress","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultBillingAddress","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"subTotalBeforeTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"subTotal","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"shippingWithTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"totalBeforeTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"total","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"active","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"subTotalBeforeTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"subTotal","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"shippingWithTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"totalBeforeTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"total","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderAddress","description":null,"fields":[{"name":"fullName","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine1","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine2","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"city","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"province","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"postalCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"countryCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Promotion","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startsAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"endsAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"couponCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"perCustomerUsageLimit","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"conditions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"actions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Payment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"amount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactionId","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"errorMessage","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refunds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Refund","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Refund","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shipping","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustment","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"total","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactionId","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"orderItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"checker","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"calculator","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Cancellation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Return","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderItem","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Product","description":null,"fields":[{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"variants","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"optionGroups","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collections","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionGroup","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroupTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOption","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"groupId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"group","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionGroupTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValue","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facet","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValueTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Facet","description":null,"fields":[{"name":"isPrivate","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"values","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValueTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxRate","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"category","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"zone","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customerGroup","description":null,"args":[],"type":{"kind":"OBJECT","name":"CustomerGroup","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxCategory","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariantTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigurableOperationDefinition","description":null,"fields":[{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArgDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigArgDefinition","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ui","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CountryListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CountrySortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CountryFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CountrySortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CountryFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CountryList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerGroupListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerGroupSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerGroupFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerGroupSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerGroupFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerGroupList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"FacetSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"FacetFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetFilterParameter","description":null,"fields":null,"inputFields":[{"name":"isPrivate","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GlobalSettings","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"availableLanguages","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"trackInventory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"serverConfig","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ServerConfig","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ServerConfig","description":null,"fields":[{"name":"orderProcess","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderProcessState","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"permittedAssetTypes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFieldConfig","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomFields","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderProcessState","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"to","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomFields","description":null,"fields":[{"name":"Address","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Collection","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Customer","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Facet","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"FacetValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"GlobalSettings","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Order","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"OrderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Product","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductOption","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductOptionGroup","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"User","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ShippingMethod","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CustomFieldConfig","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","ofType":null}]},{"kind":"OBJECT","name":"StringCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"length","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StringFieldOption","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"CustomField","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","ofType":null}]},{"kind":"OBJECT","name":"LocalizedString","description":null,"fields":[{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StringFieldOption","description":null,"fields":[{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"length","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","description":"Expects the same validation formats as the `` HTML element.\nSee https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Job","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startedAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"settledAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"queueName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"JobState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"progress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"data","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"result","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"error","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isSettled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"duration","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"JobState","description":"@description\nThe state of a Job in the JobQueue\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PENDING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"RUNNING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"COMPLETED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"RETRYING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"FAILED","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"JobListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"JobSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"JobFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"JobSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"startedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"settledAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"queueName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"progress","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"duration","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"JobFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"startedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"settledAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"queueName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"progress","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"isSettled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"duration","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"JobList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Job","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"JobQueue","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"running","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PaymentMethodListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"PaymentMethodSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"PaymentMethodFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PaymentMethodSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PaymentMethodFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentMethodList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PaymentMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"configArgs","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArg","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"definition","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SearchInput","description":null,"fields":null,"inputFields":[{"name":"term","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"facetValueOperator","description":null,"type":{"kind":"ENUM","name":"LogicalOperator","ofType":null},"defaultValue":null},{"name":"collectionId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"collectionSlug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"groupByProduct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"SearchResultSortParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LogicalOperator","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"AND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"OR","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SearchResultSortParameter","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResponse","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValueResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResult","description":null,"fields":[{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channelIds","description":"An array of ids of the Collections in which this result appears","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"sku","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productPreview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `productAsset.preview` instead"},{"name":"productAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"SearchResultAsset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantPreview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `productVariantAsset.preview` instead"},{"name":"productVariantAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"SearchResultAsset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SearchResultPrice","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SearchResultPrice","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facetIds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValueIds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collectionIds","description":"An array of ids of the Collections in which this result appears","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"score","description":"A relevence score for the result. Differs between database implementations","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResultAsset","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"preview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"focalPoint","description":null,"args":[],"type":{"kind":"OBJECT","name":"Coordinate","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"SearchResultPrice","description":"The price of a search result product, either as a range or as a single price","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"PriceRange","ofType":null},{"kind":"OBJECT","name":"SinglePrice","ofType":null}]},{"kind":"OBJECT","name":"PriceRange","description":"The price range where the result has more than one price","fields":[{"name":"min","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SinglePrice","description":"The price value where the result has a single price","fields":[{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValueResult","description":"Which FacetValues are present in the products returned\nby the search, and in what quantity.","fields":[{"name":"facetValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductFilterParameter","description":null,"fields":null,"inputFields":[{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PromotionListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"PromotionSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"PromotionFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PromotionSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"startsAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"endsAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"couponCode","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"perCustomerUsageLimit","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PromotionFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"startsAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"endsAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"couponCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"perCustomerUsageLimit","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PromotionList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RoleListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"RoleSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"RoleFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RoleSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RoleFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RoleList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ShippingMethodListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ShippingMethodSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ShippingMethodFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ShippingMethodSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ShippingMethodFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethodList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TestShippingMethodInput","description":null,"fields":null,"inputFields":[{"name":"checker","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}},"defaultValue":null},{"name":"calculator","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}},"defaultValue":null},{"name":"shippingAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null},{"name":"lines","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TestShippingMethodOrderLineInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"arguments","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigArgInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConfigArgInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateAddressInput","description":null,"fields":null,"inputFields":[{"name":"fullName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"company","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine1","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"streetLine2","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"city","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"province","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"postalCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"countryCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultShippingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"defaultBillingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TestShippingMethodOrderLineInput","description":null,"fields":null,"inputFields":[{"name":"productVariantId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"quantity","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TestShippingMethodResult","description":null,"fields":[{"name":"eligible","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quote","description":null,"args":[],"type":{"kind":"OBJECT","name":"TestShippingMethodQuote","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TestShippingMethodQuote","description":null,"fields":[{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TestEligibleShippingMethodsInput","description":null,"fields":null,"inputFields":[{"name":"shippingAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null},{"name":"lines","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TestShippingMethodOrderLineInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethodQuote","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TaxRateListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"TaxRateSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"TaxRateFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TaxRateSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TaxRateFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxRateList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Mutation","description":null,"fields":[{"name":"createAdministrator","description":"Create a new Administrator","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAdministratorInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateAdministrator","description":"Update an existing Administrator","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateAdministratorInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteAdministrator","description":"Delete an Administrator","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"assignRoleToAdministrator","description":"Assign a Role to an Administrator","args":[{"name":"administratorId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"roleId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createAssets","description":"Create a new Asset","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAssetInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"updateAsset","description":"Update an existing Asset","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateAssetInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteAsset","description":"Delete an Asset","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"force","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteAssets","description":"Delete multiple Assets","args":[{"name":"ids","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"force","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"Authenticates the user using the native authentication strategy. This mutation\nis an alias for `authenticate({ native: { ... }})`","args":[{"name":"username","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"rememberMe","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LoginResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"authenticate","description":"Authenticates the user using a named authentication strategy","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AuthenticationInput","ofType":null}},"defaultValue":null},{"name":"rememberMe","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LoginResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logout","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createChannel","description":"Create a new Channel","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateChannelInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateChannel","description":"Update an existing Channel","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateChannelInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteChannel","description":"Delete a Channel","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCollection","description":"Create a new Collection","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCollectionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCollection","description":"Update an existing Collection","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCollectionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCollection","description":"Delete a Collection and all of its descendants","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"moveCollection","description":"Move a Collection to a different parent or index","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MoveCollectionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCountry","description":"Create a new Country","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCountryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCountry","description":"Update an existing Country","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCountryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCountry","description":"Delete a Country","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCustomerGroup","description":"Create a new CustomerGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCustomerGroupInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerGroup","description":"Update an existing CustomerGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCustomerGroupInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomerGroup","description":"Delete a CustomerGroup","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addCustomersToGroup","description":"Add Customers to a CustomerGroup","args":[{"name":"customerGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"customerIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeCustomersFromGroup","description":"Remove Customers from a CustomerGroup","args":[{"name":"customerGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"customerIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCustomer","description":"Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer.","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCustomerInput","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomer","description":"Update an existing Customer","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomer","description":"Delete a Customer","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCustomerAddress","description":"Create a new Address and associate it with the Customer specified by customerId","args":[{"name":"customerId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerAddress","description":"Update an existing Address","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomerAddress","description":"Update an existing Address","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addNoteToCustomer","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddNoteToCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerNote","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCustomerNoteInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntry","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomerNote","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createFacet","description":"Create a new Facet","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateFacetInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateFacet","description":"Update an existing Facet","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateFacetInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteFacet","description":"Delete an existing Facet","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"force","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createFacetValues","description":"Create one or more FacetValues","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateFacetValueInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"updateFacetValues","description":"Update one or more FacetValues","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateFacetValueInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteFacetValues","description":"Delete one or more FacetValues","args":[{"name":"ids","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"force","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"updateGlobalSettings","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateGlobalSettingsInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GlobalSettings","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"importProducts","description":null,"args":[{"name":"csvFile","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Upload","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ImportInfo","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeSettledJobs","description":"Remove all settled jobs in the given queues olfer than the given date. Returns the number of jobs deleted.","args":[{"name":"queueNames","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"olderThan","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"settlePayment","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Payment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillOrder","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FulfillOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Fulfillment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"cancelOrder","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CancelOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"refundOrder","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RefundOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Refund","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"settleRefund","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SettleRefundInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Refund","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addNoteToOrder","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddNoteToOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateOrderNote","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateOrderNoteInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntry","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteOrderNote","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transitionOrderToState","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"transitionFulfillmentToState","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Fulfillment","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderCustomFields","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatePaymentMethod","description":"Update an existing PaymentMethod","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdatePaymentMethodInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PaymentMethod","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createProductOptionGroup","description":"Create a new ProductOptionGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProductOptionGroupInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateProductOptionGroup","description":"Update an existing ProductOptionGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProductOptionGroupInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createProductOption","description":"Create a new ProductOption within a ProductOptionGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProductOptionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateProductOption","description":"Create a new ProductOption within a ProductOptionGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProductOptionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reindex","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Job","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createProduct","description":"Create a new Product","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProductInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateProduct","description":"Update an existing Product","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProductInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteProduct","description":"Delete a Product","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addOptionGroupToProduct","description":"Add an OptionGroup to a Product","args":[{"name":"productId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"optionGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeOptionGroupFromProduct","description":"Remove an OptionGroup from a Product","args":[{"name":"productId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"optionGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createProductVariants","description":"Create a set of ProductVariants based on the OptionGroups assigned to the given Product","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProductVariantInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"updateProductVariants","description":"Update existing ProductVariants","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProductVariantInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteProductVariant","description":"Delete a ProductVariant","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"assignProductsToChannel","description":"Assigns Products to the specified Channel","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AssignProductsToChannelInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"removeProductsFromChannel","description":"Removes Products from the specified Channel","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveProductsFromChannelInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"createPromotion","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreatePromotionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatePromotion","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdatePromotionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deletePromotion","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createRole","description":"Create a new Role","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateRoleInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateRole","description":"Update an existing Role","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateRoleInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteRole","description":"Delete an existing Role","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createShippingMethod","description":"Create a new ShippingMethod","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateShippingMethodInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethod","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateShippingMethod","description":"Update an existing ShippingMethod","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateShippingMethodInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethod","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteShippingMethod","description":"Delete a ShippingMethod","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createTaxCategory","description":"Create a new TaxCategory","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateTaxCategoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateTaxCategory","description":"Update an existing TaxCategory","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateTaxCategoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteTaxCategory","description":"Deletes a TaxCategory","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createTaxRate","description":"Create a new TaxRate","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateTaxRateInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateTaxRate","description":"Update an existing TaxRate","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateTaxRateInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteTaxRate","description":"Delete a TaxRate","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createZone","description":"Create a new Zone","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateZoneInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateZone","description":"Update an existing Zone","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateZoneInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteZone","description":"Delete a Zone","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addMembersToZone","description":"Add members to a Zone","args":[{"name":"zoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"memberIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeMembersFromZone","description":"Remove members from a Zone","args":[{"name":"zoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"memberIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateAdministratorInput","description":null,"fields":null,"inputFields":[{"name":"firstName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"roleIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateAdministratorInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"roleIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeletionResponse","description":null,"fields":[{"name":"result","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DeletionResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"DeletionResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DELETED","description":"The entity was successfully deleted","isDeprecated":false,"deprecationReason":null},{"name":"NOT_DELETED","description":"Deletion did not take place, reason given in message","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateAssetInput","description":null,"fields":null,"inputFields":[{"name":"file","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Upload","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Upload","description":"The `Upload` scalar type represents a file upload.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateAssetInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"focalPoint","description":null,"type":{"kind":"INPUT_OBJECT","name":"CoordinateInput","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CoordinateInput","description":null,"fields":null,"inputFields":[{"name":"x","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null},{"name":"y","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LoginResult","description":null,"fields":[{"name":"user","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CurrentUser","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AuthenticationInput","description":null,"fields":null,"inputFields":[{"name":"native","description":null,"type":{"kind":"INPUT_OBJECT","name":"NativeAuthInput","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NativeAuthInput","description":null,"fields":null,"inputFields":[{"name":"username","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateChannelInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"token","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"defaultLanguageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"pricesIncludeTax","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"defaultValue":null},{"name":"defaultTaxZoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"defaultShippingZoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateChannelInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"token","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultLanguageCode","description":null,"type":{"kind":"ENUM","name":"LanguageCode","ofType":null},"defaultValue":null},{"name":"pricesIncludeTax","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"ENUM","name":"CurrencyCode","ofType":null},"defaultValue":null},{"name":"defaultTaxZoneId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"defaultShippingZoneId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCollectionInput","description":null,"fields":null,"inputFields":[{"name":"isPrivate","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"parentId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"filters","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCollectionTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCollectionTranslationInput","description":null,"fields":null,"inputFields":[{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCollectionInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"isPrivate","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"parentId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"filters","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCollectionTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCollectionTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"MoveCollectionInput","description":null,"fields":null,"inputFields":[{"name":"collectionId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"parentId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"index","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCountryInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CountryTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CountryTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCountryInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CountryTranslationInput","ofType":null}}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCustomerGroupInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"customerIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCustomerGroupInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCustomerInput","description":null,"fields":null,"inputFields":[{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCustomerInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateAddressInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"fullName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"company","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine1","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine2","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"city","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"province","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"postalCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"countryCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultShippingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"defaultBillingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddNoteToCustomerInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"note","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCustomerNoteInput","description":null,"fields":null,"inputFields":[{"name":"noteId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"note","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateFacetInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"isPrivate","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"values","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateFacetValueWithFacetInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateFacetValueWithFacetInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetValueTranslationInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetValueTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateFacetInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"isPrivate","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateFacetValueInput","description":null,"fields":null,"inputFields":[{"name":"facetId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetValueTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateFacetValueInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetValueTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateGlobalSettingsInput","description":null,"fields":null,"inputFields":[{"name":"availableLanguages","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}}},"defaultValue":null},{"name":"trackInventory","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ImportInfo","description":null,"fields":[{"name":"errors","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"processed","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"imported","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FulfillOrderInput","description":null,"fields":null,"inputFields":[{"name":"lines","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"OrderLineInput","ofType":null}}}},"defaultValue":null},{"name":"method","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"trackingCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderLineInput","description":null,"fields":null,"inputFields":[{"name":"orderLineId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"quantity","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CancelOrderInput","description":null,"fields":null,"inputFields":[{"name":"orderId","description":"The id of the order to be cancelled","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"lines","description":"Optionally specify which OrderLines to cancel. If not provided, all OrderLines will be cancelled","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"OrderLineInput","ofType":null}}},"defaultValue":null},{"name":"reason","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RefundOrderInput","description":null,"fields":null,"inputFields":[{"name":"lines","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"OrderLineInput","ofType":null}}}},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"adjustment","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"paymentId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"reason","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SettleRefundInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"transactionId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddNoteToOrderInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"note","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateOrderNoteInput","description":null,"fields":null,"inputFields":[{"name":"noteId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"note","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateOrderInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdatePaymentMethodInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"configArgs","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigArgInput","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductOptionGroupInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"options","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateGroupOptionInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateGroupOptionInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProductOptionGroupInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductOptionInput","description":null,"fields":null,"inputFields":[{"name":"productOptionGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProductOptionInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductInput","description":null,"fields":null,"inputFields":[{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProductInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductVariantInput","description":null,"fields":null,"inputFields":[{"name":"productId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductVariantTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"taxCategoryId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"optionIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"stockOnHand","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"trackInventory","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProductVariantInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductVariantTranslationInput","ofType":null}}},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"taxCategoryId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"stockOnHand","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"trackInventory","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AssignProductsToChannelInput","description":null,"fields":null,"inputFields":[{"name":"productIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"channelId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"priceFactor","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveProductsFromChannelInput","description":null,"fields":null,"inputFields":[{"name":"productIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"channelId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreatePromotionInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"startsAt","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"endsAt","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"couponCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"perCustomerUsageLimit","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"conditions","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}}},"defaultValue":null},{"name":"actions","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdatePromotionInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"startsAt","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"endsAt","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"couponCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"perCustomerUsageLimit","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"conditions","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}},"defaultValue":null},{"name":"actions","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateRoleInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"permissions","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"defaultValue":null},{"name":"channelIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateRoleInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"permissions","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}},"defaultValue":null},{"name":"channelIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateShippingMethodInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"checker","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}},"defaultValue":null},{"name":"calculator","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateShippingMethodInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"checker","description":null,"type":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null},"defaultValue":null},{"name":"calculator","description":null,"type":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateTaxCategoryInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateTaxCategoryInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateTaxRateInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null},{"name":"categoryId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"zoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"customerGroupId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateTaxRateInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"categoryId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"zoneId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"customerGroupId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateZoneInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"memberIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateZoneInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Schema","description":"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.","fields":[{"name":"types","description":"A list of all types supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"queryType","description":"The type that query operations will be rooted at.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mutationType","description":"If this server supports mutation, the type that mutation operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subscriptionType","description":"If this server support subscription, the type that subscription operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"directives","description":"A list of all directives supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Directive","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Type","description":"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.","fields":[{"name":"kind","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__TypeKind","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"fields","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Field","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"interfaces","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"possibleTypes","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"enumValues","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__EnumValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"inputFields","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"ofType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__TypeKind","description":"An enum describing what kind of type a given `__Type` is.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SCALAR","description":"Indicates this type is a scalar.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Indicates this type is an object. `fields` and `interfaces` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Indicates this type is a union. `possibleTypes` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Indicates this type is an enum. `enumValues` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Indicates this type is an input object. `inputFields` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"LIST","description":"Indicates this type is a list. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"NON_NULL","description":"Indicates this type is a non-null. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"__Field","description":"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__InputValue","description":"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultValue","description":"A GraphQL-formatted string representing the default value for this input value.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__EnumValue","description":"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Directive","description":"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"locations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__DirectiveLocation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__DirectiveLocation","description":"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"QUERY","description":"Location adjacent to a query operation.","isDeprecated":false,"deprecationReason":null},{"name":"MUTATION","description":"Location adjacent to a mutation operation.","isDeprecated":false,"deprecationReason":null},{"name":"SUBSCRIPTION","description":"Location adjacent to a subscription operation.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD","description":"Location adjacent to a field.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_DEFINITION","description":"Location adjacent to a fragment definition.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_SPREAD","description":"Location adjacent to a fragment spread.","isDeprecated":false,"deprecationReason":null},{"name":"INLINE_FRAGMENT","description":"Location adjacent to an inline fragment.","isDeprecated":false,"deprecationReason":null},{"name":"VARIABLE_DEFINITION","description":"Location adjacent to a variable definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCHEMA","description":"Location adjacent to a schema definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCALAR","description":"Location adjacent to a scalar definition.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Location adjacent to an object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD_DEFINITION","description":"Location adjacent to a field definition.","isDeprecated":false,"deprecationReason":null},{"name":"ARGUMENT_DEFINITION","description":"Location adjacent to an argument definition.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Location adjacent to an interface definition.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Location adjacent to a union definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Location adjacent to an enum definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM_VALUE","description":"Location adjacent to an enum value definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Location adjacent to an input object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_FIELD_DEFINITION","description":"Location adjacent to an input object field definition.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductVariantOptionInput","description":null,"fields":null,"inputFields":[{"name":"optionGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionTranslationInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductOptionTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchReindexResponse","description":null,"fields":[{"name":"success","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null}],"directives":[{"name":"skip","description":"Directs the executor to skip this field or fragment when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Skipped when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"include","description":"Directs the executor to include this field or fragment only when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Included when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"deprecated","description":"Marks an element of a GraphQL schema as no longer supported.","locations":["FIELD_DEFINITION","ENUM_VALUE"],"args":[{"name":"reason","description":"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/).","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":"\"No longer supported\""}]}]}}} +{"data":{"__schema":{"queryType":{"name":"Query"},"mutationType":{"name":"Mutation"},"subscriptionType":null,"types":[{"kind":"OBJECT","name":"Query","description":null,"fields":[{"name":"administrators","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"AdministratorListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"AdministratorList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"administrator","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Administrator","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":"Get a list of Assets","args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"AssetListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"AssetList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"asset","description":"Get a single Asset by id","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"me","description":null,"args":[],"type":{"kind":"OBJECT","name":"CurrentUser","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"channel","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Channel","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"activeChannel","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"collections","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"collection","description":"Get a Collection either by id or slug. If neither id nor slug is speicified, an error will result.","args":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Collection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"collectionFilters","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"countries","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CountryListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CountryList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Country","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customerGroups","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerGroupListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroupList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customerGroup","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"CustomerGroup","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customers","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customer","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Customer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"facets","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"FacetListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facet","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Facet","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"globalSettings","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"GlobalSettings","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"job","description":null,"args":[{"name":"jobId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Job","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"jobs","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"JobListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"JobList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"jobsById","description":null,"args":[{"name":"jobIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Job","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"jobQueues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"JobQueue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"order","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"orders","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentMethods","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"PaymentMethodListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PaymentMethodList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentMethod","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"PaymentMethod","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"productOptionGroups","description":null,"args":[{"name":"filterTerm","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"productOptionGroup","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"search","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SearchInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"products","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"product","description":"Get a Product either by id or slug. If neither id nor slug is speicified, an error will result.","args":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Product","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":"Get a ProductVariant by id","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ProductVariant","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"promotion","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Promotion","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"promotions","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"PromotionListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PromotionList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"promotionConditions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"promotionActions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"roles","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"RoleListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"RoleList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"role","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Role","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shippingMethods","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ShippingMethodListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethodList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingMethod","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ShippingMethod","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shippingEligibilityCheckers","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingCalculators","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"testShippingMethod","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TestShippingMethodInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TestShippingMethodResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"testEligibleShippingMethods","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TestEligibleShippingMethodsInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethodQuote","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"taxCategories","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"taxCategory","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"TaxCategory","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"taxRates","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"TaxRateListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRateList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRate","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"TaxRate","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"zones","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"zone","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AdministratorListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"AdministratorSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"AdministratorFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Int","description":"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AdministratorSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SortOrder","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ASC","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DESC","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AdministratorFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DateOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"before","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"after","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"between","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateRange","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"DateTime","description":"A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DateRange","description":null,"fields":null,"inputFields":[{"name":"start","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"defaultValue":null},{"name":"end","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"StringOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"contains","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"String","description":"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AdministratorList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"PaginatedList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Node","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"AdministratorList","ofType":null},{"kind":"OBJECT","name":"AssetList","ofType":null},{"kind":"OBJECT","name":"CollectionList","ofType":null},{"kind":"OBJECT","name":"ProductVariantList","ofType":null},{"kind":"OBJECT","name":"CustomerList","ofType":null},{"kind":"OBJECT","name":"HistoryEntryList","ofType":null},{"kind":"OBJECT","name":"OrderList","ofType":null},{"kind":"OBJECT","name":"CountryList","ofType":null},{"kind":"OBJECT","name":"CustomerGroupList","ofType":null},{"kind":"OBJECT","name":"FacetList","ofType":null},{"kind":"OBJECT","name":"JobList","ofType":null},{"kind":"OBJECT","name":"PaymentMethodList","ofType":null},{"kind":"OBJECT","name":"ProductList","ofType":null},{"kind":"OBJECT","name":"PromotionList","ofType":null},{"kind":"OBJECT","name":"RoleList","ofType":null},{"kind":"OBJECT","name":"ShippingMethodList","ofType":null},{"kind":"OBJECT","name":"TaxRateList","ofType":null}]},{"kind":"INTERFACE","name":"Node","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Administrator","ofType":null},{"kind":"OBJECT","name":"User","ofType":null},{"kind":"OBJECT","name":"Role","ofType":null},{"kind":"OBJECT","name":"Channel","ofType":null},{"kind":"OBJECT","name":"Zone","ofType":null},{"kind":"OBJECT","name":"Country","ofType":null},{"kind":"OBJECT","name":"AuthenticationMethod","ofType":null},{"kind":"OBJECT","name":"Asset","ofType":null},{"kind":"OBJECT","name":"Collection","ofType":null},{"kind":"OBJECT","name":"ProductVariant","ofType":null},{"kind":"OBJECT","name":"StockAdjustment","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"OrderLine","ofType":null},{"kind":"OBJECT","name":"OrderItem","ofType":null},{"kind":"OBJECT","name":"Fulfillment","ofType":null},{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"Customer","ofType":null},{"kind":"OBJECT","name":"CustomerGroup","ofType":null},{"kind":"OBJECT","name":"HistoryEntry","ofType":null},{"kind":"OBJECT","name":"Address","ofType":null},{"kind":"OBJECT","name":"Promotion","ofType":null},{"kind":"OBJECT","name":"Payment","ofType":null},{"kind":"OBJECT","name":"Refund","ofType":null},{"kind":"OBJECT","name":"ShippingMethod","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null},{"kind":"OBJECT","name":"Product","ofType":null},{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null},{"kind":"OBJECT","name":"ProductOption","ofType":null},{"kind":"OBJECT","name":"FacetValue","ofType":null},{"kind":"OBJECT","name":"Facet","ofType":null},{"kind":"OBJECT","name":"TaxRate","ofType":null},{"kind":"OBJECT","name":"TaxCategory","ofType":null},{"kind":"OBJECT","name":"Job","ofType":null},{"kind":"OBJECT","name":"PaymentMethod","ofType":null}]},{"kind":"SCALAR","name":"ID","description":"The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Administrator","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"firstName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"emailAddress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"User","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifier","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"verified","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"roles","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"lastLogin","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authenticationMethods","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"AuthenticationMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Boolean","description":"The `Boolean` scalar type represents `true` or `false`.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Role","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"Permission","description":"\"\n@description\nPermissions for administrators and customers. Used to control access to\nGraphQL resolvers via the {@link Allow} decorator.\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"Authenticated","description":" The Authenticated role means simply that the user is logged in ","isDeprecated":false,"deprecationReason":null},{"name":"SuperAdmin","description":" SuperAdmin can perform the most sensitive tasks","isDeprecated":false,"deprecationReason":null},{"name":"Owner","description":" Owner means the user owns this entity, e.g. a Customer's own Order","isDeprecated":false,"deprecationReason":null},{"name":"Public","description":" Public means any unauthenticated user may perform the operation ","isDeprecated":false,"deprecationReason":null},{"name":"CreateCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreatePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadPromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdatePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeletePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteSettings","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Channel","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"token","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultTaxZone","description":null,"args":[],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultShippingZone","description":null,"args":[],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultLanguageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pricesIncludeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Zone","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"members","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Country","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CountryTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LanguageCode","description":"@description\nLanguages in the form of a ISO 639-1 language code with optional\nregion or script modifier (e.g. de_AT). The selection available is based\non the [Unicode CLDR summary list](https://unicode-org.github.io/cldr-staging/charts/37/summary/root.html)\nand includes the major spoken languages of the world and any widely-used variants.\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"af","description":"Afrikaans","isDeprecated":false,"deprecationReason":null},{"name":"ak","description":"Akan","isDeprecated":false,"deprecationReason":null},{"name":"sq","description":"Albanian","isDeprecated":false,"deprecationReason":null},{"name":"am","description":"Amharic","isDeprecated":false,"deprecationReason":null},{"name":"ar","description":"Arabic","isDeprecated":false,"deprecationReason":null},{"name":"hy","description":"Armenian","isDeprecated":false,"deprecationReason":null},{"name":"as","description":"Assamese","isDeprecated":false,"deprecationReason":null},{"name":"az","description":"Azerbaijani","isDeprecated":false,"deprecationReason":null},{"name":"bm","description":"Bambara","isDeprecated":false,"deprecationReason":null},{"name":"bn","description":"Bangla","isDeprecated":false,"deprecationReason":null},{"name":"eu","description":"Basque","isDeprecated":false,"deprecationReason":null},{"name":"be","description":"Belarusian","isDeprecated":false,"deprecationReason":null},{"name":"bs","description":"Bosnian","isDeprecated":false,"deprecationReason":null},{"name":"br","description":"Breton","isDeprecated":false,"deprecationReason":null},{"name":"bg","description":"Bulgarian","isDeprecated":false,"deprecationReason":null},{"name":"my","description":"Burmese","isDeprecated":false,"deprecationReason":null},{"name":"ca","description":"Catalan","isDeprecated":false,"deprecationReason":null},{"name":"ce","description":"Chechen","isDeprecated":false,"deprecationReason":null},{"name":"zh","description":"Chinese","isDeprecated":false,"deprecationReason":null},{"name":"zh_Hans","description":"Simplified Chinese","isDeprecated":false,"deprecationReason":null},{"name":"zh_Hant","description":"Traditional Chinese","isDeprecated":false,"deprecationReason":null},{"name":"cu","description":"Church Slavic","isDeprecated":false,"deprecationReason":null},{"name":"kw","description":"Cornish","isDeprecated":false,"deprecationReason":null},{"name":"co","description":"Corsican","isDeprecated":false,"deprecationReason":null},{"name":"hr","description":"Croatian","isDeprecated":false,"deprecationReason":null},{"name":"cs","description":"Czech","isDeprecated":false,"deprecationReason":null},{"name":"da","description":"Danish","isDeprecated":false,"deprecationReason":null},{"name":"nl","description":"Dutch","isDeprecated":false,"deprecationReason":null},{"name":"nl_BE","description":"Flemish","isDeprecated":false,"deprecationReason":null},{"name":"dz","description":"Dzongkha","isDeprecated":false,"deprecationReason":null},{"name":"en","description":"English","isDeprecated":false,"deprecationReason":null},{"name":"en_AU","description":"Australian English","isDeprecated":false,"deprecationReason":null},{"name":"en_CA","description":"Canadian English","isDeprecated":false,"deprecationReason":null},{"name":"en_GB","description":"British English","isDeprecated":false,"deprecationReason":null},{"name":"en_US","description":"American English","isDeprecated":false,"deprecationReason":null},{"name":"eo","description":"Esperanto","isDeprecated":false,"deprecationReason":null},{"name":"et","description":"Estonian","isDeprecated":false,"deprecationReason":null},{"name":"ee","description":"Ewe","isDeprecated":false,"deprecationReason":null},{"name":"fo","description":"Faroese","isDeprecated":false,"deprecationReason":null},{"name":"fi","description":"Finnish","isDeprecated":false,"deprecationReason":null},{"name":"fr","description":"French","isDeprecated":false,"deprecationReason":null},{"name":"fr_CA","description":"Canadian French","isDeprecated":false,"deprecationReason":null},{"name":"fr_CH","description":"Swiss French","isDeprecated":false,"deprecationReason":null},{"name":"ff","description":"Fulah","isDeprecated":false,"deprecationReason":null},{"name":"gl","description":"Galician","isDeprecated":false,"deprecationReason":null},{"name":"lg","description":"Ganda","isDeprecated":false,"deprecationReason":null},{"name":"ka","description":"Georgian","isDeprecated":false,"deprecationReason":null},{"name":"de","description":"German","isDeprecated":false,"deprecationReason":null},{"name":"de_AT","description":"Austrian German","isDeprecated":false,"deprecationReason":null},{"name":"de_CH","description":"Swiss High German","isDeprecated":false,"deprecationReason":null},{"name":"el","description":"Greek","isDeprecated":false,"deprecationReason":null},{"name":"gu","description":"Gujarati","isDeprecated":false,"deprecationReason":null},{"name":"ht","description":"Haitian Creole","isDeprecated":false,"deprecationReason":null},{"name":"ha","description":"Hausa","isDeprecated":false,"deprecationReason":null},{"name":"he","description":"Hebrew","isDeprecated":false,"deprecationReason":null},{"name":"hi","description":"Hindi","isDeprecated":false,"deprecationReason":null},{"name":"hu","description":"Hungarian","isDeprecated":false,"deprecationReason":null},{"name":"is","description":"Icelandic","isDeprecated":false,"deprecationReason":null},{"name":"ig","description":"Igbo","isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Indonesian","isDeprecated":false,"deprecationReason":null},{"name":"ia","description":"Interlingua","isDeprecated":false,"deprecationReason":null},{"name":"ga","description":"Irish","isDeprecated":false,"deprecationReason":null},{"name":"it","description":"Italian","isDeprecated":false,"deprecationReason":null},{"name":"ja","description":"Japanese","isDeprecated":false,"deprecationReason":null},{"name":"jv","description":"Javanese","isDeprecated":false,"deprecationReason":null},{"name":"kl","description":"Kalaallisut","isDeprecated":false,"deprecationReason":null},{"name":"kn","description":"Kannada","isDeprecated":false,"deprecationReason":null},{"name":"ks","description":"Kashmiri","isDeprecated":false,"deprecationReason":null},{"name":"kk","description":"Kazakh","isDeprecated":false,"deprecationReason":null},{"name":"km","description":"Khmer","isDeprecated":false,"deprecationReason":null},{"name":"ki","description":"Kikuyu","isDeprecated":false,"deprecationReason":null},{"name":"rw","description":"Kinyarwanda","isDeprecated":false,"deprecationReason":null},{"name":"ko","description":"Korean","isDeprecated":false,"deprecationReason":null},{"name":"ku","description":"Kurdish","isDeprecated":false,"deprecationReason":null},{"name":"ky","description":"Kyrgyz","isDeprecated":false,"deprecationReason":null},{"name":"lo","description":"Lao","isDeprecated":false,"deprecationReason":null},{"name":"la","description":"Latin","isDeprecated":false,"deprecationReason":null},{"name":"lv","description":"Latvian","isDeprecated":false,"deprecationReason":null},{"name":"ln","description":"Lingala","isDeprecated":false,"deprecationReason":null},{"name":"lt","description":"Lithuanian","isDeprecated":false,"deprecationReason":null},{"name":"lu","description":"Luba-Katanga","isDeprecated":false,"deprecationReason":null},{"name":"lb","description":"Luxembourgish","isDeprecated":false,"deprecationReason":null},{"name":"mk","description":"Macedonian","isDeprecated":false,"deprecationReason":null},{"name":"mg","description":"Malagasy","isDeprecated":false,"deprecationReason":null},{"name":"ms","description":"Malay","isDeprecated":false,"deprecationReason":null},{"name":"ml","description":"Malayalam","isDeprecated":false,"deprecationReason":null},{"name":"mt","description":"Maltese","isDeprecated":false,"deprecationReason":null},{"name":"gv","description":"Manx","isDeprecated":false,"deprecationReason":null},{"name":"mi","description":"Maori","isDeprecated":false,"deprecationReason":null},{"name":"mr","description":"Marathi","isDeprecated":false,"deprecationReason":null},{"name":"mn","description":"Mongolian","isDeprecated":false,"deprecationReason":null},{"name":"ne","description":"Nepali","isDeprecated":false,"deprecationReason":null},{"name":"nd","description":"North Ndebele","isDeprecated":false,"deprecationReason":null},{"name":"se","description":"Northern Sami","isDeprecated":false,"deprecationReason":null},{"name":"nb","description":"Norwegian Bokmål","isDeprecated":false,"deprecationReason":null},{"name":"nn","description":"Norwegian Nynorsk","isDeprecated":false,"deprecationReason":null},{"name":"ny","description":"Nyanja","isDeprecated":false,"deprecationReason":null},{"name":"or","description":"Odia","isDeprecated":false,"deprecationReason":null},{"name":"om","description":"Oromo","isDeprecated":false,"deprecationReason":null},{"name":"os","description":"Ossetic","isDeprecated":false,"deprecationReason":null},{"name":"ps","description":"Pashto","isDeprecated":false,"deprecationReason":null},{"name":"fa","description":"Persian","isDeprecated":false,"deprecationReason":null},{"name":"fa_AF","description":"Dari","isDeprecated":false,"deprecationReason":null},{"name":"pl","description":"Polish","isDeprecated":false,"deprecationReason":null},{"name":"pt","description":"Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pt_BR","description":"Brazilian Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pt_PT","description":"European Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pa","description":"Punjabi","isDeprecated":false,"deprecationReason":null},{"name":"qu","description":"Quechua","isDeprecated":false,"deprecationReason":null},{"name":"ro","description":"Romanian","isDeprecated":false,"deprecationReason":null},{"name":"ro_MD","description":"Moldavian","isDeprecated":false,"deprecationReason":null},{"name":"rm","description":"Romansh","isDeprecated":false,"deprecationReason":null},{"name":"rn","description":"Rundi","isDeprecated":false,"deprecationReason":null},{"name":"ru","description":"Russian","isDeprecated":false,"deprecationReason":null},{"name":"sm","description":"Samoan","isDeprecated":false,"deprecationReason":null},{"name":"sg","description":"Sango","isDeprecated":false,"deprecationReason":null},{"name":"sa","description":"Sanskrit","isDeprecated":false,"deprecationReason":null},{"name":"gd","description":"Scottish Gaelic","isDeprecated":false,"deprecationReason":null},{"name":"sr","description":"Serbian","isDeprecated":false,"deprecationReason":null},{"name":"sn","description":"Shona","isDeprecated":false,"deprecationReason":null},{"name":"ii","description":"Sichuan Yi","isDeprecated":false,"deprecationReason":null},{"name":"sd","description":"Sindhi","isDeprecated":false,"deprecationReason":null},{"name":"si","description":"Sinhala","isDeprecated":false,"deprecationReason":null},{"name":"sk","description":"Slovak","isDeprecated":false,"deprecationReason":null},{"name":"sl","description":"Slovenian","isDeprecated":false,"deprecationReason":null},{"name":"so","description":"Somali","isDeprecated":false,"deprecationReason":null},{"name":"st","description":"Southern Sotho","isDeprecated":false,"deprecationReason":null},{"name":"es","description":"Spanish","isDeprecated":false,"deprecationReason":null},{"name":"es_ES","description":"European Spanish","isDeprecated":false,"deprecationReason":null},{"name":"es_MX","description":"Mexican Spanish","isDeprecated":false,"deprecationReason":null},{"name":"su","description":"Sundanese","isDeprecated":false,"deprecationReason":null},{"name":"sw","description":"Swahili","isDeprecated":false,"deprecationReason":null},{"name":"sw_CD","description":"Congo Swahili","isDeprecated":false,"deprecationReason":null},{"name":"sv","description":"Swedish","isDeprecated":false,"deprecationReason":null},{"name":"tg","description":"Tajik","isDeprecated":false,"deprecationReason":null},{"name":"ta","description":"Tamil","isDeprecated":false,"deprecationReason":null},{"name":"tt","description":"Tatar","isDeprecated":false,"deprecationReason":null},{"name":"te","description":"Telugu","isDeprecated":false,"deprecationReason":null},{"name":"th","description":"Thai","isDeprecated":false,"deprecationReason":null},{"name":"bo","description":"Tibetan","isDeprecated":false,"deprecationReason":null},{"name":"ti","description":"Tigrinya","isDeprecated":false,"deprecationReason":null},{"name":"to","description":"Tongan","isDeprecated":false,"deprecationReason":null},{"name":"tr","description":"Turkish","isDeprecated":false,"deprecationReason":null},{"name":"tk","description":"Turkmen","isDeprecated":false,"deprecationReason":null},{"name":"uk","description":"Ukrainian","isDeprecated":false,"deprecationReason":null},{"name":"ur","description":"Urdu","isDeprecated":false,"deprecationReason":null},{"name":"ug","description":"Uyghur","isDeprecated":false,"deprecationReason":null},{"name":"uz","description":"Uzbek","isDeprecated":false,"deprecationReason":null},{"name":"vi","description":"Vietnamese","isDeprecated":false,"deprecationReason":null},{"name":"vo","description":"Volapük","isDeprecated":false,"deprecationReason":null},{"name":"cy","description":"Welsh","isDeprecated":false,"deprecationReason":null},{"name":"fy","description":"Western Frisian","isDeprecated":false,"deprecationReason":null},{"name":"wo","description":"Wolof","isDeprecated":false,"deprecationReason":null},{"name":"xh","description":"Xhosa","isDeprecated":false,"deprecationReason":null},{"name":"yi","description":"Yiddish","isDeprecated":false,"deprecationReason":null},{"name":"yo","description":"Yoruba","isDeprecated":false,"deprecationReason":null},{"name":"zu","description":"Zulu","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"CountryTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CurrencyCode","description":"@description\nISO 4217 currency code\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"AED","description":"United Arab Emirates dirham","isDeprecated":false,"deprecationReason":null},{"name":"AFN","description":"Afghan afghani","isDeprecated":false,"deprecationReason":null},{"name":"ALL","description":"Albanian lek","isDeprecated":false,"deprecationReason":null},{"name":"AMD","description":"Armenian dram","isDeprecated":false,"deprecationReason":null},{"name":"ANG","description":"Netherlands Antillean guilder","isDeprecated":false,"deprecationReason":null},{"name":"AOA","description":"Angolan kwanza","isDeprecated":false,"deprecationReason":null},{"name":"ARS","description":"Argentine peso","isDeprecated":false,"deprecationReason":null},{"name":"AUD","description":"Australian dollar","isDeprecated":false,"deprecationReason":null},{"name":"AWG","description":"Aruban florin","isDeprecated":false,"deprecationReason":null},{"name":"AZN","description":"Azerbaijani manat","isDeprecated":false,"deprecationReason":null},{"name":"BAM","description":"Bosnia and Herzegovina convertible mark","isDeprecated":false,"deprecationReason":null},{"name":"BBD","description":"Barbados dollar","isDeprecated":false,"deprecationReason":null},{"name":"BDT","description":"Bangladeshi taka","isDeprecated":false,"deprecationReason":null},{"name":"BGN","description":"Bulgarian lev","isDeprecated":false,"deprecationReason":null},{"name":"BHD","description":"Bahraini dinar","isDeprecated":false,"deprecationReason":null},{"name":"BIF","description":"Burundian franc","isDeprecated":false,"deprecationReason":null},{"name":"BMD","description":"Bermudian dollar","isDeprecated":false,"deprecationReason":null},{"name":"BND","description":"Brunei dollar","isDeprecated":false,"deprecationReason":null},{"name":"BOB","description":"Boliviano","isDeprecated":false,"deprecationReason":null},{"name":"BRL","description":"Brazilian real","isDeprecated":false,"deprecationReason":null},{"name":"BSD","description":"Bahamian dollar","isDeprecated":false,"deprecationReason":null},{"name":"BTN","description":"Bhutanese ngultrum","isDeprecated":false,"deprecationReason":null},{"name":"BWP","description":"Botswana pula","isDeprecated":false,"deprecationReason":null},{"name":"BYN","description":"Belarusian ruble","isDeprecated":false,"deprecationReason":null},{"name":"BZD","description":"Belize dollar","isDeprecated":false,"deprecationReason":null},{"name":"CAD","description":"Canadian dollar","isDeprecated":false,"deprecationReason":null},{"name":"CDF","description":"Congolese franc","isDeprecated":false,"deprecationReason":null},{"name":"CHF","description":"Swiss franc","isDeprecated":false,"deprecationReason":null},{"name":"CLP","description":"Chilean peso","isDeprecated":false,"deprecationReason":null},{"name":"CNY","description":"Renminbi (Chinese) yuan","isDeprecated":false,"deprecationReason":null},{"name":"COP","description":"Colombian peso","isDeprecated":false,"deprecationReason":null},{"name":"CRC","description":"Costa Rican colon","isDeprecated":false,"deprecationReason":null},{"name":"CUC","description":"Cuban convertible peso","isDeprecated":false,"deprecationReason":null},{"name":"CUP","description":"Cuban peso","isDeprecated":false,"deprecationReason":null},{"name":"CVE","description":"Cape Verde escudo","isDeprecated":false,"deprecationReason":null},{"name":"CZK","description":"Czech koruna","isDeprecated":false,"deprecationReason":null},{"name":"DJF","description":"Djiboutian franc","isDeprecated":false,"deprecationReason":null},{"name":"DKK","description":"Danish krone","isDeprecated":false,"deprecationReason":null},{"name":"DOP","description":"Dominican peso","isDeprecated":false,"deprecationReason":null},{"name":"DZD","description":"Algerian dinar","isDeprecated":false,"deprecationReason":null},{"name":"EGP","description":"Egyptian pound","isDeprecated":false,"deprecationReason":null},{"name":"ERN","description":"Eritrean nakfa","isDeprecated":false,"deprecationReason":null},{"name":"ETB","description":"Ethiopian birr","isDeprecated":false,"deprecationReason":null},{"name":"EUR","description":"Euro","isDeprecated":false,"deprecationReason":null},{"name":"FJD","description":"Fiji dollar","isDeprecated":false,"deprecationReason":null},{"name":"FKP","description":"Falkland Islands pound","isDeprecated":false,"deprecationReason":null},{"name":"GBP","description":"Pound sterling","isDeprecated":false,"deprecationReason":null},{"name":"GEL","description":"Georgian lari","isDeprecated":false,"deprecationReason":null},{"name":"GHS","description":"Ghanaian cedi","isDeprecated":false,"deprecationReason":null},{"name":"GIP","description":"Gibraltar pound","isDeprecated":false,"deprecationReason":null},{"name":"GMD","description":"Gambian dalasi","isDeprecated":false,"deprecationReason":null},{"name":"GNF","description":"Guinean franc","isDeprecated":false,"deprecationReason":null},{"name":"GTQ","description":"Guatemalan quetzal","isDeprecated":false,"deprecationReason":null},{"name":"GYD","description":"Guyanese dollar","isDeprecated":false,"deprecationReason":null},{"name":"HKD","description":"Hong Kong dollar","isDeprecated":false,"deprecationReason":null},{"name":"HNL","description":"Honduran lempira","isDeprecated":false,"deprecationReason":null},{"name":"HRK","description":"Croatian kuna","isDeprecated":false,"deprecationReason":null},{"name":"HTG","description":"Haitian gourde","isDeprecated":false,"deprecationReason":null},{"name":"HUF","description":"Hungarian forint","isDeprecated":false,"deprecationReason":null},{"name":"IDR","description":"Indonesian rupiah","isDeprecated":false,"deprecationReason":null},{"name":"ILS","description":"Israeli new shekel","isDeprecated":false,"deprecationReason":null},{"name":"INR","description":"Indian rupee","isDeprecated":false,"deprecationReason":null},{"name":"IQD","description":"Iraqi dinar","isDeprecated":false,"deprecationReason":null},{"name":"IRR","description":"Iranian rial","isDeprecated":false,"deprecationReason":null},{"name":"ISK","description":"Icelandic króna","isDeprecated":false,"deprecationReason":null},{"name":"JMD","description":"Jamaican dollar","isDeprecated":false,"deprecationReason":null},{"name":"JOD","description":"Jordanian dinar","isDeprecated":false,"deprecationReason":null},{"name":"JPY","description":"Japanese yen","isDeprecated":false,"deprecationReason":null},{"name":"KES","description":"Kenyan shilling","isDeprecated":false,"deprecationReason":null},{"name":"KGS","description":"Kyrgyzstani som","isDeprecated":false,"deprecationReason":null},{"name":"KHR","description":"Cambodian riel","isDeprecated":false,"deprecationReason":null},{"name":"KMF","description":"Comoro franc","isDeprecated":false,"deprecationReason":null},{"name":"KPW","description":"North Korean won","isDeprecated":false,"deprecationReason":null},{"name":"KRW","description":"South Korean won","isDeprecated":false,"deprecationReason":null},{"name":"KWD","description":"Kuwaiti dinar","isDeprecated":false,"deprecationReason":null},{"name":"KYD","description":"Cayman Islands dollar","isDeprecated":false,"deprecationReason":null},{"name":"KZT","description":"Kazakhstani tenge","isDeprecated":false,"deprecationReason":null},{"name":"LAK","description":"Lao kip","isDeprecated":false,"deprecationReason":null},{"name":"LBP","description":"Lebanese pound","isDeprecated":false,"deprecationReason":null},{"name":"LKR","description":"Sri Lankan rupee","isDeprecated":false,"deprecationReason":null},{"name":"LRD","description":"Liberian dollar","isDeprecated":false,"deprecationReason":null},{"name":"LSL","description":"Lesotho loti","isDeprecated":false,"deprecationReason":null},{"name":"LYD","description":"Libyan dinar","isDeprecated":false,"deprecationReason":null},{"name":"MAD","description":"Moroccan dirham","isDeprecated":false,"deprecationReason":null},{"name":"MDL","description":"Moldovan leu","isDeprecated":false,"deprecationReason":null},{"name":"MGA","description":"Malagasy ariary","isDeprecated":false,"deprecationReason":null},{"name":"MKD","description":"Macedonian denar","isDeprecated":false,"deprecationReason":null},{"name":"MMK","description":"Myanmar kyat","isDeprecated":false,"deprecationReason":null},{"name":"MNT","description":"Mongolian tögrög","isDeprecated":false,"deprecationReason":null},{"name":"MOP","description":"Macanese pataca","isDeprecated":false,"deprecationReason":null},{"name":"MRU","description":"Mauritanian ouguiya","isDeprecated":false,"deprecationReason":null},{"name":"MUR","description":"Mauritian rupee","isDeprecated":false,"deprecationReason":null},{"name":"MVR","description":"Maldivian rufiyaa","isDeprecated":false,"deprecationReason":null},{"name":"MWK","description":"Malawian kwacha","isDeprecated":false,"deprecationReason":null},{"name":"MXN","description":"Mexican peso","isDeprecated":false,"deprecationReason":null},{"name":"MYR","description":"Malaysian ringgit","isDeprecated":false,"deprecationReason":null},{"name":"MZN","description":"Mozambican metical","isDeprecated":false,"deprecationReason":null},{"name":"NAD","description":"Namibian dollar","isDeprecated":false,"deprecationReason":null},{"name":"NGN","description":"Nigerian naira","isDeprecated":false,"deprecationReason":null},{"name":"NIO","description":"Nicaraguan córdoba","isDeprecated":false,"deprecationReason":null},{"name":"NOK","description":"Norwegian krone","isDeprecated":false,"deprecationReason":null},{"name":"NPR","description":"Nepalese rupee","isDeprecated":false,"deprecationReason":null},{"name":"NZD","description":"New Zealand dollar","isDeprecated":false,"deprecationReason":null},{"name":"OMR","description":"Omani rial","isDeprecated":false,"deprecationReason":null},{"name":"PAB","description":"Panamanian balboa","isDeprecated":false,"deprecationReason":null},{"name":"PEN","description":"Peruvian sol","isDeprecated":false,"deprecationReason":null},{"name":"PGK","description":"Papua New Guinean kina","isDeprecated":false,"deprecationReason":null},{"name":"PHP","description":"Philippine peso","isDeprecated":false,"deprecationReason":null},{"name":"PKR","description":"Pakistani rupee","isDeprecated":false,"deprecationReason":null},{"name":"PLN","description":"Polish złoty","isDeprecated":false,"deprecationReason":null},{"name":"PYG","description":"Paraguayan guaraní","isDeprecated":false,"deprecationReason":null},{"name":"QAR","description":"Qatari riyal","isDeprecated":false,"deprecationReason":null},{"name":"RON","description":"Romanian leu","isDeprecated":false,"deprecationReason":null},{"name":"RSD","description":"Serbian dinar","isDeprecated":false,"deprecationReason":null},{"name":"RUB","description":"Russian ruble","isDeprecated":false,"deprecationReason":null},{"name":"RWF","description":"Rwandan franc","isDeprecated":false,"deprecationReason":null},{"name":"SAR","description":"Saudi riyal","isDeprecated":false,"deprecationReason":null},{"name":"SBD","description":"Solomon Islands dollar","isDeprecated":false,"deprecationReason":null},{"name":"SCR","description":"Seychelles rupee","isDeprecated":false,"deprecationReason":null},{"name":"SDG","description":"Sudanese pound","isDeprecated":false,"deprecationReason":null},{"name":"SEK","description":"Swedish krona/kronor","isDeprecated":false,"deprecationReason":null},{"name":"SGD","description":"Singapore dollar","isDeprecated":false,"deprecationReason":null},{"name":"SHP","description":"Saint Helena pound","isDeprecated":false,"deprecationReason":null},{"name":"SLL","description":"Sierra Leonean leone","isDeprecated":false,"deprecationReason":null},{"name":"SOS","description":"Somali shilling","isDeprecated":false,"deprecationReason":null},{"name":"SRD","description":"Surinamese dollar","isDeprecated":false,"deprecationReason":null},{"name":"SSP","description":"South Sudanese pound","isDeprecated":false,"deprecationReason":null},{"name":"STN","description":"São Tomé and Príncipe dobra","isDeprecated":false,"deprecationReason":null},{"name":"SVC","description":"Salvadoran colón","isDeprecated":false,"deprecationReason":null},{"name":"SYP","description":"Syrian pound","isDeprecated":false,"deprecationReason":null},{"name":"SZL","description":"Swazi lilangeni","isDeprecated":false,"deprecationReason":null},{"name":"THB","description":"Thai baht","isDeprecated":false,"deprecationReason":null},{"name":"TJS","description":"Tajikistani somoni","isDeprecated":false,"deprecationReason":null},{"name":"TMT","description":"Turkmenistan manat","isDeprecated":false,"deprecationReason":null},{"name":"TND","description":"Tunisian dinar","isDeprecated":false,"deprecationReason":null},{"name":"TOP","description":"Tongan paʻanga","isDeprecated":false,"deprecationReason":null},{"name":"TRY","description":"Turkish lira","isDeprecated":false,"deprecationReason":null},{"name":"TTD","description":"Trinidad and Tobago dollar","isDeprecated":false,"deprecationReason":null},{"name":"TWD","description":"New Taiwan dollar","isDeprecated":false,"deprecationReason":null},{"name":"TZS","description":"Tanzanian shilling","isDeprecated":false,"deprecationReason":null},{"name":"UAH","description":"Ukrainian hryvnia","isDeprecated":false,"deprecationReason":null},{"name":"UGX","description":"Ugandan shilling","isDeprecated":false,"deprecationReason":null},{"name":"USD","description":"United States dollar","isDeprecated":false,"deprecationReason":null},{"name":"UYU","description":"Uruguayan peso","isDeprecated":false,"deprecationReason":null},{"name":"UZS","description":"Uzbekistan som","isDeprecated":false,"deprecationReason":null},{"name":"VES","description":"Venezuelan bolívar soberano","isDeprecated":false,"deprecationReason":null},{"name":"VND","description":"Vietnamese đồng","isDeprecated":false,"deprecationReason":null},{"name":"VUV","description":"Vanuatu vatu","isDeprecated":false,"deprecationReason":null},{"name":"WST","description":"Samoan tala","isDeprecated":false,"deprecationReason":null},{"name":"XAF","description":"CFA franc BEAC","isDeprecated":false,"deprecationReason":null},{"name":"XCD","description":"East Caribbean dollar","isDeprecated":false,"deprecationReason":null},{"name":"XOF","description":"CFA franc BCEAO","isDeprecated":false,"deprecationReason":null},{"name":"XPF","description":"CFP franc (franc Pacifique)","isDeprecated":false,"deprecationReason":null},{"name":"YER","description":"Yemeni rial","isDeprecated":false,"deprecationReason":null},{"name":"ZAR","description":"South African rand","isDeprecated":false,"deprecationReason":null},{"name":"ZMW","description":"Zambian kwacha","isDeprecated":false,"deprecationReason":null},{"name":"ZWL","description":"Zimbabwean dollar","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"AuthenticationMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"strategy","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"JSON","description":"The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AssetListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"AssetSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"AssetFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AssetSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"fileSize","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"mimeType","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"width","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"height","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"source","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"preview","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AssetFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"type","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"fileSize","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"mimeType","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"width","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"height","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"source","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"preview","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NumberOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"lt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"lte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"gt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"gte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"between","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberRange","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Float","description":"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NumberRange","description":null,"fields":null,"inputFields":[{"name":"start","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null},{"name":"end","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AssetList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Asset","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"AssetType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fileSize","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mimeType","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"width","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"height","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"source","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"preview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"focalPoint","description":null,"args":[],"type":{"kind":"OBJECT","name":"Coordinate","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AssetType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"IMAGE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"VIDEO","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"BINARY","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Coordinate","description":null,"fields":[{"name":"x","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"y","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CurrentUser","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifier","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CurrentUserChannel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CurrentUserChannel","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"token","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"position","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionFilterParameter","description":null,"fields":null,"inputFields":[{"name":"isPrivate","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"position","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"BooleanOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Collection","description":null,"fields":[{"name":"isPrivate","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"ENUM","name":"LanguageCode","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"breadcrumbs","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionBreadcrumb","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"position","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"parent","description":null,"args":[],"type":{"kind":"OBJECT","name":"Collection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"children","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"filters","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariants","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariantList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionBreadcrumb","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigurableOperation","description":null,"fields":[{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArg","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigArg","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantSortParameter","description":null,"fields":null,"inputFields":[{"name":"stockOnHand","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"productId","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"priceWithTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantFilterParameter","description":null,"fields":null,"inputFields":[{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"stockOnHand","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"trackInventory","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"priceIncludesTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"priceWithTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariantList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariant","description":null,"fields":[{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stockOnHand","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"trackInventory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"stockMovements","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"StockMovementListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StockMovementList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"product","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sku","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceIncludesTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRateApplied","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxCategory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariantTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"StockMovementListOptions","description":null,"fields":null,"inputFields":[{"name":"type","description":null,"type":{"kind":"ENUM","name":"StockMovementType","ofType":null},"defaultValue":null},{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"StockMovementType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ADJUSTMENT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SALE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CANCELLATION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"RETURN","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"StockMovementList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"StockMovementItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"StockMovementItem","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StockAdjustment","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null}]},{"kind":"OBJECT","name":"StockAdjustment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"StockMovement","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StockAdjustment","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null}]},{"kind":"OBJECT","name":"Sale","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderLine","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unitPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"order","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderItem","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"cancelled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceIncludesTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRate","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillment","description":null,"args":[],"type":{"kind":"OBJECT","name":"Fulfillment","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refundId","description":null,"args":[],"type":{"kind":"SCALAR","name":"ID","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Adjustment","description":null,"fields":[{"name":"adjustmentSource","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"AdjustmentType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"amount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AdjustmentType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TAX","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PROMOTION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SHIPPING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"TAX_REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PROMOTION_REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SHIPPING_REFUND","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Fulfillment","description":null,"fields":[{"name":"nextStates","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"trackingCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Order","description":null,"fields":[{"name":"nextStates","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":"A unique code for the Order","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"active","description":"An order is active as long as the payment process has not been completed","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customer","description":null,"args":[],"type":{"kind":"OBJECT","name":"Customer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shippingAddress","description":null,"args":[],"type":{"kind":"OBJECT","name":"OrderAddress","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"billingAddress","description":null,"args":[],"type":{"kind":"OBJECT","name":"OrderAddress","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lines","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":"Order-level adjustments to the order total, such as discounts from promotions","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"couponCodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"promotions","description":"Promotions applied to the order. Only gets populated after the payment process has completed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"payments","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Payment","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillments","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Fulfillment","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"subTotalBeforeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subTotal","description":"The subTotal is the total of the OrderLines, before order-level promotions and shipping has been applied.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shipping","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingMethod","description":null,"args":[],"type":{"kind":"OBJECT","name":"ShippingMethod","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"totalBeforeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"total","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"history","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntryList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Customer","description":null,"fields":[{"name":"groups","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"history","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntryList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"firstName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"emailAddress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addresses","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"orders","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":null,"args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerGroup","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customers","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerList","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntrySortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntrySortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntryFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"type","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HistoryEntryList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntry","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HistoryEntry","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPublic","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"HistoryEntryType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"administrator","description":null,"args":[],"type":{"kind":"OBJECT","name":"Administrator","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"data","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"JSON","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"HistoryEntryType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CUSTOMER_REGISTERED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_DETAIL_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDED_TO_GROUP","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_REMOVED_FROM_GROUP","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_CREATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_DELETED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_RESET_REQUESTED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_RESET_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_EMAIL_UPDATE_REQUESTED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_EMAIL_UPDATE_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_NOTE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_STATE_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_PAYMENT_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_FULFILLMENT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_CANCELLATION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_REFUND_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_FULFILLMENT_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_NOTE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_COUPON_APPLIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_COUPON_REMOVED","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Address","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fullName","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine1","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine2","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"city","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"province","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"postalCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultShippingAddress","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultBillingAddress","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"subTotalBeforeTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"subTotal","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"shippingWithTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"totalBeforeTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"total","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"active","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"subTotalBeforeTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"subTotal","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"shippingWithTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"totalBeforeTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"total","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderAddress","description":null,"fields":[{"name":"fullName","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine1","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine2","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"city","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"province","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"postalCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"countryCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Promotion","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startsAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"endsAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"couponCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"perCustomerUsageLimit","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"conditions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"actions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Payment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"amount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactionId","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"errorMessage","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refunds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Refund","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Refund","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shipping","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustment","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"total","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactionId","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"orderItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"checker","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"calculator","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Cancellation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Return","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderItem","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Product","description":null,"fields":[{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"variants","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"optionGroups","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collections","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionGroup","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroupTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOption","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"groupId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"group","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionGroupTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValue","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facet","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValueTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Facet","description":null,"fields":[{"name":"isPrivate","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"values","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValueTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxRate","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"category","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"zone","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customerGroup","description":null,"args":[],"type":{"kind":"OBJECT","name":"CustomerGroup","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxCategory","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariantTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigurableOperationDefinition","description":null,"fields":[{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArgDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigArgDefinition","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ui","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CountryListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CountrySortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CountryFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CountrySortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CountryFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CountryList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerGroupListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerGroupSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerGroupFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerGroupSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerGroupFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerGroupList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"FacetSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"FacetFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetFilterParameter","description":null,"fields":null,"inputFields":[{"name":"isPrivate","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GlobalSettings","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"availableLanguages","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"trackInventory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"serverConfig","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ServerConfig","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ServerConfig","description":null,"fields":[{"name":"orderProcess","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderProcessState","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"permittedAssetTypes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFieldConfig","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomFields","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderProcessState","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"to","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomFields","description":null,"fields":[{"name":"Address","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Collection","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Customer","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Facet","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"FacetValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"GlobalSettings","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Order","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"OrderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Product","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductOption","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductOptionGroup","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"User","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ShippingMethod","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CustomFieldConfig","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","ofType":null}]},{"kind":"OBJECT","name":"StringCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"length","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StringFieldOption","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"CustomField","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","ofType":null}]},{"kind":"OBJECT","name":"LocalizedString","description":null,"fields":[{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StringFieldOption","description":null,"fields":[{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"length","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","description":"Expects the same validation formats as the `` HTML element.\nSee https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Job","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startedAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"settledAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"queueName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"JobState","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"progress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"data","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"result","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"error","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isSettled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"duration","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"JobState","description":"@description\nThe state of a Job in the JobQueue\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"PENDING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"RUNNING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"COMPLETED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"RETRYING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"FAILED","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"JobListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"JobSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"JobFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"JobSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"startedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"settledAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"queueName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"progress","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"duration","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"JobFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"startedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"settledAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"queueName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"progress","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"isSettled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"duration","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"JobList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Job","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"JobQueue","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"running","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PaymentMethodListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"PaymentMethodSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"PaymentMethodFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PaymentMethodSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PaymentMethodFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentMethodList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PaymentMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"configArgs","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArg","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"definition","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SearchInput","description":null,"fields":null,"inputFields":[{"name":"term","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"facetValueOperator","description":null,"type":{"kind":"ENUM","name":"LogicalOperator","ofType":null},"defaultValue":null},{"name":"collectionId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"collectionSlug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"groupByProduct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"SearchResultSortParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LogicalOperator","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"AND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"OR","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SearchResultSortParameter","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResponse","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValueResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResult","description":null,"fields":[{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channelIds","description":"An array of ids of the Collections in which this result appears","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"sku","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productPreview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `productAsset.preview` instead"},{"name":"productAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"SearchResultAsset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantPreview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `productVariantAsset.preview` instead"},{"name":"productVariantAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"SearchResultAsset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SearchResultPrice","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SearchResultPrice","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facetIds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValueIds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collectionIds","description":"An array of ids of the Collections in which this result appears","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"score","description":"A relevence score for the result. Differs between database implementations","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResultAsset","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"preview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"focalPoint","description":null,"args":[],"type":{"kind":"OBJECT","name":"Coordinate","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"SearchResultPrice","description":"The price of a search result product, either as a range or as a single price","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"PriceRange","ofType":null},{"kind":"OBJECT","name":"SinglePrice","ofType":null}]},{"kind":"OBJECT","name":"PriceRange","description":"The price range where the result has more than one price","fields":[{"name":"min","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SinglePrice","description":"The price value where the result has a single price","fields":[{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValueResult","description":"Which FacetValues are present in the products returned\nby the search, and in what quantity.","fields":[{"name":"facetValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductFilterParameter","description":null,"fields":null,"inputFields":[{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PromotionListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"PromotionSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"PromotionFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PromotionSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"startsAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"endsAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"couponCode","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"perCustomerUsageLimit","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PromotionFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"startsAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"endsAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"couponCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"perCustomerUsageLimit","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PromotionList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RoleListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"RoleSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"RoleFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RoleSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RoleFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RoleList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ShippingMethodListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ShippingMethodSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ShippingMethodFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ShippingMethodSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ShippingMethodFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethodList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TestShippingMethodInput","description":null,"fields":null,"inputFields":[{"name":"checker","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}},"defaultValue":null},{"name":"calculator","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}},"defaultValue":null},{"name":"shippingAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null},{"name":"lines","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TestShippingMethodOrderLineInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"arguments","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigArgInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConfigArgInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateAddressInput","description":null,"fields":null,"inputFields":[{"name":"fullName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"company","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine1","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"streetLine2","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"city","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"province","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"postalCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"countryCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultShippingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"defaultBillingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TestShippingMethodOrderLineInput","description":null,"fields":null,"inputFields":[{"name":"productVariantId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"quantity","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TestShippingMethodResult","description":null,"fields":[{"name":"eligible","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quote","description":null,"args":[],"type":{"kind":"OBJECT","name":"TestShippingMethodQuote","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TestShippingMethodQuote","description":null,"fields":[{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TestEligibleShippingMethodsInput","description":null,"fields":null,"inputFields":[{"name":"shippingAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null},{"name":"lines","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"TestShippingMethodOrderLineInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethodQuote","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TaxRateListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"TaxRateSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"TaxRateFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TaxRateSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"TaxRateFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxRateList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Mutation","description":null,"fields":[{"name":"createAdministrator","description":"Create a new Administrator","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAdministratorInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateAdministrator","description":"Update an existing Administrator","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateAdministratorInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteAdministrator","description":"Delete an Administrator","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"assignRoleToAdministrator","description":"Assign a Role to an Administrator","args":[{"name":"administratorId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"roleId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createAssets","description":"Create a new Asset","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAssetInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CreateAssetResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"updateAsset","description":"Update an existing Asset","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateAssetInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteAsset","description":"Delete an Asset","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"force","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteAssets","description":"Delete multiple Assets","args":[{"name":"ids","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"force","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"Authenticates the user using the native authentication strategy. This mutation\nis an alias for `authenticate({ native: { ... }})`","args":[{"name":"username","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"rememberMe","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"NativeAuthenticationResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"authenticate","description":"Authenticates the user using a named authentication strategy","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AuthenticationInput","ofType":null}},"defaultValue":null},{"name":"rememberMe","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"AuthenticationResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logout","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Success","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createChannel","description":"Create a new Channel","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateChannelInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CreateChannelResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateChannel","description":"Update an existing Channel","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateChannelInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"UpdateChannelResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteChannel","description":"Delete a Channel","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCollection","description":"Create a new Collection","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCollectionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCollection","description":"Update an existing Collection","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCollectionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCollection","description":"Delete a Collection and all of its descendants","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"moveCollection","description":"Move a Collection to a different parent or index","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"MoveCollectionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCountry","description":"Create a new Country","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCountryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCountry","description":"Update an existing Country","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCountryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCountry","description":"Delete a Country","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCustomerGroup","description":"Create a new CustomerGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCustomerGroupInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerGroup","description":"Update an existing CustomerGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCustomerGroupInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomerGroup","description":"Delete a CustomerGroup","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addCustomersToGroup","description":"Add Customers to a CustomerGroup","args":[{"name":"customerGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"customerIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeCustomersFromGroup","description":"Remove Customers from a CustomerGroup","args":[{"name":"customerGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"customerIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCustomer","description":"Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer.","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCustomerInput","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CreateCustomerResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomer","description":"Update an existing Customer","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"UpdateCustomerResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomer","description":"Delete a Customer","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCustomerAddress","description":"Create a new Address and associate it with the Customer specified by customerId","args":[{"name":"customerId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerAddress","description":"Update an existing Address","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomerAddress","description":"Update an existing Address","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Success","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addNoteToCustomer","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddNoteToCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerNote","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCustomerNoteInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntry","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomerNote","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createFacet","description":"Create a new Facet","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateFacetInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateFacet","description":"Update an existing Facet","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateFacetInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteFacet","description":"Delete an existing Facet","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"force","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createFacetValues","description":"Create one or more FacetValues","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateFacetValueInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"updateFacetValues","description":"Update one or more FacetValues","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateFacetValueInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteFacetValues","description":"Delete one or more FacetValues","args":[{"name":"ids","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"force","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"updateGlobalSettings","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateGlobalSettingsInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"UpdateGlobalSettingsResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"importProducts","description":null,"args":[{"name":"csvFile","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Upload","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"ImportInfo","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeSettledJobs","description":"Remove all settled jobs in the given queues olfer than the given date. Returns the number of jobs deleted.","args":[{"name":"queueNames","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"defaultValue":null},{"name":"olderThan","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"settlePayment","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SettlePaymentResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addFulfillmentToOrder","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FulfillOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"AddFulfillmentToOrderResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"cancelOrder","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CancelOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CancelOrderResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"refundOrder","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RefundOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"RefundOrderResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"settleRefund","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SettleRefundInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SettleRefundResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addNoteToOrder","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AddNoteToOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateOrderNote","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateOrderNoteInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntry","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteOrderNote","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transitionOrderToState","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"UNION","name":"TransitionOrderToStateResult","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"transitionFulfillmentToState","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"TransitionFulfillmentToStateResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderCustomFields","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updatePaymentMethod","description":"Update an existing PaymentMethod","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdatePaymentMethodInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"PaymentMethod","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createProductOptionGroup","description":"Create a new ProductOptionGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProductOptionGroupInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateProductOptionGroup","description":"Update an existing ProductOptionGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProductOptionGroupInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createProductOption","description":"Create a new ProductOption within a ProductOptionGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProductOptionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateProductOption","description":"Create a new ProductOption within a ProductOptionGroup","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProductOptionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"reindex","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Job","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createProduct","description":"Create a new Product","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProductInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateProduct","description":"Update an existing Product","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProductInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteProduct","description":"Delete a Product","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addOptionGroupToProduct","description":"Add an OptionGroup to a Product","args":[{"name":"productId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"optionGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeOptionGroupFromProduct","description":"Remove an OptionGroup from a Product","args":[{"name":"productId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"optionGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"RemoveOptionGroupFromProductResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createProductVariants","description":"Create a set of ProductVariants based on the OptionGroups assigned to the given Product","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateProductVariantInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"updateProductVariants","description":"Update existing ProductVariants","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateProductVariantInput","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteProductVariant","description":"Delete a ProductVariant","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"assignProductsToChannel","description":"Assigns Products to the specified Channel","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AssignProductsToChannelInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"removeProductsFromChannel","description":"Removes Products from the specified Channel","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RemoveProductsFromChannelInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"createPromotion","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreatePromotionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CreatePromotionResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatePromotion","description":null,"args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdatePromotionInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"UpdatePromotionResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deletePromotion","description":null,"args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createRole","description":"Create a new Role","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateRoleInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateRole","description":"Update an existing Role","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateRoleInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteRole","description":"Delete an existing Role","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createShippingMethod","description":"Create a new ShippingMethod","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateShippingMethodInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethod","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateShippingMethod","description":"Update an existing ShippingMethod","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateShippingMethodInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethod","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteShippingMethod","description":"Delete a ShippingMethod","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createTaxCategory","description":"Create a new TaxCategory","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateTaxCategoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateTaxCategory","description":"Update an existing TaxCategory","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateTaxCategoryInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteTaxCategory","description":"Deletes a TaxCategory","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createTaxRate","description":"Create a new TaxRate","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateTaxRateInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateTaxRate","description":"Update an existing TaxRate","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateTaxRateInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteTaxRate","description":"Delete a TaxRate","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createZone","description":"Create a new Zone","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateZoneInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateZone","description":"Update an existing Zone","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateZoneInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteZone","description":"Delete a Zone","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"DeletionResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addMembersToZone","description":"Add members to a Zone","args":[{"name":"zoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"memberIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeMembersFromZone","description":"Remove members from a Zone","args":[{"name":"zoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"memberIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateAdministratorInput","description":null,"fields":null,"inputFields":[{"name":"firstName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"roleIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateAdministratorInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"roleIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeletionResponse","description":null,"fields":[{"name":"result","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DeletionResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"DeletionResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DELETED","description":"The entity was successfully deleted","isDeprecated":false,"deprecationReason":null},{"name":"NOT_DELETED","description":"Deletion did not take place, reason given in message","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateAssetInput","description":null,"fields":null,"inputFields":[{"name":"file","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Upload","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Upload","description":"The `Upload` scalar type represents a file upload.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CreateAssetResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Asset","ofType":null},{"kind":"OBJECT","name":"MimeTypeError","ofType":null}]},{"kind":"OBJECT","name":"MimeTypeError","description":null,"fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fileName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mimeType","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"ErrorResult","description":null,"fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"MimeTypeError","ofType":null},{"kind":"OBJECT","name":"InvalidCredentialsError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null},{"kind":"OBJECT","name":"LanguageNotAvailableError","ofType":null},{"kind":"OBJECT","name":"EmailAddressConflictError","ofType":null},{"kind":"OBJECT","name":"ChannelDefaultLanguageError","ofType":null},{"kind":"OBJECT","name":"SettlePaymentError","ofType":null},{"kind":"OBJECT","name":"PaymentStateTransitionError","ofType":null},{"kind":"OBJECT","name":"OrderStateTransitionError","ofType":null},{"kind":"OBJECT","name":"EmptyOrderLineSelectionError","ofType":null},{"kind":"OBJECT","name":"ItemsAlreadyFulfilledError","ofType":null},{"kind":"OBJECT","name":"QuantityTooGreatError","ofType":null},{"kind":"OBJECT","name":"MultipleOrderError","ofType":null},{"kind":"OBJECT","name":"CancelActiveOrderError","ofType":null},{"kind":"OBJECT","name":"NothingToRefundError","ofType":null},{"kind":"OBJECT","name":"PaymentOrderMismatchError","ofType":null},{"kind":"OBJECT","name":"RefundOrderStateError","ofType":null},{"kind":"OBJECT","name":"AlreadyRefundedError","ofType":null},{"kind":"OBJECT","name":"RefundStateTransitionError","ofType":null},{"kind":"OBJECT","name":"FulfillmentStateTransitionError","ofType":null},{"kind":"OBJECT","name":"ProductOptionInUseError","ofType":null},{"kind":"OBJECT","name":"MissingConditionsError","ofType":null}]},{"kind":"ENUM","name":"ErrorCode","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"UNKNOWN_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"MIME_TYPE_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"INVALID_CREDENTIALS_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"NATIVE_AUTH_STRATEGY_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"LANGUAGE_NOT_AVAILABLE_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"EMAIL_ADDRESS_CONFLICT_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CHANNEL_DEFAULT_LANGUAGE_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SETTLE_PAYMENT_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PAYMENT_STATE_TRANSITION_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_STATE_TRANSITION_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"EMPTY_ORDER_LINE_SELECTION_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ITEMS_ALREADY_FULFILLED_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"QUANTITY_TOO_GREAT_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"MULTIPLE_ORDER_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CANCEL_ACTIVE_ORDER_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"NOTHING_TO_REFUND_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PAYMENT_ORDER_MISMATCH_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"REFUND_ORDER_STATE_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ALREADY_REFUNDED_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"REFUND_STATE_TRANSITION_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"FULFILLMENT_STATE_TRANSITION_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PRODUCT_OPTION_IN_USE_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"MISSING_CONDITIONS_ERROR","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateAssetInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"focalPoint","description":null,"type":{"kind":"INPUT_OBJECT","name":"CoordinateInput","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CoordinateInput","description":null,"fields":null,"inputFields":[{"name":"x","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null},{"name":"y","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"NativeAuthenticationResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CurrentUser","ofType":null},{"kind":"OBJECT","name":"InvalidCredentialsError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"OBJECT","name":"InvalidCredentialsError","description":"Returned if the user authentication credentials are not valid","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","description":"Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AuthenticationInput","description":null,"fields":null,"inputFields":[{"name":"native","description":null,"type":{"kind":"INPUT_OBJECT","name":"NativeAuthInput","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NativeAuthInput","description":null,"fields":null,"inputFields":[{"name":"username","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"AuthenticationResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CurrentUser","ofType":null},{"kind":"OBJECT","name":"InvalidCredentialsError","ofType":null}]},{"kind":"OBJECT","name":"Success","description":"Indicates that an operation succeeded, where we do not want to return any more specific information.","fields":[{"name":"success","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateChannelInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"token","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"defaultLanguageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"pricesIncludeTax","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"defaultValue":null},{"name":"defaultTaxZoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"defaultShippingZoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CreateChannelResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Channel","ofType":null},{"kind":"OBJECT","name":"LanguageNotAvailableError","ofType":null}]},{"kind":"OBJECT","name":"LanguageNotAvailableError","description":"Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateChannelInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"token","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultLanguageCode","description":null,"type":{"kind":"ENUM","name":"LanguageCode","ofType":null},"defaultValue":null},{"name":"pricesIncludeTax","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"ENUM","name":"CurrencyCode","ofType":null},"defaultValue":null},{"name":"defaultTaxZoneId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"defaultShippingZoneId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"UpdateChannelResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Channel","ofType":null},{"kind":"OBJECT","name":"LanguageNotAvailableError","ofType":null}]},{"kind":"INPUT_OBJECT","name":"CreateCollectionInput","description":null,"fields":null,"inputFields":[{"name":"isPrivate","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"parentId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"filters","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCollectionTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCollectionTranslationInput","description":null,"fields":null,"inputFields":[{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCollectionInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"isPrivate","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"parentId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"filters","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCollectionTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCollectionTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"MoveCollectionInput","description":null,"fields":null,"inputFields":[{"name":"collectionId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"parentId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"index","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCountryInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CountryTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CountryTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCountryInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CountryTranslationInput","ofType":null}}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCustomerGroupInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"customerIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCustomerGroupInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCustomerInput","description":null,"fields":null,"inputFields":[{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CreateCustomerResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Customer","ofType":null},{"kind":"OBJECT","name":"EmailAddressConflictError","ofType":null}]},{"kind":"OBJECT","name":"EmailAddressConflictError","description":"Retured when attemting to create a Customer with an email address already registered to an existing User.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCustomerInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"UpdateCustomerResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Customer","ofType":null},{"kind":"OBJECT","name":"EmailAddressConflictError","ofType":null}]},{"kind":"INPUT_OBJECT","name":"UpdateAddressInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"fullName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"company","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine1","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine2","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"city","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"province","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"postalCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"countryCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultShippingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"defaultBillingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AddNoteToCustomerInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"note","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCustomerNoteInput","description":null,"fields":null,"inputFields":[{"name":"noteId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"note","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateFacetInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"isPrivate","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"values","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateFacetValueWithFacetInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateFacetValueWithFacetInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetValueTranslationInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FacetValueTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateFacetInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"isPrivate","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateFacetValueInput","description":null,"fields":null,"inputFields":[{"name":"facetId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetValueTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateFacetValueInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"FacetValueTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateGlobalSettingsInput","description":null,"fields":null,"inputFields":[{"name":"availableLanguages","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}}},"defaultValue":null},{"name":"trackInventory","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"UpdateGlobalSettingsResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"GlobalSettings","ofType":null},{"kind":"OBJECT","name":"ChannelDefaultLanguageError","ofType":null}]},{"kind":"OBJECT","name":"ChannelDefaultLanguageError","description":"Returned when the default LanguageCode of a Channel is no longer found in the `availableLanguages`\nof the GlobalSettings","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"language","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channelCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ImportInfo","description":null,"fields":[{"name":"errors","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"processed","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"imported","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"SettlePaymentResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Payment","ofType":null},{"kind":"OBJECT","name":"SettlePaymentError","ofType":null},{"kind":"OBJECT","name":"PaymentStateTransitionError","ofType":null},{"kind":"OBJECT","name":"OrderStateTransitionError","ofType":null}]},{"kind":"OBJECT","name":"SettlePaymentError","description":"Returned if the Payment settlement fails","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentErrorMessage","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentStateTransitionError","description":"Returned when there is an error in transitioning the Payment state","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transitionError","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fromState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"toState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderStateTransitionError","description":"Returned if there is an error in transitioning the Order state","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transitionError","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fromState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"toState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"FulfillOrderInput","description":null,"fields":null,"inputFields":[{"name":"lines","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"OrderLineInput","ofType":null}}}},"defaultValue":null},{"name":"method","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"trackingCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderLineInput","description":null,"fields":null,"inputFields":[{"name":"orderLineId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"quantity","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"AddFulfillmentToOrderResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Fulfillment","ofType":null},{"kind":"OBJECT","name":"EmptyOrderLineSelectionError","ofType":null},{"kind":"OBJECT","name":"ItemsAlreadyFulfilledError","ofType":null}]},{"kind":"OBJECT","name":"EmptyOrderLineSelectionError","description":"Returned if no OrderLines have been specified for the operation","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ItemsAlreadyFulfilledError","description":"Returned if the specified items are already part of a Fulfillment","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CancelOrderInput","description":null,"fields":null,"inputFields":[{"name":"orderId","description":"The id of the order to be cancelled","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"lines","description":"Optionally specify which OrderLines to cancel. If not provided, all OrderLines will be cancelled","type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"OrderLineInput","ofType":null}}},"defaultValue":null},{"name":"reason","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CancelOrderResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"EmptyOrderLineSelectionError","ofType":null},{"kind":"OBJECT","name":"QuantityTooGreatError","ofType":null},{"kind":"OBJECT","name":"MultipleOrderError","ofType":null},{"kind":"OBJECT","name":"CancelActiveOrderError","ofType":null},{"kind":"OBJECT","name":"OrderStateTransitionError","ofType":null}]},{"kind":"OBJECT","name":"QuantityTooGreatError","description":"Returned if the specified quantity of an OrderLine is greater than the number of items in that line","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"MultipleOrderError","description":"Returned if an operation has specified OrderLines from multiple Orders","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CancelActiveOrderError","description":"Returned if an attempting to cancel lines from an Order which is still active","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RefundOrderInput","description":null,"fields":null,"inputFields":[{"name":"lines","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"OrderLineInput","ofType":null}}}},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"adjustment","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null},{"name":"paymentId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"reason","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"RefundOrderResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Refund","ofType":null},{"kind":"OBJECT","name":"QuantityTooGreatError","ofType":null},{"kind":"OBJECT","name":"NothingToRefundError","ofType":null},{"kind":"OBJECT","name":"OrderStateTransitionError","ofType":null},{"kind":"OBJECT","name":"MultipleOrderError","ofType":null},{"kind":"OBJECT","name":"PaymentOrderMismatchError","ofType":null},{"kind":"OBJECT","name":"RefundOrderStateError","ofType":null},{"kind":"OBJECT","name":"AlreadyRefundedError","ofType":null},{"kind":"OBJECT","name":"RefundStateTransitionError","ofType":null}]},{"kind":"OBJECT","name":"NothingToRefundError","description":"Returned if an attempting to refund an Order but neither items nor shipping refund was specified","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentOrderMismatchError","description":"Returned if an attempting to refund a Payment against OrderLines from a different Order","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RefundOrderStateError","description":"Returned if an attempting to refund an Order which is not in the expected state","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AlreadyRefundedError","description":"Returned if an attempting to refund an OrderItem which has already been refunded","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"refundId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RefundStateTransitionError","description":"Returned when there is an error in transitioning the Refund state","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transitionError","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fromState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"toState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SettleRefundInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"transactionId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"SettleRefundResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Refund","ofType":null},{"kind":"OBJECT","name":"RefundStateTransitionError","ofType":null}]},{"kind":"INPUT_OBJECT","name":"AddNoteToOrderInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"note","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateOrderNoteInput","description":null,"fields":null,"inputFields":[{"name":"noteId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"note","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"TransitionOrderToStateResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"OrderStateTransitionError","ofType":null}]},{"kind":"UNION","name":"TransitionFulfillmentToStateResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Fulfillment","ofType":null},{"kind":"OBJECT","name":"FulfillmentStateTransitionError","ofType":null}]},{"kind":"OBJECT","name":"FulfillmentStateTransitionError","description":"Returned when there is an error in transitioning the Fulfillment state","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transitionError","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fromState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"toState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateOrderInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdatePaymentMethodInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"configArgs","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigArgInput","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductOptionGroupInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"options","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateGroupOptionInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateGroupOptionInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProductOptionGroupInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductOptionInput","description":null,"fields":null,"inputFields":[{"name":"productOptionGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProductOptionInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionGroupTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductInput","description":null,"fields":null,"inputFields":[{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProductInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductTranslationInput","ofType":null}}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"RemoveOptionGroupFromProductResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Product","ofType":null},{"kind":"OBJECT","name":"ProductOptionInUseError","ofType":null}]},{"kind":"OBJECT","name":"ProductOptionInUseError","description":null,"fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"optionGroupCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantCount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductVariantInput","description":null,"fields":null,"inputFields":[{"name":"productId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductVariantTranslationInput","ofType":null}}}},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"taxCategoryId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"optionIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"stockOnHand","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"trackInventory","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateProductVariantInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductVariantTranslationInput","ofType":null}}},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"taxCategoryId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"featuredAssetId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"assetIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"stockOnHand","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"trackInventory","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AssignProductsToChannelInput","description":null,"fields":null,"inputFields":[{"name":"productIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"channelId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"priceFactor","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RemoveProductsFromChannelInput","description":null,"fields":null,"inputFields":[{"name":"productIds","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"defaultValue":null},{"name":"channelId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreatePromotionInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"startsAt","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"endsAt","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"couponCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"perCustomerUsageLimit","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"conditions","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}}},"defaultValue":null},{"name":"actions","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CreatePromotionResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Promotion","ofType":null},{"kind":"OBJECT","name":"MissingConditionsError","ofType":null}]},{"kind":"OBJECT","name":"MissingConditionsError","description":"Returned if a PromotionCondition has neither a couponCode nor any conditions set","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdatePromotionInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"startsAt","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"endsAt","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"couponCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"perCustomerUsageLimit","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"conditions","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}},"defaultValue":null},{"name":"actions","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"UpdatePromotionResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Promotion","ofType":null},{"kind":"OBJECT","name":"MissingConditionsError","ofType":null}]},{"kind":"INPUT_OBJECT","name":"CreateRoleInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"permissions","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"defaultValue":null},{"name":"channelIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateRoleInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"permissions","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}},"defaultValue":null},{"name":"channelIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateShippingMethodInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"checker","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}},"defaultValue":null},{"name":"calculator","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateShippingMethodInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"checker","description":null,"type":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null},"defaultValue":null},{"name":"calculator","description":null,"type":{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateTaxCategoryInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateTaxCategoryInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateTaxRateInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null},{"name":"categoryId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"zoneId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"customerGroupId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateTaxRateInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"enabled","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"categoryId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"zoneId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"customerGroupId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateZoneInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"memberIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateZoneInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Schema","description":"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.","fields":[{"name":"types","description":"A list of all types supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"queryType","description":"The type that query operations will be rooted at.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mutationType","description":"If this server supports mutation, the type that mutation operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subscriptionType","description":"If this server support subscription, the type that subscription operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"directives","description":"A list of all directives supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Directive","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Type","description":"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.","fields":[{"name":"kind","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__TypeKind","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"fields","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Field","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"interfaces","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"possibleTypes","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"enumValues","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__EnumValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"inputFields","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"ofType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__TypeKind","description":"An enum describing what kind of type a given `__Type` is.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SCALAR","description":"Indicates this type is a scalar.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Indicates this type is an object. `fields` and `interfaces` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Indicates this type is a union. `possibleTypes` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Indicates this type is an enum. `enumValues` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Indicates this type is an input object. `inputFields` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"LIST","description":"Indicates this type is a list. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"NON_NULL","description":"Indicates this type is a non-null. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"__Field","description":"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__InputValue","description":"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultValue","description":"A GraphQL-formatted string representing the default value for this input value.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__EnumValue","description":"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Directive","description":"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"locations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__DirectiveLocation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__DirectiveLocation","description":"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"QUERY","description":"Location adjacent to a query operation.","isDeprecated":false,"deprecationReason":null},{"name":"MUTATION","description":"Location adjacent to a mutation operation.","isDeprecated":false,"deprecationReason":null},{"name":"SUBSCRIPTION","description":"Location adjacent to a subscription operation.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD","description":"Location adjacent to a field.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_DEFINITION","description":"Location adjacent to a fragment definition.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_SPREAD","description":"Location adjacent to a fragment spread.","isDeprecated":false,"deprecationReason":null},{"name":"INLINE_FRAGMENT","description":"Location adjacent to an inline fragment.","isDeprecated":false,"deprecationReason":null},{"name":"VARIABLE_DEFINITION","description":"Location adjacent to a variable definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCHEMA","description":"Location adjacent to a schema definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCALAR","description":"Location adjacent to a scalar definition.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Location adjacent to an object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD_DEFINITION","description":"Location adjacent to a field definition.","isDeprecated":false,"deprecationReason":null},{"name":"ARGUMENT_DEFINITION","description":"Location adjacent to an argument definition.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Location adjacent to an interface definition.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Location adjacent to a union definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Location adjacent to an enum definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM_VALUE","description":"Location adjacent to an enum value definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Location adjacent to an input object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_FIELD_DEFINITION","description":"Location adjacent to an input object field definition.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateProductVariantOptionInput","description":null,"fields":null,"inputFields":[{"name":"optionGroupId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"translations","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ProductOptionTranslationInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductOptionTranslationInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchReindexResponse","description":null,"fields":[{"name":"success","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null}],"directives":[{"name":"skip","description":"Directs the executor to skip this field or fragment when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Skipped when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"include","description":"Directs the executor to include this field or fragment only when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Included when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"deprecated","description":"Marks an element of a GraphQL schema as no longer supported.","locations":["FIELD_DEFINITION","ENUM_VALUE"],"args":[{"name":"reason","description":"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/).","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":"\"No longer supported\""}]}]}}} diff --git a/schema-shop.json b/schema-shop.json index 2f6a18b33e..5288ba2862 100644 --- a/schema-shop.json +++ b/schema-shop.json @@ -1 +1 @@ -{"data":{"__schema":{"queryType":{"name":"Query"},"mutationType":{"name":"Mutation"},"subscriptionType":null,"types":[{"kind":"OBJECT","name":"Query","description":null,"fields":[{"name":"activeChannel","description":"The active Channel","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"activeCustomer","description":"The active Customer","args":[],"type":{"kind":"OBJECT","name":"Customer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"activeOrder","description":"The active Order. Will be `null` until an Order is created via `addItemToOrder`. Once an Order reaches the\nstate of `PaymentApproved` or `PaymentSettled`, then that Order is no longer considered \"active\" and this\nquery will once again return `null`.","args":[],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"availableCountries","description":"An array of supported Countries","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collections","description":"A list of Collections available to the shop","args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"collection","description":"Returns a Collection either by its id or slug. If neither 'id' nor 'slug' is speicified, an error will result.","args":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Collection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"eligibleShippingMethods","description":"Returns a list of eligible shipping methods based on the current active Order","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethodQuote","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"me","description":"Returns information about the current authenticated User","args":[],"type":{"kind":"OBJECT","name":"CurrentUser","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nextOrderStates","description":"Returns the possible next states that the activeOrder can transition to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"order","description":"Returns an Order based on the id. Note that in the Shop API, only orders belonging to the\ncurrently-authenticated User may be queried.","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"orderByCode","description":"Returns an Order based on the order `code`. For guest Orders (i.e. Orders placed by non-authenticated Customers)\nthis query will only return the Order within 2 hours of the Order being placed. This allows an Order confirmation\nscreen to be shown immediately after completion of a guest checkout, yet prevents security risks of allowing\ngeneral anonymous access to Order data.","args":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"product","description":"Get a Product either by id or slug. If neither 'id' nor 'slug' is speicified, an error will result.","args":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Product","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"products","description":"Get a list of Products","args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"search","description":"Search Products based on the criteria set by the `SearchInput`","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SearchInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Channel","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"token","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultTaxZone","description":null,"args":[],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultShippingZone","description":null,"args":[],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultLanguageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pricesIncludeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Node","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Channel","ofType":null},{"kind":"OBJECT","name":"Zone","ofType":null},{"kind":"OBJECT","name":"Country","ofType":null},{"kind":"OBJECT","name":"Customer","ofType":null},{"kind":"OBJECT","name":"Address","ofType":null},{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"OrderLine","ofType":null},{"kind":"OBJECT","name":"ProductVariant","ofType":null},{"kind":"OBJECT","name":"Product","ofType":null},{"kind":"OBJECT","name":"Asset","ofType":null},{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null},{"kind":"OBJECT","name":"ProductOption","ofType":null},{"kind":"OBJECT","name":"FacetValue","ofType":null},{"kind":"OBJECT","name":"Facet","ofType":null},{"kind":"OBJECT","name":"Collection","ofType":null},{"kind":"OBJECT","name":"TaxRate","ofType":null},{"kind":"OBJECT","name":"TaxCategory","ofType":null},{"kind":"OBJECT","name":"CustomerGroup","ofType":null},{"kind":"OBJECT","name":"OrderItem","ofType":null},{"kind":"OBJECT","name":"Fulfillment","ofType":null},{"kind":"OBJECT","name":"Promotion","ofType":null},{"kind":"OBJECT","name":"Payment","ofType":null},{"kind":"OBJECT","name":"Refund","ofType":null},{"kind":"OBJECT","name":"ShippingMethod","ofType":null},{"kind":"OBJECT","name":"HistoryEntry","ofType":null},{"kind":"OBJECT","name":"Administrator","ofType":null},{"kind":"OBJECT","name":"User","ofType":null},{"kind":"OBJECT","name":"Role","ofType":null},{"kind":"OBJECT","name":"AuthenticationMethod","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"PaymentMethod","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"StockAdjustment","ofType":null}]},{"kind":"SCALAR","name":"ID","description":"The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"DateTime","description":"A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"String","description":"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Zone","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"members","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Country","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CountryTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LanguageCode","description":"@description\nLanguages in the form of a ISO 639-1 language code with optional\nregion or script modifier (e.g. de_AT). The selection available is based\non the [Unicode CLDR summary list](https://unicode-org.github.io/cldr-staging/charts/37/summary/root.html)\nand includes the major spoken languages of the world and any widely-used variants.\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"af","description":"Afrikaans","isDeprecated":false,"deprecationReason":null},{"name":"ak","description":"Akan","isDeprecated":false,"deprecationReason":null},{"name":"sq","description":"Albanian","isDeprecated":false,"deprecationReason":null},{"name":"am","description":"Amharic","isDeprecated":false,"deprecationReason":null},{"name":"ar","description":"Arabic","isDeprecated":false,"deprecationReason":null},{"name":"hy","description":"Armenian","isDeprecated":false,"deprecationReason":null},{"name":"as","description":"Assamese","isDeprecated":false,"deprecationReason":null},{"name":"az","description":"Azerbaijani","isDeprecated":false,"deprecationReason":null},{"name":"bm","description":"Bambara","isDeprecated":false,"deprecationReason":null},{"name":"bn","description":"Bangla","isDeprecated":false,"deprecationReason":null},{"name":"eu","description":"Basque","isDeprecated":false,"deprecationReason":null},{"name":"be","description":"Belarusian","isDeprecated":false,"deprecationReason":null},{"name":"bs","description":"Bosnian","isDeprecated":false,"deprecationReason":null},{"name":"br","description":"Breton","isDeprecated":false,"deprecationReason":null},{"name":"bg","description":"Bulgarian","isDeprecated":false,"deprecationReason":null},{"name":"my","description":"Burmese","isDeprecated":false,"deprecationReason":null},{"name":"ca","description":"Catalan","isDeprecated":false,"deprecationReason":null},{"name":"ce","description":"Chechen","isDeprecated":false,"deprecationReason":null},{"name":"zh","description":"Chinese","isDeprecated":false,"deprecationReason":null},{"name":"zh_Hans","description":"Simplified Chinese","isDeprecated":false,"deprecationReason":null},{"name":"zh_Hant","description":"Traditional Chinese","isDeprecated":false,"deprecationReason":null},{"name":"cu","description":"Church Slavic","isDeprecated":false,"deprecationReason":null},{"name":"kw","description":"Cornish","isDeprecated":false,"deprecationReason":null},{"name":"co","description":"Corsican","isDeprecated":false,"deprecationReason":null},{"name":"hr","description":"Croatian","isDeprecated":false,"deprecationReason":null},{"name":"cs","description":"Czech","isDeprecated":false,"deprecationReason":null},{"name":"da","description":"Danish","isDeprecated":false,"deprecationReason":null},{"name":"nl","description":"Dutch","isDeprecated":false,"deprecationReason":null},{"name":"nl_BE","description":"Flemish","isDeprecated":false,"deprecationReason":null},{"name":"dz","description":"Dzongkha","isDeprecated":false,"deprecationReason":null},{"name":"en","description":"English","isDeprecated":false,"deprecationReason":null},{"name":"en_AU","description":"Australian English","isDeprecated":false,"deprecationReason":null},{"name":"en_CA","description":"Canadian English","isDeprecated":false,"deprecationReason":null},{"name":"en_GB","description":"British English","isDeprecated":false,"deprecationReason":null},{"name":"en_US","description":"American English","isDeprecated":false,"deprecationReason":null},{"name":"eo","description":"Esperanto","isDeprecated":false,"deprecationReason":null},{"name":"et","description":"Estonian","isDeprecated":false,"deprecationReason":null},{"name":"ee","description":"Ewe","isDeprecated":false,"deprecationReason":null},{"name":"fo","description":"Faroese","isDeprecated":false,"deprecationReason":null},{"name":"fi","description":"Finnish","isDeprecated":false,"deprecationReason":null},{"name":"fr","description":"French","isDeprecated":false,"deprecationReason":null},{"name":"fr_CA","description":"Canadian French","isDeprecated":false,"deprecationReason":null},{"name":"fr_CH","description":"Swiss French","isDeprecated":false,"deprecationReason":null},{"name":"ff","description":"Fulah","isDeprecated":false,"deprecationReason":null},{"name":"gl","description":"Galician","isDeprecated":false,"deprecationReason":null},{"name":"lg","description":"Ganda","isDeprecated":false,"deprecationReason":null},{"name":"ka","description":"Georgian","isDeprecated":false,"deprecationReason":null},{"name":"de","description":"German","isDeprecated":false,"deprecationReason":null},{"name":"de_AT","description":"Austrian German","isDeprecated":false,"deprecationReason":null},{"name":"de_CH","description":"Swiss High German","isDeprecated":false,"deprecationReason":null},{"name":"el","description":"Greek","isDeprecated":false,"deprecationReason":null},{"name":"gu","description":"Gujarati","isDeprecated":false,"deprecationReason":null},{"name":"ht","description":"Haitian Creole","isDeprecated":false,"deprecationReason":null},{"name":"ha","description":"Hausa","isDeprecated":false,"deprecationReason":null},{"name":"he","description":"Hebrew","isDeprecated":false,"deprecationReason":null},{"name":"hi","description":"Hindi","isDeprecated":false,"deprecationReason":null},{"name":"hu","description":"Hungarian","isDeprecated":false,"deprecationReason":null},{"name":"is","description":"Icelandic","isDeprecated":false,"deprecationReason":null},{"name":"ig","description":"Igbo","isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Indonesian","isDeprecated":false,"deprecationReason":null},{"name":"ia","description":"Interlingua","isDeprecated":false,"deprecationReason":null},{"name":"ga","description":"Irish","isDeprecated":false,"deprecationReason":null},{"name":"it","description":"Italian","isDeprecated":false,"deprecationReason":null},{"name":"ja","description":"Japanese","isDeprecated":false,"deprecationReason":null},{"name":"jv","description":"Javanese","isDeprecated":false,"deprecationReason":null},{"name":"kl","description":"Kalaallisut","isDeprecated":false,"deprecationReason":null},{"name":"kn","description":"Kannada","isDeprecated":false,"deprecationReason":null},{"name":"ks","description":"Kashmiri","isDeprecated":false,"deprecationReason":null},{"name":"kk","description":"Kazakh","isDeprecated":false,"deprecationReason":null},{"name":"km","description":"Khmer","isDeprecated":false,"deprecationReason":null},{"name":"ki","description":"Kikuyu","isDeprecated":false,"deprecationReason":null},{"name":"rw","description":"Kinyarwanda","isDeprecated":false,"deprecationReason":null},{"name":"ko","description":"Korean","isDeprecated":false,"deprecationReason":null},{"name":"ku","description":"Kurdish","isDeprecated":false,"deprecationReason":null},{"name":"ky","description":"Kyrgyz","isDeprecated":false,"deprecationReason":null},{"name":"lo","description":"Lao","isDeprecated":false,"deprecationReason":null},{"name":"la","description":"Latin","isDeprecated":false,"deprecationReason":null},{"name":"lv","description":"Latvian","isDeprecated":false,"deprecationReason":null},{"name":"ln","description":"Lingala","isDeprecated":false,"deprecationReason":null},{"name":"lt","description":"Lithuanian","isDeprecated":false,"deprecationReason":null},{"name":"lu","description":"Luba-Katanga","isDeprecated":false,"deprecationReason":null},{"name":"lb","description":"Luxembourgish","isDeprecated":false,"deprecationReason":null},{"name":"mk","description":"Macedonian","isDeprecated":false,"deprecationReason":null},{"name":"mg","description":"Malagasy","isDeprecated":false,"deprecationReason":null},{"name":"ms","description":"Malay","isDeprecated":false,"deprecationReason":null},{"name":"ml","description":"Malayalam","isDeprecated":false,"deprecationReason":null},{"name":"mt","description":"Maltese","isDeprecated":false,"deprecationReason":null},{"name":"gv","description":"Manx","isDeprecated":false,"deprecationReason":null},{"name":"mi","description":"Maori","isDeprecated":false,"deprecationReason":null},{"name":"mr","description":"Marathi","isDeprecated":false,"deprecationReason":null},{"name":"mn","description":"Mongolian","isDeprecated":false,"deprecationReason":null},{"name":"ne","description":"Nepali","isDeprecated":false,"deprecationReason":null},{"name":"nd","description":"North Ndebele","isDeprecated":false,"deprecationReason":null},{"name":"se","description":"Northern Sami","isDeprecated":false,"deprecationReason":null},{"name":"nb","description":"Norwegian Bokmål","isDeprecated":false,"deprecationReason":null},{"name":"nn","description":"Norwegian Nynorsk","isDeprecated":false,"deprecationReason":null},{"name":"ny","description":"Nyanja","isDeprecated":false,"deprecationReason":null},{"name":"or","description":"Odia","isDeprecated":false,"deprecationReason":null},{"name":"om","description":"Oromo","isDeprecated":false,"deprecationReason":null},{"name":"os","description":"Ossetic","isDeprecated":false,"deprecationReason":null},{"name":"ps","description":"Pashto","isDeprecated":false,"deprecationReason":null},{"name":"fa","description":"Persian","isDeprecated":false,"deprecationReason":null},{"name":"fa_AF","description":"Dari","isDeprecated":false,"deprecationReason":null},{"name":"pl","description":"Polish","isDeprecated":false,"deprecationReason":null},{"name":"pt","description":"Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pt_BR","description":"Brazilian Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pt_PT","description":"European Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pa","description":"Punjabi","isDeprecated":false,"deprecationReason":null},{"name":"qu","description":"Quechua","isDeprecated":false,"deprecationReason":null},{"name":"ro","description":"Romanian","isDeprecated":false,"deprecationReason":null},{"name":"ro_MD","description":"Moldavian","isDeprecated":false,"deprecationReason":null},{"name":"rm","description":"Romansh","isDeprecated":false,"deprecationReason":null},{"name":"rn","description":"Rundi","isDeprecated":false,"deprecationReason":null},{"name":"ru","description":"Russian","isDeprecated":false,"deprecationReason":null},{"name":"sm","description":"Samoan","isDeprecated":false,"deprecationReason":null},{"name":"sg","description":"Sango","isDeprecated":false,"deprecationReason":null},{"name":"sa","description":"Sanskrit","isDeprecated":false,"deprecationReason":null},{"name":"gd","description":"Scottish Gaelic","isDeprecated":false,"deprecationReason":null},{"name":"sr","description":"Serbian","isDeprecated":false,"deprecationReason":null},{"name":"sn","description":"Shona","isDeprecated":false,"deprecationReason":null},{"name":"ii","description":"Sichuan Yi","isDeprecated":false,"deprecationReason":null},{"name":"sd","description":"Sindhi","isDeprecated":false,"deprecationReason":null},{"name":"si","description":"Sinhala","isDeprecated":false,"deprecationReason":null},{"name":"sk","description":"Slovak","isDeprecated":false,"deprecationReason":null},{"name":"sl","description":"Slovenian","isDeprecated":false,"deprecationReason":null},{"name":"so","description":"Somali","isDeprecated":false,"deprecationReason":null},{"name":"st","description":"Southern Sotho","isDeprecated":false,"deprecationReason":null},{"name":"es","description":"Spanish","isDeprecated":false,"deprecationReason":null},{"name":"es_ES","description":"European Spanish","isDeprecated":false,"deprecationReason":null},{"name":"es_MX","description":"Mexican Spanish","isDeprecated":false,"deprecationReason":null},{"name":"su","description":"Sundanese","isDeprecated":false,"deprecationReason":null},{"name":"sw","description":"Swahili","isDeprecated":false,"deprecationReason":null},{"name":"sw_CD","description":"Congo Swahili","isDeprecated":false,"deprecationReason":null},{"name":"sv","description":"Swedish","isDeprecated":false,"deprecationReason":null},{"name":"tg","description":"Tajik","isDeprecated":false,"deprecationReason":null},{"name":"ta","description":"Tamil","isDeprecated":false,"deprecationReason":null},{"name":"tt","description":"Tatar","isDeprecated":false,"deprecationReason":null},{"name":"te","description":"Telugu","isDeprecated":false,"deprecationReason":null},{"name":"th","description":"Thai","isDeprecated":false,"deprecationReason":null},{"name":"bo","description":"Tibetan","isDeprecated":false,"deprecationReason":null},{"name":"ti","description":"Tigrinya","isDeprecated":false,"deprecationReason":null},{"name":"to","description":"Tongan","isDeprecated":false,"deprecationReason":null},{"name":"tr","description":"Turkish","isDeprecated":false,"deprecationReason":null},{"name":"tk","description":"Turkmen","isDeprecated":false,"deprecationReason":null},{"name":"uk","description":"Ukrainian","isDeprecated":false,"deprecationReason":null},{"name":"ur","description":"Urdu","isDeprecated":false,"deprecationReason":null},{"name":"ug","description":"Uyghur","isDeprecated":false,"deprecationReason":null},{"name":"uz","description":"Uzbek","isDeprecated":false,"deprecationReason":null},{"name":"vi","description":"Vietnamese","isDeprecated":false,"deprecationReason":null},{"name":"vo","description":"Volapük","isDeprecated":false,"deprecationReason":null},{"name":"cy","description":"Welsh","isDeprecated":false,"deprecationReason":null},{"name":"fy","description":"Western Frisian","isDeprecated":false,"deprecationReason":null},{"name":"wo","description":"Wolof","isDeprecated":false,"deprecationReason":null},{"name":"xh","description":"Xhosa","isDeprecated":false,"deprecationReason":null},{"name":"yi","description":"Yiddish","isDeprecated":false,"deprecationReason":null},{"name":"yo","description":"Yoruba","isDeprecated":false,"deprecationReason":null},{"name":"zu","description":"Zulu","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"SCALAR","name":"Boolean","description":"The `Boolean` scalar type represents `true` or `false`.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CountryTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CurrencyCode","description":"@description\nISO 4217 currency code\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"AED","description":"United Arab Emirates dirham","isDeprecated":false,"deprecationReason":null},{"name":"AFN","description":"Afghan afghani","isDeprecated":false,"deprecationReason":null},{"name":"ALL","description":"Albanian lek","isDeprecated":false,"deprecationReason":null},{"name":"AMD","description":"Armenian dram","isDeprecated":false,"deprecationReason":null},{"name":"ANG","description":"Netherlands Antillean guilder","isDeprecated":false,"deprecationReason":null},{"name":"AOA","description":"Angolan kwanza","isDeprecated":false,"deprecationReason":null},{"name":"ARS","description":"Argentine peso","isDeprecated":false,"deprecationReason":null},{"name":"AUD","description":"Australian dollar","isDeprecated":false,"deprecationReason":null},{"name":"AWG","description":"Aruban florin","isDeprecated":false,"deprecationReason":null},{"name":"AZN","description":"Azerbaijani manat","isDeprecated":false,"deprecationReason":null},{"name":"BAM","description":"Bosnia and Herzegovina convertible mark","isDeprecated":false,"deprecationReason":null},{"name":"BBD","description":"Barbados dollar","isDeprecated":false,"deprecationReason":null},{"name":"BDT","description":"Bangladeshi taka","isDeprecated":false,"deprecationReason":null},{"name":"BGN","description":"Bulgarian lev","isDeprecated":false,"deprecationReason":null},{"name":"BHD","description":"Bahraini dinar","isDeprecated":false,"deprecationReason":null},{"name":"BIF","description":"Burundian franc","isDeprecated":false,"deprecationReason":null},{"name":"BMD","description":"Bermudian dollar","isDeprecated":false,"deprecationReason":null},{"name":"BND","description":"Brunei dollar","isDeprecated":false,"deprecationReason":null},{"name":"BOB","description":"Boliviano","isDeprecated":false,"deprecationReason":null},{"name":"BRL","description":"Brazilian real","isDeprecated":false,"deprecationReason":null},{"name":"BSD","description":"Bahamian dollar","isDeprecated":false,"deprecationReason":null},{"name":"BTN","description":"Bhutanese ngultrum","isDeprecated":false,"deprecationReason":null},{"name":"BWP","description":"Botswana pula","isDeprecated":false,"deprecationReason":null},{"name":"BYN","description":"Belarusian ruble","isDeprecated":false,"deprecationReason":null},{"name":"BZD","description":"Belize dollar","isDeprecated":false,"deprecationReason":null},{"name":"CAD","description":"Canadian dollar","isDeprecated":false,"deprecationReason":null},{"name":"CDF","description":"Congolese franc","isDeprecated":false,"deprecationReason":null},{"name":"CHF","description":"Swiss franc","isDeprecated":false,"deprecationReason":null},{"name":"CLP","description":"Chilean peso","isDeprecated":false,"deprecationReason":null},{"name":"CNY","description":"Renminbi (Chinese) yuan","isDeprecated":false,"deprecationReason":null},{"name":"COP","description":"Colombian peso","isDeprecated":false,"deprecationReason":null},{"name":"CRC","description":"Costa Rican colon","isDeprecated":false,"deprecationReason":null},{"name":"CUC","description":"Cuban convertible peso","isDeprecated":false,"deprecationReason":null},{"name":"CUP","description":"Cuban peso","isDeprecated":false,"deprecationReason":null},{"name":"CVE","description":"Cape Verde escudo","isDeprecated":false,"deprecationReason":null},{"name":"CZK","description":"Czech koruna","isDeprecated":false,"deprecationReason":null},{"name":"DJF","description":"Djiboutian franc","isDeprecated":false,"deprecationReason":null},{"name":"DKK","description":"Danish krone","isDeprecated":false,"deprecationReason":null},{"name":"DOP","description":"Dominican peso","isDeprecated":false,"deprecationReason":null},{"name":"DZD","description":"Algerian dinar","isDeprecated":false,"deprecationReason":null},{"name":"EGP","description":"Egyptian pound","isDeprecated":false,"deprecationReason":null},{"name":"ERN","description":"Eritrean nakfa","isDeprecated":false,"deprecationReason":null},{"name":"ETB","description":"Ethiopian birr","isDeprecated":false,"deprecationReason":null},{"name":"EUR","description":"Euro","isDeprecated":false,"deprecationReason":null},{"name":"FJD","description":"Fiji dollar","isDeprecated":false,"deprecationReason":null},{"name":"FKP","description":"Falkland Islands pound","isDeprecated":false,"deprecationReason":null},{"name":"GBP","description":"Pound sterling","isDeprecated":false,"deprecationReason":null},{"name":"GEL","description":"Georgian lari","isDeprecated":false,"deprecationReason":null},{"name":"GHS","description":"Ghanaian cedi","isDeprecated":false,"deprecationReason":null},{"name":"GIP","description":"Gibraltar pound","isDeprecated":false,"deprecationReason":null},{"name":"GMD","description":"Gambian dalasi","isDeprecated":false,"deprecationReason":null},{"name":"GNF","description":"Guinean franc","isDeprecated":false,"deprecationReason":null},{"name":"GTQ","description":"Guatemalan quetzal","isDeprecated":false,"deprecationReason":null},{"name":"GYD","description":"Guyanese dollar","isDeprecated":false,"deprecationReason":null},{"name":"HKD","description":"Hong Kong dollar","isDeprecated":false,"deprecationReason":null},{"name":"HNL","description":"Honduran lempira","isDeprecated":false,"deprecationReason":null},{"name":"HRK","description":"Croatian kuna","isDeprecated":false,"deprecationReason":null},{"name":"HTG","description":"Haitian gourde","isDeprecated":false,"deprecationReason":null},{"name":"HUF","description":"Hungarian forint","isDeprecated":false,"deprecationReason":null},{"name":"IDR","description":"Indonesian rupiah","isDeprecated":false,"deprecationReason":null},{"name":"ILS","description":"Israeli new shekel","isDeprecated":false,"deprecationReason":null},{"name":"INR","description":"Indian rupee","isDeprecated":false,"deprecationReason":null},{"name":"IQD","description":"Iraqi dinar","isDeprecated":false,"deprecationReason":null},{"name":"IRR","description":"Iranian rial","isDeprecated":false,"deprecationReason":null},{"name":"ISK","description":"Icelandic króna","isDeprecated":false,"deprecationReason":null},{"name":"JMD","description":"Jamaican dollar","isDeprecated":false,"deprecationReason":null},{"name":"JOD","description":"Jordanian dinar","isDeprecated":false,"deprecationReason":null},{"name":"JPY","description":"Japanese yen","isDeprecated":false,"deprecationReason":null},{"name":"KES","description":"Kenyan shilling","isDeprecated":false,"deprecationReason":null},{"name":"KGS","description":"Kyrgyzstani som","isDeprecated":false,"deprecationReason":null},{"name":"KHR","description":"Cambodian riel","isDeprecated":false,"deprecationReason":null},{"name":"KMF","description":"Comoro franc","isDeprecated":false,"deprecationReason":null},{"name":"KPW","description":"North Korean won","isDeprecated":false,"deprecationReason":null},{"name":"KRW","description":"South Korean won","isDeprecated":false,"deprecationReason":null},{"name":"KWD","description":"Kuwaiti dinar","isDeprecated":false,"deprecationReason":null},{"name":"KYD","description":"Cayman Islands dollar","isDeprecated":false,"deprecationReason":null},{"name":"KZT","description":"Kazakhstani tenge","isDeprecated":false,"deprecationReason":null},{"name":"LAK","description":"Lao kip","isDeprecated":false,"deprecationReason":null},{"name":"LBP","description":"Lebanese pound","isDeprecated":false,"deprecationReason":null},{"name":"LKR","description":"Sri Lankan rupee","isDeprecated":false,"deprecationReason":null},{"name":"LRD","description":"Liberian dollar","isDeprecated":false,"deprecationReason":null},{"name":"LSL","description":"Lesotho loti","isDeprecated":false,"deprecationReason":null},{"name":"LYD","description":"Libyan dinar","isDeprecated":false,"deprecationReason":null},{"name":"MAD","description":"Moroccan dirham","isDeprecated":false,"deprecationReason":null},{"name":"MDL","description":"Moldovan leu","isDeprecated":false,"deprecationReason":null},{"name":"MGA","description":"Malagasy ariary","isDeprecated":false,"deprecationReason":null},{"name":"MKD","description":"Macedonian denar","isDeprecated":false,"deprecationReason":null},{"name":"MMK","description":"Myanmar kyat","isDeprecated":false,"deprecationReason":null},{"name":"MNT","description":"Mongolian tögrög","isDeprecated":false,"deprecationReason":null},{"name":"MOP","description":"Macanese pataca","isDeprecated":false,"deprecationReason":null},{"name":"MRU","description":"Mauritanian ouguiya","isDeprecated":false,"deprecationReason":null},{"name":"MUR","description":"Mauritian rupee","isDeprecated":false,"deprecationReason":null},{"name":"MVR","description":"Maldivian rufiyaa","isDeprecated":false,"deprecationReason":null},{"name":"MWK","description":"Malawian kwacha","isDeprecated":false,"deprecationReason":null},{"name":"MXN","description":"Mexican peso","isDeprecated":false,"deprecationReason":null},{"name":"MYR","description":"Malaysian ringgit","isDeprecated":false,"deprecationReason":null},{"name":"MZN","description":"Mozambican metical","isDeprecated":false,"deprecationReason":null},{"name":"NAD","description":"Namibian dollar","isDeprecated":false,"deprecationReason":null},{"name":"NGN","description":"Nigerian naira","isDeprecated":false,"deprecationReason":null},{"name":"NIO","description":"Nicaraguan córdoba","isDeprecated":false,"deprecationReason":null},{"name":"NOK","description":"Norwegian krone","isDeprecated":false,"deprecationReason":null},{"name":"NPR","description":"Nepalese rupee","isDeprecated":false,"deprecationReason":null},{"name":"NZD","description":"New Zealand dollar","isDeprecated":false,"deprecationReason":null},{"name":"OMR","description":"Omani rial","isDeprecated":false,"deprecationReason":null},{"name":"PAB","description":"Panamanian balboa","isDeprecated":false,"deprecationReason":null},{"name":"PEN","description":"Peruvian sol","isDeprecated":false,"deprecationReason":null},{"name":"PGK","description":"Papua New Guinean kina","isDeprecated":false,"deprecationReason":null},{"name":"PHP","description":"Philippine peso","isDeprecated":false,"deprecationReason":null},{"name":"PKR","description":"Pakistani rupee","isDeprecated":false,"deprecationReason":null},{"name":"PLN","description":"Polish złoty","isDeprecated":false,"deprecationReason":null},{"name":"PYG","description":"Paraguayan guaraní","isDeprecated":false,"deprecationReason":null},{"name":"QAR","description":"Qatari riyal","isDeprecated":false,"deprecationReason":null},{"name":"RON","description":"Romanian leu","isDeprecated":false,"deprecationReason":null},{"name":"RSD","description":"Serbian dinar","isDeprecated":false,"deprecationReason":null},{"name":"RUB","description":"Russian ruble","isDeprecated":false,"deprecationReason":null},{"name":"RWF","description":"Rwandan franc","isDeprecated":false,"deprecationReason":null},{"name":"SAR","description":"Saudi riyal","isDeprecated":false,"deprecationReason":null},{"name":"SBD","description":"Solomon Islands dollar","isDeprecated":false,"deprecationReason":null},{"name":"SCR","description":"Seychelles rupee","isDeprecated":false,"deprecationReason":null},{"name":"SDG","description":"Sudanese pound","isDeprecated":false,"deprecationReason":null},{"name":"SEK","description":"Swedish krona/kronor","isDeprecated":false,"deprecationReason":null},{"name":"SGD","description":"Singapore dollar","isDeprecated":false,"deprecationReason":null},{"name":"SHP","description":"Saint Helena pound","isDeprecated":false,"deprecationReason":null},{"name":"SLL","description":"Sierra Leonean leone","isDeprecated":false,"deprecationReason":null},{"name":"SOS","description":"Somali shilling","isDeprecated":false,"deprecationReason":null},{"name":"SRD","description":"Surinamese dollar","isDeprecated":false,"deprecationReason":null},{"name":"SSP","description":"South Sudanese pound","isDeprecated":false,"deprecationReason":null},{"name":"STN","description":"São Tomé and Príncipe dobra","isDeprecated":false,"deprecationReason":null},{"name":"SVC","description":"Salvadoran colón","isDeprecated":false,"deprecationReason":null},{"name":"SYP","description":"Syrian pound","isDeprecated":false,"deprecationReason":null},{"name":"SZL","description":"Swazi lilangeni","isDeprecated":false,"deprecationReason":null},{"name":"THB","description":"Thai baht","isDeprecated":false,"deprecationReason":null},{"name":"TJS","description":"Tajikistani somoni","isDeprecated":false,"deprecationReason":null},{"name":"TMT","description":"Turkmenistan manat","isDeprecated":false,"deprecationReason":null},{"name":"TND","description":"Tunisian dinar","isDeprecated":false,"deprecationReason":null},{"name":"TOP","description":"Tongan paʻanga","isDeprecated":false,"deprecationReason":null},{"name":"TRY","description":"Turkish lira","isDeprecated":false,"deprecationReason":null},{"name":"TTD","description":"Trinidad and Tobago dollar","isDeprecated":false,"deprecationReason":null},{"name":"TWD","description":"New Taiwan dollar","isDeprecated":false,"deprecationReason":null},{"name":"TZS","description":"Tanzanian shilling","isDeprecated":false,"deprecationReason":null},{"name":"UAH","description":"Ukrainian hryvnia","isDeprecated":false,"deprecationReason":null},{"name":"UGX","description":"Ugandan shilling","isDeprecated":false,"deprecationReason":null},{"name":"USD","description":"United States dollar","isDeprecated":false,"deprecationReason":null},{"name":"UYU","description":"Uruguayan peso","isDeprecated":false,"deprecationReason":null},{"name":"UZS","description":"Uzbekistan som","isDeprecated":false,"deprecationReason":null},{"name":"VES","description":"Venezuelan bolívar soberano","isDeprecated":false,"deprecationReason":null},{"name":"VND","description":"Vietnamese đồng","isDeprecated":false,"deprecationReason":null},{"name":"VUV","description":"Vanuatu vatu","isDeprecated":false,"deprecationReason":null},{"name":"WST","description":"Samoan tala","isDeprecated":false,"deprecationReason":null},{"name":"XAF","description":"CFA franc BEAC","isDeprecated":false,"deprecationReason":null},{"name":"XCD","description":"East Caribbean dollar","isDeprecated":false,"deprecationReason":null},{"name":"XOF","description":"CFA franc BCEAO","isDeprecated":false,"deprecationReason":null},{"name":"XPF","description":"CFP franc (franc Pacifique)","isDeprecated":false,"deprecationReason":null},{"name":"YER","description":"Yemeni rial","isDeprecated":false,"deprecationReason":null},{"name":"ZAR","description":"South African rand","isDeprecated":false,"deprecationReason":null},{"name":"ZMW","description":"Zambian kwacha","isDeprecated":false,"deprecationReason":null},{"name":"ZWL","description":"Zimbabwean dollar","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Customer","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"firstName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"emailAddress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addresses","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"orders","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":null,"args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Address","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fullName","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine1","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine2","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"city","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"province","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"postalCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultShippingAddress","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultBillingAddress","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"JSON","description":"The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Int","description":"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"subTotalBeforeTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"subTotal","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"shippingWithTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"totalBeforeTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"total","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SortOrder","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ASC","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DESC","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"active","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"subTotalBeforeTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"subTotal","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"shippingWithTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"totalBeforeTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"total","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DateOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"before","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"after","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"between","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateRange","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DateRange","description":null,"fields":null,"inputFields":[{"name":"start","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"defaultValue":null},{"name":"end","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"StringOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"contains","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"BooleanOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NumberOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"lt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"lte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"gt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"gte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"between","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberRange","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Float","description":"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NumberRange","description":null,"fields":null,"inputFields":[{"name":"start","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null},{"name":"end","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"PaginatedList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Node","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"OrderList","ofType":null},{"kind":"OBJECT","name":"ProductVariantList","ofType":null},{"kind":"OBJECT","name":"CustomerList","ofType":null},{"kind":"OBJECT","name":"HistoryEntryList","ofType":null},{"kind":"OBJECT","name":"CollectionList","ofType":null},{"kind":"OBJECT","name":"ProductList","ofType":null},{"kind":"OBJECT","name":"AdministratorList","ofType":null},{"kind":"OBJECT","name":"AssetList","ofType":null},{"kind":"OBJECT","name":"CountryList","ofType":null},{"kind":"OBJECT","name":"FacetList","ofType":null},{"kind":"OBJECT","name":"PromotionList","ofType":null},{"kind":"OBJECT","name":"RoleList","ofType":null},{"kind":"OBJECT","name":"ShippingMethodList","ofType":null},{"kind":"OBJECT","name":"TaxRateList","ofType":null}]},{"kind":"OBJECT","name":"Order","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":"A unique code for the Order","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"active","description":"An order is active as long as the payment process has not been completed","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customer","description":null,"args":[],"type":{"kind":"OBJECT","name":"Customer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shippingAddress","description":null,"args":[],"type":{"kind":"OBJECT","name":"OrderAddress","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"billingAddress","description":null,"args":[],"type":{"kind":"OBJECT","name":"OrderAddress","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lines","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":"Order-level adjustments to the order total, such as discounts from promotions","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"couponCodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"promotions","description":"Promotions applied to the order. Only gets populated after the payment process has completed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"payments","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Payment","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillments","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Fulfillment","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"subTotalBeforeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subTotal","description":"The subTotal is the total of the OrderLines, before order-level promotions and shipping has been applied.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shipping","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingMethod","description":null,"args":[],"type":{"kind":"OBJECT","name":"ShippingMethod","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"totalBeforeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"total","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"history","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntryList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderAddress","description":null,"fields":[{"name":"fullName","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine1","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine2","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"city","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"province","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"postalCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"countryCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderLine","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unitPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"order","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariant","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"product","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sku","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceIncludesTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRateApplied","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxCategory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariantTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Product","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"variants","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"optionGroups","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collections","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Asset","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"AssetType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fileSize","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mimeType","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"width","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"height","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"source","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"preview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"focalPoint","description":null,"args":[],"type":{"kind":"OBJECT","name":"Coordinate","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AssetType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"IMAGE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"VIDEO","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"BINARY","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Coordinate","description":null,"fields":[{"name":"x","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"y","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionGroup","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroupTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOption","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"groupId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"group","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionGroupTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValue","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facet","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValueTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Facet","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"values","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValueTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Collection","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"ENUM","name":"LanguageCode","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"breadcrumbs","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionBreadcrumb","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"position","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"parent","description":null,"args":[],"type":{"kind":"OBJECT","name":"Collection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"children","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"filters","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariants","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariantList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionBreadcrumb","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigurableOperation","description":null,"fields":[{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArg","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigArg","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"productId","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"priceWithTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"priceIncludesTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"priceWithTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariantList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxRate","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"category","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"zone","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customerGroup","description":null,"args":[],"type":{"kind":"OBJECT","name":"CustomerGroup","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxCategory","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerGroup","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customers","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerList","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariantTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderItem","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"cancelled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceIncludesTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRate","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillment","description":null,"args":[],"type":{"kind":"OBJECT","name":"Fulfillment","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refundId","description":null,"args":[],"type":{"kind":"SCALAR","name":"ID","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Adjustment","description":null,"fields":[{"name":"adjustmentSource","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"AdjustmentType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"amount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AdjustmentType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TAX","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PROMOTION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SHIPPING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"TAX_REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PROMOTION_REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SHIPPING_REFUND","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Fulfillment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"trackingCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Promotion","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startsAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"endsAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"couponCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"perCustomerUsageLimit","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"conditions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"actions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Payment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"amount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactionId","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"errorMessage","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refunds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Refund","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Refund","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shipping","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustment","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"total","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactionId","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"orderItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"checker","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"calculator","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntrySortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntrySortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntryFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"type","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HistoryEntryList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntry","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HistoryEntry","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPublic","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"HistoryEntryType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"administrator","description":null,"args":[],"type":{"kind":"OBJECT","name":"Administrator","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"data","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"JSON","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"HistoryEntryType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CUSTOMER_REGISTERED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_DETAIL_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDED_TO_GROUP","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_REMOVED_FROM_GROUP","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_CREATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_DELETED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_RESET_REQUESTED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_RESET_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_EMAIL_UPDATE_REQUESTED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_EMAIL_UPDATE_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_NOTE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_STATE_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_PAYMENT_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_FULFILLMENT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_CANCELLATION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_REFUND_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_FULFILLMENT_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_NOTE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_COUPON_APPLIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_COUPON_REMOVED","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Administrator","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"firstName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"emailAddress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"User","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifier","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"verified","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"roles","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"lastLogin","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authenticationMethods","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"AuthenticationMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Role","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"Permission","description":"\"\n@description\nPermissions for administrators and customers. Used to control access to\nGraphQL resolvers via the {@link Allow} decorator.\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"Authenticated","description":" The Authenticated role means simply that the user is logged in ","isDeprecated":false,"deprecationReason":null},{"name":"SuperAdmin","description":" SuperAdmin can perform the most sensitive tasks","isDeprecated":false,"deprecationReason":null},{"name":"Owner","description":" Owner means the user owns this entity, e.g. a Customer's own Order","isDeprecated":false,"deprecationReason":null},{"name":"Public","description":" Public means any unauthenticated user may perform the operation ","isDeprecated":false,"deprecationReason":null},{"name":"CreateCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreatePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadPromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdatePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeletePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteSettings","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"AuthenticationMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"strategy","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"position","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"position","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethodQuote","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CurrentUser","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifier","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CurrentUserChannel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CurrentUserChannel","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"token","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SearchInput","description":null,"fields":null,"inputFields":[{"name":"term","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"facetValueOperator","description":null,"type":{"kind":"ENUM","name":"LogicalOperator","ofType":null},"defaultValue":null},{"name":"collectionId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"collectionSlug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"groupByProduct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"SearchResultSortParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LogicalOperator","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"AND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"OR","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SearchResultSortParameter","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResponse","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValueResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResult","description":null,"fields":[{"name":"sku","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productPreview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `productAsset.preview` instead"},{"name":"productAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"SearchResultAsset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantPreview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `productVariantAsset.preview` instead"},{"name":"productVariantAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"SearchResultAsset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SearchResultPrice","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SearchResultPrice","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facetIds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValueIds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collectionIds","description":"An array of ids of the Collections in which this result appears","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"score","description":"A relevence score for the result. Differs between database implementations","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResultAsset","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"preview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"focalPoint","description":null,"args":[],"type":{"kind":"OBJECT","name":"Coordinate","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"SearchResultPrice","description":"The price of a search result product, either as a range or as a single price","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"PriceRange","ofType":null},{"kind":"OBJECT","name":"SinglePrice","ofType":null}]},{"kind":"OBJECT","name":"PriceRange","description":"The price range where the result has more than one price","fields":[{"name":"min","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SinglePrice","description":"The price value where the result has a single price","fields":[{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValueResult","description":"Which FacetValues are present in the products returned\nby the search, and in what quantity.","fields":[{"name":"facetValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Mutation","description":null,"fields":[{"name":"addItemToOrder","description":"Adds an item to the order. If custom fields are defined on the OrderLine\nentity, a third argument 'customFields' will be available.","args":[{"name":"productVariantId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"quantity","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeOrderLine","description":"Remove an OrderLine from the Order","args":[{"name":"orderLineId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeAllOrderLines","description":"Remove all OrderLine from the Order","args":[],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"adjustOrderLine","description":"Adjusts an OrderLine. If custom fields are defined on the OrderLine entity, a\nthird argument 'customFields' of type `OrderLineCustomFieldsInput` will be available.","args":[{"name":"orderLineId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"quantity","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"applyCouponCode","description":"Applies the given coupon code to the active Order","args":[{"name":"couponCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"removeCouponCode","description":"Removes the given coupon code from the active Order","args":[{"name":"couponCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"transitionOrderToState","description":"Transitions an Order to a new state. Valid next states can be found by querying `nextOrderStates`","args":[{"name":"state","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderShippingAddress","description":"Sets the shipping address for this order","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderBillingAddress","description":"Sets the billing address for this order","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderCustomFields","description":"Allows any custom fields to be set for the active order","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderShippingMethod","description":"Sets the shipping method by id, which can be obtained with the `eligibleShippingMethods` query","args":[{"name":"shippingMethodId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"addPaymentToOrder","description":"Add a Payment to the Order","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"PaymentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setCustomerForOrder","description":"Set the Customer for the Order. Required only if the Customer is not currently logged in","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"Authenticates the user using the native authentication strategy. This mutation\nis an alias for `authenticate({ native: { ... }})`","args":[{"name":"username","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"rememberMe","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LoginResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"authenticate","description":"Authenticates the user using a named authentication strategy","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AuthenticationInput","ofType":null}},"defaultValue":null},{"name":"rememberMe","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LoginResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logout","description":"End the current authenticated session","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"refreshCustomerVerification","description":"Regenerate and send a verification token for a new Customer registration. Only\napplicable if `authOptions.requireVerification` is set to true.","args":[{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"registerCustomerAccount","description":"Register a Customer account with the given credentials. There are three possible registration flows:\n\n_If `authOptions.requireVerification` is set to `true`:_\n\n1. **The Customer is registered _with_ a password**. A verificationToken will\nbe created (and typically emailed to the Customer). That\n verificationToken would then be passed to the `verifyCustomerAccount`\nmutation _without_ a password. The Customer is then\n verified and authenticated in one step.\n2. **The Customer is registered _without_ a password**. A verificationToken\nwill be created (and typically emailed to the Customer). That\n verificationToken would then be passed to the `verifyCustomerAccount`\nmutation _with_ the chosed password of the Customer. The Customer is then\n verified and authenticated in one step.\n\n_If `authOptions.requireVerification` is set to `false`:_\n\n3. The Customer _must_ be registered _with_ a password. No further action is\nneeded - the Customer is able to authenticate immediately.","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RegisterCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomer","description":"Update an existing Customer","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCustomerAddress","description":"Create a new Customer Address","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerAddress","description":"Update an existing Address","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomerAddress","description":"Delete an existing Address","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"verifyCustomerAccount","description":"Verify a Customer email address with the token sent to that address. Only\napplicable if `authOptions.requireVerification` is set to true.\n\nIf the Customer was not registered with a password in the `registerCustomerAccount` mutation, the a password _must_ be\nprovided here.","args":[{"name":"token","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LoginResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerPassword","description":"Update the password of the active Customer","args":[{"name":"currentPassword","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"newPassword","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"requestUpdateCustomerEmailAddress","description":"Request to update the emailAddress of the active Customer. If `authOptions.requireVerification` is enabled\n(as is the default), then the `identifierChangeToken` will be assigned to the current User and\na IdentifierChangeRequestEvent will be raised. This can then be used e.g. by the EmailPlugin to email\nthat verification token to the Customer, which is then used to verify the change of email address.","args":[{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"newEmailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerEmailAddress","description":"Confirm the update of the emailAddress with the provided token, which has been generated by the\n`requestUpdateCustomerEmailAddress` mutation.","args":[{"name":"token","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"requestPasswordReset","description":"Requests a password reset email to be sent","args":[{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resetPassword","description":"Resets a Customer's password based on the provided token","args":[{"name":"token","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LoginResult","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateAddressInput","description":null,"fields":null,"inputFields":[{"name":"fullName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"company","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine1","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"streetLine2","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"city","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"province","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"postalCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"countryCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultShippingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"defaultBillingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateOrderInput","description":null,"fields":null,"inputFields":[{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"PaymentInput","description":"Passed as input to the `addPaymentToOrder` mutation.","fields":null,"inputFields":[{"name":"method","description":"This field should correspond to the `code` property of a PaymentMethodHandler.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"metadata","description":"This field should contain arbitrary data passed to the specified PaymentMethodHandler's `createPayment()` method\nas the \"metadata\" argument. For example, it could contain an ID for the payment and other\ndata generated by the payment provider.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"JSON","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCustomerInput","description":null,"fields":null,"inputFields":[{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LoginResult","description":null,"fields":[{"name":"user","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CurrentUser","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AuthenticationInput","description":null,"fields":null,"inputFields":[{"name":"native","description":null,"type":{"kind":"INPUT_OBJECT","name":"NativeAuthInput","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NativeAuthInput","description":null,"fields":null,"inputFields":[{"name":"username","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RegisterCustomerInput","description":null,"fields":null,"inputFields":[{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateCustomerInput","description":null,"fields":null,"inputFields":[{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateAddressInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"fullName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"company","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine1","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine2","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"city","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"province","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"postalCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"countryCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultShippingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"defaultBillingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Schema","description":"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.","fields":[{"name":"types","description":"A list of all types supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"queryType","description":"The type that query operations will be rooted at.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mutationType","description":"If this server supports mutation, the type that mutation operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subscriptionType","description":"If this server support subscription, the type that subscription operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"directives","description":"A list of all directives supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Directive","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Type","description":"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.","fields":[{"name":"kind","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__TypeKind","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"fields","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Field","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"interfaces","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"possibleTypes","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"enumValues","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__EnumValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"inputFields","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"ofType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__TypeKind","description":"An enum describing what kind of type a given `__Type` is.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SCALAR","description":"Indicates this type is a scalar.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Indicates this type is an object. `fields` and `interfaces` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Indicates this type is a union. `possibleTypes` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Indicates this type is an enum. `enumValues` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Indicates this type is an input object. `inputFields` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"LIST","description":"Indicates this type is a list. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"NON_NULL","description":"Indicates this type is a non-null. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"__Field","description":"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__InputValue","description":"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultValue","description":"A GraphQL-formatted string representing the default value for this input value.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__EnumValue","description":"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Directive","description":"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"locations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__DirectiveLocation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__DirectiveLocation","description":"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"QUERY","description":"Location adjacent to a query operation.","isDeprecated":false,"deprecationReason":null},{"name":"MUTATION","description":"Location adjacent to a mutation operation.","isDeprecated":false,"deprecationReason":null},{"name":"SUBSCRIPTION","description":"Location adjacent to a subscription operation.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD","description":"Location adjacent to a field.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_DEFINITION","description":"Location adjacent to a fragment definition.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_SPREAD","description":"Location adjacent to a fragment spread.","isDeprecated":false,"deprecationReason":null},{"name":"INLINE_FRAGMENT","description":"Location adjacent to an inline fragment.","isDeprecated":false,"deprecationReason":null},{"name":"VARIABLE_DEFINITION","description":"Location adjacent to a variable definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCHEMA","description":"Location adjacent to a schema definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCALAR","description":"Location adjacent to a scalar definition.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Location adjacent to an object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD_DEFINITION","description":"Location adjacent to a field definition.","isDeprecated":false,"deprecationReason":null},{"name":"ARGUMENT_DEFINITION","description":"Location adjacent to an argument definition.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Location adjacent to an interface definition.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Location adjacent to a union definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Location adjacent to an enum definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM_VALUE","description":"Location adjacent to an enum value definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Location adjacent to an input object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_FIELD_DEFINITION","description":"Location adjacent to an input object field definition.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"AdministratorList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AssetList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"CustomField","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"BooleanCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"StringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","ofType":null}]},{"kind":"OBJECT","name":"LocalizedString","description":null,"fields":[{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Cancellation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"StockMovement","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"StockAdjustment","ofType":null}]},{"kind":"ENUM","name":"StockMovementType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ADJUSTMENT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SALE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CANCELLATION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"RETURN","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"ConfigArgDefinition","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ui","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConfigArgInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigurableOperationDefinition","description":null,"fields":[{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArgDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"arguments","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigArgInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CountryList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CustomFieldConfig","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","ofType":null}]},{"kind":"OBJECT","name":"StringCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"length","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StringFieldOption","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StringFieldOption","description":null,"fields":[{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"length","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","description":"Expects the same validation formats as the `` HTML element.\nSee https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomFields","description":null,"fields":[{"name":"Address","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Collection","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Customer","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Facet","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"FacetValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"GlobalSettings","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Order","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"OrderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Product","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductOption","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductOptionGroup","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"User","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ShippingMethod","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeletionResponse","description":null,"fields":[{"name":"result","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DeletionResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"DeletionResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DELETED","description":"The entity was successfully deleted","isDeprecated":false,"deprecationReason":null},{"name":"NOT_DELETED","description":"Deletion did not take place, reason given in message","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"FacetList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GlobalSettings","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"availableLanguages","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"trackInventory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"serverConfig","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ServerConfig","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ServerConfig","description":null,"fields":[{"name":"orderProcess","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderProcessState","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"permittedAssetTypes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFieldConfig","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomFields","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderProcessState","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"to","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ImportInfo","description":null,"fields":[{"name":"errors","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"processed","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"imported","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"configArgs","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArg","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"definition","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PromotionList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Return","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderItem","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RoleList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Sale","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchReindexResponse","description":null,"fields":[{"name":"success","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethodList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StockAdjustment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"StockMovementItem","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StockAdjustment","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null}]},{"kind":"OBJECT","name":"StockMovementList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"StockMovementItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxRateList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Upload","description":"The `Upload` scalar type represents a file upload.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null}],"directives":[{"name":"skip","description":"Directs the executor to skip this field or fragment when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Skipped when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"include","description":"Directs the executor to include this field or fragment only when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Included when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"deprecated","description":"Marks an element of a GraphQL schema as no longer supported.","locations":["FIELD_DEFINITION","ENUM_VALUE"],"args":[{"name":"reason","description":"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/).","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":"\"No longer supported\""}]}]}}} +{"data":{"__schema":{"queryType":{"name":"Query"},"mutationType":{"name":"Mutation"},"subscriptionType":null,"types":[{"kind":"OBJECT","name":"Query","description":null,"fields":[{"name":"activeChannel","description":"The active Channel","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"activeCustomer","description":"The active Customer","args":[],"type":{"kind":"OBJECT","name":"Customer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"activeOrder","description":"The active Order. Will be `null` until an Order is created via `addItemToOrder`. Once an Order reaches the\nstate of `PaymentApproved` or `PaymentSettled`, then that Order is no longer considered \"active\" and this\nquery will once again return `null`.","args":[],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"availableCountries","description":"An array of supported Countries","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collections","description":"A list of Collections available to the shop","args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"collection","description":"Returns a Collection either by its id or slug. If neither 'id' nor 'slug' is speicified, an error will result.","args":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Collection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"eligibleShippingMethods","description":"Returns a list of eligible shipping methods based on the current active Order","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethodQuote","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"me","description":"Returns information about the current authenticated User","args":[],"type":{"kind":"OBJECT","name":"CurrentUser","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"nextOrderStates","description":"Returns the possible next states that the activeOrder can transition to","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"order","description":"Returns an Order based on the id. Note that in the Shop API, only orders belonging to the\ncurrently-authenticated User may be queried.","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"orderByCode","description":"Returns an Order based on the order `code`. For guest Orders (i.e. Orders placed by non-authenticated Customers)\nthis query will only return the Order within 2 hours of the Order being placed. This allows an Order confirmation\nscreen to be shown immediately after completion of a guest checkout, yet prevents security risks of allowing\ngeneral anonymous access to Order data.","args":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"product","description":"Get a Product either by id or slug. If neither 'id' nor 'slug' is speicified, an error will result.","args":[{"name":"id","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Product","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"products","description":"Get a list of Products","args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"search","description":"Search Products based on the criteria set by the `SearchInput`","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"SearchInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResponse","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Channel","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"token","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultTaxZone","description":null,"args":[],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultShippingZone","description":null,"args":[],"type":{"kind":"OBJECT","name":"Zone","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultLanguageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"pricesIncludeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"Node","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Channel","ofType":null},{"kind":"OBJECT","name":"Zone","ofType":null},{"kind":"OBJECT","name":"Country","ofType":null},{"kind":"OBJECT","name":"Customer","ofType":null},{"kind":"OBJECT","name":"Address","ofType":null},{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"OrderLine","ofType":null},{"kind":"OBJECT","name":"ProductVariant","ofType":null},{"kind":"OBJECT","name":"Product","ofType":null},{"kind":"OBJECT","name":"Asset","ofType":null},{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null},{"kind":"OBJECT","name":"ProductOption","ofType":null},{"kind":"OBJECT","name":"FacetValue","ofType":null},{"kind":"OBJECT","name":"Facet","ofType":null},{"kind":"OBJECT","name":"Collection","ofType":null},{"kind":"OBJECT","name":"TaxRate","ofType":null},{"kind":"OBJECT","name":"TaxCategory","ofType":null},{"kind":"OBJECT","name":"CustomerGroup","ofType":null},{"kind":"OBJECT","name":"OrderItem","ofType":null},{"kind":"OBJECT","name":"Fulfillment","ofType":null},{"kind":"OBJECT","name":"Promotion","ofType":null},{"kind":"OBJECT","name":"Payment","ofType":null},{"kind":"OBJECT","name":"Refund","ofType":null},{"kind":"OBJECT","name":"ShippingMethod","ofType":null},{"kind":"OBJECT","name":"HistoryEntry","ofType":null},{"kind":"OBJECT","name":"Administrator","ofType":null},{"kind":"OBJECT","name":"User","ofType":null},{"kind":"OBJECT","name":"Role","ofType":null},{"kind":"OBJECT","name":"AuthenticationMethod","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"PaymentMethod","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"StockAdjustment","ofType":null}]},{"kind":"SCALAR","name":"ID","description":"The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"DateTime","description":"A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"String","description":"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Zone","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"members","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Country","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CountryTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LanguageCode","description":"@description\nLanguages in the form of a ISO 639-1 language code with optional\nregion or script modifier (e.g. de_AT). The selection available is based\non the [Unicode CLDR summary list](https://unicode-org.github.io/cldr-staging/charts/37/summary/root.html)\nand includes the major spoken languages of the world and any widely-used variants.\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"af","description":"Afrikaans","isDeprecated":false,"deprecationReason":null},{"name":"ak","description":"Akan","isDeprecated":false,"deprecationReason":null},{"name":"sq","description":"Albanian","isDeprecated":false,"deprecationReason":null},{"name":"am","description":"Amharic","isDeprecated":false,"deprecationReason":null},{"name":"ar","description":"Arabic","isDeprecated":false,"deprecationReason":null},{"name":"hy","description":"Armenian","isDeprecated":false,"deprecationReason":null},{"name":"as","description":"Assamese","isDeprecated":false,"deprecationReason":null},{"name":"az","description":"Azerbaijani","isDeprecated":false,"deprecationReason":null},{"name":"bm","description":"Bambara","isDeprecated":false,"deprecationReason":null},{"name":"bn","description":"Bangla","isDeprecated":false,"deprecationReason":null},{"name":"eu","description":"Basque","isDeprecated":false,"deprecationReason":null},{"name":"be","description":"Belarusian","isDeprecated":false,"deprecationReason":null},{"name":"bs","description":"Bosnian","isDeprecated":false,"deprecationReason":null},{"name":"br","description":"Breton","isDeprecated":false,"deprecationReason":null},{"name":"bg","description":"Bulgarian","isDeprecated":false,"deprecationReason":null},{"name":"my","description":"Burmese","isDeprecated":false,"deprecationReason":null},{"name":"ca","description":"Catalan","isDeprecated":false,"deprecationReason":null},{"name":"ce","description":"Chechen","isDeprecated":false,"deprecationReason":null},{"name":"zh","description":"Chinese","isDeprecated":false,"deprecationReason":null},{"name":"zh_Hans","description":"Simplified Chinese","isDeprecated":false,"deprecationReason":null},{"name":"zh_Hant","description":"Traditional Chinese","isDeprecated":false,"deprecationReason":null},{"name":"cu","description":"Church Slavic","isDeprecated":false,"deprecationReason":null},{"name":"kw","description":"Cornish","isDeprecated":false,"deprecationReason":null},{"name":"co","description":"Corsican","isDeprecated":false,"deprecationReason":null},{"name":"hr","description":"Croatian","isDeprecated":false,"deprecationReason":null},{"name":"cs","description":"Czech","isDeprecated":false,"deprecationReason":null},{"name":"da","description":"Danish","isDeprecated":false,"deprecationReason":null},{"name":"nl","description":"Dutch","isDeprecated":false,"deprecationReason":null},{"name":"nl_BE","description":"Flemish","isDeprecated":false,"deprecationReason":null},{"name":"dz","description":"Dzongkha","isDeprecated":false,"deprecationReason":null},{"name":"en","description":"English","isDeprecated":false,"deprecationReason":null},{"name":"en_AU","description":"Australian English","isDeprecated":false,"deprecationReason":null},{"name":"en_CA","description":"Canadian English","isDeprecated":false,"deprecationReason":null},{"name":"en_GB","description":"British English","isDeprecated":false,"deprecationReason":null},{"name":"en_US","description":"American English","isDeprecated":false,"deprecationReason":null},{"name":"eo","description":"Esperanto","isDeprecated":false,"deprecationReason":null},{"name":"et","description":"Estonian","isDeprecated":false,"deprecationReason":null},{"name":"ee","description":"Ewe","isDeprecated":false,"deprecationReason":null},{"name":"fo","description":"Faroese","isDeprecated":false,"deprecationReason":null},{"name":"fi","description":"Finnish","isDeprecated":false,"deprecationReason":null},{"name":"fr","description":"French","isDeprecated":false,"deprecationReason":null},{"name":"fr_CA","description":"Canadian French","isDeprecated":false,"deprecationReason":null},{"name":"fr_CH","description":"Swiss French","isDeprecated":false,"deprecationReason":null},{"name":"ff","description":"Fulah","isDeprecated":false,"deprecationReason":null},{"name":"gl","description":"Galician","isDeprecated":false,"deprecationReason":null},{"name":"lg","description":"Ganda","isDeprecated":false,"deprecationReason":null},{"name":"ka","description":"Georgian","isDeprecated":false,"deprecationReason":null},{"name":"de","description":"German","isDeprecated":false,"deprecationReason":null},{"name":"de_AT","description":"Austrian German","isDeprecated":false,"deprecationReason":null},{"name":"de_CH","description":"Swiss High German","isDeprecated":false,"deprecationReason":null},{"name":"el","description":"Greek","isDeprecated":false,"deprecationReason":null},{"name":"gu","description":"Gujarati","isDeprecated":false,"deprecationReason":null},{"name":"ht","description":"Haitian Creole","isDeprecated":false,"deprecationReason":null},{"name":"ha","description":"Hausa","isDeprecated":false,"deprecationReason":null},{"name":"he","description":"Hebrew","isDeprecated":false,"deprecationReason":null},{"name":"hi","description":"Hindi","isDeprecated":false,"deprecationReason":null},{"name":"hu","description":"Hungarian","isDeprecated":false,"deprecationReason":null},{"name":"is","description":"Icelandic","isDeprecated":false,"deprecationReason":null},{"name":"ig","description":"Igbo","isDeprecated":false,"deprecationReason":null},{"name":"id","description":"Indonesian","isDeprecated":false,"deprecationReason":null},{"name":"ia","description":"Interlingua","isDeprecated":false,"deprecationReason":null},{"name":"ga","description":"Irish","isDeprecated":false,"deprecationReason":null},{"name":"it","description":"Italian","isDeprecated":false,"deprecationReason":null},{"name":"ja","description":"Japanese","isDeprecated":false,"deprecationReason":null},{"name":"jv","description":"Javanese","isDeprecated":false,"deprecationReason":null},{"name":"kl","description":"Kalaallisut","isDeprecated":false,"deprecationReason":null},{"name":"kn","description":"Kannada","isDeprecated":false,"deprecationReason":null},{"name":"ks","description":"Kashmiri","isDeprecated":false,"deprecationReason":null},{"name":"kk","description":"Kazakh","isDeprecated":false,"deprecationReason":null},{"name":"km","description":"Khmer","isDeprecated":false,"deprecationReason":null},{"name":"ki","description":"Kikuyu","isDeprecated":false,"deprecationReason":null},{"name":"rw","description":"Kinyarwanda","isDeprecated":false,"deprecationReason":null},{"name":"ko","description":"Korean","isDeprecated":false,"deprecationReason":null},{"name":"ku","description":"Kurdish","isDeprecated":false,"deprecationReason":null},{"name":"ky","description":"Kyrgyz","isDeprecated":false,"deprecationReason":null},{"name":"lo","description":"Lao","isDeprecated":false,"deprecationReason":null},{"name":"la","description":"Latin","isDeprecated":false,"deprecationReason":null},{"name":"lv","description":"Latvian","isDeprecated":false,"deprecationReason":null},{"name":"ln","description":"Lingala","isDeprecated":false,"deprecationReason":null},{"name":"lt","description":"Lithuanian","isDeprecated":false,"deprecationReason":null},{"name":"lu","description":"Luba-Katanga","isDeprecated":false,"deprecationReason":null},{"name":"lb","description":"Luxembourgish","isDeprecated":false,"deprecationReason":null},{"name":"mk","description":"Macedonian","isDeprecated":false,"deprecationReason":null},{"name":"mg","description":"Malagasy","isDeprecated":false,"deprecationReason":null},{"name":"ms","description":"Malay","isDeprecated":false,"deprecationReason":null},{"name":"ml","description":"Malayalam","isDeprecated":false,"deprecationReason":null},{"name":"mt","description":"Maltese","isDeprecated":false,"deprecationReason":null},{"name":"gv","description":"Manx","isDeprecated":false,"deprecationReason":null},{"name":"mi","description":"Maori","isDeprecated":false,"deprecationReason":null},{"name":"mr","description":"Marathi","isDeprecated":false,"deprecationReason":null},{"name":"mn","description":"Mongolian","isDeprecated":false,"deprecationReason":null},{"name":"ne","description":"Nepali","isDeprecated":false,"deprecationReason":null},{"name":"nd","description":"North Ndebele","isDeprecated":false,"deprecationReason":null},{"name":"se","description":"Northern Sami","isDeprecated":false,"deprecationReason":null},{"name":"nb","description":"Norwegian Bokmål","isDeprecated":false,"deprecationReason":null},{"name":"nn","description":"Norwegian Nynorsk","isDeprecated":false,"deprecationReason":null},{"name":"ny","description":"Nyanja","isDeprecated":false,"deprecationReason":null},{"name":"or","description":"Odia","isDeprecated":false,"deprecationReason":null},{"name":"om","description":"Oromo","isDeprecated":false,"deprecationReason":null},{"name":"os","description":"Ossetic","isDeprecated":false,"deprecationReason":null},{"name":"ps","description":"Pashto","isDeprecated":false,"deprecationReason":null},{"name":"fa","description":"Persian","isDeprecated":false,"deprecationReason":null},{"name":"fa_AF","description":"Dari","isDeprecated":false,"deprecationReason":null},{"name":"pl","description":"Polish","isDeprecated":false,"deprecationReason":null},{"name":"pt","description":"Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pt_BR","description":"Brazilian Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pt_PT","description":"European Portuguese","isDeprecated":false,"deprecationReason":null},{"name":"pa","description":"Punjabi","isDeprecated":false,"deprecationReason":null},{"name":"qu","description":"Quechua","isDeprecated":false,"deprecationReason":null},{"name":"ro","description":"Romanian","isDeprecated":false,"deprecationReason":null},{"name":"ro_MD","description":"Moldavian","isDeprecated":false,"deprecationReason":null},{"name":"rm","description":"Romansh","isDeprecated":false,"deprecationReason":null},{"name":"rn","description":"Rundi","isDeprecated":false,"deprecationReason":null},{"name":"ru","description":"Russian","isDeprecated":false,"deprecationReason":null},{"name":"sm","description":"Samoan","isDeprecated":false,"deprecationReason":null},{"name":"sg","description":"Sango","isDeprecated":false,"deprecationReason":null},{"name":"sa","description":"Sanskrit","isDeprecated":false,"deprecationReason":null},{"name":"gd","description":"Scottish Gaelic","isDeprecated":false,"deprecationReason":null},{"name":"sr","description":"Serbian","isDeprecated":false,"deprecationReason":null},{"name":"sn","description":"Shona","isDeprecated":false,"deprecationReason":null},{"name":"ii","description":"Sichuan Yi","isDeprecated":false,"deprecationReason":null},{"name":"sd","description":"Sindhi","isDeprecated":false,"deprecationReason":null},{"name":"si","description":"Sinhala","isDeprecated":false,"deprecationReason":null},{"name":"sk","description":"Slovak","isDeprecated":false,"deprecationReason":null},{"name":"sl","description":"Slovenian","isDeprecated":false,"deprecationReason":null},{"name":"so","description":"Somali","isDeprecated":false,"deprecationReason":null},{"name":"st","description":"Southern Sotho","isDeprecated":false,"deprecationReason":null},{"name":"es","description":"Spanish","isDeprecated":false,"deprecationReason":null},{"name":"es_ES","description":"European Spanish","isDeprecated":false,"deprecationReason":null},{"name":"es_MX","description":"Mexican Spanish","isDeprecated":false,"deprecationReason":null},{"name":"su","description":"Sundanese","isDeprecated":false,"deprecationReason":null},{"name":"sw","description":"Swahili","isDeprecated":false,"deprecationReason":null},{"name":"sw_CD","description":"Congo Swahili","isDeprecated":false,"deprecationReason":null},{"name":"sv","description":"Swedish","isDeprecated":false,"deprecationReason":null},{"name":"tg","description":"Tajik","isDeprecated":false,"deprecationReason":null},{"name":"ta","description":"Tamil","isDeprecated":false,"deprecationReason":null},{"name":"tt","description":"Tatar","isDeprecated":false,"deprecationReason":null},{"name":"te","description":"Telugu","isDeprecated":false,"deprecationReason":null},{"name":"th","description":"Thai","isDeprecated":false,"deprecationReason":null},{"name":"bo","description":"Tibetan","isDeprecated":false,"deprecationReason":null},{"name":"ti","description":"Tigrinya","isDeprecated":false,"deprecationReason":null},{"name":"to","description":"Tongan","isDeprecated":false,"deprecationReason":null},{"name":"tr","description":"Turkish","isDeprecated":false,"deprecationReason":null},{"name":"tk","description":"Turkmen","isDeprecated":false,"deprecationReason":null},{"name":"uk","description":"Ukrainian","isDeprecated":false,"deprecationReason":null},{"name":"ur","description":"Urdu","isDeprecated":false,"deprecationReason":null},{"name":"ug","description":"Uyghur","isDeprecated":false,"deprecationReason":null},{"name":"uz","description":"Uzbek","isDeprecated":false,"deprecationReason":null},{"name":"vi","description":"Vietnamese","isDeprecated":false,"deprecationReason":null},{"name":"vo","description":"Volapük","isDeprecated":false,"deprecationReason":null},{"name":"cy","description":"Welsh","isDeprecated":false,"deprecationReason":null},{"name":"fy","description":"Western Frisian","isDeprecated":false,"deprecationReason":null},{"name":"wo","description":"Wolof","isDeprecated":false,"deprecationReason":null},{"name":"xh","description":"Xhosa","isDeprecated":false,"deprecationReason":null},{"name":"yi","description":"Yiddish","isDeprecated":false,"deprecationReason":null},{"name":"yo","description":"Yoruba","isDeprecated":false,"deprecationReason":null},{"name":"zu","description":"Zulu","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"SCALAR","name":"Boolean","description":"The `Boolean` scalar type represents `true` or `false`.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CountryTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"CurrencyCode","description":"@description\nISO 4217 currency code\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"AED","description":"United Arab Emirates dirham","isDeprecated":false,"deprecationReason":null},{"name":"AFN","description":"Afghan afghani","isDeprecated":false,"deprecationReason":null},{"name":"ALL","description":"Albanian lek","isDeprecated":false,"deprecationReason":null},{"name":"AMD","description":"Armenian dram","isDeprecated":false,"deprecationReason":null},{"name":"ANG","description":"Netherlands Antillean guilder","isDeprecated":false,"deprecationReason":null},{"name":"AOA","description":"Angolan kwanza","isDeprecated":false,"deprecationReason":null},{"name":"ARS","description":"Argentine peso","isDeprecated":false,"deprecationReason":null},{"name":"AUD","description":"Australian dollar","isDeprecated":false,"deprecationReason":null},{"name":"AWG","description":"Aruban florin","isDeprecated":false,"deprecationReason":null},{"name":"AZN","description":"Azerbaijani manat","isDeprecated":false,"deprecationReason":null},{"name":"BAM","description":"Bosnia and Herzegovina convertible mark","isDeprecated":false,"deprecationReason":null},{"name":"BBD","description":"Barbados dollar","isDeprecated":false,"deprecationReason":null},{"name":"BDT","description":"Bangladeshi taka","isDeprecated":false,"deprecationReason":null},{"name":"BGN","description":"Bulgarian lev","isDeprecated":false,"deprecationReason":null},{"name":"BHD","description":"Bahraini dinar","isDeprecated":false,"deprecationReason":null},{"name":"BIF","description":"Burundian franc","isDeprecated":false,"deprecationReason":null},{"name":"BMD","description":"Bermudian dollar","isDeprecated":false,"deprecationReason":null},{"name":"BND","description":"Brunei dollar","isDeprecated":false,"deprecationReason":null},{"name":"BOB","description":"Boliviano","isDeprecated":false,"deprecationReason":null},{"name":"BRL","description":"Brazilian real","isDeprecated":false,"deprecationReason":null},{"name":"BSD","description":"Bahamian dollar","isDeprecated":false,"deprecationReason":null},{"name":"BTN","description":"Bhutanese ngultrum","isDeprecated":false,"deprecationReason":null},{"name":"BWP","description":"Botswana pula","isDeprecated":false,"deprecationReason":null},{"name":"BYN","description":"Belarusian ruble","isDeprecated":false,"deprecationReason":null},{"name":"BZD","description":"Belize dollar","isDeprecated":false,"deprecationReason":null},{"name":"CAD","description":"Canadian dollar","isDeprecated":false,"deprecationReason":null},{"name":"CDF","description":"Congolese franc","isDeprecated":false,"deprecationReason":null},{"name":"CHF","description":"Swiss franc","isDeprecated":false,"deprecationReason":null},{"name":"CLP","description":"Chilean peso","isDeprecated":false,"deprecationReason":null},{"name":"CNY","description":"Renminbi (Chinese) yuan","isDeprecated":false,"deprecationReason":null},{"name":"COP","description":"Colombian peso","isDeprecated":false,"deprecationReason":null},{"name":"CRC","description":"Costa Rican colon","isDeprecated":false,"deprecationReason":null},{"name":"CUC","description":"Cuban convertible peso","isDeprecated":false,"deprecationReason":null},{"name":"CUP","description":"Cuban peso","isDeprecated":false,"deprecationReason":null},{"name":"CVE","description":"Cape Verde escudo","isDeprecated":false,"deprecationReason":null},{"name":"CZK","description":"Czech koruna","isDeprecated":false,"deprecationReason":null},{"name":"DJF","description":"Djiboutian franc","isDeprecated":false,"deprecationReason":null},{"name":"DKK","description":"Danish krone","isDeprecated":false,"deprecationReason":null},{"name":"DOP","description":"Dominican peso","isDeprecated":false,"deprecationReason":null},{"name":"DZD","description":"Algerian dinar","isDeprecated":false,"deprecationReason":null},{"name":"EGP","description":"Egyptian pound","isDeprecated":false,"deprecationReason":null},{"name":"ERN","description":"Eritrean nakfa","isDeprecated":false,"deprecationReason":null},{"name":"ETB","description":"Ethiopian birr","isDeprecated":false,"deprecationReason":null},{"name":"EUR","description":"Euro","isDeprecated":false,"deprecationReason":null},{"name":"FJD","description":"Fiji dollar","isDeprecated":false,"deprecationReason":null},{"name":"FKP","description":"Falkland Islands pound","isDeprecated":false,"deprecationReason":null},{"name":"GBP","description":"Pound sterling","isDeprecated":false,"deprecationReason":null},{"name":"GEL","description":"Georgian lari","isDeprecated":false,"deprecationReason":null},{"name":"GHS","description":"Ghanaian cedi","isDeprecated":false,"deprecationReason":null},{"name":"GIP","description":"Gibraltar pound","isDeprecated":false,"deprecationReason":null},{"name":"GMD","description":"Gambian dalasi","isDeprecated":false,"deprecationReason":null},{"name":"GNF","description":"Guinean franc","isDeprecated":false,"deprecationReason":null},{"name":"GTQ","description":"Guatemalan quetzal","isDeprecated":false,"deprecationReason":null},{"name":"GYD","description":"Guyanese dollar","isDeprecated":false,"deprecationReason":null},{"name":"HKD","description":"Hong Kong dollar","isDeprecated":false,"deprecationReason":null},{"name":"HNL","description":"Honduran lempira","isDeprecated":false,"deprecationReason":null},{"name":"HRK","description":"Croatian kuna","isDeprecated":false,"deprecationReason":null},{"name":"HTG","description":"Haitian gourde","isDeprecated":false,"deprecationReason":null},{"name":"HUF","description":"Hungarian forint","isDeprecated":false,"deprecationReason":null},{"name":"IDR","description":"Indonesian rupiah","isDeprecated":false,"deprecationReason":null},{"name":"ILS","description":"Israeli new shekel","isDeprecated":false,"deprecationReason":null},{"name":"INR","description":"Indian rupee","isDeprecated":false,"deprecationReason":null},{"name":"IQD","description":"Iraqi dinar","isDeprecated":false,"deprecationReason":null},{"name":"IRR","description":"Iranian rial","isDeprecated":false,"deprecationReason":null},{"name":"ISK","description":"Icelandic króna","isDeprecated":false,"deprecationReason":null},{"name":"JMD","description":"Jamaican dollar","isDeprecated":false,"deprecationReason":null},{"name":"JOD","description":"Jordanian dinar","isDeprecated":false,"deprecationReason":null},{"name":"JPY","description":"Japanese yen","isDeprecated":false,"deprecationReason":null},{"name":"KES","description":"Kenyan shilling","isDeprecated":false,"deprecationReason":null},{"name":"KGS","description":"Kyrgyzstani som","isDeprecated":false,"deprecationReason":null},{"name":"KHR","description":"Cambodian riel","isDeprecated":false,"deprecationReason":null},{"name":"KMF","description":"Comoro franc","isDeprecated":false,"deprecationReason":null},{"name":"KPW","description":"North Korean won","isDeprecated":false,"deprecationReason":null},{"name":"KRW","description":"South Korean won","isDeprecated":false,"deprecationReason":null},{"name":"KWD","description":"Kuwaiti dinar","isDeprecated":false,"deprecationReason":null},{"name":"KYD","description":"Cayman Islands dollar","isDeprecated":false,"deprecationReason":null},{"name":"KZT","description":"Kazakhstani tenge","isDeprecated":false,"deprecationReason":null},{"name":"LAK","description":"Lao kip","isDeprecated":false,"deprecationReason":null},{"name":"LBP","description":"Lebanese pound","isDeprecated":false,"deprecationReason":null},{"name":"LKR","description":"Sri Lankan rupee","isDeprecated":false,"deprecationReason":null},{"name":"LRD","description":"Liberian dollar","isDeprecated":false,"deprecationReason":null},{"name":"LSL","description":"Lesotho loti","isDeprecated":false,"deprecationReason":null},{"name":"LYD","description":"Libyan dinar","isDeprecated":false,"deprecationReason":null},{"name":"MAD","description":"Moroccan dirham","isDeprecated":false,"deprecationReason":null},{"name":"MDL","description":"Moldovan leu","isDeprecated":false,"deprecationReason":null},{"name":"MGA","description":"Malagasy ariary","isDeprecated":false,"deprecationReason":null},{"name":"MKD","description":"Macedonian denar","isDeprecated":false,"deprecationReason":null},{"name":"MMK","description":"Myanmar kyat","isDeprecated":false,"deprecationReason":null},{"name":"MNT","description":"Mongolian tögrög","isDeprecated":false,"deprecationReason":null},{"name":"MOP","description":"Macanese pataca","isDeprecated":false,"deprecationReason":null},{"name":"MRU","description":"Mauritanian ouguiya","isDeprecated":false,"deprecationReason":null},{"name":"MUR","description":"Mauritian rupee","isDeprecated":false,"deprecationReason":null},{"name":"MVR","description":"Maldivian rufiyaa","isDeprecated":false,"deprecationReason":null},{"name":"MWK","description":"Malawian kwacha","isDeprecated":false,"deprecationReason":null},{"name":"MXN","description":"Mexican peso","isDeprecated":false,"deprecationReason":null},{"name":"MYR","description":"Malaysian ringgit","isDeprecated":false,"deprecationReason":null},{"name":"MZN","description":"Mozambican metical","isDeprecated":false,"deprecationReason":null},{"name":"NAD","description":"Namibian dollar","isDeprecated":false,"deprecationReason":null},{"name":"NGN","description":"Nigerian naira","isDeprecated":false,"deprecationReason":null},{"name":"NIO","description":"Nicaraguan córdoba","isDeprecated":false,"deprecationReason":null},{"name":"NOK","description":"Norwegian krone","isDeprecated":false,"deprecationReason":null},{"name":"NPR","description":"Nepalese rupee","isDeprecated":false,"deprecationReason":null},{"name":"NZD","description":"New Zealand dollar","isDeprecated":false,"deprecationReason":null},{"name":"OMR","description":"Omani rial","isDeprecated":false,"deprecationReason":null},{"name":"PAB","description":"Panamanian balboa","isDeprecated":false,"deprecationReason":null},{"name":"PEN","description":"Peruvian sol","isDeprecated":false,"deprecationReason":null},{"name":"PGK","description":"Papua New Guinean kina","isDeprecated":false,"deprecationReason":null},{"name":"PHP","description":"Philippine peso","isDeprecated":false,"deprecationReason":null},{"name":"PKR","description":"Pakistani rupee","isDeprecated":false,"deprecationReason":null},{"name":"PLN","description":"Polish złoty","isDeprecated":false,"deprecationReason":null},{"name":"PYG","description":"Paraguayan guaraní","isDeprecated":false,"deprecationReason":null},{"name":"QAR","description":"Qatari riyal","isDeprecated":false,"deprecationReason":null},{"name":"RON","description":"Romanian leu","isDeprecated":false,"deprecationReason":null},{"name":"RSD","description":"Serbian dinar","isDeprecated":false,"deprecationReason":null},{"name":"RUB","description":"Russian ruble","isDeprecated":false,"deprecationReason":null},{"name":"RWF","description":"Rwandan franc","isDeprecated":false,"deprecationReason":null},{"name":"SAR","description":"Saudi riyal","isDeprecated":false,"deprecationReason":null},{"name":"SBD","description":"Solomon Islands dollar","isDeprecated":false,"deprecationReason":null},{"name":"SCR","description":"Seychelles rupee","isDeprecated":false,"deprecationReason":null},{"name":"SDG","description":"Sudanese pound","isDeprecated":false,"deprecationReason":null},{"name":"SEK","description":"Swedish krona/kronor","isDeprecated":false,"deprecationReason":null},{"name":"SGD","description":"Singapore dollar","isDeprecated":false,"deprecationReason":null},{"name":"SHP","description":"Saint Helena pound","isDeprecated":false,"deprecationReason":null},{"name":"SLL","description":"Sierra Leonean leone","isDeprecated":false,"deprecationReason":null},{"name":"SOS","description":"Somali shilling","isDeprecated":false,"deprecationReason":null},{"name":"SRD","description":"Surinamese dollar","isDeprecated":false,"deprecationReason":null},{"name":"SSP","description":"South Sudanese pound","isDeprecated":false,"deprecationReason":null},{"name":"STN","description":"São Tomé and Príncipe dobra","isDeprecated":false,"deprecationReason":null},{"name":"SVC","description":"Salvadoran colón","isDeprecated":false,"deprecationReason":null},{"name":"SYP","description":"Syrian pound","isDeprecated":false,"deprecationReason":null},{"name":"SZL","description":"Swazi lilangeni","isDeprecated":false,"deprecationReason":null},{"name":"THB","description":"Thai baht","isDeprecated":false,"deprecationReason":null},{"name":"TJS","description":"Tajikistani somoni","isDeprecated":false,"deprecationReason":null},{"name":"TMT","description":"Turkmenistan manat","isDeprecated":false,"deprecationReason":null},{"name":"TND","description":"Tunisian dinar","isDeprecated":false,"deprecationReason":null},{"name":"TOP","description":"Tongan paʻanga","isDeprecated":false,"deprecationReason":null},{"name":"TRY","description":"Turkish lira","isDeprecated":false,"deprecationReason":null},{"name":"TTD","description":"Trinidad and Tobago dollar","isDeprecated":false,"deprecationReason":null},{"name":"TWD","description":"New Taiwan dollar","isDeprecated":false,"deprecationReason":null},{"name":"TZS","description":"Tanzanian shilling","isDeprecated":false,"deprecationReason":null},{"name":"UAH","description":"Ukrainian hryvnia","isDeprecated":false,"deprecationReason":null},{"name":"UGX","description":"Ugandan shilling","isDeprecated":false,"deprecationReason":null},{"name":"USD","description":"United States dollar","isDeprecated":false,"deprecationReason":null},{"name":"UYU","description":"Uruguayan peso","isDeprecated":false,"deprecationReason":null},{"name":"UZS","description":"Uzbekistan som","isDeprecated":false,"deprecationReason":null},{"name":"VES","description":"Venezuelan bolívar soberano","isDeprecated":false,"deprecationReason":null},{"name":"VND","description":"Vietnamese đồng","isDeprecated":false,"deprecationReason":null},{"name":"VUV","description":"Vanuatu vatu","isDeprecated":false,"deprecationReason":null},{"name":"WST","description":"Samoan tala","isDeprecated":false,"deprecationReason":null},{"name":"XAF","description":"CFA franc BEAC","isDeprecated":false,"deprecationReason":null},{"name":"XCD","description":"East Caribbean dollar","isDeprecated":false,"deprecationReason":null},{"name":"XOF","description":"CFA franc BCEAO","isDeprecated":false,"deprecationReason":null},{"name":"XPF","description":"CFP franc (franc Pacifique)","isDeprecated":false,"deprecationReason":null},{"name":"YER","description":"Yemeni rial","isDeprecated":false,"deprecationReason":null},{"name":"ZAR","description":"South African rand","isDeprecated":false,"deprecationReason":null},{"name":"ZMW","description":"Zambian kwacha","isDeprecated":false,"deprecationReason":null},{"name":"ZWL","description":"Zimbabwean dollar","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Customer","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"title","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"firstName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"emailAddress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addresses","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"orders","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":null,"args":[],"type":{"kind":"OBJECT","name":"User","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Address","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fullName","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine1","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine2","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"city","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"province","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"postalCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultShippingAddress","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"defaultBillingAddress","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"JSON","description":"The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"OrderFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Int","description":"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"subTotalBeforeTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"subTotal","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"shippingWithTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"totalBeforeTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"total","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"SortOrder","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ASC","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DESC","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"OrderFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"code","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"state","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"active","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"subTotalBeforeTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"subTotal","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"shipping","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"shippingWithTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"totalBeforeTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"total","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DateOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"before","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"after","description":null,"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"defaultValue":null},{"name":"between","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateRange","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"DateRange","description":null,"fields":null,"inputFields":[{"name":"start","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"defaultValue":null},{"name":"end","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"StringOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"contains","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"BooleanOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NumberOperators","description":null,"fields":null,"inputFields":[{"name":"eq","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"lt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"lte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"gt","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"gte","description":null,"type":{"kind":"SCALAR","name":"Float","ofType":null},"defaultValue":null},{"name":"between","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberRange","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Float","description":"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NumberRange","description":null,"fields":null,"inputFields":[{"name":"start","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null},{"name":"end","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"PaginatedList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INTERFACE","name":"Node","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"OrderList","ofType":null},{"kind":"OBJECT","name":"ProductVariantList","ofType":null},{"kind":"OBJECT","name":"CustomerList","ofType":null},{"kind":"OBJECT","name":"HistoryEntryList","ofType":null},{"kind":"OBJECT","name":"CollectionList","ofType":null},{"kind":"OBJECT","name":"ProductList","ofType":null},{"kind":"OBJECT","name":"AdministratorList","ofType":null},{"kind":"OBJECT","name":"AssetList","ofType":null},{"kind":"OBJECT","name":"CountryList","ofType":null},{"kind":"OBJECT","name":"FacetList","ofType":null},{"kind":"OBJECT","name":"PromotionList","ofType":null},{"kind":"OBJECT","name":"RoleList","ofType":null},{"kind":"OBJECT","name":"ShippingMethodList","ofType":null},{"kind":"OBJECT","name":"TaxRateList","ofType":null}]},{"kind":"OBJECT","name":"Order","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":"A unique code for the Order","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"active","description":"An order is active as long as the payment process has not been completed","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customer","description":null,"args":[],"type":{"kind":"OBJECT","name":"Customer","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"shippingAddress","description":null,"args":[],"type":{"kind":"OBJECT","name":"OrderAddress","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"billingAddress","description":null,"args":[],"type":{"kind":"OBJECT","name":"OrderAddress","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"lines","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":"Order-level adjustments to the order total, such as discounts from promotions","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"couponCodes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"promotions","description":"Promotions applied to the order. Only gets populated after the payment process has completed.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"payments","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Payment","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillments","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Fulfillment","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"subTotalBeforeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"subTotal","description":"The subTotal is the total of the OrderLines, before order-level promotions and shipping has been applied.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shipping","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shippingMethod","description":null,"args":[],"type":{"kind":"OBJECT","name":"ShippingMethod","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"totalBeforeTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"total","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"history","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntryList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderAddress","description":null,"fields":[{"name":"fullName","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"company","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine1","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"streetLine2","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"city","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"province","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"postalCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"country","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"countryCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"phoneNumber","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderLine","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"unitPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"order","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Order","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariant","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"product","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"sku","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceIncludesTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRateApplied","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxCategory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariantTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Product","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"variants","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"optionGroups","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collections","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Asset","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"AssetType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fileSize","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mimeType","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"width","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"height","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"source","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"preview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"focalPoint","description":null,"args":[],"type":{"kind":"OBJECT","name":"Coordinate","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AssetType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"IMAGE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"VIDEO","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"BINARY","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Coordinate","description":null,"fields":[{"name":"x","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"y","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionGroup","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOption","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroupTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOption","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"groupId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"group","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionGroup","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductOptionTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductOptionGroupTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValue","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facet","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValueTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Facet","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"values","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValueTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Collection","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"ENUM","name":"LanguageCode","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"breadcrumbs","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionBreadcrumb","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"position","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"featuredAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"Asset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"assets","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"parent","description":null,"args":[],"type":{"kind":"OBJECT","name":"Collection","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"children","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"filters","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"translations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CollectionTranslation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariants","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariantList","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionBreadcrumb","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigurableOperation","description":null,"fields":[{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArg","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigArg","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductVariantFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"productId","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"priceWithTax","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductVariantFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"sku","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"currencyCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"priceIncludesTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"priceWithTax","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariantList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxRate","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"category","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxCategory","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"zone","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Zone","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customerGroup","description":null,"args":[],"type":{"kind":"OBJECT","name":"CustomerGroup","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxCategory","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerGroup","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customers","description":null,"args":[{"name":"options","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerListOptions","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomerList","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CustomerFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CustomerFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomerList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductVariantTranslation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderItem","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"cancelled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPrice","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"unitPriceIncludesTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"taxRate","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustments","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Adjustment","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"fulfillment","description":null,"args":[],"type":{"kind":"OBJECT","name":"Fulfillment","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refundId","description":null,"args":[],"type":{"kind":"SCALAR","name":"ID","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Adjustment","description":null,"fields":[{"name":"adjustmentSource","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"AdjustmentType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"amount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"AdjustmentType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"TAX","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PROMOTION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SHIPPING","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"TAX_REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PROMOTION_REFUND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SHIPPING_REFUND","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Fulfillment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"trackingCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Promotion","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"startsAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"endsAt","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"couponCode","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"perCustomerUsageLimit","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"conditions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"actions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Payment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"amount","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactionId","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"errorMessage","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"refunds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Refund","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Refund","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"shipping","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustment","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"total","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"method","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"state","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transactionId","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"reason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"orderItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"checker","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"calculator","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperation","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntryListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntrySortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"HistoryEntryFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntrySortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"HistoryEntryFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"isPublic","description":null,"type":{"kind":"INPUT_OBJECT","name":"BooleanOperators","ofType":null},"defaultValue":null},{"name":"type","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HistoryEntryList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"HistoryEntry","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"HistoryEntry","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isPublic","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"HistoryEntryType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"administrator","description":null,"args":[],"type":{"kind":"OBJECT","name":"Administrator","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"data","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"JSON","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"HistoryEntryType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"CUSTOMER_REGISTERED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_DETAIL_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDED_TO_GROUP","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_REMOVED_FROM_GROUP","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_CREATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_ADDRESS_DELETED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_UPDATED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_RESET_REQUESTED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_PASSWORD_RESET_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_EMAIL_UPDATE_REQUESTED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_EMAIL_UPDATE_VERIFIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CUSTOMER_NOTE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_STATE_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_PAYMENT_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_FULFILLMENT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_CANCELLATION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_REFUND_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_FULFILLMENT_TRANSITION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_NOTE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_COUPON_APPLIED","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_COUPON_REMOVED","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"Administrator","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"firstName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"lastName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"emailAddress","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"user","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"User","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"User","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifier","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"verified","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"roles","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"lastLogin","description":null,"args":[],"type":{"kind":"SCALAR","name":"DateTime","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"authenticationMethods","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"AuthenticationMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Role","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Channel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"Permission","description":"\"\n@description\nPermissions for administrators and customers. Used to control access to\nGraphQL resolvers via the {@link Allow} decorator.\n\n@docsCategory common","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"Authenticated","description":" The Authenticated role means simply that the user is logged in ","isDeprecated":false,"deprecationReason":null},{"name":"SuperAdmin","description":" SuperAdmin can perform the most sensitive tasks","isDeprecated":false,"deprecationReason":null},{"name":"Owner","description":" Owner means the user owns this entity, e.g. a Customer's own Order","isDeprecated":false,"deprecationReason":null},{"name":"Public","description":" Public means any unauthenticated user may perform the operation ","isDeprecated":false,"deprecationReason":null},{"name":"CreateCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteCatalog","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteCustomer","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteAdministrator","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteOrder","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreatePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadPromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdatePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeletePromotion","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CreateSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ReadSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"UpdateSettings","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"DeleteSettings","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"AuthenticationMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"strategy","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"CollectionFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"position","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CollectionFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"position","description":null,"type":{"kind":"INPUT_OBJECT","name":"NumberOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CollectionList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Collection","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethodQuote","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"metadata","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CurrentUser","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"identifier","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"channels","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CurrentUserChannel","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CurrentUserChannel","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"token","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"permissions","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"Permission","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductListOptions","description":null,"fields":null,"inputFields":[{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductSortParameter","ofType":null},"defaultValue":null},{"name":"filter","description":null,"type":{"kind":"INPUT_OBJECT","name":"ProductFilterParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductSortParameter","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"createdAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ProductFilterParameter","description":null,"fields":null,"inputFields":[{"name":"createdAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"updatedAt","description":null,"type":{"kind":"INPUT_OBJECT","name":"DateOperators","ofType":null},"defaultValue":null},{"name":"languageCode","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"name","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"slug","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null},{"name":"description","description":null,"type":{"kind":"INPUT_OBJECT","name":"StringOperators","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ProductList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Product","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SearchInput","description":null,"fields":null,"inputFields":[{"name":"term","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"facetValueIds","description":null,"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}},"defaultValue":null},{"name":"facetValueOperator","description":null,"type":{"kind":"ENUM","name":"LogicalOperator","ofType":null},"defaultValue":null},{"name":"collectionId","description":null,"type":{"kind":"SCALAR","name":"ID","ofType":null},"defaultValue":null},{"name":"collectionSlug","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"groupByProduct","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"take","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"skip","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null},{"name":"sort","description":null,"type":{"kind":"INPUT_OBJECT","name":"SearchResultSortParameter","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"LogicalOperator","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"AND","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"OR","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"SearchResultSortParameter","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null},{"name":"price","description":null,"type":{"kind":"ENUM","name":"SortOrder","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResponse","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"SearchResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValues","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValueResult","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResult","description":null,"fields":[{"name":"sku","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"slug","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productPreview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `productAsset.preview` instead"},{"name":"productAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"SearchResultAsset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantId","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantName","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariantPreview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":true,"deprecationReason":"Use `productVariantAsset.preview` instead"},{"name":"productVariantAsset","description":null,"args":[],"type":{"kind":"OBJECT","name":"SearchResultAsset","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"price","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SearchResultPrice","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"priceWithTax","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SearchResultPrice","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"currencyCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"CurrencyCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"facetIds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"facetValueIds","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"collectionIds","description":"An array of ids of the Collections in which this result appears","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"score","description":"A relevence score for the result. Differs between database implementations","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Float","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchResultAsset","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"preview","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"focalPoint","description":null,"args":[],"type":{"kind":"OBJECT","name":"Coordinate","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"SearchResultPrice","description":"The price of a search result product, either as a range or as a single price","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"PriceRange","ofType":null},{"kind":"OBJECT","name":"SinglePrice","ofType":null}]},{"kind":"OBJECT","name":"PriceRange","description":"The price range where the result has more than one price","fields":[{"name":"min","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SinglePrice","description":"The price value where the result has a single price","fields":[{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FacetValueResult","description":"Which FacetValues are present in the products returned\nby the search, and in what quantity.","fields":[{"name":"facetValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"FacetValue","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"count","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Mutation","description":null,"fields":[{"name":"addItemToOrder","description":"Adds an item to the order. If custom fields are defined on the OrderLine\nentity, a third argument 'customFields' will be available.","args":[{"name":"productVariantId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"quantity","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"UpdateOrderItemsResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeOrderLine","description":"Remove an OrderLine from the Order","args":[{"name":"orderLineId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"RemoveOrderItemsResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeAllOrderLines","description":"Remove all OrderLine from the Order","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"RemoveOrderItemsResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"adjustOrderLine","description":"Adjusts an OrderLine. If custom fields are defined on the OrderLine entity, a\nthird argument 'customFields' of type `OrderLineCustomFieldsInput` will be available.","args":[{"name":"orderLineId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"quantity","description":null,"type":{"kind":"SCALAR","name":"Int","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"UpdateOrderItemsResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"applyCouponCode","description":"Applies the given coupon code to the active Order","args":[{"name":"couponCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ApplyCouponCodeResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"removeCouponCode","description":"Removes the given coupon code from the active Order","args":[{"name":"couponCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"transitionOrderToState","description":"Transitions an Order to a new state. Valid next states can be found by querying `nextOrderStates`","args":[{"name":"state","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"UNION","name":"TransitionOrderToStateResult","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderShippingAddress","description":"Sets the shipping address for this order","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderBillingAddress","description":"Sets the billing address for this order","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderCustomFields","description":"Allows any custom fields to be set for the active order","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateOrderInput","ofType":null}},"defaultValue":null}],"type":{"kind":"OBJECT","name":"Order","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setOrderShippingMethod","description":"Sets the shipping method by id, which can be obtained with the `eligibleShippingMethods` query","args":[{"name":"shippingMethodId","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"SetOrderShippingMethodResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"addPaymentToOrder","description":"Add a Payment to the Order","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"PaymentInput","ofType":null}},"defaultValue":null}],"type":{"kind":"UNION","name":"AddPaymentToOrderResult","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"setCustomerForOrder","description":"Set the Customer for the Order. Required only if the Customer is not currently logged in","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"UNION","name":"SetCustomerForOrderResult","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"login","description":"Authenticates the user using the native authentication strategy. This mutation\nis an alias for `authenticate({ native: { ... }})`","args":[{"name":"username","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"rememberMe","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"NativeAuthenticationResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"authenticate","description":"Authenticates the user using a named authentication strategy","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"AuthenticationInput","ofType":null}},"defaultValue":null},{"name":"rememberMe","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"AuthenticationResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"logout","description":"End the current authenticated session","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Success","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"registerCustomerAccount","description":"Register a Customer account with the given credentials. There are three possible registration flows:\n\n_If `authOptions.requireVerification` is set to `true`:_\n\n1. **The Customer is registered _with_ a password**. A verificationToken will\nbe created (and typically emailed to the Customer). That\n verificationToken would then be passed to the `verifyCustomerAccount`\nmutation _without_ a password. The Customer is then\n verified and authenticated in one step.\n2. **The Customer is registered _without_ a password**. A verificationToken\nwill be created (and typically emailed to the Customer). That\n verificationToken would then be passed to the `verifyCustomerAccount`\nmutation _with_ the chosed password of the Customer. The Customer is then\n verified and authenticated in one step.\n\n_If `authOptions.requireVerification` is set to `false`:_\n\n3. The Customer _must_ be registered _with_ a password. No further action is\nneeded - the Customer is able to authenticate immediately.","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"RegisterCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"RegisterCustomerAccountResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"refreshCustomerVerification","description":"Regenerate and send a verification token for a new Customer registration. Only\napplicable if `authOptions.requireVerification` is set to true.","args":[{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"RefreshCustomerVerificationResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomer","description":"Update an existing Customer","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateCustomerInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Customer","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createCustomerAddress","description":"Create a new Customer Address","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"CreateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerAddress","description":"Update an existing Address","args":[{"name":"input","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"UpdateAddressInput","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Address","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deleteCustomerAddress","description":"Delete an existing Address","args":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Success","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"verifyCustomerAccount","description":"Verify a Customer email address with the token sent to that address. Only\napplicable if `authOptions.requireVerification` is set to true.\n\nIf the Customer was not registered with a password in the `registerCustomerAccount` mutation, the a password _must_ be\nprovided here.","args":[{"name":"token","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"VerifyCustomerAccountResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerPassword","description":"Update the password of the active Customer","args":[{"name":"currentPassword","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"newPassword","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"UpdateCustomerPasswordResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requestUpdateCustomerEmailAddress","description":"Request to update the emailAddress of the active Customer. If `authOptions.requireVerification` is enabled\n(as is the default), then the `identifierChangeToken` will be assigned to the current User and\na IdentifierChangeRequestEvent will be raised. This can then be used e.g. by the EmailPlugin to email\nthat verification token to the Customer, which is then used to verify the change of email address.","args":[{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"newEmailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"RequestUpdateCustomerEmailAddressResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updateCustomerEmailAddress","description":"Confirm the update of the emailAddress with the provided token, which has been generated by the\n`requestUpdateCustomerEmailAddress` mutation.","args":[{"name":"token","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"UpdateCustomerEmailAddressResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"requestPasswordReset","description":"Requests a password reset email to be sent","args":[{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"UNION","name":"RequestPasswordResetResult","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"resetPassword","description":"Resets a Customer's password based on the provided token","args":[{"name":"token","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"ResetPasswordResult","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"UpdateOrderItemsResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"OrderModificationError","ofType":null},{"kind":"OBJECT","name":"OrderLimitError","ofType":null},{"kind":"OBJECT","name":"NegativeQuantityError","ofType":null}]},{"kind":"OBJECT","name":"OrderModificationError","description":"Returned when attempting to modify the contents of an Order that is not in the `AddingItems` state.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"ErrorResult","description":null,"fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"OrderModificationError","ofType":null},{"kind":"OBJECT","name":"OrderLimitError","ofType":null},{"kind":"OBJECT","name":"NegativeQuantityError","ofType":null},{"kind":"OBJECT","name":"CouponCodeExpiredError","ofType":null},{"kind":"OBJECT","name":"CouponCodeInvalidError","ofType":null},{"kind":"OBJECT","name":"CouponCodeLimitError","ofType":null},{"kind":"OBJECT","name":"OrderStateTransitionError","ofType":null},{"kind":"OBJECT","name":"OrderPaymentStateError","ofType":null},{"kind":"OBJECT","name":"PaymentFailedError","ofType":null},{"kind":"OBJECT","name":"PaymentDeclinedError","ofType":null},{"kind":"OBJECT","name":"AlreadyLoggedInError","ofType":null},{"kind":"OBJECT","name":"EmailAddressConflictError","ofType":null},{"kind":"OBJECT","name":"InvalidCredentialsError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null},{"kind":"OBJECT","name":"MissingPasswordError","ofType":null},{"kind":"OBJECT","name":"VerificationTokenInvalidError","ofType":null},{"kind":"OBJECT","name":"VerificationTokenExpiredError","ofType":null},{"kind":"OBJECT","name":"PasswordAlreadySetError","ofType":null},{"kind":"OBJECT","name":"IdentifierChangeTokenInvalidError","ofType":null},{"kind":"OBJECT","name":"IdentifierChangeTokenExpiredError","ofType":null},{"kind":"OBJECT","name":"PasswordResetTokenInvalidError","ofType":null},{"kind":"OBJECT","name":"PasswordResetTokenExpiredError","ofType":null}]},{"kind":"ENUM","name":"ErrorCode","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"UNKNOWN_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_MODIFICATION_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_LIMIT_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"NEGATIVE_QUANTITY_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"COUPON_CODE_EXPIRED_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"COUPON_CODE_INVALID_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"COUPON_CODE_LIMIT_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_STATE_TRANSITION_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ORDER_PAYMENT_STATE_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PAYMENT_FAILED_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PAYMENT_DECLINED_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"ALREADY_LOGGED_IN_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"EMAIL_ADDRESS_CONFLICT_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"INVALID_CREDENTIALS_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"NATIVE_AUTH_STRATEGY_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"MISSING_PASSWORD_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"VERIFICATION_TOKEN_INVALID_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"VERIFICATION_TOKEN_EXPIRED_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PASSWORD_ALREADY_SET_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"IDENTIFIER_CHANGE_TOKEN_EXPIRED_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PASSWORD_RESET_TOKEN_INVALID_ERROR","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"PASSWORD_RESET_TOKEN_EXPIRED_ERROR","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"OrderLimitError","description":"Retured when the maximum order size limit has been reached.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"maxItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"NegativeQuantityError","description":"Retured when attemting to set a negative OrderLine quantity.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"RemoveOrderItemsResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"OrderModificationError","ofType":null}]},{"kind":"UNION","name":"ApplyCouponCodeResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"CouponCodeExpiredError","ofType":null},{"kind":"OBJECT","name":"CouponCodeInvalidError","ofType":null},{"kind":"OBJECT","name":"CouponCodeLimitError","ofType":null}]},{"kind":"OBJECT","name":"CouponCodeExpiredError","description":"Returned if the provided coupon code is invalid","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"couponCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CouponCodeInvalidError","description":"Returned if the provided coupon code is invalid","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"couponCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CouponCodeLimitError","description":"Returned if the provided coupon code is invalid","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"couponCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"limit","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"TransitionOrderToStateResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"OrderStateTransitionError","ofType":null}]},{"kind":"OBJECT","name":"OrderStateTransitionError","description":"Returned if there is an error in transitioning the Order state","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"transitionError","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"fromState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"toState","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateAddressInput","description":null,"fields":null,"inputFields":[{"name":"fullName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"company","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine1","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"streetLine2","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"city","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"province","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"postalCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"countryCode","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultShippingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"defaultBillingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateOrderInput","description":null,"fields":null,"inputFields":[{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"SetOrderShippingMethodResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"OrderModificationError","ofType":null}]},{"kind":"INPUT_OBJECT","name":"PaymentInput","description":"Passed as input to the `addPaymentToOrder` mutation.","fields":null,"inputFields":[{"name":"method","description":"This field should correspond to the `code` property of a PaymentMethodHandler.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"metadata","description":"This field should contain arbitrary data passed to the specified PaymentMethodHandler's `createPayment()` method\nas the \"metadata\" argument. For example, it could contain an ID for the payment and other\ndata generated by the payment provider.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"JSON","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"AddPaymentToOrderResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"OrderPaymentStateError","ofType":null},{"kind":"OBJECT","name":"PaymentFailedError","ofType":null},{"kind":"OBJECT","name":"PaymentDeclinedError","ofType":null},{"kind":"OBJECT","name":"OrderStateTransitionError","ofType":null}]},{"kind":"OBJECT","name":"OrderPaymentStateError","description":"Returned when attempting to add a Payment to an Order that is not in the `ArrangingPayment` state.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentFailedError","description":"Returned when a Payment fails due to an error.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentErrorMessage","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentDeclinedError","description":"Returned when a Payment is declined by the payment provider.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"paymentErrorMessage","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"CreateCustomerInput","description":null,"fields":null,"inputFields":[{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"SetCustomerForOrderResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Order","ofType":null},{"kind":"OBJECT","name":"AlreadyLoggedInError","ofType":null},{"kind":"OBJECT","name":"EmailAddressConflictError","ofType":null}]},{"kind":"OBJECT","name":"AlreadyLoggedInError","description":"Retured when attemting to set the Customer for an Order when already logged in.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"EmailAddressConflictError","description":"Retured when attemting to create a Customer with an email address already registered to an existing User.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"NativeAuthenticationResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CurrentUser","ofType":null},{"kind":"OBJECT","name":"InvalidCredentialsError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"OBJECT","name":"InvalidCredentialsError","description":"Returned if the user authentication credentials are not valid","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","description":"Retured when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"AuthenticationInput","description":null,"fields":null,"inputFields":[{"name":"native","description":null,"type":{"kind":"INPUT_OBJECT","name":"NativeAuthInput","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"NativeAuthInput","description":null,"fields":null,"inputFields":[{"name":"username","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"AuthenticationResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CurrentUser","ofType":null},{"kind":"OBJECT","name":"InvalidCredentialsError","ofType":null}]},{"kind":"OBJECT","name":"Success","description":"Indicates that an operation succeeded, where we do not want to return any more specific information.","fields":[{"name":"success","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"RegisterCustomerInput","description":null,"fields":null,"inputFields":[{"name":"emailAddress","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"password","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"RegisterCustomerAccountResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Success","ofType":null},{"kind":"OBJECT","name":"MissingPasswordError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"OBJECT","name":"MissingPasswordError","description":"Retured when attemting to register or verify a customer account without a password, when one is required.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"RefreshCustomerVerificationResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Success","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"INPUT_OBJECT","name":"UpdateCustomerInput","description":null,"fields":null,"inputFields":[{"name":"title","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"firstName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"lastName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"UpdateAddressInput","description":null,"fields":null,"inputFields":[{"name":"id","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"defaultValue":null},{"name":"fullName","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"company","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine1","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"streetLine2","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"city","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"province","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"postalCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"countryCode","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"phoneNumber","description":null,"type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":null},{"name":"defaultShippingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"defaultBillingAddress","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":null},{"name":"customFields","description":null,"type":{"kind":"SCALAR","name":"JSON","ofType":null},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"VerifyCustomerAccountResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CurrentUser","ofType":null},{"kind":"OBJECT","name":"VerificationTokenInvalidError","ofType":null},{"kind":"OBJECT","name":"VerificationTokenExpiredError","ofType":null},{"kind":"OBJECT","name":"MissingPasswordError","ofType":null},{"kind":"OBJECT","name":"PasswordAlreadySetError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"OBJECT","name":"VerificationTokenInvalidError","description":"Retured if the verification token (used to verify a Customer's email address) is either\ninvalid or does not match any expected tokens.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"VerificationTokenExpiredError","description":"Returned if the verification token (used to verify a Customer's email address) is valid, but has\nexpired according to the `verificationTokenDuration` setting in the AuthOptions.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PasswordAlreadySetError","description":"Retured when attemting to verify a customer account with a password, when a password has already been set.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"UpdateCustomerPasswordResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Success","ofType":null},{"kind":"OBJECT","name":"InvalidCredentialsError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"UNION","name":"RequestUpdateCustomerEmailAddressResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Success","ofType":null},{"kind":"OBJECT","name":"InvalidCredentialsError","ofType":null},{"kind":"OBJECT","name":"EmailAddressConflictError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"UNION","name":"UpdateCustomerEmailAddressResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Success","ofType":null},{"kind":"OBJECT","name":"IdentifierChangeTokenInvalidError","ofType":null},{"kind":"OBJECT","name":"IdentifierChangeTokenExpiredError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"OBJECT","name":"IdentifierChangeTokenInvalidError","description":"Retured if the token used to change a Customer's email address is either\ninvalid or does not match any expected tokens.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IdentifierChangeTokenExpiredError","description":"Retured if the token used to change a Customer's email address is valid, but has\nexpired according to the `verificationTokenDuration` setting in the AuthOptions.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"RequestPasswordResetResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Success","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"UNION","name":"ResetPasswordResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"CurrentUser","ofType":null},{"kind":"OBJECT","name":"PasswordResetTokenInvalidError","ofType":null},{"kind":"OBJECT","name":"PasswordResetTokenExpiredError","ofType":null},{"kind":"OBJECT","name":"NativeAuthStrategyError","ofType":null}]},{"kind":"OBJECT","name":"PasswordResetTokenInvalidError","description":"Retured if the token used to reset a Customer's password is either\ninvalid or does not match any expected tokens.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PasswordResetTokenExpiredError","description":"Retured if the token used to reset a Customer's password is valid, but has\nexpired according to the `verificationTokenDuration` setting in the AuthOptions.","fields":[{"name":"errorCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"ErrorCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"ErrorResult","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Schema","description":"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.","fields":[{"name":"types","description":"A list of all types supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"queryType","description":"The type that query operations will be rooted at.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"mutationType","description":"If this server supports mutation, the type that mutation operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"subscriptionType","description":"If this server support subscription, the type that subscription operations will be rooted at.","args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"directives","description":"A list of all directives supported by this server.","args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Directive","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Type","description":"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.","fields":[{"name":"kind","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__TypeKind","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"name","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"fields","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Field","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"interfaces","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"possibleTypes","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"enumValues","description":null,"args":[{"name":"includeDeprecated","description":null,"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"defaultValue":"false"}],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__EnumValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"inputFields","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"ofType","description":null,"args":[],"type":{"kind":"OBJECT","name":"__Type","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__TypeKind","description":"An enum describing what kind of type a given `__Type` is.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"SCALAR","description":"Indicates this type is a scalar.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Indicates this type is an object. `fields` and `interfaces` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Indicates this type is a union. `possibleTypes` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Indicates this type is an enum. `enumValues` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Indicates this type is an input object. `inputFields` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"LIST","description":"Indicates this type is a list. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null},{"name":"NON_NULL","description":"Indicates this type is a non-null. `ofType` is a valid field.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"__Field","description":"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__InputValue","description":"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__Type","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"defaultValue","description":"A GraphQL-formatted string representing the default value for this input value.","args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__EnumValue","description":"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"isDeprecated","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"deprecationReason","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"__Directive","description":"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"locations","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"__DirectiveLocation","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"__InputValue","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"__DirectiveLocation","description":"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.","fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"QUERY","description":"Location adjacent to a query operation.","isDeprecated":false,"deprecationReason":null},{"name":"MUTATION","description":"Location adjacent to a mutation operation.","isDeprecated":false,"deprecationReason":null},{"name":"SUBSCRIPTION","description":"Location adjacent to a subscription operation.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD","description":"Location adjacent to a field.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_DEFINITION","description":"Location adjacent to a fragment definition.","isDeprecated":false,"deprecationReason":null},{"name":"FRAGMENT_SPREAD","description":"Location adjacent to a fragment spread.","isDeprecated":false,"deprecationReason":null},{"name":"INLINE_FRAGMENT","description":"Location adjacent to an inline fragment.","isDeprecated":false,"deprecationReason":null},{"name":"VARIABLE_DEFINITION","description":"Location adjacent to a variable definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCHEMA","description":"Location adjacent to a schema definition.","isDeprecated":false,"deprecationReason":null},{"name":"SCALAR","description":"Location adjacent to a scalar definition.","isDeprecated":false,"deprecationReason":null},{"name":"OBJECT","description":"Location adjacent to an object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"FIELD_DEFINITION","description":"Location adjacent to a field definition.","isDeprecated":false,"deprecationReason":null},{"name":"ARGUMENT_DEFINITION","description":"Location adjacent to an argument definition.","isDeprecated":false,"deprecationReason":null},{"name":"INTERFACE","description":"Location adjacent to an interface definition.","isDeprecated":false,"deprecationReason":null},{"name":"UNION","description":"Location adjacent to a union definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM","description":"Location adjacent to an enum definition.","isDeprecated":false,"deprecationReason":null},{"name":"ENUM_VALUE","description":"Location adjacent to an enum value definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_OBJECT","description":"Location adjacent to an input object type definition.","isDeprecated":false,"deprecationReason":null},{"name":"INPUT_FIELD_DEFINITION","description":"Location adjacent to an input object field definition.","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"AdministratorList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Administrator","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"AssetList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Asset","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"CustomField","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"BooleanCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"StringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","ofType":null}]},{"kind":"OBJECT","name":"LocalizedString","description":null,"fields":[{"name":"languageCode","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Cancellation","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"INTERFACE","name":"StockMovement","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"StockAdjustment","ofType":null}]},{"kind":"ENUM","name":"StockMovementType","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"ADJUSTMENT","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"SALE","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"CANCELLATION","description":null,"isDeprecated":false,"deprecationReason":null},{"name":"RETURN","description":null,"isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"ConfigArgDefinition","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"ui","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConfigArgInput","description":null,"fields":null,"inputFields":[{"name":"name","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"value","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ConfigurableOperationDefinition","description":null,"fields":[{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"args","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArgDefinition","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"INPUT_OBJECT","name":"ConfigurableOperationInput","description":null,"fields":null,"inputFields":[{"name":"code","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"defaultValue":null},{"name":"arguments","description":null,"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"INPUT_OBJECT","name":"ConfigArgInput","ofType":null}}}},"defaultValue":null}],"interfaces":null,"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CountryList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Country","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"CustomFieldConfig","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"BooleanCustomFieldConfig","ofType":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","ofType":null}]},{"kind":"OBJECT","name":"StringCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"length","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"options","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"StringFieldOption","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StringFieldOption","description":null,"fields":[{"name":"value","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"LocaleStringCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"length","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"pattern","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"IntCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"FloatCustomFieldConfig","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Float","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DateTimeCustomFieldConfig","description":"Expects the same validation formats as the `` HTML element.\nSee https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes","fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"list","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"label","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"description","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"LocalizedString","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"readonly","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"internal","description":null,"args":[],"type":{"kind":"SCALAR","name":"Boolean","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"min","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"max","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null},{"name":"step","description":null,"args":[],"type":{"kind":"SCALAR","name":"Int","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"CustomField","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"CustomFields","description":null,"fields":[{"name":"Address","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Collection","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Customer","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Facet","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"FacetValue","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"GlobalSettings","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Order","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"OrderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"Product","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductOption","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductOptionGroup","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ProductVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"User","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"ShippingMethod","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"CustomFieldConfig","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"DeletionResponse","description":null,"fields":[{"name":"result","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"DeletionResult","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"message","description":null,"args":[],"type":{"kind":"SCALAR","name":"String","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"ENUM","name":"DeletionResult","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":[{"name":"DELETED","description":"The entity was successfully deleted","isDeprecated":false,"deprecationReason":null},{"name":"NOT_DELETED","description":"Deletion did not take place, reason given in message","isDeprecated":false,"deprecationReason":null}],"possibleTypes":null},{"kind":"OBJECT","name":"FacetList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Facet","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"GlobalSettings","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"availableLanguages","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"LanguageCode","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"trackInventory","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"serverConfig","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ServerConfig","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"customFields","description":null,"args":[],"type":{"kind":"SCALAR","name":"JSON","ofType":null},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ServerConfig","description":null,"fields":[{"name":"orderProcess","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderProcessState","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"permittedAssetTypes","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"customFieldConfig","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"CustomFields","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"OrderProcessState","description":null,"fields":[{"name":"name","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"to","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ImportInfo","description":null,"fields":[{"name":"errors","description":null,"args":[],"type":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}}},"isDeprecated":false,"deprecationReason":null},{"name":"processed","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"imported","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PaymentMethod","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"code","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"String","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"enabled","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"configArgs","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigArg","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"definition","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ConfigurableOperationDefinition","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"PromotionList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Promotion","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Return","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderItem","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderItem","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"RoleList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"Role","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"Sale","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"orderLine","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"OrderLine","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"SearchReindexResponse","description":null,"fields":[{"name":"success","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"ShippingMethodList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ShippingMethod","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"StockAdjustment","description":null,"fields":[{"name":"id","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"ID","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"createdAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"updatedAt","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"DateTime","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"productVariant","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"ProductVariant","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"type","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"ENUM","name":"StockMovementType","ofType":null}},"isDeprecated":false,"deprecationReason":null},{"name":"quantity","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"Node","ofType":null},{"kind":"INTERFACE","name":"StockMovement","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"UNION","name":"StockMovementItem","description":null,"fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":[{"kind":"OBJECT","name":"StockAdjustment","ofType":null},{"kind":"OBJECT","name":"Sale","ofType":null},{"kind":"OBJECT","name":"Cancellation","ofType":null},{"kind":"OBJECT","name":"Return","ofType":null}]},{"kind":"OBJECT","name":"StockMovementList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"UNION","name":"StockMovementItem","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[],"enumValues":null,"possibleTypes":null},{"kind":"OBJECT","name":"TaxRateList","description":null,"fields":[{"name":"items","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"LIST","name":null,"ofType":{"kind":"NON_NULL","name":null,"ofType":{"kind":"OBJECT","name":"TaxRate","ofType":null}}}},"isDeprecated":false,"deprecationReason":null},{"name":"totalItems","description":null,"args":[],"type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Int","ofType":null}},"isDeprecated":false,"deprecationReason":null}],"inputFields":null,"interfaces":[{"kind":"INTERFACE","name":"PaginatedList","ofType":null}],"enumValues":null,"possibleTypes":null},{"kind":"SCALAR","name":"Upload","description":"The `Upload` scalar type represents a file upload.","fields":null,"inputFields":null,"interfaces":null,"enumValues":null,"possibleTypes":null}],"directives":[{"name":"skip","description":"Directs the executor to skip this field or fragment when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Skipped when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"include","description":"Directs the executor to include this field or fragment only when the `if` argument is true.","locations":["FIELD","FRAGMENT_SPREAD","INLINE_FRAGMENT"],"args":[{"name":"if","description":"Included when true.","type":{"kind":"NON_NULL","name":null,"ofType":{"kind":"SCALAR","name":"Boolean","ofType":null}},"defaultValue":null}]},{"name":"deprecated","description":"Marks an element of a GraphQL schema as no longer supported.","locations":["FIELD_DEFINITION","ENUM_VALUE"],"args":[{"name":"reason","description":"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/).","type":{"kind":"SCALAR","name":"String","ofType":null},"defaultValue":"\"No longer supported\""}]}]}}} diff --git a/scripts/codegen/generate-graphql-types.ts b/scripts/codegen/generate-graphql-types.ts index dba75f389d..c709c89413 100644 --- a/scripts/codegen/generate-graphql-types.ts +++ b/scripts/codegen/generate-graphql-types.ts @@ -50,23 +50,43 @@ Promise.all([ }, strict: true, }; - const commonPlugins = [{ add: '// tslint:disable' }, 'typescript']; + const e2eConfig = { + ...config, + skipTypename: true, + }; + const disableTsLintPlugin = { add: { content: '// tslint:disable' } }; + const graphQlErrorsPlugin = path.join(__dirname, './plugins/graphql-errors-plugin.js'); + const commonPlugins = [disableTsLintPlugin, 'typescript']; const clientPlugins = [...commonPlugins, 'typescript-operations', 'typescript-compatibility']; return generate({ overwrite: true, generates: { + [path.join( + __dirname, + '../../packages/core/src/common/error/generated-graphql-admin-errors.ts', + )]: { + schema: [ADMIN_SCHEMA_OUTPUT_FILE], + plugins: [disableTsLintPlugin, graphQlErrorsPlugin], + }, + [path.join( + __dirname, + '../../packages/core/src/common/error/generated-graphql-shop-errors.ts', + )]: { + schema: [SHOP_SCHEMA_OUTPUT_FILE], + plugins: [disableTsLintPlugin, graphQlErrorsPlugin], + }, [path.join(__dirname, '../../packages/core/e2e/graphql/generated-e2e-admin-types.ts')]: { schema: [ADMIN_SCHEMA_OUTPUT_FILE], documents: E2E_ADMIN_QUERY_FILES, plugins: clientPlugins, - config, + config: e2eConfig, }, [path.join(__dirname, '../../packages/core/e2e/graphql/generated-e2e-shop-types.ts')]: { schema: [SHOP_SCHEMA_OUTPUT_FILE], documents: E2E_SHOP_QUERY_FILES, plugins: clientPlugins, - config, + config: e2eConfig, }, [path.join( __dirname, @@ -75,7 +95,7 @@ Promise.all([ schema: [ADMIN_SCHEMA_OUTPUT_FILE], documents: E2E_ELASTICSEARCH_PLUGIN_QUERY_FILES, plugins: clientPlugins, - config, + config: e2eConfig, }, [path.join( __dirname, @@ -84,7 +104,7 @@ Promise.all([ schema: [ADMIN_SCHEMA_OUTPUT_FILE], documents: E2E_ASSET_SERVER_PLUGIN_QUERY_FILES, plugins: clientPlugins, - config, + config: e2eConfig, }, [path.join( __dirname, @@ -93,7 +113,10 @@ Promise.all([ schema: [ADMIN_SCHEMA_OUTPUT_FILE, path.join(__dirname, 'client-schema.ts')], documents: CLIENT_QUERY_FILES, plugins: clientPlugins, - config, + config: { + ...config, + skipTypeNameForRoot: true, + }, }, [path.join( __dirname, @@ -101,7 +124,7 @@ Promise.all([ )]: { schema: [ADMIN_SCHEMA_OUTPUT_FILE, path.join(__dirname, 'client-schema.ts')], documents: CLIENT_QUERY_FILES, - plugins: [{ add: '// tslint:disable' }, 'fragment-matcher'], + plugins: [disableTsLintPlugin, 'fragment-matcher'], config, }, [path.join(__dirname, '../../packages/common/src/generated-types.ts')]: { @@ -112,6 +135,7 @@ Promise.all([ scalars: { ID: 'string | number', }, + maybeValue: 'T', }, }, [path.join(__dirname, '../../packages/common/src/generated-shop-types.ts')]: { @@ -122,6 +146,7 @@ Promise.all([ scalars: { ID: 'string | number', }, + maybeValue: 'T', }, }, }, diff --git a/scripts/codegen/plugins/.gitignore b/scripts/codegen/plugins/.gitignore new file mode 100644 index 0000000000..4e57eef884 --- /dev/null +++ b/scripts/codegen/plugins/.gitignore @@ -0,0 +1,2 @@ +*.js +*.js.map diff --git a/scripts/codegen/plugins/graphql-errors-plugin.ts b/scripts/codegen/plugins/graphql-errors-plugin.ts new file mode 100644 index 0000000000..e155da4a30 --- /dev/null +++ b/scripts/codegen/plugins/graphql-errors-plugin.ts @@ -0,0 +1,228 @@ +import { PluginFunction } from '@graphql-codegen/plugin-helpers'; +import { buildScalars } from '@graphql-codegen/visitor-plugin-common'; +import { + FieldDefinitionNode, + GraphQLFieldMap, + GraphQLNamedType, + GraphQLObjectType, + GraphQLSchema, + GraphQLType, + GraphQLUnionType, + InterfaceTypeDefinitionNode, + isNamedType, + isObjectType, + isTypeDefinitionNode, + isUnionType, + NonNullTypeNode, + ObjectTypeDefinitionNode, + parse, + printSchema, + UnionTypeDefinitionNode, + visit, + Visitor, + ListTypeNode, +} from 'graphql'; + +// This plugin generates classes for all GraphQL types which implement the `ErrorResult` interface. +// This means that when returning an error result from a GraphQL operation, you can use one of +// the generated classes rather than constructing the object by hand. +// It also generates type resolvers to be used by Apollo Server to discriminate between +// members of returned union types. + +export const ERROR_INTERFACE_NAME = 'ErrorResult'; +const empty = () => ''; + +const errorsVisitor: Visitor = { + NonNullType(node: NonNullTypeNode): string | ListTypeNode { + return node.type.kind === 'NamedType' + ? node.type.name.value + : node.type.kind === 'ListType' + ? node.type + : ''; + }, + FieldDefinition(node: FieldDefinitionNode): string { + const scalarType = node.type.kind === 'ListType' ? node.type.type : node.type; + const listPart = node.type.kind === 'ListType' ? `[]` : ``; + return ` ${node.name.value}: Scalars['${scalarType}']${listPart}`; + }, + ScalarTypeDefinition: empty, + InputObjectTypeDefinition: empty, + EnumTypeDefinition: empty, + UnionTypeDefinition: empty, + InterfaceTypeDefinition(node: InterfaceTypeDefinitionNode) { + if (node.name.value !== ERROR_INTERFACE_NAME) { + return ''; + } + return [ + `export class ${ERROR_INTERFACE_NAME} {`, + ` readonly __typename: string;`, + ` readonly errorCode: string;`, + ...node.fields.filter(f => !(f as any).includes('errorCode:')).map(f => `${f};`), + `}`, + ].join('\n'); + }, + + ObjectTypeDefinition( + node: ObjectTypeDefinitionNode, + key: number | string | undefined, + parent: any, + ): string { + if (!inheritsFromErrorResult(node)) { + return ''; + } + const originalNode = parent[key] as ObjectTypeDefinitionNode; + + return [ + `export class ${node.name.value} extends ${ERROR_INTERFACE_NAME} {`, + ` readonly __typename = '${node.name.value}';`, + // We cast this to "any" otherwise we need to specify it as type "ErrorCode", + // which means shared ErrorResult classes e.g. OrderStateTransitionError + // will not be compatible between the admin and shop variations. + ` readonly errorCode = '${camelToUpperSnakeCase(node.name.value)}' as any;`, + ` readonly message = '${camelToUpperSnakeCase(node.name.value)}';`, + ` constructor(`, + ...node.fields + .filter(f => !(f as any).includes('errorCode:') && !(f as any).includes('message:')) + .map(f => ` public ${f},`), + ` ) {`, + ` super();`, + ` }`, + `}`, + ].join('\n'); + }, +}; + +export const plugin: PluginFunction = (schema, documents, config, info) => { + const printedSchema = printSchema(schema); // Returns a string representation of the schema + const astNode = parse(printedSchema); // Transforms the string into ASTNode + const result = visit(astNode, { leave: errorsVisitor }); + const defs = result.definitions + .filter(d => !!d) + // Ensure the ErrorResult base class is first + .sort((a, b) => (a.includes('class ErrorResult') ? -1 : 1)); + return { + content: [ + `/** This file was generated by the graphql-errors-plugin, which is part of the "codegen" npm script. */`, + generateScalars(schema, config), + ...defs, + defs.length ? generateIsErrorFunction(schema) : '', + generateTypeResolvers(schema), + ].join('\n\n'), + }; +}; + +function generateScalars(schema: GraphQLSchema, config: any): string { + const scalarMap = buildScalars(schema, config.scalars); + const allScalars = Object.keys(scalarMap) + .map(scalarName => { + const scalarValue = scalarMap[scalarName].type; + const scalarType = schema.getType(scalarName); + + return ` ${scalarName}: ${scalarValue};`; + }) + .join('\n'); + return `export type Scalars = {\n${allScalars}\n};`; +} + +function generateErrorClassSource(node: ObjectTypeDefinitionNode) { + let source = `export class ${node.name.value} {`; + for (const field of node.fields) { + source += ` ${1}`; + } +} + +function generateIsErrorFunction(schema: GraphQLSchema) { + const errorNodes = Object.values(schema.getTypeMap()) + .map(type => type.astNode) + .filter(isObjectTypeDefinition) + .filter(node => inheritsFromErrorResult(node)); + return ` +const errorTypeNames = new Set([${errorNodes.map(n => `'${n.name.value}'`).join(', ')}]); +function isGraphQLError(input: any): input is import('@vendure/common/lib/generated-types').${ERROR_INTERFACE_NAME} { + return input instanceof ${ERROR_INTERFACE_NAME} || errorTypeNames.has(input.__typename); +}`; +} + +function generateTypeResolvers(schema: GraphQLSchema) { + const mutations = getOperationsThatReturnErrorUnions(schema, schema.getMutationType().getFields()); + const queries = getOperationsThatReturnErrorUnions(schema, schema.getQueryType().getFields()); + const operations = [...mutations, ...queries]; + const varName = isAdminApi(schema) + ? `adminErrorOperationTypeResolvers` + : `shopErrorOperationTypeResolvers`; + const result = [`export const ${varName} = {`]; + const typesHandled = new Set(); + for (const operation of operations) { + const returnType = unwrapType(operation.type) as GraphQLUnionType; + if (!typesHandled.has(returnType.name)) { + typesHandled.add(returnType.name); + const nonErrorResult = returnType.getTypes().find(t => !inheritsFromErrorResult(t)); + result.push( + ` ${returnType.name}: {`, + ` __resolveType(value: any) {`, + // tslint:disable-next-line:no-non-null-assertion + ` return isGraphQLError(value) ? (value as any).__typename : '${nonErrorResult!.name}';`, + ` },`, + ` },`, + ); + } + } + result.push(`};`); + return result.join('\n'); +} + +function getOperationsThatReturnErrorUnions(schema: GraphQLSchema, fields: GraphQLFieldMap) { + return Object.values(fields).filter(operation => { + const innerType = unwrapType(operation.type); + if (innerType.astNode?.kind === 'UnionTypeDefinition') { + return isUnionOfResultAndErrors(schema, innerType.astNode); + } + return false; + }); +} + +function isUnionOfResultAndErrors(schema: GraphQLSchema, node: UnionTypeDefinitionNode) { + const errorResultTypes = node.types.filter(namedType => { + const type = schema.getType(namedType.name.value); + if (isObjectType(type)) { + if (inheritsFromErrorResult(type)) { + return true; + } + } + return false; + }); + return (errorResultTypes.length = node.types.length - 1); +} + +function isObjectTypeDefinition(node: any): node is ObjectTypeDefinitionNode { + return node && isTypeDefinitionNode(node) && node.kind === 'ObjectTypeDefinition'; +} + +function inheritsFromErrorResult(node: ObjectTypeDefinitionNode | GraphQLObjectType): boolean { + const interfaceNames = isObjectType(node) + ? node.getInterfaces().map(i => i.name) + : node.interfaces.map(i => i.name.value); + return interfaceNames.includes(ERROR_INTERFACE_NAME); +} + +/** + * Unwraps the inner type from a higher-order type, e.g. [Address!]! => Address + */ +function unwrapType(type: GraphQLType): GraphQLNamedType { + if (isNamedType(type)) { + return type; + } + let innerType = type; + while (!isNamedType(innerType)) { + innerType = innerType.ofType; + } + return innerType; +} + +function isAdminApi(schema: GraphQLSchema): boolean { + return !!schema.getType('UpdateGlobalSettingsInput'); +} + +function camelToUpperSnakeCase(input: string): string { + return input.replace(/([a-z])([A-Z])/g, '$1_$2').toUpperCase(); +} diff --git a/scripts/codegen/plugins/tsconfig.json b/scripts/codegen/plugins/tsconfig.json new file mode 100644 index 0000000000..4f7127d92d --- /dev/null +++ b/scripts/codegen/plugins/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "ES2017", + "sourceMap": true, + "skipLibCheck": true, + "esModuleInterop": true + }, + "files": [ + "graphql-errors-plugin.ts" + ] +} diff --git a/yarn.lock b/yarn.lock index d9ff0d03d0..bbb0f8a7e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -404,16 +404,6 @@ resolved "https://registry.npmjs.org/@angular/router/-/router-9.1.7.tgz#ce9af75cec470f69122f2217bd5bdcfac7b74201" integrity sha512-ycrkhkCbfOMCe9PngFjnyk8nH5jt0Kyb2NPtjmaGOtSCuZBZ0kOU0rQGmQnj3d2PiT0Yir59S8eEAf3Fh0iDuw== -"@apollo/federation@0.13.2": - version "0.13.2" - resolved "https://registry.npmjs.org/@apollo/federation/-/federation-0.13.2.tgz#a9f842abd1619fe5cd732c56cfbc45dab0ae784a" - integrity sha512-62uXIIHxHXG71gSwROFt8yxtYeUZ2BaIgAkxZ1H82GB4+s1gt4xwizcmmCWqQhK3KBy4LbPOfI1YyHW4Wv5ZpQ== - dependencies: - apollo-graphql "^0.4.0" - apollo-server-env "^2.4.3" - core-js "^3.4.0" - lodash.xorby "^4.7.0" - "@apollo/federation@^0.17.0": version "0.17.0" resolved "https://registry.npmjs.org/@apollo/federation/-/federation-0.17.0.tgz#549c3f8c8d5a33db28a4c628d8a9fb5430758c62" @@ -463,41 +453,13 @@ "@types/node" "^10.1.0" long "^4.0.0" -"@apollographql/apollo-tools@^0.4.3", "@apollographql/apollo-tools@^0.4.4": +"@apollographql/apollo-tools@^0.4.3": version "0.4.4" resolved "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.4.tgz#e2564c35b22536de1e4a633b2fdea219583d082c" integrity sha512-kldvB9c+vzimel4yEktlkB08gaJ5DQn9ZuIfFf1kpAw+++5hFwYRWTyKgOhF9LbOWNWGropesYC7WwLja2erhQ== dependencies: apollo-env "^0.6.2" -"@apollographql/graphql-language-service-interface@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@apollographql/graphql-language-service-interface/-/graphql-language-service-interface-2.0.2.tgz#0e793636eca3d2ee0f818602d52fb5dab9edc0e3" - integrity sha512-28wePK0hlIVjgmvMXMAUq8qRSjz9O+6lqFp4PzOTHtfJfSsjVe9EfjF98zTpHsTgT3HcOxmbqDZZy8jlXtOqEA== - dependencies: - "@apollographql/graphql-language-service-parser" "^2.0.0" - "@apollographql/graphql-language-service-types" "^2.0.0" - "@apollographql/graphql-language-service-utils" "^2.0.2" - -"@apollographql/graphql-language-service-parser@^2.0.0": - version "2.0.2" - resolved "https://registry.npmjs.org/@apollographql/graphql-language-service-parser/-/graphql-language-service-parser-2.0.2.tgz#50cb7a6c3e331eae09f6de13101da688dab261f1" - integrity sha512-rpTPrEJu1PMaRQxz5P8BZWsixNNhYloS0H0dwTxNBuE3qctbARvR7o8UCKLsmKgTbo+cz3T3a6IAsWlkHgMWGg== - dependencies: - "@apollographql/graphql-language-service-types" "^2.0.0" - -"@apollographql/graphql-language-service-types@^2.0.0": - version "2.0.2" - resolved "https://registry.npmjs.org/@apollographql/graphql-language-service-types/-/graphql-language-service-types-2.0.2.tgz#1034e47eb7479129959c1bed2ee12d874aab5cab" - integrity sha512-vE+Dz8pG+Xa1Z2nMl82LoO66lQ6JqBUjaXqLDvS3eMjvA3N4hf+YUDOWfPdNZ0zjhHhHXzUIIZCkax6bXfFbzQ== - -"@apollographql/graphql-language-service-utils@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@apollographql/graphql-language-service-utils/-/graphql-language-service-utils-2.0.2.tgz#aa552c31de16172433bbdbc03914585caaca1d03" - integrity sha512-fDj5rWlTi/czvUS5t7V7I45Ai6bOO3Z7JARYj21Y2xxfbRGtJi6h8FvLX0N/EbzQgo/fiZc/HAhtfwn+OCjD7A== - dependencies: - "@apollographql/graphql-language-service-types" "^2.0.0" - "@apollographql/graphql-playground-html@1.6.24": version "1.6.24" resolved "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.24.tgz#3ce939cb127fb8aaa3ffc1e90dff9b8af9f2e3dc" @@ -515,16 +477,12 @@ resolved "https://registry.npmjs.org/@ardatan/aggregate-error/-/aggregate-error-0.0.1.tgz#1403ac5de10d8ca689fc1f65844c27179ae1d44f" integrity sha512-UQ9BequOTIavs0pTHLMwQwKQF8tTV1oezY/H2O9chA+JNPFZSua55xpU5dPSjAU9/jLJ1VwU+HJuTVN8u7S6Fg== -"@ardatan/graphql-tools@4.1.0": - version "4.1.0" - resolved "https://registry.npmjs.org/@ardatan/graphql-tools/-/graphql-tools-4.1.0.tgz#183508ef4e3d4966f763cb1634a81be1c1255f8d" - integrity sha512-0b+KH5RZN9vCMpEjxrwFwZ7v3K6QDjs1EH+R6eRrgKMR2X274JWqYraHKLWE1uJ8iwrkRaOYfCV12jLVuvWS+A== +"@ardatan/aggregate-error@0.0.6": + version "0.0.6" + resolved "https://registry.npmjs.org/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz#fe6924771ea40fc98dc7a7045c2e872dc8527609" + integrity sha512-vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ== dependencies: - apollo-link "^1.2.3" - apollo-utilities "^1.0.1" - deprecated-decorator "^0.1.6" - iterall "^1.1.3" - uuid "^3.1.0" + tslib "~2.0.1" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": version "7.8.3" @@ -540,6 +498,13 @@ dependencies: "@babel/highlight" "^7.10.1" +"@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/compat-data@^7.10.1", "@babel/compat-data@^7.9.0": version "7.10.1" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz#b1085ffe72cd17bf2c0ee790fc09f9626011b2db" @@ -621,7 +586,16 @@ lodash "^4.17.13" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.5.0", "@babel/generator@^7.7.7", "@babel/generator@^7.8.6", "@babel/generator@^7.9.0": +"@babel/generator@^7.11.5": + version "7.11.6" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" + integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== + dependencies: + "@babel/types" "^7.11.5" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.4.0", "@babel/generator@^7.5.0", "@babel/generator@^7.7.7", "@babel/generator@^7.9.0": version "7.9.4" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.9.4.tgz#12441e90c3b3c4159cdecf312075bf1a8ce2dbce" integrity sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA== @@ -762,6 +736,15 @@ "@babel/template" "^7.10.1" "@babel/types" "^7.10.1" +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/helper-function-name@^7.8.3": version "7.8.3" resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" @@ -778,6 +761,13 @@ dependencies: "@babel/types" "^7.10.1" +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + "@babel/helper-get-function-arity@^7.8.3": version "7.8.3" resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" @@ -956,6 +946,13 @@ dependencies: "@babel/types" "^7.10.1" +"@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + "@babel/helper-split-export-declaration@^7.8.3": version "7.8.3" resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" @@ -968,6 +965,11 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + "@babel/helper-validator-identifier@^7.9.0": version "7.9.0" resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" @@ -1011,6 +1013,15 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/highlight@^7.8.3": version "7.9.0" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" @@ -1020,12 +1031,12 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.8.8": - version "7.8.8" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz#4c3b7ce36db37e0629be1f0d50a571d2f86f6cd4" - integrity sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA== +"@babel/parser@7.11.5", "@babel/parser@^7.10.4", "@babel/parser@^7.11.5": + version "7.11.5" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" + integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.7.5", "@babel/parser@^7.7.7", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.5", "@babel/parser@^7.7.7", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0": version "7.9.4" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== @@ -1929,22 +1940,31 @@ "@babel/parser" "^7.10.1" "@babel/types" "^7.10.1" -"@babel/traverse@7.8.6": - version "7.8.6" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz#acfe0c64e1cd991b3e32eae813a6eb564954b5ff" - integrity sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.8.6" - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@7.11.5": + version "7.11.5" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" + integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.11.5" + "@babel/types" "^7.11.5" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" + lodash "^4.17.19" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": version "7.9.0" resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz#d3882c2830e513f4fe4cec9fe76ea1cc78747892" integrity sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w== @@ -1974,13 +1994,13 @@ globals "^11.1.0" lodash "^4.17.13" -"@babel/types@7.8.7": - version "7.8.7" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz#1fc9729e1acbb2337d5b6977a63979b4819f5d1d" - integrity sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw== +"@babel/types@7.11.5", "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.11.5": + version "7.11.5" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" + integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== dependencies: - esutils "^2.0.2" - lodash "^4.17.13" + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" to-fast-properties "^2.0.0" "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0": @@ -2226,16 +2246,6 @@ pump "^3.0.0" secure-json-parse "^2.1.0" -"@endemolshinegroup/cosmiconfig-typescript-loader@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.1.tgz#484ee6f4e9209ffde5d3edbdacf03e0bc5ee0c67" - integrity sha512-bhUR9035PbgL6A/nfLayjoqKo4W7hCtzxqVxq2cgDB+Ndpsa3dGIr71/ymgY3vCTCQaufkFxAcEeoECyJ498CA== - dependencies: - lodash.get "^4" - make-error "^1" - ts-node "^8" - tslib "^1" - "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -2310,339 +2320,250 @@ unique-filename "^1.1.1" which "^1.3.1" -"@graphql-codegen/add@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/add/-/add-1.13.1.tgz#a45cf271ae9d00f44297164168f6091adbcbdef7" - integrity sha512-6vXfaRPlUKiwXId7YIFtDmKUgG5S8V/NTpgzQq/31wKXDo6ZIEjIW22s3nbDg5netot7Rlzu1LQ2MWUNdo5PhQ== +"@graphql-codegen/add@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@graphql-codegen/add/-/add-2.0.1.tgz#b2cf2ef0e2c83f49dfa1f6a52fee94dfb47e296f" + integrity sha512-P8+PTHMrNdR/FJn+AQmLtba76H57E5R82Qw8QsntYUYAPUPXOIy4bn3v0rzcrkOnFHanTFjckNcLCF7khEHwJQ== dependencies: - "@graphql-codegen/plugin-helpers" "1.13.1" - tslib "1.11.1" - -"@graphql-codegen/cli@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-1.13.1.tgz#1c66f5a5272a500f77cc9b966e8b04356228abb1" - integrity sha512-ZZAjWAC72qIDNmeFxPodh1hl/XGZka/VDfHggMntjaXKEXHOtHzoTQQPUzuAo74rmBiHCGvfiCEL+Q5CmXOOGw== - dependencies: - "@graphql-codegen/core" "1.13.1" - "@graphql-codegen/plugin-helpers" "1.13.1" - "@graphql-toolkit/apollo-engine-loader" "0.9.9" - "@graphql-toolkit/code-file-loader" "0.9.9" - "@graphql-toolkit/common" "0.9.9" - "@graphql-toolkit/core" "0.9.9" - "@graphql-toolkit/git-loader" "0.9.9" - "@graphql-toolkit/github-loader" "0.9.9" - "@graphql-toolkit/graphql-file-loader" "0.9.9" - "@graphql-toolkit/json-file-loader" "0.9.9" - "@graphql-toolkit/prisma-loader" "0.9.9" - "@graphql-toolkit/url-loader" "0.9.9" - "@types/debounce" "1.2.0" - "@types/is-glob" "4.0.1" - "@types/mkdirp" "1.0.0" - "@types/valid-url" "1.0.2" - camel-case "4.1.1" - chalk "3.0.0" - chokidar "3.3.1" - commander "5.0.0" - common-tags "1.8.0" - constant-case "3.0.3" - cosmiconfig "6.0.0" - debounce "1.2.0" - dependency-graph "0.9.0" - detect-indent "6.0.0" - glob "7.1.6" - graphql-config "3.0.0-alpha.19" - graphql-import "0.7.1" - graphql-tag-pluck "0.8.7" - graphql-tools "4.0.7" - indent-string "4.0.0" - inquirer "7.1.0" - is-glob "4.0.1" - json-to-pretty-yaml "1.2.2" - listr "0.14.3" - listr-update-renderer "0.5.0" - log-symbols "3.0.0" - log-update "4.0.0" - lower-case "2.0.1" - minimatch "3.0.4" - mkdirp "1.0.3" - pascal-case "3.1.1" - prettier "1.19.1" - request "2.88.2" - ts-log "2.1.4" - tslib "1.11.1" - upper-case "2.0.1" - valid-url "1.0.9" + "@graphql-codegen/plugin-helpers" "^1.17.8" + tslib "~2.0.0" -"@graphql-codegen/core@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/core/-/core-1.13.1.tgz#857e4ead3e06c466de3dd3968e62133b78c7917d" - integrity sha512-suAJPWlC0zMxExTLVUvwgn72Lp0qdrjk8Mxc+GK/JRRxkyIPLoWGjlZyojbQwC8PbrXFS+Th2k4nx8naa/tpwg== - dependencies: - "@graphql-codegen/plugin-helpers" "1.13.1" - "@graphql-toolkit/common" "0.9.9" - "@graphql-toolkit/schema-merging" "0.9.9" - tslib "1.11.1" +"@graphql-codegen/cli@1.17.8": + version "1.17.8" + resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-1.17.8.tgz#06a68894f01796046bb7fa092814948e592e8a75" + integrity sha512-OIOqzdL9kcgO67fBazwpr3Pb+T2l2erYGsO37qJmCrvyqeNO9we+oYrGgVqswkRnfqaqvVWRJ2OmwzvFrXNy/A== + dependencies: + "@graphql-codegen/core" "1.17.8" + "@graphql-codegen/plugin-helpers" "^1.17.8" + "@graphql-tools/apollo-engine-loader" "^6.0.18" + "@graphql-tools/code-file-loader" "^6.0.18" + "@graphql-tools/git-loader" "^6.0.18" + "@graphql-tools/github-loader" "^6.0.18" + "@graphql-tools/graphql-file-loader" "^6.0.18" + "@graphql-tools/json-file-loader" "^6.0.18" + "@graphql-tools/load" "^6.0.18" + "@graphql-tools/prisma-loader" "^6.0.18" + "@graphql-tools/url-loader" "^6.0.18" + "@graphql-tools/utils" "^6.0.18" + ansi-escapes "^4.3.1" + camel-case "^4.1.1" + chalk "^4.1.0" + chokidar "^3.4.2" + common-tags "^1.8.0" + constant-case "^3.0.3" + cosmiconfig "^7.0.0" + debounce "^1.2.0" + dependency-graph "^0.9.0" + detect-indent "^6.0.0" + glob "^7.1.6" + graphql-config "^3.0.2" + indent-string "^4.0.0" + inquirer "^7.3.3" + is-glob "^4.0.1" + json-to-pretty-yaml "^1.2.2" + listr "^0.14.3" + listr-update-renderer "^0.5.0" + log-symbols "^4.0.0" + lower-case "^2.0.1" + minimatch "^3.0.4" + mkdirp "^1.0.4" + pascal-case "^3.1.1" + request "^2.88.2" + string-env-interpolation "^1.0.1" + ts-log "^2.1.4" + tslib "~2.0.0" + upper-case "^2.0.1" + valid-url "^1.0.9" + wrap-ansi "^7.0.0" + yargs "^15.4.1" + +"@graphql-codegen/core@1.17.8": + version "1.17.8" + resolved "https://registry.npmjs.org/@graphql-codegen/core/-/core-1.17.8.tgz#d70281bcf9f4b7b560ab5b16f7fc7a2853c49a8a" + integrity sha512-HUntoeLhLZf6wroD1HYLsniz51N3zW7cjgwojGKgbUsI6Oa8pGsh+kKaN9xtvlb/hIpsRJ00q9LbPVIM/kXQtQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^1.17.8" + "@graphql-tools/merge" "^6.0.18" + "@graphql-tools/utils" "^6.0.18" + tslib "~2.0.0" -"@graphql-codegen/fragment-matcher@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/fragment-matcher/-/fragment-matcher-1.13.1.tgz#e0c25e2530a5d2e2283e3dc6755499c0b36337af" - integrity sha512-xpUUaN7ApAQeL6UCTa0yqERZRoEFLkm2Qu2SNp8PXjGmRFdBKmMTG7jwAwQ2uZa39Dmlmw/KCNSxHedkHXNiuA== +"@graphql-codegen/fragment-matcher@1.17.8": + version "1.17.8" + resolved "https://registry.npmjs.org/@graphql-codegen/fragment-matcher/-/fragment-matcher-1.17.8.tgz#807247be0bf04b9fc06d5124a0d1e8bf65676fa2" + integrity sha512-EJRneU6P8dV0yzy9yBce6BTB6DlDEemTXD2wdeK5mGZqwZOfCWSExj0t6DLDSI7z90F/yhzkph72p90BbbsU7A== dependencies: - "@graphql-codegen/plugin-helpers" "1.13.1" + "@graphql-codegen/plugin-helpers" "^1.17.8" + tslib "~2.0.0" -"@graphql-codegen/plugin-helpers@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-1.13.1.tgz#83291f758a1bcb9c63fa3293c7b09d38bb1427f3" - integrity sha512-75GkqYnpt79hHxnVNSaVn9ESHB2ORglTcJWfnKKuO5e6/IbW/TsMB9OR683W6Y9c+nZLmwrVJVCVYLckST+1EA== +"@graphql-codegen/plugin-helpers@^1.17.8": + version "1.17.8" + resolved "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-1.17.8.tgz#d47e8bd6b425b38cfc4e2d670b31183b8e9a91e8" + integrity sha512-Ck1E4QC4yrhX5zUtMlc/uloly6TWSpJDA7+aJrdMOY+MEUgrrM7wJsLV9azNae2OmrhZAQopSuGezjHNbsqSdA== dependencies: - "@graphql-toolkit/common" "0.9.9" + "@graphql-tools/utils" "^6.0.18" camel-case "4.1.1" common-tags "1.8.0" constant-case "3.0.3" import-from "3.0.0" + lodash "~4.17.15" lower-case "2.0.1" param-case "3.0.3" pascal-case "3.1.1" - tslib "1.11.1" + tslib "~2.0.0" upper-case "2.0.1" -"@graphql-codegen/typescript-compatibility@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/typescript-compatibility/-/typescript-compatibility-1.13.1.tgz#a3c91e415bfc326672b9a40a770eb9c6d83336a7" - integrity sha512-Z7uXTKfSLmJbRzLIP9ULRdwd0mv9MpD0FOw5+1Qz/hYRZvkDaZWYNzKQY+16B2kTiWwKYC1+7lLm7whOKfK8Lw== - dependencies: - "@graphql-codegen/plugin-helpers" "1.13.1" - "@graphql-codegen/visitor-plugin-common" "1.13.1" - pascal-case "3.1.1" - tslib "1.11.1" - -"@graphql-codegen/typescript-operations@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-1.13.1.tgz#de04f4edd8648146baeb28089a2613fef2f34545" - integrity sha512-Lk8tV5QGx/KSkJ8ouk0BTR2qcAKzMYg05JgCn8cl0wdbkxziS7rDh8Gl14cphuJ4LkKYCU8a8pRf/u1FumkZuA== - dependencies: - "@graphql-codegen/plugin-helpers" "1.13.1" - "@graphql-codegen/typescript" "1.13.1" - "@graphql-codegen/visitor-plugin-common" "1.13.1" - auto-bind "4.0.0" - tslib "1.11.1" - -"@graphql-codegen/typescript@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-1.13.1.tgz#36c6751b6d50ffcda6ee9b5cf79dee7681039c52" - integrity sha512-Ob3Uw+Mp5p90mYFSKwk7iDLClmWjCScAv60mM441y4kmXlIQ79o3n3YIC5ZqUmmclarS7MGnkdpgcsgrOQNMrw== - dependencies: - "@graphql-codegen/plugin-helpers" "1.13.1" - "@graphql-codegen/visitor-plugin-common" "1.13.1" - auto-bind "4.0.0" - tslib "1.11.1" - -"@graphql-codegen/visitor-plugin-common@1.13.1": - version "1.13.1" - resolved "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-1.13.1.tgz#f06a071d60b7c1645aa79429731420bca5e45cbb" - integrity sha512-ZdWuONFqDWmYuNVmgSiwDk39Pwp8UEnkd9dhceZ46cOyp8sfB9UPcSZg+Sq7Ku0zam9B2pWpUlr6gLadnbzEFQ== - dependencies: - "@graphql-codegen/plugin-helpers" "1.13.1" - "@graphql-toolkit/relay-operation-optimizer" "0.9.9" - array.prototype.flatmap "1.2.3" - auto-bind "4.0.0" - dependency-graph "0.9.0" - graphql-tag "2.10.3" - pascal-case "3.1.1" - tslib "1.11.1" - -"@graphql-toolkit/apollo-engine-loader@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/apollo-engine-loader/-/apollo-engine-loader-0.9.9.tgz#16f7414977cb1682a3b2d56dcf146773383220de" - integrity sha512-kVZlw/GiPpilV7qq8hugUtR7XzFt0s3jmXsXuJrfBgbmqSker2D/gE0ecXPt3eHuLQSRwhaVtlBcKEyNhrtZOg== +"@graphql-codegen/typescript-compatibility@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@graphql-codegen/typescript-compatibility/-/typescript-compatibility-2.0.0.tgz#9f9ef8ba88717bb32e52f6b592b151bf3a0801b9" + integrity sha512-a43FAJ/rxUTuxyfa2EqYRKXJ822oQcaIuNW6mevGIatwdSF7OSKcWgcZSWDuDWQt4NjDtQZSxXsSA6uUWx22fQ== dependencies: - "@graphql-toolkit/common" "0.9.9" - apollo-language-server "1.20.1" - tslib "1.11.1" + "@graphql-codegen/plugin-helpers" "^1.17.8" + "@graphql-codegen/visitor-plugin-common" "^1.17.13" + pascal-case "^3.1.1" + tslib "~2.0.1" -"@graphql-toolkit/code-file-loader@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/code-file-loader/-/code-file-loader-0.9.9.tgz#25b66c27ed640076cc904174badef2a4012f2477" - integrity sha512-0Sw7gGCrbSvp9gdjUtsUW/Ch9hcBgAHjgD7BlKVQdndMb47z1B8iBQflNoAyYz3xMaskGwwI84pXbP3J+xnKoA== +"@graphql-codegen/typescript-operations@1.17.8": + version "1.17.8" + resolved "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-1.17.8.tgz#17c811c7a719df56fec0878f00b2b7449fb45165" + integrity sha512-nU1ZldRB4vGcg4FQhOp3GOOyjfIwO+cI110zZhxQw8SV7pbNDJnCckbvkdEOkW+1/jVJcUul8jQVvuym5olipw== dependencies: - "@graphql-toolkit/common" "0.9.9" - "@graphql-toolkit/graphql-tag-pluck" "0.9.9" - tslib "1.11.1" + "@graphql-codegen/plugin-helpers" "^1.17.8" + "@graphql-codegen/typescript" "^1.17.8" + "@graphql-codegen/visitor-plugin-common" "^1.17.13" + auto-bind "~4.0.0" + tslib "~2.0.0" -"@graphql-toolkit/common@0.9.7": - version "0.9.7" - resolved "https://registry.npmjs.org/@graphql-toolkit/common/-/common-0.9.7.tgz#63bc6233c4fd88bc94dfe6a3ec85b8f961f780f9" - integrity sha512-dpSRBMLeIiRct2gkjj24bp0EV7hbK/7dpJAPqNgvDH2535LhOkprYiCXQJyP4N1LODAEkpN/zzlJfKMVn773MQ== - dependencies: - "@ardatan/graphql-tools" "4.1.0" - aggregate-error "3.0.1" - lodash "4.17.15" +"@graphql-codegen/typescript@1.17.9", "@graphql-codegen/typescript@^1.17.8": + version "1.17.9" + resolved "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-1.17.9.tgz#9f96f39c3b59c13f52db8955fff3aa5889bb7827" + integrity sha512-r6bPSJIeQoMicMEru2pxwAtw5DaY4KCnCd8R2xoQ8aZpkpxqhzd5fmdhh8oXLE4CAZhUCuV0Uad7Ps17Lr5jaw== + dependencies: + "@graphql-codegen/plugin-helpers" "^1.17.8" + "@graphql-codegen/visitor-plugin-common" "^1.17.14" + auto-bind "~4.0.0" + tslib "~2.0.1" + +"@graphql-codegen/visitor-plugin-common@^1.17.13", "@graphql-codegen/visitor-plugin-common@^1.17.14": + version "1.17.14" + resolved "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-1.17.14.tgz#dfd15932a2d9f2a0be3ce945206a173609908769" + integrity sha512-tHVkMqQcWuq5xuXm7q8JKcKUVdEYaT61Hnz1OZNgYCBQIOCKUljZcmPuy3F8aJU29XHyZ2vwF2hNG6q4CE3fcQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^1.17.8" + "@graphql-tools/relay-operation-optimizer" "^6.0.18" + array.prototype.flatmap "^1.2.3" + auto-bind "~4.0.0" + dependency-graph "^0.9.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + pascal-case "^3.1.1" + tslib "~2.0.1" + +"@graphql-tools/apollo-engine-loader@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-6.2.2.tgz#53b2f2a5ce9845aa9f535740f1094173e4a76d80" + integrity sha512-4ufRLqN8oLy26tCZB2yuGMVplm/DdSsilqRNbgE3fP9Xf6rLvT7jU8VIZTfzU9gp/PhNEoSNFPUWLYBNinP+Og== + dependencies: + "@graphql-tools/utils" "6.2.2" + cross-fetch "3.0.5" + tslib "~2.0.1" + +"@graphql-tools/code-file-loader@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-6.2.2.tgz#9640a4e593ab4aa91b05adb0968ec8aeea969264" + integrity sha512-2EDdgNR2fu1aKnU77jpkfwuUNOOZjBe6VQW/hI//GSVK5AYh+a/zm2vusAwdJQdC4yt2A1zEY8095bk4i9XD7w== + dependencies: + "@graphql-tools/graphql-tag-pluck" "6.2.2" + "@graphql-tools/utils" "6.2.2" + fs-extra "9.0.1" + tslib "~2.0.1" + +"@graphql-tools/delegate@6.2.2": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-6.2.2.tgz#3c401a06f6f7c3ef068d78217bde5e9b7b3830a0" + integrity sha512-8VycfZYQ+m4HgajewQT6v6BzAEFxc6mh6rO+uqewnvh143nvv3ud4nXEAfOddUm0PrE6iD3Ng2BZtPSWF5mt+w== + dependencies: + "@ardatan/aggregate-error" "0.0.6" + "@graphql-tools/schema" "6.2.2" + "@graphql-tools/utils" "6.2.2" + dataloader "2.0.0" + is-promise "4.0.0" + tslib "~2.0.1" + +"@graphql-tools/git-loader@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-6.2.2.tgz#6e2fe4e5853b90a3096dc88d9827f3d4b47c16d9" + integrity sha512-gfhQX5ZQ7nc4AAW6tT0s2d0o2lkYtMMhaeX4miPMGd+Hgej1phLrIeSSEAfrlSy0JWgARmmsoXGuz76wDZdhjw== + dependencies: + "@graphql-tools/graphql-tag-pluck" "6.2.2" + "@graphql-tools/utils" "6.2.2" + tslib "~2.0.1" + +"@graphql-tools/github-loader@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-6.2.2.tgz#6d0bf63e5dd0319c47cfb0cd52e2b6632e7bb7da" + integrity sha512-tPUWfD8Dwc2YuiO8WtMg9rtsnq1tyfk8NEfjwxqe7cKwyEKRb8ybRURT/acwEroAgENc3Jwa3cgju+OJCbw4pQ== + dependencies: + "@graphql-tools/graphql-tag-pluck" "6.2.2" + "@graphql-tools/utils" "6.2.2" + cross-fetch "3.0.5" + tslib "~2.0.1" + +"@graphql-tools/graphql-file-loader@^6.0.0", "@graphql-tools/graphql-file-loader@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-6.2.2.tgz#88e9d41f8fb1aac7f9f486cb61fbdb6bdc18d6f6" + integrity sha512-dKuOk4vH2WWzVGydL13FjdR3WEmJHMoud3MXF9uyvLcjuDm9L0r+PdSI1PSPiCYs7Ii2bJ8zgmdz32jCBHZszA== + dependencies: + "@graphql-tools/import" "6.2.2" + "@graphql-tools/utils" "6.2.2" + fs-extra "9.0.1" + tslib "~2.0.1" + +"@graphql-tools/graphql-tag-pluck@6.2.2": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-6.2.2.tgz#b6c2ef7fe04c58a3ef242926e0b7b7845e555b68" + integrity sha512-KH6QoJYo3WXtc4+3e2oTfm627oszRGsKVpMF7A0IvtiVUU0XxoXLAjmJBlNrGN/PdqpBDPEVSdz2VLX2eDkokw== + dependencies: + "@babel/parser" "7.11.5" + "@babel/traverse" "7.11.5" + "@babel/types" "7.11.5" + "@graphql-tools/utils" "6.2.2" + tslib "~2.0.1" + optionalDependencies: + vue-template-compiler "^2.6.12" -"@graphql-toolkit/common@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/common/-/common-0.9.9.tgz#56daf4ac85deada766418b91d421592cbf18dcf0" - integrity sha512-1ucXoQ5yczsu46l52wkmJgnaM8nw9CHUsJzOL4HoQsnvSVKieueRTx/Ef924G/fqQ1TtPyUal/+pPw4i9Sl+6A== +"@graphql-tools/import@6.2.2": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/import/-/import-6.2.2.tgz#5f5341ff419851c1d2cf18d10d48abbb7763902e" + integrity sha512-fxQx+960CBzG6+MGGRaWv9tQ71ir2NZQeVC2dfieQLv5/LXH0fqKe9ltYCfJFskscAmzWeuS19Sibhdn0JMecw== dependencies: - aggregate-error "3.0.1" - graphql-tools-fork "8.9.6" - lodash "4.17.15" + fs-extra "9.0.1" + resolve-from "5.0.0" + tslib "~2.0.1" -"@graphql-toolkit/core@0.9.7": - version "0.9.7" - resolved "https://registry.npmjs.org/@graphql-toolkit/core/-/core-0.9.7.tgz#a68fff000f3aedb6584c22f3f6b641885aec0f56" - integrity sha512-w1WU0iOq6AEBTICDxcu1xjFruFfGCHg6ERdWTWdIBOTn30qysIC0ek+XWN67vF9yV9QIdAxNu66gXKjUUWm2Tg== +"@graphql-tools/json-file-loader@^6.0.0", "@graphql-tools/json-file-loader@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-6.2.2.tgz#d411a0195797a47028a97101a7c8059679364011" + integrity sha512-m/gKQGJS+4bUy/8v0uup3su9RcCLdWvmhYW9+J8WDSzDE2QEdYQMeyDFYV14x0r92IhRpftLd//JvoE3cTV5Kg== dependencies: - "@graphql-toolkit/common" "0.9.7" - "@graphql-toolkit/schema-merging" "0.9.7" - aggregate-error "3.0.1" - globby "11.0.0" - import-from "^3.0.0" - is-glob "4.0.1" - lodash "4.17.15" - resolve-from "5.0.0" - tslib "1.10.0" - unixify "1.0.0" - valid-url "1.0.9" + "@graphql-tools/utils" "6.2.2" + fs-extra "9.0.1" + tslib "~2.0.1" -"@graphql-toolkit/core@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/core/-/core-0.9.9.tgz#27867f4455730460c53812fbc95d6bdcb6d1de27" - integrity sha512-dBF7li142ngThwfGHMCPPkNVQyUF/rfJFkXI7SpFshGJ/GfBh3yoocI745obP7ELEkxiWq/CSgVDqjX5Hjzvqg== +"@graphql-tools/load@^6.0.0", "@graphql-tools/load@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/load/-/load-6.2.2.tgz#54fb6f3594e3fb4774a1adb8d7129f788512c752" + integrity sha512-p5fvGSvtrIjL3rmQbdESnYH5zxqdKeQOIwoPnfvx6uDqqm3HaRBzS+k5V/PkhGsFRR5VFrqA8kPAbE87BYpkqw== dependencies: - "@graphql-toolkit/common" "0.9.9" - "@graphql-toolkit/schema-merging" "0.9.9" - aggregate-error "3.0.1" - globby "11.0.0" - import-from "^3.0.0" + "@graphql-tools/merge" "6.2.2" + "@graphql-tools/utils" "6.2.2" + globby "11.0.1" + import-from "3.0.0" is-glob "4.0.1" - lodash "4.17.15" - resolve-from "5.0.0" - tslib "1.11.1" + p-limit "3.0.2" + tslib "~2.0.1" unixify "1.0.0" valid-url "1.0.9" -"@graphql-toolkit/git-loader@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/git-loader/-/git-loader-0.9.9.tgz#68667031167fe669a48a0ea8dc5ffb5dddfd1213" - integrity sha512-YSu1G0/DGQGX1FbTFLVaAW9kzD9QvUHDqd+21/UiNVfyBhIq3svB6PzNf7gBl1HZUVGmNKTa3rz/EiqknqVYrA== - dependencies: - "@graphql-toolkit/common" "0.9.9" - "@graphql-toolkit/graphql-tag-pluck" "0.9.9" - simple-git "1.132.0" - -"@graphql-toolkit/github-loader@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/github-loader/-/github-loader-0.9.9.tgz#8155ed4fd94dc70552e6896fcf990e0cba31d661" - integrity sha512-PYST9arWec0zDeZGxP/lLOa46YE5GjtxbeFnWCXFjQge6c1ZaDdSk2RlFo4ccyeiHkhg/ZDJ52ivQuOrQyRnlg== - dependencies: - "@graphql-toolkit/common" "0.9.9" - "@graphql-toolkit/graphql-tag-pluck" "0.9.9" - cross-fetch "3.0.4" - -"@graphql-toolkit/graphql-file-loader@0.9.7": - version "0.9.7" - resolved "https://registry.npmjs.org/@graphql-toolkit/graphql-file-loader/-/graphql-file-loader-0.9.7.tgz#1f15dfcf50342ab9e480fbbe2b16896395f36c45" - integrity sha512-t7CfYjghuXAtIqzwHhkUoE/u0a918UTOOVtHdLHh8rojjIUfsSeLeqMcFacRv+/z+kyKl9lgi4TE/qiyIpyR5A== - dependencies: - "@graphql-toolkit/common" "0.9.7" - tslib "1.10.0" - -"@graphql-toolkit/graphql-file-loader@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/graphql-file-loader/-/graphql-file-loader-0.9.9.tgz#7393c0a6ff8e3ed841e9ebed2a4b4bac5d6e04d2" - integrity sha512-xZS3Jcg56/6ukHEgzEKWUgq6sGcFpgg8ufU8rj9bS3aPTMsilZShWNUsDiTXnxdQTYMAaMW1pHJ+bg/SFW6YXQ== - dependencies: - "@graphql-toolkit/common" "0.9.9" - tslib "1.11.1" - -"@graphql-toolkit/graphql-tag-pluck@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/graphql-tag-pluck/-/graphql-tag-pluck-0.9.9.tgz#f13ad1fce86ca8385f3e27bc1dc84485ca586547" - integrity sha512-k0h0sGELyGKYhZpaU/GtFYyoyQxxd051n5Xw/6cbt2YKcz9YiEeKUhv4DeXZx8dS5kjJh1+oFLkENzclEyDDrQ== - dependencies: - "@babel/parser" "7.8.8" - "@babel/traverse" "7.8.6" - "@babel/types" "7.8.7" - "@graphql-toolkit/common" "0.9.9" - optionalDependencies: - vue-template-compiler "^2.6.11" - -"@graphql-toolkit/json-file-loader@0.9.7": - version "0.9.7" - resolved "https://registry.npmjs.org/@graphql-toolkit/json-file-loader/-/json-file-loader-0.9.7.tgz#3f68dfbbc0c55c2b1531b6e200d5cd76ef85bb59" - integrity sha512-MNnCX201p011FPOm/rlDLkBTpx4LvooG9pdMU1ijRD/sqpHSkhZ2U/aKyoiDDKrLUgK7cvHws1KXBvLcg7r6aQ== - dependencies: - "@graphql-toolkit/common" "0.9.7" - tslib "1.10.0" - -"@graphql-toolkit/json-file-loader@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/json-file-loader/-/json-file-loader-0.9.9.tgz#0ff49c83775aa82395e8ffb300d2bef4b037520d" - integrity sha512-rcKjcfrZu0e+S7QPScbSKHs/B+iewnSUkSreOYwjG6a5+Pg2Dh4/uFITjemtR2wyFYtj2aXI9rLCoE271JrFlg== - dependencies: - "@graphql-toolkit/common" "0.9.9" - tslib "1.11.1" - -"@graphql-toolkit/prisma-loader@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/prisma-loader/-/prisma-loader-0.9.9.tgz#52184a2654bec8b503a2eaf7347b92d9cc4586bf" - integrity sha512-3Y3htMlnAkirO6vQW0B0NsGxnEoyHiYzp6kmOKDBaZKLh7izi8w0u7Zj8hauJCGA4+i0jPPAPexfD877frJZQg== - dependencies: - "@graphql-toolkit/common" "0.9.9" - "@graphql-toolkit/url-loader" "0.9.9" - prisma-yml "1.34.10" - tslib "1.11.1" - -"@graphql-toolkit/relay-operation-optimizer@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/relay-operation-optimizer/-/relay-operation-optimizer-0.9.9.tgz#560bbc1d51242e5ff0ebb0fa8c9220b6532f9363" - integrity sha512-NyuWj6XgL0ReF9BS2fik3gFU/DOWNvq8tJgzZtGt7hhGxNcbuoh5bnaszOtlfTPjqgZHBMDsC5h3QW8NP7qGpg== - dependencies: - "@graphql-toolkit/common" "0.9.9" - relay-compiler "9.0.0" - -"@graphql-toolkit/schema-merging@0.9.7": - version "0.9.7" - resolved "https://registry.npmjs.org/@graphql-toolkit/schema-merging/-/schema-merging-0.9.7.tgz#241ddd2c9ba79dd4444014057d0765777ab3cd12" - integrity sha512-RLhP0+XT4JGoPGCvlcTPdCE8stA7l0D5+gZ8ZP0snqzZOdsDFG4cNxpJtwf48i7uArsXkfu5OjOvTwh0MR0Wrw== - dependencies: - "@ardatan/graphql-tools" "4.1.0" - "@graphql-toolkit/common" "0.9.7" - deepmerge "4.2.2" - tslib "1.10.0" - -"@graphql-toolkit/schema-merging@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/schema-merging/-/schema-merging-0.9.9.tgz#3912f94aa4adca8fbc776c07926a73890762cf7e" - integrity sha512-Y3lMlvI32nqFF9yZpVOAoJ8H/0l2CU9hMV3XyRhRC3hfk1vUotYmg5BqSZvjqZP57wo6fk1TDB93VXGef8ttQg== - dependencies: - "@graphql-toolkit/common" "0.9.9" - deepmerge "4.2.2" - graphql-tools-fork "8.9.6" - tslib "1.11.1" - -"@graphql-toolkit/url-loader@0.9.7": - version "0.9.7" - resolved "https://registry.npmjs.org/@graphql-toolkit/url-loader/-/url-loader-0.9.7.tgz#222af4f8bb6d87735760555dd100c55fd3d36281" - integrity sha512-cOT2XJVZLWOKG4V9ucVtUTqJMW0BJqEqrHvpR8YcIWffrEChmzZQX+ug3BkRNomaUe8ywgExJ80aZuKWeSHvew== - dependencies: - "@ardatan/graphql-tools" "4.1.0" - "@graphql-toolkit/common" "0.9.7" - cross-fetch "3.0.4" - tslib "1.10.0" - valid-url "1.0.9" - -"@graphql-toolkit/url-loader@0.9.9": - version "0.9.9" - resolved "https://registry.npmjs.org/@graphql-toolkit/url-loader/-/url-loader-0.9.9.tgz#6154d834b946d475458386c5193f5d6e99471c06" - integrity sha512-7yvMslD3r7rjJyUCmFI3xcSFSpD/kK84XoO/oVuiq48jqBULd5qeSbVGl4xpEQWfAGw07wc2SBE6Uqg0bhAwiw== - dependencies: - "@graphql-toolkit/common" "0.9.9" - cross-fetch "3.0.4" - graphql-tools-fork "8.9.6" - tslib "1.11.1" - valid-url "1.0.9" - "@graphql-tools/merge@6.0.13": version "6.0.13" resolved "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.0.13.tgz#d7d6c5d4b1fe7a525a99d276d18beb814d4990d8" @@ -2652,6 +2573,54 @@ "@graphql-tools/utils" "6.0.13" tslib "~2.0.0" +"@graphql-tools/merge@6.2.2", "@graphql-tools/merge@^6.0.0", "@graphql-tools/merge@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.2.tgz#49d8da0e706530ad484dee8ba7b91f8d80126030" + integrity sha512-2YyErSvq4hn5mjE6qJ/0Q8r3WU9JB3+obv2xyvb+oW+E/T1iYRJGxSFldi6lqO5IADZz8QASLJeSpRBw40gpBg== + dependencies: + "@graphql-tools/schema" "6.2.2" + "@graphql-tools/utils" "6.2.2" + tslib "~2.0.1" + +"@graphql-tools/prisma-loader@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-6.2.2.tgz#84a394fdc54168ef4e73dd125328de621413e906" + integrity sha512-bOy3ug6Cr/AV7OLOKl1QES0b8PezUqUsVUOqMgEWK0qTeB2Cbiwn5wZFrcDs6FSc5s9+Vepz2AAqbsWlAXbvYg== + dependencies: + "@graphql-tools/url-loader" "6.2.2" + "@graphql-tools/utils" "6.2.2" + "@types/http-proxy-agent" "^2.0.2" + "@types/js-yaml" "^3.12.5" + "@types/json-stable-stringify" "^1.0.32" + "@types/jsonwebtoken" "^8.5.0" + ajv "^6.12.4" + bluebird "^3.7.2" + chalk "^4.1.0" + debug "^4.1.1" + dotenv "^8.2.0" + fs-extra "9.0.1" + graphql-request "^3.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + isomorphic-fetch "^2.2.1" + js-yaml "^3.14.0" + json-stable-stringify "^1.0.1" + jsonwebtoken "^8.5.1" + lodash "^4.17.20" + replaceall "^0.1.6" + scuid "^1.1.0" + tslib "~2.0.1" + yaml-ast-parser "^0.0.43" + +"@graphql-tools/relay-operation-optimizer@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.2.2.tgz#136ccca5ea33466391a9295c33408b27fe675fe6" + integrity sha512-4kU+X/IpTNtO1MS/rBxW1ybflFonZ1WeBV9gv4tqXGPpHywJsO3y085PwMumoNfBpF755UfEu6XjE43SPg0m1g== + dependencies: + "@graphql-tools/utils" "6.2.2" + relay-compiler "10.0.1" + tslib "~2.0.1" + "@graphql-tools/schema@6.0.13": version "6.0.13" resolved "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.13.tgz#bc08d914cbd055ead08e9deecd9e122194dcb4df" @@ -2660,6 +2629,29 @@ "@graphql-tools/utils" "6.0.13" tslib "~2.0.0" +"@graphql-tools/schema@6.2.2": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.2.2.tgz#2dd7c6fbb4b6ccad239d0fefc3eb6d98a1bfcb01" + integrity sha512-KITlyr//1oKyxIOlGvNZDl4c6bLj2Gc+3eJXyUKWfSmgsmAZPudpQNa/8VbiVujpm7UaX0cyM3FdeCaxWFeBgg== + dependencies: + "@graphql-tools/utils" "6.2.2" + tslib "~2.0.1" + +"@graphql-tools/url-loader@6.2.2", "@graphql-tools/url-loader@^6.0.0", "@graphql-tools/url-loader@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-6.2.2.tgz#cd5e83f31abea8d7de40c7e569e0242f7ece5c50" + integrity sha512-vNDjhf7SJr9RnIDPBBEyTfKBb3aWRA3uy3jDkqQ/AFyh4hXRkg8xnECH7c6glRnWiZJeObMTxowZSUnDA68IyA== + dependencies: + "@graphql-tools/delegate" "6.2.2" + "@graphql-tools/utils" "6.2.2" + "@graphql-tools/wrap" "6.2.2" + "@types/websocket" "1.0.1" + cross-fetch "3.0.5" + subscriptions-transport-ws "0.9.18" + tslib "~2.0.1" + valid-url "1.0.9" + websocket "1.0.32" + "@graphql-tools/utils@6.0.13": version "6.0.13" resolved "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.13.tgz#5ea073e8aafa766e88a018432d0f0737e92f41ff" @@ -2668,6 +2660,26 @@ "@ardatan/aggregate-error" "0.0.1" camel-case "4.1.1" +"@graphql-tools/utils@6.2.2", "@graphql-tools/utils@^6.0.0", "@graphql-tools/utils@^6.0.18": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.2.2.tgz#490236f539754ec59cd0490919b00ed9e0dba604" + integrity sha512-a0SSYF76dnKHs8te4Igfnrrq1VOO4sFG8yx3ehO7464eGUfUUYo2QmNRjhxny2HRMvqzX40xuQikyg6LBXDNLQ== + dependencies: + "@ardatan/aggregate-error" "0.0.6" + camel-case "4.1.1" + tslib "~2.0.1" + +"@graphql-tools/wrap@6.2.2": + version "6.2.2" + resolved "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-6.2.2.tgz#034fb885ad0812a13db3db7eec37d9dd300c7145" + integrity sha512-FjCE+NvMwcCiAlt9EAw9uDi2zblE4Z5CEkY+z4NRO1AmCB5THoWJKG+csPh8tGuU80mAJI51Wy9FQGyUo/EU0g== + dependencies: + "@graphql-tools/delegate" "6.2.2" + "@graphql-tools/schema" "6.2.2" + "@graphql-tools/utils" "6.2.2" + is-promise "4.0.0" + tslib "~2.0.1" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.0.0" resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" @@ -4172,11 +4184,6 @@ resolved "https://registry.npmjs.org/@types/dateformat/-/dateformat-3.0.1.tgz#98d747a2e5e9a56070c6bf14e27bff56204e34cc" integrity sha512-KlPPdikagvL6ELjWsljbyDIPzNCeliYkqRpI+zea99vBBbCIA5JNshZAwQKTON139c87y9qvTFVgkFd14rtS4g== -"@types/debounce@1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.0.tgz#9ee99259f41018c640b3929e1bb32c3dcecdb192" - integrity sha512-bWG5wapaWgbss9E238T0R6bfo5Fh3OkeoSt245CM7JJwVwpw6MEBCbIxLq5z8KzsE3uJhzcIuQkyiZmzV3M/Dw== - "@types/debug@^4.1.5": version "4.1.5" resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" @@ -4321,6 +4328,13 @@ resolved "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b" integrity sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ== +"@types/http-proxy-agent@^2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/@types/http-proxy-agent/-/http-proxy-agent-2.0.2.tgz#942c1f35c7e1f0edd1b6ffae5d0f9051cfb32be1" + integrity sha512-2S6IuBRhqUnH1/AUx9k8KWtY3Esg4eqri946MnxTG5HwehF1S5mqLln8fcyMiuQkY72p2gH3W+rIPqp5li0LyQ== + dependencies: + "@types/node" "*" + "@types/http-proxy@^1.17.3": version "1.17.4" resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz#e7c92e3dbe3e13aa799440ff42e6d3a17a9d045b" @@ -4328,11 +4342,6 @@ dependencies: "@types/node" "*" -"@types/is-glob@4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@types/is-glob/-/is-glob-4.0.1.tgz#a93eec1714172c8eb3225a1cc5eb88c2477b7d00" - integrity sha512-k3RS5HyBPu4h+5hTmIEfPB2rl5P3LnGdQEZrV2b9OWTJVtsUQ2VBcedqYKGqxvZqle5UALUXdSfVA8nf3HfyWQ== - "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.1" resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" @@ -4380,11 +4389,28 @@ jest-diff "^25.1.0" pretty-format "^25.1.0" +"@types/js-yaml@^3.12.5": + version "3.12.5" + resolved "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.5.tgz#136d5e6a57a931e1cce6f9d8126aa98a9c92a6bb" + integrity sha512-JCcp6J0GV66Y4ZMDAQCXot4xprYB+Zfd3meK9+INSJeVZwJmHAW30BBEEkPzXswMXuiyReUGOP3GxrADc9wPww== + "@types/json-schema@^7.0.4": version "7.0.4" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== +"@types/json-stable-stringify@^1.0.32": + version "1.0.32" + resolved "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz#121f6917c4389db3923640b2e68de5fa64dda88e" + integrity sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw== + +"@types/jsonwebtoken@^8.5.0": + version "8.5.0" + resolved "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz#2531d5e300803aa63279b232c014acf780c981c5" + integrity sha512-9bVao7LvyorRGZCw0VmH/dr7Og+NdjYSsKAxB43OQoComFbBgsEpoR9JW6+qSq/ogwVBg8GI2MfAlk4SYI4OLg== + dependencies: + "@types/node" "*" + "@types/keygrip@*": version "1.0.2" resolved "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz#513abfd256d7ad0bf1ee1873606317b33b1b2a72" @@ -4449,13 +4475,6 @@ resolved "https://registry.npmjs.org/@types/mjml/-/mjml-4.0.4.tgz#af6075d29f64d47186d76125504daf544dfb2b42" integrity sha512-4PhI6iZ1zGXZ9X9W0bbmI7mS2xdxITURueqSWJ/cTeS5+tbAtOUDG1ww/fPbfcffWwR4NeOjyNcZiczafH/yfw== -"@types/mkdirp@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.0.tgz#16ce0eabe4a9a3afe64557ad0ee6886ec3d32927" - integrity sha512-ONFY9//bCEr3DWKON3iDv/Q8LXnhaYYaNDeFSN0AtO5o4sLf9F0pstJKKKjQhXE0kJEeHs8eR6SAsROhhc2Csw== - dependencies: - "@types/node" "*" - "@types/ms@^0.7.30": version "0.7.31" resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" @@ -4679,11 +4698,6 @@ dependencies: "@types/undertaker-registry" "*" -"@types/valid-url@1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@types/valid-url/-/valid-url-1.0.2.tgz#60fa435ce24bfd5ba107b8d2a80796aeaf3a8f45" - integrity sha1-YPpDXOJL/VuhB7jSqAeWrq86j0U= - "@types/vinyl-fs@*": version "2.4.11" resolved "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-2.4.11.tgz#b98119b8bb2494141eaf649b09fbfeb311161206" @@ -4710,6 +4724,13 @@ "@types/source-list-map" "*" source-map "^0.6.1" +"@types/websocket@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.1.tgz#039272c196c2c0e4868a0d8a1a27bbb86e9e9138" + integrity sha512-f5WLMpezwVxCLm1xQe/kdPpQIOmL0TXYx2O15VYfYzc7hTIdxiOoOvez+McSIw3b7z/1zGovew9YSL7+h4h7/Q== + dependencies: + "@types/node" "*" + "@types/ws@^6.0.0": version "6.0.4" resolved "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz#7797707c8acce8f76d8c34b370d4645b70421ff1" @@ -5052,7 +5073,7 @@ agentkeepalive@^4.1.0: depd "^1.1.2" humanize-ms "^1.2.1" -aggregate-error@3.0.1, aggregate-error@^3.0.0: +aggregate-error@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== @@ -5070,16 +5091,6 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@5: - version "5.5.2" - resolved "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - ajv@6.10.2: version "6.10.2" resolved "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" @@ -5110,6 +5121,16 @@ ajv@^6.12.2: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^6.12.4: + version "6.12.5" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da" + integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -5144,7 +5165,7 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== @@ -5370,7 +5391,7 @@ apollo-env@^0.6.5: node-fetch "^2.2.0" sha.js "^2.4.11" -apollo-graphql@^0.4.0, apollo-graphql@^0.4.1: +apollo-graphql@^0.4.0: version "0.4.1" resolved "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.4.1.tgz#c9470b11cf29f046f6e9b747034417c200222e91" integrity sha512-dz2wtGeCqUDAKAj4KXLKLZiFY791aoXduul3KcLo8/6SwqWlsuZiPe0oB8mENHZZc/EchCpTMTJZX2ZENsOt2A== @@ -5386,38 +5407,7 @@ apollo-graphql@^0.5.0: apollo-env "^0.6.5" lodash.sortby "^4.7.0" -apollo-language-server@1.20.1: - version "1.20.1" - resolved "https://registry.npmjs.org/apollo-language-server/-/apollo-language-server-1.20.1.tgz#7cff854131c18ad9559b00b707c76e73e38f11fc" - integrity sha512-UML94ZUe1SISp0alx7as/hl2gbk0qw1j8EBDb6YlB/ggjk4WuBNlROMSeHlLdrSpq3tghnBy2hwSkQKLLQsMpw== - dependencies: - "@apollo/federation" "0.13.2" - "@apollographql/apollo-tools" "^0.4.4" - "@apollographql/graphql-language-service-interface" "^2.0.2" - "@endemolshinegroup/cosmiconfig-typescript-loader" "^1.0.0" - apollo-datasource "^0.7.0" - apollo-env "^0.6.2" - apollo-graphql "^0.4.1" - apollo-link "^1.2.3" - apollo-link-context "^1.0.9" - apollo-link-error "^1.1.1" - apollo-link-http "^1.5.5" - apollo-server-errors "^2.0.2" - await-to-js "^2.0.1" - core-js "^3.0.1" - cosmiconfig "^5.0.6" - dotenv "^8.0.0" - glob "^7.1.3" - graphql "14.0.2 - 14.2.0 || ^14.3.1" - graphql-tag "^2.10.1" - lodash.debounce "^4.0.8" - lodash.merge "^4.6.1" - minimatch "^3.0.4" - moment "^2.24.0" - vscode-languageserver "^5.1.0" - vscode-uri "1.0.6" - -apollo-link-context@^1.0.19, apollo-link-context@^1.0.9: +apollo-link-context@^1.0.19: version "1.0.19" resolved "https://registry.npmjs.org/apollo-link-context/-/apollo-link-context-1.0.19.tgz#3c9ba5bf75ed5428567ce057b8837ef874a58987" integrity sha512-TUi5TyufU84hEiGkpt+5gdH5HkB3Gx46npNfoxR4of3DKBCMuItGERt36RCaryGcU/C3u2zsICU3tJ+Z9LjFoQ== @@ -5425,16 +5415,7 @@ apollo-link-context@^1.0.19, apollo-link-context@^1.0.9: apollo-link "^1.2.13" tslib "^1.9.3" -apollo-link-error@^1.1.1: - version "1.1.12" - resolved "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.12.tgz#e24487bb3c30af0654047611cda87038afbacbf9" - integrity sha512-psNmHyuy3valGikt/XHJfe0pKJnRX19tLLs6P6EHRxg+6q6JMXNVLYPaQBkL0FkwdTCB0cbFJAGRYCBviG8TDA== - dependencies: - apollo-link "^1.2.13" - apollo-link-http-common "^0.2.15" - tslib "^1.9.3" - -apollo-link-http-common@^0.2.14, apollo-link-http-common@^0.2.15: +apollo-link-http-common@^0.2.14: version "0.2.15" resolved "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.15.tgz#304e67705122bf69a9abaded4351b10bc5efd6d9" integrity sha512-+Heey4S2IPsPyTf8Ag3PugUupASJMW894iVps6hXbvwtg1aHSNMXUYO5VG7iRHkPzqpuzT4HMBanCTXPjtGzxg== @@ -5443,15 +5424,6 @@ apollo-link-http-common@^0.2.14, apollo-link-http-common@^0.2.15: ts-invariant "^0.4.0" tslib "^1.9.3" -apollo-link-http@^1.5.5: - version "1.5.16" - resolved "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.16.tgz#44fe760bcc2803b8a7f57fc9269173afb00f3814" - integrity sha512-IA3xA/OcrOzINRZEECI6IdhRp/Twom5X5L9jMehfzEo2AXdeRwAMlH5LuvTZHgKD8V1MBnXdM6YXawXkTDSmJw== - dependencies: - apollo-link "^1.2.13" - apollo-link-http-common "^0.2.15" - tslib "^1.9.3" - apollo-link@^1.0.0, apollo-link@^1.2.12, apollo-link@^1.2.13, apollo-link@^1.2.3: version "1.2.13" resolved "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.13.tgz#dff00fbf19dfcd90fddbc14b6a3f9a771acac6c4" @@ -5575,7 +5547,7 @@ apollo-server-env@^2.4.5: node-fetch "^2.1.2" util.promisify "^1.0.0" -apollo-server-errors@^2.0.2, apollo-server-errors@^2.4.0: +apollo-server-errors@^2.4.0: version "2.4.0" resolved "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.4.0.tgz#3096db02b6ae8d434a6b2678f74eddaad8b98452" integrity sha512-ZouZfr2sGavvI18rgdRcyY2ausRAlVtWNOax9zca8ZG2io86dM59jXBmUVSNlVZSmBsIh45YxYC0eRvr2vmRdg== @@ -5867,7 +5839,7 @@ array-unique@^0.3.2: resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -array.prototype.flatmap@1.2.3: +array.prototype.flatmap@^1.2.3: version "1.2.3" resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== @@ -5940,11 +5912,6 @@ astral-regex@^1.0.0: resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async-done@^1.2.0, async-done@^1.2.2: version "1.3.2" resolved "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" @@ -6011,7 +5978,7 @@ atob@^2.1.2: resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -auto-bind@4.0.0: +auto-bind@~4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== @@ -6055,11 +6022,6 @@ autoprefixer@^9.6.5: postcss "^7.0.27" postcss-value-parser "^4.0.3" -await-to-js@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/await-to-js/-/await-to-js-2.1.1.tgz#c2093cd5a386f2bb945d79b292817bbc3f41b31b" - integrity sha512-CHBC6gQGCIzjZ09tJ+XmpQoZOn4GdWePB4qUweCaKNJ0D3f115YdhmYVTZ4rMVpiJ3cFzZcTYK1VMYEICV4YXw== - aws-sdk@^2.670.0: version "2.670.0" resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.670.0.tgz#d54d18b9245df7b89bea96102e5bdebd99587701" @@ -6351,7 +6313,7 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -bluebird@^3.3.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: +bluebird@^3.3.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -6640,6 +6602,13 @@ buffer@^5.1.0, buffer@^5.5.0: base64-js "^1.0.2" ieee754 "^1.1.4" +bufferutil@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.1.tgz#3a177e8e5819a1243fe16b63a199951a7ad8d4a7" + integrity sha512-xowrxvpxojqkagPcWRQVXZl0YXhRhAtBEIq3VoER1NH5Mw1n1o0ojdspp+GS2J//2gCVyrzQDApQ4unGF+QOoA== + dependencies: + node-gyp-build "~3.7.0" + builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -6833,7 +6802,7 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" -camel-case@4.1.1: +camel-case@4.1.1, camel-case@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== @@ -6924,14 +6893,6 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3. escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@3.0.0, chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -6943,7 +6904,15 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^4.0.0: +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== @@ -6983,10 +6952,10 @@ cheerio@^0.22.0: lodash.reject "^4.4.0" lodash.some "^4.4.0" -chokidar@3.3.1, "chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.2.1, chokidar@^3.3.1: - version "3.3.1" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" - integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== +chokidar@3.4.1: + version "3.4.1" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" + integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -6994,14 +6963,14 @@ chokidar@3.3.1, "chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.2.1, cho is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.3.0" + readdirp "~3.4.0" optionalDependencies: fsevents "~2.1.2" -chokidar@3.4.1: - version "3.4.1" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" - integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g== +"chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.2.1, chokidar@^3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -7009,7 +6978,7 @@ chokidar@3.4.1: is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.4.0" + readdirp "~3.3.0" optionalDependencies: fsevents "~2.1.2" @@ -7032,6 +7001,21 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.1.2, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.4.2: + version "3.4.2" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" + integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.3, chownr@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -7145,6 +7129,11 @@ cli-width@^2.0.0: resolved "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + cliui@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -7362,11 +7351,6 @@ commander@2.17.x: resolved "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@5.0.0, commander@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/commander/-/commander-5.0.0.tgz#dbf1909b49e5044f8fdaf0adc809f0c0722bdfd0" - integrity sha512-JrDGPAKjMGSP1G0DUoaceEJ3DZgAfr/q6X7FVk4+U5KxUSKviYGM2k6zWkfyyBHy5rAtzgYJFa1ro2O9PtoxwQ== - commander@^2.11.0, commander@^2.12.1, commander@^2.15.1, commander@^2.19.0, commander@^2.20.0, commander@^2.20.3, commander@~2.20.3: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -7377,12 +7361,17 @@ commander@^4.0.0, commander@^4.0.1: resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/commander/-/commander-5.0.0.tgz#dbf1909b49e5044f8fdaf0adc809f0c0722bdfd0" + integrity sha512-JrDGPAKjMGSP1G0DUoaceEJ3DZgAfr/q6X7FVk4+U5KxUSKviYGM2k6zWkfyyBHy5rAtzgYJFa1ro2O9PtoxwQ== + commander@~2.19.0: version "2.19.0" resolved "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== -common-tags@1.8.0: +common-tags@1.8.0, common-tags@^1.8.0: version "1.8.0" resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== @@ -7535,7 +7524,7 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -constant-case@3.0.3: +constant-case@3.0.3, constant-case@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/constant-case/-/constant-case-3.0.3.tgz#ac910a99caf3926ac5112f352e3af599d8c5fc0a" integrity sha512-FXtsSnnrFYpzDmvwDGQW+l8XK3GV1coLyBN0eBz16ZUzGaZcT2ANVCJmLeuw2GQgxKHQIe9e0w2dzkSfaRlUmA== @@ -7822,7 +7811,7 @@ cosmiconfig@6.0.0, cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cosmiconfig@^5.0.0, cosmiconfig@^5.0.6, cosmiconfig@^5.1.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: +cosmiconfig@^5.0.0, cosmiconfig@^5.1.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -7832,6 +7821,17 @@ cosmiconfig@^5.0.0, cosmiconfig@^5.0.6, cosmiconfig@^5.1.0, cosmiconfig@^5.2.0, js-yaml "^3.13.1" parse-json "^4.0.0" +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + coverage-istanbul-loader@2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/coverage-istanbul-loader/-/coverage-istanbul-loader-2.0.3.tgz#87d42f03fa0fd3fa8743ec76945d9d67f105722a" @@ -7879,21 +7879,19 @@ crelt@^1.0.0: resolved "https://registry.npmjs.org/crelt/-/crelt-1.0.4.tgz#9a05d7829aedf79538f2b26f7de319cf45a25b47" integrity sha512-l1cwMUOssGLEj5zgbut4lxJq95ZabOXVZnDybNqQRUtXh1lvUK7e7kJNm8SfvTQzYpE3AVJhIVUJKf382lMA7A== -cross-fetch@2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723" - integrity sha1-pH/09/xxLauo9qaVoRyUhEDUVyM= +cross-fetch@3.0.5: + version "3.0.5" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.5.tgz#2739d2981892e7ab488a7ad03b92df2816e03f4c" + integrity sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew== dependencies: - node-fetch "2.1.2" - whatwg-fetch "2.0.4" + node-fetch "2.6.0" -cross-fetch@3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.4.tgz#7bef7020207e684a7638ef5f2f698e24d9eb283c" - integrity sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw== +cross-fetch@^3.0.5: + version "3.0.6" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c" + integrity sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ== dependencies: - node-fetch "2.6.0" - whatwg-fetch "3.0.0" + node-fetch "2.6.1" cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" @@ -8237,6 +8235,11 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" +dataloader@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/dataloader/-/dataloader-2.0.0.tgz#41eaf123db115987e21ca93c005cd7753c55fe6f" + integrity sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ== + datauri@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/datauri/-/datauri-2.0.0.tgz#ff0ee23729935a6bcc81f301621bed3e692bf3c7" @@ -8275,7 +8278,7 @@ de-indent@^1.0.2: resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= -debounce@1.2.0: +debounce@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg== @@ -8301,7 +8304,7 @@ debug@3.2.6, debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2. dependencies: ms "^2.1.1" -debug@4, debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: +debug@4, debug@4.1.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -8379,7 +8382,7 @@ deep-is@^0.1.3, deep-is@~0.1.3: resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deepmerge@4.2.2, deepmerge@^4.0.0, deepmerge@^4.2.2: +deepmerge@^4.0.0, deepmerge@^4.2.2: version "4.2.2" resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== @@ -8498,16 +8501,16 @@ depd@~2.0.0: resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -dependency-graph@0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz#11aed7e203bc8b00f48356d92db27b265c445318" - integrity sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w== - dependency-graph@^0.7.2: version "0.7.2" resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz#91db9de6eb72699209d88aea4c1fd5221cac1c49" integrity sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ== +dependency-graph@^0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz#11aed7e203bc8b00f48356d92db27b265c445318" + integrity sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w== + deprecate@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/deprecate/-/deprecate-1.1.1.tgz#4632e981fc815eeaf00be945a40359c0f8bf9913" @@ -8541,16 +8544,16 @@ detect-file@^1.0.0: resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= -detect-indent@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" - integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== - detect-indent@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= +detect-indent@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" + integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== + detect-libc@^1.0.2, detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -8771,17 +8774,12 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" -dotenv@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" - integrity sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0= - dotenv@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w== -dotenv@^8.0.0: +dotenv@^8.2.0: version "8.2.0" resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== @@ -9372,10 +9370,10 @@ extract-files@^5.0.1: resolved "https://registry.npmjs.org/extract-files/-/extract-files-5.0.1.tgz#c9492a8410be643e260a376f0151361993d5f659" integrity sha512-qRW6y9eKF0VbCyOoOEtFhzJ3uykAw8GKwQVXyAIqwocyEWW4m+v+evec34RwtUkkxxHh7NKBLJ6AnXM8W4dH5w== -extract-files@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/extract-files/-/extract-files-7.0.0.tgz#3dc7853320ff7876ec62d6e98f2f4e6f3e6282f6" - integrity sha512-3AUlT7TD+DbQXNe3t70QrgJU6Wgcp7rk1Zm0vqWz8OYnw4vxihgG0TgZ2SIGrVqScc4WfOu7B4a0BezGJ0YqvQ== +extract-files@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a" + integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== extract-zip@^1.6.6: version "1.7.0" @@ -9412,11 +9410,6 @@ fancy-log@^1.3.2: parse-node-version "^1.0.0" time-stamp "^1.0.0" -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -9439,7 +9432,7 @@ fast-glob@3.2.4: micromatch "^4.0.2" picomatch "^2.2.1" -fast-glob@^2.2.2, fast-glob@^2.2.6: +fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== @@ -9868,7 +9861,17 @@ fs-extra@8.1.0, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^7.0.0, fs-extra@^7.0.1: +fs-extra@9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + +fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== @@ -10227,10 +10230,10 @@ globals@^11.1.0: resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globby@11.0.0: - version "11.0.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz#56fd0e9f0d4f8fb0c456f1ab0dee96e1380bc154" - integrity sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg== +globby@11.0.1: + version "11.0.1" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -10317,20 +10320,21 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2 resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== -graphql-config@3.0.0-alpha.19: - version "3.0.0-alpha.19" - resolved "https://registry.npmjs.org/graphql-config/-/graphql-config-3.0.0-alpha.19.tgz#4b13f4a9adb0d10438acd11db215c01fd38eaa7e" - integrity sha512-Na21JPIjssdKaRxvMYANhRLKeePDMnSaCaiChHA1BXFtx8GLoyNj+uljrp7EssYByrsqh4PtkJMItLDtbmiCBA== - dependencies: - "@graphql-toolkit/common" "0.9.7" - "@graphql-toolkit/core" "0.9.7" - "@graphql-toolkit/graphql-file-loader" "0.9.7" - "@graphql-toolkit/json-file-loader" "0.9.7" - "@graphql-toolkit/schema-merging" "0.9.7" - "@graphql-toolkit/url-loader" "0.9.7" +graphql-config@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/graphql-config/-/graphql-config-3.0.3.tgz#58907c65ed7d6e04132321450b60e57863ea9a5f" + integrity sha512-MBY0wEjvcgJtZUyoqpPvOE1e5qPI0hJaa1gKTqjonSFiCsNHX2lykNjpOPcodmAgH1V06ELxhGnm9kcVzqvi/g== + dependencies: + "@graphql-tools/graphql-file-loader" "^6.0.0" + "@graphql-tools/json-file-loader" "^6.0.0" + "@graphql-tools/load" "^6.0.0" + "@graphql-tools/merge" "^6.0.0" + "@graphql-tools/url-loader" "^6.0.0" + "@graphql-tools/utils" "^6.0.0" cosmiconfig "6.0.0" - globby "11.0.0" minimatch "3.0.4" + string-env-interpolation "1.0.1" + tslib "^2.0.0" graphql-extensions@^0.11.0: version "0.11.0" @@ -10350,25 +10354,19 @@ graphql-extensions@^0.12.4: apollo-server-env "^2.4.5" apollo-server-types "^0.5.1" -graphql-import@0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223" - integrity sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw== - dependencies: - lodash "^4.17.4" - resolve-from "^4.0.0" - graphql-iso-date@^3.6.1: version "3.6.1" resolved "https://registry.npmjs.org/graphql-iso-date/-/graphql-iso-date-3.6.1.tgz#bd2d0dc886e0f954cbbbc496bbf1d480b57ffa96" integrity sha512-AwFGIuYMJQXOEAgRlJlFL4H1ncFM8n8XmoVDTNypNOZyQ8LFDG2ppMFlsS862BSTCDcSUfHp8PD3/uJhv7t59Q== -graphql-request@^1.5.0: - version "1.8.2" - resolved "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz#398d10ae15c585676741bde3fc01d5ca948f8fbe" - integrity sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg== +graphql-request@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/graphql-request/-/graphql-request-3.1.0.tgz#c487488a1aa7b9a0f02335026b4ec897d645f9d4" + integrity sha512-Flg2Bd4Ek9BDJ5qacZC/iYuiS3LroHxQTmlUnfqjo/6jKwowY25FVtoLTnssMCBrYspRYEYEIfF1GN8J3/o5JQ== dependencies: - cross-fetch "2.2.2" + cross-fetch "^3.0.5" + extract-files "^9.0.0" + form-data "^3.0.0" graphql-subscriptions@^1.0.0: version "1.1.0" @@ -10377,36 +10375,17 @@ graphql-subscriptions@^1.0.0: dependencies: iterall "^1.2.1" -graphql-tag-pluck@0.8.7: - version "0.8.7" - resolved "https://registry.npmjs.org/graphql-tag-pluck/-/graphql-tag-pluck-0.8.7.tgz#8f57cff0c15d21440de53abc38c90b2ee1e456dd" - integrity sha512-yuWcQislvBPHorFQzmZ9/yY0nPD1rn1kBNOr6iPXzT+iJ/i/pciq8Z7ilnVJAGKaJXV58ovD+AWWYYjX6IFF9g== - dependencies: - "@babel/parser" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" - source-map-support "^0.5.12" - -graphql-tag@2.10.3, graphql-tag@^2.10.0, graphql-tag@^2.10.1, graphql-tag@^2.10.3, graphql-tag@^2.9.2: +graphql-tag@^2.10.0, graphql-tag@^2.10.1, graphql-tag@^2.10.3, graphql-tag@^2.9.2: version "2.10.3" resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.10.3.tgz#ea1baba5eb8fc6339e4c4cf049dabe522b0edf03" integrity sha512-4FOv3ZKfA4WdOKJeHdz6B3F/vxBLSgmBcGeAFPf4n1F64ltJUvOOerNj0rsJxONQGdhUMynQIvd6LzB+1J5oKA== -graphql-tools-fork@8.9.6: - version "8.9.6" - resolved "https://registry.npmjs.org/graphql-tools-fork/-/graphql-tools-fork-8.9.6.tgz#7d84d07c7e6600c363854132bcca395e86455d40" - integrity sha512-hkhzIuN63/6zzJ/qzz6mGPOywhjvz06v1QBs6cUVa+UQ7tlzuzOkxRf2i7TqFOM3igK0vMCk3MTXx5iU/G8zEg== - dependencies: - apollo-link "^1.2.13" - apollo-link-http-common "^0.2.15" - deprecated-decorator "^0.1.6" - extract-files "^7.0.0" - form-data "^3.0.0" - iterall "^1.3.0" - node-fetch "^2.6.0" - uuid "^7.0.1" +graphql-tag@^2.11.0: + version "2.11.0" + resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.11.0.tgz#1deb53a01c46a7eb401d6cb59dec86fa1cccbffd" + integrity sha512-VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA== -graphql-tools@4.0.7, graphql-tools@^4.0.0, graphql-tools@^4.0.6: +graphql-tools@^4.0.0, graphql-tools@^4.0.6: version "4.0.7" resolved "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.7.tgz#743309b96cb657ff45b607ee0a07193cd987e43c" integrity sha512-rApl8sT8t/W1uQRcwzxMYyUBiCl/XicluApiDkNze5TX/GR0BSTQMjM2UcRGdTmkbsb1Eqq6afkyyeG/zMxZYQ== @@ -10432,7 +10411,7 @@ graphql-upload@^8.0.2: http-errors "^1.7.3" object-path "^0.11.4" -graphql@*, "graphql@14.0.2 - 14.2.0 || ^14.3.1", graphql@14.6.0, graphql@^14.5.3, graphql@^14.5.8, graphql@^14.6.0: +graphql@*, graphql@14.6.0, graphql@^14.5.3, graphql@^14.5.8, graphql@^14.6.0: version "14.6.0" resolved "https://registry.npmjs.org/graphql/-/graphql-14.6.0.tgz#57822297111e874ea12f5cd4419616930cd83e49" integrity sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg== @@ -11032,7 +11011,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.1.0: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== @@ -11040,7 +11019,7 @@ import-fresh@^3.0.0, import-fresh@^3.1.0: parent-module "^1.0.0" resolve-from "^4.0.0" -import-from@3.0.0, import-from@^3.0.0: +import-from@3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== @@ -11080,11 +11059,6 @@ imurmurhash@^0.1.4: resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indent-string@4.0.0, indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - indent-string@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" @@ -11097,6 +11071,11 @@ indent-string@^3.0.0: resolved "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -11197,6 +11176,25 @@ inquirer@^6.2.0: strip-ansi "^5.1.0" through "^2.3.6" +inquirer@^7.3.3: + version "7.3.3" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -11591,6 +11589,11 @@ is-plain-object@^3.0.0: dependencies: isobject "^4.0.0" +is-promise@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" + integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== + is-promise@^2.1, is-promise@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" @@ -11908,7 +11911,7 @@ iterall@1.2.2: resolved "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== -iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2, iterall@^1.3.0: +iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2: version "1.3.0" resolved "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== @@ -12343,7 +12346,7 @@ js-levenshtein@^1.1.3: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.13.1, js-yaml@^3.10.0, js-yaml@^3.13.1: +js-yaml@3.13.1, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -12351,6 +12354,14 @@ js-yaml@3.13.1, js-yaml@^3.10.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^3.14.0: + version "3.14.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -12413,11 +12424,6 @@ json-parse-even-better-errors@^2.0.1: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.2.0.tgz#304d29aa54bb01156a1328c454034ff0ac8a7bf4" integrity sha512-2tLgY7LRNZ9Hd6gmCuBG5/OjRHQpSgJQqJoYyLLOhUgn8LdOYrjaZLcxkWnDads+AD/haWWioPNziXQcgvQJ/g== -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -12450,7 +12456,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json-to-pretty-yaml@1.2.2: +json-to-pretty-yaml@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz#f4cd0bd0a5e8fe1df25aaf5ba118b099fd992d5b" integrity sha1-9M0L0KXo/h3yWq9boRiwmf2ZLVs= @@ -12510,7 +12516,7 @@ jsonparse@^1.2.0, jsonparse@^1.3.1: resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= -jsonwebtoken@^8.1.0: +jsonwebtoken@^8.5.1: version "8.5.1" resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== @@ -12911,7 +12917,7 @@ listr-silent-renderer@^1.1.1: resolved "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= -listr-update-renderer@0.5.0, listr-update-renderer@^0.5.0: +listr-update-renderer@^0.5.0: version "0.5.0" resolved "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== @@ -12935,7 +12941,7 @@ listr-verbose-renderer@^0.5.0: date-fns "^1.27.2" figures "^2.0.0" -listr@0.14.3, listr@^0.14.3: +listr@^0.14.3: version "0.14.3" resolved "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== @@ -13069,11 +13075,6 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - lodash.defaults@^4.0.1: version "4.2.0" resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -13094,7 +13095,7 @@ lodash.foreach@^4.3.0: resolved "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= -lodash.get@^4, lodash.get@^4.4.2: +lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= @@ -13144,7 +13145,7 @@ lodash.memoize@4.x, lodash.memoize@^4.1.2: resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.merge@^4.4.0, lodash.merge@^4.6.1: +lodash.merge@^4.4.0: version "4.6.2" resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== @@ -13214,7 +13215,7 @@ lodash.xorby@^4.7.0: resolved "https://registry.npmjs.org/lodash.xorby/-/lodash.xorby-4.7.0.tgz#9c19a6f9f063a6eb53dd03c1b6871799801463d7" integrity sha1-nBmm+fBjputT3QPBtocXmYAUY9c= -lodash@4.17.15, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.2.1: +lodash@4.17.15, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.1: version "4.17.15" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -13224,12 +13225,10 @@ lodash@4.17.19: resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== -log-symbols@3.0.0, log-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" +lodash@^4.17.19, lodash@^4.17.20, lodash@~4.17.15: + version "4.17.20" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== log-symbols@^1.0.2: version "1.0.2" @@ -13245,15 +13244,19 @@ log-symbols@^2.1.0: dependencies: chalk "^2.0.1" -log-update@4.0.0: +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +log-symbols@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" + chalk "^4.0.0" log-update@^2.3.0: version "2.3.0" @@ -13409,7 +13412,7 @@ make-dir@^3.0.0, make-dir@^3.0.2: dependencies: semver "^6.0.0" -make-error@1.x, make-error@^1, make-error@^1.1.1: +make-error@1.x, make-error@^1.1.1: version "1.3.6" resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -14312,7 +14315,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@1.0.3, mkdirp@^1.0.3: +mkdirp@*, mkdirp@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz#4cf2e30ad45959dddea53ad97d518b6c8205e1ea" integrity sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g== @@ -14324,16 +14327,16 @@ mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@~0.5.1, mkdirp@~ dependencies: minimist "^1.2.5" +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -moment@^2.24.0: - version "2.24.0" - resolved "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" - integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== - move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -14592,16 +14595,16 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" - integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= - node-fetch@2.6.0, node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.5.0, node-fetch@^2.6.0: version "2.6.0" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== +node-fetch@2.6.1: + version "2.6.1" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -14615,6 +14618,11 @@ node-forge@0.9.0: resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== +node-gyp-build@~3.7.0: + version "3.7.0" + resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.7.0.tgz#daa77a4f547b9aed3e2aac779eaf151afd60ec8d" + integrity sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w== + node-gyp@^5.0.2: version "5.1.0" resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.0.tgz#8e31260a7af4a2e2f994b0673d4e0b3866156332" @@ -15295,6 +15303,13 @@ p-is-promise@^3.0.0: resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== +p-limit@3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" + integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== + dependencies: + p-try "^2.0.0" + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -15523,7 +15538,7 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-filepath@^1.0.1: +parse-filepath@^1.0.1, parse-filepath@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= @@ -16364,11 +16379,6 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier@1.19.1: - version "1.19.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - prettier@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/prettier/-/prettier-2.0.2.tgz#1ba8f3eb92231e769b7fcd7cb73ae1b6b74ade08" @@ -16399,35 +16409,6 @@ pretty-hrtime@^1.0.0: resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -prisma-json-schema@0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/prisma-json-schema/-/prisma-json-schema-0.1.3.tgz#6c302db8f464f8b92e8694d3f7dd3f41ac9afcbe" - integrity sha512-XZrf2080oR81mY8/OC8al68HiwBm0nXlFE727JIia0ZbNqwuV4MyRYk6E0+OIa6/9KEYxZrcAmoBs3EW1cCvnA== - -prisma-yml@1.34.10: - version "1.34.10" - resolved "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.34.10.tgz#0ef1ad3a125f54f200289cba56bdd9597f17f410" - integrity sha512-N9on+Cf/XQKFGUULk/681tnpfqiZ19UBTurFMm+/9rnml37mteDaFr2k8yz+K8Gt2xpEJ7kBu7ikG5PrXI1uoA== - dependencies: - ajv "5" - bluebird "^3.5.1" - chalk "^2.3.0" - debug "^3.1.0" - dotenv "^4.0.0" - fs-extra "^7.0.0" - graphql-request "^1.5.0" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - isomorphic-fetch "^2.2.1" - js-yaml "^3.10.0" - json-stable-stringify "^1.0.1" - jsonwebtoken "^8.1.0" - lodash "^4.17.4" - prisma-json-schema "0.1.3" - replaceall "^0.1.6" - scuid "^1.0.2" - yaml-ast-parser "^0.0.40" - private@^0.1.8: version "0.1.8" resolved "https://registry.npmjs.org/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -17172,10 +17153,10 @@ relateurl@0.2.x: resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -relay-compiler@9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/relay-compiler/-/relay-compiler-9.0.0.tgz#821c2fb972598ea8479db27fc5198133babec6c0" - integrity sha512-V509bPZMqVvITUcgXFgvO9pcnAKzF7pJXObnxfglOl3JsfJeDwTW1fu/CzPtvk5suxVMK6Cn9fMxZK2GdRXqYQ== +relay-compiler@10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/relay-compiler/-/relay-compiler-10.0.1.tgz#d3029a5121cad52e1e55073210365b827cee5f3b" + integrity sha512-hrTqh81XXxPB4EgvxPmvojICr0wJnRoumxOsMZnS9dmhDHSqcBAT7+C3+rdGm5sSdNH8mbMcZM7YSPDh8ABxQw== dependencies: "@babel/core" "^7.0.0" "@babel/generator" "^7.5.0" @@ -17184,20 +17165,20 @@ relay-compiler@9.0.0: "@babel/traverse" "^7.0.0" "@babel/types" "^7.0.0" babel-preset-fbjs "^3.3.0" - chalk "^2.4.1" - fast-glob "^2.2.2" + chalk "^4.0.0" fb-watchman "^2.0.0" fbjs "^1.0.0" + glob "^7.1.1" immutable "~3.7.6" nullthrows "^1.1.1" - relay-runtime "9.0.0" + relay-runtime "10.0.1" signedsource "^1.0.0" - yargs "^14.2.0" + yargs "^15.3.1" -relay-runtime@9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/relay-runtime/-/relay-runtime-9.0.0.tgz#03633be24dc3c8b56e472062de6f103954e3d296" - integrity sha512-bBNeNmwMOnqtCvuPnWdgflFSVwuUbGV7m7os8qHCUCSJ52DT5B/m6K4wisVh3eZ0QWYr7hheRDfmR/3UEdUe5A== +relay-runtime@10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/relay-runtime/-/relay-runtime-10.0.1.tgz#c83bd7e6e37234ece2a62a254e37dd199a4f74f9" + integrity sha512-sPYiuosq+5gQ7zXs2EKg2O8qRSsF8vmMYo6SIHEi4juBLg1HrdTEvqcaNztc2ZFmUc4vYZpTbbS4j/TZCtHuyA== dependencies: "@babel/runtime" "^7.0.0" fbjs "^1.0.0" @@ -17286,7 +17267,7 @@ request-promise-native@^1.0.7: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@2.88.2, request@^2.83.0, request@^2.87.0, request@^2.88.0: +request@^2.83.0, request@^2.87.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -17595,6 +17576,13 @@ rxjs@6.5.4, rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.0, rxjs@^6.5.1, rxjs@^6.5.2, rxj dependencies: tslib "^1.9.0" +rxjs@^6.6.0: + version "6.6.3" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -17718,7 +17706,7 @@ schema-utils@^2.5.0, schema-utils@^2.6.5: ajv "^6.12.2" ajv-keywords "^3.4.1" -scuid@^1.0.2: +scuid@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab" integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== @@ -17978,13 +17966,6 @@ simple-get@^3.0.3, simple-get@^3.1.0: once "^1.3.1" simple-concat "^1.0.0" -simple-git@1.132.0: - version "1.132.0" - resolved "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz#53ac4c5ec9e74e37c2fd461e23309f22fcdf09b1" - integrity sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg== - dependencies: - debug "^4.0.1" - simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -18017,15 +17998,6 @@ slice-ansi@0.0.4: resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - slick@^1.12.2: version "1.12.2" resolved "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz#bd048ddb74de7d1ca6915faa4a57570b3550c2d7" @@ -18209,7 +18181,7 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2, source-map-resolve@^0.5.3: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@0.5.16, source-map-support@^0.5.12, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12: +source-map-support@0.5.16, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12: version "0.5.16" resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== @@ -18509,6 +18481,11 @@ string-argv@0.3.1: resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +string-env-interpolation@1.0.1, string-env-interpolation@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" + integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== + string-length@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" @@ -18735,6 +18712,17 @@ stylus@0.54.7, stylus@^0.54.7: semver "^6.0.0" source-map "^0.7.3" +subscriptions-transport-ws@0.9.18: + version "0.9.18" + resolved "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.18.tgz#bcf02320c911fbadb054f7f928e51c6041a37b97" + integrity sha512-tztzcBTNoEbuErsVQpTN2xUNN/efAZXyCyL5m3x4t6SKrEiTL2N8SaKWBFWM4u56pL79ULif3zjyeq+oV+nOaA== + dependencies: + backo2 "^1.0.2" + eventemitter3 "^3.1.0" + iterall "^1.2.1" + symbol-observable "^1.0.4" + ws "^5.2.0" + subscriptions-transport-ws@^0.9.11, subscriptions-transport-ws@^0.9.16: version "0.9.16" resolved "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.16.tgz#90a422f0771d9c32069294c08608af2d47f596ec" @@ -19240,7 +19228,7 @@ ts-jest@^25.2.1: semver "^5.5" yargs-parser "^16.1.0" -ts-log@2.1.4: +ts-log@^2.1.4: version "2.1.4" resolved "https://registry.npmjs.org/ts-log/-/ts-log-2.1.4.tgz#063c5ad1cbab5d49d258d18015963489fb6fb59a" integrity sha512-P1EJSoyV+N3bR/IWFeAqXzKPZwHpnLY6j7j58mAvewHRipo+BQM2Y1f9Y9BjEQznKwgqqZm7H8iuixmssU7tYQ== @@ -19254,7 +19242,7 @@ ts-morph@^7.0.0: "@ts-morph/common" "~0.4.0" code-block-writer "^10.1.0" -ts-node@^8, ts-node@^8.4.1: +ts-node@^8.4.1: version "8.8.1" resolved "https://registry.npmjs.org/ts-node/-/ts-node-8.8.1.tgz#7c4d3e9ed33aa703b64b28d7f9d194768be5064d" integrity sha512-10DE9ONho06QORKAaCBpPiFCdW+tZJuY/84tyypGtl6r+/C7Asq0dhqbRZURuUlLQtZxxDvT8eoj8cGW0ha6Bg== @@ -19270,7 +19258,7 @@ tslib@1.10.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslib@1.11.1, tslib@^1, tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@1.11.1, tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.11.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== @@ -19280,7 +19268,7 @@ tslib@2.0.0: resolved "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz#18d13fc2dce04051e20f074cc8387fd8089ce4f3" integrity sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g== -tslib@2.0.1, tslib@~2.0.0: +tslib@2.0.1, tslib@^2.0.0, tslib@~2.0.0, tslib@~2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== @@ -19733,6 +19721,13 @@ useragent@2.3.0: lru-cache "4.1.x" tmp "0.0.x" +utf-8-validate@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.2.tgz#63cfbccd85dc1f2b66cf7a1d0eebc08ed056bfb3" + integrity sha512-SwV++i2gTD5qh2XqaPzBnNX88N6HdyhQrNNRykvcS0QKvItV9u3vPEJr+X5Hhfb1JC0r0e1alL0iB09rY8+nmw== + dependencies: + node-gyp-build "~3.7.0" + util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -19786,7 +19781,7 @@ uuid@3.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== -uuid@7.0.2, uuid@^7.0.1: +uuid@7.0.2: version "7.0.2" resolved "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz#7ff5c203467e91f5e0d85cfcbaaf7d2ebbca9be6" integrity sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw== @@ -19822,7 +19817,7 @@ valid-data-url@^2.0.0: resolved "https://registry.npmjs.org/valid-data-url/-/valid-data-url-2.0.0.tgz#2220fa9f8d4e761ebd3f3bb02770f1212b810537" integrity sha512-dyCZnv3aCey7yfTgIqdZanKl7xWAEEKCbgmR7SKqyK6QT/Z07ROactrgD1eA37C69ODRj7rNOjzKWVPh0EUjBA== -valid-url@1.0.9: +valid-url@1.0.9, valid-url@^1.0.9: version "1.0.9" resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA= @@ -19924,46 +19919,10 @@ void-elements@^2.0.0: resolved "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= -vscode-jsonrpc@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz#a7bf74ef3254d0a0c272fab15c82128e378b3be9" - integrity sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg== - -vscode-languageserver-protocol@3.14.1: - version "3.14.1" - resolved "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz#b8aab6afae2849c84a8983d39a1cf742417afe2f" - integrity sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g== - dependencies: - vscode-jsonrpc "^4.0.0" - vscode-languageserver-types "3.14.0" - -vscode-languageserver-types@3.14.0: - version "3.14.0" - resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz#d3b5952246d30e5241592b6dde8280e03942e743" - integrity sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A== - -vscode-languageserver@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz#0d2feddd33f92aadf5da32450df498d52f6f14eb" - integrity sha512-GuayqdKZqAwwaCUjDvMTAVRPJOp/SLON3mJ07eGsx/Iq9HjRymhKWztX41rISqDKhHVVyFM+IywICyZDla6U3A== - dependencies: - vscode-languageserver-protocol "3.14.1" - vscode-uri "^1.0.6" - -vscode-uri@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.6.tgz#6b8f141b0bbc44ad7b07e94f82f168ac7608ad4d" - integrity sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww== - -vscode-uri@^1.0.6: - version "1.0.8" - resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz#9769aaececae4026fb6e22359cb38946580ded59" - integrity sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ== - -vue-template-compiler@^2.6.11: - version "2.6.11" - resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" - integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA== +vue-template-compiler@^2.6.12: + version "2.6.12" + resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e" + integrity sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg== dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -20276,6 +20235,18 @@ websocket-extensions@>=0.1.1: resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== +websocket@1.0.32: + version "1.0.32" + resolved "https://registry.npmjs.org/websocket/-/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1" + integrity sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -20283,12 +20254,7 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" -whatwg-fetch@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== - -whatwg-fetch@3.0.0, whatwg-fetch@>=0.10.0: +whatwg-fetch@>=0.10.0: version "3.0.0" resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== @@ -20432,6 +20398,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -20592,6 +20567,11 @@ y18n@^3.2.1: resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + yallist@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" @@ -20607,10 +20587,15 @@ yallist@^4.0.0: resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml-ast-parser@^0.0.40: - version "0.0.40" - resolved "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.40.tgz#08536d4e73d322b1c9ce207ab8dd70e04d20ae6e" - integrity sha1-CFNtTnPTIrHJziB6uN1w4E0grm4= +yaml-ast-parser@^0.0.43: + version "0.0.43" + resolved "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" + integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== + +yaml@^1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== yaml@^1.7.2: version "1.8.3" @@ -20675,6 +20660,14 @@ yargs-parser@^18.1.0, yargs-parser@^18.1.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" @@ -20733,7 +20726,7 @@ yargs@^13.2.1, yargs@^13.3.0, yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@^14.2.0, yargs@^14.2.2: +yargs@^14.2.2: version "14.2.3" resolved "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== @@ -20767,6 +20760,23 @@ yargs@^15.0.0, yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.1" +yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + yargs@^7.1.0: version "7.1.0" resolved "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"