Ver Fonte

chore: Update graphql-code-generator to latest version

Relates to #92
Michael Bromley há 6 anos atrás
pai
commit
054f5acd21
43 ficheiros alterados com 6855 adições e 8598 exclusões
  1. 5 2
      admin-ui/src/app/customer/components/customer-detail/customer-detail.component.ts
  2. 9 7
      package.json
  3. 1621 1739
      packages/common/src/generated-shop-types.ts
  4. 4059 6043
      packages/common/src/generated-types.ts
  5. 5 0
      packages/core/e2e/__snapshots__/collection.e2e-spec.ts.snap
  6. 2 0
      packages/core/e2e/__snapshots__/product.e2e-spec.ts.snap
  7. 6 6
      packages/core/e2e/auth.e2e-spec.ts
  8. 10 2
      packages/core/e2e/collection.e2e-spec.ts
  9. 8 4
      packages/core/e2e/product.e2e-spec.ts
  10. 10 10
      packages/core/src/api/resolvers/admin/administrator.resolver.ts
  11. 6 6
      packages/core/src/api/resolvers/admin/asset.resolver.ts
  12. 2 2
      packages/core/src/api/resolvers/admin/auth.resolver.ts
  13. 6 6
      packages/core/src/api/resolvers/admin/channel.resolver.ts
  14. 11 11
      packages/core/src/api/resolvers/admin/collection.resolver.ts
  15. 10 10
      packages/core/src/api/resolvers/admin/country.resolver.ts
  16. 10 10
      packages/core/src/api/resolvers/admin/customer-group.resolver.ts
  17. 16 16
      packages/core/src/api/resolvers/admin/customer.resolver.ts
  18. 16 16
      packages/core/src/api/resolvers/admin/facet.resolver.ts
  19. 2 2
      packages/core/src/api/resolvers/admin/global-settings.resolver.ts
  20. 2 2
      packages/core/src/api/resolvers/admin/import.resolver.ts
  21. 3 3
      packages/core/src/api/resolvers/admin/order.resolver.ts
  22. 6 6
      packages/core/src/api/resolvers/admin/payment-method.resolver.ts
  23. 8 8
      packages/core/src/api/resolvers/admin/product-option.resolver.ts
  24. 18 18
      packages/core/src/api/resolvers/admin/product.resolver.ts
  25. 10 10
      packages/core/src/api/resolvers/admin/promotion.resolver.ts
  26. 8 8
      packages/core/src/api/resolvers/admin/role.resolver.ts
  27. 10 10
      packages/core/src/api/resolvers/admin/shipping-method.resolver.ts
  28. 6 6
      packages/core/src/api/resolvers/admin/tax-category.resolver.ts
  29. 8 8
      packages/core/src/api/resolvers/admin/tax-rate.resolver.ts
  30. 12 12
      packages/core/src/api/resolvers/admin/zone.resolver.ts
  31. 3 3
      packages/core/src/api/resolvers/base/base-auth.resolver.ts
  32. 2 2
      packages/core/src/api/resolvers/entity/customer-entity.resolver.ts
  33. 18 18
      packages/core/src/api/resolvers/shop/shop-auth.resolver.ts
  34. 8 8
      packages/core/src/api/resolvers/shop/shop-customer.resolver.ts
  35. 22 22
      packages/core/src/api/resolvers/shop/shop-order.resolver.ts
  36. 8 8
      packages/core/src/api/resolvers/shop/shop-products.resolver.ts
  37. 3 3
      packages/core/src/plugin/default-search-plugin/fulltext-search.resolver.ts
  38. 4 4
      packages/core/src/service/services/customer-group.service.ts
  39. 4 4
      packages/core/src/service/services/zone.service.ts
  40. 0 0
      schema-admin.json
  41. 487 287
      schema.json
  42. 14 9
      scripts/codegen/generate-graphql-types.ts
  43. 377 247
      yarn.lock

+ 5 - 2
admin-ui/src/app/customer/components/customer-detail/customer-detail.component.ts

@@ -9,6 +9,7 @@ import {
     Customer,
     GetAvailableCountries,
     GetCustomer,
+    GetCustomerQuery,
     UpdateCustomerInput,
 } from 'shared/generated-types';
 import { CustomFieldConfig } from 'shared/shared-types';
@@ -20,13 +21,15 @@ import { NotificationService } from '../../../core/providers/notification/notifi
 import { DataService } from '../../../data/providers/data.service';
 import { ServerConfigService } from '../../../data/server-config';
 
+type CustomerWithOrders = NonNullable<GetCustomerQuery['customer']>;
+
 @Component({
     selector: 'vdr-customer-detail',
     templateUrl: './customer-detail.component.html',
     styleUrls: ['./customer-detail.component.scss'],
     changeDetection: ChangeDetectionStrategy.OnPush,
 })
-export class CustomerDetailComponent extends BaseDetailComponent<GetCustomer.Customer>
+export class CustomerDetailComponent extends BaseDetailComponent<CustomerWithOrders>
     implements OnInit, OnDestroy {
     detailForm: FormGroup;
     customFields: CustomFieldConfig[];
@@ -38,7 +41,7 @@ export class CustomerDetailComponent extends BaseDetailComponent<GetCustomer.Cus
     addressDefaultsUpdated = false;
     ordersPerPage = 10;
     currentOrdersPage = 1;
-    private orderListUpdates$ = new Subject<GetCustomer.Customer>();
+    private orderListUpdates$ = new Subject<CustomerWithOrders>();
 
     constructor(
         route: ActivatedRoute,

+ 9 - 7
package.json

@@ -31,17 +31,17 @@
     "publish:packages": "yarn build && lerna publish --exact -m \"chore: Publish %s release\" --no-git-tag-version"
   },
   "devDependencies": {
+    "@graphql-codegen/add": "^1.1.3",
+    "@graphql-codegen/cli": "^1.1.3",
+    "@graphql-codegen/time": "^1.1.3",
+    "@graphql-codegen/typescript": "^1.1.3",
+    "@graphql-codegen/typescript-compatibility": "^1.1.3",
+    "@graphql-codegen/typescript-operations": "^1.1.3",
     "@types/graphql": "^14.0.5",
     "@types/klaw-sync": "^6.0.0",
     "@types/node": "^10.11.5",
     "concurrently": "^4.1.0",
     "graphql": "^14.1.1",
-    "graphql-code-generator": "^0.16.0",
-    "graphql-codegen-add": "^0.16.0",
-    "graphql-codegen-time": "^0.16.0",
-    "graphql-codegen-typescript-client": "^0.16.0",
-    "graphql-codegen-typescript-common": "^0.16.0",
-    "graphql-codegen-typescript-server": "^0.16.0",
     "graphql-tools": "^4.0.0",
     "husky": "^0.14.3",
     "jest": "^24.5.0",
@@ -54,5 +54,7 @@
     "tslint": "^5.11.0",
     "typescript": "^3.2.4"
   },
-  "workspaces": ["packages/*"]
+  "workspaces": [
+    "packages/*"
+  ]
 }

+ 1621 - 1739
packages/common/src/generated-shop-types.ts

@@ -1,2011 +1,1893 @@
 // tslint:disable
-// Generated in 2019-05-07T09:20:23+02:00
-export type Maybe<T> = T | null;
-
-export interface OrderListOptions {
-    skip?: Maybe<number>;
-
-    take?: Maybe<number>;
-
-    sort?: Maybe<OrderSortParameter>;
-
-    filter?: Maybe<OrderFilterParameter>;
-}
-
-export interface OrderSortParameter {
-    id?: Maybe<SortOrder>;
-
-    createdAt?: Maybe<SortOrder>;
-
-    updatedAt?: Maybe<SortOrder>;
-
-    code?: Maybe<SortOrder>;
-
-    state?: Maybe<SortOrder>;
-
-    subTotalBeforeTax?: Maybe<SortOrder>;
-
-    subTotal?: Maybe<SortOrder>;
-
-    shipping?: Maybe<SortOrder>;
-
-    totalBeforeTax?: Maybe<SortOrder>;
-
-    total?: Maybe<SortOrder>;
-}
-
-export interface OrderFilterParameter {
-    createdAt?: Maybe<DateOperators>;
-
-    updatedAt?: Maybe<DateOperators>;
-
-    code?: Maybe<StringOperators>;
-
-    state?: Maybe<StringOperators>;
-
-    active?: Maybe<BooleanOperators>;
-
-    subTotalBeforeTax?: Maybe<NumberOperators>;
-
-    subTotal?: Maybe<NumberOperators>;
-
-    currencyCode?: Maybe<StringOperators>;
-
-    shipping?: Maybe<NumberOperators>;
-
-    totalBeforeTax?: Maybe<NumberOperators>;
-
-    total?: Maybe<NumberOperators>;
-}
-
-export interface DateOperators {
-    eq?: Maybe<DateTime>;
-
-    before?: Maybe<DateTime>;
-
-    after?: Maybe<DateTime>;
-
-    between?: Maybe<DateRange>;
-}
-
-export interface DateRange {
-    start: DateTime;
-
-    end: DateTime;
-}
-
-export interface StringOperators {
-    eq?: Maybe<string>;
-
-    contains?: Maybe<string>;
-}
+// Generated in 2019-05-07T10:31:37+02:00
 
-export interface BooleanOperators {
-    eq?: Maybe<boolean>;
-}
-
-export interface NumberOperators {
-    eq?: Maybe<number>;
-
-    lt?: Maybe<number>;
-
-    lte?: Maybe<number>;
-
-    gt?: Maybe<number>;
-
-    gte?: Maybe<number>;
-
-    between?: Maybe<NumberRange>;
-}
+export type Maybe<T> = T | null;
+/** All built-in and custom scalars, mapped to their actual values */
+export type Scalars = {
+    ID: string;
+    String: string;
+    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 Address = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    fullName?: Maybe<Scalars['String']>;
+    company?: Maybe<Scalars['String']>;
+    streetLine1: Scalars['String'];
+    streetLine2?: Maybe<Scalars['String']>;
+    city?: Maybe<Scalars['String']>;
+    province?: Maybe<Scalars['String']>;
+    postalCode?: Maybe<Scalars['String']>;
+    country: Country;
+    phoneNumber?: Maybe<Scalars['String']>;
+    defaultShippingAddress?: Maybe<Scalars['Boolean']>;
+    defaultBillingAddress?: Maybe<Scalars['Boolean']>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type Adjustment = {
+    adjustmentSource: Scalars['String'];
+    type: AdjustmentType;
+    description: Scalars['String'];
+    amount: Scalars['Int'];
+};
 
-export interface NumberRange {
-    start: number;
+export type AdjustmentOperations = {
+    conditions: Array<ConfigurableOperation>;
+    actions: Array<ConfigurableOperation>;
+};
 
-    end: number;
+export enum AdjustmentType {
+    TAX = 'TAX',
+    PROMOTION = 'PROMOTION',
+    SHIPPING = 'SHIPPING',
+    REFUND = 'REFUND',
+    TAX_REFUND = 'TAX_REFUND',
+    PROMOTION_REFUND = 'PROMOTION_REFUND',
+    SHIPPING_REFUND = 'SHIPPING_REFUND',
 }
 
-export interface CollectionListOptions {
-    skip?: Maybe<number>;
-
-    take?: Maybe<number>;
+export type Administrator = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    firstName: Scalars['String'];
+    lastName: Scalars['String'];
+    emailAddress: Scalars['String'];
+    user: User;
+};
+
+export type AdministratorList = PaginatedList & {
+    items: Array<Administrator>;
+    totalItems: Scalars['Int'];
+};
+
+export type Asset = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    name: Scalars['String'];
+    type: AssetType;
+    fileSize: Scalars['Int'];
+    mimeType: Scalars['String'];
+    source: Scalars['String'];
+    preview: Scalars['String'];
+};
 
-    sort?: Maybe<CollectionSortParameter>;
+export type AssetList = PaginatedList & {
+    items: Array<Asset>;
+    totalItems: Scalars['Int'];
+};
 
-    filter?: Maybe<CollectionFilterParameter>;
+export enum AssetType {
+    IMAGE = 'IMAGE',
+    VIDEO = 'VIDEO',
+    BINARY = 'BINARY',
 }
 
-export interface CollectionSortParameter {
-    id?: Maybe<SortOrder>;
-
-    createdAt?: Maybe<SortOrder>;
-
-    updatedAt?: Maybe<SortOrder>;
+export type BooleanOperators = {
+    eq?: Maybe<Scalars['Boolean']>;
+};
+
+export type Cancellation = Node &
+    StockMovement & {
+        id: Scalars['ID'];
+        createdAt: Scalars['DateTime'];
+        updatedAt: Scalars['DateTime'];
+        productVariant: ProductVariant;
+        type: StockMovementType;
+        quantity: Scalars['Int'];
+        orderLine: OrderLine;
+    };
+
+export type Channel = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    code: Scalars['String'];
+    token: Scalars['String'];
+    defaultTaxZone?: Maybe<Zone>;
+    defaultShippingZone?: Maybe<Zone>;
+    defaultLanguageCode: LanguageCode;
+    currencyCode: CurrencyCode;
+    pricesIncludeTax: Scalars['Boolean'];
+};
 
-    name?: Maybe<SortOrder>;
+export type Collection = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode?: Maybe<LanguageCode>;
+    name: Scalars['String'];
+    breadcrumbs: Array<CollectionBreadcrumb>;
+    position: Scalars['Int'];
+    description: Scalars['String'];
+    featuredAsset?: Maybe<Asset>;
+    assets: Array<Asset>;
+    parent?: Maybe<Collection>;
+    children?: Maybe<Array<Collection>>;
+    filters: Array<ConfigurableOperation>;
+    translations: Array<CollectionTranslation>;
+    productVariants: ProductVariantList;
+    customFields?: Maybe<Scalars['JSON']>;
+};
 
-    position?: Maybe<SortOrder>;
+export type CollectionProductVariantsArgs = {
+    options?: Maybe<ProductVariantListOptions>;
+};
 
-    description?: Maybe<SortOrder>;
-}
+export type CollectionBreadcrumb = {
+    id: Scalars['ID'];
+    name: Scalars['String'];
+};
 
-export interface CollectionFilterParameter {
+export type CollectionFilterParameter = {
     createdAt?: Maybe<DateOperators>;
-
     updatedAt?: Maybe<DateOperators>;
-
     languageCode?: Maybe<StringOperators>;
-
     name?: Maybe<StringOperators>;
-
     position?: Maybe<NumberOperators>;
-
     description?: Maybe<StringOperators>;
-}
-
-export interface ProductVariantListOptions {
-    skip?: Maybe<number>;
-
-    take?: Maybe<number>;
-
-    sort?: Maybe<ProductVariantSortParameter>;
-
-    filter?: Maybe<ProductVariantFilterParameter>;
-}
-
-export interface ProductVariantSortParameter {
-    id?: Maybe<SortOrder>;
-
-    productId?: Maybe<SortOrder>;
+};
 
-    createdAt?: Maybe<SortOrder>;
-
-    updatedAt?: Maybe<SortOrder>;
-
-    sku?: Maybe<SortOrder>;
-
-    name?: Maybe<SortOrder>;
-
-    price?: Maybe<SortOrder>;
-
-    priceWithTax?: Maybe<SortOrder>;
-}
-
-export interface ProductVariantFilterParameter {
-    createdAt?: Maybe<DateOperators>;
-
-    updatedAt?: Maybe<DateOperators>;
-
-    languageCode?: Maybe<StringOperators>;
-
-    sku?: Maybe<StringOperators>;
-
-    name?: Maybe<StringOperators>;
-
-    price?: Maybe<NumberOperators>;
-
-    currencyCode?: Maybe<StringOperators>;
-
-    priceIncludesTax?: Maybe<BooleanOperators>;
-
-    priceWithTax?: Maybe<NumberOperators>;
-}
-
-export interface ProductListOptions {
-    skip?: Maybe<number>;
+export type CollectionList = PaginatedList & {
+    items: Array<Collection>;
+    totalItems: Scalars['Int'];
+};
 
-    take?: Maybe<number>;
-
-    sort?: Maybe<ProductSortParameter>;
-
-    filter?: Maybe<ProductFilterParameter>;
-}
+export type CollectionListOptions = {
+    skip?: Maybe<Scalars['Int']>;
+    take?: Maybe<Scalars['Int']>;
+    sort?: Maybe<CollectionSortParameter>;
+    filter?: Maybe<CollectionFilterParameter>;
+};
 
-export interface ProductSortParameter {
+export type CollectionSortParameter = {
     id?: Maybe<SortOrder>;
-
     createdAt?: Maybe<SortOrder>;
-
     updatedAt?: Maybe<SortOrder>;
-
     name?: Maybe<SortOrder>;
-
-    slug?: Maybe<SortOrder>;
-
+    position?: Maybe<SortOrder>;
     description?: Maybe<SortOrder>;
-}
-
-export interface ProductFilterParameter {
-    createdAt?: Maybe<DateOperators>;
-
-    updatedAt?: Maybe<DateOperators>;
-
-    languageCode?: Maybe<StringOperators>;
-
-    name?: Maybe<StringOperators>;
-
-    slug?: Maybe<StringOperators>;
-
-    description?: Maybe<StringOperators>;
-}
-
-export interface SearchInput {
-    term?: Maybe<string>;
-
-    facetIds?: Maybe<string[]>;
-
-    collectionId?: Maybe<string>;
-
-    groupByProduct?: Maybe<boolean>;
+};
 
-    take?: Maybe<number>;
-
-    skip?: Maybe<number>;
-
-    sort?: Maybe<SearchResultSortParameter>;
-}
-
-export interface SearchResultSortParameter {
-    name?: Maybe<SortOrder>;
-
-    price?: Maybe<SortOrder>;
-}
-
-export interface CreateAddressInput {
-    fullName?: Maybe<string>;
-
-    company?: Maybe<string>;
-
-    streetLine1: string;
-
-    streetLine2?: Maybe<string>;
-
-    city?: Maybe<string>;
-
-    province?: Maybe<string>;
-
-    postalCode?: Maybe<string>;
-
-    countryCode: string;
-
-    phoneNumber?: Maybe<string>;
-
-    defaultShippingAddress?: Maybe<boolean>;
-
-    defaultBillingAddress?: Maybe<boolean>;
-
-    customFields?: Maybe<Json>;
-}
-
-export interface PaymentInput {
-    method: string;
-
-    metadata: Json;
-}
-
-export interface CreateCustomerInput {
-    title?: Maybe<string>;
-
-    firstName: string;
-
-    lastName: string;
-
-    phoneNumber?: Maybe<string>;
-
-    emailAddress: string;
-
-    customFields?: Maybe<Json>;
-}
-
-export interface RegisterCustomerInput {
-    emailAddress: string;
-
-    title?: Maybe<string>;
-
-    firstName?: Maybe<string>;
-
-    lastName?: Maybe<string>;
-
-    password?: Maybe<string>;
-}
-
-export interface UpdateCustomerInput {
-    title?: Maybe<string>;
-
-    firstName?: Maybe<string>;
-
-    lastName?: Maybe<string>;
+export type CollectionTranslation = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+    description: Scalars['String'];
+};
 
-    phoneNumber?: Maybe<string>;
+export type ConfigArg = {
+    name: Scalars['String'];
+    type: ConfigArgType;
+    value?: Maybe<Scalars['String']>;
+};
 
-    customFields?: Maybe<Json>;
+export type ConfigArgInput = {
+    name: Scalars['String'];
+    type: ConfigArgType;
+    value?: Maybe<Scalars['String']>;
+};
+
+/** Certain entities allow arbitrary configuration arguments to be specified which can then
+ * be set in the admin-ui and used in the business logic of the app. These are the valid
+ * data types of such arguments. The data type influences:
+ *
+ * 1. How the argument form field is rendered in the admin-ui
+ * 2. The JavaScript type into which the value is coerced before being passed to the business logic.
+ */
+export enum ConfigArgType {
+    PERCENTAGE = 'PERCENTAGE',
+    MONEY = 'MONEY',
+    INT = 'INT',
+    STRING = 'STRING',
+    DATETIME = 'DATETIME',
+    BOOLEAN = 'BOOLEAN',
+    FACET_VALUE_IDS = 'FACET_VALUE_IDS',
+    STRING_OPERATOR = 'STRING_OPERATOR',
 }
 
-export interface UpdateAddressInput {
-    id: string;
-
-    fullName?: Maybe<string>;
-
-    company?: Maybe<string>;
-
-    streetLine1?: Maybe<string>;
+export type ConfigurableOperation = {
+    code: Scalars['String'];
+    args: Array<ConfigArg>;
+    description: Scalars['String'];
+};
 
-    streetLine2?: Maybe<string>;
+export type ConfigurableOperationInput = {
+    code: Scalars['String'];
+    arguments: Array<ConfigArgInput>;
+};
 
-    city?: Maybe<string>;
-
-    province?: Maybe<string>;
-
-    postalCode?: Maybe<string>;
-
-    countryCode?: Maybe<string>;
-
-    phoneNumber?: Maybe<string>;
-
-    defaultShippingAddress?: Maybe<boolean>;
-
-    defaultBillingAddress?: Maybe<boolean>;
+export type Country = Node & {
+    id: Scalars['ID'];
+    languageCode: LanguageCode;
+    code: Scalars['String'];
+    name: Scalars['String'];
+    enabled: Scalars['Boolean'];
+    translations: Array<CountryTranslation>;
+};
+
+export type CountryList = PaginatedList & {
+    items: Array<Country>;
+    totalItems: Scalars['Int'];
+};
+
+export type CountryTranslation = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+};
+
+export type CreateAddressInput = {
+    fullName?: Maybe<Scalars['String']>;
+    company?: Maybe<Scalars['String']>;
+    streetLine1: Scalars['String'];
+    streetLine2?: Maybe<Scalars['String']>;
+    city?: Maybe<Scalars['String']>;
+    province?: Maybe<Scalars['String']>;
+    postalCode?: Maybe<Scalars['String']>;
+    countryCode: Scalars['String'];
+    phoneNumber?: Maybe<Scalars['String']>;
+    defaultShippingAddress?: Maybe<Scalars['Boolean']>;
+    defaultBillingAddress?: Maybe<Scalars['Boolean']>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type CreateCustomerInput = {
+    title?: Maybe<Scalars['String']>;
+    firstName: Scalars['String'];
+    lastName: Scalars['String'];
+    phoneNumber?: Maybe<Scalars['String']>;
+    emailAddress: Scalars['String'];
+    customFields?: Maybe<Scalars['JSON']>;
+};
 
-    customFields?: Maybe<Json>;
+/** ISO 4217 currency code */
+export enum CurrencyCode {
+    /** United Arab Emirates dirham */
+    AED = 'AED',
+    /** Afghan afghani */
+    AFN = 'AFN',
+    /** Albanian lek */
+    ALL = 'ALL',
+    /** Armenian dram */
+    AMD = 'AMD',
+    /** Netherlands Antillean guilder */
+    ANG = 'ANG',
+    /** Angolan kwanza */
+    AOA = 'AOA',
+    /** Argentine peso */
+    ARS = 'ARS',
+    /** Australian dollar */
+    AUD = 'AUD',
+    /** Aruban florin */
+    AWG = 'AWG',
+    /** Azerbaijani manat */
+    AZN = 'AZN',
+    /** Bosnia and Herzegovina convertible mark */
+    BAM = 'BAM',
+    /** Barbados dollar */
+    BBD = 'BBD',
+    /** Bangladeshi taka */
+    BDT = 'BDT',
+    /** Bulgarian lev */
+    BGN = 'BGN',
+    /** Bahraini dinar */
+    BHD = 'BHD',
+    /** Burundian franc */
+    BIF = 'BIF',
+    /** Bermudian dollar */
+    BMD = 'BMD',
+    /** Brunei dollar */
+    BND = 'BND',
+    /** Boliviano */
+    BOB = 'BOB',
+    /** Brazilian real */
+    BRL = 'BRL',
+    /** Bahamian dollar */
+    BSD = 'BSD',
+    /** Bhutanese ngultrum */
+    BTN = 'BTN',
+    /** Botswana pula */
+    BWP = 'BWP',
+    /** Belarusian ruble */
+    BYN = 'BYN',
+    /** Belize dollar */
+    BZD = 'BZD',
+    /** Canadian dollar */
+    CAD = 'CAD',
+    /** Congolese franc */
+    CHE = 'CHE',
+    /** Swiss franc */
+    CHW = 'CHW',
+    /** Chilean peso */
+    CLP = 'CLP',
+    /** Renminbi (Chinese) yuan */
+    CNY = 'CNY',
+    /** Colombian peso */
+    COP = 'COP',
+    /** Costa Rican colon */
+    CRC = 'CRC',
+    /** Cuban convertible peso */
+    CUC = 'CUC',
+    /** Cuban peso */
+    CUP = 'CUP',
+    /** Cape Verde escudo */
+    CVE = 'CVE',
+    /** Czech koruna */
+    CZK = 'CZK',
+    /** Djiboutian franc */
+    DJF = 'DJF',
+    /** Danish krone */
+    DKK = 'DKK',
+    /** Dominican peso */
+    DOP = 'DOP',
+    /** Algerian dinar */
+    DZD = 'DZD',
+    /** Egyptian pound */
+    EGP = 'EGP',
+    /** Eritrean nakfa */
+    ERN = 'ERN',
+    /** Ethiopian birr */
+    ETB = 'ETB',
+    /** Euro */
+    EUR = 'EUR',
+    /** Fiji dollar */
+    FJD = 'FJD',
+    /** Falkland Islands pound */
+    FKP = 'FKP',
+    /** Pound sterling */
+    GBP = 'GBP',
+    /** Georgian lari */
+    GEL = 'GEL',
+    /** Ghanaian cedi */
+    GHS = 'GHS',
+    /** Gibraltar pound */
+    GIP = 'GIP',
+    /** Gambian dalasi */
+    GMD = 'GMD',
+    /** Guinean franc */
+    GNF = 'GNF',
+    /** Guatemalan quetzal */
+    GTQ = 'GTQ',
+    /** Guyanese dollar */
+    GYD = 'GYD',
+    /** Hong Kong dollar */
+    HKD = 'HKD',
+    /** Honduran lempira */
+    HNL = 'HNL',
+    /** Croatian kuna */
+    HRK = 'HRK',
+    /** Haitian gourde */
+    HTG = 'HTG',
+    /** Hungarian forint */
+    HUF = 'HUF',
+    /** Indonesian rupiah */
+    IDR = 'IDR',
+    /** Israeli new shekel */
+    ILS = 'ILS',
+    /** Indian rupee */
+    INR = 'INR',
+    /** Iraqi dinar */
+    IQD = 'IQD',
+    /** Iranian rial */
+    IRR = 'IRR',
+    /** Icelandic króna */
+    ISK = 'ISK',
+    /** Jamaican dollar */
+    JMD = 'JMD',
+    /** Jordanian dinar */
+    JOD = 'JOD',
+    /** Japanese yen */
+    JPY = 'JPY',
+    /** Kenyan shilling */
+    KES = 'KES',
+    /** Kyrgyzstani som */
+    KGS = 'KGS',
+    /** Cambodian riel */
+    KHR = 'KHR',
+    /** Comoro franc */
+    KMF = 'KMF',
+    /** North Korean won */
+    KPW = 'KPW',
+    /** South Korean won */
+    KRW = 'KRW',
+    /** Kuwaiti dinar */
+    KWD = 'KWD',
+    /** Cayman Islands dollar */
+    KYD = 'KYD',
+    /** Kazakhstani tenge */
+    KZT = 'KZT',
+    /** Lao kip */
+    LAK = 'LAK',
+    /** Lebanese pound */
+    LBP = 'LBP',
+    /** Sri Lankan rupee */
+    LKR = 'LKR',
+    /** Liberian dollar */
+    LRD = 'LRD',
+    /** Lesotho loti */
+    LSL = 'LSL',
+    /** Libyan dinar */
+    LYD = 'LYD',
+    /** Moroccan dirham */
+    MAD = 'MAD',
+    /** Moldovan leu */
+    MDL = 'MDL',
+    /** Malagasy ariary */
+    MGA = 'MGA',
+    /** Macedonian denar */
+    MKD = 'MKD',
+    /** Myanmar kyat */
+    MMK = 'MMK',
+    /** Mongolian tögrög */
+    MNT = 'MNT',
+    /** Macanese pataca */
+    MOP = 'MOP',
+    /** Mauritanian ouguiya */
+    MRU = 'MRU',
+    /** Mauritian rupee */
+    MUR = 'MUR',
+    /** Maldivian rufiyaa */
+    MVR = 'MVR',
+    /** Malawian kwacha */
+    MWK = 'MWK',
+    /** Mexican peso */
+    MXN = 'MXN',
+    /** Malaysian ringgit */
+    MYR = 'MYR',
+    /** Mozambican metical */
+    MZN = 'MZN',
+    /** Namibian dollar */
+    NAD = 'NAD',
+    /** Nigerian naira */
+    NGN = 'NGN',
+    /** Nicaraguan córdoba */
+    NIO = 'NIO',
+    /** Norwegian krone */
+    NOK = 'NOK',
+    /** Nepalese rupee */
+    NPR = 'NPR',
+    /** New Zealand dollar */
+    NZD = 'NZD',
+    /** Omani rial */
+    OMR = 'OMR',
+    /** Panamanian balboa */
+    PAB = 'PAB',
+    /** Peruvian sol */
+    PEN = 'PEN',
+    /** Papua New Guinean kina */
+    PGK = 'PGK',
+    /** Philippine peso */
+    PHP = 'PHP',
+    /** Pakistani rupee */
+    PKR = 'PKR',
+    /** Polish złoty */
+    PLN = 'PLN',
+    /** Paraguayan guaraní */
+    PYG = 'PYG',
+    /** Qatari riyal */
+    QAR = 'QAR',
+    /** Romanian leu */
+    RON = 'RON',
+    /** Serbian dinar */
+    RSD = 'RSD',
+    /** Russian ruble */
+    RUB = 'RUB',
+    /** Rwandan franc */
+    RWF = 'RWF',
+    /** Saudi riyal */
+    SAR = 'SAR',
+    /** Solomon Islands dollar */
+    SBD = 'SBD',
+    /** Seychelles rupee */
+    SCR = 'SCR',
+    /** Sudanese pound */
+    SDG = 'SDG',
+    /** Swedish krona/kronor */
+    SEK = 'SEK',
+    /** Singapore dollar */
+    SGD = 'SGD',
+    /** Saint Helena pound */
+    SHP = 'SHP',
+    /** Sierra Leonean leone */
+    SLL = 'SLL',
+    /** Somali shilling */
+    SOS = 'SOS',
+    /** Surinamese dollar */
+    SRD = 'SRD',
+    /** South Sudanese pound */
+    SSP = 'SSP',
+    /** São Tomé and Príncipe dobra */
+    STN = 'STN',
+    /** Salvadoran colón */
+    SVC = 'SVC',
+    /** Syrian pound */
+    SYP = 'SYP',
+    /** Swazi lilangeni */
+    SZL = 'SZL',
+    /** Thai baht */
+    THB = 'THB',
+    /** Tajikistani somoni */
+    TJS = 'TJS',
+    /** Turkmenistan manat */
+    TMT = 'TMT',
+    /** Tunisian dinar */
+    TND = 'TND',
+    /** Tongan paʻanga */
+    TOP = 'TOP',
+    /** Turkish lira */
+    TRY = 'TRY',
+    /** Trinidad and Tobago dollar */
+    TTD = 'TTD',
+    /** New Taiwan dollar */
+    TWD = 'TWD',
+    /** Tanzanian shilling */
+    TZS = 'TZS',
+    /** Ukrainian hryvnia */
+    UAH = 'UAH',
+    /** Ugandan shilling */
+    UGX = 'UGX',
+    /** United States dollar */
+    USD = 'USD',
+    /** Uruguayan peso */
+    UYU = 'UYU',
+    /** Uzbekistan som */
+    UZS = 'UZS',
+    /** Venezuelan bolívar soberano */
+    VES = 'VES',
+    /** Vietnamese đồng */
+    VND = 'VND',
+    /** Vanuatu vatu */
+    VUV = 'VUV',
+    /** Samoan tala */
+    WST = 'WST',
+    /** CFA franc BEAC */
+    XAF = 'XAF',
+    /** East Caribbean dollar */
+    XCD = 'XCD',
+    /** CFA franc BCEAO */
+    XOF = 'XOF',
+    /** CFP franc (franc Pacifique) */
+    XPF = 'XPF',
+    /** Yemeni rial */
+    YER = 'YER',
+    /** South African rand */
+    ZAR = 'ZAR',
+    /** Zambian kwacha */
+    ZMW = 'ZMW',
+    /** Zimbabwean dollar */
+    ZWL = 'ZWL',
 }
 
-export interface ConfigArgInput {
-    name: string;
+export type CurrentUser = {
+    id: Scalars['ID'];
+    identifier: Scalars['String'];
+    channelTokens: Array<Scalars['String']>;
+};
+
+export type Customer = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    title?: Maybe<Scalars['String']>;
+    firstName: Scalars['String'];
+    lastName: Scalars['String'];
+    phoneNumber?: Maybe<Scalars['String']>;
+    emailAddress: Scalars['String'];
+    addresses?: Maybe<Array<Address>>;
+    orders: OrderList;
+    user?: Maybe<User>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type CustomerOrdersArgs = {
+    options?: Maybe<OrderListOptions>;
+};
+
+export type CustomerGroup = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    name: Scalars['String'];
+};
+
+export type CustomerList = PaginatedList & {
+    items: Array<Customer>;
+    totalItems: Scalars['Int'];
+};
+
+export type DateOperators = {
+    eq?: Maybe<Scalars['DateTime']>;
+    before?: Maybe<Scalars['DateTime']>;
+    after?: Maybe<Scalars['DateTime']>;
+    between?: Maybe<DateRange>;
+};
+
+export type DateRange = {
+    start: Scalars['DateTime'];
+    end: Scalars['DateTime'];
+};
 
-    type: ConfigArgType;
+export type DeletionResponse = {
+    result: DeletionResult;
+    message?: Maybe<Scalars['String']>;
+};
 
-    value?: Maybe<string>;
+export enum DeletionResult {
+    /** The entity was successfully deleted */
+    DELETED = 'DELETED',
+    /** Deletion did not take place, reason given in message */
+    NOT_DELETED = 'NOT_DELETED',
 }
 
-export interface ConfigurableOperationInput {
-    code: string;
+export type Facet = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+    code: Scalars['String'];
+    values: Array<FacetValue>;
+    translations: Array<FacetTranslation>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type FacetList = PaginatedList & {
+    items: Array<Facet>;
+    totalItems: Scalars['Int'];
+};
+
+export type FacetTranslation = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+};
+
+export type FacetValue = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    facet: Facet;
+    name: Scalars['String'];
+    code: Scalars['String'];
+    translations: Array<FacetValueTranslation>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+/** Which FacetValues are present in the products returned
+ * by the search, and in what quantity.
+ */
+export type FacetValueResult = {
+    facetValue: FacetValue;
+    count: Scalars['Int'];
+};
+
+export type FacetValueTranslation = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+};
+
+export type GlobalSettings = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    availableLanguages: Array<LanguageCode>;
+    trackInventory: Scalars['Boolean'];
+    serverConfig: ServerConfig;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type ImportInfo = {
+    errors?: Maybe<Array<Scalars['String']>>;
+    processed: Scalars['Int'];
+    imported: Scalars['Int'];
+};
 
-    arguments: ConfigArgInput[];
-}
 /** ISO 639-1 language code */
 export enum LanguageCode {
+    /** Afar */
     aa = 'aa',
+    /** Abkhazian */
     ab = 'ab',
+    /** Afrikaans */
     af = 'af',
+    /** Akan */
     ak = 'ak',
+    /** Albanian */
     sq = 'sq',
+    /** Amharic */
     am = 'am',
+    /** Arabic */
     ar = 'ar',
+    /** Aragonese */
     an = 'an',
+    /** Armenian */
     hy = 'hy',
+    /** Assamese */
     as = 'as',
+    /** Avaric */
     av = 'av',
+    /** Avestan */
     ae = 'ae',
+    /** Aymara */
     ay = 'ay',
+    /** Azerbaijani */
     az = 'az',
+    /** Bashkir */
     ba = 'ba',
+    /** Bambara */
     bm = 'bm',
+    /** Basque */
     eu = 'eu',
+    /** Belarusian */
     be = 'be',
+    /** Bengali */
     bn = 'bn',
+    /** Bihari languages */
     bh = 'bh',
+    /** Bislama */
     bi = 'bi',
+    /** Bosnian */
     bs = 'bs',
+    /** Breton */
     br = 'br',
+    /** Bulgarian */
     bg = 'bg',
+    /** Burmese */
     my = 'my',
+    /** Catalan; Valencian */
     ca = 'ca',
+    /** Chamorro */
     ch = 'ch',
+    /** Chechen */
     ce = 'ce',
+    /** Chinese */
     zh = 'zh',
+    /** Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic */
     cu = 'cu',
+    /** Chuvash */
     cv = 'cv',
+    /** Cornish */
     kw = 'kw',
+    /** Corsican */
     co = 'co',
+    /** Cree */
     cr = 'cr',
+    /** Czech */
     cs = 'cs',
+    /** Danish */
     da = 'da',
+    /** Divehi; Dhivehi; Maldivian */
     dv = 'dv',
+    /** Dutch; Flemish */
     nl = 'nl',
+    /** Dzongkha */
     dz = 'dz',
+    /** English */
     en = 'en',
+    /** Esperanto */
     eo = 'eo',
+    /** Estonian */
     et = 'et',
+    /** Ewe */
     ee = 'ee',
+    /** Faroese */
     fo = 'fo',
+    /** Fijian */
     fj = 'fj',
+    /** Finnish */
     fi = 'fi',
+    /** French */
     fr = 'fr',
+    /** Western Frisian */
     fy = 'fy',
+    /** Fulah */
     ff = 'ff',
+    /** Georgian */
     ka = 'ka',
+    /** German */
     de = 'de',
+    /** Gaelic; Scottish Gaelic */
     gd = 'gd',
+    /** Irish */
     ga = 'ga',
+    /** Galician */
     gl = 'gl',
+    /** Manx */
     gv = 'gv',
+    /** Greek, Modern (1453-) */
     el = 'el',
+    /** Guarani */
     gn = 'gn',
+    /** Gujarati */
     gu = 'gu',
+    /** Haitian; Haitian Creole */
     ht = 'ht',
+    /** Hausa */
     ha = 'ha',
+    /** Hebrew */
     he = 'he',
+    /** Herero */
     hz = 'hz',
+    /** Hindi */
     hi = 'hi',
+    /** Hiri Motu */
     ho = 'ho',
+    /** Croatian */
     hr = 'hr',
+    /** Hungarian */
     hu = 'hu',
+    /** Igbo */
     ig = 'ig',
+    /** Icelandic */
     is = 'is',
+    /** Ido */
     io = 'io',
+    /** Sichuan Yi; Nuosu */
     ii = 'ii',
+    /** Inuktitut */
     iu = 'iu',
+    /** Interlingue; Occidental */
     ie = 'ie',
+    /** Interlingua (International Auxiliary Language Association) */
     ia = 'ia',
+    /** Indonesian */
     id = 'id',
+    /** Inupiaq */
     ik = 'ik',
+    /** Italian */
     it = 'it',
+    /** Javanese */
     jv = 'jv',
+    /** Japanese */
     ja = 'ja',
+    /** Kalaallisut; Greenlandic */
     kl = 'kl',
+    /** Kannada */
     kn = 'kn',
+    /** Kashmiri */
     ks = 'ks',
+    /** Kanuri */
     kr = 'kr',
+    /** Kazakh */
     kk = 'kk',
+    /** Central Khmer */
     km = 'km',
+    /** Kikuyu; Gikuyu */
     ki = 'ki',
+    /** Kinyarwanda */
     rw = 'rw',
+    /** Kirghiz; Kyrgyz */
     ky = 'ky',
+    /** Komi */
     kv = 'kv',
+    /** Kongo */
     kg = 'kg',
+    /** Korean */
     ko = 'ko',
+    /** Kuanyama; Kwanyama */
     kj = 'kj',
+    /** Kurdish */
     ku = 'ku',
+    /** Lao */
     lo = 'lo',
+    /** Latin */
     la = 'la',
+    /** Latvian */
     lv = 'lv',
+    /** Limburgan; Limburger; Limburgish */
     li = 'li',
+    /** Lingala */
     ln = 'ln',
+    /** Lithuanian */
     lt = 'lt',
+    /** Luxembourgish; Letzeburgesch */
     lb = 'lb',
+    /** Luba-Katanga */
     lu = 'lu',
+    /** Ganda */
     lg = 'lg',
+    /** Macedonian */
     mk = 'mk',
+    /** Marshallese */
     mh = 'mh',
+    /** Malayalam */
     ml = 'ml',
+    /** Maori */
     mi = 'mi',
+    /** Marathi */
     mr = 'mr',
+    /** Malay */
     ms = 'ms',
+    /** Malagasy */
     mg = 'mg',
+    /** Maltese */
     mt = 'mt',
+    /** Mongolian */
     mn = 'mn',
+    /** Nauru */
     na = 'na',
+    /** Navajo; Navaho */
     nv = 'nv',
+    /** Ndebele, South; South Ndebele */
     nr = 'nr',
+    /** Ndebele, North; North Ndebele */
     nd = 'nd',
+    /** Ndonga */
     ng = 'ng',
+    /** Nepali */
     ne = 'ne',
+    /** Norwegian Nynorsk; Nynorsk, Norwegian */
     nn = 'nn',
+    /** Bokmål, Norwegian; Norwegian Bokmål */
     nb = 'nb',
+    /** Norwegian */
     no = 'no',
+    /** Chichewa; Chewa; Nyanja */
     ny = 'ny',
+    /** Occitan (post 1500); Provençal */
     oc = 'oc',
+    /** Ojibwa */
     oj = 'oj',
+    /** Oriya */
     or = 'or',
+    /** Oromo */
     om = 'om',
+    /** Ossetian; Ossetic */
     os = 'os',
+    /** Panjabi; Punjabi */
     pa = 'pa',
+    /** Persian */
     fa = 'fa',
+    /** Pali */
     pi = 'pi',
+    /** Polish */
     pl = 'pl',
+    /** Portuguese */
     pt = 'pt',
+    /** Pushto; Pashto */
     ps = 'ps',
+    /** Quechua */
     qu = 'qu',
+    /** Romansh */
     rm = 'rm',
+    /** Romanian; Moldavian; Moldovan */
     ro = 'ro',
+    /** Rundi */
     rn = 'rn',
+    /** Russian */
     ru = 'ru',
+    /** Sango */
     sg = 'sg',
+    /** Sanskrit */
     sa = 'sa',
+    /** Sinhala; Sinhalese */
     si = 'si',
+    /** Slovak */
     sk = 'sk',
+    /** Slovenian */
     sl = 'sl',
+    /** Northern Sami */
     se = 'se',
+    /** Samoan */
     sm = 'sm',
+    /** Shona */
     sn = 'sn',
+    /** Sindhi */
     sd = 'sd',
+    /** Somali */
     so = 'so',
+    /** Sotho, Southern */
     st = 'st',
+    /** Spanish; Castilian */
     es = 'es',
+    /** Sardinian */
     sc = 'sc',
+    /** Serbian */
     sr = 'sr',
+    /** Swati */
     ss = 'ss',
+    /** Sundanese */
     su = 'su',
+    /** Swahili */
     sw = 'sw',
+    /** Swedish */
     sv = 'sv',
+    /** Tahitian */
     ty = 'ty',
+    /** Tamil */
     ta = 'ta',
+    /** Tatar */
     tt = 'tt',
+    /** Telugu */
     te = 'te',
+    /** Tajik */
     tg = 'tg',
+    /** Tagalog */
     tl = 'tl',
+    /** Thai */
     th = 'th',
+    /** Tibetan */
     bo = 'bo',
+    /** Tigrinya */
     ti = 'ti',
+    /** Tonga (Tonga Islands) */
     to = 'to',
+    /** Tswana */
     tn = 'tn',
+    /** Tsonga */
     ts = 'ts',
+    /** Turkmen */
     tk = 'tk',
+    /** Turkish */
     tr = 'tr',
+    /** Twi */
     tw = 'tw',
+    /** Uighur; Uyghur */
     ug = 'ug',
+    /** Ukrainian */
     uk = 'uk',
-    ur = 'ur',
-    uz = 'uz',
-    ve = 've',
-    vi = 'vi',
-    vo = 'vo',
-    cy = 'cy',
-    wa = 'wa',
-    wo = 'wo',
-    xh = 'xh',
-    yi = 'yi',
-    yo = 'yo',
-    za = 'za',
-    zu = 'zu',
-}
-/** ISO 4217 currency code */
-export enum CurrencyCode {
-    AED = 'AED',
-    AFN = 'AFN',
-    ALL = 'ALL',
-    AMD = 'AMD',
-    ANG = 'ANG',
-    AOA = 'AOA',
-    ARS = 'ARS',
-    AUD = 'AUD',
-    AWG = 'AWG',
-    AZN = 'AZN',
-    BAM = 'BAM',
-    BBD = 'BBD',
-    BDT = 'BDT',
-    BGN = 'BGN',
-    BHD = 'BHD',
-    BIF = 'BIF',
-    BMD = 'BMD',
-    BND = 'BND',
-    BOB = 'BOB',
-    BRL = 'BRL',
-    BSD = 'BSD',
-    BTN = 'BTN',
-    BWP = 'BWP',
-    BYN = 'BYN',
-    BZD = 'BZD',
-    CAD = 'CAD',
-    CHE = 'CHE',
-    CHW = 'CHW',
-    CLP = 'CLP',
-    CNY = 'CNY',
-    COP = 'COP',
-    CRC = 'CRC',
-    CUC = 'CUC',
-    CUP = 'CUP',
-    CVE = 'CVE',
-    CZK = 'CZK',
-    DJF = 'DJF',
-    DKK = 'DKK',
-    DOP = 'DOP',
-    DZD = 'DZD',
-    EGP = 'EGP',
-    ERN = 'ERN',
-    ETB = 'ETB',
-    EUR = 'EUR',
-    FJD = 'FJD',
-    FKP = 'FKP',
-    GBP = 'GBP',
-    GEL = 'GEL',
-    GHS = 'GHS',
-    GIP = 'GIP',
-    GMD = 'GMD',
-    GNF = 'GNF',
-    GTQ = 'GTQ',
-    GYD = 'GYD',
-    HKD = 'HKD',
-    HNL = 'HNL',
-    HRK = 'HRK',
-    HTG = 'HTG',
-    HUF = 'HUF',
-    IDR = 'IDR',
-    ILS = 'ILS',
-    INR = 'INR',
-    IQD = 'IQD',
-    IRR = 'IRR',
-    ISK = 'ISK',
-    JMD = 'JMD',
-    JOD = 'JOD',
-    JPY = 'JPY',
-    KES = 'KES',
-    KGS = 'KGS',
-    KHR = 'KHR',
-    KMF = 'KMF',
-    KPW = 'KPW',
-    KRW = 'KRW',
-    KWD = 'KWD',
-    KYD = 'KYD',
-    KZT = 'KZT',
-    LAK = 'LAK',
-    LBP = 'LBP',
-    LKR = 'LKR',
-    LRD = 'LRD',
-    LSL = 'LSL',
-    LYD = 'LYD',
-    MAD = 'MAD',
-    MDL = 'MDL',
-    MGA = 'MGA',
-    MKD = 'MKD',
-    MMK = 'MMK',
-    MNT = 'MNT',
-    MOP = 'MOP',
-    MRU = 'MRU',
-    MUR = 'MUR',
-    MVR = 'MVR',
-    MWK = 'MWK',
-    MXN = 'MXN',
-    MYR = 'MYR',
-    MZN = 'MZN',
-    NAD = 'NAD',
-    NGN = 'NGN',
-    NIO = 'NIO',
-    NOK = 'NOK',
-    NPR = 'NPR',
-    NZD = 'NZD',
-    OMR = 'OMR',
-    PAB = 'PAB',
-    PEN = 'PEN',
-    PGK = 'PGK',
-    PHP = 'PHP',
-    PKR = 'PKR',
-    PLN = 'PLN',
-    PYG = 'PYG',
-    QAR = 'QAR',
-    RON = 'RON',
-    RSD = 'RSD',
-    RUB = 'RUB',
-    RWF = 'RWF',
-    SAR = 'SAR',
-    SBD = 'SBD',
-    SCR = 'SCR',
-    SDG = 'SDG',
-    SEK = 'SEK',
-    SGD = 'SGD',
-    SHP = 'SHP',
-    SLL = 'SLL',
-    SOS = 'SOS',
-    SRD = 'SRD',
-    SSP = 'SSP',
-    STN = 'STN',
-    SVC = 'SVC',
-    SYP = 'SYP',
-    SZL = 'SZL',
-    THB = 'THB',
-    TJS = 'TJS',
-    TMT = 'TMT',
-    TND = 'TND',
-    TOP = 'TOP',
-    TRY = 'TRY',
-    TTD = 'TTD',
-    TWD = 'TWD',
-    TZS = 'TZS',
-    UAH = 'UAH',
-    UGX = 'UGX',
-    USD = 'USD',
-    UYU = 'UYU',
-    UZS = 'UZS',
-    VES = 'VES',
-    VND = 'VND',
-    VUV = 'VUV',
-    WST = 'WST',
-    XAF = 'XAF',
-    XCD = 'XCD',
-    XOF = 'XOF',
-    XPF = 'XPF',
-    YER = 'YER',
-    ZAR = 'ZAR',
-    ZMW = 'ZMW',
-    ZWL = 'ZWL',
-}
-
-export enum SortOrder {
-    ASC = 'ASC',
-    DESC = 'DESC',
-}
-
-export enum AssetType {
-    IMAGE = 'IMAGE',
-    VIDEO = 'VIDEO',
-    BINARY = 'BINARY',
-}
-
-export enum AdjustmentType {
-    TAX = 'TAX',
-    PROMOTION = 'PROMOTION',
-    SHIPPING = 'SHIPPING',
-    REFUND = 'REFUND',
-    TAX_REFUND = 'TAX_REFUND',
-    PROMOTION_REFUND = 'PROMOTION_REFUND',
-    SHIPPING_REFUND = 'SHIPPING_REFUND',
-}
-/** Certain entities allow arbitrary configuration arguments to be specified which can then be set in the admin-ui and used in the business logic of the app. These are the valid data types of such arguments. The data type influences: 1. How the argument form field is rendered in the admin-ui 2. The JavaScript type into which the value is coerced before being passed to the business logic. */
-export enum ConfigArgType {
-    PERCENTAGE = 'PERCENTAGE',
-    MONEY = 'MONEY',
-    INT = 'INT',
-    STRING = 'STRING',
-    DATETIME = 'DATETIME',
-    BOOLEAN = 'BOOLEAN',
-    FACET_VALUE_IDS = 'FACET_VALUE_IDS',
-    STRING_OPERATOR = 'STRING_OPERATOR',
-}
-/** Permissions for administrators and customers */
-export enum Permission {
-    Authenticated = 'Authenticated',
-    SuperAdmin = 'SuperAdmin',
-    Owner = 'Owner',
-    Public = 'Public',
-    CreateCatalog = 'CreateCatalog',
-    ReadCatalog = 'ReadCatalog',
-    UpdateCatalog = 'UpdateCatalog',
-    DeleteCatalog = 'DeleteCatalog',
-    CreateCustomer = 'CreateCustomer',
-    ReadCustomer = 'ReadCustomer',
-    UpdateCustomer = 'UpdateCustomer',
-    DeleteCustomer = 'DeleteCustomer',
-    CreateAdministrator = 'CreateAdministrator',
-    ReadAdministrator = 'ReadAdministrator',
-    UpdateAdministrator = 'UpdateAdministrator',
-    DeleteAdministrator = 'DeleteAdministrator',
-    CreateOrder = 'CreateOrder',
-    ReadOrder = 'ReadOrder',
-    UpdateOrder = 'UpdateOrder',
-    DeleteOrder = 'DeleteOrder',
-    CreateSettings = 'CreateSettings',
-    ReadSettings = 'ReadSettings',
-    UpdateSettings = 'UpdateSettings',
-    DeleteSettings = 'DeleteSettings',
-}
-
-export enum StockMovementType {
-    ADJUSTMENT = 'ADJUSTMENT',
-    SALE = 'SALE',
-    CANCELLATION = 'CANCELLATION',
-    RETURN = 'RETURN',
-}
-
-export enum DeletionResult {
-    DELETED = 'DELETED',
-    NOT_DELETED = 'NOT_DELETED',
-}
-
-/** 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. */
-export type 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). */
-export type Json = any;
-
-/** The `Upload` scalar type represents a file upload. */
-export type Upload = any;
-
-// ====================================================
-// Scalars
-// ====================================================
-
-// ====================================================
-// Interfaces
-// ====================================================
-
-export interface Node {
-    id: string;
-}
-
-export interface PaginatedList {
-    items: Node[];
-
-    totalItems: number;
-}
-
-export interface StockMovement {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    productVariant: ProductVariant;
-
-    type: StockMovementType;
-
-    quantity: number;
-}
-
-// ====================================================
-// Types
-// ====================================================
-
-export interface Query {
-    activeChannel: Channel;
-
-    activeCustomer?: Maybe<Customer>;
-
-    activeOrder?: Maybe<Order>;
-
-    availableCountries: Country[];
-
-    collections: CollectionList;
-
-    collection?: Maybe<Collection>;
-
-    eligibleShippingMethods: ShippingMethodQuote[];
-
-    me?: Maybe<CurrentUser>;
-
-    nextOrderStates: string[];
-
-    order?: Maybe<Order>;
-
-    orderByCode?: Maybe<Order>;
-
-    product?: Maybe<Product>;
-
-    products: ProductList;
-
-    search: SearchResponse;
-
-    temp__?: Maybe<boolean>;
-}
-
-export interface Channel extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    code: string;
-
-    token: string;
-
-    defaultTaxZone?: Maybe<Zone>;
-
-    defaultShippingZone?: Maybe<Zone>;
-
-    defaultLanguageCode: LanguageCode;
-
-    currencyCode: CurrencyCode;
-
-    pricesIncludeTax: boolean;
-}
-
-export interface Zone extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    name: string;
-
-    members: Country[];
-}
-
-export interface Country extends Node {
-    id: string;
-
-    languageCode: LanguageCode;
-
-    code: string;
-
-    name: string;
-
-    enabled: boolean;
-
-    translations: CountryTranslation[];
-}
-
-export interface CountryTranslation {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-}
-
-export interface Customer extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    title?: Maybe<string>;
-
-    firstName: string;
-
-    lastName: string;
-
-    phoneNumber?: Maybe<string>;
-
-    emailAddress: string;
-
-    addresses?: Maybe<Address[]>;
-
-    orders: OrderList;
-
-    user?: Maybe<User>;
-
-    customFields?: Maybe<Json>;
-}
-
-export interface Address extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    fullName?: Maybe<string>;
-
-    company?: Maybe<string>;
-
-    streetLine1: string;
-
-    streetLine2?: Maybe<string>;
-
-    city?: Maybe<string>;
-
-    province?: Maybe<string>;
-
-    postalCode?: Maybe<string>;
-
-    country: Country;
-
-    phoneNumber?: Maybe<string>;
-
-    defaultShippingAddress?: Maybe<boolean>;
-
-    defaultBillingAddress?: Maybe<boolean>;
-
-    customFields?: Maybe<Json>;
-}
-
-export interface OrderList extends PaginatedList {
-    items: Order[];
-
-    totalItems: number;
-}
-
-export interface Order extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    code: string;
-
-    state: string;
-
-    active: boolean;
-
-    customer?: Maybe<Customer>;
-
-    shippingAddress?: Maybe<OrderAddress>;
-
-    billingAddress?: Maybe<OrderAddress>;
-
-    lines: OrderLine[];
-
-    adjustments: Adjustment[];
-
-    payments?: Maybe<Payment[]>;
-
-    subTotalBeforeTax: number;
-
-    subTotal: number;
-
-    currencyCode: CurrencyCode;
-
-    shipping: number;
-
-    shippingMethod?: Maybe<ShippingMethod>;
-
-    totalBeforeTax: number;
-
-    total: number;
-}
-
-export interface OrderAddress {
-    fullName?: Maybe<string>;
-
-    company?: Maybe<string>;
-
-    streetLine1?: Maybe<string>;
-
-    streetLine2?: Maybe<string>;
-
-    city?: Maybe<string>;
-
-    province?: Maybe<string>;
-
-    postalCode?: Maybe<string>;
-
-    country?: Maybe<string>;
-
-    countryCode?: Maybe<string>;
-
-    phoneNumber?: Maybe<string>;
-}
-
-export interface OrderLine extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    productVariant: ProductVariant;
-
-    featuredAsset?: Maybe<Asset>;
-
-    unitPrice: number;
-
-    unitPriceWithTax: number;
-
-    quantity: number;
-
-    items: OrderItem[];
-
-    totalPrice: number;
-
-    adjustments: Adjustment[];
-
-    order: Order;
-}
-
-export interface ProductVariant extends Node {
-    id: string;
-
-    productId: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    sku: string;
-
-    name: string;
-
-    featuredAsset?: Maybe<Asset>;
-
-    assets: Asset[];
-
-    price: number;
-
-    currencyCode: CurrencyCode;
-
-    priceIncludesTax: boolean;
-
-    priceWithTax: number;
-
-    taxRateApplied: TaxRate;
-
-    taxCategory: TaxCategory;
-
-    options: ProductOption[];
-
-    facetValues: FacetValue[];
-
-    translations: ProductVariantTranslation[];
-
-    customFields?: Maybe<Json>;
-}
-
-export interface Asset extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    name: string;
-
-    type: AssetType;
-
-    fileSize: number;
-
-    mimeType: string;
-
-    source: string;
-
-    preview: string;
-}
-
-export interface TaxRate extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    name: string;
-
-    enabled: boolean;
-
-    value: number;
-
-    category: TaxCategory;
-
-    zone: Zone;
-
-    customerGroup?: Maybe<CustomerGroup>;
-}
-
-export interface TaxCategory extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    name: string;
-}
-
-export interface CustomerGroup extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    name: string;
-}
-
-export interface ProductOption extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode?: Maybe<LanguageCode>;
-
-    code?: Maybe<string>;
-
-    name?: Maybe<string>;
-
-    translations: ProductOptionTranslation[];
-
-    customFields?: Maybe<Json>;
-}
-
-export interface ProductOptionTranslation {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-}
-
-export interface FacetValue extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    facet: Facet;
-
-    name: string;
-
-    code: string;
-
-    translations: FacetValueTranslation[];
-
-    customFields?: Maybe<Json>;
-}
-
-export interface Facet extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-
-    code: string;
-
-    values: FacetValue[];
-
-    translations: FacetTranslation[];
-
-    customFields?: Maybe<Json>;
-}
-
-export interface FacetTranslation {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-}
-
-export interface FacetValueTranslation {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-}
-
-export interface ProductVariantTranslation {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-}
-
-export interface OrderItem extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    unitPrice: number;
-
-    unitPriceWithTax: number;
-
-    unitPriceIncludesTax: boolean;
-
-    taxRate: number;
-
-    adjustments: Adjustment[];
-}
-
-export interface Adjustment {
-    adjustmentSource: string;
-
-    type: AdjustmentType;
-
-    description: string;
-
-    amount: number;
-}
-
-export interface Payment extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    method: string;
-
-    amount: number;
-
-    state: string;
-
-    transactionId?: Maybe<string>;
-
-    metadata?: Maybe<Json>;
-}
-
-export interface ShippingMethod extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    code: string;
-
-    description: string;
-
-    checker: ConfigurableOperation;
-
-    calculator: ConfigurableOperation;
-}
-
-export interface ConfigurableOperation {
-    code: string;
-
-    args: ConfigArg[];
-
-    description: string;
-}
-
-export interface ConfigArg {
-    name: string;
-
-    type: ConfigArgType;
-
-    value?: Maybe<string>;
-}
-
-export interface User extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    identifier: string;
-
-    verified: boolean;
-
-    roles: Role[];
-
-    lastLogin?: Maybe<string>;
-
-    customFields?: Maybe<Json>;
-}
-
-export interface Role extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    code: string;
-
-    description: string;
-
-    permissions: Permission[];
-
-    channels: Channel[];
-}
-
-export interface CollectionList extends PaginatedList {
-    items: Collection[];
-
-    totalItems: number;
-}
-
-export interface Collection extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode?: Maybe<LanguageCode>;
-
-    name: string;
-
-    breadcrumbs: CollectionBreadcrumb[];
-
-    position: number;
-
-    description: string;
-
-    featuredAsset?: Maybe<Asset>;
-
-    assets: Asset[];
-
-    parent?: Maybe<Collection>;
-
-    children?: Maybe<Collection[]>;
-
-    filters: ConfigurableOperation[];
-
-    translations: CollectionTranslation[];
-
-    productVariants: ProductVariantList;
-
-    customFields?: Maybe<Json>;
-}
-
-export interface CollectionBreadcrumb {
-    id: string;
-
-    name: string;
-}
-
-export interface CollectionTranslation {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-
-    description: string;
-}
-
-export interface ProductVariantList extends PaginatedList {
-    items: ProductVariant[];
-
-    totalItems: number;
-}
-
-export interface ShippingMethodQuote {
-    id: string;
-
-    price: number;
-
-    description: string;
-}
-
-export interface CurrentUser {
-    id: string;
-
-    identifier: string;
-
-    channelTokens: string[];
-}
-
-export interface Product extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-
-    slug: string;
-
-    description: string;
-
-    featuredAsset?: Maybe<Asset>;
-
-    assets: Asset[];
-
-    variants: ProductVariant[];
-
-    optionGroups: ProductOptionGroup[];
-
-    facetValues: FacetValue[];
-
-    translations: ProductTranslation[];
-
-    collections: Collection[];
-
-    customFields?: Maybe<Json>;
-}
-
-export interface ProductOptionGroup extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    code: string;
-
-    name: string;
-
-    options: ProductOption[];
-
-    translations: ProductOptionGroupTranslation[];
-
-    customFields?: Maybe<Json>;
-}
-
-export interface ProductOptionGroupTranslation {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-}
-
-export interface ProductTranslation {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    languageCode: LanguageCode;
-
-    name: string;
-
-    slug: string;
-
-    description: string;
-}
-
-export interface ProductList extends PaginatedList {
-    items: Product[];
-
-    totalItems: number;
-}
-
-export interface SearchResponse {
-    items: SearchResult[];
-
-    totalItems: number;
-
-    facetValues: FacetValueResult[];
-}
-
-export interface SearchResult {
-    sku: string;
-
-    slug: string;
-
-    productId: string;
-
-    productName: string;
-
-    productPreview: string;
-
-    productVariantId: string;
-
-    productVariantName: string;
-
-    productVariantPreview: string;
-
-    price: SearchResultPrice;
-
-    priceWithTax: SearchResultPrice;
-
-    currencyCode: CurrencyCode;
-
-    description: string;
-
-    facetIds: string[];
-
-    facetValueIds: string[];
-    /** An array of ids of the Collections in which this result appears */
-    collectionIds: string[];
-    /** A relevence score for the result. Differs between database implementations */
-    score: number;
-}
-
-/** The price range where the result has more than one price */
-export interface PriceRange {
-    min: number;
-
-    max: number;
-}
-
-/** The price value where the result has a single price */
-export interface SinglePrice {
-    value: number;
-}
-
-/** Which FacetValues are present in the products returned by the search, and in what quantity. */
-export interface FacetValueResult {
-    facetValue: FacetValue;
-
-    count: number;
-}
-
-export interface Mutation {
-    addItemToOrder?: Maybe<Order>;
-
-    removeItemFromOrder?: Maybe<Order>;
-
-    adjustItemQuantity?: Maybe<Order>;
-
-    transitionOrderToState?: Maybe<Order>;
-
-    setOrderShippingAddress?: Maybe<Order>;
-
-    setOrderShippingMethod?: Maybe<Order>;
-
-    addPaymentToOrder?: Maybe<Order>;
-
-    setCustomerForOrder?: Maybe<Order>;
-
-    login: LoginResult;
-
-    logout: boolean;
-    /** Regenerate and send a verification token for a new Customer registration. Only applicable if `authOptions.requireVerification` is set to true. */
-    refreshCustomerVerification: boolean;
-    /** Register a Customer account with the given credentials */
-    registerCustomerAccount: boolean;
-    /** Update an existing Customer */
-    updateCustomer: Customer;
-    /** Create a new Customer Address */
-    createCustomerAddress: Address;
-    /** Update an existing Address */
-    updateCustomerAddress: Address;
-    /** Delete an existing Address */
-    deleteCustomerAddress: boolean;
-    /** Verify a Customer email address with the token sent to that address. Only applicable if `authOptions.requireVerification` is set to true. */
-    verifyCustomerAccount: LoginResult;
-    /** Update the password of the active Customer */
-    updateCustomerPassword?: Maybe<boolean>;
-    /** 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<boolean>;
-    /** Confirm the update of the emailAddress with the provided token, which has been generated by the `requestUpdateCustomerEmailAddress` mutation. */
-    updateCustomerEmailAddress?: Maybe<boolean>;
-    /** Requests a password reset email to be sent */
-    requestPasswordReset?: Maybe<boolean>;
-    /** Resets a Customer's password based on the provided token */
-    resetPassword: LoginResult;
-}
-
-export interface LoginResult {
-    user: CurrentUser;
-}
-
-export interface AdjustmentOperations {
-    conditions: ConfigurableOperation[];
-
-    actions: ConfigurableOperation[];
-}
-
-export interface Administrator extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    firstName: string;
-
-    lastName: string;
-
-    emailAddress: string;
-
-    user: User;
-}
-
-export interface AdministratorList extends PaginatedList {
-    items: Administrator[];
-
-    totalItems: number;
-}
-
-export interface AssetList extends PaginatedList {
-    items: Asset[];
-
-    totalItems: number;
-}
-
-export interface Cancellation extends Node, StockMovement {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    productVariant: ProductVariant;
-
-    type: StockMovementType;
-
-    quantity: number;
-
-    orderLine: OrderLine;
-}
-
-export interface CountryList extends PaginatedList {
-    items: Country[];
-
-    totalItems: number;
-}
-
-export interface CustomerList extends PaginatedList {
-    items: Customer[];
-
-    totalItems: number;
-}
-
-export interface DeletionResponse {
-    result: DeletionResult;
-
-    message?: Maybe<string>;
-}
-
-export interface FacetList extends PaginatedList {
-    items: Facet[];
-
-    totalItems: number;
-}
-
-export interface GlobalSettings {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    availableLanguages: LanguageCode[];
-
-    trackInventory: boolean;
-
-    serverConfig: ServerConfig;
-
-    customFields?: Maybe<Json>;
-}
-
-export interface ServerConfig {
-    customFields?: Maybe<Json>;
-}
-
-export interface ImportInfo {
-    errors?: Maybe<string[]>;
-
-    processed: number;
-
-    imported: number;
-}
-
-export interface PaymentMethod extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    code: string;
-
-    enabled: boolean;
-
-    configArgs: ConfigArg[];
+    /** Urdu */
+    ur = 'ur',
+    /** Uzbek */
+    uz = 'uz',
+    /** Venda */
+    ve = 've',
+    /** Vietnamese */
+    vi = 'vi',
+    /** Volapük */
+    vo = 'vo',
+    /** Welsh */
+    cy = 'cy',
+    /** Walloon */
+    wa = 'wa',
+    /** Wolof */
+    wo = 'wo',
+    /** Xhosa */
+    xh = 'xh',
+    /** Yiddish */
+    yi = 'yi',
+    /** Yoruba */
+    yo = 'yo',
+    /** Zhuang; Chuang */
+    za = 'za',
+    /** Zulu */
+    zu = 'zu',
 }
 
-export interface Promotion extends Node {
-    id: string;
-
-    createdAt: DateTime;
-
-    updatedAt: DateTime;
-
-    name: string;
-
-    enabled: boolean;
-
-    conditions: ConfigurableOperation[];
-
-    actions: ConfigurableOperation[];
-}
+export type LoginResult = {
+    user: CurrentUser;
+};
 
-export interface PromotionList extends PaginatedList {
-    items: Promotion[];
+export type Mutation = {
+    addItemToOrder?: Maybe<Order>;
+    removeItemFromOrder?: Maybe<Order>;
+    adjustItemQuantity?: Maybe<Order>;
+    transitionOrderToState?: Maybe<Order>;
+    setOrderShippingAddress?: Maybe<Order>;
+    setOrderShippingMethod?: Maybe<Order>;
+    addPaymentToOrder?: Maybe<Order>;
+    setCustomerForOrder?: Maybe<Order>;
+    login: LoginResult;
+    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'];
+    /** Register a Customer account with the given credentials */
+    registerCustomerAccount: Scalars['Boolean'];
+    /** Update an existing Customer */
+    updateCustomer: Customer;
+    /** Create a new Customer Address */
+    createCustomerAddress: Address;
+    /** Update an existing Address */
+    updateCustomerAddress: Address;
+    /** Delete an existing Address */
+    deleteCustomerAddress: Scalars['Boolean'];
+    /** Verify a Customer email address with the token sent to that address. Only
+     * applicable if `authOptions.requireVerification` is set to true.
+     */
+    verifyCustomerAccount: LoginResult;
+    /** Update the password of the active Customer */
+    updateCustomerPassword?: Maybe<Scalars['Boolean']>;
+    /** 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<Scalars['Boolean']>;
+    /** Confirm the update of the emailAddress with the provided token, which has been generated by the
+     * `requestUpdateCustomerEmailAddress` mutation.
+     */
+    updateCustomerEmailAddress?: Maybe<Scalars['Boolean']>;
+    /** Requests a password reset email to be sent */
+    requestPasswordReset?: Maybe<Scalars['Boolean']>;
+    /** Resets a Customer's password based on the provided token */
+    resetPassword: LoginResult;
+};
 
-    totalItems: number;
-}
+export type MutationAddItemToOrderArgs = {
+    productVariantId: Scalars['ID'];
+    quantity: Scalars['Int'];
+};
 
-export interface Return extends Node, StockMovement {
-    id: string;
+export type MutationRemoveItemFromOrderArgs = {
+    orderItemId: Scalars['ID'];
+};
 
-    createdAt: DateTime;
+export type MutationAdjustItemQuantityArgs = {
+    orderItemId: Scalars['ID'];
+    quantity: Scalars['Int'];
+};
 
-    updatedAt: DateTime;
+export type MutationTransitionOrderToStateArgs = {
+    state: Scalars['String'];
+};
 
-    productVariant: ProductVariant;
+export type MutationSetOrderShippingAddressArgs = {
+    input: CreateAddressInput;
+};
 
-    type: StockMovementType;
+export type MutationSetOrderShippingMethodArgs = {
+    shippingMethodId: Scalars['ID'];
+};
 
-    quantity: number;
+export type MutationAddPaymentToOrderArgs = {
+    input: PaymentInput;
+};
 
-    orderItem: OrderItem;
-}
+export type MutationSetCustomerForOrderArgs = {
+    input: CreateCustomerInput;
+};
 
-export interface RoleList extends PaginatedList {
-    items: Role[];
+export type MutationLoginArgs = {
+    username: Scalars['String'];
+    password: Scalars['String'];
+    rememberMe?: Maybe<Scalars['Boolean']>;
+};
 
-    totalItems: number;
-}
+export type MutationRefreshCustomerVerificationArgs = {
+    emailAddress: Scalars['String'];
+};
 
-export interface Sale extends Node, StockMovement {
-    id: string;
+export type MutationRegisterCustomerAccountArgs = {
+    input: RegisterCustomerInput;
+};
 
-    createdAt: DateTime;
+export type MutationUpdateCustomerArgs = {
+    input: UpdateCustomerInput;
+};
 
-    updatedAt: DateTime;
+export type MutationCreateCustomerAddressArgs = {
+    input: CreateAddressInput;
+};
 
+export type MutationUpdateCustomerAddressArgs = {
+    input: UpdateAddressInput;
+};
+
+export type MutationDeleteCustomerAddressArgs = {
+    id: Scalars['ID'];
+};
+
+export type MutationVerifyCustomerAccountArgs = {
+    token: Scalars['String'];
+    password: Scalars['String'];
+};
+
+export type MutationUpdateCustomerPasswordArgs = {
+    currentPassword: Scalars['String'];
+    newPassword: Scalars['String'];
+};
+
+export type MutationRequestUpdateCustomerEmailAddressArgs = {
+    password: Scalars['String'];
+    newEmailAddress: Scalars['String'];
+};
+
+export type MutationUpdateCustomerEmailAddressArgs = {
+    token: Scalars['String'];
+};
+
+export type MutationRequestPasswordResetArgs = {
+    emailAddress: Scalars['String'];
+};
+
+export type MutationResetPasswordArgs = {
+    token: Scalars['String'];
+    password: Scalars['String'];
+};
+
+export type Node = {
+    id: Scalars['ID'];
+};
+
+export type NumberOperators = {
+    eq?: Maybe<Scalars['Float']>;
+    lt?: Maybe<Scalars['Float']>;
+    lte?: Maybe<Scalars['Float']>;
+    gt?: Maybe<Scalars['Float']>;
+    gte?: Maybe<Scalars['Float']>;
+    between?: Maybe<NumberRange>;
+};
+
+export type NumberRange = {
+    start: Scalars['Float'];
+    end: Scalars['Float'];
+};
+
+export type Order = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    code: Scalars['String'];
+    state: Scalars['String'];
+    active: Scalars['Boolean'];
+    customer?: Maybe<Customer>;
+    shippingAddress?: Maybe<OrderAddress>;
+    billingAddress?: Maybe<OrderAddress>;
+    lines: Array<OrderLine>;
+    adjustments: Array<Adjustment>;
+    payments?: Maybe<Array<Payment>>;
+    subTotalBeforeTax: Scalars['Int'];
+    subTotal: Scalars['Int'];
+    currencyCode: CurrencyCode;
+    shipping: Scalars['Int'];
+    shippingMethod?: Maybe<ShippingMethod>;
+    totalBeforeTax: Scalars['Int'];
+    total: Scalars['Int'];
+};
+
+export type OrderAddress = {
+    fullName?: Maybe<Scalars['String']>;
+    company?: Maybe<Scalars['String']>;
+    streetLine1?: Maybe<Scalars['String']>;
+    streetLine2?: Maybe<Scalars['String']>;
+    city?: Maybe<Scalars['String']>;
+    province?: Maybe<Scalars['String']>;
+    postalCode?: Maybe<Scalars['String']>;
+    country?: Maybe<Scalars['String']>;
+    countryCode?: Maybe<Scalars['String']>;
+    phoneNumber?: Maybe<Scalars['String']>;
+};
+
+export type OrderFilterParameter = {
+    createdAt?: Maybe<DateOperators>;
+    updatedAt?: Maybe<DateOperators>;
+    code?: Maybe<StringOperators>;
+    state?: Maybe<StringOperators>;
+    active?: Maybe<BooleanOperators>;
+    subTotalBeforeTax?: Maybe<NumberOperators>;
+    subTotal?: Maybe<NumberOperators>;
+    currencyCode?: Maybe<StringOperators>;
+    shipping?: Maybe<NumberOperators>;
+    totalBeforeTax?: Maybe<NumberOperators>;
+    total?: Maybe<NumberOperators>;
+};
+
+export type OrderItem = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    unitPrice: Scalars['Int'];
+    unitPriceWithTax: Scalars['Int'];
+    unitPriceIncludesTax: Scalars['Boolean'];
+    taxRate: Scalars['Float'];
+    adjustments: Array<Adjustment>;
+};
+
+export type OrderLine = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
     productVariant: ProductVariant;
+    featuredAsset?: Maybe<Asset>;
+    unitPrice: Scalars['Int'];
+    unitPriceWithTax: Scalars['Int'];
+    quantity: Scalars['Int'];
+    items: Array<OrderItem>;
+    totalPrice: Scalars['Int'];
+    adjustments: Array<Adjustment>;
+    order: Order;
+};
 
-    type: StockMovementType;
-
-    quantity: number;
-
-    orderLine: OrderLine;
-}
-
-export interface SearchReindexResponse {
-    success: boolean;
+export type OrderList = PaginatedList & {
+    items: Array<Order>;
+    totalItems: Scalars['Int'];
+};
 
-    timeTaken: number;
+export type OrderListOptions = {
+    skip?: Maybe<Scalars['Int']>;
+    take?: Maybe<Scalars['Int']>;
+    sort?: Maybe<OrderSortParameter>;
+    filter?: Maybe<OrderFilterParameter>;
+};
 
-    indexedItemCount: number;
+export type OrderSortParameter = {
+    id?: Maybe<SortOrder>;
+    createdAt?: Maybe<SortOrder>;
+    updatedAt?: Maybe<SortOrder>;
+    code?: Maybe<SortOrder>;
+    state?: Maybe<SortOrder>;
+    subTotalBeforeTax?: Maybe<SortOrder>;
+    subTotal?: Maybe<SortOrder>;
+    shipping?: Maybe<SortOrder>;
+    totalBeforeTax?: Maybe<SortOrder>;
+    total?: Maybe<SortOrder>;
+};
+
+export type PaginatedList = {
+    items: Array<Node>;
+    totalItems: Scalars['Int'];
+};
+
+export type Payment = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    method: Scalars['String'];
+    amount: Scalars['Int'];
+    state: Scalars['String'];
+    transactionId?: Maybe<Scalars['String']>;
+    metadata?: Maybe<Scalars['JSON']>;
+};
+
+export type PaymentInput = {
+    method: Scalars['String'];
+    metadata: Scalars['JSON'];
+};
+
+export type PaymentMethod = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    code: Scalars['String'];
+    enabled: Scalars['Boolean'];
+    configArgs: Array<ConfigArg>;
+};
+
+/**  Permissions for administrators and customers  */
+export enum Permission {
+    /**  The Authenticated role means simply that the user is logged in  */
+    Authenticated = 'Authenticated',
+    /**  SuperAdmin can perform the most sensitive tasks  */
+    SuperAdmin = 'SuperAdmin',
+    /**  Owner means the user owns this entity, e.g. a Customer's own Order */
+    Owner = 'Owner',
+    /**  Public means any unauthenticated user may perform the operation  */
+    Public = 'Public',
+    CreateCatalog = 'CreateCatalog',
+    ReadCatalog = 'ReadCatalog',
+    UpdateCatalog = 'UpdateCatalog',
+    DeleteCatalog = 'DeleteCatalog',
+    CreateCustomer = 'CreateCustomer',
+    ReadCustomer = 'ReadCustomer',
+    UpdateCustomer = 'UpdateCustomer',
+    DeleteCustomer = 'DeleteCustomer',
+    CreateAdministrator = 'CreateAdministrator',
+    ReadAdministrator = 'ReadAdministrator',
+    UpdateAdministrator = 'UpdateAdministrator',
+    DeleteAdministrator = 'DeleteAdministrator',
+    CreateOrder = 'CreateOrder',
+    ReadOrder = 'ReadOrder',
+    UpdateOrder = 'UpdateOrder',
+    DeleteOrder = 'DeleteOrder',
+    CreateSettings = 'CreateSettings',
+    ReadSettings = 'ReadSettings',
+    UpdateSettings = 'UpdateSettings',
+    DeleteSettings = 'DeleteSettings',
 }
 
-export interface ShippingMethodList extends PaginatedList {
-    items: ShippingMethod[];
-
-    totalItems: number;
-}
+/** The price range where the result has more than one price */
+export type PriceRange = {
+    min: Scalars['Int'];
+    max: Scalars['Int'];
+};
+
+export type Product = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+    slug: Scalars['String'];
+    description: Scalars['String'];
+    featuredAsset?: Maybe<Asset>;
+    assets: Array<Asset>;
+    variants: Array<ProductVariant>;
+    optionGroups: Array<ProductOptionGroup>;
+    facetValues: Array<FacetValue>;
+    translations: Array<ProductTranslation>;
+    collections: Array<Collection>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type ProductFilterParameter = {
+    createdAt?: Maybe<DateOperators>;
+    updatedAt?: Maybe<DateOperators>;
+    languageCode?: Maybe<StringOperators>;
+    name?: Maybe<StringOperators>;
+    slug?: Maybe<StringOperators>;
+    description?: Maybe<StringOperators>;
+};
 
-export interface StockAdjustment extends Node, StockMovement {
-    id: string;
+export type ProductList = PaginatedList & {
+    items: Array<Product>;
+    totalItems: Scalars['Int'];
+};
 
-    createdAt: DateTime;
+export type ProductListOptions = {
+    skip?: Maybe<Scalars['Int']>;
+    take?: Maybe<Scalars['Int']>;
+    sort?: Maybe<ProductSortParameter>;
+    filter?: Maybe<ProductFilterParameter>;
+};
 
-    updatedAt: DateTime;
+export type ProductOption = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode?: Maybe<LanguageCode>;
+    code?: Maybe<Scalars['String']>;
+    name?: Maybe<Scalars['String']>;
+    translations: Array<ProductOptionTranslation>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type ProductOptionGroup = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    code: Scalars['String'];
+    name: Scalars['String'];
+    options: Array<ProductOption>;
+    translations: Array<ProductOptionGroupTranslation>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type ProductOptionGroupTranslation = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+};
 
-    productVariant: ProductVariant;
+export type ProductOptionTranslation = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+};
 
-    type: StockMovementType;
+export type ProductSortParameter = {
+    id?: Maybe<SortOrder>;
+    createdAt?: Maybe<SortOrder>;
+    updatedAt?: Maybe<SortOrder>;
+    name?: Maybe<SortOrder>;
+    slug?: Maybe<SortOrder>;
+    description?: Maybe<SortOrder>;
+};
 
-    quantity: number;
-}
+export type ProductTranslation = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+    slug: Scalars['String'];
+    description: Scalars['String'];
+};
+
+export type ProductVariant = Node & {
+    id: Scalars['ID'];
+    productId: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    sku: Scalars['String'];
+    name: Scalars['String'];
+    featuredAsset?: Maybe<Asset>;
+    assets: Array<Asset>;
+    price: Scalars['Int'];
+    currencyCode: CurrencyCode;
+    priceIncludesTax: Scalars['Boolean'];
+    priceWithTax: Scalars['Int'];
+    taxRateApplied: TaxRate;
+    taxCategory: TaxCategory;
+    options: Array<ProductOption>;
+    facetValues: Array<FacetValue>;
+    translations: Array<ProductVariantTranslation>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
 
-export interface StockMovementList {
-    items: StockMovementItem[];
+export type ProductVariantFilterParameter = {
+    createdAt?: Maybe<DateOperators>;
+    updatedAt?: Maybe<DateOperators>;
+    languageCode?: Maybe<StringOperators>;
+    sku?: Maybe<StringOperators>;
+    name?: Maybe<StringOperators>;
+    price?: Maybe<NumberOperators>;
+    currencyCode?: Maybe<StringOperators>;
+    priceIncludesTax?: Maybe<BooleanOperators>;
+    priceWithTax?: Maybe<NumberOperators>;
+};
 
-    totalItems: number;
-}
+export type ProductVariantList = PaginatedList & {
+    items: Array<ProductVariant>;
+    totalItems: Scalars['Int'];
+};
 
-export interface TaxRateList extends PaginatedList {
-    items: TaxRate[];
+export type ProductVariantListOptions = {
+    skip?: Maybe<Scalars['Int']>;
+    take?: Maybe<Scalars['Int']>;
+    sort?: Maybe<ProductVariantSortParameter>;
+    filter?: Maybe<ProductVariantFilterParameter>;
+};
 
-    totalItems: number;
-}
+export type ProductVariantSortParameter = {
+    id?: Maybe<SortOrder>;
+    productId?: Maybe<SortOrder>;
+    createdAt?: Maybe<SortOrder>;
+    updatedAt?: Maybe<SortOrder>;
+    sku?: Maybe<SortOrder>;
+    name?: Maybe<SortOrder>;
+    price?: Maybe<SortOrder>;
+    priceWithTax?: Maybe<SortOrder>;
+};
 
-// ====================================================
-// Arguments
-// ====================================================
+export type ProductVariantTranslation = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    languageCode: LanguageCode;
+    name: Scalars['String'];
+};
+
+export type Promotion = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    name: Scalars['String'];
+    enabled: Scalars['Boolean'];
+    conditions: Array<ConfigurableOperation>;
+    actions: Array<ConfigurableOperation>;
+};
+
+export type PromotionList = PaginatedList & {
+    items: Array<Promotion>;
+    totalItems: Scalars['Int'];
+};
+
+export type Query = {
+    activeChannel: Channel;
+    activeCustomer?: Maybe<Customer>;
+    activeOrder?: Maybe<Order>;
+    availableCountries: Array<Country>;
+    collections: CollectionList;
+    collection?: Maybe<Collection>;
+    eligibleShippingMethods: Array<ShippingMethodQuote>;
+    me?: Maybe<CurrentUser>;
+    nextOrderStates: Array<Scalars['String']>;
+    order?: Maybe<Order>;
+    orderByCode?: Maybe<Order>;
+    product?: Maybe<Product>;
+    products: ProductList;
+    search: SearchResponse;
+    temp__?: Maybe<Scalars['Boolean']>;
+};
 
-export interface CollectionsQueryArgs {
+export type QueryCollectionsArgs = {
     languageCode?: Maybe<LanguageCode>;
-
     options?: Maybe<CollectionListOptions>;
-}
-export interface CollectionQueryArgs {
-    id: string;
+};
 
+export type QueryCollectionArgs = {
+    id: Scalars['ID'];
     languageCode?: Maybe<LanguageCode>;
-}
-export interface OrderQueryArgs {
-    id: string;
-}
-export interface OrderByCodeQueryArgs {
-    code: string;
-}
-export interface ProductQueryArgs {
-    id: string;
+};
 
+export type QueryOrderArgs = {
+    id: Scalars['ID'];
+};
+
+export type QueryOrderByCodeArgs = {
+    code: Scalars['String'];
+};
+
+export type QueryProductArgs = {
+    id: Scalars['ID'];
     languageCode?: Maybe<LanguageCode>;
-}
-export interface ProductsQueryArgs {
-    languageCode?: Maybe<LanguageCode>;
+};
 
+export type QueryProductsArgs = {
+    languageCode?: Maybe<LanguageCode>;
     options?: Maybe<ProductListOptions>;
-}
-export interface SearchQueryArgs {
+};
+
+export type QuerySearchArgs = {
     input: SearchInput;
-}
-export interface OrdersCustomerArgs {
-    options?: Maybe<OrderListOptions>;
-}
-export interface ProductVariantsCollectionArgs {
-    options?: Maybe<ProductVariantListOptions>;
-}
-export interface AddItemToOrderMutationArgs {
-    productVariantId: string;
+};
+
+export type RegisterCustomerInput = {
+    emailAddress: Scalars['String'];
+    title?: Maybe<Scalars['String']>;
+    firstName?: Maybe<Scalars['String']>;
+    lastName?: Maybe<Scalars['String']>;
+    password?: Maybe<Scalars['String']>;
+};
+
+export type Return = Node &
+    StockMovement & {
+        id: Scalars['ID'];
+        createdAt: Scalars['DateTime'];
+        updatedAt: Scalars['DateTime'];
+        productVariant: ProductVariant;
+        type: StockMovementType;
+        quantity: Scalars['Int'];
+        orderItem: OrderItem;
+    };
+
+export type Role = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    code: Scalars['String'];
+    description: Scalars['String'];
+    permissions: Array<Permission>;
+    channels: Array<Channel>;
+};
+
+export type RoleList = PaginatedList & {
+    items: Array<Role>;
+    totalItems: Scalars['Int'];
+};
+
+export type Sale = Node &
+    StockMovement & {
+        id: Scalars['ID'];
+        createdAt: Scalars['DateTime'];
+        updatedAt: Scalars['DateTime'];
+        productVariant: ProductVariant;
+        type: StockMovementType;
+        quantity: Scalars['Int'];
+        orderLine: OrderLine;
+    };
+
+export type SearchInput = {
+    term?: Maybe<Scalars['String']>;
+    facetIds?: Maybe<Array<Scalars['String']>>;
+    collectionId?: Maybe<Scalars['String']>;
+    groupByProduct?: Maybe<Scalars['Boolean']>;
+    take?: Maybe<Scalars['Int']>;
+    skip?: Maybe<Scalars['Int']>;
+    sort?: Maybe<SearchResultSortParameter>;
+};
+
+export type SearchReindexResponse = {
+    success: Scalars['Boolean'];
+    timeTaken: Scalars['Int'];
+    indexedItemCount: Scalars['Int'];
+};
+
+export type SearchResponse = {
+    items: Array<SearchResult>;
+    totalItems: Scalars['Int'];
+    facetValues: Array<FacetValueResult>;
+};
+
+export type SearchResult = {
+    sku: Scalars['String'];
+    slug: Scalars['String'];
+    productId: Scalars['ID'];
+    productName: Scalars['String'];
+    productPreview: Scalars['String'];
+    productVariantId: Scalars['ID'];
+    productVariantName: Scalars['String'];
+    productVariantPreview: Scalars['String'];
+    price: SearchResultPrice;
+    priceWithTax: SearchResultPrice;
+    currencyCode: CurrencyCode;
+    description: Scalars['String'];
+    facetIds: Array<Scalars['String']>;
+    facetValueIds: Array<Scalars['String']>;
+    /** An array of ids of the Collections in which this result appears */
+    collectionIds: Array<Scalars['String']>;
+    /** A relevence score for the result. Differs between database implementations */
+    score: Scalars['Float'];
+};
 
-    quantity: number;
-}
-export interface RemoveItemFromOrderMutationArgs {
-    orderItemId: string;
-}
-export interface AdjustItemQuantityMutationArgs {
-    orderItemId: string;
+/** The price of a search result product, either as a range or as a single price */
+export type SearchResultPrice = PriceRange | SinglePrice;
 
-    quantity: number;
-}
-export interface TransitionOrderToStateMutationArgs {
-    state: string;
-}
-export interface SetOrderShippingAddressMutationArgs {
-    input: CreateAddressInput;
-}
-export interface SetOrderShippingMethodMutationArgs {
-    shippingMethodId: string;
-}
-export interface AddPaymentToOrderMutationArgs {
-    input: PaymentInput;
-}
-export interface SetCustomerForOrderMutationArgs {
-    input: CreateCustomerInput;
-}
-export interface LoginMutationArgs {
-    username: string;
+export type SearchResultSortParameter = {
+    name?: Maybe<SortOrder>;
+    price?: Maybe<SortOrder>;
+};
+
+export type ServerConfig = {
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type ShippingMethod = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    code: Scalars['String'];
+    description: Scalars['String'];
+    checker: ConfigurableOperation;
+    calculator: ConfigurableOperation;
+};
 
-    password: string;
+export type ShippingMethodList = PaginatedList & {
+    items: Array<ShippingMethod>;
+    totalItems: Scalars['Int'];
+};
 
-    rememberMe?: Maybe<boolean>;
-}
-export interface RefreshCustomerVerificationMutationArgs {
-    emailAddress: string;
-}
-export interface RegisterCustomerAccountMutationArgs {
-    input: RegisterCustomerInput;
-}
-export interface UpdateCustomerMutationArgs {
-    input: UpdateCustomerInput;
-}
-export interface CreateCustomerAddressMutationArgs {
-    input: CreateAddressInput;
-}
-export interface UpdateCustomerAddressMutationArgs {
-    input: UpdateAddressInput;
-}
-export interface DeleteCustomerAddressMutationArgs {
-    id: string;
-}
-export interface VerifyCustomerAccountMutationArgs {
-    token: string;
+export type ShippingMethodQuote = {
+    id: Scalars['ID'];
+    price: Scalars['Int'];
+    description: Scalars['String'];
+};
 
-    password: string;
-}
-export interface UpdateCustomerPasswordMutationArgs {
-    currentPassword: string;
+/** The price value where the result has a single price */
+export type SinglePrice = {
+    value: Scalars['Int'];
+};
 
-    newPassword: string;
+export enum SortOrder {
+    ASC = 'ASC',
+    DESC = 'DESC',
 }
-export interface RequestUpdateCustomerEmailAddressMutationArgs {
-    password: string;
 
-    newEmailAddress: string;
-}
-export interface UpdateCustomerEmailAddressMutationArgs {
-    token: string;
-}
-export interface RequestPasswordResetMutationArgs {
-    emailAddress: string;
-}
-export interface ResetPasswordMutationArgs {
-    token: string;
+export type StockAdjustment = Node &
+    StockMovement & {
+        id: Scalars['ID'];
+        createdAt: Scalars['DateTime'];
+        updatedAt: Scalars['DateTime'];
+        productVariant: ProductVariant;
+        type: StockMovementType;
+        quantity: Scalars['Int'];
+    };
+
+export type StockMovement = {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    productVariant: ProductVariant;
+    type: StockMovementType;
+    quantity: Scalars['Int'];
+};
 
-    password: string;
-}
+export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return;
 
-// ====================================================
-// Unions
-// ====================================================
+export type StockMovementList = {
+    items: Array<StockMovementItem>;
+    totalItems: Scalars['Int'];
+};
 
-/** The price of a search result product, either as a range or as a single price */
-export type SearchResultPrice = PriceRange | SinglePrice;
+export enum StockMovementType {
+    ADJUSTMENT = 'ADJUSTMENT',
+    SALE = 'SALE',
+    CANCELLATION = 'CANCELLATION',
+    RETURN = 'RETURN',
+}
 
-export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return;
+export type StringOperators = {
+    eq?: Maybe<Scalars['String']>;
+    contains?: Maybe<Scalars['String']>;
+};
+
+export type TaxCategory = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    name: Scalars['String'];
+};
+
+export type TaxRate = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    name: Scalars['String'];
+    enabled: Scalars['Boolean'];
+    value: Scalars['Int'];
+    category: TaxCategory;
+    zone: Zone;
+    customerGroup?: Maybe<CustomerGroup>;
+};
+
+export type TaxRateList = PaginatedList & {
+    items: Array<TaxRate>;
+    totalItems: Scalars['Int'];
+};
+
+export type UpdateAddressInput = {
+    id: Scalars['ID'];
+    fullName?: Maybe<Scalars['String']>;
+    company?: Maybe<Scalars['String']>;
+    streetLine1?: Maybe<Scalars['String']>;
+    streetLine2?: Maybe<Scalars['String']>;
+    city?: Maybe<Scalars['String']>;
+    province?: Maybe<Scalars['String']>;
+    postalCode?: Maybe<Scalars['String']>;
+    countryCode?: Maybe<Scalars['String']>;
+    phoneNumber?: Maybe<Scalars['String']>;
+    defaultShippingAddress?: Maybe<Scalars['Boolean']>;
+    defaultBillingAddress?: Maybe<Scalars['Boolean']>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type UpdateCustomerInput = {
+    title?: Maybe<Scalars['String']>;
+    firstName?: Maybe<Scalars['String']>;
+    lastName?: Maybe<Scalars['String']>;
+    phoneNumber?: Maybe<Scalars['String']>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type User = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    identifier: Scalars['String'];
+    verified: Scalars['Boolean'];
+    roles: Array<Role>;
+    lastLogin?: Maybe<Scalars['String']>;
+    customFields?: Maybe<Scalars['JSON']>;
+};
+
+export type Zone = Node & {
+    id: Scalars['ID'];
+    createdAt: Scalars['DateTime'];
+    updatedAt: Scalars['DateTime'];
+    name: Scalars['String'];
+    members: Array<Country>;
+};

+ 4059 - 6043
packages/common/src/generated-types.ts

@@ -1,6460 +1,4476 @@
 // tslint:disable
-// Generated in 2019-05-07T09:20:24+02:00
-export type Maybe<T> = T | null;
+// Generated in 2019-05-07T10:31:38+02:00
 
+export type Maybe<T> = T | null;
+/** All built-in and custom scalars, mapped to their actual values */
+export type Scalars = {
+  ID: string,
+  String: string,
+  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 Address = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  fullName?: Maybe<Scalars['String']>,
+  company?: Maybe<Scalars['String']>,
+  streetLine1: Scalars['String'],
+  streetLine2?: Maybe<Scalars['String']>,
+  city?: Maybe<Scalars['String']>,
+  province?: Maybe<Scalars['String']>,
+  postalCode?: Maybe<Scalars['String']>,
+  country: Country,
+  phoneNumber?: Maybe<Scalars['String']>,
+  defaultShippingAddress?: Maybe<Scalars['Boolean']>,
+  defaultBillingAddress?: Maybe<Scalars['Boolean']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type Adjustment = {
+  adjustmentSource: Scalars['String'],
+  type: AdjustmentType,
+  description: Scalars['String'],
+  amount: Scalars['Int'],
+};
+
+export type AdjustmentOperations = {
+  conditions: Array<ConfigurableOperation>,
+  actions: Array<ConfigurableOperation>,
+};
+
+export enum AdjustmentType {
+  TAX = 'TAX',
+  PROMOTION = 'PROMOTION',
+  SHIPPING = 'SHIPPING',
+  REFUND = 'REFUND',
+  TAX_REFUND = 'TAX_REFUND',
+  PROMOTION_REFUND = 'PROMOTION_REFUND',
+  SHIPPING_REFUND = 'SHIPPING_REFUND'
+}
+
+export type Administrator = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  firstName: Scalars['String'],
+  lastName: Scalars['String'],
+  emailAddress: Scalars['String'],
+  user: User,
+};
+
+export type AdministratorFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  firstName?: Maybe<StringOperators>,
+  lastName?: Maybe<StringOperators>,
+  emailAddress?: Maybe<StringOperators>,
+};
+
+export type AdministratorList = PaginatedList & {
+  items: Array<Administrator>,
+  totalItems: Scalars['Int'],
+};
+
+export type AdministratorListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<AdministratorSortParameter>,
+  filter?: Maybe<AdministratorFilterParameter>,
+};
+
+export type AdministratorSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  firstName?: Maybe<SortOrder>,
+  lastName?: Maybe<SortOrder>,
+  emailAddress?: Maybe<SortOrder>,
+};
+
+export type Asset = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  name: Scalars['String'],
+  type: AssetType,
+  fileSize: Scalars['Int'],
+  mimeType: Scalars['String'],
+  source: Scalars['String'],
+  preview: Scalars['String'],
+};
+
+export type AssetFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  name?: Maybe<StringOperators>,
+  type?: Maybe<StringOperators>,
+  fileSize?: Maybe<NumberOperators>,
+  mimeType?: Maybe<StringOperators>,
+  source?: Maybe<StringOperators>,
+  preview?: Maybe<StringOperators>,
+};
+
+export type AssetList = PaginatedList & {
+  items: Array<Asset>,
+  totalItems: Scalars['Int'],
+};
+
+export type AssetListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<AssetSortParameter>,
+  filter?: Maybe<AssetFilterParameter>,
+};
+
+export type AssetSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  name?: Maybe<SortOrder>,
+  fileSize?: Maybe<SortOrder>,
+  mimeType?: Maybe<SortOrder>,
+  source?: Maybe<SortOrder>,
+  preview?: Maybe<SortOrder>,
+};
+
+export enum AssetType {
+  IMAGE = 'IMAGE',
+  VIDEO = 'VIDEO',
+  BINARY = 'BINARY'
+}
+
+export type BooleanOperators = {
+  eq?: Maybe<Scalars['Boolean']>,
+};
+
+export type Cancellation = Node & StockMovement & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  productVariant: ProductVariant,
+  type: StockMovementType,
+  quantity: Scalars['Int'],
+  orderLine: OrderLine,
+};
+
+export type Channel = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  code: Scalars['String'],
+  token: Scalars['String'],
+  defaultTaxZone?: Maybe<Zone>,
+  defaultShippingZone?: Maybe<Zone>,
+  defaultLanguageCode: LanguageCode,
+  currencyCode: CurrencyCode,
+  pricesIncludeTax: Scalars['Boolean'],
+};
+
+export type Collection = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode?: Maybe<LanguageCode>,
+  name: Scalars['String'],
+  breadcrumbs: Array<CollectionBreadcrumb>,
+  position: Scalars['Int'],
+  description: Scalars['String'],
+  featuredAsset?: Maybe<Asset>,
+  assets: Array<Asset>,
+  parent?: Maybe<Collection>,
+  children?: Maybe<Array<Collection>>,
+  filters: Array<ConfigurableOperation>,
+  translations: Array<CollectionTranslation>,
+  productVariants: ProductVariantList,
+  isPrivate: Scalars['Boolean'],
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+
+export type CollectionProductVariantsArgs = {
+  options?: Maybe<ProductVariantListOptions>
+};
+
+export type CollectionBreadcrumb = {
+  id: Scalars['ID'],
+  name: Scalars['String'],
+};
+
+export type CollectionFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  languageCode?: Maybe<StringOperators>,
+  name?: Maybe<StringOperators>,
+  position?: Maybe<NumberOperators>,
+  description?: Maybe<StringOperators>,
+  isPrivate?: Maybe<BooleanOperators>,
+};
+
+export type CollectionList = PaginatedList & {
+  items: Array<Collection>,
+  totalItems: Scalars['Int'],
+};
+
+export type CollectionListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<CollectionSortParameter>,
+  filter?: Maybe<CollectionFilterParameter>,
+};
+
+export type CollectionSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  name?: Maybe<SortOrder>,
+  position?: Maybe<SortOrder>,
+  description?: Maybe<SortOrder>,
+};
+
+export type CollectionTranslation = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+  description: Scalars['String'],
+};
+
+export type CollectionTranslationInput = {
+  id?: Maybe<Scalars['ID']>,
+  languageCode: LanguageCode,
+  name?: Maybe<Scalars['String']>,
+  description?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ConfigArg = {
+  name: Scalars['String'],
+  type: ConfigArgType,
+  value?: Maybe<Scalars['String']>,
+};
+
+export type ConfigArgInput = {
+  name: Scalars['String'],
+  type: ConfigArgType,
+  value?: Maybe<Scalars['String']>,
+};
+
+/** Certain entities allow arbitrary configuration arguments to be specified which can then
+ * be set in the admin-ui and used in the business logic of the app. These are the valid
+ * data types of such arguments. The data type influences:
+ * 
+ * 1. How the argument form field is rendered in the admin-ui
+ * 2. The JavaScript type into which the value is coerced before being passed to the business logic.
+ */
+export enum ConfigArgType {
+  PERCENTAGE = 'PERCENTAGE',
+  MONEY = 'MONEY',
+  INT = 'INT',
+  STRING = 'STRING',
+  DATETIME = 'DATETIME',
+  BOOLEAN = 'BOOLEAN',
+  FACET_VALUE_IDS = 'FACET_VALUE_IDS',
+  STRING_OPERATOR = 'STRING_OPERATOR'
+}
+
+export type ConfigurableOperation = {
+  code: Scalars['String'],
+  args: Array<ConfigArg>,
+  description: Scalars['String'],
+};
+
+export type ConfigurableOperationInput = {
+  code: Scalars['String'],
+  arguments: Array<ConfigArgInput>,
+};
+
+export type Country = Node & {
+  id: Scalars['ID'],
+  languageCode: LanguageCode,
+  code: Scalars['String'],
+  name: Scalars['String'],
+  enabled: Scalars['Boolean'],
+  translations: Array<CountryTranslation>,
+};
+
+export type CountryFilterParameter = {
+  languageCode?: Maybe<StringOperators>,
+  code?: Maybe<StringOperators>,
+  name?: Maybe<StringOperators>,
+  enabled?: Maybe<BooleanOperators>,
+};
+
+export type CountryList = PaginatedList & {
+  items: Array<Country>,
+  totalItems: Scalars['Int'],
+};
+
+export type CountryListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<CountrySortParameter>,
+  filter?: Maybe<CountryFilterParameter>,
+};
+
+export type CountrySortParameter = {
+  id?: Maybe<SortOrder>,
+  code?: Maybe<SortOrder>,
+  name?: Maybe<SortOrder>,
+};
+
+export type CountryTranslation = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+};
+
+export type CountryTranslationInput = {
+  id?: Maybe<Scalars['ID']>,
+  languageCode: LanguageCode,
+  name?: Maybe<Scalars['String']>,
+};
+
+export type CreateAddressInput = {
+  fullName?: Maybe<Scalars['String']>,
+  company?: Maybe<Scalars['String']>,
+  streetLine1: Scalars['String'],
+  streetLine2?: Maybe<Scalars['String']>,
+  city?: Maybe<Scalars['String']>,
+  province?: Maybe<Scalars['String']>,
+  postalCode?: Maybe<Scalars['String']>,
+  countryCode: Scalars['String'],
+  phoneNumber?: Maybe<Scalars['String']>,
+  defaultShippingAddress?: Maybe<Scalars['Boolean']>,
+  defaultBillingAddress?: Maybe<Scalars['Boolean']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreateAdministratorInput = {
+  firstName: Scalars['String'],
+  lastName: Scalars['String'],
+  emailAddress: Scalars['String'],
+  password: Scalars['String'],
+  roleIds: Array<Scalars['ID']>,
+};
+
+export type CreateAssetInput = {
+  file: Scalars['Upload'],
+};
+
+export type CreateChannelInput = {
+  code: Scalars['String'],
+  token: Scalars['String'],
+  defaultLanguageCode: LanguageCode,
+  pricesIncludeTax: Scalars['Boolean'],
+  currencyCode: CurrencyCode,
+  defaultTaxZoneId?: Maybe<Scalars['ID']>,
+  defaultShippingZoneId?: Maybe<Scalars['ID']>,
+};
+
+export type CreateCollectionInput = {
+  isPrivate?: Maybe<Scalars['Boolean']>,
+  featuredAssetId?: Maybe<Scalars['ID']>,
+  assetIds?: Maybe<Array<Scalars['ID']>>,
+  parentId?: Maybe<Scalars['ID']>,
+  filters: Array<ConfigurableOperationInput>,
+  translations: Array<CollectionTranslationInput>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreateCountryInput = {
+  code: Scalars['String'],
+  translations: Array<CountryTranslationInput>,
+  enabled: Scalars['Boolean'],
+};
+
+export type CreateCustomerGroupInput = {
+  name: Scalars['String'],
+  customerIds?: Maybe<Array<Scalars['ID']>>,
+};
+
+export type CreateCustomerInput = {
+  title?: Maybe<Scalars['String']>,
+  firstName: Scalars['String'],
+  lastName: Scalars['String'],
+  phoneNumber?: Maybe<Scalars['String']>,
+  emailAddress: Scalars['String'],
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreateFacetInput = {
+  code: Scalars['String'],
+  isPrivate: Scalars['Boolean'],
+  translations: Array<FacetTranslationInput>,
+  values?: Maybe<Array<CreateFacetValueWithFacetInput>>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreateFacetValueInput = {
+  facetId: Scalars['ID'],
+  code: Scalars['String'],
+  translations: Array<FacetValueTranslationInput>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreateFacetValueWithFacetInput = {
+  code: Scalars['String'],
+  translations: Array<FacetValueTranslationInput>,
+};
+
+export type CreateProductInput = {
+  featuredAssetId?: Maybe<Scalars['ID']>,
+  assetIds?: Maybe<Array<Scalars['ID']>>,
+  facetValueIds?: Maybe<Array<Scalars['ID']>>,
+  translations: Array<ProductTranslationInput>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreateProductOptionGroupInput = {
+  code: Scalars['String'],
+  translations: Array<ProductOptionGroupTranslationInput>,
+  options: Array<CreateProductOptionInput>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreateProductOptionInput = {
+  code: Scalars['String'],
+  translations: Array<ProductOptionGroupTranslationInput>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreateProductVariantInput = {
+  translations: Array<ProductVariantTranslationInput>,
+  facetValueIds?: Maybe<Array<Scalars['ID']>>,
+  sku: Scalars['String'],
+  price?: Maybe<Scalars['Int']>,
+  taxCategoryId: Scalars['ID'],
+  optionIds?: Maybe<Array<Scalars['ID']>>,
+  featuredAssetId?: Maybe<Scalars['ID']>,
+  assetIds?: Maybe<Array<Scalars['ID']>>,
+  stockOnHand?: Maybe<Scalars['Int']>,
+  trackInventory?: Maybe<Scalars['Boolean']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type CreatePromotionInput = {
+  name: Scalars['String'],
+  enabled: Scalars['Boolean'],
+  conditions: Array<ConfigurableOperationInput>,
+  actions: Array<ConfigurableOperationInput>,
+};
+
+export type CreateRoleInput = {
+  code: Scalars['String'],
+  description: Scalars['String'],
+  permissions: Array<Permission>,
+};
+
+export type CreateShippingMethodInput = {
+  code: Scalars['String'],
+  description: Scalars['String'],
+  checker: ConfigurableOperationInput,
+  calculator: ConfigurableOperationInput,
+};
+
+export type CreateTaxCategoryInput = {
+  name: Scalars['String'],
+};
+
+export type CreateTaxRateInput = {
+  name: Scalars['String'],
+  enabled: Scalars['Boolean'],
+  value: Scalars['Int'],
+  categoryId: Scalars['ID'],
+  zoneId: Scalars['ID'],
+  customerGroupId?: Maybe<Scalars['ID']>,
+};
+
+export type CreateZoneInput = {
+  name: Scalars['String'],
+  memberIds?: Maybe<Array<Scalars['ID']>>,
+};
 
-export interface AdministratorListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<AdministratorSortParameter>;
-  
-  filter?: Maybe<AdministratorFilterParameter>;
-}
-
-export interface AdministratorSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  firstName?: Maybe<SortOrder>;
-  
-  lastName?: Maybe<SortOrder>;
-  
-  emailAddress?: Maybe<SortOrder>;
-}
-
-export interface AdministratorFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  firstName?: Maybe<StringOperators>;
-  
-  lastName?: Maybe<StringOperators>;
-  
-  emailAddress?: Maybe<StringOperators>;
-}
-
-export interface DateOperators {
-  
-  eq?: Maybe<DateTime>;
-  
-  before?: Maybe<DateTime>;
-  
-  after?: Maybe<DateTime>;
-  
-  between?: Maybe<DateRange>;
-}
-
-export interface DateRange {
-  
-  start: DateTime;
-  
-  end: DateTime;
-}
-
-export interface StringOperators {
-  
-  eq?: Maybe<string>;
-  
-  contains?: Maybe<string>;
-}
-
-export interface AssetListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<AssetSortParameter>;
-  
-  filter?: Maybe<AssetFilterParameter>;
-}
-
-export interface AssetSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  name?: Maybe<SortOrder>;
-  
-  fileSize?: Maybe<SortOrder>;
-  
-  mimeType?: Maybe<SortOrder>;
-  
-  source?: Maybe<SortOrder>;
-  
-  preview?: Maybe<SortOrder>;
-}
-
-export interface AssetFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  name?: Maybe<StringOperators>;
-  
-  type?: Maybe<StringOperators>;
-  
-  fileSize?: Maybe<NumberOperators>;
-  
-  mimeType?: Maybe<StringOperators>;
-  
-  source?: Maybe<StringOperators>;
-  
-  preview?: Maybe<StringOperators>;
-}
-
-export interface NumberOperators {
-  
-  eq?: Maybe<number>;
-  
-  lt?: Maybe<number>;
-  
-  lte?: Maybe<number>;
-  
-  gt?: Maybe<number>;
-  
-  gte?: Maybe<number>;
-  
-  between?: Maybe<NumberRange>;
-}
-
-export interface NumberRange {
-  
-  start: number;
-  
-  end: number;
-}
-
-export interface CollectionListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<CollectionSortParameter>;
-  
-  filter?: Maybe<CollectionFilterParameter>;
-}
-
-export interface CollectionSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  name?: Maybe<SortOrder>;
-  
-  position?: Maybe<SortOrder>;
-  
-  description?: Maybe<SortOrder>;
-}
-
-export interface CollectionFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  languageCode?: Maybe<StringOperators>;
-  
-  name?: Maybe<StringOperators>;
-  
-  position?: Maybe<NumberOperators>;
-  
-  description?: Maybe<StringOperators>;
-  
-  isPrivate?: Maybe<BooleanOperators>;
-}
-
-export interface BooleanOperators {
-  
-  eq?: Maybe<boolean>;
-}
-
-export interface ProductVariantListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<ProductVariantSortParameter>;
-  
-  filter?: Maybe<ProductVariantFilterParameter>;
-}
-
-export interface ProductVariantSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  productId?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  sku?: Maybe<SortOrder>;
-  
-  name?: Maybe<SortOrder>;
-  
-  price?: Maybe<SortOrder>;
-  
-  priceWithTax?: Maybe<SortOrder>;
-  
-  stockOnHand?: Maybe<SortOrder>;
-}
-
-export interface ProductVariantFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  languageCode?: Maybe<StringOperators>;
-  
-  sku?: Maybe<StringOperators>;
-  
-  name?: Maybe<StringOperators>;
-  
-  price?: Maybe<NumberOperators>;
-  
-  currencyCode?: Maybe<StringOperators>;
-  
-  priceIncludesTax?: Maybe<BooleanOperators>;
-  
-  priceWithTax?: Maybe<NumberOperators>;
-  
-  enabled?: Maybe<BooleanOperators>;
-  
-  stockOnHand?: Maybe<NumberOperators>;
-  
-  trackInventory?: Maybe<BooleanOperators>;
-}
-
-export interface StockMovementListOptions {
-  
-  type?: Maybe<StockMovementType>;
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-}
-
-export interface OrderListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<OrderSortParameter>;
-  
-  filter?: Maybe<OrderFilterParameter>;
-}
-
-export interface OrderSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  code?: Maybe<SortOrder>;
-  
-  state?: Maybe<SortOrder>;
-  
-  subTotalBeforeTax?: Maybe<SortOrder>;
-  
-  subTotal?: Maybe<SortOrder>;
-  
-  shipping?: Maybe<SortOrder>;
-  
-  totalBeforeTax?: Maybe<SortOrder>;
-  
-  total?: Maybe<SortOrder>;
-}
-
-export interface OrderFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  code?: Maybe<StringOperators>;
-  
-  state?: Maybe<StringOperators>;
-  
-  active?: Maybe<BooleanOperators>;
-  
-  subTotalBeforeTax?: Maybe<NumberOperators>;
-  
-  subTotal?: Maybe<NumberOperators>;
-  
-  currencyCode?: Maybe<StringOperators>;
-  
-  shipping?: Maybe<NumberOperators>;
-  
-  totalBeforeTax?: Maybe<NumberOperators>;
-  
-  total?: Maybe<NumberOperators>;
-}
-
-export interface CustomerListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<CustomerSortParameter>;
-  
-  filter?: Maybe<CustomerFilterParameter>;
-}
-
-export interface CustomerSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  title?: Maybe<SortOrder>;
-  
-  firstName?: Maybe<SortOrder>;
-  
-  lastName?: Maybe<SortOrder>;
-  
-  phoneNumber?: Maybe<SortOrder>;
-  
-  emailAddress?: Maybe<SortOrder>;
-}
-
-export interface CustomerFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  title?: Maybe<StringOperators>;
-  
-  firstName?: Maybe<StringOperators>;
-  
-  lastName?: Maybe<StringOperators>;
-  
-  phoneNumber?: Maybe<StringOperators>;
-  
-  emailAddress?: Maybe<StringOperators>;
-}
-
-export interface CountryListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<CountrySortParameter>;
-  
-  filter?: Maybe<CountryFilterParameter>;
-}
-
-export interface CountrySortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  code?: Maybe<SortOrder>;
-  
-  name?: Maybe<SortOrder>;
-}
-
-export interface CountryFilterParameter {
-  
-  languageCode?: Maybe<StringOperators>;
-  
-  code?: Maybe<StringOperators>;
-  
-  name?: Maybe<StringOperators>;
-  
-  enabled?: Maybe<BooleanOperators>;
-}
-
-export interface FacetListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<FacetSortParameter>;
-  
-  filter?: Maybe<FacetFilterParameter>;
-}
-
-export interface FacetSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  name?: Maybe<SortOrder>;
-  
-  code?: Maybe<SortOrder>;
-}
-
-export interface FacetFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  languageCode?: Maybe<StringOperators>;
-  
-  name?: Maybe<StringOperators>;
-  
-  code?: Maybe<StringOperators>;
-  
-  isPrivate?: Maybe<BooleanOperators>;
-}
-
-export interface PaymentMethodListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<PaymentMethodSortParameter>;
-  
-  filter?: Maybe<PaymentMethodFilterParameter>;
-}
-
-export interface PaymentMethodSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  code?: Maybe<SortOrder>;
-}
-
-export interface PaymentMethodFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  code?: Maybe<StringOperators>;
-  
-  enabled?: Maybe<BooleanOperators>;
-}
-
-export interface SearchInput {
-  
-  term?: Maybe<string>;
-  
-  facetIds?: Maybe<string[]>;
-  
-  collectionId?: Maybe<string>;
-  
-  groupByProduct?: Maybe<boolean>;
-  
-  take?: Maybe<number>;
-  
-  skip?: Maybe<number>;
-  
-  sort?: Maybe<SearchResultSortParameter>;
-}
-
-export interface SearchResultSortParameter {
-  
-  name?: Maybe<SortOrder>;
-  
-  price?: Maybe<SortOrder>;
-}
-
-export interface RoleListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<RoleSortParameter>;
-  
-  filter?: Maybe<RoleFilterParameter>;
-}
-
-export interface RoleSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  code?: Maybe<SortOrder>;
-  
-  description?: Maybe<SortOrder>;
-}
-
-export interface RoleFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  code?: Maybe<StringOperators>;
-  
-  description?: Maybe<StringOperators>;
-}
-
-export interface ProductListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<ProductSortParameter>;
-  
-  filter?: Maybe<ProductFilterParameter>;
-}
-
-export interface ProductSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  name?: Maybe<SortOrder>;
-  
-  slug?: Maybe<SortOrder>;
-  
-  description?: Maybe<SortOrder>;
-}
-
-export interface ProductFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  languageCode?: Maybe<StringOperators>;
-  
-  name?: Maybe<StringOperators>;
-  
-  slug?: Maybe<StringOperators>;
-  
-  description?: Maybe<StringOperators>;
-  
-  enabled?: Maybe<BooleanOperators>;
-}
-
-export interface PromotionListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<PromotionSortParameter>;
-  
-  filter?: Maybe<PromotionFilterParameter>;
-}
-
-export interface PromotionSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  name?: Maybe<SortOrder>;
-}
-
-export interface PromotionFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  name?: Maybe<StringOperators>;
-  
-  enabled?: Maybe<BooleanOperators>;
-}
-
-export interface ShippingMethodListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<ShippingMethodSortParameter>;
-  
-  filter?: Maybe<ShippingMethodFilterParameter>;
-}
-
-export interface ShippingMethodSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  code?: Maybe<SortOrder>;
-  
-  description?: Maybe<SortOrder>;
-}
-
-export interface ShippingMethodFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  code?: Maybe<StringOperators>;
-  
-  description?: Maybe<StringOperators>;
-}
-
-export interface TaxRateListOptions {
-  
-  skip?: Maybe<number>;
-  
-  take?: Maybe<number>;
-  
-  sort?: Maybe<TaxRateSortParameter>;
-  
-  filter?: Maybe<TaxRateFilterParameter>;
-}
-
-export interface TaxRateSortParameter {
-  
-  id?: Maybe<SortOrder>;
-  
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
-  name?: Maybe<SortOrder>;
-  
-  value?: Maybe<SortOrder>;
-}
-
-export interface TaxRateFilterParameter {
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
-  
-  name?: Maybe<StringOperators>;
-  
-  enabled?: Maybe<BooleanOperators>;
-  
-  value?: Maybe<NumberOperators>;
-}
-
-export interface CreateAdministratorInput {
-  
-  firstName: string;
-  
-  lastName: string;
-  
-  emailAddress: string;
-  
-  password: string;
-  
-  roleIds: string[];
-}
-
-export interface UpdateAdministratorInput {
-  
-  id: string;
-  
-  firstName?: Maybe<string>;
-  
-  lastName?: Maybe<string>;
-  
-  emailAddress?: Maybe<string>;
-  
-  password?: Maybe<string>;
-  
-  roleIds?: Maybe<string[]>;
-}
-
-export interface CreateAssetInput {
-  
-  file: Upload;
-}
-
-export interface CreateCollectionInput {
-  
-  isPrivate?: Maybe<boolean>;
-  
-  featuredAssetId?: Maybe<string>;
-  
-  assetIds?: Maybe<string[]>;
-  
-  parentId?: Maybe<string>;
-  
-  filters: ConfigurableOperationInput[];
-  
-  translations: CollectionTranslationInput[];
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface ConfigurableOperationInput {
-  
-  code: string;
-  
-  arguments: ConfigArgInput[];
-}
-
-export interface ConfigArgInput {
-  
-  name: string;
-  
-  type: ConfigArgType;
-  
-  value?: Maybe<string>;
-}
-
-export interface CollectionTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-  
-  description?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateCollectionInput {
-  
-  id: string;
-  
-  isPrivate?: Maybe<boolean>;
-  
-  featuredAssetId?: Maybe<string>;
-  
-  parentId?: Maybe<string>;
-  
-  assetIds?: Maybe<string[]>;
-  
-  filters?: Maybe<ConfigurableOperationInput[]>;
-  
-  translations?: Maybe<CollectionTranslationInput[]>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface MoveCollectionInput {
-  
-  collectionId: string;
-  
-  parentId: string;
-  
-  index: number;
-}
-
-export interface CreateChannelInput {
-  
-  code: string;
-  
-  token: string;
-  
-  defaultLanguageCode: LanguageCode;
-  
-  pricesIncludeTax: boolean;
-  
-  currencyCode: CurrencyCode;
-  
-  defaultTaxZoneId?: Maybe<string>;
-  
-  defaultShippingZoneId?: Maybe<string>;
-}
-
-export interface UpdateChannelInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  token?: Maybe<string>;
-  
-  defaultLanguageCode?: Maybe<LanguageCode>;
-  
-  pricesIncludeTax?: Maybe<boolean>;
-  
-  currencyCode?: Maybe<CurrencyCode>;
-  
-  defaultTaxZoneId?: Maybe<string>;
-  
-  defaultShippingZoneId?: Maybe<string>;
-}
-
-export interface CreateCustomerInput {
-  
-  title?: Maybe<string>;
-  
-  firstName: string;
-  
-  lastName: string;
-  
-  phoneNumber?: Maybe<string>;
-  
-  emailAddress: string;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateCustomerInput {
-  
-  id: string;
-  
-  title?: Maybe<string>;
-  
-  firstName?: Maybe<string>;
-  
-  lastName?: Maybe<string>;
-  
-  phoneNumber?: Maybe<string>;
-  
-  emailAddress?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface CreateAddressInput {
-  
-  fullName?: Maybe<string>;
-  
-  company?: Maybe<string>;
-  
-  streetLine1: string;
-  
-  streetLine2?: Maybe<string>;
-  
-  city?: Maybe<string>;
-  
-  province?: Maybe<string>;
-  
-  postalCode?: Maybe<string>;
-  
-  countryCode: string;
-  
-  phoneNumber?: Maybe<string>;
-  
-  defaultShippingAddress?: Maybe<boolean>;
-  
-  defaultBillingAddress?: Maybe<boolean>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateAddressInput {
-  
-  id: string;
-  
-  fullName?: Maybe<string>;
-  
-  company?: Maybe<string>;
-  
-  streetLine1?: Maybe<string>;
-  
-  streetLine2?: Maybe<string>;
-  
-  city?: Maybe<string>;
-  
-  province?: Maybe<string>;
-  
-  postalCode?: Maybe<string>;
-  
-  countryCode?: Maybe<string>;
-  
-  phoneNumber?: Maybe<string>;
-  
-  defaultShippingAddress?: Maybe<boolean>;
-  
-  defaultBillingAddress?: Maybe<boolean>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface CreateCountryInput {
-  
-  code: string;
-  
-  translations: CountryTranslationInput[];
-  
-  enabled: boolean;
-}
-
-export interface CountryTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-}
-
-export interface UpdateCountryInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  translations?: Maybe<CountryTranslationInput[]>;
-  
-  enabled?: Maybe<boolean>;
-}
-
-export interface CreateCustomerGroupInput {
-  
-  name: string;
-  
-  customerIds?: Maybe<string[]>;
-}
-
-export interface UpdateCustomerGroupInput {
-  
-  id: string;
-  
-  name?: Maybe<string>;
-}
-
-export interface CreateFacetInput {
-  
-  code: string;
-  
-  isPrivate: boolean;
-  
-  translations: FacetTranslationInput[];
-  
-  values?: Maybe<CreateFacetValueWithFacetInput[]>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface FacetTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface CreateFacetValueWithFacetInput {
-  
-  code: string;
-  
-  translations: FacetValueTranslationInput[];
-}
-
-export interface FacetValueTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateFacetInput {
-  
-  id: string;
-  
-  isPrivate?: Maybe<boolean>;
-  
-  code?: Maybe<string>;
-  
-  translations?: Maybe<FacetTranslationInput[]>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface CreateFacetValueInput {
-  
-  facetId: string;
-  
-  code: string;
-  
-  translations: FacetValueTranslationInput[];
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateFacetValueInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  translations?: Maybe<FacetValueTranslationInput[]>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateGlobalSettingsInput {
-  
-  availableLanguages?: Maybe<LanguageCode[]>;
-  
-  trackInventory?: Maybe<boolean>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdatePaymentMethodInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  enabled?: Maybe<boolean>;
-  
-  configArgs?: Maybe<ConfigArgInput[]>;
-}
-
-export interface CreateProductOptionGroupInput {
-  
-  code: string;
-  
-  translations: ProductOptionGroupTranslationInput[];
-  
-  options: CreateProductOptionInput[];
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface ProductOptionGroupTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface CreateProductOptionInput {
-  
-  code: string;
-  
-  translations: ProductOptionGroupTranslationInput[];
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateProductOptionGroupInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  translations?: Maybe<ProductOptionGroupTranslationInput[]>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface CreateRoleInput {
-  
-  code: string;
-  
-  description: string;
-  
-  permissions: Permission[];
-}
-
-export interface UpdateRoleInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  description?: Maybe<string>;
-  
-  permissions?: Maybe<Permission[]>;
-}
-
-export interface CreateProductInput {
-  
-  featuredAssetId?: Maybe<string>;
-  
-  assetIds?: Maybe<string[]>;
-  
-  facetValueIds?: Maybe<string[]>;
-  
-  translations: ProductTranslationInput[];
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface ProductTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-  
-  slug?: Maybe<string>;
-  
-  description?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateProductInput {
-  
-  id: string;
-  
-  enabled?: Maybe<boolean>;
-  
-  featuredAssetId?: Maybe<string>;
-  
-  assetIds?: Maybe<string[]>;
-  
-  facetValueIds?: Maybe<string[]>;
-  
-  translations?: Maybe<ProductTranslationInput[]>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface UpdateProductVariantInput {
-  
-  id: string;
-  
-  enabled?: Maybe<boolean>;
-  
-  translations?: Maybe<ProductVariantTranslationInput[]>;
-  
-  facetValueIds?: Maybe<string[]>;
-  
-  sku?: Maybe<string>;
-  
-  taxCategoryId?: Maybe<string>;
-  
-  price?: Maybe<number>;
-  
-  featuredAssetId?: Maybe<string>;
-  
-  assetIds?: Maybe<string[]>;
-  
-  stockOnHand?: Maybe<number>;
-  
-  trackInventory?: Maybe<boolean>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface ProductVariantTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface CreatePromotionInput {
-  
-  name: string;
-  
-  enabled: boolean;
-  
-  conditions: ConfigurableOperationInput[];
-  
-  actions: ConfigurableOperationInput[];
-}
-
-export interface UpdatePromotionInput {
-  
-  id: string;
-  
-  name?: Maybe<string>;
-  
-  enabled?: Maybe<boolean>;
-  
-  conditions?: Maybe<ConfigurableOperationInput[]>;
-  
-  actions?: Maybe<ConfigurableOperationInput[]>;
-}
-
-export interface CreateTaxCategoryInput {
-  
-  name: string;
-}
-
-export interface UpdateTaxCategoryInput {
-  
-  id: string;
-  
-  name?: Maybe<string>;
-}
-
-export interface CreateShippingMethodInput {
-  
-  code: string;
-  
-  description: string;
-  
-  checker: ConfigurableOperationInput;
-  
-  calculator: ConfigurableOperationInput;
-}
-
-export interface UpdateShippingMethodInput {
-  
-  id: string;
-  
-  code?: Maybe<string>;
-  
-  description?: Maybe<string>;
-  
-  checker?: Maybe<ConfigurableOperationInput>;
-  
-  calculator?: Maybe<ConfigurableOperationInput>;
-}
-
-export interface CreateTaxRateInput {
-  
-  name: string;
-  
-  enabled: boolean;
-  
-  value: number;
-  
-  categoryId: string;
-  
-  zoneId: string;
-  
-  customerGroupId?: Maybe<string>;
-}
-
-export interface UpdateTaxRateInput {
-  
-  id: string;
-  
-  name?: Maybe<string>;
-  
-  value?: Maybe<number>;
-  
-  enabled?: Maybe<boolean>;
-  
-  categoryId?: Maybe<string>;
-  
-  zoneId?: Maybe<string>;
-  
-  customerGroupId?: Maybe<string>;
-}
-
-export interface CreateZoneInput {
-  
-  name: string;
-  
-  memberIds?: Maybe<string[]>;
-}
-
-export interface UpdateZoneInput {
-  
-  id: string;
-  
-  name?: Maybe<string>;
-}
-
-export interface CreateProductVariantInput {
-  
-  translations: ProductVariantTranslationInput[];
-  
-  facetValueIds?: Maybe<string[]>;
-  
-  sku: string;
-  
-  price?: Maybe<number>;
-  
-  taxCategoryId: string;
-  
-  optionIds?: Maybe<string[]>;
-  
-  featuredAssetId?: Maybe<string>;
-  
-  assetIds?: Maybe<string[]>;
-  
-  stockOnHand?: Maybe<number>;
-  
-  trackInventory?: Maybe<boolean>;
-  
-  customFields?: Maybe<Json>;
-}
-
-export interface ProductOptionTranslationInput {
-  
-  id?: Maybe<string>;
-  
-  languageCode: LanguageCode;
-  
-  name?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-  export enum SortOrder {
-    ASC = "ASC",
-    DESC = "DESC",
-  }
-/** Permissions for administrators and customers */
-  export enum Permission {
-    Authenticated = "Authenticated",
-    SuperAdmin = "SuperAdmin",
-    Owner = "Owner",
-    Public = "Public",
-    CreateCatalog = "CreateCatalog",
-    ReadCatalog = "ReadCatalog",
-    UpdateCatalog = "UpdateCatalog",
-    DeleteCatalog = "DeleteCatalog",
-    CreateCustomer = "CreateCustomer",
-    ReadCustomer = "ReadCustomer",
-    UpdateCustomer = "UpdateCustomer",
-    DeleteCustomer = "DeleteCustomer",
-    CreateAdministrator = "CreateAdministrator",
-    ReadAdministrator = "ReadAdministrator",
-    UpdateAdministrator = "UpdateAdministrator",
-    DeleteAdministrator = "DeleteAdministrator",
-    CreateOrder = "CreateOrder",
-    ReadOrder = "ReadOrder",
-    UpdateOrder = "UpdateOrder",
-    DeleteOrder = "DeleteOrder",
-    CreateSettings = "CreateSettings",
-    ReadSettings = "ReadSettings",
-    UpdateSettings = "UpdateSettings",
-    DeleteSettings = "DeleteSettings",
-  }
-/** ISO 639-1 language code */
-  export enum LanguageCode {
-    aa = "aa",
-    ab = "ab",
-    af = "af",
-    ak = "ak",
-    sq = "sq",
-    am = "am",
-    ar = "ar",
-    an = "an",
-    hy = "hy",
-    as = "as",
-    av = "av",
-    ae = "ae",
-    ay = "ay",
-    az = "az",
-    ba = "ba",
-    bm = "bm",
-    eu = "eu",
-    be = "be",
-    bn = "bn",
-    bh = "bh",
-    bi = "bi",
-    bs = "bs",
-    br = "br",
-    bg = "bg",
-    my = "my",
-    ca = "ca",
-    ch = "ch",
-    ce = "ce",
-    zh = "zh",
-    cu = "cu",
-    cv = "cv",
-    kw = "kw",
-    co = "co",
-    cr = "cr",
-    cs = "cs",
-    da = "da",
-    dv = "dv",
-    nl = "nl",
-    dz = "dz",
-    en = "en",
-    eo = "eo",
-    et = "et",
-    ee = "ee",
-    fo = "fo",
-    fj = "fj",
-    fi = "fi",
-    fr = "fr",
-    fy = "fy",
-    ff = "ff",
-    ka = "ka",
-    de = "de",
-    gd = "gd",
-    ga = "ga",
-    gl = "gl",
-    gv = "gv",
-    el = "el",
-    gn = "gn",
-    gu = "gu",
-    ht = "ht",
-    ha = "ha",
-    he = "he",
-    hz = "hz",
-    hi = "hi",
-    ho = "ho",
-    hr = "hr",
-    hu = "hu",
-    ig = "ig",
-    is = "is",
-    io = "io",
-    ii = "ii",
-    iu = "iu",
-    ie = "ie",
-    ia = "ia",
-    id = "id",
-    ik = "ik",
-    it = "it",
-    jv = "jv",
-    ja = "ja",
-    kl = "kl",
-    kn = "kn",
-    ks = "ks",
-    kr = "kr",
-    kk = "kk",
-    km = "km",
-    ki = "ki",
-    rw = "rw",
-    ky = "ky",
-    kv = "kv",
-    kg = "kg",
-    ko = "ko",
-    kj = "kj",
-    ku = "ku",
-    lo = "lo",
-    la = "la",
-    lv = "lv",
-    li = "li",
-    ln = "ln",
-    lt = "lt",
-    lb = "lb",
-    lu = "lu",
-    lg = "lg",
-    mk = "mk",
-    mh = "mh",
-    ml = "ml",
-    mi = "mi",
-    mr = "mr",
-    ms = "ms",
-    mg = "mg",
-    mt = "mt",
-    mn = "mn",
-    na = "na",
-    nv = "nv",
-    nr = "nr",
-    nd = "nd",
-    ng = "ng",
-    ne = "ne",
-    nn = "nn",
-    nb = "nb",
-    no = "no",
-    ny = "ny",
-    oc = "oc",
-    oj = "oj",
-    or = "or",
-    om = "om",
-    os = "os",
-    pa = "pa",
-    fa = "fa",
-    pi = "pi",
-    pl = "pl",
-    pt = "pt",
-    ps = "ps",
-    qu = "qu",
-    rm = "rm",
-    ro = "ro",
-    rn = "rn",
-    ru = "ru",
-    sg = "sg",
-    sa = "sa",
-    si = "si",
-    sk = "sk",
-    sl = "sl",
-    se = "se",
-    sm = "sm",
-    sn = "sn",
-    sd = "sd",
-    so = "so",
-    st = "st",
-    es = "es",
-    sc = "sc",
-    sr = "sr",
-    ss = "ss",
-    su = "su",
-    sw = "sw",
-    sv = "sv",
-    ty = "ty",
-    ta = "ta",
-    tt = "tt",
-    te = "te",
-    tg = "tg",
-    tl = "tl",
-    th = "th",
-    bo = "bo",
-    ti = "ti",
-    to = "to",
-    tn = "tn",
-    ts = "ts",
-    tk = "tk",
-    tr = "tr",
-    tw = "tw",
-    ug = "ug",
-    uk = "uk",
-    ur = "ur",
-    uz = "uz",
-    ve = "ve",
-    vi = "vi",
-    vo = "vo",
-    cy = "cy",
-    wa = "wa",
-    wo = "wo",
-    xh = "xh",
-    yi = "yi",
-    yo = "yo",
-    za = "za",
-    zu = "zu",
-  }
 /** ISO 4217 currency code */
-  export enum CurrencyCode {
-    AED = "AED",
-    AFN = "AFN",
-    ALL = "ALL",
-    AMD = "AMD",
-    ANG = "ANG",
-    AOA = "AOA",
-    ARS = "ARS",
-    AUD = "AUD",
-    AWG = "AWG",
-    AZN = "AZN",
-    BAM = "BAM",
-    BBD = "BBD",
-    BDT = "BDT",
-    BGN = "BGN",
-    BHD = "BHD",
-    BIF = "BIF",
-    BMD = "BMD",
-    BND = "BND",
-    BOB = "BOB",
-    BRL = "BRL",
-    BSD = "BSD",
-    BTN = "BTN",
-    BWP = "BWP",
-    BYN = "BYN",
-    BZD = "BZD",
-    CAD = "CAD",
-    CHE = "CHE",
-    CHW = "CHW",
-    CLP = "CLP",
-    CNY = "CNY",
-    COP = "COP",
-    CRC = "CRC",
-    CUC = "CUC",
-    CUP = "CUP",
-    CVE = "CVE",
-    CZK = "CZK",
-    DJF = "DJF",
-    DKK = "DKK",
-    DOP = "DOP",
-    DZD = "DZD",
-    EGP = "EGP",
-    ERN = "ERN",
-    ETB = "ETB",
-    EUR = "EUR",
-    FJD = "FJD",
-    FKP = "FKP",
-    GBP = "GBP",
-    GEL = "GEL",
-    GHS = "GHS",
-    GIP = "GIP",
-    GMD = "GMD",
-    GNF = "GNF",
-    GTQ = "GTQ",
-    GYD = "GYD",
-    HKD = "HKD",
-    HNL = "HNL",
-    HRK = "HRK",
-    HTG = "HTG",
-    HUF = "HUF",
-    IDR = "IDR",
-    ILS = "ILS",
-    INR = "INR",
-    IQD = "IQD",
-    IRR = "IRR",
-    ISK = "ISK",
-    JMD = "JMD",
-    JOD = "JOD",
-    JPY = "JPY",
-    KES = "KES",
-    KGS = "KGS",
-    KHR = "KHR",
-    KMF = "KMF",
-    KPW = "KPW",
-    KRW = "KRW",
-    KWD = "KWD",
-    KYD = "KYD",
-    KZT = "KZT",
-    LAK = "LAK",
-    LBP = "LBP",
-    LKR = "LKR",
-    LRD = "LRD",
-    LSL = "LSL",
-    LYD = "LYD",
-    MAD = "MAD",
-    MDL = "MDL",
-    MGA = "MGA",
-    MKD = "MKD",
-    MMK = "MMK",
-    MNT = "MNT",
-    MOP = "MOP",
-    MRU = "MRU",
-    MUR = "MUR",
-    MVR = "MVR",
-    MWK = "MWK",
-    MXN = "MXN",
-    MYR = "MYR",
-    MZN = "MZN",
-    NAD = "NAD",
-    NGN = "NGN",
-    NIO = "NIO",
-    NOK = "NOK",
-    NPR = "NPR",
-    NZD = "NZD",
-    OMR = "OMR",
-    PAB = "PAB",
-    PEN = "PEN",
-    PGK = "PGK",
-    PHP = "PHP",
-    PKR = "PKR",
-    PLN = "PLN",
-    PYG = "PYG",
-    QAR = "QAR",
-    RON = "RON",
-    RSD = "RSD",
-    RUB = "RUB",
-    RWF = "RWF",
-    SAR = "SAR",
-    SBD = "SBD",
-    SCR = "SCR",
-    SDG = "SDG",
-    SEK = "SEK",
-    SGD = "SGD",
-    SHP = "SHP",
-    SLL = "SLL",
-    SOS = "SOS",
-    SRD = "SRD",
-    SSP = "SSP",
-    STN = "STN",
-    SVC = "SVC",
-    SYP = "SYP",
-    SZL = "SZL",
-    THB = "THB",
-    TJS = "TJS",
-    TMT = "TMT",
-    TND = "TND",
-    TOP = "TOP",
-    TRY = "TRY",
-    TTD = "TTD",
-    TWD = "TWD",
-    TZS = "TZS",
-    UAH = "UAH",
-    UGX = "UGX",
-    USD = "USD",
-    UYU = "UYU",
-    UZS = "UZS",
-    VES = "VES",
-    VND = "VND",
-    VUV = "VUV",
-    WST = "WST",
-    XAF = "XAF",
-    XCD = "XCD",
-    XOF = "XOF",
-    XPF = "XPF",
-    YER = "YER",
-    ZAR = "ZAR",
-    ZMW = "ZMW",
-    ZWL = "ZWL",
-  }
-
-  export enum AssetType {
-    IMAGE = "IMAGE",
-    VIDEO = "VIDEO",
-    BINARY = "BINARY",
-  }
-/** Certain entities allow arbitrary configuration arguments to be specified which can then be set in the admin-ui and used in the business logic of the app. These are the valid data types of such arguments. The data type influences: 1. How the argument form field is rendered in the admin-ui 2. The JavaScript type into which the value is coerced before being passed to the business logic. */
-  export enum ConfigArgType {
-    PERCENTAGE = "PERCENTAGE",
-    MONEY = "MONEY",
-    INT = "INT",
-    STRING = "STRING",
-    DATETIME = "DATETIME",
-    BOOLEAN = "BOOLEAN",
-    FACET_VALUE_IDS = "FACET_VALUE_IDS",
-    STRING_OPERATOR = "STRING_OPERATOR",
-  }
-
-  export enum StockMovementType {
-    ADJUSTMENT = "ADJUSTMENT",
-    SALE = "SALE",
-    CANCELLATION = "CANCELLATION",
-    RETURN = "RETURN",
-  }
-
-  export enum AdjustmentType {
-    TAX = "TAX",
-    PROMOTION = "PROMOTION",
-    SHIPPING = "SHIPPING",
-    REFUND = "REFUND",
-    TAX_REFUND = "TAX_REFUND",
-    PROMOTION_REFUND = "PROMOTION_REFUND",
-    SHIPPING_REFUND = "SHIPPING_REFUND",
-  }
-
-  export enum DeletionResult {
-    DELETED = "DELETED",
-    NOT_DELETED = "NOT_DELETED",
-  }
-
-/** 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. */
-export type 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). */
-export type Json = any;
-
-/** The `Upload` scalar type represents a file upload. */
-export type Upload = any;
-
-
-// ====================================================
-// Documents
-// ====================================================
+export enum CurrencyCode {
+  /** United Arab Emirates dirham */
+  AED = 'AED',
+  /** Afghan afghani */
+  AFN = 'AFN',
+  /** Albanian lek */
+  ALL = 'ALL',
+  /** Armenian dram */
+  AMD = 'AMD',
+  /** Netherlands Antillean guilder */
+  ANG = 'ANG',
+  /** Angolan kwanza */
+  AOA = 'AOA',
+  /** Argentine peso */
+  ARS = 'ARS',
+  /** Australian dollar */
+  AUD = 'AUD',
+  /** Aruban florin */
+  AWG = 'AWG',
+  /** Azerbaijani manat */
+  AZN = 'AZN',
+  /** Bosnia and Herzegovina convertible mark */
+  BAM = 'BAM',
+  /** Barbados dollar */
+  BBD = 'BBD',
+  /** Bangladeshi taka */
+  BDT = 'BDT',
+  /** Bulgarian lev */
+  BGN = 'BGN',
+  /** Bahraini dinar */
+  BHD = 'BHD',
+  /** Burundian franc */
+  BIF = 'BIF',
+  /** Bermudian dollar */
+  BMD = 'BMD',
+  /** Brunei dollar */
+  BND = 'BND',
+  /** Boliviano */
+  BOB = 'BOB',
+  /** Brazilian real */
+  BRL = 'BRL',
+  /** Bahamian dollar */
+  BSD = 'BSD',
+  /** Bhutanese ngultrum */
+  BTN = 'BTN',
+  /** Botswana pula */
+  BWP = 'BWP',
+  /** Belarusian ruble */
+  BYN = 'BYN',
+  /** Belize dollar */
+  BZD = 'BZD',
+  /** Canadian dollar */
+  CAD = 'CAD',
+  /** Congolese franc */
+  CHE = 'CHE',
+  /** Swiss franc */
+  CHW = 'CHW',
+  /** Chilean peso */
+  CLP = 'CLP',
+  /** Renminbi (Chinese) yuan */
+  CNY = 'CNY',
+  /** Colombian peso */
+  COP = 'COP',
+  /** Costa Rican colon */
+  CRC = 'CRC',
+  /** Cuban convertible peso */
+  CUC = 'CUC',
+  /** Cuban peso */
+  CUP = 'CUP',
+  /** Cape Verde escudo */
+  CVE = 'CVE',
+  /** Czech koruna */
+  CZK = 'CZK',
+  /** Djiboutian franc */
+  DJF = 'DJF',
+  /** Danish krone */
+  DKK = 'DKK',
+  /** Dominican peso */
+  DOP = 'DOP',
+  /** Algerian dinar */
+  DZD = 'DZD',
+  /** Egyptian pound */
+  EGP = 'EGP',
+  /** Eritrean nakfa */
+  ERN = 'ERN',
+  /** Ethiopian birr */
+  ETB = 'ETB',
+  /** Euro */
+  EUR = 'EUR',
+  /** Fiji dollar */
+  FJD = 'FJD',
+  /** Falkland Islands pound */
+  FKP = 'FKP',
+  /** Pound sterling */
+  GBP = 'GBP',
+  /** Georgian lari */
+  GEL = 'GEL',
+  /** Ghanaian cedi */
+  GHS = 'GHS',
+  /** Gibraltar pound */
+  GIP = 'GIP',
+  /** Gambian dalasi */
+  GMD = 'GMD',
+  /** Guinean franc */
+  GNF = 'GNF',
+  /** Guatemalan quetzal */
+  GTQ = 'GTQ',
+  /** Guyanese dollar */
+  GYD = 'GYD',
+  /** Hong Kong dollar */
+  HKD = 'HKD',
+  /** Honduran lempira */
+  HNL = 'HNL',
+  /** Croatian kuna */
+  HRK = 'HRK',
+  /** Haitian gourde */
+  HTG = 'HTG',
+  /** Hungarian forint */
+  HUF = 'HUF',
+  /** Indonesian rupiah */
+  IDR = 'IDR',
+  /** Israeli new shekel */
+  ILS = 'ILS',
+  /** Indian rupee */
+  INR = 'INR',
+  /** Iraqi dinar */
+  IQD = 'IQD',
+  /** Iranian rial */
+  IRR = 'IRR',
+  /** Icelandic króna */
+  ISK = 'ISK',
+  /** Jamaican dollar */
+  JMD = 'JMD',
+  /** Jordanian dinar */
+  JOD = 'JOD',
+  /** Japanese yen */
+  JPY = 'JPY',
+  /** Kenyan shilling */
+  KES = 'KES',
+  /** Kyrgyzstani som */
+  KGS = 'KGS',
+  /** Cambodian riel */
+  KHR = 'KHR',
+  /** Comoro franc */
+  KMF = 'KMF',
+  /** North Korean won */
+  KPW = 'KPW',
+  /** South Korean won */
+  KRW = 'KRW',
+  /** Kuwaiti dinar */
+  KWD = 'KWD',
+  /** Cayman Islands dollar */
+  KYD = 'KYD',
+  /** Kazakhstani tenge */
+  KZT = 'KZT',
+  /** Lao kip */
+  LAK = 'LAK',
+  /** Lebanese pound */
+  LBP = 'LBP',
+  /** Sri Lankan rupee */
+  LKR = 'LKR',
+  /** Liberian dollar */
+  LRD = 'LRD',
+  /** Lesotho loti */
+  LSL = 'LSL',
+  /** Libyan dinar */
+  LYD = 'LYD',
+  /** Moroccan dirham */
+  MAD = 'MAD',
+  /** Moldovan leu */
+  MDL = 'MDL',
+  /** Malagasy ariary */
+  MGA = 'MGA',
+  /** Macedonian denar */
+  MKD = 'MKD',
+  /** Myanmar kyat */
+  MMK = 'MMK',
+  /** Mongolian tögrög */
+  MNT = 'MNT',
+  /** Macanese pataca */
+  MOP = 'MOP',
+  /** Mauritanian ouguiya */
+  MRU = 'MRU',
+  /** Mauritian rupee */
+  MUR = 'MUR',
+  /** Maldivian rufiyaa */
+  MVR = 'MVR',
+  /** Malawian kwacha */
+  MWK = 'MWK',
+  /** Mexican peso */
+  MXN = 'MXN',
+  /** Malaysian ringgit */
+  MYR = 'MYR',
+  /** Mozambican metical */
+  MZN = 'MZN',
+  /** Namibian dollar */
+  NAD = 'NAD',
+  /** Nigerian naira */
+  NGN = 'NGN',
+  /** Nicaraguan córdoba */
+  NIO = 'NIO',
+  /** Norwegian krone */
+  NOK = 'NOK',
+  /** Nepalese rupee */
+  NPR = 'NPR',
+  /** New Zealand dollar */
+  NZD = 'NZD',
+  /** Omani rial */
+  OMR = 'OMR',
+  /** Panamanian balboa */
+  PAB = 'PAB',
+  /** Peruvian sol */
+  PEN = 'PEN',
+  /** Papua New Guinean kina */
+  PGK = 'PGK',
+  /** Philippine peso */
+  PHP = 'PHP',
+  /** Pakistani rupee */
+  PKR = 'PKR',
+  /** Polish złoty */
+  PLN = 'PLN',
+  /** Paraguayan guaraní */
+  PYG = 'PYG',
+  /** Qatari riyal */
+  QAR = 'QAR',
+  /** Romanian leu */
+  RON = 'RON',
+  /** Serbian dinar */
+  RSD = 'RSD',
+  /** Russian ruble */
+  RUB = 'RUB',
+  /** Rwandan franc */
+  RWF = 'RWF',
+  /** Saudi riyal */
+  SAR = 'SAR',
+  /** Solomon Islands dollar */
+  SBD = 'SBD',
+  /** Seychelles rupee */
+  SCR = 'SCR',
+  /** Sudanese pound */
+  SDG = 'SDG',
+  /** Swedish krona/kronor */
+  SEK = 'SEK',
+  /** Singapore dollar */
+  SGD = 'SGD',
+  /** Saint Helena pound */
+  SHP = 'SHP',
+  /** Sierra Leonean leone */
+  SLL = 'SLL',
+  /** Somali shilling */
+  SOS = 'SOS',
+  /** Surinamese dollar */
+  SRD = 'SRD',
+  /** South Sudanese pound */
+  SSP = 'SSP',
+  /** São Tomé and Príncipe dobra */
+  STN = 'STN',
+  /** Salvadoran colón */
+  SVC = 'SVC',
+  /** Syrian pound */
+  SYP = 'SYP',
+  /** Swazi lilangeni */
+  SZL = 'SZL',
+  /** Thai baht */
+  THB = 'THB',
+  /** Tajikistani somoni */
+  TJS = 'TJS',
+  /** Turkmenistan manat */
+  TMT = 'TMT',
+  /** Tunisian dinar */
+  TND = 'TND',
+  /** Tongan paʻanga */
+  TOP = 'TOP',
+  /** Turkish lira */
+  TRY = 'TRY',
+  /** Trinidad and Tobago dollar */
+  TTD = 'TTD',
+  /** New Taiwan dollar */
+  TWD = 'TWD',
+  /** Tanzanian shilling */
+  TZS = 'TZS',
+  /** Ukrainian hryvnia */
+  UAH = 'UAH',
+  /** Ugandan shilling */
+  UGX = 'UGX',
+  /** United States dollar */
+  USD = 'USD',
+  /** Uruguayan peso */
+  UYU = 'UYU',
+  /** Uzbekistan som */
+  UZS = 'UZS',
+  /** Venezuelan bolívar soberano */
+  VES = 'VES',
+  /** Vietnamese đồng */
+  VND = 'VND',
+  /** Vanuatu vatu */
+  VUV = 'VUV',
+  /** Samoan tala */
+  WST = 'WST',
+  /** CFA franc BEAC */
+  XAF = 'XAF',
+  /** East Caribbean dollar */
+  XCD = 'XCD',
+  /** CFA franc BCEAO */
+  XOF = 'XOF',
+  /** CFP franc (franc Pacifique) */
+  XPF = 'XPF',
+  /** Yemeni rial */
+  YER = 'YER',
+  /** South African rand */
+  ZAR = 'ZAR',
+  /** Zambian kwacha */
+  ZMW = 'ZMW',
+  /** Zimbabwean dollar */
+  ZWL = 'ZWL'
+}
+
+export type CurrentUser = {
+  id: Scalars['ID'],
+  identifier: Scalars['String'],
+  channelTokens: Array<Scalars['String']>,
+};
+
+export type Customer = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  title?: Maybe<Scalars['String']>,
+  firstName: Scalars['String'],
+  lastName: Scalars['String'],
+  phoneNumber?: Maybe<Scalars['String']>,
+  emailAddress: Scalars['String'],
+  addresses?: Maybe<Array<Address>>,
+  orders: OrderList,
+  user?: Maybe<User>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+
+export type CustomerOrdersArgs = {
+  options?: Maybe<OrderListOptions>
+};
+
+export type CustomerFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  title?: Maybe<StringOperators>,
+  firstName?: Maybe<StringOperators>,
+  lastName?: Maybe<StringOperators>,
+  phoneNumber?: Maybe<StringOperators>,
+  emailAddress?: Maybe<StringOperators>,
+};
+
+export type CustomerGroup = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  name: Scalars['String'],
+};
+
+export type CustomerList = PaginatedList & {
+  items: Array<Customer>,
+  totalItems: Scalars['Int'],
+};
+
+export type CustomerListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<CustomerSortParameter>,
+  filter?: Maybe<CustomerFilterParameter>,
+};
+
+export type CustomerSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  title?: Maybe<SortOrder>,
+  firstName?: Maybe<SortOrder>,
+  lastName?: Maybe<SortOrder>,
+  phoneNumber?: Maybe<SortOrder>,
+  emailAddress?: Maybe<SortOrder>,
+};
+
+export type DateOperators = {
+  eq?: Maybe<Scalars['DateTime']>,
+  before?: Maybe<Scalars['DateTime']>,
+  after?: Maybe<Scalars['DateTime']>,
+  between?: Maybe<DateRange>,
+};
+
+export type DateRange = {
+  start: Scalars['DateTime'],
+  end: Scalars['DateTime'],
+};
+
+
+export type DeletionResponse = {
+  result: DeletionResult,
+  message?: Maybe<Scalars['String']>,
+};
+
+export enum DeletionResult {
+  /** The entity was successfully deleted */
+  DELETED = 'DELETED',
+  /** Deletion did not take place, reason given in message */
+  NOT_DELETED = 'NOT_DELETED'
+}
+
+export type Facet = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+  code: Scalars['String'],
+  values: Array<FacetValue>,
+  translations: Array<FacetTranslation>,
+  isPrivate: Scalars['Boolean'],
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type FacetFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  languageCode?: Maybe<StringOperators>,
+  name?: Maybe<StringOperators>,
+  code?: Maybe<StringOperators>,
+  isPrivate?: Maybe<BooleanOperators>,
+};
+
+export type FacetList = PaginatedList & {
+  items: Array<Facet>,
+  totalItems: Scalars['Int'],
+};
+
+export type FacetListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<FacetSortParameter>,
+  filter?: Maybe<FacetFilterParameter>,
+};
+
+export type FacetSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  name?: Maybe<SortOrder>,
+  code?: Maybe<SortOrder>,
+};
+
+export type FacetTranslation = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+};
+
+export type FacetTranslationInput = {
+  id?: Maybe<Scalars['ID']>,
+  languageCode: LanguageCode,
+  name?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type FacetValue = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  facet: Facet,
+  name: Scalars['String'],
+  code: Scalars['String'],
+  translations: Array<FacetValueTranslation>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+/** Which FacetValues are present in the products returned
+ * by the search, and in what quantity.
+ */
+export type FacetValueResult = {
+  facetValue: FacetValue,
+  count: Scalars['Int'],
+};
+
+export type FacetValueTranslation = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+};
+
+export type FacetValueTranslationInput = {
+  id?: Maybe<Scalars['ID']>,
+  languageCode: LanguageCode,
+  name?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type GlobalSettings = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  availableLanguages: Array<LanguageCode>,
+  trackInventory: Scalars['Boolean'],
+  serverConfig: ServerConfig,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ImportInfo = {
+  errors?: Maybe<Array<Scalars['String']>>,
+  processed: Scalars['Int'],
+  imported: Scalars['Int'],
+};
 
 
+/** ISO 639-1 language code */
+export enum LanguageCode {
+  /** Afar */
+  aa = 'aa',
+  /** Abkhazian */
+  ab = 'ab',
+  /** Afrikaans */
+  af = 'af',
+  /** Akan */
+  ak = 'ak',
+  /** Albanian */
+  sq = 'sq',
+  /** Amharic */
+  am = 'am',
+  /** Arabic */
+  ar = 'ar',
+  /** Aragonese */
+  an = 'an',
+  /** Armenian */
+  hy = 'hy',
+  /** Assamese */
+  as = 'as',
+  /** Avaric */
+  av = 'av',
+  /** Avestan */
+  ae = 'ae',
+  /** Aymara */
+  ay = 'ay',
+  /** Azerbaijani */
+  az = 'az',
+  /** Bashkir */
+  ba = 'ba',
+  /** Bambara */
+  bm = 'bm',
+  /** Basque */
+  eu = 'eu',
+  /** Belarusian */
+  be = 'be',
+  /** Bengali */
+  bn = 'bn',
+  /** Bihari languages */
+  bh = 'bh',
+  /** Bislama */
+  bi = 'bi',
+  /** Bosnian */
+  bs = 'bs',
+  /** Breton */
+  br = 'br',
+  /** Bulgarian */
+  bg = 'bg',
+  /** Burmese */
+  my = 'my',
+  /** Catalan; Valencian */
+  ca = 'ca',
+  /** Chamorro */
+  ch = 'ch',
+  /** Chechen */
+  ce = 'ce',
+  /** Chinese */
+  zh = 'zh',
+  /** Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic */
+  cu = 'cu',
+  /** Chuvash */
+  cv = 'cv',
+  /** Cornish */
+  kw = 'kw',
+  /** Corsican */
+  co = 'co',
+  /** Cree */
+  cr = 'cr',
+  /** Czech */
+  cs = 'cs',
+  /** Danish */
+  da = 'da',
+  /** Divehi; Dhivehi; Maldivian */
+  dv = 'dv',
+  /** Dutch; Flemish */
+  nl = 'nl',
+  /** Dzongkha */
+  dz = 'dz',
+  /** English */
+  en = 'en',
+  /** Esperanto */
+  eo = 'eo',
+  /** Estonian */
+  et = 'et',
+  /** Ewe */
+  ee = 'ee',
+  /** Faroese */
+  fo = 'fo',
+  /** Fijian */
+  fj = 'fj',
+  /** Finnish */
+  fi = 'fi',
+  /** French */
+  fr = 'fr',
+  /** Western Frisian */
+  fy = 'fy',
+  /** Fulah */
+  ff = 'ff',
+  /** Georgian */
+  ka = 'ka',
+  /** German */
+  de = 'de',
+  /** Gaelic; Scottish Gaelic */
+  gd = 'gd',
+  /** Irish */
+  ga = 'ga',
+  /** Galician */
+  gl = 'gl',
+  /** Manx */
+  gv = 'gv',
+  /** Greek, Modern (1453-) */
+  el = 'el',
+  /** Guarani */
+  gn = 'gn',
+  /** Gujarati */
+  gu = 'gu',
+  /** Haitian; Haitian Creole */
+  ht = 'ht',
+  /** Hausa */
+  ha = 'ha',
+  /** Hebrew */
+  he = 'he',
+  /** Herero */
+  hz = 'hz',
+  /** Hindi */
+  hi = 'hi',
+  /** Hiri Motu */
+  ho = 'ho',
+  /** Croatian */
+  hr = 'hr',
+  /** Hungarian */
+  hu = 'hu',
+  /** Igbo */
+  ig = 'ig',
+  /** Icelandic */
+  is = 'is',
+  /** Ido */
+  io = 'io',
+  /** Sichuan Yi; Nuosu */
+  ii = 'ii',
+  /** Inuktitut */
+  iu = 'iu',
+  /** Interlingue; Occidental */
+  ie = 'ie',
+  /** Interlingua (International Auxiliary Language Association) */
+  ia = 'ia',
+  /** Indonesian */
+  id = 'id',
+  /** Inupiaq */
+  ik = 'ik',
+  /** Italian */
+  it = 'it',
+  /** Javanese */
+  jv = 'jv',
+  /** Japanese */
+  ja = 'ja',
+  /** Kalaallisut; Greenlandic */
+  kl = 'kl',
+  /** Kannada */
+  kn = 'kn',
+  /** Kashmiri */
+  ks = 'ks',
+  /** Kanuri */
+  kr = 'kr',
+  /** Kazakh */
+  kk = 'kk',
+  /** Central Khmer */
+  km = 'km',
+  /** Kikuyu; Gikuyu */
+  ki = 'ki',
+  /** Kinyarwanda */
+  rw = 'rw',
+  /** Kirghiz; Kyrgyz */
+  ky = 'ky',
+  /** Komi */
+  kv = 'kv',
+  /** Kongo */
+  kg = 'kg',
+  /** Korean */
+  ko = 'ko',
+  /** Kuanyama; Kwanyama */
+  kj = 'kj',
+  /** Kurdish */
+  ku = 'ku',
+  /** Lao */
+  lo = 'lo',
+  /** Latin */
+  la = 'la',
+  /** Latvian */
+  lv = 'lv',
+  /** Limburgan; Limburger; Limburgish */
+  li = 'li',
+  /** Lingala */
+  ln = 'ln',
+  /** Lithuanian */
+  lt = 'lt',
+  /** Luxembourgish; Letzeburgesch */
+  lb = 'lb',
+  /** Luba-Katanga */
+  lu = 'lu',
+  /** Ganda */
+  lg = 'lg',
+  /** Macedonian */
+  mk = 'mk',
+  /** Marshallese */
+  mh = 'mh',
+  /** Malayalam */
+  ml = 'ml',
+  /** Maori */
+  mi = 'mi',
+  /** Marathi */
+  mr = 'mr',
+  /** Malay */
+  ms = 'ms',
+  /** Malagasy */
+  mg = 'mg',
+  /** Maltese */
+  mt = 'mt',
+  /** Mongolian */
+  mn = 'mn',
+  /** Nauru */
+  na = 'na',
+  /** Navajo; Navaho */
+  nv = 'nv',
+  /** Ndebele, South; South Ndebele */
+  nr = 'nr',
+  /** Ndebele, North; North Ndebele */
+  nd = 'nd',
+  /** Ndonga */
+  ng = 'ng',
+  /** Nepali */
+  ne = 'ne',
+  /** Norwegian Nynorsk; Nynorsk, Norwegian */
+  nn = 'nn',
+  /** Bokmål, Norwegian; Norwegian Bokmål */
+  nb = 'nb',
+  /** Norwegian */
+  no = 'no',
+  /** Chichewa; Chewa; Nyanja */
+  ny = 'ny',
+  /** Occitan (post 1500); Provençal */
+  oc = 'oc',
+  /** Ojibwa */
+  oj = 'oj',
+  /** Oriya */
+  or = 'or',
+  /** Oromo */
+  om = 'om',
+  /** Ossetian; Ossetic */
+  os = 'os',
+  /** Panjabi; Punjabi */
+  pa = 'pa',
+  /** Persian */
+  fa = 'fa',
+  /** Pali */
+  pi = 'pi',
+  /** Polish */
+  pl = 'pl',
+  /** Portuguese */
+  pt = 'pt',
+  /** Pushto; Pashto */
+  ps = 'ps',
+  /** Quechua */
+  qu = 'qu',
+  /** Romansh */
+  rm = 'rm',
+  /** Romanian; Moldavian; Moldovan */
+  ro = 'ro',
+  /** Rundi */
+  rn = 'rn',
+  /** Russian */
+  ru = 'ru',
+  /** Sango */
+  sg = 'sg',
+  /** Sanskrit */
+  sa = 'sa',
+  /** Sinhala; Sinhalese */
+  si = 'si',
+  /** Slovak */
+  sk = 'sk',
+  /** Slovenian */
+  sl = 'sl',
+  /** Northern Sami */
+  se = 'se',
+  /** Samoan */
+  sm = 'sm',
+  /** Shona */
+  sn = 'sn',
+  /** Sindhi */
+  sd = 'sd',
+  /** Somali */
+  so = 'so',
+  /** Sotho, Southern */
+  st = 'st',
+  /** Spanish; Castilian */
+  es = 'es',
+  /** Sardinian */
+  sc = 'sc',
+  /** Serbian */
+  sr = 'sr',
+  /** Swati */
+  ss = 'ss',
+  /** Sundanese */
+  su = 'su',
+  /** Swahili */
+  sw = 'sw',
+  /** Swedish */
+  sv = 'sv',
+  /** Tahitian */
+  ty = 'ty',
+  /** Tamil */
+  ta = 'ta',
+  /** Tatar */
+  tt = 'tt',
+  /** Telugu */
+  te = 'te',
+  /** Tajik */
+  tg = 'tg',
+  /** Tagalog */
+  tl = 'tl',
+  /** Thai */
+  th = 'th',
+  /** Tibetan */
+  bo = 'bo',
+  /** Tigrinya */
+  ti = 'ti',
+  /** Tonga (Tonga Islands) */
+  to = 'to',
+  /** Tswana */
+  tn = 'tn',
+  /** Tsonga */
+  ts = 'ts',
+  /** Turkmen */
+  tk = 'tk',
+  /** Turkish */
+  tr = 'tr',
+  /** Twi */
+  tw = 'tw',
+  /** Uighur; Uyghur */
+  ug = 'ug',
+  /** Ukrainian */
+  uk = 'uk',
+  /** Urdu */
+  ur = 'ur',
+  /** Uzbek */
+  uz = 'uz',
+  /** Venda */
+  ve = 've',
+  /** Vietnamese */
+  vi = 'vi',
+  /** Volapük */
+  vo = 'vo',
+  /** Welsh */
+  cy = 'cy',
+  /** Walloon */
+  wa = 'wa',
+  /** Wolof */
+  wo = 'wo',
+  /** Xhosa */
+  xh = 'xh',
+  /** Yiddish */
+  yi = 'yi',
+  /** Yoruba */
+  yo = 'yo',
+  /** Zhuang; Chuang */
+  za = 'za',
+  /** Zulu */
+  zu = 'zu'
+}
+
+export type LoginResult = {
+  user: CurrentUser,
+};
+
+export type MoveCollectionInput = {
+  collectionId: Scalars['ID'],
+  parentId: Scalars['ID'],
+  index: Scalars['Int'],
+};
+
+export type Mutation = {
+  /** Create a new Administrator */
+  createAdministrator: Administrator,
+  /** Update an existing Administrator */
+  updateAdministrator: Administrator,
+  /** Assign a Role to an Administrator */
+  assignRoleToAdministrator: Administrator,
+  /** Create a new Asset */
+  createAssets: Array<Asset>,
+  login: LoginResult,
+  logout: Scalars['Boolean'],
+  /** Create a new Channel */
+  createChannel: Channel,
+  /** Update an existing Channel */
+  updateChannel: Channel,
+  /** Create a new Collection */
+  createCollection: Collection,
+  /** Update an existing Collection */
+  updateCollection: Collection,
+  /** Move a Collection to a different parent or index */
+  moveCollection: Collection,
+  /** Create a new Country */
+  createCountry: Country,
+  /** Update an existing Country */
+  updateCountry: Country,
+  /** Delete a Country */
+  deleteCountry: DeletionResponse,
+  /** Create a new CustomerGroup */
+  createCustomerGroup: CustomerGroup,
+  /** Update an existing CustomerGroup */
+  updateCustomerGroup: CustomerGroup,
+  /** Add Customers to a CustomerGroup */
+  addCustomersToGroup: CustomerGroup,
+  /** 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,
+  /** Update an existing Customer */
+  updateCustomer: Customer,
+  /** Delete a Customer */
+  deleteCustomer: DeletionResponse,
+  /** Create a new Address and associate it with the Customer specified by customerId */
+  createCustomerAddress: Address,
+  /** Update an existing Address */
+  updateCustomerAddress: Address,
+  /** Update an existing Address */
+  deleteCustomerAddress: Scalars['Boolean'],
+  /** Create a new Facet */
+  createFacet: Facet,
+  /** Update an existing Facet */
+  updateFacet: Facet,
+  /** Delete an existing Facet */
+  deleteFacet: DeletionResponse,
+  /** Create one or more FacetValues */
+  createFacetValues: Array<FacetValue>,
+  /** Update one or more FacetValues */
+  updateFacetValues: Array<FacetValue>,
+  /** Delete one or more FacetValues */
+  deleteFacetValues: Array<DeletionResponse>,
+  updateGlobalSettings: GlobalSettings,
+  importProducts?: Maybe<ImportInfo>,
+  /** Update an existing PaymentMethod */
+  updatePaymentMethod: PaymentMethod,
+  /** Create a new ProductOptionGroup */
+  createProductOptionGroup: ProductOptionGroup,
+  /** Update an existing ProductOptionGroup */
+  updateProductOptionGroup: ProductOptionGroup,
+  reindex: SearchReindexResponse,
+  /** Create a new Product */
+  createProduct: Product,
+  /** Update an existing Product */
+  updateProduct: Product,
+  /** Delete a Product */
+  deleteProduct: DeletionResponse,
+  /** Add an OptionGroup to a Product */
+  addOptionGroupToProduct: Product,
+  /** Remove an OptionGroup from a Product */
+  removeOptionGroupFromProduct: Product,
+  /** Create a set of ProductVariants based on the OptionGroups assigned to the given Product */
+  generateVariantsForProduct: Product,
+  /** Update existing ProductVariants */
+  updateProductVariants: Array<Maybe<ProductVariant>>,
+  createPromotion: Promotion,
+  updatePromotion: Promotion,
+  deletePromotion: DeletionResponse,
+  /** Create a new Role */
+  createRole: Role,
+  /** Update an existing Role */
+  updateRole: Role,
+  /** Create a new ShippingMethod */
+  createShippingMethod: ShippingMethod,
+  /** Update an existing ShippingMethod */
+  updateShippingMethod: ShippingMethod,
+  /** Create a new TaxCategory */
+  createTaxCategory: TaxCategory,
+  /** Update an existing TaxCategory */
+  updateTaxCategory: TaxCategory,
+  /** Create a new TaxRate */
+  createTaxRate: TaxRate,
+  /** Update an existing TaxRate */
+  updateTaxRate: TaxRate,
+  /** Create a new Zone */
+  createZone: Zone,
+  /** Update an existing Zone */
+  updateZone: Zone,
+  /** Delete a Zone */
+  deleteZone: DeletionResponse,
+  /** Add members to a Zone */
+  addMembersToZone: Zone,
+  /** Remove members from a Zone */
+  removeMembersFromZone: Zone,
+  requestStarted: Scalars['Int'],
+  requestCompleted: Scalars['Int'],
+  setAsLoggedIn: UserStatus,
+  setAsLoggedOut: UserStatus,
+  setUiLanguage?: Maybe<LanguageCode>,
+};
 
-export namespace GetAdministrators {
-  export type Variables = {
-    options?: Maybe<AdministratorListOptions>;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    administrators: Administrators;
-  }
+export type MutationCreateAdministratorArgs = {
+  input: CreateAdministratorInput
+};
 
-  export type Administrators = {
-    __typename?: "AdministratorList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
 
-  export type Items = Administrator.Fragment
-}
+export type MutationUpdateAdministratorArgs = {
+  input: UpdateAdministratorInput
+};
 
-export namespace GetAdministrator {
-  export type Variables = {
-    id: string;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    administrator: Maybe<Administrator>;
-  }
+export type MutationAssignRoleToAdministratorArgs = {
+  administratorId: Scalars['ID'],
+  roleId: Scalars['ID']
+};
 
-  export type Administrator = Administrator.Fragment
-}
 
-export namespace CreateAdministrator {
-  export type Variables = {
-    input: CreateAdministratorInput;
-  }
+export type MutationCreateAssetsArgs = {
+  input: Array<CreateAssetInput>
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createAdministrator: CreateAdministrator;
-  }
 
-  export type CreateAdministrator = Administrator.Fragment
-}
+export type MutationLoginArgs = {
+  username: Scalars['String'],
+  password: Scalars['String'],
+  rememberMe?: Maybe<Scalars['Boolean']>
+};
 
-export namespace UpdateAdministrator {
-  export type Variables = {
-    input: UpdateAdministratorInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateAdministrator: UpdateAdministrator;
-  }
+export type MutationCreateChannelArgs = {
+  input: CreateChannelInput
+};
 
-  export type UpdateAdministrator = Administrator.Fragment
-}
 
-export namespace GetRoles {
-  export type Variables = {
-    options?: Maybe<RoleListOptions>;
-  }
+export type MutationUpdateChannelArgs = {
+  input: UpdateChannelInput
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    roles: Roles;
-  }
 
-  export type Roles = {
-    __typename?: "RoleList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
+export type MutationCreateCollectionArgs = {
+  input: CreateCollectionInput
+};
 
-  export type Items = Role.Fragment
-}
 
-export namespace GetRole {
-  export type Variables = {
-    id: string;
-  }
+export type MutationUpdateCollectionArgs = {
+  input: UpdateCollectionInput
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    role: Maybe<Role>;
-  }
 
-  export type Role = Role.Fragment
-}
+export type MutationMoveCollectionArgs = {
+  input: MoveCollectionInput
+};
 
-export namespace CreateRole {
-  export type Variables = {
-    input: CreateRoleInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createRole: CreateRole;
-  }
+export type MutationCreateCountryArgs = {
+  input: CreateCountryInput
+};
 
-  export type CreateRole = Role.Fragment
-}
 
-export namespace UpdateRole {
-  export type Variables = {
-    input: UpdateRoleInput;
-  }
+export type MutationUpdateCountryArgs = {
+  input: UpdateCountryInput
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateRole: UpdateRole;
-  }
 
-  export type UpdateRole = Role.Fragment
-}
+export type MutationDeleteCountryArgs = {
+  id: Scalars['ID']
+};
 
-export namespace AssignRoleToAdministrator {
-  export type Variables = {
-    administratorId: string;
-    roleId: string;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    assignRoleToAdministrator: AssignRoleToAdministrator;
-  }
+export type MutationCreateCustomerGroupArgs = {
+  input: CreateCustomerGroupInput
+};
 
-  export type AssignRoleToAdministrator = Administrator.Fragment
-}
 
-export namespace AttemptLogin {
-  export type Variables = {
-    username: string;
-    password: string;
-    rememberMe: boolean;
-  }
+export type MutationUpdateCustomerGroupArgs = {
+  input: UpdateCustomerGroupInput
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    login: Login;
-  }
 
-  export type Login = {
-    __typename?: "LoginResult";
-    
-    user: User;
-  } 
+export type MutationAddCustomersToGroupArgs = {
+  customerGroupId: Scalars['ID'],
+  customerIds: Array<Scalars['ID']>
+};
 
-  export type User = CurrentUser.Fragment
-}
 
-export namespace LogOut {
-  export type Variables = {
-  }
+export type MutationRemoveCustomersFromGroupArgs = {
+  customerGroupId: Scalars['ID'],
+  customerIds: Array<Scalars['ID']>
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    logout: boolean;
-  }
-}
 
-export namespace GetCurrentUser {
-  export type Variables = {
-  }
+export type MutationCreateCustomerArgs = {
+  input: CreateCustomerInput,
+  password?: Maybe<Scalars['String']>
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    me: Maybe<Me>;
-  }
 
-  export type Me = CurrentUser.Fragment
-}
+export type MutationUpdateCustomerArgs = {
+  input: UpdateCustomerInput
+};
 
-export namespace RequestStarted {
-  export type Variables = {
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    requestStarted: number;
-  }
-}
+export type MutationDeleteCustomerArgs = {
+  id: Scalars['ID']
+};
 
-export namespace RequestCompleted {
-  export type Variables = {
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    requestCompleted: number;
-  }
-}
+export type MutationCreateCustomerAddressArgs = {
+  customerId: Scalars['ID'],
+  input: CreateAddressInput
+};
 
-export namespace SetAsLoggedIn {
-  export type Variables = {
-    username: string;
-    loginTime: string;
-  }
-
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    setAsLoggedIn: SetAsLoggedIn;
-  }
-
-  export type SetAsLoggedIn = {
-    __typename?: "UserStatus";
-    
-    username: string;
-    
-    isLoggedIn: boolean;
-    
-    loginTime: string;
-  } 
-}
 
-export namespace SetAsLoggedOut {
-  export type Variables = {
-  }
-
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    setAsLoggedOut: SetAsLoggedOut;
-  }
-
-  export type SetAsLoggedOut = {
-    __typename?: "UserStatus";
-    
-    username: string;
-    
-    isLoggedIn: boolean;
-    
-    loginTime: string;
-  } 
-}
+export type MutationUpdateCustomerAddressArgs = {
+  input: UpdateAddressInput
+};
 
-export namespace SetUiLanguage {
-  export type Variables = {
-    languageCode: LanguageCode;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    setUiLanguage: Maybe<LanguageCode>;
-  }
-}
+export type MutationDeleteCustomerAddressArgs = {
+  id: Scalars['ID']
+};
 
-export namespace GetNetworkStatus {
-  export type Variables = {
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    networkStatus: NetworkStatus;
-  }
+export type MutationCreateFacetArgs = {
+  input: CreateFacetInput
+};
 
-  export type NetworkStatus = {
-    __typename?: "NetworkStatus";
-    
-    inFlightRequests: number;
-  } 
-}
 
-export namespace GetUserStatus {
-  export type Variables = {
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    userStatus: UserStatus;
-  }
-
-  export type UserStatus = {
-    __typename?: "UserStatus";
-    
-    username: string;
-    
-    isLoggedIn: boolean;
-    
-    loginTime: string;
-  } 
-}
+export type MutationUpdateFacetArgs = {
+  input: UpdateFacetInput
+};
 
-export namespace GetUiState {
-  export type Variables = {
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    uiState: UiState;
-  }
+export type MutationDeleteFacetArgs = {
+  id: Scalars['ID'],
+  force?: Maybe<Scalars['Boolean']>
+};
 
-  export type UiState = {
-    __typename?: "UiState";
-    
-    language: LanguageCode;
-  } 
-}
 
-export namespace GetCollectionFilters {
-  export type Variables = {
-  }
+export type MutationCreateFacetValuesArgs = {
+  input: Array<CreateFacetValueInput>
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    collectionFilters: CollectionFilters[];
-  }
 
-  export type CollectionFilters = ConfigurableOperation.Fragment
-}
+export type MutationUpdateFacetValuesArgs = {
+  input: Array<UpdateFacetValueInput>
+};
 
-export namespace GetCollectionList {
-  export type Variables = {
-    options?: Maybe<CollectionListOptions>;
-    languageCode?: Maybe<LanguageCode>;
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    collections: Collections;
-  }
-
-  export type Collections = {
-    __typename?: "CollectionList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
-
-  export type Items = {
-    __typename?: "Collection";
-    
-    id: string;
-    
-    name: string;
-    
-    description: string;
-    
-    isPrivate: boolean;
-    
-    featuredAsset: Maybe<FeaturedAsset>;
-    
-    parent: Maybe<Parent>;
-  } 
-
-  export type FeaturedAsset = Asset.Fragment
-
-  export type Parent = {
-    __typename?: "Collection";
-    
-    id: string;
-  } 
-}
 
-export namespace GetCollection {
-  export type Variables = {
-    id: string;
-    languageCode?: Maybe<LanguageCode>;
-  }
+export type MutationDeleteFacetValuesArgs = {
+  ids: Array<Scalars['ID']>,
+  force?: Maybe<Scalars['Boolean']>
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    collection: Maybe<Collection>;
-  }
 
-  export type Collection = Collection.Fragment
-}
+export type MutationUpdateGlobalSettingsArgs = {
+  input: UpdateGlobalSettingsInput
+};
 
-export namespace CreateCollection {
-  export type Variables = {
-    input: CreateCollectionInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createCollection: CreateCollection;
-  }
+export type MutationImportProductsArgs = {
+  csvFile: Scalars['Upload']
+};
 
-  export type CreateCollection = Collection.Fragment
-}
 
-export namespace UpdateCollection {
-  export type Variables = {
-    input: UpdateCollectionInput;
-  }
+export type MutationUpdatePaymentMethodArgs = {
+  input: UpdatePaymentMethodInput
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateCollection: UpdateCollection;
-  }
 
-  export type UpdateCollection = Collection.Fragment
-}
+export type MutationCreateProductOptionGroupArgs = {
+  input: CreateProductOptionGroupInput
+};
 
-export namespace MoveCollection {
-  export type Variables = {
-    input: MoveCollectionInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    moveCollection: MoveCollection;
-  }
+export type MutationUpdateProductOptionGroupArgs = {
+  input: UpdateProductOptionGroupInput
+};
 
-  export type MoveCollection = Collection.Fragment
-}
 
-export namespace GetCollectionContents {
-  export type Variables = {
-    id: string;
-    options?: Maybe<ProductVariantListOptions>;
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    collection: Maybe<Collection>;
-  }
-
-  export type Collection = {
-    __typename?: "Collection";
-    
-    id: string;
-    
-    name: string;
-    
-    productVariants: ProductVariants;
-  } 
-
-  export type ProductVariants = {
-    __typename?: "ProductVariantList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
-
-  export type Items = {
-    __typename?: "ProductVariant";
-    
-    id: string;
-    
-    productId: string;
-    
-    name: string;
-  } 
-}
+export type MutationCreateProductArgs = {
+  input: CreateProductInput
+};
 
-export namespace GetCustomerList {
-  export type Variables = {
-    options?: Maybe<CustomerListOptions>;
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    customers: Customers;
-  }
-
-  export type Customers = {
-    __typename?: "CustomerList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
-
-  export type Items = {
-    __typename?: "Customer";
-    
-    id: string;
-    
-    title: Maybe<string>;
-    
-    firstName: string;
-    
-    lastName: string;
-    
-    emailAddress: string;
-    
-    user: Maybe<User>;
-  } 
-
-  export type User = {
-    __typename?: "User";
-    
-    id: string;
-    
-    verified: boolean;
-  } 
-}
 
-export namespace GetCustomer {
-  export type Variables = {
-    id: string;
-    orderListOptions?: Maybe<OrderListOptions>;
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    customer: Maybe<Customer>;
-  }
-
-  export type Customer = {
-    __typename?: "Customer";
-    
-    orders: Orders;
-  }  & Customer.Fragment
-
-  export type Orders = {
-    __typename?: "OrderList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
-
-  export type Items = {
-    __typename?: "Order";
-    
-    id: string;
-    
-    code: string;
-    
-    state: string;
-    
-    total: number;
-    
-    currencyCode: CurrencyCode;
-    
-    updatedAt: DateTime;
-  } 
-}
+export type MutationUpdateProductArgs = {
+  input: UpdateProductInput
+};
 
-export namespace CreateCustomer {
-  export type Variables = {
-    input: CreateCustomerInput;
-    password?: Maybe<string>;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createCustomer: CreateCustomer;
-  }
+export type MutationDeleteProductArgs = {
+  id: Scalars['ID']
+};
 
-  export type CreateCustomer = Customer.Fragment
-}
 
-export namespace UpdateCustomer {
-  export type Variables = {
-    input: UpdateCustomerInput;
-  }
+export type MutationAddOptionGroupToProductArgs = {
+  productId: Scalars['ID'],
+  optionGroupId: Scalars['ID']
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateCustomer: UpdateCustomer;
-  }
 
-  export type UpdateCustomer = Customer.Fragment
-}
+export type MutationRemoveOptionGroupFromProductArgs = {
+  productId: Scalars['ID'],
+  optionGroupId: Scalars['ID']
+};
 
-export namespace CreateCustomerAddress {
-  export type Variables = {
-    customerId: string;
-    input: CreateAddressInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createCustomerAddress: CreateCustomerAddress;
-  }
+export type MutationGenerateVariantsForProductArgs = {
+  productId: Scalars['ID'],
+  defaultTaxCategoryId?: Maybe<Scalars['ID']>,
+  defaultPrice?: Maybe<Scalars['Int']>,
+  defaultSku?: Maybe<Scalars['String']>
+};
 
-  export type CreateCustomerAddress = Address.Fragment
-}
 
-export namespace UpdateCustomerAddress {
-  export type Variables = {
-    input: UpdateAddressInput;
-  }
+export type MutationUpdateProductVariantsArgs = {
+  input: Array<UpdateProductVariantInput>
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateCustomerAddress: UpdateCustomerAddress;
-  }
 
-  export type UpdateCustomerAddress = Address.Fragment
-}
+export type MutationCreatePromotionArgs = {
+  input: CreatePromotionInput
+};
 
-export namespace CreateFacet {
-  export type Variables = {
-    input: CreateFacetInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createFacet: CreateFacet;
-  }
+export type MutationUpdatePromotionArgs = {
+  input: UpdatePromotionInput
+};
 
-  export type CreateFacet = FacetWithValues.Fragment
-}
 
-export namespace UpdateFacet {
-  export type Variables = {
-    input: UpdateFacetInput;
-  }
+export type MutationDeletePromotionArgs = {
+  id: Scalars['ID']
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateFacet: UpdateFacet;
-  }
 
-  export type UpdateFacet = FacetWithValues.Fragment
-}
+export type MutationCreateRoleArgs = {
+  input: CreateRoleInput
+};
 
-export namespace DeleteFacet {
-  export type Variables = {
-    id: string;
-    force?: Maybe<boolean>;
-  }
-
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    deleteFacet: DeleteFacet;
-  }
-
-  export type DeleteFacet = {
-    __typename?: "DeletionResponse";
-    
-    result: DeletionResult;
-    
-    message: Maybe<string>;
-  } 
-}
 
-export namespace CreateFacetValues {
-  export type Variables = {
-    input: CreateFacetValueInput[];
-  }
+export type MutationUpdateRoleArgs = {
+  input: UpdateRoleInput
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createFacetValues: CreateFacetValues[];
-  }
 
-  export type CreateFacetValues = FacetValue.Fragment
-}
+export type MutationCreateShippingMethodArgs = {
+  input: CreateShippingMethodInput
+};
 
-export namespace UpdateFacetValues {
-  export type Variables = {
-    input: UpdateFacetValueInput[];
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateFacetValues: UpdateFacetValues[];
-  }
+export type MutationUpdateShippingMethodArgs = {
+  input: UpdateShippingMethodInput
+};
 
-  export type UpdateFacetValues = FacetValue.Fragment
-}
 
-export namespace DeleteFacetValues {
-  export type Variables = {
-    ids: string[];
-    force?: Maybe<boolean>;
-  }
-
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    deleteFacetValues: DeleteFacetValues[];
-  }
-
-  export type DeleteFacetValues = {
-    __typename?: "DeletionResponse";
-    
-    result: DeletionResult;
-    
-    message: Maybe<string>;
-  } 
-}
+export type MutationCreateTaxCategoryArgs = {
+  input: CreateTaxCategoryInput
+};
 
-export namespace GetFacetList {
-  export type Variables = {
-    options?: Maybe<FacetListOptions>;
-    languageCode?: Maybe<LanguageCode>;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    facets: Facets;
-  }
+export type MutationUpdateTaxCategoryArgs = {
+  input: UpdateTaxCategoryInput
+};
 
-  export type Facets = {
-    __typename?: "FacetList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
 
-  export type Items = FacetWithValues.Fragment
-}
+export type MutationCreateTaxRateArgs = {
+  input: CreateTaxRateInput
+};
 
-export namespace GetFacetWithValues {
-  export type Variables = {
-    id: string;
-    languageCode?: Maybe<LanguageCode>;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    facet: Maybe<Facet>;
-  }
+export type MutationUpdateTaxRateArgs = {
+  input: UpdateTaxRateInput
+};
 
-  export type Facet = FacetWithValues.Fragment
-}
 
-export namespace GetOrderList {
-  export type Variables = {
-    options?: Maybe<OrderListOptions>;
-  }
+export type MutationCreateZoneArgs = {
+  input: CreateZoneInput
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    orders: Orders;
-  }
 
-  export type Orders = {
-    __typename?: "OrderList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
+export type MutationUpdateZoneArgs = {
+  input: UpdateZoneInput
+};
 
-  export type Items = Order.Fragment
-}
 
-export namespace GetOrder {
-  export type Variables = {
-    id: string;
-  }
+export type MutationDeleteZoneArgs = {
+  id: Scalars['ID']
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    order: Maybe<Order>;
-  }
 
-  export type Order = OrderWithLines.Fragment
-}
+export type MutationAddMembersToZoneArgs = {
+  zoneId: Scalars['ID'],
+  memberIds: Array<Scalars['ID']>
+};
 
-export namespace UpdateProduct {
-  export type Variables = {
-    input: UpdateProductInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateProduct: UpdateProduct;
-  }
+export type MutationRemoveMembersFromZoneArgs = {
+  zoneId: Scalars['ID'],
+  memberIds: Array<Scalars['ID']>
+};
 
-  export type UpdateProduct = ProductWithVariants.Fragment
+
+export type MutationSetAsLoggedInArgs = {
+  username: Scalars['String'],
+  loginTime: Scalars['String']
+};
+
+
+export type MutationSetUiLanguageArgs = {
+  languageCode?: Maybe<LanguageCode>
+};
+
+export type NetworkStatus = {
+  inFlightRequests: Scalars['Int'],
+};
+
+export type Node = {
+  id: Scalars['ID'],
+};
+
+export type NumberOperators = {
+  eq?: Maybe<Scalars['Float']>,
+  lt?: Maybe<Scalars['Float']>,
+  lte?: Maybe<Scalars['Float']>,
+  gt?: Maybe<Scalars['Float']>,
+  gte?: Maybe<Scalars['Float']>,
+  between?: Maybe<NumberRange>,
+};
+
+export type NumberRange = {
+  start: Scalars['Float'],
+  end: Scalars['Float'],
+};
+
+export type Order = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  code: Scalars['String'],
+  state: Scalars['String'],
+  active: Scalars['Boolean'],
+  customer?: Maybe<Customer>,
+  shippingAddress?: Maybe<OrderAddress>,
+  billingAddress?: Maybe<OrderAddress>,
+  lines: Array<OrderLine>,
+  adjustments: Array<Adjustment>,
+  payments?: Maybe<Array<Payment>>,
+  subTotalBeforeTax: Scalars['Int'],
+  subTotal: Scalars['Int'],
+  currencyCode: CurrencyCode,
+  shipping: Scalars['Int'],
+  shippingMethod?: Maybe<ShippingMethod>,
+  totalBeforeTax: Scalars['Int'],
+  total: Scalars['Int'],
+};
+
+export type OrderAddress = {
+  fullName?: Maybe<Scalars['String']>,
+  company?: Maybe<Scalars['String']>,
+  streetLine1?: Maybe<Scalars['String']>,
+  streetLine2?: Maybe<Scalars['String']>,
+  city?: Maybe<Scalars['String']>,
+  province?: Maybe<Scalars['String']>,
+  postalCode?: Maybe<Scalars['String']>,
+  country?: Maybe<Scalars['String']>,
+  countryCode?: Maybe<Scalars['String']>,
+  phoneNumber?: Maybe<Scalars['String']>,
+};
+
+export type OrderFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  code?: Maybe<StringOperators>,
+  state?: Maybe<StringOperators>,
+  active?: Maybe<BooleanOperators>,
+  subTotalBeforeTax?: Maybe<NumberOperators>,
+  subTotal?: Maybe<NumberOperators>,
+  currencyCode?: Maybe<StringOperators>,
+  shipping?: Maybe<NumberOperators>,
+  totalBeforeTax?: Maybe<NumberOperators>,
+  total?: Maybe<NumberOperators>,
+};
+
+export type OrderItem = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  unitPrice: Scalars['Int'],
+  unitPriceWithTax: Scalars['Int'],
+  unitPriceIncludesTax: Scalars['Boolean'],
+  taxRate: Scalars['Float'],
+  adjustments: Array<Adjustment>,
+};
+
+export type OrderLine = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  productVariant: ProductVariant,
+  featuredAsset?: Maybe<Asset>,
+  unitPrice: Scalars['Int'],
+  unitPriceWithTax: Scalars['Int'],
+  quantity: Scalars['Int'],
+  items: Array<OrderItem>,
+  totalPrice: Scalars['Int'],
+  adjustments: Array<Adjustment>,
+  order: Order,
+};
+
+export type OrderList = PaginatedList & {
+  items: Array<Order>,
+  totalItems: Scalars['Int'],
+};
+
+export type OrderListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<OrderSortParameter>,
+  filter?: Maybe<OrderFilterParameter>,
+};
+
+export type OrderSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  code?: Maybe<SortOrder>,
+  state?: Maybe<SortOrder>,
+  subTotalBeforeTax?: Maybe<SortOrder>,
+  subTotal?: Maybe<SortOrder>,
+  shipping?: Maybe<SortOrder>,
+  totalBeforeTax?: Maybe<SortOrder>,
+  total?: Maybe<SortOrder>,
+};
+
+export type PaginatedList = {
+  items: Array<Node>,
+  totalItems: Scalars['Int'],
+};
+
+export type Payment = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  method: Scalars['String'],
+  amount: Scalars['Int'],
+  state: Scalars['String'],
+  transactionId?: Maybe<Scalars['String']>,
+  metadata?: Maybe<Scalars['JSON']>,
+};
+
+export type PaymentMethod = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  code: Scalars['String'],
+  enabled: Scalars['Boolean'],
+  configArgs: Array<ConfigArg>,
+};
+
+export type PaymentMethodFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  code?: Maybe<StringOperators>,
+  enabled?: Maybe<BooleanOperators>,
+};
+
+export type PaymentMethodList = PaginatedList & {
+  items: Array<PaymentMethod>,
+  totalItems: Scalars['Int'],
+};
+
+export type PaymentMethodListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<PaymentMethodSortParameter>,
+  filter?: Maybe<PaymentMethodFilterParameter>,
+};
+
+export type PaymentMethodSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  code?: Maybe<SortOrder>,
+};
+
+/**  Permissions for administrators and customers  */
+export enum Permission {
+  /**  The Authenticated role means simply that the user is logged in  */
+  Authenticated = 'Authenticated',
+  /**  SuperAdmin can perform the most sensitive tasks  */
+  SuperAdmin = 'SuperAdmin',
+  /**  Owner means the user owns this entity, e.g. a Customer's own Order */
+  Owner = 'Owner',
+  /**  Public means any unauthenticated user may perform the operation  */
+  Public = 'Public',
+  CreateCatalog = 'CreateCatalog',
+  ReadCatalog = 'ReadCatalog',
+  UpdateCatalog = 'UpdateCatalog',
+  DeleteCatalog = 'DeleteCatalog',
+  CreateCustomer = 'CreateCustomer',
+  ReadCustomer = 'ReadCustomer',
+  UpdateCustomer = 'UpdateCustomer',
+  DeleteCustomer = 'DeleteCustomer',
+  CreateAdministrator = 'CreateAdministrator',
+  ReadAdministrator = 'ReadAdministrator',
+  UpdateAdministrator = 'UpdateAdministrator',
+  DeleteAdministrator = 'DeleteAdministrator',
+  CreateOrder = 'CreateOrder',
+  ReadOrder = 'ReadOrder',
+  UpdateOrder = 'UpdateOrder',
+  DeleteOrder = 'DeleteOrder',
+  CreateSettings = 'CreateSettings',
+  ReadSettings = 'ReadSettings',
+  UpdateSettings = 'UpdateSettings',
+  DeleteSettings = 'DeleteSettings'
 }
 
-export namespace CreateProduct {
-  export type Variables = {
-    input: CreateProductInput;
-  }
+/** The price range where the result has more than one price */
+export type PriceRange = {
+  min: Scalars['Int'],
+  max: Scalars['Int'],
+};
+
+export type Product = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+  slug: Scalars['String'],
+  description: Scalars['String'],
+  featuredAsset?: Maybe<Asset>,
+  assets: Array<Asset>,
+  variants: Array<ProductVariant>,
+  optionGroups: Array<ProductOptionGroup>,
+  facetValues: Array<FacetValue>,
+  translations: Array<ProductTranslation>,
+  collections: Array<Collection>,
+  enabled: Scalars['Boolean'],
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ProductFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  languageCode?: Maybe<StringOperators>,
+  name?: Maybe<StringOperators>,
+  slug?: Maybe<StringOperators>,
+  description?: Maybe<StringOperators>,
+  enabled?: Maybe<BooleanOperators>,
+};
+
+export type ProductList = PaginatedList & {
+  items: Array<Product>,
+  totalItems: Scalars['Int'],
+};
+
+export type ProductListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<ProductSortParameter>,
+  filter?: Maybe<ProductFilterParameter>,
+};
+
+export type ProductOption = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode?: Maybe<LanguageCode>,
+  code?: Maybe<Scalars['String']>,
+  name?: Maybe<Scalars['String']>,
+  translations: Array<ProductOptionTranslation>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ProductOptionGroup = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  code: Scalars['String'],
+  name: Scalars['String'],
+  options: Array<ProductOption>,
+  translations: Array<ProductOptionGroupTranslation>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ProductOptionGroupTranslation = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+};
+
+export type ProductOptionGroupTranslationInput = {
+  id?: Maybe<Scalars['ID']>,
+  languageCode: LanguageCode,
+  name?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ProductOptionTranslation = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+};
+
+export type ProductOptionTranslationInput = {
+  id?: Maybe<Scalars['ID']>,
+  languageCode: LanguageCode,
+  name?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ProductSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  name?: Maybe<SortOrder>,
+  slug?: Maybe<SortOrder>,
+  description?: Maybe<SortOrder>,
+};
+
+export type ProductTranslation = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+  slug: Scalars['String'],
+  description: Scalars['String'],
+};
+
+export type ProductTranslationInput = {
+  id?: Maybe<Scalars['ID']>,
+  languageCode: LanguageCode,
+  name?: Maybe<Scalars['String']>,
+  slug?: Maybe<Scalars['String']>,
+  description?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ProductVariant = Node & {
+  id: Scalars['ID'],
+  productId: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  sku: Scalars['String'],
+  name: Scalars['String'],
+  featuredAsset?: Maybe<Asset>,
+  assets: Array<Asset>,
+  price: Scalars['Int'],
+  currencyCode: CurrencyCode,
+  priceIncludesTax: Scalars['Boolean'],
+  priceWithTax: Scalars['Int'],
+  taxRateApplied: TaxRate,
+  taxCategory: TaxCategory,
+  options: Array<ProductOption>,
+  facetValues: Array<FacetValue>,
+  translations: Array<ProductVariantTranslation>,
+  enabled: Scalars['Boolean'],
+  stockOnHand: Scalars['Int'],
+  trackInventory: Scalars['Boolean'],
+  stockMovements: StockMovementList,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+
+export type ProductVariantStockMovementsArgs = {
+  options?: Maybe<StockMovementListOptions>
+};
+
+export type ProductVariantFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  languageCode?: Maybe<StringOperators>,
+  sku?: Maybe<StringOperators>,
+  name?: Maybe<StringOperators>,
+  price?: Maybe<NumberOperators>,
+  currencyCode?: Maybe<StringOperators>,
+  priceIncludesTax?: Maybe<BooleanOperators>,
+  priceWithTax?: Maybe<NumberOperators>,
+  enabled?: Maybe<BooleanOperators>,
+  stockOnHand?: Maybe<NumberOperators>,
+  trackInventory?: Maybe<BooleanOperators>,
+};
+
+export type ProductVariantList = PaginatedList & {
+  items: Array<ProductVariant>,
+  totalItems: Scalars['Int'],
+};
+
+export type ProductVariantListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<ProductVariantSortParameter>,
+  filter?: Maybe<ProductVariantFilterParameter>,
+};
+
+export type ProductVariantSortParameter = {
+  id?: Maybe<SortOrder>,
+  productId?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  sku?: Maybe<SortOrder>,
+  name?: Maybe<SortOrder>,
+  price?: Maybe<SortOrder>,
+  priceWithTax?: Maybe<SortOrder>,
+  stockOnHand?: Maybe<SortOrder>,
+};
+
+export type ProductVariantTranslation = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  languageCode: LanguageCode,
+  name: Scalars['String'],
+};
+
+export type ProductVariantTranslationInput = {
+  id?: Maybe<Scalars['ID']>,
+  languageCode: LanguageCode,
+  name?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type Promotion = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  name: Scalars['String'],
+  enabled: Scalars['Boolean'],
+  conditions: Array<ConfigurableOperation>,
+  actions: Array<ConfigurableOperation>,
+};
+
+export type PromotionFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  name?: Maybe<StringOperators>,
+  enabled?: Maybe<BooleanOperators>,
+};
+
+export type PromotionList = PaginatedList & {
+  items: Array<Promotion>,
+  totalItems: Scalars['Int'],
+};
+
+export type PromotionListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<PromotionSortParameter>,
+  filter?: Maybe<PromotionFilterParameter>,
+};
+
+export type PromotionSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  name?: Maybe<SortOrder>,
+};
+
+export type Query = {
+  administrators: AdministratorList,
+  administrator?: Maybe<Administrator>,
+  assets: AssetList,
+  asset?: Maybe<Asset>,
+  me?: Maybe<CurrentUser>,
+  channels: Array<Channel>,
+  channel?: Maybe<Channel>,
+  activeChannel: Channel,
+  collections: CollectionList,
+  collection?: Maybe<Collection>,
+  collectionFilters: Array<ConfigurableOperation>,
+  countries: CountryList,
+  country?: Maybe<Country>,
+  customerGroups: Array<CustomerGroup>,
+  customerGroup?: Maybe<CustomerGroup>,
+  customers: CustomerList,
+  customer?: Maybe<Customer>,
+  facets: FacetList,
+  facet?: Maybe<Facet>,
+  globalSettings: GlobalSettings,
+  order?: Maybe<Order>,
+  orders: OrderList,
+  paymentMethods: PaymentMethodList,
+  paymentMethod?: Maybe<PaymentMethod>,
+  productOptionGroups: Array<ProductOptionGroup>,
+  productOptionGroup?: Maybe<ProductOptionGroup>,
+  search: SearchResponse,
+  products: ProductList,
+  product?: Maybe<Product>,
+  promotion?: Maybe<Promotion>,
+  promotions: PromotionList,
+  adjustmentOperations: AdjustmentOperations,
+  roles: RoleList,
+  role?: Maybe<Role>,
+  shippingMethods: ShippingMethodList,
+  shippingMethod?: Maybe<ShippingMethod>,
+  shippingEligibilityCheckers: Array<ConfigurableOperation>,
+  shippingCalculators: Array<ConfigurableOperation>,
+  taxCategories: Array<TaxCategory>,
+  taxCategory?: Maybe<TaxCategory>,
+  taxRates: TaxRateList,
+  taxRate?: Maybe<TaxRate>,
+  zones: Array<Zone>,
+  zone?: Maybe<Zone>,
+  temp__?: Maybe<Scalars['Boolean']>,
+  networkStatus: NetworkStatus,
+  userStatus: UserStatus,
+  uiState: UiState,
+};
+
+
+export type QueryAdministratorsArgs = {
+  options?: Maybe<AdministratorListOptions>
+};
+
+
+export type QueryAdministratorArgs = {
+  id: Scalars['ID']
+};
+
+
+export type QueryAssetsArgs = {
+  options?: Maybe<AssetListOptions>
+};
+
+
+export type QueryAssetArgs = {
+  id: Scalars['ID']
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createProduct: CreateProduct;
-  }
 
-  export type CreateProduct = ProductWithVariants.Fragment
-}
+export type QueryChannelArgs = {
+  id: Scalars['ID']
+};
 
-export namespace DeleteProduct {
-  export type Variables = {
-    id: string;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    deleteProduct: DeleteProduct;
-  }
+export type QueryCollectionsArgs = {
+  languageCode?: Maybe<LanguageCode>,
+  options?: Maybe<CollectionListOptions>
+};
 
-  export type DeleteProduct = {
-    __typename?: "DeletionResponse";
-    
-    result: DeletionResult;
-    
-    message: Maybe<string>;
-  } 
-}
 
-export namespace GenerateProductVariants {
-  export type Variables = {
-    productId: string;
-    defaultTaxCategoryId?: Maybe<string>;
-    defaultPrice?: Maybe<number>;
-    defaultSku?: Maybe<string>;
-  }
+export type QueryCollectionArgs = {
+  id: Scalars['ID'],
+  languageCode?: Maybe<LanguageCode>
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    generateVariantsForProduct: GenerateVariantsForProduct;
-  }
 
-  export type GenerateVariantsForProduct = ProductWithVariants.Fragment
-}
+export type QueryCountriesArgs = {
+  options?: Maybe<CountryListOptions>
+};
 
-export namespace UpdateProductVariants {
-  export type Variables = {
-    input: UpdateProductVariantInput[];
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateProductVariants: (Maybe<UpdateProductVariants>)[];
-  }
+export type QueryCountryArgs = {
+  id: Scalars['ID']
+};
 
-  export type UpdateProductVariants = ProductVariant.Fragment
-}
 
-export namespace CreateProductOptionGroup {
-  export type Variables = {
-    input: CreateProductOptionGroupInput;
-  }
+export type QueryCustomerGroupArgs = {
+  id: Scalars['ID']
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createProductOptionGroup: CreateProductOptionGroup;
-  }
 
-  export type CreateProductOptionGroup = ProductOptionGroup.Fragment
-}
+export type QueryCustomersArgs = {
+  options?: Maybe<CustomerListOptions>
+};
 
-export namespace AddOptionGroupToProduct {
-  export type Variables = {
-    productId: string;
-    optionGroupId: string;
-  }
-
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    addOptionGroupToProduct: AddOptionGroupToProduct;
-  }
-
-  export type AddOptionGroupToProduct = {
-    __typename?: "Product";
-    
-    id: string;
-    
-    optionGroups: OptionGroups[];
-  } 
-
-  export type OptionGroups = {
-    __typename?: "ProductOptionGroup";
-    
-    id: string;
-    
-    code: string;
-    
-    options: Options[];
-  } 
-
-  export type Options = {
-    __typename?: "ProductOption";
-    
-    id: string;
-    
-    code: Maybe<string>;
-  } 
-}
 
-export namespace RemoveOptionGroupFromProduct {
-  export type Variables = {
-    productId: string;
-    optionGroupId: string;
-  }
-
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    removeOptionGroupFromProduct: RemoveOptionGroupFromProduct;
-  }
-
-  export type RemoveOptionGroupFromProduct = {
-    __typename?: "Product";
-    
-    id: string;
-    
-    optionGroups: OptionGroups[];
-  } 
-
-  export type OptionGroups = {
-    __typename?: "ProductOptionGroup";
-    
-    id: string;
-    
-    code: string;
-    
-    options: Options[];
-  } 
-
-  export type Options = {
-    __typename?: "ProductOption";
-    
-    id: string;
-    
-    code: Maybe<string>;
-  } 
-}
+export type QueryCustomerArgs = {
+  id: Scalars['ID']
+};
 
-export namespace GetProductWithVariants {
-  export type Variables = {
-    id: string;
-    languageCode?: Maybe<LanguageCode>;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    product: Maybe<Product>;
-  }
+export type QueryFacetsArgs = {
+  languageCode?: Maybe<LanguageCode>,
+  options?: Maybe<FacetListOptions>
+};
 
-  export type Product = ProductWithVariants.Fragment
-}
 
-export namespace GetProductList {
-  export type Variables = {
-    options?: Maybe<ProductListOptions>;
-    languageCode?: Maybe<LanguageCode>;
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    products: Products;
-  }
-
-  export type Products = {
-    __typename?: "ProductList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
-
-  export type Items = {
-    __typename?: "Product";
-    
-    id: string;
-    
-    enabled: boolean;
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-    
-    slug: string;
-    
-    featuredAsset: Maybe<FeaturedAsset>;
-  } 
-
-  export type FeaturedAsset = {
-    __typename?: "Asset";
-    
-    id: string;
-    
-    preview: string;
-  } 
-}
+export type QueryFacetArgs = {
+  id: Scalars['ID'],
+  languageCode?: Maybe<LanguageCode>
+};
 
-export namespace GetProductOptionGroups {
-  export type Variables = {
-    filterTerm?: Maybe<string>;
-    languageCode?: Maybe<LanguageCode>;
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    productOptionGroups: ProductOptionGroups[];
-  }
-
-  export type ProductOptionGroups = {
-    __typename?: "ProductOptionGroup";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    code: string;
-    
-    name: string;
-    
-    options: Options[];
-  } 
-
-  export type Options = {
-    __typename?: "ProductOption";
-    
-    id: string;
-    
-    languageCode: Maybe<LanguageCode>;
-    
-    code: Maybe<string>;
-    
-    name: Maybe<string>;
-  } 
-}
 
-export namespace GetAssetList {
-  export type Variables = {
-    options?: Maybe<AssetListOptions>;
-  }
+export type QueryOrderArgs = {
+  id: Scalars['ID']
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    assets: Assets;
-  }
 
-  export type Assets = {
-    __typename?: "AssetList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
+export type QueryOrdersArgs = {
+  options?: Maybe<OrderListOptions>
+};
 
-  export type Items = Asset.Fragment
-}
 
-export namespace CreateAssets {
-  export type Variables = {
-    input: CreateAssetInput[];
-  }
+export type QueryPaymentMethodsArgs = {
+  options?: Maybe<PaymentMethodListOptions>
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createAssets: CreateAssets[];
-  }
 
-  export type CreateAssets = Asset.Fragment
-}
+export type QueryPaymentMethodArgs = {
+  id: Scalars['ID']
+};
 
-export namespace SearchProducts {
-  export type Variables = {
-    input: SearchInput;
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    search: Search;
-  }
-
-  export type Search = {
-    __typename?: "SearchResponse";
-    
-    totalItems: number;
-    
-    items: Items[];
-  } 
-
-  export type Items = {
-    __typename?: "SearchResult";
-    
-    enabled: boolean;
-    
-    productId: string;
-    
-    productName: string;
-    
-    productPreview: string;
-    
-    productVariantId: string;
-    
-    productVariantName: string;
-    
-    productVariantPreview: string;
-    
-    sku: string;
-  } 
-}
 
-export namespace GetPromotionList {
-  export type Variables = {
-    options?: Maybe<PromotionListOptions>;
-  }
+export type QueryProductOptionGroupsArgs = {
+  languageCode?: Maybe<LanguageCode>,
+  filterTerm?: Maybe<Scalars['String']>
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    promotions: Promotions;
-  }
 
-  export type Promotions = {
-    __typename?: "PromotionList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
+export type QueryProductOptionGroupArgs = {
+  id: Scalars['ID'],
+  languageCode?: Maybe<LanguageCode>
+};
 
-  export type Items = Promotion.Fragment
-}
 
-export namespace GetPromotion {
-  export type Variables = {
-    id: string;
-  }
+export type QuerySearchArgs = {
+  input: SearchInput
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    promotion: Maybe<Promotion>;
-  }
 
-  export type Promotion = Promotion.Fragment
-}
+export type QueryProductsArgs = {
+  languageCode?: Maybe<LanguageCode>,
+  options?: Maybe<ProductListOptions>
+};
 
-export namespace GetAdjustmentOperations {
-  export type Variables = {
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    adjustmentOperations: AdjustmentOperations;
-  }
+export type QueryProductArgs = {
+  id: Scalars['ID'],
+  languageCode?: Maybe<LanguageCode>
+};
 
-  export type AdjustmentOperations = {
-    __typename?: "AdjustmentOperations";
-    
-    actions: Actions[];
-    
-    conditions: Conditions[];
-  } 
 
-  export type Actions = ConfigurableOperation.Fragment
+export type QueryPromotionArgs = {
+  id: Scalars['ID']
+};
 
-  export type Conditions = ConfigurableOperation.Fragment
-}
 
-export namespace CreatePromotion {
-  export type Variables = {
-    input: CreatePromotionInput;
-  }
+export type QueryPromotionsArgs = {
+  options?: Maybe<PromotionListOptions>
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createPromotion: CreatePromotion;
-  }
 
-  export type CreatePromotion = Promotion.Fragment
-}
+export type QueryRolesArgs = {
+  options?: Maybe<RoleListOptions>
+};
 
-export namespace UpdatePromotion {
-  export type Variables = {
-    input: UpdatePromotionInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updatePromotion: UpdatePromotion;
-  }
+export type QueryRoleArgs = {
+  id: Scalars['ID']
+};
 
-  export type UpdatePromotion = Promotion.Fragment
-}
 
-export namespace GetCountryList {
-  export type Variables = {
-    options?: Maybe<CountryListOptions>;
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    countries: Countries;
-  }
-
-  export type Countries = {
-    __typename?: "CountryList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
-
-  export type Items = {
-    __typename?: "Country";
-    
-    id: string;
-    
-    code: string;
-    
-    name: string;
-    
-    enabled: boolean;
-  } 
-}
+export type QueryShippingMethodsArgs = {
+  options?: Maybe<ShippingMethodListOptions>
+};
 
-export namespace GetAvailableCountries {
-  export type Variables = {
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    countries: Countries;
-  }
-
-  export type Countries = {
-    __typename?: "CountryList";
-    
-    items: Items[];
-  } 
-
-  export type Items = {
-    __typename?: "Country";
-    
-    id: string;
-    
-    code: string;
-    
-    name: string;
-    
-    enabled: boolean;
-  } 
-}
 
-export namespace GetCountry {
-  export type Variables = {
-    id: string;
-  }
+export type QueryShippingMethodArgs = {
+  id: Scalars['ID']
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    country: Maybe<Country>;
-  }
 
-  export type Country = Country.Fragment
-}
+export type QueryTaxCategoryArgs = {
+  id: Scalars['ID']
+};
 
-export namespace CreateCountry {
-  export type Variables = {
-    input: CreateCountryInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createCountry: CreateCountry;
-  }
+export type QueryTaxRatesArgs = {
+  options?: Maybe<TaxRateListOptions>
+};
 
-  export type CreateCountry = Country.Fragment
-}
 
-export namespace UpdateCountry {
-  export type Variables = {
-    input: UpdateCountryInput;
-  }
+export type QueryTaxRateArgs = {
+  id: Scalars['ID']
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateCountry: UpdateCountry;
-  }
 
-  export type UpdateCountry = Country.Fragment
-}
+export type QueryZoneArgs = {
+  id: Scalars['ID']
+};
 
-export namespace DeleteCountry {
-  export type Variables = {
-    id: string;
-  }
+export type Return = Node & StockMovement & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  productVariant: ProductVariant,
+  type: StockMovementType,
+  quantity: Scalars['Int'],
+  orderItem: OrderItem,
+};
+
+export type Role = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  code: Scalars['String'],
+  description: Scalars['String'],
+  permissions: Array<Permission>,
+  channels: Array<Channel>,
+};
+
+export type RoleFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  code?: Maybe<StringOperators>,
+  description?: Maybe<StringOperators>,
+};
+
+export type RoleList = PaginatedList & {
+  items: Array<Role>,
+  totalItems: Scalars['Int'],
+};
+
+export type RoleListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<RoleSortParameter>,
+  filter?: Maybe<RoleFilterParameter>,
+};
+
+export type RoleSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  code?: Maybe<SortOrder>,
+  description?: Maybe<SortOrder>,
+};
+
+export type Sale = Node & StockMovement & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  productVariant: ProductVariant,
+  type: StockMovementType,
+  quantity: Scalars['Int'],
+  orderLine: OrderLine,
+};
+
+export type SearchInput = {
+  term?: Maybe<Scalars['String']>,
+  facetIds?: Maybe<Array<Scalars['String']>>,
+  collectionId?: Maybe<Scalars['String']>,
+  groupByProduct?: Maybe<Scalars['Boolean']>,
+  take?: Maybe<Scalars['Int']>,
+  skip?: Maybe<Scalars['Int']>,
+  sort?: Maybe<SearchResultSortParameter>,
+};
+
+export type SearchReindexResponse = {
+  success: Scalars['Boolean'],
+  timeTaken: Scalars['Int'],
+  indexedItemCount: Scalars['Int'],
+};
+
+export type SearchResponse = {
+  items: Array<SearchResult>,
+  totalItems: Scalars['Int'],
+  facetValues: Array<FacetValueResult>,
+};
+
+export type SearchResult = {
+  sku: Scalars['String'],
+  slug: Scalars['String'],
+  productId: Scalars['ID'],
+  productName: Scalars['String'],
+  productPreview: Scalars['String'],
+  productVariantId: Scalars['ID'],
+  productVariantName: Scalars['String'],
+  productVariantPreview: Scalars['String'],
+  price: SearchResultPrice,
+  priceWithTax: SearchResultPrice,
+  currencyCode: CurrencyCode,
+  description: Scalars['String'],
+  facetIds: Array<Scalars['String']>,
+  facetValueIds: Array<Scalars['String']>,
+  /** An array of ids of the Collections in which this result appears */
+  collectionIds: Array<Scalars['String']>,
+  /** A relevence score for the result. Differs between database implementations */
+  score: Scalars['Float'],
+  enabled: Scalars['Boolean'],
+};
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    deleteCountry: DeleteCountry;
-  }
+/** The price of a search result product, either as a range or as a single price */
+export type SearchResultPrice = PriceRange | SinglePrice;
 
-  export type DeleteCountry = {
-    __typename?: "DeletionResponse";
-    
-    result: DeletionResult;
-    
-    message: Maybe<string>;
-  } 
-}
+export type SearchResultSortParameter = {
+  name?: Maybe<SortOrder>,
+  price?: Maybe<SortOrder>,
+};
+
+export type ServerConfig = {
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type ShippingMethod = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  code: Scalars['String'],
+  description: Scalars['String'],
+  checker: ConfigurableOperation,
+  calculator: ConfigurableOperation,
+};
+
+export type ShippingMethodFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  code?: Maybe<StringOperators>,
+  description?: Maybe<StringOperators>,
+};
+
+export type ShippingMethodList = PaginatedList & {
+  items: Array<ShippingMethod>,
+  totalItems: Scalars['Int'],
+};
+
+export type ShippingMethodListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<ShippingMethodSortParameter>,
+  filter?: Maybe<ShippingMethodFilterParameter>,
+};
+
+export type ShippingMethodQuote = {
+  id: Scalars['ID'],
+  price: Scalars['Int'],
+  description: Scalars['String'],
+};
+
+export type ShippingMethodSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  code?: Maybe<SortOrder>,
+  description?: Maybe<SortOrder>,
+};
 
-export namespace GetZones {
-  export type Variables = {
-  }
-
-  export type Query = {
-    __typename?: "Query";
-    
-    zones: Zones[];
-  }
-
-  export type Zones = {
-    __typename?: "Zone";
-    
-    id: string;
-    
-    name: string;
-    
-    members: Members[];
-  } 
-
-  export type Members = {
-    __typename?: "Country";
-    
-    id: string;
-    
-    name: string;
-    
-    code: string;
-  } 
-}
+/** The price value where the result has a single price */
+export type SinglePrice = {
+  value: Scalars['Int'],
+};
+
+export enum SortOrder {
+  ASC = 'ASC',
+  DESC = 'DESC'
+}
+
+export type StockAdjustment = Node & StockMovement & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  productVariant: ProductVariant,
+  type: StockMovementType,
+  quantity: Scalars['Int'],
+};
+
+export type StockMovement = {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  productVariant: ProductVariant,
+  type: StockMovementType,
+  quantity: Scalars['Int'],
+};
 
-export namespace GetZone {
-  export type Variables = {
-    id: string;
-  }
+export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return;
 
-  export type Query = {
-    __typename?: "Query";
-    
-    zone: Maybe<Zone>;
-  }
+export type StockMovementList = {
+  items: Array<StockMovementItem>,
+  totalItems: Scalars['Int'],
+};
+
+export type StockMovementListOptions = {
+  type?: Maybe<StockMovementType>,
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+};
+
+export enum StockMovementType {
+  ADJUSTMENT = 'ADJUSTMENT',
+  SALE = 'SALE',
+  CANCELLATION = 'CANCELLATION',
+  RETURN = 'RETURN'
+}
+
+export type StringOperators = {
+  eq?: Maybe<Scalars['String']>,
+  contains?: Maybe<Scalars['String']>,
+};
+
+export type TaxCategory = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  name: Scalars['String'],
+};
+
+export type TaxRate = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  name: Scalars['String'],
+  enabled: Scalars['Boolean'],
+  value: Scalars['Int'],
+  category: TaxCategory,
+  zone: Zone,
+  customerGroup?: Maybe<CustomerGroup>,
+};
+
+export type TaxRateFilterParameter = {
+  createdAt?: Maybe<DateOperators>,
+  updatedAt?: Maybe<DateOperators>,
+  name?: Maybe<StringOperators>,
+  enabled?: Maybe<BooleanOperators>,
+  value?: Maybe<NumberOperators>,
+};
+
+export type TaxRateList = PaginatedList & {
+  items: Array<TaxRate>,
+  totalItems: Scalars['Int'],
+};
+
+export type TaxRateListOptions = {
+  skip?: Maybe<Scalars['Int']>,
+  take?: Maybe<Scalars['Int']>,
+  sort?: Maybe<TaxRateSortParameter>,
+  filter?: Maybe<TaxRateFilterParameter>,
+};
+
+export type TaxRateSortParameter = {
+  id?: Maybe<SortOrder>,
+  createdAt?: Maybe<SortOrder>,
+  updatedAt?: Maybe<SortOrder>,
+  name?: Maybe<SortOrder>,
+  value?: Maybe<SortOrder>,
+};
+
+export type UiState = {
+  language: LanguageCode,
+};
+
+export type UpdateAddressInput = {
+  id: Scalars['ID'],
+  fullName?: Maybe<Scalars['String']>,
+  company?: Maybe<Scalars['String']>,
+  streetLine1?: Maybe<Scalars['String']>,
+  streetLine2?: Maybe<Scalars['String']>,
+  city?: Maybe<Scalars['String']>,
+  province?: Maybe<Scalars['String']>,
+  postalCode?: Maybe<Scalars['String']>,
+  countryCode?: Maybe<Scalars['String']>,
+  phoneNumber?: Maybe<Scalars['String']>,
+  defaultShippingAddress?: Maybe<Scalars['Boolean']>,
+  defaultBillingAddress?: Maybe<Scalars['Boolean']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdateAdministratorInput = {
+  id: Scalars['ID'],
+  firstName?: Maybe<Scalars['String']>,
+  lastName?: Maybe<Scalars['String']>,
+  emailAddress?: Maybe<Scalars['String']>,
+  password?: Maybe<Scalars['String']>,
+  roleIds?: Maybe<Array<Scalars['ID']>>,
+};
+
+export type UpdateChannelInput = {
+  id: Scalars['ID'],
+  code?: Maybe<Scalars['String']>,
+  token?: Maybe<Scalars['String']>,
+  defaultLanguageCode?: Maybe<LanguageCode>,
+  pricesIncludeTax?: Maybe<Scalars['Boolean']>,
+  currencyCode?: Maybe<CurrencyCode>,
+  defaultTaxZoneId?: Maybe<Scalars['ID']>,
+  defaultShippingZoneId?: Maybe<Scalars['ID']>,
+};
+
+export type UpdateCollectionInput = {
+  id: Scalars['ID'],
+  isPrivate?: Maybe<Scalars['Boolean']>,
+  featuredAssetId?: Maybe<Scalars['ID']>,
+  parentId?: Maybe<Scalars['ID']>,
+  assetIds?: Maybe<Array<Scalars['ID']>>,
+  filters?: Maybe<Array<ConfigurableOperationInput>>,
+  translations?: Maybe<Array<CollectionTranslationInput>>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdateCountryInput = {
+  id: Scalars['ID'],
+  code?: Maybe<Scalars['String']>,
+  translations?: Maybe<Array<CountryTranslationInput>>,
+  enabled?: Maybe<Scalars['Boolean']>,
+};
+
+export type UpdateCustomerGroupInput = {
+  id: Scalars['ID'],
+  name?: Maybe<Scalars['String']>,
+};
+
+export type UpdateCustomerInput = {
+  id: Scalars['ID'],
+  title?: Maybe<Scalars['String']>,
+  firstName?: Maybe<Scalars['String']>,
+  lastName?: Maybe<Scalars['String']>,
+  phoneNumber?: Maybe<Scalars['String']>,
+  emailAddress?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdateFacetInput = {
+  id: Scalars['ID'],
+  isPrivate?: Maybe<Scalars['Boolean']>,
+  code?: Maybe<Scalars['String']>,
+  translations?: Maybe<Array<FacetTranslationInput>>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdateFacetValueInput = {
+  id: Scalars['ID'],
+  code?: Maybe<Scalars['String']>,
+  translations?: Maybe<Array<FacetValueTranslationInput>>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdateGlobalSettingsInput = {
+  availableLanguages?: Maybe<Array<LanguageCode>>,
+  trackInventory?: Maybe<Scalars['Boolean']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdatePaymentMethodInput = {
+  id: Scalars['ID'],
+  code?: Maybe<Scalars['String']>,
+  enabled?: Maybe<Scalars['Boolean']>,
+  configArgs?: Maybe<Array<ConfigArgInput>>,
+};
+
+export type UpdateProductInput = {
+  id: Scalars['ID'],
+  enabled?: Maybe<Scalars['Boolean']>,
+  featuredAssetId?: Maybe<Scalars['ID']>,
+  assetIds?: Maybe<Array<Scalars['ID']>>,
+  facetValueIds?: Maybe<Array<Scalars['ID']>>,
+  translations?: Maybe<Array<ProductTranslationInput>>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdateProductOptionGroupInput = {
+  id: Scalars['ID'],
+  code?: Maybe<Scalars['String']>,
+  translations?: Maybe<Array<ProductOptionGroupTranslationInput>>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdateProductVariantInput = {
+  id: Scalars['ID'],
+  enabled?: Maybe<Scalars['Boolean']>,
+  translations?: Maybe<Array<ProductVariantTranslationInput>>,
+  facetValueIds?: Maybe<Array<Scalars['ID']>>,
+  sku?: Maybe<Scalars['String']>,
+  taxCategoryId?: Maybe<Scalars['ID']>,
+  price?: Maybe<Scalars['Int']>,
+  featuredAssetId?: Maybe<Scalars['ID']>,
+  assetIds?: Maybe<Array<Scalars['ID']>>,
+  stockOnHand?: Maybe<Scalars['Int']>,
+  trackInventory?: Maybe<Scalars['Boolean']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
+
+export type UpdatePromotionInput = {
+  id: Scalars['ID'],
+  name?: Maybe<Scalars['String']>,
+  enabled?: Maybe<Scalars['Boolean']>,
+  conditions?: Maybe<Array<ConfigurableOperationInput>>,
+  actions?: Maybe<Array<ConfigurableOperationInput>>,
+};
+
+export type UpdateRoleInput = {
+  id: Scalars['ID'],
+  code?: Maybe<Scalars['String']>,
+  description?: Maybe<Scalars['String']>,
+  permissions?: Maybe<Array<Permission>>,
+};
+
+export type UpdateShippingMethodInput = {
+  id: Scalars['ID'],
+  code?: Maybe<Scalars['String']>,
+  description?: Maybe<Scalars['String']>,
+  checker?: Maybe<ConfigurableOperationInput>,
+  calculator?: Maybe<ConfigurableOperationInput>,
+};
+
+export type UpdateTaxCategoryInput = {
+  id: Scalars['ID'],
+  name?: Maybe<Scalars['String']>,
+};
+
+export type UpdateTaxRateInput = {
+  id: Scalars['ID'],
+  name?: Maybe<Scalars['String']>,
+  value?: Maybe<Scalars['Int']>,
+  enabled?: Maybe<Scalars['Boolean']>,
+  categoryId?: Maybe<Scalars['ID']>,
+  zoneId?: Maybe<Scalars['ID']>,
+  customerGroupId?: Maybe<Scalars['ID']>,
+};
+
+export type UpdateZoneInput = {
+  id: Scalars['ID'],
+  name?: Maybe<Scalars['String']>,
+};
+
+
+export type User = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  identifier: Scalars['String'],
+  verified: Scalars['Boolean'],
+  roles: Array<Role>,
+  lastLogin?: Maybe<Scalars['String']>,
+  customFields?: Maybe<Scalars['JSON']>,
+};
 
-  export type Zone = Zone.Fragment
-}
+export type UserStatus = {
+  username: Scalars['String'],
+  isLoggedIn: Scalars['Boolean'],
+  loginTime: Scalars['String'],
+};
 
-export namespace CreateZone {
-  export type Variables = {
-    input: CreateZoneInput;
-  }
+export type Zone = Node & {
+  id: Scalars['ID'],
+  createdAt: Scalars['DateTime'],
+  updatedAt: Scalars['DateTime'],
+  name: Scalars['String'],
+  members: Array<Country>,
+};
+export type AdministratorFragment = ({ __typename?: 'Administrator' } & Pick<Administrator, 'id' | 'firstName' | 'lastName' | 'emailAddress'> & { user: ({ __typename?: 'User' } & Pick<User, 'id' | 'identifier' | 'lastLogin'> & { roles: Array<({ __typename?: 'Role' } & Pick<Role, 'id' | 'code' | 'description' | 'permissions'>)> }) });
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createZone: CreateZone;
-  }
+export type RoleFragment = ({ __typename?: 'Role' } & Pick<Role, 'id' | 'code' | 'description' | 'permissions'> & { channels: Array<({ __typename?: 'Channel' } & Pick<Channel, 'id' | 'code' | 'token'>)> });
 
-  export type CreateZone = Zone.Fragment
-}
+export type GetAdministratorsQueryVariables = {
+  options?: Maybe<AdministratorListOptions>
+};
 
-export namespace UpdateZone {
-  export type Variables = {
-    input: UpdateZoneInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateZone: UpdateZone;
-  }
+export type GetAdministratorsQuery = ({ __typename?: 'Query' } & { administrators: ({ __typename?: 'AdministratorList' } & Pick<AdministratorList, 'totalItems'> & { items: Array<({ __typename?: 'Administrator' } & AdministratorFragment)> }) });
 
-  export type UpdateZone = Zone.Fragment
-}
+export type GetAdministratorQueryVariables = {
+  id: Scalars['ID']
+};
 
-export namespace AddMembersToZone {
-  export type Variables = {
-    zoneId: string;
-    memberIds: string[];
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    addMembersToZone: AddMembersToZone;
-  }
+export type GetAdministratorQuery = ({ __typename?: 'Query' } & { administrator: Maybe<({ __typename?: 'Administrator' } & AdministratorFragment)> });
 
-  export type AddMembersToZone = Zone.Fragment
-}
+export type CreateAdministratorMutationVariables = {
+  input: CreateAdministratorInput
+};
 
-export namespace RemoveMembersFromZone {
-  export type Variables = {
-    zoneId: string;
-    memberIds: string[];
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    removeMembersFromZone: RemoveMembersFromZone;
-  }
+export type CreateAdministratorMutation = ({ __typename?: 'Mutation' } & { createAdministrator: ({ __typename?: 'Administrator' } & AdministratorFragment) });
 
-  export type RemoveMembersFromZone = Zone.Fragment
-}
+export type UpdateAdministratorMutationVariables = {
+  input: UpdateAdministratorInput
+};
 
-export namespace GetTaxCategories {
-  export type Variables = {
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    taxCategories: TaxCategories[];
-  }
+export type UpdateAdministratorMutation = ({ __typename?: 'Mutation' } & { updateAdministrator: ({ __typename?: 'Administrator' } & AdministratorFragment) });
 
-  export type TaxCategories = TaxCategory.Fragment
-}
+export type GetRolesQueryVariables = {
+  options?: Maybe<RoleListOptions>
+};
 
-export namespace GetTaxCategory {
-  export type Variables = {
-    id: string;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    taxCategory: Maybe<TaxCategory>;
-  }
+export type GetRolesQuery = ({ __typename?: 'Query' } & { roles: ({ __typename?: 'RoleList' } & Pick<RoleList, 'totalItems'> & { items: Array<({ __typename?: 'Role' } & RoleFragment)> }) });
 
-  export type TaxCategory = TaxCategory.Fragment
-}
+export type GetRoleQueryVariables = {
+  id: Scalars['ID']
+};
 
-export namespace CreateTaxCategory {
-  export type Variables = {
-    input: CreateTaxCategoryInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createTaxCategory: CreateTaxCategory;
-  }
+export type GetRoleQuery = ({ __typename?: 'Query' } & { role: Maybe<({ __typename?: 'Role' } & RoleFragment)> });
 
-  export type CreateTaxCategory = TaxCategory.Fragment
-}
+export type CreateRoleMutationVariables = {
+  input: CreateRoleInput
+};
 
-export namespace UpdateTaxCategory {
-  export type Variables = {
-    input: UpdateTaxCategoryInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateTaxCategory: UpdateTaxCategory;
-  }
+export type CreateRoleMutation = ({ __typename?: 'Mutation' } & { createRole: ({ __typename?: 'Role' } & RoleFragment) });
 
-  export type UpdateTaxCategory = TaxCategory.Fragment
-}
+export type UpdateRoleMutationVariables = {
+  input: UpdateRoleInput
+};
 
-export namespace GetTaxRateList {
-  export type Variables = {
-    options?: Maybe<TaxRateListOptions>;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    taxRates: TaxRates;
-  }
+export type UpdateRoleMutation = ({ __typename?: 'Mutation' } & { updateRole: ({ __typename?: 'Role' } & RoleFragment) });
 
-  export type TaxRates = {
-    __typename?: "TaxRateList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
+export type AssignRoleToAdministratorMutationVariables = {
+  administratorId: Scalars['ID'],
+  roleId: Scalars['ID']
+};
 
-  export type Items = TaxRate.Fragment
-}
 
-export namespace GetTaxRate {
-  export type Variables = {
-    id: string;
-  }
+export type AssignRoleToAdministratorMutation = ({ __typename?: 'Mutation' } & { assignRoleToAdministrator: ({ __typename?: 'Administrator' } & AdministratorFragment) });
 
-  export type Query = {
-    __typename?: "Query";
-    
-    taxRate: Maybe<TaxRate>;
-  }
+export type CurrentUserFragment = ({ __typename?: 'CurrentUser' } & Pick<CurrentUser, 'id' | 'identifier' | 'channelTokens'>);
 
-  export type TaxRate = TaxRate.Fragment
-}
+export type AttemptLoginMutationVariables = {
+  username: Scalars['String'],
+  password: Scalars['String'],
+  rememberMe: Scalars['Boolean']
+};
 
-export namespace CreateTaxRate {
-  export type Variables = {
-    input: CreateTaxRateInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createTaxRate: CreateTaxRate;
-  }
+export type AttemptLoginMutation = ({ __typename?: 'Mutation' } & { login: ({ __typename?: 'LoginResult' } & { user: ({ __typename?: 'CurrentUser' } & CurrentUserFragment) }) });
 
-  export type CreateTaxRate = TaxRate.Fragment
-}
+export type LogOutMutationVariables = {};
 
-export namespace UpdateTaxRate {
-  export type Variables = {
-    input: UpdateTaxRateInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateTaxRate: UpdateTaxRate;
-  }
+export type LogOutMutation = ({ __typename?: 'Mutation' } & Pick<Mutation, 'logout'>);
 
-  export type UpdateTaxRate = TaxRate.Fragment
-}
+export type GetCurrentUserQueryVariables = {};
 
-export namespace GetChannels {
-  export type Variables = {
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    channels: Channels[];
-  }
+export type GetCurrentUserQuery = ({ __typename?: 'Query' } & { me: Maybe<({ __typename?: 'CurrentUser' } & CurrentUserFragment)> });
 
-  export type Channels = Channel.Fragment
-}
+export type RequestStartedMutationVariables = {};
 
-export namespace GetChannel {
-  export type Variables = {
-    id: string;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    channel: Maybe<Channel>;
-  }
+export type RequestStartedMutation = ({ __typename?: 'Mutation' } & Pick<Mutation, 'requestStarted'>);
 
-  export type Channel = Channel.Fragment
-}
+export type RequestCompletedMutationVariables = {};
 
-export namespace GetActiveChannel {
-  export type Variables = {
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    activeChannel: ActiveChannel;
-  }
+export type RequestCompletedMutation = ({ __typename?: 'Mutation' } & Pick<Mutation, 'requestCompleted'>);
 
-  export type ActiveChannel = Channel.Fragment
-}
+export type SetAsLoggedInMutationVariables = {
+  username: Scalars['String'],
+  loginTime: Scalars['String']
+};
 
-export namespace CreateChannel {
-  export type Variables = {
-    input: CreateChannelInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createChannel: CreateChannel;
-  }
+export type SetAsLoggedInMutation = ({ __typename?: 'Mutation' } & { setAsLoggedIn: ({ __typename?: 'UserStatus' } & Pick<UserStatus, 'username' | 'isLoggedIn' | 'loginTime'>) });
 
-  export type CreateChannel = Channel.Fragment
-}
+export type SetAsLoggedOutMutationVariables = {};
 
-export namespace UpdateChannel {
-  export type Variables = {
-    input: UpdateChannelInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateChannel: UpdateChannel;
-  }
+export type SetAsLoggedOutMutation = ({ __typename?: 'Mutation' } & { setAsLoggedOut: ({ __typename?: 'UserStatus' } & Pick<UserStatus, 'username' | 'isLoggedIn' | 'loginTime'>) });
 
-  export type UpdateChannel = Channel.Fragment
-}
+export type SetUiLanguageMutationVariables = {
+  languageCode: LanguageCode
+};
 
-export namespace GetPaymentMethodList {
-  export type Variables = {
-    options: PaymentMethodListOptions;
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    paymentMethods: PaymentMethods;
-  }
+export type SetUiLanguageMutation = ({ __typename?: 'Mutation' } & Pick<Mutation, 'setUiLanguage'>);
 
-  export type PaymentMethods = {
-    __typename?: "PaymentMethodList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
+export type GetNetworkStatusQueryVariables = {};
 
-  export type Items = PaymentMethod.Fragment
-}
 
-export namespace GetPaymentMethod {
-  export type Variables = {
-    id: string;
-  }
+export type GetNetworkStatusQuery = ({ __typename?: 'Query' } & { networkStatus: ({ __typename?: 'NetworkStatus' } & Pick<NetworkStatus, 'inFlightRequests'>) });
 
-  export type Query = {
-    __typename?: "Query";
-    
-    paymentMethod: Maybe<PaymentMethod>;
-  }
+export type GetUserStatusQueryVariables = {};
 
-  export type PaymentMethod = PaymentMethod.Fragment
-}
 
-export namespace UpdatePaymentMethod {
-  export type Variables = {
-    input: UpdatePaymentMethodInput;
-  }
+export type GetUserStatusQuery = ({ __typename?: 'Query' } & { userStatus: ({ __typename?: 'UserStatus' } & Pick<UserStatus, 'username' | 'isLoggedIn' | 'loginTime'>) });
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updatePaymentMethod: UpdatePaymentMethod;
-  }
+export type GetUiStateQueryVariables = {};
 
-  export type UpdatePaymentMethod = PaymentMethod.Fragment
-}
 
-export namespace GetGlobalSettings {
-  export type Variables = {
-  }
+export type GetUiStateQuery = ({ __typename?: 'Query' } & { uiState: ({ __typename?: 'UiState' } & Pick<UiState, 'language'>) });
 
-  export type Query = {
-    __typename?: "Query";
-    
-    globalSettings: GlobalSettings;
-  }
+export type GetCollectionFiltersQueryVariables = {};
 
-  export type GlobalSettings = GlobalSettings.Fragment
-}
 
-export namespace UpdateGlobalSettings {
-  export type Variables = {
-    input: UpdateGlobalSettingsInput;
-  }
+export type GetCollectionFiltersQuery = ({ __typename?: 'Query' } & { collectionFilters: Array<({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment)> });
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateGlobalSettings: UpdateGlobalSettings;
-  }
+export type CollectionFragment = ({ __typename?: 'Collection' } & Pick<Collection, 'id' | 'name' | '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' | 'description'>)>, parent: Maybe<({ __typename?: 'Collection' } & Pick<Collection, 'id' | 'name'>)>, children: Maybe<Array<({ __typename?: 'Collection' } & Pick<Collection, 'id' | 'name'>)>> });
 
-  export type UpdateGlobalSettings = GlobalSettings.Fragment
-}
+export type GetCollectionListQueryVariables = {
+  options?: Maybe<CollectionListOptions>,
+  languageCode?: Maybe<LanguageCode>
+};
 
-export namespace GetServerConfig {
-  export type Variables = {
-  }
 
-  export type Query = {
-    __typename?: "Query";
-    
-    globalSettings: GlobalSettings;
-  }
+export type GetCollectionListQuery = ({ __typename?: 'Query' } & { collections: ({ __typename?: 'CollectionList' } & Pick<CollectionList, 'totalItems'> & { items: Array<({ __typename?: 'Collection' } & Pick<Collection, 'id' | 'name' | 'description' | 'isPrivate'> & { featuredAsset: Maybe<({ __typename?: 'Asset' } & AssetFragment)>, parent: Maybe<({ __typename?: 'Collection' } & Pick<Collection, 'id'>)> })> }) });
 
-  export type GlobalSettings = {
-    __typename?: "GlobalSettings";
-    
-    serverConfig: ServerConfig;
-  } 
+export type GetCollectionQueryVariables = {
+  id: Scalars['ID'],
+  languageCode?: Maybe<LanguageCode>
+};
 
-  export type ServerConfig = {
-    __typename?: "ServerConfig";
-    
-    customFields: Maybe<Json>;
-  } 
-}
 
-export namespace GetShippingMethodList {
-  export type Variables = {
-    options?: Maybe<ShippingMethodListOptions>;
-  }
+export type GetCollectionQuery = ({ __typename?: 'Query' } & { collection: Maybe<({ __typename?: 'Collection' } & CollectionFragment)> });
 
-  export type Query = {
-    __typename?: "Query";
-    
-    shippingMethods: ShippingMethods;
-  }
+export type CreateCollectionMutationVariables = {
+  input: CreateCollectionInput
+};
 
-  export type ShippingMethods = {
-    __typename?: "ShippingMethodList";
-    
-    items: Items[];
-    
-    totalItems: number;
-  } 
 
-  export type Items = ShippingMethod.Fragment
-}
+export type CreateCollectionMutation = ({ __typename?: 'Mutation' } & { createCollection: ({ __typename?: 'Collection' } & CollectionFragment) });
 
-export namespace GetShippingMethod {
-  export type Variables = {
-    id: string;
-  }
+export type UpdateCollectionMutationVariables = {
+  input: UpdateCollectionInput
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    shippingMethod: Maybe<ShippingMethod>;
-  }
 
-  export type ShippingMethod = ShippingMethod.Fragment
-}
+export type UpdateCollectionMutation = ({ __typename?: 'Mutation' } & { updateCollection: ({ __typename?: 'Collection' } & CollectionFragment) });
 
-export namespace GetShippingMethodOperations {
-  export type Variables = {
-  }
+export type MoveCollectionMutationVariables = {
+  input: MoveCollectionInput
+};
 
-  export type Query = {
-    __typename?: "Query";
-    
-    shippingEligibilityCheckers: ShippingEligibilityCheckers[];
-    
-    shippingCalculators: ShippingCalculators[];
-  }
 
-  export type ShippingEligibilityCheckers = ConfigurableOperation.Fragment
+export type MoveCollectionMutation = ({ __typename?: 'Mutation' } & { moveCollection: ({ __typename?: 'Collection' } & CollectionFragment) });
 
-  export type ShippingCalculators = ConfigurableOperation.Fragment
-}
+export type GetCollectionContentsQueryVariables = {
+  id: Scalars['ID'],
+  options?: Maybe<ProductVariantListOptions>
+};
 
-export namespace CreateShippingMethod {
-  export type Variables = {
-    input: CreateShippingMethodInput;
-  }
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    createShippingMethod: CreateShippingMethod;
-  }
+export type GetCollectionContentsQuery = ({ __typename?: 'Query' } & { collection: Maybe<({ __typename?: 'Collection' } & Pick<Collection, 'id' | 'name'> & { productVariants: ({ __typename?: 'ProductVariantList' } & Pick<ProductVariantList, 'totalItems'> & { items: Array<({ __typename?: 'ProductVariant' } & Pick<ProductVariant, 'id' | 'productId' | 'name'>)> }) })> });
 
-  export type CreateShippingMethod = ShippingMethod.Fragment
-}
+export type AddressFragment = ({ __typename?: 'Address' } & Pick<Address, 'id' | 'fullName' | 'company' | 'streetLine1' | 'streetLine2' | 'city' | 'province' | 'postalCode' | 'phoneNumber' | 'defaultShippingAddress' | 'defaultBillingAddress'> & { country: ({ __typename?: 'Country' } & Pick<Country, 'id' | 'code' | 'name'>) });
 
-export namespace UpdateShippingMethod {
-  export type Variables = {
-    input: UpdateShippingMethodInput;
-  }
+export type CustomerFragment = ({ __typename?: 'Customer' } & Pick<Customer, 'id' | 'title' | 'firstName' | 'lastName' | 'phoneNumber' | 'emailAddress'> & { user: Maybe<({ __typename?: 'User' } & Pick<User, 'id' | 'identifier' | 'verified' | 'lastLogin'>)>, addresses: Maybe<Array<({ __typename?: 'Address' } & AddressFragment)>> });
 
-  export type Mutation = {
-    __typename?: "Mutation";
-    
-    updateShippingMethod: UpdateShippingMethod;
-  }
+export type GetCustomerListQueryVariables = {
+  options?: Maybe<CustomerListOptions>
+};
 
-  export type UpdateShippingMethod = ShippingMethod.Fragment
+
+export type GetCustomerListQuery = ({ __typename?: 'Query' } & { customers: ({ __typename?: 'CustomerList' } & Pick<CustomerList, 'totalItems'> & { items: Array<({ __typename?: 'Customer' } & Pick<Customer, 'id' | 'title' | 'firstName' | 'lastName' | 'emailAddress'> & { user: Maybe<({ __typename?: 'User' } & Pick<User, 'id' | 'verified'>)> })> }) });
+
+export type GetCustomerQueryVariables = {
+  id: Scalars['ID'],
+  orderListOptions?: Maybe<OrderListOptions>
+};
+
+
+export type GetCustomerQuery = ({ __typename?: 'Query' } & { customer: Maybe<({ __typename?: 'Customer' } & { orders: ({ __typename?: 'OrderList' } & Pick<OrderList, 'totalItems'> & { items: Array<({ __typename?: 'Order' } & Pick<Order, 'id' | 'code' | 'state' | 'total' | 'currencyCode' | 'updatedAt'>)> }) } & CustomerFragment)> });
+
+export type CreateCustomerMutationVariables = {
+  input: CreateCustomerInput,
+  password?: Maybe<Scalars['String']>
+};
+
+
+export type CreateCustomerMutation = ({ __typename?: 'Mutation' } & { createCustomer: ({ __typename?: 'Customer' } & CustomerFragment) });
+
+export type UpdateCustomerMutationVariables = {
+  input: UpdateCustomerInput
+};
+
+
+export type UpdateCustomerMutation = ({ __typename?: 'Mutation' } & { updateCustomer: ({ __typename?: 'Customer' } & CustomerFragment) });
+
+export type CreateCustomerAddressMutationVariables = {
+  customerId: Scalars['ID'],
+  input: CreateAddressInput
+};
+
+
+export type CreateCustomerAddressMutation = ({ __typename?: 'Mutation' } & { createCustomerAddress: ({ __typename?: 'Address' } & AddressFragment) });
+
+export type UpdateCustomerAddressMutationVariables = {
+  input: UpdateAddressInput
+};
+
+
+export type UpdateCustomerAddressMutation = ({ __typename?: 'Mutation' } & { updateCustomerAddress: ({ __typename?: 'Address' } & AddressFragment) });
+
+export type FacetValueFragment = ({ __typename?: 'FacetValue' } & Pick<FacetValue, 'id' | 'languageCode' | 'code' | 'name'> & { translations: Array<({ __typename?: 'FacetValueTranslation' } & Pick<FacetValueTranslation, 'id' | 'languageCode' | 'name'>)>, facet: ({ __typename?: 'Facet' } & Pick<Facet, 'id' | 'name'>) });
+
+export type FacetWithValuesFragment = ({ __typename?: 'Facet' } & Pick<Facet, 'id' | 'languageCode' | 'isPrivate' | 'code' | 'name'> & { translations: Array<({ __typename?: 'FacetTranslation' } & Pick<FacetTranslation, 'id' | 'languageCode' | 'name'>)>, values: Array<({ __typename?: 'FacetValue' } & FacetValueFragment)> });
+
+export type CreateFacetMutationVariables = {
+  input: CreateFacetInput
+};
+
+
+export type CreateFacetMutation = ({ __typename?: 'Mutation' } & { createFacet: ({ __typename?: 'Facet' } & FacetWithValuesFragment) });
+
+export type UpdateFacetMutationVariables = {
+  input: UpdateFacetInput
+};
+
+
+export type UpdateFacetMutation = ({ __typename?: 'Mutation' } & { updateFacet: ({ __typename?: 'Facet' } & FacetWithValuesFragment) });
+
+export type DeleteFacetMutationVariables = {
+  id: Scalars['ID'],
+  force?: Maybe<Scalars['Boolean']>
+};
+
+
+export type DeleteFacetMutation = ({ __typename?: 'Mutation' } & { deleteFacet: ({ __typename?: 'DeletionResponse' } & Pick<DeletionResponse, 'result' | 'message'>) });
+
+export type CreateFacetValuesMutationVariables = {
+  input: Array<CreateFacetValueInput>
+};
+
+
+export type CreateFacetValuesMutation = ({ __typename?: 'Mutation' } & { createFacetValues: Array<({ __typename?: 'FacetValue' } & FacetValueFragment)> });
+
+export type UpdateFacetValuesMutationVariables = {
+  input: Array<UpdateFacetValueInput>
+};
+
+
+export type UpdateFacetValuesMutation = ({ __typename?: 'Mutation' } & { updateFacetValues: Array<({ __typename?: 'FacetValue' } & FacetValueFragment)> });
+
+export type DeleteFacetValuesMutationVariables = {
+  ids: Array<Scalars['ID']>,
+  force?: Maybe<Scalars['Boolean']>
+};
+
+
+export type DeleteFacetValuesMutation = ({ __typename?: 'Mutation' } & { deleteFacetValues: Array<({ __typename?: 'DeletionResponse' } & Pick<DeletionResponse, 'result' | 'message'>)> });
+
+export type GetFacetListQueryVariables = {
+  options?: Maybe<FacetListOptions>,
+  languageCode?: Maybe<LanguageCode>
+};
+
+
+export type GetFacetListQuery = ({ __typename?: 'Query' } & { facets: ({ __typename?: 'FacetList' } & Pick<FacetList, 'totalItems'> & { items: Array<({ __typename?: 'Facet' } & FacetWithValuesFragment)> }) });
+
+export type GetFacetWithValuesQueryVariables = {
+  id: Scalars['ID'],
+  languageCode?: Maybe<LanguageCode>
+};
+
+
+export type GetFacetWithValuesQuery = ({ __typename?: 'Query' } & { facet: Maybe<({ __typename?: 'Facet' } & FacetWithValuesFragment)> });
+
+export type AdjustmentFragment = ({ __typename?: 'Adjustment' } & Pick<Adjustment, 'adjustmentSource' | 'amount' | 'description' | 'type'>);
+
+export type ShippingAddressFragment = ({ __typename?: 'OrderAddress' } & Pick<OrderAddress, 'fullName' | 'company' | 'streetLine1' | 'streetLine2' | 'city' | 'province' | 'postalCode' | 'country' | 'phoneNumber'>);
+
+export type OrderFragment = ({ __typename?: 'Order' } & Pick<Order, 'id' | 'createdAt' | 'updatedAt' | 'code' | 'state' | 'total' | 'currencyCode'> & { customer: Maybe<({ __typename?: 'Customer' } & Pick<Customer, 'id' | 'firstName' | 'lastName'>)> });
+
+export type OrderWithLinesFragment = ({ __typename?: 'Order' } & Pick<Order, 'id' | 'createdAt' | 'updatedAt' | 'code' | 'state' | 'active' | 'subTotal' | 'subTotalBeforeTax' | 'totalBeforeTax' | 'currencyCode' | 'shipping' | 'total'> & { customer: Maybe<({ __typename?: 'Customer' } & Pick<Customer, 'id' | 'firstName' | 'lastName'>)>, lines: Array<({ __typename?: 'OrderLine' } & Pick<OrderLine, 'id' | 'unitPrice' | 'unitPriceWithTax' | 'quantity' | 'totalPrice'> & { featuredAsset: Maybe<({ __typename?: 'Asset' } & Pick<Asset, 'preview'>)>, productVariant: ({ __typename?: 'ProductVariant' } & Pick<ProductVariant, 'id' | 'name' | 'sku'>), items: Array<({ __typename?: 'OrderItem' } & Pick<OrderItem, 'id' | 'unitPrice' | 'unitPriceIncludesTax' | 'unitPriceWithTax' | 'taxRate'>)> })>, adjustments: Array<({ __typename?: 'Adjustment' } & AdjustmentFragment)>, shippingMethod: Maybe<({ __typename?: 'ShippingMethod' } & Pick<ShippingMethod, 'id' | 'code' | 'description'>)>, shippingAddress: Maybe<({ __typename?: 'OrderAddress' } & ShippingAddressFragment)>, payments: Maybe<Array<({ __typename?: 'Payment' } & Pick<Payment, 'id' | 'transactionId' | 'amount' | 'method' | 'state' | 'metadata'>)>> });
+
+export type GetOrderListQueryVariables = {
+  options?: Maybe<OrderListOptions>
+};
+
+
+export type GetOrderListQuery = ({ __typename?: 'Query' } & { orders: ({ __typename?: 'OrderList' } & Pick<OrderList, 'totalItems'> & { items: Array<({ __typename?: 'Order' } & OrderFragment)> }) });
+
+export type GetOrderQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetOrderQuery = ({ __typename?: 'Query' } & { order: Maybe<({ __typename?: 'Order' } & OrderWithLinesFragment)> });
+
+export type AssetFragment = ({ __typename?: 'Asset' } & Pick<Asset, 'id' | 'createdAt' | 'name' | 'fileSize' | 'mimeType' | 'type' | 'preview' | 'source'>);
+
+export type ProductVariantFragment = ({ __typename?: 'ProductVariant' } & Pick<ProductVariant, 'id' | 'enabled' | 'languageCode' | 'name' | 'price' | 'currencyCode' | 'priceIncludesTax' | 'priceWithTax' | 'stockOnHand' | 'trackInventory' | 'sku'> & { taxRateApplied: ({ __typename?: 'TaxRate' } & Pick<TaxRate, 'id' | 'name' | 'value'>), taxCategory: ({ __typename?: 'TaxCategory' } & Pick<TaxCategory, 'id' | 'name'>), options: Array<({ __typename?: 'ProductOption' } & Pick<ProductOption, 'id' | 'code' | 'languageCode' | 'name'>)>, facetValues: Array<({ __typename?: 'FacetValue' } & Pick<FacetValue, 'id' | 'code' | 'name'> & { facet: ({ __typename?: 'Facet' } & Pick<Facet, 'id' | 'name'>) })>, featuredAsset: Maybe<({ __typename?: 'Asset' } & AssetFragment)>, assets: Array<({ __typename?: 'Asset' } & AssetFragment)>, translations: Array<({ __typename?: 'ProductVariantTranslation' } & Pick<ProductVariantTranslation, 'id' | 'languageCode' | 'name'>)> });
+
+export type ProductWithVariantsFragment = ({ __typename?: 'Product' } & 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<FacetValue, 'id' | 'code' | 'name'> & { facet: ({ __typename?: 'Facet' } & Pick<Facet, 'id' | 'name'>) })> });
+
+export type ProductOptionGroupFragment = ({ __typename?: 'ProductOptionGroup' } & Pick<ProductOptionGroup, 'id' | 'languageCode' | 'code' | 'name'> & { translations: Array<({ __typename?: 'ProductOptionGroupTranslation' } & Pick<ProductOptionGroupTranslation, 'name'>)>, options: Array<({ __typename?: 'ProductOption' } & Pick<ProductOption, 'id' | 'languageCode' | 'name' | 'code'> & { translations: Array<({ __typename?: 'ProductOptionTranslation' } & Pick<ProductOptionTranslation, 'name'>)> })> });
+
+export type UpdateProductMutationVariables = {
+  input: UpdateProductInput
+};
+
+
+export type UpdateProductMutation = ({ __typename?: 'Mutation' } & { updateProduct: ({ __typename?: 'Product' } & ProductWithVariantsFragment) });
+
+export type CreateProductMutationVariables = {
+  input: CreateProductInput
+};
+
+
+export type CreateProductMutation = ({ __typename?: 'Mutation' } & { createProduct: ({ __typename?: 'Product' } & ProductWithVariantsFragment) });
+
+export type DeleteProductMutationVariables = {
+  id: Scalars['ID']
+};
+
+
+export type DeleteProductMutation = ({ __typename?: 'Mutation' } & { deleteProduct: ({ __typename?: 'DeletionResponse' } & Pick<DeletionResponse, 'result' | 'message'>) });
+
+export type GenerateProductVariantsMutationVariables = {
+  productId: Scalars['ID'],
+  defaultTaxCategoryId?: Maybe<Scalars['ID']>,
+  defaultPrice?: Maybe<Scalars['Int']>,
+  defaultSku?: Maybe<Scalars['String']>
+};
+
+
+export type GenerateProductVariantsMutation = ({ __typename?: 'Mutation' } & { generateVariantsForProduct: ({ __typename?: 'Product' } & ProductWithVariantsFragment) });
+
+export type UpdateProductVariantsMutationVariables = {
+  input: Array<UpdateProductVariantInput>
+};
+
+
+export type UpdateProductVariantsMutation = ({ __typename?: 'Mutation' } & { updateProductVariants: Array<Maybe<({ __typename?: 'ProductVariant' } & ProductVariantFragment)>> });
+
+export type CreateProductOptionGroupMutationVariables = {
+  input: CreateProductOptionGroupInput
+};
+
+
+export type CreateProductOptionGroupMutation = ({ __typename?: 'Mutation' } & { createProductOptionGroup: ({ __typename?: 'ProductOptionGroup' } & ProductOptionGroupFragment) });
+
+export type AddOptionGroupToProductMutationVariables = {
+  productId: Scalars['ID'],
+  optionGroupId: Scalars['ID']
+};
+
+
+export type AddOptionGroupToProductMutation = ({ __typename?: 'Mutation' } & { addOptionGroupToProduct: ({ __typename?: 'Product' } & Pick<Product, 'id'> & { optionGroups: Array<({ __typename?: 'ProductOptionGroup' } & Pick<ProductOptionGroup, 'id' | 'code'> & { options: Array<({ __typename?: 'ProductOption' } & Pick<ProductOption, 'id' | 'code'>)> })> }) });
+
+export type RemoveOptionGroupFromProductMutationVariables = {
+  productId: Scalars['ID'],
+  optionGroupId: Scalars['ID']
+};
+
+
+export type RemoveOptionGroupFromProductMutation = ({ __typename?: 'Mutation' } & { removeOptionGroupFromProduct: ({ __typename?: 'Product' } & Pick<Product, 'id'> & { optionGroups: Array<({ __typename?: 'ProductOptionGroup' } & Pick<ProductOptionGroup, 'id' | 'code'> & { options: Array<({ __typename?: 'ProductOption' } & Pick<ProductOption, 'id' | 'code'>)> })> }) });
+
+export type GetProductWithVariantsQueryVariables = {
+  id: Scalars['ID'],
+  languageCode?: Maybe<LanguageCode>
+};
+
+
+export type GetProductWithVariantsQuery = ({ __typename?: 'Query' } & { product: Maybe<({ __typename?: 'Product' } & ProductWithVariantsFragment)> });
+
+export type GetProductListQueryVariables = {
+  options?: Maybe<ProductListOptions>,
+  languageCode?: Maybe<LanguageCode>
+};
+
+
+export type GetProductListQuery = ({ __typename?: 'Query' } & { products: ({ __typename?: 'ProductList' } & Pick<ProductList, 'totalItems'> & { items: Array<({ __typename?: 'Product' } & Pick<Product, 'id' | 'enabled' | 'languageCode' | 'name' | 'slug'> & { featuredAsset: Maybe<({ __typename?: 'Asset' } & Pick<Asset, 'id' | 'preview'>)> })> }) });
+
+export type GetProductOptionGroupsQueryVariables = {
+  filterTerm?: Maybe<Scalars['String']>,
+  languageCode?: Maybe<LanguageCode>
+};
+
+
+export type GetProductOptionGroupsQuery = ({ __typename?: 'Query' } & { productOptionGroups: Array<({ __typename?: 'ProductOptionGroup' } & Pick<ProductOptionGroup, 'id' | 'languageCode' | 'code' | 'name'> & { options: Array<({ __typename?: 'ProductOption' } & Pick<ProductOption, 'id' | 'languageCode' | 'code' | 'name'>)> })> });
+
+export type GetAssetListQueryVariables = {
+  options?: Maybe<AssetListOptions>
+};
+
+
+export type GetAssetListQuery = ({ __typename?: 'Query' } & { assets: ({ __typename?: 'AssetList' } & Pick<AssetList, 'totalItems'> & { items: Array<({ __typename?: 'Asset' } & AssetFragment)> }) });
+
+export type CreateAssetsMutationVariables = {
+  input: Array<CreateAssetInput>
+};
+
+
+export type CreateAssetsMutation = ({ __typename?: 'Mutation' } & { createAssets: Array<({ __typename?: 'Asset' } & AssetFragment)> });
+
+export type SearchProductsQueryVariables = {
+  input: SearchInput
+};
+
+
+export type SearchProductsQuery = ({ __typename?: 'Query' } & { search: ({ __typename?: 'SearchResponse' } & Pick<SearchResponse, 'totalItems'> & { items: Array<({ __typename?: 'SearchResult' } & Pick<SearchResult, 'enabled' | 'productId' | 'productName' | 'productPreview' | 'productVariantId' | 'productVariantName' | 'productVariantPreview' | 'sku'>)> }) });
+
+export type ConfigurableOperationFragment = ({ __typename?: 'ConfigurableOperation' } & Pick<ConfigurableOperation, 'code' | 'description'> & { args: Array<({ __typename?: 'ConfigArg' } & Pick<ConfigArg, 'name' | 'type' | 'value'>)> });
+
+export type PromotionFragment = ({ __typename?: 'Promotion' } & Pick<Promotion, 'id' | 'createdAt' | 'updatedAt' | 'name' | 'enabled'> & { conditions: Array<({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment)>, actions: Array<({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment)> });
+
+export type GetPromotionListQueryVariables = {
+  options?: Maybe<PromotionListOptions>
+};
+
+
+export type GetPromotionListQuery = ({ __typename?: 'Query' } & { promotions: ({ __typename?: 'PromotionList' } & Pick<PromotionList, 'totalItems'> & { items: Array<({ __typename?: 'Promotion' } & PromotionFragment)> }) });
+
+export type GetPromotionQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetPromotionQuery = ({ __typename?: 'Query' } & { promotion: Maybe<({ __typename?: 'Promotion' } & PromotionFragment)> });
+
+export type GetAdjustmentOperationsQueryVariables = {};
+
+
+export type GetAdjustmentOperationsQuery = ({ __typename?: 'Query' } & { adjustmentOperations: ({ __typename?: 'AdjustmentOperations' } & { actions: Array<({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment)>, conditions: Array<({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment)> }) });
+
+export type CreatePromotionMutationVariables = {
+  input: CreatePromotionInput
+};
+
+
+export type CreatePromotionMutation = ({ __typename?: 'Mutation' } & { createPromotion: ({ __typename?: 'Promotion' } & PromotionFragment) });
+
+export type UpdatePromotionMutationVariables = {
+  input: UpdatePromotionInput
+};
+
+
+export type UpdatePromotionMutation = ({ __typename?: 'Mutation' } & { updatePromotion: ({ __typename?: 'Promotion' } & PromotionFragment) });
+
+export type CountryFragment = ({ __typename?: 'Country' } & Pick<Country, 'id' | 'code' | 'name' | 'enabled'> & { translations: Array<({ __typename?: 'CountryTranslation' } & Pick<CountryTranslation, 'id' | 'languageCode' | 'name'>)> });
+
+export type GetCountryListQueryVariables = {
+  options?: Maybe<CountryListOptions>
+};
+
+
+export type GetCountryListQuery = ({ __typename?: 'Query' } & { countries: ({ __typename?: 'CountryList' } & Pick<CountryList, 'totalItems'> & { items: Array<({ __typename?: 'Country' } & Pick<Country, 'id' | 'code' | 'name' | 'enabled'>)> }) });
+
+export type GetAvailableCountriesQueryVariables = {};
+
+
+export type GetAvailableCountriesQuery = ({ __typename?: 'Query' } & { countries: ({ __typename?: 'CountryList' } & { items: Array<({ __typename?: 'Country' } & Pick<Country, 'id' | 'code' | 'name' | 'enabled'>)> }) });
+
+export type GetCountryQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetCountryQuery = ({ __typename?: 'Query' } & { country: Maybe<({ __typename?: 'Country' } & CountryFragment)> });
+
+export type CreateCountryMutationVariables = {
+  input: CreateCountryInput
+};
+
+
+export type CreateCountryMutation = ({ __typename?: 'Mutation' } & { createCountry: ({ __typename?: 'Country' } & CountryFragment) });
+
+export type UpdateCountryMutationVariables = {
+  input: UpdateCountryInput
+};
+
+
+export type UpdateCountryMutation = ({ __typename?: 'Mutation' } & { updateCountry: ({ __typename?: 'Country' } & CountryFragment) });
+
+export type DeleteCountryMutationVariables = {
+  id: Scalars['ID']
+};
+
+
+export type DeleteCountryMutation = ({ __typename?: 'Mutation' } & { deleteCountry: ({ __typename?: 'DeletionResponse' } & Pick<DeletionResponse, 'result' | 'message'>) });
+
+export type ZoneFragment = ({ __typename?: 'Zone' } & Pick<Zone, 'id' | 'name'> & { members: Array<({ __typename?: 'Country' } & CountryFragment)> });
+
+export type GetZonesQueryVariables = {};
+
+
+export type GetZonesQuery = ({ __typename?: 'Query' } & { zones: Array<({ __typename?: 'Zone' } & Pick<Zone, 'id' | 'name'> & { members: Array<({ __typename?: 'Country' } & Pick<Country, 'id' | 'name' | 'code'>)> })> });
+
+export type GetZoneQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetZoneQuery = ({ __typename?: 'Query' } & { zone: Maybe<({ __typename?: 'Zone' } & ZoneFragment)> });
+
+export type CreateZoneMutationVariables = {
+  input: CreateZoneInput
+};
+
+
+export type CreateZoneMutation = ({ __typename?: 'Mutation' } & { createZone: ({ __typename?: 'Zone' } & ZoneFragment) });
+
+export type UpdateZoneMutationVariables = {
+  input: UpdateZoneInput
+};
+
+
+export type UpdateZoneMutation = ({ __typename?: 'Mutation' } & { updateZone: ({ __typename?: 'Zone' } & ZoneFragment) });
+
+export type AddMembersToZoneMutationVariables = {
+  zoneId: Scalars['ID'],
+  memberIds: Array<Scalars['ID']>
+};
+
+
+export type AddMembersToZoneMutation = ({ __typename?: 'Mutation' } & { addMembersToZone: ({ __typename?: 'Zone' } & ZoneFragment) });
+
+export type RemoveMembersFromZoneMutationVariables = {
+  zoneId: Scalars['ID'],
+  memberIds: Array<Scalars['ID']>
+};
+
+
+export type RemoveMembersFromZoneMutation = ({ __typename?: 'Mutation' } & { removeMembersFromZone: ({ __typename?: 'Zone' } & ZoneFragment) });
+
+export type TaxCategoryFragment = ({ __typename?: 'TaxCategory' } & Pick<TaxCategory, 'id' | 'name'>);
+
+export type GetTaxCategoriesQueryVariables = {};
+
+
+export type GetTaxCategoriesQuery = ({ __typename?: 'Query' } & { taxCategories: Array<({ __typename?: 'TaxCategory' } & TaxCategoryFragment)> });
+
+export type GetTaxCategoryQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetTaxCategoryQuery = ({ __typename?: 'Query' } & { taxCategory: Maybe<({ __typename?: 'TaxCategory' } & TaxCategoryFragment)> });
+
+export type CreateTaxCategoryMutationVariables = {
+  input: CreateTaxCategoryInput
+};
+
+
+export type CreateTaxCategoryMutation = ({ __typename?: 'Mutation' } & { createTaxCategory: ({ __typename?: 'TaxCategory' } & TaxCategoryFragment) });
+
+export type UpdateTaxCategoryMutationVariables = {
+  input: UpdateTaxCategoryInput
+};
+
+
+export type UpdateTaxCategoryMutation = ({ __typename?: 'Mutation' } & { updateTaxCategory: ({ __typename?: 'TaxCategory' } & TaxCategoryFragment) });
+
+export type TaxRateFragment = ({ __typename?: 'TaxRate' } & Pick<TaxRate, 'id' | 'name' | 'enabled' | 'value'> & { category: ({ __typename?: 'TaxCategory' } & Pick<TaxCategory, 'id' | 'name'>), zone: ({ __typename?: 'Zone' } & Pick<Zone, 'id' | 'name'>), customerGroup: Maybe<({ __typename?: 'CustomerGroup' } & Pick<CustomerGroup, 'id' | 'name'>)> });
+
+export type GetTaxRateListQueryVariables = {
+  options?: Maybe<TaxRateListOptions>
+};
+
+
+export type GetTaxRateListQuery = ({ __typename?: 'Query' } & { taxRates: ({ __typename?: 'TaxRateList' } & Pick<TaxRateList, 'totalItems'> & { items: Array<({ __typename?: 'TaxRate' } & TaxRateFragment)> }) });
+
+export type GetTaxRateQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetTaxRateQuery = ({ __typename?: 'Query' } & { taxRate: Maybe<({ __typename?: 'TaxRate' } & TaxRateFragment)> });
+
+export type CreateTaxRateMutationVariables = {
+  input: CreateTaxRateInput
+};
+
+
+export type CreateTaxRateMutation = ({ __typename?: 'Mutation' } & { createTaxRate: ({ __typename?: 'TaxRate' } & TaxRateFragment) });
+
+export type UpdateTaxRateMutationVariables = {
+  input: UpdateTaxRateInput
+};
+
+
+export type UpdateTaxRateMutation = ({ __typename?: 'Mutation' } & { updateTaxRate: ({ __typename?: 'TaxRate' } & TaxRateFragment) });
+
+export type ChannelFragment = ({ __typename?: 'Channel' } & Pick<Channel, 'id' | 'code' | 'token' | 'pricesIncludeTax' | 'currencyCode' | 'defaultLanguageCode'> & { defaultShippingZone: Maybe<({ __typename?: 'Zone' } & Pick<Zone, 'id' | 'name'>)>, defaultTaxZone: Maybe<({ __typename?: 'Zone' } & Pick<Zone, 'id' | 'name'>)> });
+
+export type GetChannelsQueryVariables = {};
+
+
+export type GetChannelsQuery = ({ __typename?: 'Query' } & { channels: Array<({ __typename?: 'Channel' } & ChannelFragment)> });
+
+export type GetChannelQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetChannelQuery = ({ __typename?: 'Query' } & { channel: Maybe<({ __typename?: 'Channel' } & ChannelFragment)> });
+
+export type GetActiveChannelQueryVariables = {};
+
+
+export type GetActiveChannelQuery = ({ __typename?: 'Query' } & { activeChannel: ({ __typename?: 'Channel' } & ChannelFragment) });
+
+export type CreateChannelMutationVariables = {
+  input: CreateChannelInput
+};
+
+
+export type CreateChannelMutation = ({ __typename?: 'Mutation' } & { createChannel: ({ __typename?: 'Channel' } & ChannelFragment) });
+
+export type UpdateChannelMutationVariables = {
+  input: UpdateChannelInput
+};
+
+
+export type UpdateChannelMutation = ({ __typename?: 'Mutation' } & { updateChannel: ({ __typename?: 'Channel' } & ChannelFragment) });
+
+export type PaymentMethodFragment = ({ __typename?: 'PaymentMethod' } & Pick<PaymentMethod, 'id' | 'code' | 'enabled'> & { configArgs: Array<({ __typename?: 'ConfigArg' } & Pick<ConfigArg, 'name' | 'type' | 'value'>)> });
+
+export type GetPaymentMethodListQueryVariables = {
+  options: PaymentMethodListOptions
+};
+
+
+export type GetPaymentMethodListQuery = ({ __typename?: 'Query' } & { paymentMethods: ({ __typename?: 'PaymentMethodList' } & Pick<PaymentMethodList, 'totalItems'> & { items: Array<({ __typename?: 'PaymentMethod' } & PaymentMethodFragment)> }) });
+
+export type GetPaymentMethodQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetPaymentMethodQuery = ({ __typename?: 'Query' } & { paymentMethod: Maybe<({ __typename?: 'PaymentMethod' } & PaymentMethodFragment)> });
+
+export type UpdatePaymentMethodMutationVariables = {
+  input: UpdatePaymentMethodInput
+};
+
+
+export type UpdatePaymentMethodMutation = ({ __typename?: 'Mutation' } & { updatePaymentMethod: ({ __typename?: 'PaymentMethod' } & PaymentMethodFragment) });
+
+export type GlobalSettingsFragment = ({ __typename?: 'GlobalSettings' } & Pick<GlobalSettings, 'availableLanguages' | 'trackInventory'>);
+
+export type GetGlobalSettingsQueryVariables = {};
+
+
+export type GetGlobalSettingsQuery = ({ __typename?: 'Query' } & { globalSettings: ({ __typename?: 'GlobalSettings' } & GlobalSettingsFragment) });
+
+export type UpdateGlobalSettingsMutationVariables = {
+  input: UpdateGlobalSettingsInput
+};
+
+
+export type UpdateGlobalSettingsMutation = ({ __typename?: 'Mutation' } & { updateGlobalSettings: ({ __typename?: 'GlobalSettings' } & GlobalSettingsFragment) });
+
+export type GetServerConfigQueryVariables = {};
+
+
+export type GetServerConfigQuery = ({ __typename?: 'Query' } & { globalSettings: ({ __typename?: 'GlobalSettings' } & { serverConfig: ({ __typename?: 'ServerConfig' } & Pick<ServerConfig, 'customFields'>) }) });
+
+export type ShippingMethodFragment = ({ __typename?: 'ShippingMethod' } & Pick<ShippingMethod, 'id' | 'createdAt' | 'updatedAt' | 'code' | 'description'> & { checker: ({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment), calculator: ({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment) });
+
+export type GetShippingMethodListQueryVariables = {
+  options?: Maybe<ShippingMethodListOptions>
+};
+
+
+export type GetShippingMethodListQuery = ({ __typename?: 'Query' } & { shippingMethods: ({ __typename?: 'ShippingMethodList' } & Pick<ShippingMethodList, 'totalItems'> & { items: Array<({ __typename?: 'ShippingMethod' } & ShippingMethodFragment)> }) });
+
+export type GetShippingMethodQueryVariables = {
+  id: Scalars['ID']
+};
+
+
+export type GetShippingMethodQuery = ({ __typename?: 'Query' } & { shippingMethod: Maybe<({ __typename?: 'ShippingMethod' } & ShippingMethodFragment)> });
+
+export type GetShippingMethodOperationsQueryVariables = {};
+
+
+export type GetShippingMethodOperationsQuery = ({ __typename?: 'Query' } & { shippingEligibilityCheckers: Array<({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment)>, shippingCalculators: Array<({ __typename?: 'ConfigurableOperation' } & ConfigurableOperationFragment)> });
+
+export type CreateShippingMethodMutationVariables = {
+  input: CreateShippingMethodInput
+};
+
+
+export type CreateShippingMethodMutation = ({ __typename?: 'Mutation' } & { createShippingMethod: ({ __typename?: 'ShippingMethod' } & ShippingMethodFragment) });
+
+export type UpdateShippingMethodMutationVariables = {
+  input: UpdateShippingMethodInput
+};
+
+
+export type UpdateShippingMethodMutation = ({ __typename?: 'Mutation' } & { updateShippingMethod: ({ __typename?: 'ShippingMethod' } & ShippingMethodFragment) });
+export namespace Administrator {
+  export type Fragment = AdministratorFragment;
+  export type User = AdministratorFragment['user'];
+  export type Roles = (NonNullable<AdministratorFragment['user']['roles'][0]>);
+}
+
+export namespace Role {
+  export type Fragment = RoleFragment;
+  export type Channels = (NonNullable<RoleFragment['channels'][0]>);
+}
+
+export namespace GetAdministrators {
+  export type Variables = GetAdministratorsQueryVariables;
+  export type Query = GetAdministratorsQuery;
+  export type Administrators = GetAdministratorsQuery['administrators'];
+  export type Items = AdministratorFragment;
+}
+
+export namespace GetAdministrator {
+  export type Variables = GetAdministratorQueryVariables;
+  export type Query = GetAdministratorQuery;
+  export type Administrator = AdministratorFragment;
+}
+
+export namespace CreateAdministrator {
+  export type Variables = CreateAdministratorMutationVariables;
+  export type Mutation = CreateAdministratorMutation;
+  export type CreateAdministrator = AdministratorFragment;
+}
+
+export namespace UpdateAdministrator {
+  export type Variables = UpdateAdministratorMutationVariables;
+  export type Mutation = UpdateAdministratorMutation;
+  export type UpdateAdministrator = AdministratorFragment;
+}
+
+export namespace GetRoles {
+  export type Variables = GetRolesQueryVariables;
+  export type Query = GetRolesQuery;
+  export type Roles = GetRolesQuery['roles'];
+  export type Items = RoleFragment;
+}
+
+export namespace GetRole {
+  export type Variables = GetRoleQueryVariables;
+  export type Query = GetRoleQuery;
+  export type Role = RoleFragment;
+}
+
+export namespace CreateRole {
+  export type Variables = CreateRoleMutationVariables;
+  export type Mutation = CreateRoleMutation;
+  export type CreateRole = RoleFragment;
+}
+
+export namespace UpdateRole {
+  export type Variables = UpdateRoleMutationVariables;
+  export type Mutation = UpdateRoleMutation;
+  export type UpdateRole = RoleFragment;
+}
+
+export namespace AssignRoleToAdministrator {
+  export type Variables = AssignRoleToAdministratorMutationVariables;
+  export type Mutation = AssignRoleToAdministratorMutation;
+  export type AssignRoleToAdministrator = AdministratorFragment;
+}
+
+export namespace CurrentUser {
+  export type Fragment = CurrentUserFragment;
+}
+
+export namespace AttemptLogin {
+  export type Variables = AttemptLoginMutationVariables;
+  export type Mutation = AttemptLoginMutation;
+  export type Login = AttemptLoginMutation['login'];
+  export type User = CurrentUserFragment;
+}
+
+export namespace LogOut {
+  export type Variables = LogOutMutationVariables;
+  export type Mutation = LogOutMutation;
+}
+
+export namespace GetCurrentUser {
+  export type Variables = GetCurrentUserQueryVariables;
+  export type Query = GetCurrentUserQuery;
+  export type Me = CurrentUserFragment;
+}
+
+export namespace RequestStarted {
+  export type Variables = RequestStartedMutationVariables;
+  export type Mutation = RequestStartedMutation;
+}
+
+export namespace RequestCompleted {
+  export type Variables = RequestCompletedMutationVariables;
+  export type Mutation = RequestCompletedMutation;
+}
+
+export namespace SetAsLoggedIn {
+  export type Variables = SetAsLoggedInMutationVariables;
+  export type Mutation = SetAsLoggedInMutation;
+  export type SetAsLoggedIn = SetAsLoggedInMutation['setAsLoggedIn'];
+}
+
+export namespace SetAsLoggedOut {
+  export type Variables = SetAsLoggedOutMutationVariables;
+  export type Mutation = SetAsLoggedOutMutation;
+  export type SetAsLoggedOut = SetAsLoggedOutMutation['setAsLoggedOut'];
+}
+
+export namespace SetUiLanguage {
+  export type Variables = SetUiLanguageMutationVariables;
+  export type Mutation = SetUiLanguageMutation;
 }
 
-export namespace Administrator {
-  export type Fragment = {
-    __typename?: "Administrator";
-    
-    id: string;
-    
-    firstName: string;
-    
-    lastName: string;
-    
-    emailAddress: string;
-    
-    user: User;
-  }
-
-  export type User = {
-    __typename?: "User";
-    
-    id: string;
-    
-    identifier: string;
-    
-    lastLogin: Maybe<string>;
-    
-    roles: Roles[];
-  }
-
-  export type Roles = {
-    __typename?: "Role";
-    
-    id: string;
-    
-    code: string;
-    
-    description: string;
-    
-    permissions: Permission[];
-  }
+export namespace GetNetworkStatus {
+  export type Variables = GetNetworkStatusQueryVariables;
+  export type Query = GetNetworkStatusQuery;
+  export type NetworkStatus = GetNetworkStatusQuery['networkStatus'];
 }
 
-export namespace Role {
-  export type Fragment = {
-    __typename?: "Role";
-    
-    id: string;
-    
-    code: string;
-    
-    description: string;
-    
-    permissions: Permission[];
-    
-    channels: Channels[];
-  }
-
-  export type Channels = {
-    __typename?: "Channel";
-    
-    id: string;
-    
-    code: string;
-    
-    token: string;
-  }
+export namespace GetUserStatus {
+  export type Variables = GetUserStatusQueryVariables;
+  export type Query = GetUserStatusQuery;
+  export type UserStatus = GetUserStatusQuery['userStatus'];
 }
 
-export namespace CurrentUser {
-  export type Fragment = {
-    __typename?: "CurrentUser";
-    
-    id: string;
-    
-    identifier: string;
-    
-    channelTokens: string[];
-  }
+export namespace GetUiState {
+  export type Variables = GetUiStateQueryVariables;
+  export type Query = GetUiStateQuery;
+  export type UiState = GetUiStateQuery['uiState'];
+}
+
+export namespace GetCollectionFilters {
+  export type Variables = GetCollectionFiltersQueryVariables;
+  export type Query = GetCollectionFiltersQuery;
+  export type CollectionFilters = ConfigurableOperationFragment;
 }
 
 export namespace Collection {
-  export type Fragment = {
-    __typename?: "Collection";
-    
-    id: string;
-    
-    name: string;
-    
-    description: string;
-    
-    isPrivate: boolean;
-    
-    languageCode: Maybe<LanguageCode>;
-    
-    featuredAsset: Maybe<FeaturedAsset>;
-    
-    assets: Assets[];
-    
-    filters: Filters[];
-    
-    translations: Translations[];
-    
-    parent: Maybe<Parent>;
-    
-    children: Maybe<Children[]>;
-  }
-
-  export type FeaturedAsset =Asset.Fragment
-
-  export type Assets =Asset.Fragment
-
-  export type Filters =ConfigurableOperation.Fragment
-
-  export type Translations = {
-    __typename?: "CollectionTranslation";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-    
-    description: string;
-  }
-
-  export type Parent = {
-    __typename?: "Collection";
-    
-    id: string;
-    
-    name: string;
-  }
-
-  export type Children = {
-    __typename?: "Collection";
-    
-    id: string;
-    
-    name: string;
-  }
+  export type Fragment = CollectionFragment;
+  export type FeaturedAsset = AssetFragment;
+  export type Assets = AssetFragment;
+  export type Filters = ConfigurableOperationFragment;
+  export type Translations = (NonNullable<CollectionFragment['translations'][0]>);
+  export type Parent = (NonNullable<CollectionFragment['parent']>);
+  export type Children = (NonNullable<(NonNullable<CollectionFragment['children']>)[0]>);
+}
+
+export namespace GetCollectionList {
+  export type Variables = GetCollectionListQueryVariables;
+  export type Query = GetCollectionListQuery;
+  export type Collections = GetCollectionListQuery['collections'];
+  export type Items = (NonNullable<GetCollectionListQuery['collections']['items'][0]>);
+  export type FeaturedAsset = AssetFragment;
+  export type Parent = (NonNullable<(NonNullable<GetCollectionListQuery['collections']['items'][0]>)['parent']>);
+}
+
+export namespace GetCollection {
+  export type Variables = GetCollectionQueryVariables;
+  export type Query = GetCollectionQuery;
+  export type Collection = CollectionFragment;
+}
+
+export namespace CreateCollection {
+  export type Variables = CreateCollectionMutationVariables;
+  export type Mutation = CreateCollectionMutation;
+  export type CreateCollection = CollectionFragment;
+}
+
+export namespace UpdateCollection {
+  export type Variables = UpdateCollectionMutationVariables;
+  export type Mutation = UpdateCollectionMutation;
+  export type UpdateCollection = CollectionFragment;
+}
+
+export namespace MoveCollection {
+  export type Variables = MoveCollectionMutationVariables;
+  export type Mutation = MoveCollectionMutation;
+  export type MoveCollection = CollectionFragment;
+}
+
+export namespace GetCollectionContents {
+  export type Variables = GetCollectionContentsQueryVariables;
+  export type Query = GetCollectionContentsQuery;
+  export type Collection = (NonNullable<GetCollectionContentsQuery['collection']>);
+  export type ProductVariants = (NonNullable<GetCollectionContentsQuery['collection']>)['productVariants'];
+  export type Items = (NonNullable<(NonNullable<GetCollectionContentsQuery['collection']>)['productVariants']['items'][0]>);
 }
 
 export namespace Address {
-  export type Fragment = {
-    __typename?: "Address";
-    
-    id: string;
-    
-    fullName: Maybe<string>;
-    
-    company: Maybe<string>;
-    
-    streetLine1: string;
-    
-    streetLine2: Maybe<string>;
-    
-    city: Maybe<string>;
-    
-    province: Maybe<string>;
-    
-    postalCode: Maybe<string>;
-    
-    country: Country;
-    
-    phoneNumber: Maybe<string>;
-    
-    defaultShippingAddress: Maybe<boolean>;
-    
-    defaultBillingAddress: Maybe<boolean>;
-  }
-
-  export type Country = {
-    __typename?: "Country";
-    
-    id: string;
-    
-    code: string;
-    
-    name: string;
-  }
+  export type Fragment = AddressFragment;
+  export type Country = AddressFragment['country'];
 }
 
 export namespace Customer {
-  export type Fragment = {
-    __typename?: "Customer";
-    
-    id: string;
-    
-    title: Maybe<string>;
-    
-    firstName: string;
-    
-    lastName: string;
-    
-    phoneNumber: Maybe<string>;
-    
-    emailAddress: string;
-    
-    user: Maybe<User>;
-    
-    addresses: Maybe<Addresses[]>;
-  }
-
-  export type User = {
-    __typename?: "User";
-    
-    id: string;
-    
-    identifier: string;
-    
-    verified: boolean;
-    
-    lastLogin: Maybe<string>;
-  }
-
-  export type Addresses =Address.Fragment
+  export type Fragment = CustomerFragment;
+  export type User = (NonNullable<CustomerFragment['user']>);
+  export type Addresses = AddressFragment;
 }
 
-export namespace FacetValue {
-  export type Fragment = {
-    __typename?: "FacetValue";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    code: string;
-    
-    name: string;
-    
-    translations: Translations[];
-    
-    facet: Facet;
-  }
-
-  export type Translations = {
-    __typename?: "FacetValueTranslation";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-  }
-
-  export type Facet = {
-    __typename?: "Facet";
-    
-    id: string;
-    
-    name: string;
-  }
+export namespace GetCustomerList {
+  export type Variables = GetCustomerListQueryVariables;
+  export type Query = GetCustomerListQuery;
+  export type Customers = GetCustomerListQuery['customers'];
+  export type Items = (NonNullable<GetCustomerListQuery['customers']['items'][0]>);
+  export type User = (NonNullable<(NonNullable<GetCustomerListQuery['customers']['items'][0]>)['user']>);
 }
 
-export namespace FacetWithValues {
-  export type Fragment = {
-    __typename?: "Facet";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    isPrivate: boolean;
-    
-    code: string;
-    
-    name: string;
-    
-    translations: Translations[];
-    
-    values: Values[];
-  }
-
-  export type Translations = {
-    __typename?: "FacetTranslation";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-  }
-
-  export type Values =FacetValue.Fragment
+export namespace GetCustomer {
+  export type Variables = GetCustomerQueryVariables;
+  export type Query = GetCustomerQuery;
+  export type Customer = CustomerFragment;
+  export type Orders = (NonNullable<GetCustomerQuery['customer']>)['orders'];
+  export type Items = (NonNullable<(NonNullable<GetCustomerQuery['customer']>)['orders']['items'][0]>);
 }
 
-export namespace Adjustment {
-  export type Fragment = {
-    __typename?: "Adjustment";
-    
-    adjustmentSource: string;
-    
-    amount: number;
-    
-    description: string;
-    
-    type: AdjustmentType;
-  }
+export namespace CreateCustomer {
+  export type Variables = CreateCustomerMutationVariables;
+  export type Mutation = CreateCustomerMutation;
+  export type CreateCustomer = CustomerFragment;
 }
 
-export namespace ShippingAddress {
-  export type Fragment = {
-    __typename?: "OrderAddress";
-    
-    fullName: Maybe<string>;
-    
-    company: Maybe<string>;
-    
-    streetLine1: Maybe<string>;
-    
-    streetLine2: Maybe<string>;
-    
-    city: Maybe<string>;
-    
-    province: Maybe<string>;
-    
-    postalCode: Maybe<string>;
-    
-    country: Maybe<string>;
-    
-    phoneNumber: Maybe<string>;
-  }
+export namespace UpdateCustomer {
+  export type Variables = UpdateCustomerMutationVariables;
+  export type Mutation = UpdateCustomerMutation;
+  export type UpdateCustomer = CustomerFragment;
 }
 
-export namespace Order {
-  export type Fragment = {
-    __typename?: "Order";
-    
-    id: string;
-    
-    createdAt: DateTime;
-    
-    updatedAt: DateTime;
-    
-    code: string;
-    
-    state: string;
-    
-    total: number;
-    
-    currencyCode: CurrencyCode;
-    
-    customer: Maybe<Customer>;
-  }
-
-  export type Customer = {
-    __typename?: "Customer";
-    
-    id: string;
-    
-    firstName: string;
-    
-    lastName: string;
-  }
+export namespace CreateCustomerAddress {
+  export type Variables = CreateCustomerAddressMutationVariables;
+  export type Mutation = CreateCustomerAddressMutation;
+  export type CreateCustomerAddress = AddressFragment;
 }
 
-export namespace OrderWithLines {
-  export type Fragment = {
-    __typename?: "Order";
-    
-    id: string;
-    
-    createdAt: DateTime;
-    
-    updatedAt: DateTime;
-    
-    code: string;
-    
-    state: string;
-    
-    active: boolean;
-    
-    customer: Maybe<Customer>;
-    
-    lines: Lines[];
-    
-    adjustments: Adjustments[];
-    
-    subTotal: number;
-    
-    subTotalBeforeTax: number;
-    
-    totalBeforeTax: number;
-    
-    currencyCode: CurrencyCode;
-    
-    shipping: number;
-    
-    shippingMethod: Maybe<ShippingMethod>;
-    
-    shippingAddress: Maybe<ShippingAddress>;
-    
-    payments: Maybe<Payments[]>;
-    
-    total: number;
-  }
-
-  export type Customer = {
-    __typename?: "Customer";
-    
-    id: string;
-    
-    firstName: string;
-    
-    lastName: string;
-  }
-
-  export type Lines = {
-    __typename?: "OrderLine";
-    
-    id: string;
-    
-    featuredAsset: Maybe<FeaturedAsset>;
-    
-    productVariant: ProductVariant;
-    
-    unitPrice: number;
-    
-    unitPriceWithTax: number;
-    
-    quantity: number;
-    
-    items: Items[];
-    
-    totalPrice: number;
-  }
-
-  export type FeaturedAsset = {
-    __typename?: "Asset";
-    
-    preview: string;
-  }
-
-  export type ProductVariant = {
-    __typename?: "ProductVariant";
-    
-    id: string;
-    
-    name: string;
-    
-    sku: string;
-  }
-
-  export type Items = {
-    __typename?: "OrderItem";
-    
-    id: string;
-    
-    unitPrice: number;
-    
-    unitPriceIncludesTax: boolean;
-    
-    unitPriceWithTax: number;
-    
-    taxRate: number;
-  }
-
-  export type Adjustments =Adjustment.Fragment
-
-  export type ShippingMethod = {
-    __typename?: "ShippingMethod";
-    
-    id: string;
-    
-    code: string;
-    
-    description: string;
-  }
-
-  export type ShippingAddress =ShippingAddress.Fragment
-
-  export type Payments = {
-    __typename?: "Payment";
-    
-    id: string;
-    
-    transactionId: Maybe<string>;
-    
-    amount: number;
-    
-    method: string;
-    
-    state: string;
-    
-    metadata: Maybe<Json>;
-  }
+export namespace UpdateCustomerAddress {
+  export type Variables = UpdateCustomerAddressMutationVariables;
+  export type Mutation = UpdateCustomerAddressMutation;
+  export type UpdateCustomerAddress = AddressFragment;
 }
 
-export namespace Asset {
-  export type Fragment = {
-    __typename?: "Asset";
-    
-    id: string;
-    
-    createdAt: DateTime;
-    
-    name: string;
-    
-    fileSize: number;
-    
-    mimeType: string;
-    
-    type: AssetType;
-    
-    preview: string;
-    
-    source: string;
-  }
+export namespace FacetValue {
+  export type Fragment = FacetValueFragment;
+  export type Translations = (NonNullable<FacetValueFragment['translations'][0]>);
+  export type Facet = FacetValueFragment['facet'];
 }
 
-export namespace ProductVariant {
-  export type Fragment = {
-    __typename?: "ProductVariant";
-    
-    id: string;
-    
-    enabled: boolean;
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-    
-    price: number;
-    
-    currencyCode: CurrencyCode;
-    
-    priceIncludesTax: boolean;
-    
-    priceWithTax: number;
-    
-    stockOnHand: number;
-    
-    trackInventory: boolean;
-    
-    taxRateApplied: TaxRateApplied;
-    
-    taxCategory: TaxCategory;
-    
-    sku: string;
-    
-    options: Options[];
-    
-    facetValues: FacetValues[];
-    
-    featuredAsset: Maybe<FeaturedAsset>;
-    
-    assets: Assets[];
-    
-    translations: Translations[];
-  }
-
-  export type TaxRateApplied = {
-    __typename?: "TaxRate";
-    
-    id: string;
-    
-    name: string;
-    
-    value: number;
-  }
-
-  export type TaxCategory = {
-    __typename?: "TaxCategory";
-    
-    id: string;
-    
-    name: string;
-  }
-
-  export type Options = {
-    __typename?: "ProductOption";
-    
-    id: string;
-    
-    code: Maybe<string>;
-    
-    languageCode: Maybe<LanguageCode>;
-    
-    name: Maybe<string>;
-  }
-
-  export type FacetValues = {
-    __typename?: "FacetValue";
-    
-    id: string;
-    
-    code: string;
-    
-    name: string;
-    
-    facet: Facet;
-  }
-
-  export type Facet = {
-    __typename?: "Facet";
-    
-    id: string;
-    
-    name: string;
-  }
-
-  export type FeaturedAsset =Asset.Fragment
-
-  export type Assets =Asset.Fragment
-
-  export type Translations = {
-    __typename?: "ProductVariantTranslation";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-  }
+export namespace FacetWithValues {
+  export type Fragment = FacetWithValuesFragment;
+  export type Translations = (NonNullable<FacetWithValuesFragment['translations'][0]>);
+  export type Values = FacetValueFragment;
 }
 
-export namespace ProductWithVariants {
-  export type Fragment = {
-    __typename?: "Product";
-    
-    id: string;
-    
-    enabled: boolean;
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-    
-    slug: string;
-    
-    description: string;
-    
-    featuredAsset: Maybe<FeaturedAsset>;
-    
-    assets: Assets[];
-    
-    translations: Translations[];
-    
-    optionGroups: OptionGroups[];
-    
-    variants: Variants[];
-    
-    facetValues: FacetValues[];
-  }
-
-  export type FeaturedAsset =Asset.Fragment
-
-  export type Assets =Asset.Fragment
-
-  export type Translations = {
-    __typename?: "ProductTranslation";
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-    
-    slug: string;
-    
-    description: string;
-  }
-
-  export type OptionGroups = {
-    __typename?: "ProductOptionGroup";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    code: string;
-    
-    name: string;
-  }
-
-  export type Variants =ProductVariant.Fragment
-
-  export type FacetValues = {
-    __typename?: "FacetValue";
-    
-    id: string;
-    
-    code: string;
-    
-    name: string;
-    
-    facet: Facet;
-  }
-
-  export type Facet = {
-    __typename?: "Facet";
-    
-    id: string;
-    
-    name: string;
-  }
+export namespace CreateFacet {
+  export type Variables = CreateFacetMutationVariables;
+  export type Mutation = CreateFacetMutation;
+  export type CreateFacet = FacetWithValuesFragment;
 }
 
-export namespace ProductOptionGroup {
-  export type Fragment = {
-    __typename?: "ProductOptionGroup";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    code: string;
-    
-    name: string;
-    
-    translations: Translations[];
-    
-    options: Options[];
-  }
-
-  export type Translations = {
-    __typename?: "ProductOptionGroupTranslation";
-    
-    name: string;
-  }
-
-  export type Options = {
-    __typename?: "ProductOption";
-    
-    id: string;
-    
-    languageCode: Maybe<LanguageCode>;
-    
-    name: Maybe<string>;
-    
-    code: Maybe<string>;
-    
-    translations: _Translations[];
-  }
-
-  export type _Translations = {
-    __typename?: "ProductOptionTranslation";
-    
-    name: string;
-  }
+export namespace UpdateFacet {
+  export type Variables = UpdateFacetMutationVariables;
+  export type Mutation = UpdateFacetMutation;
+  export type UpdateFacet = FacetWithValuesFragment;
 }
 
-export namespace ConfigurableOperation {
-  export type Fragment = {
-    __typename?: "ConfigurableOperation";
-    
-    args: Args[];
-    
-    code: string;
-    
-    description: string;
-  }
-
-  export type Args = {
-    __typename?: "ConfigArg";
-    
-    name: string;
-    
-    type: ConfigArgType;
-    
-    value: Maybe<string>;
-  }
+export namespace DeleteFacet {
+  export type Variables = DeleteFacetMutationVariables;
+  export type Mutation = DeleteFacetMutation;
+  export type DeleteFacet = DeleteFacetMutation['deleteFacet'];
 }
 
-export namespace Promotion {
-  export type Fragment = {
-    __typename?: "Promotion";
-    
-    id: string;
-    
-    createdAt: DateTime;
-    
-    updatedAt: DateTime;
-    
-    name: string;
-    
-    enabled: boolean;
-    
-    conditions: Conditions[];
-    
-    actions: Actions[];
-  }
-
-  export type Conditions =ConfigurableOperation.Fragment
-
-  export type Actions =ConfigurableOperation.Fragment
+export namespace CreateFacetValues {
+  export type Variables = CreateFacetValuesMutationVariables;
+  export type Mutation = CreateFacetValuesMutation;
+  export type CreateFacetValues = FacetValueFragment;
 }
 
-export namespace Country {
-  export type Fragment = {
-    __typename?: "Country";
-    
-    id: string;
-    
-    code: string;
-    
-    name: string;
-    
-    enabled: boolean;
-    
-    translations: Translations[];
-  }
-
-  export type Translations = {
-    __typename?: "CountryTranslation";
-    
-    id: string;
-    
-    languageCode: LanguageCode;
-    
-    name: string;
-  }
+export namespace UpdateFacetValues {
+  export type Variables = UpdateFacetValuesMutationVariables;
+  export type Mutation = UpdateFacetValuesMutation;
+  export type UpdateFacetValues = FacetValueFragment;
 }
 
-export namespace Zone {
-  export type Fragment = {
-    __typename?: "Zone";
-    
-    id: string;
-    
-    name: string;
-    
-    members: Members[];
-  }
+export namespace DeleteFacetValues {
+  export type Variables = DeleteFacetValuesMutationVariables;
+  export type Mutation = DeleteFacetValuesMutation;
+  export type DeleteFacetValues = (NonNullable<DeleteFacetValuesMutation['deleteFacetValues'][0]>);
+}
 
-  export type Members =Country.Fragment
+export namespace GetFacetList {
+  export type Variables = GetFacetListQueryVariables;
+  export type Query = GetFacetListQuery;
+  export type Facets = GetFacetListQuery['facets'];
+  export type Items = FacetWithValuesFragment;
 }
 
-export namespace TaxCategory {
-  export type Fragment = {
-    __typename?: "TaxCategory";
-    
-    id: string;
-    
-    name: string;
-  }
+export namespace GetFacetWithValues {
+  export type Variables = GetFacetWithValuesQueryVariables;
+  export type Query = GetFacetWithValuesQuery;
+  export type Facet = FacetWithValuesFragment;
 }
 
-export namespace TaxRate {
-  export type Fragment = {
-    __typename?: "TaxRate";
-    
-    id: string;
-    
-    name: string;
-    
-    enabled: boolean;
-    
-    value: number;
-    
-    category: Category;
-    
-    zone: Zone;
-    
-    customerGroup: Maybe<CustomerGroup>;
-  }
-
-  export type Category = {
-    __typename?: "TaxCategory";
-    
-    id: string;
-    
-    name: string;
-  }
-
-  export type Zone = {
-    __typename?: "Zone";
-    
-    id: string;
-    
-    name: string;
-  }
-
-  export type CustomerGroup = {
-    __typename?: "CustomerGroup";
-    
-    id: string;
-    
-    name: string;
-  }
+export namespace Adjustment {
+  export type Fragment = AdjustmentFragment;
 }
 
-export namespace Channel {
-  export type Fragment = {
-    __typename?: "Channel";
-    
-    id: string;
-    
-    code: string;
-    
-    token: string;
-    
-    pricesIncludeTax: boolean;
-    
-    currencyCode: CurrencyCode;
-    
-    defaultLanguageCode: LanguageCode;
-    
-    defaultShippingZone: Maybe<DefaultShippingZone>;
-    
-    defaultTaxZone: Maybe<DefaultTaxZone>;
-  }
-
-  export type DefaultShippingZone = {
-    __typename?: "Zone";
-    
-    id: string;
-    
-    name: string;
-  }
-
-  export type DefaultTaxZone = {
-    __typename?: "Zone";
-    
-    id: string;
-    
-    name: string;
-  }
+export namespace ShippingAddress {
+  export type Fragment = ShippingAddressFragment;
 }
 
-export namespace PaymentMethod {
-  export type Fragment = {
-    __typename?: "PaymentMethod";
-    
-    id: string;
-    
-    code: string;
-    
-    enabled: boolean;
-    
-    configArgs: ConfigArgs[];
-  }
-
-  export type ConfigArgs = {
-    __typename?: "ConfigArg";
-    
-    name: string;
-    
-    type: ConfigArgType;
-    
-    value: Maybe<string>;
-  }
+export namespace Order {
+  export type Fragment = OrderFragment;
+  export type Customer = (NonNullable<OrderFragment['customer']>);
 }
 
-export namespace GlobalSettings {
-  export type Fragment = {
-    __typename?: "GlobalSettings";
-    
-    availableLanguages: LanguageCode[];
-    
-    trackInventory: boolean;
-  }
+export namespace OrderWithLines {
+  export type Fragment = OrderWithLinesFragment;
+  export type Customer = (NonNullable<OrderWithLinesFragment['customer']>);
+  export type Lines = (NonNullable<OrderWithLinesFragment['lines'][0]>);
+  export type FeaturedAsset = (NonNullable<(NonNullable<OrderWithLinesFragment['lines'][0]>)['featuredAsset']>);
+  export type ProductVariant = (NonNullable<OrderWithLinesFragment['lines'][0]>)['productVariant'];
+  export type Items = (NonNullable<(NonNullable<OrderWithLinesFragment['lines'][0]>)['items'][0]>);
+  export type Adjustments = AdjustmentFragment;
+  export type ShippingMethod = (NonNullable<OrderWithLinesFragment['shippingMethod']>);
+  export type ShippingAddress = ShippingAddressFragment;
+  export type Payments = (NonNullable<(NonNullable<OrderWithLinesFragment['payments']>)[0]>);
 }
 
-export namespace ShippingMethod {
-  export type Fragment = {
-    __typename?: "ShippingMethod";
-    
-    id: string;
-    
-    createdAt: DateTime;
-    
-    updatedAt: DateTime;
-    
-    code: string;
-    
-    description: string;
-    
-    checker: Checker;
-    
-    calculator: Calculator;
-  }
+export namespace GetOrderList {
+  export type Variables = GetOrderListQueryVariables;
+  export type Query = GetOrderListQuery;
+  export type Orders = GetOrderListQuery['orders'];
+  export type Items = OrderFragment;
+}
 
-  export type Checker =ConfigurableOperation.Fragment
-
-  export type Calculator =ConfigurableOperation.Fragment
-}
-
-
-
-
-// ====================================================
-// Scalars
-// ====================================================
-
-
-
-
-
-// ====================================================
-// Interfaces
-// ====================================================
-
-
-
-export interface PaginatedList {
-  
-  items: Node[];
-  
-  totalItems: number;
-}
-
-
-export interface Node {
-  
-  id: string;
-}
-
-
-export interface StockMovement {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  productVariant: ProductVariant;
-  
-  type: StockMovementType;
-  
-  quantity: number;
-}
-
-
-
-
-// ====================================================
-// Types
-// ====================================================
-
-
-
-export interface Query {
-  
-  administrators: AdministratorList;
-  
-  administrator?: Maybe<Administrator>;
-  
-  assets: AssetList;
-  
-  asset?: Maybe<Asset>;
-  
-  me?: Maybe<CurrentUser>;
-  
-  collections: CollectionList;
-  
-  collection?: Maybe<Collection>;
-  
-  collectionFilters: ConfigurableOperation[];
-  
-  channels: Channel[];
-  
-  channel?: Maybe<Channel>;
-  
-  activeChannel: Channel;
-  
-  customers: CustomerList;
-  
-  customer?: Maybe<Customer>;
-  
-  countries: CountryList;
-  
-  country?: Maybe<Country>;
-  
-  customerGroups: CustomerGroup[];
-  
-  customerGroup?: Maybe<CustomerGroup>;
-  
-  facets: FacetList;
-  
-  facet?: Maybe<Facet>;
-  
-  globalSettings: GlobalSettings;
-  
-  order?: Maybe<Order>;
-  
-  orders: OrderList;
-  
-  paymentMethods: PaymentMethodList;
-  
-  paymentMethod?: Maybe<PaymentMethod>;
-  
-  productOptionGroups: ProductOptionGroup[];
-  
-  productOptionGroup?: Maybe<ProductOptionGroup>;
-  
-  search: SearchResponse;
-  
-  roles: RoleList;
-  
-  role?: Maybe<Role>;
-  
-  products: ProductList;
-  
-  product?: Maybe<Product>;
-  
-  promotion?: Maybe<Promotion>;
-  
-  promotions: PromotionList;
-  
-  adjustmentOperations: AdjustmentOperations;
-  
-  taxCategories: TaxCategory[];
-  
-  taxCategory?: Maybe<TaxCategory>;
-  
-  shippingMethods: ShippingMethodList;
-  
-  shippingMethod?: Maybe<ShippingMethod>;
-  
-  shippingEligibilityCheckers: ConfigurableOperation[];
-  
-  shippingCalculators: ConfigurableOperation[];
-  
-  taxRates: TaxRateList;
-  
-  taxRate?: Maybe<TaxRate>;
-  
-  zones: Zone[];
-  
-  zone?: Maybe<Zone>;
-  
-  temp__?: Maybe<boolean>;
-  
-  networkStatus: NetworkStatus;
-  
-  userStatus: UserStatus;
-  
-  uiState: UiState;
-}
-
-
-export interface AdministratorList extends PaginatedList {
-  
-  items: Administrator[];
-  
-  totalItems: number;
-}
-
-
-export interface Administrator extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  firstName: string;
-  
-  lastName: string;
-  
-  emailAddress: string;
-  
-  user: User;
-}
-
-
-export interface User extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  identifier: string;
-  
-  verified: boolean;
-  
-  roles: Role[];
-  
-  lastLogin?: Maybe<string>;
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface Role extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  code: string;
-  
-  description: string;
-  
-  permissions: Permission[];
-  
-  channels: Channel[];
-}
-
-
-export interface Channel extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  code: string;
-  
-  token: string;
-  
-  defaultTaxZone?: Maybe<Zone>;
-  
-  defaultShippingZone?: Maybe<Zone>;
-  
-  defaultLanguageCode: LanguageCode;
-  
-  currencyCode: CurrencyCode;
-  
-  pricesIncludeTax: boolean;
-}
-
-
-export interface Zone extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  name: string;
-  
-  members: Country[];
-}
-
-
-export interface Country extends Node {
-  
-  id: string;
-  
-  languageCode: LanguageCode;
-  
-  code: string;
-  
-  name: string;
-  
-  enabled: boolean;
-  
-  translations: CountryTranslation[];
-}
-
-
-export interface CountryTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-}
-
-
-export interface AssetList extends PaginatedList {
-  
-  items: Asset[];
-  
-  totalItems: number;
-}
-
-
-export interface Asset extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  name: string;
-  
-  type: AssetType;
-  
-  fileSize: number;
-  
-  mimeType: string;
-  
-  source: string;
-  
-  preview: string;
-}
-
-
-export interface CurrentUser {
-  
-  id: string;
-  
-  identifier: string;
-  
-  channelTokens: string[];
-}
-
-
-export interface CollectionList extends PaginatedList {
-  
-  items: Collection[];
-  
-  totalItems: number;
-}
-
-
-export interface Collection extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode?: Maybe<LanguageCode>;
-  
-  name: string;
-  
-  breadcrumbs: CollectionBreadcrumb[];
-  
-  position: number;
-  
-  description: string;
-  
-  featuredAsset?: Maybe<Asset>;
-  
-  assets: Asset[];
-  
-  parent?: Maybe<Collection>;
-  
-  children?: Maybe<Collection[]>;
-  
-  filters: ConfigurableOperation[];
-  
-  translations: CollectionTranslation[];
-  
-  productVariants: ProductVariantList;
-  
-  isPrivate: boolean;
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface CollectionBreadcrumb {
-  
-  id: string;
-  
-  name: string;
-}
-
-
-export interface ConfigurableOperation {
-  
-  code: string;
-  
-  args: ConfigArg[];
-  
-  description: string;
-}
-
-
-export interface ConfigArg {
-  
-  name: string;
-  
-  type: ConfigArgType;
-  
-  value?: Maybe<string>;
-}
-
-
-export interface CollectionTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-  
-  description: string;
-}
-
-
-export interface ProductVariantList extends PaginatedList {
-  
-  items: ProductVariant[];
-  
-  totalItems: number;
-}
-
-
-export interface ProductVariant extends Node {
-  
-  id: string;
-  
-  productId: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  sku: string;
-  
-  name: string;
-  
-  featuredAsset?: Maybe<Asset>;
-  
-  assets: Asset[];
-  
-  price: number;
-  
-  currencyCode: CurrencyCode;
-  
-  priceIncludesTax: boolean;
-  
-  priceWithTax: number;
-  
-  taxRateApplied: TaxRate;
-  
-  taxCategory: TaxCategory;
-  
-  options: ProductOption[];
-  
-  facetValues: FacetValue[];
-  
-  translations: ProductVariantTranslation[];
-  
-  enabled: boolean;
-  
-  stockOnHand: number;
-  
-  trackInventory: boolean;
-  
-  stockMovements: StockMovementList;
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface TaxRate extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  name: string;
-  
-  enabled: boolean;
-  
-  value: number;
-  
-  category: TaxCategory;
-  
-  zone: Zone;
-  
-  customerGroup?: Maybe<CustomerGroup>;
-}
-
-
-export interface TaxCategory extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  name: string;
-}
-
-
-export interface CustomerGroup extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  name: string;
-}
-
-
-export interface ProductOption extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode?: Maybe<LanguageCode>;
-  
-  code?: Maybe<string>;
-  
-  name?: Maybe<string>;
-  
-  translations: ProductOptionTranslation[];
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface ProductOptionTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-}
-
-
-export interface FacetValue extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  facet: Facet;
-  
-  name: string;
-  
-  code: string;
-  
-  translations: FacetValueTranslation[];
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface Facet extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-  
-  code: string;
-  
-  values: FacetValue[];
-  
-  translations: FacetTranslation[];
-  
-  isPrivate: boolean;
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface FacetTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-}
-
-
-export interface FacetValueTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-}
-
-
-export interface ProductVariantTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-}
-
-
-export interface StockMovementList {
-  
-  items: StockMovementItem[];
-  
-  totalItems: number;
-}
-
-
-export interface StockAdjustment extends Node,StockMovement {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  productVariant: ProductVariant;
-  
-  type: StockMovementType;
-  
-  quantity: number;
-}
-
-
-export interface Sale extends Node,StockMovement {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  productVariant: ProductVariant;
-  
-  type: StockMovementType;
-  
-  quantity: number;
-  
-  orderLine: OrderLine;
-}
-
-
-export interface OrderLine extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  productVariant: ProductVariant;
-  
-  featuredAsset?: Maybe<Asset>;
-  
-  unitPrice: number;
-  
-  unitPriceWithTax: number;
-  
-  quantity: number;
-  
-  items: OrderItem[];
-  
-  totalPrice: number;
-  
-  adjustments: Adjustment[];
-  
-  order: Order;
-}
-
-
-export interface OrderItem extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  unitPrice: number;
-  
-  unitPriceWithTax: number;
-  
-  unitPriceIncludesTax: boolean;
-  
-  taxRate: number;
-  
-  adjustments: Adjustment[];
-}
-
-
-export interface Adjustment {
-  
-  adjustmentSource: string;
-  
-  type: AdjustmentType;
-  
-  description: string;
-  
-  amount: number;
-}
-
-
-export interface Order extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  code: string;
-  
-  state: string;
-  
-  active: boolean;
-  
-  customer?: Maybe<Customer>;
-  
-  shippingAddress?: Maybe<OrderAddress>;
-  
-  billingAddress?: Maybe<OrderAddress>;
-  
-  lines: OrderLine[];
-  
-  adjustments: Adjustment[];
-  
-  payments?: Maybe<Payment[]>;
-  
-  subTotalBeforeTax: number;
-  
-  subTotal: number;
-  
-  currencyCode: CurrencyCode;
-  
-  shipping: number;
-  
-  shippingMethod?: Maybe<ShippingMethod>;
-  
-  totalBeforeTax: number;
-  
-  total: number;
-}
-
-
-export interface Customer extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  title?: Maybe<string>;
-  
-  firstName: string;
-  
-  lastName: string;
-  
-  phoneNumber?: Maybe<string>;
-  
-  emailAddress: string;
-  
-  addresses?: Maybe<Address[]>;
-  
-  orders: OrderList;
-  
-  user?: Maybe<User>;
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface Address extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  fullName?: Maybe<string>;
-  
-  company?: Maybe<string>;
-  
-  streetLine1: string;
-  
-  streetLine2?: Maybe<string>;
-  
-  city?: Maybe<string>;
-  
-  province?: Maybe<string>;
-  
-  postalCode?: Maybe<string>;
-  
-  country: Country;
-  
-  phoneNumber?: Maybe<string>;
-  
-  defaultShippingAddress?: Maybe<boolean>;
-  
-  defaultBillingAddress?: Maybe<boolean>;
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface OrderList extends PaginatedList {
-  
-  items: Order[];
-  
-  totalItems: number;
-}
-
-
-export interface OrderAddress {
-  
-  fullName?: Maybe<string>;
-  
-  company?: Maybe<string>;
-  
-  streetLine1?: Maybe<string>;
-  
-  streetLine2?: Maybe<string>;
-  
-  city?: Maybe<string>;
-  
-  province?: Maybe<string>;
-  
-  postalCode?: Maybe<string>;
-  
-  country?: Maybe<string>;
-  
-  countryCode?: Maybe<string>;
-  
-  phoneNumber?: Maybe<string>;
-}
-
-
-export interface Payment extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  method: string;
-  
-  amount: number;
-  
-  state: string;
-  
-  transactionId?: Maybe<string>;
-  
-  metadata?: Maybe<Json>;
-}
-
-
-export interface ShippingMethod extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  code: string;
-  
-  description: string;
-  
-  checker: ConfigurableOperation;
-  
-  calculator: ConfigurableOperation;
-}
-
-
-export interface Cancellation extends Node,StockMovement {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  productVariant: ProductVariant;
-  
-  type: StockMovementType;
-  
-  quantity: number;
-  
-  orderLine: OrderLine;
-}
-
-
-export interface Return extends Node,StockMovement {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  productVariant: ProductVariant;
-  
-  type: StockMovementType;
-  
-  quantity: number;
-  
-  orderItem: OrderItem;
-}
-
-
-export interface CustomerList extends PaginatedList {
-  
-  items: Customer[];
-  
-  totalItems: number;
-}
-
-
-export interface CountryList extends PaginatedList {
-  
-  items: Country[];
-  
-  totalItems: number;
-}
-
-
-export interface FacetList extends PaginatedList {
-  
-  items: Facet[];
-  
-  totalItems: number;
-}
-
-
-export interface GlobalSettings {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  availableLanguages: LanguageCode[];
-  
-  trackInventory: boolean;
-  
-  serverConfig: ServerConfig;
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface ServerConfig {
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface PaymentMethodList extends PaginatedList {
-  
-  items: PaymentMethod[];
-  
-  totalItems: number;
-}
-
-
-export interface PaymentMethod extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  code: string;
-  
-  enabled: boolean;
-  
-  configArgs: ConfigArg[];
-}
-
-
-export interface ProductOptionGroup extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  code: string;
-  
-  name: string;
-  
-  options: ProductOption[];
-  
-  translations: ProductOptionGroupTranslation[];
-  
-  customFields?: Maybe<Json>;
-}
-
-
-export interface ProductOptionGroupTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-}
-
-
-export interface SearchResponse {
-  
-  items: SearchResult[];
-  
-  totalItems: number;
-  
-  facetValues: FacetValueResult[];
-}
-
-
-export interface SearchResult {
-  
-  sku: string;
-  
-  slug: string;
-  
-  productId: string;
-  
-  productName: string;
-  
-  productPreview: string;
-  
-  productVariantId: string;
-  
-  productVariantName: string;
-  
-  productVariantPreview: string;
-  
-  price: SearchResultPrice;
-  
-  priceWithTax: SearchResultPrice;
-  
-  currencyCode: CurrencyCode;
-  
-  description: string;
-  
-  facetIds: string[];
-  
-  facetValueIds: string[];
-  /** An array of ids of the Collections in which this result appears */
-  collectionIds: string[];
-  /** A relevence score for the result. Differs between database implementations */
-  score: number;
-  
-  enabled: boolean;
+export namespace GetOrder {
+  export type Variables = GetOrderQueryVariables;
+  export type Query = GetOrderQuery;
+  export type Order = OrderWithLinesFragment;
 }
 
-/** The price range where the result has more than one price */
-export interface PriceRange {
-  
-  min: number;
-  
-  max: number;
+export namespace Asset {
+  export type Fragment = AssetFragment;
 }
 
-/** The price value where the result has a single price */
-export interface SinglePrice {
-  
-  value: number;
-}
-
-/** Which FacetValues are present in the products returned by the search, and in what quantity. */
-export interface FacetValueResult {
-  
-  facetValue: FacetValue;
-  
-  count: number;
-}
-
-
-export interface RoleList extends PaginatedList {
-  
-  items: Role[];
-  
-  totalItems: number;
-}
-
-
-export interface ProductList extends PaginatedList {
-  
-  items: Product[];
-  
-  totalItems: number;
-}
-
-
-export interface Product extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-  
-  slug: string;
-  
-  description: string;
-  
-  featuredAsset?: Maybe<Asset>;
-  
-  assets: Asset[];
-  
-  variants: ProductVariant[];
-  
-  optionGroups: ProductOptionGroup[];
-  
-  facetValues: FacetValue[];
-  
-  translations: ProductTranslation[];
-  
-  collections: Collection[];
-  
-  enabled: boolean;
-  
-  customFields?: Maybe<Json>;
+export namespace ProductVariant {
+  export type Fragment = ProductVariantFragment;
+  export type TaxRateApplied = ProductVariantFragment['taxRateApplied'];
+  export type TaxCategory = ProductVariantFragment['taxCategory'];
+  export type Options = (NonNullable<ProductVariantFragment['options'][0]>);
+  export type FacetValues = (NonNullable<ProductVariantFragment['facetValues'][0]>);
+  export type Facet = (NonNullable<ProductVariantFragment['facetValues'][0]>)['facet'];
+  export type FeaturedAsset = AssetFragment;
+  export type Assets = AssetFragment;
+  export type Translations = (NonNullable<ProductVariantFragment['translations'][0]>);
 }
 
+export namespace ProductWithVariants {
+  export type Fragment = ProductWithVariantsFragment;
+  export type FeaturedAsset = AssetFragment;
+  export type Assets = AssetFragment;
+  export type Translations = (NonNullable<ProductWithVariantsFragment['translations'][0]>);
+  export type OptionGroups = (NonNullable<ProductWithVariantsFragment['optionGroups'][0]>);
+  export type Variants = ProductVariantFragment;
+  export type FacetValues = (NonNullable<ProductWithVariantsFragment['facetValues'][0]>);
+  export type Facet = (NonNullable<ProductWithVariantsFragment['facetValues'][0]>)['facet'];
+}
 
-export interface ProductTranslation {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  languageCode: LanguageCode;
-  
-  name: string;
-  
-  slug: string;
-  
-  description: string;
+export namespace ProductOptionGroup {
+  export type Fragment = ProductOptionGroupFragment;
+  export type Translations = (NonNullable<ProductOptionGroupFragment['translations'][0]>);
+  export type Options = (NonNullable<ProductOptionGroupFragment['options'][0]>);
+  export type _Translations = (NonNullable<(NonNullable<ProductOptionGroupFragment['options'][0]>)['translations'][0]>);
 }
 
+export namespace UpdateProduct {
+  export type Variables = UpdateProductMutationVariables;
+  export type Mutation = UpdateProductMutation;
+  export type UpdateProduct = ProductWithVariantsFragment;
+}
 
-export interface Promotion extends Node {
-  
-  id: string;
-  
-  createdAt: DateTime;
-  
-  updatedAt: DateTime;
-  
-  name: string;
-  
-  enabled: boolean;
-  
-  conditions: ConfigurableOperation[];
-  
-  actions: ConfigurableOperation[];
+export namespace CreateProduct {
+  export type Variables = CreateProductMutationVariables;
+  export type Mutation = CreateProductMutation;
+  export type CreateProduct = ProductWithVariantsFragment;
 }
 
+export namespace DeleteProduct {
+  export type Variables = DeleteProductMutationVariables;
+  export type Mutation = DeleteProductMutation;
+  export type DeleteProduct = DeleteProductMutation['deleteProduct'];
+}
 
-export interface PromotionList extends PaginatedList {
-  
-  items: Promotion[];
-  
-  totalItems: number;
+export namespace GenerateProductVariants {
+  export type Variables = GenerateProductVariantsMutationVariables;
+  export type Mutation = GenerateProductVariantsMutation;
+  export type GenerateVariantsForProduct = ProductWithVariantsFragment;
 }
 
+export namespace UpdateProductVariants {
+  export type Variables = UpdateProductVariantsMutationVariables;
+  export type Mutation = UpdateProductVariantsMutation;
+  export type UpdateProductVariants = ProductVariantFragment;
+}
 
-export interface AdjustmentOperations {
-  
-  conditions: ConfigurableOperation[];
-  
-  actions: ConfigurableOperation[];
+export namespace CreateProductOptionGroup {
+  export type Variables = CreateProductOptionGroupMutationVariables;
+  export type Mutation = CreateProductOptionGroupMutation;
+  export type CreateProductOptionGroup = ProductOptionGroupFragment;
 }
 
+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 interface ShippingMethodList extends PaginatedList {
-  
-  items: ShippingMethod[];
-  
-  totalItems: number;
+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 Options = (NonNullable<(NonNullable<RemoveOptionGroupFromProductMutation['removeOptionGroupFromProduct']['optionGroups'][0]>)['options'][0]>);
 }
 
+export namespace GetProductWithVariants {
+  export type Variables = GetProductWithVariantsQueryVariables;
+  export type Query = GetProductWithVariantsQuery;
+  export type Product = ProductWithVariantsFragment;
+}
 
-export interface TaxRateList extends PaginatedList {
-  
-  items: TaxRate[];
-  
-  totalItems: number;
-}
-
-
-export interface NetworkStatus {
-  
-  inFlightRequests: number;
+export namespace GetProductList {
+  export type Variables = GetProductListQueryVariables;
+  export type Query = GetProductListQuery;
+  export type Products = GetProductListQuery['products'];
+  export type Items = (NonNullable<GetProductListQuery['products']['items'][0]>);
+  export type FeaturedAsset = (NonNullable<(NonNullable<GetProductListQuery['products']['items'][0]>)['featuredAsset']>);
 }
 
+export namespace GetProductOptionGroups {
+  export type Variables = GetProductOptionGroupsQueryVariables;
+  export type Query = GetProductOptionGroupsQuery;
+  export type ProductOptionGroups = (NonNullable<GetProductOptionGroupsQuery['productOptionGroups'][0]>);
+  export type Options = (NonNullable<(NonNullable<GetProductOptionGroupsQuery['productOptionGroups'][0]>)['options'][0]>);
+}
 
-export interface UserStatus {
-  
-  username: string;
-  
-  isLoggedIn: boolean;
-  
-  loginTime: string;
+export namespace GetAssetList {
+  export type Variables = GetAssetListQueryVariables;
+  export type Query = GetAssetListQuery;
+  export type Assets = GetAssetListQuery['assets'];
+  export type Items = AssetFragment;
 }
 
+export namespace CreateAssets {
+  export type Variables = CreateAssetsMutationVariables;
+  export type Mutation = CreateAssetsMutation;
+  export type CreateAssets = AssetFragment;
+}
 
-export interface UiState {
-  
-  language: LanguageCode;
+export namespace SearchProducts {
+  export type Variables = SearchProductsQueryVariables;
+  export type Query = SearchProductsQuery;
+  export type Search = SearchProductsQuery['search'];
+  export type Items = (NonNullable<SearchProductsQuery['search']['items'][0]>);
 }
 
+export namespace ConfigurableOperation {
+  export type Fragment = ConfigurableOperationFragment;
+  export type Args = (NonNullable<ConfigurableOperationFragment['args'][0]>);
+}
 
-export interface Mutation {
-  /** Create a new Administrator */
-  createAdministrator: Administrator;
-  /** Update an existing Administrator */
-  updateAdministrator: Administrator;
-  /** Assign a Role to an Administrator */
-  assignRoleToAdministrator: Administrator;
-  /** Create a new Asset */
-  createAssets: Asset[];
-  
-  login: LoginResult;
-  
-  logout: boolean;
-  /** Create a new Collection */
-  createCollection: Collection;
-  /** Update an existing Collection */
-  updateCollection: Collection;
-  /** Move a Collection to a different parent or index */
-  moveCollection: Collection;
-  /** Create a new Channel */
-  createChannel: Channel;
-  /** Update an existing Channel */
-  updateChannel: Channel;
-  /** Create a new Customer. If a password is provided, a new User will also be created an linked to the Customer. */
-  createCustomer: Customer;
-  /** Update an existing Customer */
-  updateCustomer: Customer;
-  /** Delete a Customer */
-  deleteCustomer: DeletionResponse;
-  /** Create a new Address and associate it with the Customer specified by customerId */
-  createCustomerAddress: Address;
-  /** Update an existing Address */
-  updateCustomerAddress: Address;
-  /** Update an existing Address */
-  deleteCustomerAddress: boolean;
-  /** Create a new Country */
-  createCountry: Country;
-  /** Update an existing Country */
-  updateCountry: Country;
-  /** Delete a Country */
-  deleteCountry: DeletionResponse;
-  /** Create a new CustomerGroup */
-  createCustomerGroup: CustomerGroup;
-  /** Update an existing CustomerGroup */
-  updateCustomerGroup: CustomerGroup;
-  /** Add Customers to a CustomerGroup */
-  addCustomersToGroup: CustomerGroup;
-  /** Remove Customers from a CustomerGroup */
-  removeCustomersFromGroup: CustomerGroup;
-  /** Create a new Facet */
-  createFacet: Facet;
-  /** Update an existing Facet */
-  updateFacet: Facet;
-  /** Delete an existing Facet */
-  deleteFacet: DeletionResponse;
-  /** Create one or more FacetValues */
-  createFacetValues: FacetValue[];
-  /** Update one or more FacetValues */
-  updateFacetValues: FacetValue[];
-  /** Delete one or more FacetValues */
-  deleteFacetValues: DeletionResponse[];
-  
-  updateGlobalSettings: GlobalSettings;
-  
-  importProducts?: Maybe<ImportInfo>;
-  /** Update an existing PaymentMethod */
-  updatePaymentMethod: PaymentMethod;
-  /** Create a new ProductOptionGroup */
-  createProductOptionGroup: ProductOptionGroup;
-  /** Update an existing ProductOptionGroup */
-  updateProductOptionGroup: ProductOptionGroup;
-  
-  reindex: SearchReindexResponse;
-  /** Create a new Role */
-  createRole: Role;
-  /** Update an existing Role */
-  updateRole: Role;
-  /** Create a new Product */
-  createProduct: Product;
-  /** Update an existing Product */
-  updateProduct: Product;
-  /** Delete a Product */
-  deleteProduct: DeletionResponse;
-  /** Add an OptionGroup to a Product */
-  addOptionGroupToProduct: Product;
-  /** Remove an OptionGroup from a Product */
-  removeOptionGroupFromProduct: Product;
-  /** Create a set of ProductVariants based on the OptionGroups assigned to the given Product */
-  generateVariantsForProduct: Product;
-  /** Update existing ProductVariants */
-  updateProductVariants: (Maybe<ProductVariant>)[];
-  
-  createPromotion: Promotion;
-  
-  updatePromotion: Promotion;
-  
-  deletePromotion: DeletionResponse;
-  /** Create a new TaxCategory */
-  createTaxCategory: TaxCategory;
-  /** Update an existing TaxCategory */
-  updateTaxCategory: TaxCategory;
-  /** Create a new ShippingMethod */
-  createShippingMethod: ShippingMethod;
-  /** Update an existing ShippingMethod */
-  updateShippingMethod: ShippingMethod;
-  /** Create a new TaxRate */
-  createTaxRate: TaxRate;
-  /** Update an existing TaxRate */
-  updateTaxRate: TaxRate;
-  /** Create a new Zone */
-  createZone: Zone;
-  /** Update an existing Zone */
-  updateZone: Zone;
-  /** Delete a Zone */
-  deleteZone: DeletionResponse;
-  /** Add members to a Zone */
-  addMembersToZone: Zone;
-  /** Remove members from a Zone */
-  removeMembersFromZone: Zone;
-  
-  requestStarted: number;
-  
-  requestCompleted: number;
-  
-  setAsLoggedIn: UserStatus;
-  
-  setAsLoggedOut: UserStatus;
-  
-  setUiLanguage?: Maybe<LanguageCode>;
+export namespace Promotion {
+  export type Fragment = PromotionFragment;
+  export type Conditions = ConfigurableOperationFragment;
+  export type Actions = ConfigurableOperationFragment;
+}
+
+export namespace GetPromotionList {
+  export type Variables = GetPromotionListQueryVariables;
+  export type Query = GetPromotionListQuery;
+  export type Promotions = GetPromotionListQuery['promotions'];
+  export type Items = PromotionFragment;
 }
 
+export namespace GetPromotion {
+  export type Variables = GetPromotionQueryVariables;
+  export type Query = GetPromotionQuery;
+  export type Promotion = PromotionFragment;
+}
+
+export namespace GetAdjustmentOperations {
+  export type Variables = GetAdjustmentOperationsQueryVariables;
+  export type Query = GetAdjustmentOperationsQuery;
+  export type AdjustmentOperations = GetAdjustmentOperationsQuery['adjustmentOperations'];
+  export type Actions = ConfigurableOperationFragment;
+  export type Conditions = ConfigurableOperationFragment;
+}
+
+export namespace CreatePromotion {
+  export type Variables = CreatePromotionMutationVariables;
+  export type Mutation = CreatePromotionMutation;
+  export type CreatePromotion = PromotionFragment;
+}
 
-export interface LoginResult {
-  
-  user: CurrentUser;
+export namespace UpdatePromotion {
+  export type Variables = UpdatePromotionMutationVariables;
+  export type Mutation = UpdatePromotionMutation;
+  export type UpdatePromotion = PromotionFragment;
+}
+
+export namespace Country {
+  export type Fragment = CountryFragment;
+  export type Translations = (NonNullable<CountryFragment['translations'][0]>);
 }
 
+export namespace GetCountryList {
+  export type Variables = GetCountryListQueryVariables;
+  export type Query = GetCountryListQuery;
+  export type Countries = GetCountryListQuery['countries'];
+  export type Items = (NonNullable<GetCountryListQuery['countries']['items'][0]>);
+}
 
-export interface DeletionResponse {
-  
-  result: DeletionResult;
-  
-  message?: Maybe<string>;
+export namespace GetAvailableCountries {
+  export type Variables = GetAvailableCountriesQueryVariables;
+  export type Query = GetAvailableCountriesQuery;
+  export type Countries = GetAvailableCountriesQuery['countries'];
+  export type Items = (NonNullable<GetAvailableCountriesQuery['countries']['items'][0]>);
 }
 
+export namespace GetCountry {
+  export type Variables = GetCountryQueryVariables;
+  export type Query = GetCountryQuery;
+  export type Country = CountryFragment;
+}
 
-export interface ImportInfo {
-  
-  errors?: Maybe<string[]>;
-  
-  processed: number;
-  
-  imported: number;
+export namespace CreateCountry {
+  export type Variables = CreateCountryMutationVariables;
+  export type Mutation = CreateCountryMutation;
+  export type CreateCountry = CountryFragment;
 }
 
+export namespace UpdateCountry {
+  export type Variables = UpdateCountryMutationVariables;
+  export type Mutation = UpdateCountryMutation;
+  export type UpdateCountry = CountryFragment;
+}
 
-export interface SearchReindexResponse {
-  
-  success: boolean;
-  
-  timeTaken: number;
-  
-  indexedItemCount: number;
+export namespace DeleteCountry {
+  export type Variables = DeleteCountryMutationVariables;
+  export type Mutation = DeleteCountryMutation;
+  export type DeleteCountry = DeleteCountryMutation['deleteCountry'];
 }
 
+export namespace Zone {
+  export type Fragment = ZoneFragment;
+  export type Members = CountryFragment;
+}
 
-export interface ShippingMethodQuote {
-  
-  id: string;
-  
-  price: number;
-  
-  description: string;
+export namespace GetZones {
+  export type Variables = GetZonesQueryVariables;
+  export type Query = GetZonesQuery;
+  export type Zones = (NonNullable<GetZonesQuery['zones'][0]>);
+  export type Members = (NonNullable<(NonNullable<GetZonesQuery['zones'][0]>)['members'][0]>);
 }
 
+export namespace GetZone {
+  export type Variables = GetZoneQueryVariables;
+  export type Query = GetZoneQuery;
+  export type Zone = ZoneFragment;
+}
 
+export namespace CreateZone {
+  export type Variables = CreateZoneMutationVariables;
+  export type Mutation = CreateZoneMutation;
+  export type CreateZone = ZoneFragment;
+}
 
-// ====================================================
-// Arguments
-// ====================================================
+export namespace UpdateZone {
+  export type Variables = UpdateZoneMutationVariables;
+  export type Mutation = UpdateZoneMutation;
+  export type UpdateZone = ZoneFragment;
+}
 
-export interface AdministratorsQueryArgs {
-  
-  options?: Maybe<AdministratorListOptions>;
+export namespace AddMembersToZone {
+  export type Variables = AddMembersToZoneMutationVariables;
+  export type Mutation = AddMembersToZoneMutation;
+  export type AddMembersToZone = ZoneFragment;
 }
-export interface AdministratorQueryArgs {
-  
-  id: string;
+
+export namespace RemoveMembersFromZone {
+  export type Variables = RemoveMembersFromZoneMutationVariables;
+  export type Mutation = RemoveMembersFromZoneMutation;
+  export type RemoveMembersFromZone = ZoneFragment;
 }
-export interface AssetsQueryArgs {
-  
-  options?: Maybe<AssetListOptions>;
+
+export namespace TaxCategory {
+  export type Fragment = TaxCategoryFragment;
 }
-export interface AssetQueryArgs {
-  
-  id: string;
+
+export namespace GetTaxCategories {
+  export type Variables = GetTaxCategoriesQueryVariables;
+  export type Query = GetTaxCategoriesQuery;
+  export type TaxCategories = TaxCategoryFragment;
 }
-export interface CollectionsQueryArgs {
-  
-  languageCode?: Maybe<LanguageCode>;
-  
-  options?: Maybe<CollectionListOptions>;
+
+export namespace GetTaxCategory {
+  export type Variables = GetTaxCategoryQueryVariables;
+  export type Query = GetTaxCategoryQuery;
+  export type TaxCategory = TaxCategoryFragment;
 }
-export interface CollectionQueryArgs {
-  
-  id: string;
-  
-  languageCode?: Maybe<LanguageCode>;
+
+export namespace CreateTaxCategory {
+  export type Variables = CreateTaxCategoryMutationVariables;
+  export type Mutation = CreateTaxCategoryMutation;
+  export type CreateTaxCategory = TaxCategoryFragment;
 }
-export interface ChannelQueryArgs {
-  
-  id: string;
+
+export namespace UpdateTaxCategory {
+  export type Variables = UpdateTaxCategoryMutationVariables;
+  export type Mutation = UpdateTaxCategoryMutation;
+  export type UpdateTaxCategory = TaxCategoryFragment;
 }
-export interface CustomersQueryArgs {
-  
-  options?: Maybe<CustomerListOptions>;
+
+export namespace TaxRate {
+  export type Fragment = TaxRateFragment;
+  export type Category = TaxRateFragment['category'];
+  export type Zone = TaxRateFragment['zone'];
+  export type CustomerGroup = (NonNullable<TaxRateFragment['customerGroup']>);
 }
-export interface CustomerQueryArgs {
-  
-  id: string;
+
+export namespace GetTaxRateList {
+  export type Variables = GetTaxRateListQueryVariables;
+  export type Query = GetTaxRateListQuery;
+  export type TaxRates = GetTaxRateListQuery['taxRates'];
+  export type Items = TaxRateFragment;
 }
-export interface CountriesQueryArgs {
-  
-  options?: Maybe<CountryListOptions>;
+
+export namespace GetTaxRate {
+  export type Variables = GetTaxRateQueryVariables;
+  export type Query = GetTaxRateQuery;
+  export type TaxRate = TaxRateFragment;
 }
-export interface CountryQueryArgs {
-  
-  id: string;
+
+export namespace CreateTaxRate {
+  export type Variables = CreateTaxRateMutationVariables;
+  export type Mutation = CreateTaxRateMutation;
+  export type CreateTaxRate = TaxRateFragment;
 }
-export interface CustomerGroupQueryArgs {
-  
-  id: string;
+
+export namespace UpdateTaxRate {
+  export type Variables = UpdateTaxRateMutationVariables;
+  export type Mutation = UpdateTaxRateMutation;
+  export type UpdateTaxRate = TaxRateFragment;
 }
-export interface FacetsQueryArgs {
-  
-  languageCode?: Maybe<LanguageCode>;
-  
-  options?: Maybe<FacetListOptions>;
-}
-export interface FacetQueryArgs {
-  
-  id: string;
-  
-  languageCode?: Maybe<LanguageCode>;
+
+export namespace Channel {
+  export type Fragment = ChannelFragment;
+  export type DefaultShippingZone = (NonNullable<ChannelFragment['defaultShippingZone']>);
+  export type DefaultTaxZone = (NonNullable<ChannelFragment['defaultTaxZone']>);
 }
-export interface OrderQueryArgs {
-  
-  id: string;
-}
-export interface OrdersQueryArgs {
-  
-  options?: Maybe<OrderListOptions>;
-}
-export interface PaymentMethodsQueryArgs {
-  
-  options?: Maybe<PaymentMethodListOptions>;
-}
-export interface PaymentMethodQueryArgs {
-  
-  id: string;
-}
-export interface ProductOptionGroupsQueryArgs {
-  
-  languageCode?: Maybe<LanguageCode>;
-  
-  filterTerm?: Maybe<string>;
-}
-export interface ProductOptionGroupQueryArgs {
-  
-  id: string;
-  
-  languageCode?: Maybe<LanguageCode>;
-}
-export interface SearchQueryArgs {
-  
-  input: SearchInput;
-}
-export interface RolesQueryArgs {
-  
-  options?: Maybe<RoleListOptions>;
-}
-export interface RoleQueryArgs {
-  
-  id: string;
-}
-export interface ProductsQueryArgs {
-  
-  languageCode?: Maybe<LanguageCode>;
-  
-  options?: Maybe<ProductListOptions>;
-}
-export interface ProductQueryArgs {
-  
-  id: string;
-  
-  languageCode?: Maybe<LanguageCode>;
-}
-export interface PromotionQueryArgs {
-  
-  id: string;
-}
-export interface PromotionsQueryArgs {
-  
-  options?: Maybe<PromotionListOptions>;
-}
-export interface TaxCategoryQueryArgs {
-  
-  id: string;
-}
-export interface ShippingMethodsQueryArgs {
-  
-  options?: Maybe<ShippingMethodListOptions>;
-}
-export interface ShippingMethodQueryArgs {
-  
-  id: string;
-}
-export interface TaxRatesQueryArgs {
-  
-  options?: Maybe<TaxRateListOptions>;
-}
-export interface TaxRateQueryArgs {
-  
-  id: string;
-}
-export interface ZoneQueryArgs {
-  
-  id: string;
-}
-export interface ProductVariantsCollectionArgs {
-  
-  options?: Maybe<ProductVariantListOptions>;
-}
-export interface StockMovementsProductVariantArgs {
-  
-  options?: Maybe<StockMovementListOptions>;
-}
-export interface OrdersCustomerArgs {
-  
-  options?: Maybe<OrderListOptions>;
-}
-export interface CreateAdministratorMutationArgs {
-  
-  input: CreateAdministratorInput;
-}
-export interface UpdateAdministratorMutationArgs {
-  
-  input: UpdateAdministratorInput;
-}
-export interface AssignRoleToAdministratorMutationArgs {
-  
-  administratorId: string;
-  
-  roleId: string;
-}
-export interface CreateAssetsMutationArgs {
-  
-  input: CreateAssetInput[];
-}
-export interface LoginMutationArgs {
-  
-  username: string;
-  
-  password: string;
-  
-  rememberMe?: Maybe<boolean>;
-}
-export interface CreateCollectionMutationArgs {
-  
-  input: CreateCollectionInput;
-}
-export interface UpdateCollectionMutationArgs {
-  
-  input: UpdateCollectionInput;
-}
-export interface MoveCollectionMutationArgs {
-  
-  input: MoveCollectionInput;
-}
-export interface CreateChannelMutationArgs {
-  
-  input: CreateChannelInput;
-}
-export interface UpdateChannelMutationArgs {
-  
-  input: UpdateChannelInput;
-}
-export interface CreateCustomerMutationArgs {
-  
-  input: CreateCustomerInput;
-  
-  password?: Maybe<string>;
-}
-export interface UpdateCustomerMutationArgs {
-  
-  input: UpdateCustomerInput;
-}
-export interface DeleteCustomerMutationArgs {
-  
-  id: string;
-}
-export interface CreateCustomerAddressMutationArgs {
-  
-  customerId: string;
-  
-  input: CreateAddressInput;
-}
-export interface UpdateCustomerAddressMutationArgs {
-  
-  input: UpdateAddressInput;
-}
-export interface DeleteCustomerAddressMutationArgs {
-  
-  id: string;
-}
-export interface CreateCountryMutationArgs {
-  
-  input: CreateCountryInput;
-}
-export interface UpdateCountryMutationArgs {
-  
-  input: UpdateCountryInput;
-}
-export interface DeleteCountryMutationArgs {
-  
-  id: string;
-}
-export interface CreateCustomerGroupMutationArgs {
-  
-  input: CreateCustomerGroupInput;
-}
-export interface UpdateCustomerGroupMutationArgs {
-  
-  input: UpdateCustomerGroupInput;
-}
-export interface AddCustomersToGroupMutationArgs {
-  
-  customerGroupId: string;
-  
-  customerIds: string[];
-}
-export interface RemoveCustomersFromGroupMutationArgs {
-  
-  customerGroupId: string;
-  
-  customerIds: string[];
-}
-export interface CreateFacetMutationArgs {
-  
-  input: CreateFacetInput;
-}
-export interface UpdateFacetMutationArgs {
-  
-  input: UpdateFacetInput;
-}
-export interface DeleteFacetMutationArgs {
-  
-  id: string;
-  
-  force?: Maybe<boolean>;
-}
-export interface CreateFacetValuesMutationArgs {
-  
-  input: CreateFacetValueInput[];
-}
-export interface UpdateFacetValuesMutationArgs {
-  
-  input: UpdateFacetValueInput[];
-}
-export interface DeleteFacetValuesMutationArgs {
-  
-  ids: string[];
-  
-  force?: Maybe<boolean>;
-}
-export interface UpdateGlobalSettingsMutationArgs {
-  
-  input: UpdateGlobalSettingsInput;
-}
-export interface ImportProductsMutationArgs {
-  
-  csvFile: Upload;
-}
-export interface UpdatePaymentMethodMutationArgs {
-  
-  input: UpdatePaymentMethodInput;
-}
-export interface CreateProductOptionGroupMutationArgs {
-  
-  input: CreateProductOptionGroupInput;
-}
-export interface UpdateProductOptionGroupMutationArgs {
-  
-  input: UpdateProductOptionGroupInput;
-}
-export interface CreateRoleMutationArgs {
-  
-  input: CreateRoleInput;
-}
-export interface UpdateRoleMutationArgs {
-  
-  input: UpdateRoleInput;
-}
-export interface CreateProductMutationArgs {
-  
-  input: CreateProductInput;
-}
-export interface UpdateProductMutationArgs {
-  
-  input: UpdateProductInput;
-}
-export interface DeleteProductMutationArgs {
-  
-  id: string;
-}
-export interface AddOptionGroupToProductMutationArgs {
-  
-  productId: string;
-  
-  optionGroupId: string;
-}
-export interface RemoveOptionGroupFromProductMutationArgs {
-  
-  productId: string;
-  
-  optionGroupId: string;
-}
-export interface GenerateVariantsForProductMutationArgs {
-  
-  productId: string;
-  
-  defaultTaxCategoryId?: Maybe<string>;
-  
-  defaultPrice?: Maybe<number>;
-  
-  defaultSku?: Maybe<string>;
-}
-export interface UpdateProductVariantsMutationArgs {
-  
-  input: UpdateProductVariantInput[];
-}
-export interface CreatePromotionMutationArgs {
-  
-  input: CreatePromotionInput;
-}
-export interface UpdatePromotionMutationArgs {
-  
-  input: UpdatePromotionInput;
-}
-export interface DeletePromotionMutationArgs {
-  
-  id: string;
-}
-export interface CreateTaxCategoryMutationArgs {
-  
-  input: CreateTaxCategoryInput;
-}
-export interface UpdateTaxCategoryMutationArgs {
-  
-  input: UpdateTaxCategoryInput;
+
+export namespace GetChannels {
+  export type Variables = GetChannelsQueryVariables;
+  export type Query = GetChannelsQuery;
+  export type Channels = ChannelFragment;
 }
-export interface CreateShippingMethodMutationArgs {
-  
-  input: CreateShippingMethodInput;
+
+export namespace GetChannel {
+  export type Variables = GetChannelQueryVariables;
+  export type Query = GetChannelQuery;
+  export type Channel = ChannelFragment;
 }
-export interface UpdateShippingMethodMutationArgs {
-  
-  input: UpdateShippingMethodInput;
+
+export namespace GetActiveChannel {
+  export type Variables = GetActiveChannelQueryVariables;
+  export type Query = GetActiveChannelQuery;
+  export type ActiveChannel = ChannelFragment;
 }
-export interface CreateTaxRateMutationArgs {
-  
-  input: CreateTaxRateInput;
+
+export namespace CreateChannel {
+  export type Variables = CreateChannelMutationVariables;
+  export type Mutation = CreateChannelMutation;
+  export type CreateChannel = ChannelFragment;
 }
-export interface UpdateTaxRateMutationArgs {
-  
-  input: UpdateTaxRateInput;
+
+export namespace UpdateChannel {
+  export type Variables = UpdateChannelMutationVariables;
+  export type Mutation = UpdateChannelMutation;
+  export type UpdateChannel = ChannelFragment;
 }
-export interface CreateZoneMutationArgs {
-  
-  input: CreateZoneInput;
+
+export namespace PaymentMethod {
+  export type Fragment = PaymentMethodFragment;
+  export type ConfigArgs = (NonNullable<PaymentMethodFragment['configArgs'][0]>);
 }
-export interface UpdateZoneMutationArgs {
-  
-  input: UpdateZoneInput;
+
+export namespace GetPaymentMethodList {
+  export type Variables = GetPaymentMethodListQueryVariables;
+  export type Query = GetPaymentMethodListQuery;
+  export type PaymentMethods = GetPaymentMethodListQuery['paymentMethods'];
+  export type Items = PaymentMethodFragment;
 }
-export interface DeleteZoneMutationArgs {
-  
-  id: string;
+
+export namespace GetPaymentMethod {
+  export type Variables = GetPaymentMethodQueryVariables;
+  export type Query = GetPaymentMethodQuery;
+  export type PaymentMethod = PaymentMethodFragment;
 }
-export interface AddMembersToZoneMutationArgs {
-  
-  zoneId: string;
-  
-  memberIds: string[];
+
+export namespace UpdatePaymentMethod {
+  export type Variables = UpdatePaymentMethodMutationVariables;
+  export type Mutation = UpdatePaymentMethodMutation;
+  export type UpdatePaymentMethod = PaymentMethodFragment;
 }
-export interface RemoveMembersFromZoneMutationArgs {
-  
-  zoneId: string;
-  
-  memberIds: string[];
+
+export namespace GlobalSettings {
+  export type Fragment = GlobalSettingsFragment;
 }
-export interface SetAsLoggedInMutationArgs {
-  
-  username: string;
-  
-  loginTime: string;
+
+export namespace GetGlobalSettings {
+  export type Variables = GetGlobalSettingsQueryVariables;
+  export type Query = GetGlobalSettingsQuery;
+  export type GlobalSettings = GlobalSettingsFragment;
 }
-export interface SetUiLanguageMutationArgs {
-  
-  languageCode?: Maybe<LanguageCode>;
+
+export namespace UpdateGlobalSettings {
+  export type Variables = UpdateGlobalSettingsMutationVariables;
+  export type Mutation = UpdateGlobalSettingsMutation;
+  export type UpdateGlobalSettings = GlobalSettingsFragment;
 }
 
+export namespace GetServerConfig {
+  export type Variables = GetServerConfigQueryVariables;
+  export type Query = GetServerConfigQuery;
+  export type GlobalSettings = GetServerConfigQuery['globalSettings'];
+  export type ServerConfig = GetServerConfigQuery['globalSettings']['serverConfig'];
+}
 
-// ====================================================
-// Unions
-// ====================================================
-
+export namespace ShippingMethod {
+  export type Fragment = ShippingMethodFragment;
+  export type Checker = ConfigurableOperationFragment;
+  export type Calculator = ConfigurableOperationFragment;
+}
 
+export namespace GetShippingMethodList {
+  export type Variables = GetShippingMethodListQueryVariables;
+  export type Query = GetShippingMethodListQuery;
+  export type ShippingMethods = GetShippingMethodListQuery['shippingMethods'];
+  export type Items = ShippingMethodFragment;
+}
 
-export type StockMovementItem = StockAdjustment | Sale | Cancellation | Return;
+export namespace GetShippingMethod {
+  export type Variables = GetShippingMethodQueryVariables;
+  export type Query = GetShippingMethodQuery;
+  export type ShippingMethod = ShippingMethodFragment;
+}
 
-/** The price of a search result product, either as a range or as a single price */
-export type SearchResultPrice = PriceRange | SinglePrice;
+export namespace GetShippingMethodOperations {
+  export type Variables = GetShippingMethodOperationsQueryVariables;
+  export type Query = GetShippingMethodOperationsQuery;
+  export type ShippingEligibilityCheckers = ConfigurableOperationFragment;
+  export type ShippingCalculators = ConfigurableOperationFragment;
+}
 
+export namespace CreateShippingMethod {
+  export type Variables = CreateShippingMethodMutationVariables;
+  export type Mutation = CreateShippingMethodMutation;
+  export type CreateShippingMethod = ShippingMethodFragment;
+}
 
+export namespace UpdateShippingMethod {
+  export type Variables = UpdateShippingMethodMutationVariables;
+  export type Mutation = UpdateShippingMethodMutation;
+  export type UpdateShippingMethod = ShippingMethodFragment;
+}

+ 5 - 0
packages/core/e2e/__snapshots__/collection.e2e-spec.ts.snap

@@ -4,6 +4,7 @@ exports[`Collection resolver createCollection creates a root collection 1`] = `
 Object {
   "assets": Array [
     Object {
+      "createdAt": "<date>",
       "fileSize": 4,
       "id": "T_1",
       "mimeType": "image/jpeg",
@@ -13,6 +14,7 @@ Object {
       "type": "IMAGE",
     },
     Object {
+      "createdAt": "<date>",
       "fileSize": 4,
       "id": "T_2",
       "mimeType": "image/jpeg",
@@ -25,6 +27,7 @@ Object {
   "children": null,
   "description": "",
   "featuredAsset": Object {
+    "createdAt": "<date>",
     "fileSize": 4,
     "id": "T_1",
     "mimeType": "image/jpeg",
@@ -69,6 +72,7 @@ exports[`Collection resolver updateCollection 1`] = `
 Object {
   "assets": Array [
     Object {
+      "createdAt": "<date>",
       "fileSize": 4,
       "id": "T_1",
       "mimeType": "image/jpeg",
@@ -81,6 +85,7 @@ Object {
   "children": null,
   "description": "Apple stuff ",
   "featuredAsset": Object {
+    "createdAt": "<date>",
     "fileSize": 4,
     "id": "T_1",
     "mimeType": "image/jpeg",

+ 2 - 0
packages/core/e2e/__snapshots__/product.e2e-spec.ts.snap

@@ -64,6 +64,7 @@ exports[`Product resolver product query returns expected properties 1`] = `
 Object {
   "assets": Array [
     Object {
+      "createdAt": "<date>",
       "fileSize": 4,
       "id": "T_2",
       "mimeType": "image/jpeg",
@@ -96,6 +97,7 @@ Object {
     },
   ],
   "featuredAsset": Object {
+    "createdAt": "<date>",
     "fileSize": 4,
     "id": "T_2",
     "mimeType": "image/jpeg",

+ 6 - 6
packages/core/e2e/auth.e2e-spec.ts

@@ -1,10 +1,10 @@
 import {
     CreateAdministrator,
-    CreateProductMutationArgs,
     CreateRole,
-    LoginMutationArgs,
+    MutationCreateProductArgs,
+    MutationLoginArgs,
+    MutationUpdateProductArgs,
     Permission,
-    UpdateProductMutationArgs,
 } from '@vendure/common/lib/generated-types';
 import { SUPER_ADMIN_USER_IDENTIFIER, SUPER_ADMIN_USER_PASSWORD } from '@vendure/common/lib/shared-constants';
 import { DocumentNode } from 'graphql';
@@ -49,7 +49,7 @@ describe('Authorization & permissions', () => {
             });
 
             it('can attempt login', async () => {
-                await assertRequestAllowed<LoginMutationArgs>(ATTEMPT_LOGIN, {
+                await assertRequestAllowed<MutationLoginArgs>(ATTEMPT_LOGIN, {
                     username: SUPER_ADMIN_USER_IDENTIFIER,
                     password: SUPER_ADMIN_USER_PASSWORD,
                     rememberMe: false,
@@ -71,7 +71,7 @@ describe('Authorization & permissions', () => {
             });
 
             it('cannot uppdate', async () => {
-                await assertRequestForbidden<UpdateProductMutationArgs>(UPDATE_PRODUCT, {
+                await assertRequestForbidden<MutationUpdateProductArgs>(UPDATE_PRODUCT, {
                     input: {
                         id: '1',
                         translations: [],
@@ -80,7 +80,7 @@ describe('Authorization & permissions', () => {
             });
 
             it('cannot create', async () => {
-                await assertRequestForbidden<CreateProductMutationArgs>(CREATE_PRODUCT, {
+                await assertRequestForbidden<MutationCreateProductArgs>(CREATE_PRODUCT, {
                     input: {
                         translations: [],
                     },

+ 10 - 2
packages/core/e2e/collection.e2e-spec.ts

@@ -97,6 +97,10 @@ describe('Collection resolver', () => {
             );
 
             electronicsCollection = result.createCollection;
+            // override the non-deterministic date fields
+            [electronicsCollection.featuredAsset, ...electronicsCollection.assets].forEach(asset => {
+                asset!.createdAt = '<date>';
+            });
             expect(electronicsCollection).toMatchSnapshot();
             expect(electronicsCollection.parent!.name).toBe(ROOT_COLLECTION_NAME);
         });
@@ -193,7 +197,7 @@ describe('Collection resolver', () => {
     });
 
     it('updateCollection', async () => {
-        const result = await client.query<UpdateCollection.Mutation, UpdateCollection.Variables>(
+        const { updateCollection } = await client.query<UpdateCollection.Mutation, UpdateCollection.Variables>(
             UPDATE_COLLECTION,
             {
                 input: {
@@ -205,7 +209,11 @@ describe('Collection resolver', () => {
             },
         );
 
-        expect(result.updateCollection).toMatchSnapshot();
+        // override the non-deterministic date fields
+        [updateCollection.featuredAsset, ...updateCollection.assets].forEach(asset => {
+            asset!.createdAt = '<date>';
+        });
+        expect(updateCollection).toMatchSnapshot();
     });
 
     describe('moveCollection', () => {

+ 8 - 4
packages/core/e2e/product.e2e-spec.ts

@@ -119,7 +119,7 @@ describe('Product resolver', () => {
 
     describe('product query', () => {
         it('returns expected properties', async () => {
-            const result = await client.query<GetProductWithVariants.Query, GetProductWithVariants.Variables>(
+            const { product } = await client.query<GetProductWithVariants.Query, GetProductWithVariants.Variables>(
                 GET_PRODUCT_WITH_VARIANTS,
                 {
                     languageCode: LanguageCode.en,
@@ -127,12 +127,16 @@ describe('Product resolver', () => {
                 },
             );
 
-            if (!result.product) {
+            if (!product) {
                 fail('Product not found');
                 return;
             }
-            expect(omit(result.product, ['variants'])).toMatchSnapshot();
-            expect(result.product.variants.length).toBe(2);
+            // override the non-deterministic date fields
+            [product.featuredAsset, ...product.assets].forEach(asset => {
+                asset!.createdAt = '<date>';
+            });
+            expect(omit(product, ['variants'])).toMatchSnapshot();
+            expect(product.variants.length).toBe(2);
         });
 
         it('ProductVariant price properties are correct', async () => {

+ 10 - 10
packages/core/src/api/resolvers/admin/administrator.resolver.ts

@@ -1,12 +1,12 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
     AdministratorList,
-    AdministratorQueryArgs,
-    AdministratorsQueryArgs,
-    AssignRoleToAdministratorMutationArgs,
-    CreateAdministratorMutationArgs,
+    QueryAdministratorArgs,
+    QueryAdministratorsArgs,
+    MutationAssignRoleToAdministratorArgs,
+    MutationCreateAdministratorArgs,
     Permission,
-    UpdateAdministratorMutationArgs,
+    MutationUpdateAdministratorArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -21,27 +21,27 @@ export class AdministratorResolver {
 
     @Query()
     @Allow(Permission.ReadAdministrator)
-    administrators(@Args() args: AdministratorsQueryArgs): Promise<PaginatedList<Administrator>> {
+    administrators(@Args() args: QueryAdministratorsArgs): Promise<PaginatedList<Administrator>> {
         return this.administratorService.findAll(args.options || undefined);
     }
 
     @Query()
     @Allow(Permission.ReadAdministrator)
-    administrator(@Args() args: AdministratorQueryArgs): Promise<Administrator | undefined> {
+    administrator(@Args() args: QueryAdministratorArgs): Promise<Administrator | undefined> {
         return this.administratorService.findOne(args.id);
     }
 
     @Mutation()
     @Allow(Permission.CreateAdministrator)
     @Decode('roleIds')
-    createAdministrator(@Args() args: CreateAdministratorMutationArgs): Promise<Administrator> {
+    createAdministrator(@Args() args: MutationCreateAdministratorArgs): Promise<Administrator> {
         const { input } = args;
         return this.administratorService.create(input);
     }
 
     @Mutation()
     @Allow(Permission.CreateAdministrator)
-    updateAdministrator(@Args() args: UpdateAdministratorMutationArgs): Promise<Administrator> {
+    updateAdministrator(@Args() args: MutationUpdateAdministratorArgs): Promise<Administrator> {
         const { input } = args;
         return this.administratorService.update(input);
     }
@@ -49,7 +49,7 @@ export class AdministratorResolver {
     @Mutation()
     @Allow(Permission.UpdateAdministrator)
     @Decode('administratorId', 'roleId')
-    assignRoleToAdministrator(@Args() args: AssignRoleToAdministratorMutationArgs): Promise<Administrator> {
+    assignRoleToAdministrator(@Args() args: MutationAssignRoleToAdministratorArgs): Promise<Administrator> {
         return this.administratorService.assignRole(args.administratorId, args.roleId);
     }
 }

+ 6 - 6
packages/core/src/api/resolvers/admin/asset.resolver.ts

@@ -1,8 +1,8 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    AssetQueryArgs,
-    AssetsQueryArgs,
-    CreateAssetsMutationArgs,
+    QueryAssetArgs,
+    QueryAssetsArgs,
+    MutationCreateAssetsArgs,
     Permission,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
@@ -17,19 +17,19 @@ export class AssetResolver {
 
     @Query()
     @Allow(Permission.ReadCatalog)
-    async asset(@Args() args: AssetQueryArgs): Promise<Asset | undefined> {
+    async asset(@Args() args: QueryAssetArgs): Promise<Asset | undefined> {
         return this.assetService.findOne(args.id);
     }
 
     @Query()
     @Allow(Permission.ReadCatalog)
-    async assets(@Args() args: AssetsQueryArgs): Promise<PaginatedList<Asset>> {
+    async assets(@Args() args: QueryAssetsArgs): Promise<PaginatedList<Asset>> {
         return this.assetService.findAll(args.options || undefined);
     }
 
     @Mutation()
     @Allow(Permission.CreateCatalog)
-    async createAssets(@Args() args: CreateAssetsMutationArgs): Promise<Asset[]> {
+    async createAssets(@Args() args: MutationCreateAssetsArgs): Promise<Asset[]> {
         // 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[] = [];

+ 2 - 2
packages/core/src/api/resolvers/admin/auth.resolver.ts

@@ -1,5 +1,5 @@
 import { Args, Context, Mutation, Query, Resolver } from '@nestjs/graphql';
-import { LoginMutationArgs, LoginResult, Permission } from '@vendure/common/lib/generated-types';
+import { MutationLoginArgs, LoginResult, Permission } from '@vendure/common/lib/generated-types';
 import { Request, Response } from 'express';
 
 import { ConfigService } from '../../../config/config.service';
@@ -21,7 +21,7 @@ export class AuthResolver extends BaseAuthResolver {
     @Mutation()
     @Allow(Permission.Public)
     login(
-        @Args() args: LoginMutationArgs,
+        @Args() args: MutationLoginArgs,
         @Ctx() ctx: RequestContext,
         @Context('req') req: Request,
         @Context('res') res: Response,

+ 6 - 6
packages/core/src/api/resolvers/admin/channel.resolver.ts

@@ -1,9 +1,9 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    ChannelQueryArgs,
-    CreateChannelMutationArgs,
+    QueryChannelArgs,
+    MutationCreateChannelArgs,
     Permission,
-    UpdateChannelMutationArgs,
+    MutationUpdateChannelArgs,
 } from '@vendure/common/lib/generated-types';
 
 import { Channel } from '../../../entity/channel/channel.entity';
@@ -25,7 +25,7 @@ export class ChannelResolver {
 
     @Query()
     @Allow(Permission.SuperAdmin)
-    async channel(@Ctx() ctx: RequestContext, @Args() args: ChannelQueryArgs): Promise<Channel | undefined> {
+    async channel(@Ctx() ctx: RequestContext, @Args() args: QueryChannelArgs): Promise<Channel | undefined> {
         return this.channelService.findOne(args.id);
     }
 
@@ -38,14 +38,14 @@ export class ChannelResolver {
     @Mutation()
     @Allow(Permission.SuperAdmin)
     @Decode('defaultTaxZoneId', 'defaultShippingZoneId')
-    async createChannel(@Args() args: CreateChannelMutationArgs): Promise<Channel> {
+    async createChannel(@Args() args: MutationCreateChannelArgs): Promise<Channel> {
         return this.channelService.create(args.input);
     }
 
     @Mutation()
     @Allow(Permission.SuperAdmin)
     @Decode('defaultTaxZoneId', 'defaultShippingZoneId')
-    async updateChannel(@Args() args: UpdateChannelMutationArgs): Promise<Channel> {
+    async updateChannel(@Args() args: MutationUpdateChannelArgs): Promise<Channel> {
         return this.channelService.update(args.input);
     }
 }

+ 11 - 11
packages/core/src/api/resolvers/admin/collection.resolver.ts

@@ -1,12 +1,12 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CollectionQueryArgs,
-    CollectionsQueryArgs,
+    QueryCollectionArgs,
+    QueryCollectionsArgs,
     ConfigurableOperation,
-    CreateCollectionMutationArgs,
-    MoveCollectionMutationArgs,
+    MutationCreateCollectionArgs,
+    MutationMoveCollectionArgs,
     Permission,
-    UpdateCollectionMutationArgs,
+    MutationUpdateCollectionArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -32,7 +32,7 @@ export class CollectionResolver {
     @Allow(Permission.ReadCatalog)
     async collectionFilters(
         @Ctx() ctx: RequestContext,
-        @Args() args: CollectionsQueryArgs,
+        @Args() args: QueryCollectionsArgs,
     ): Promise<ConfigurableOperation[]> {
         return this.collectionService.getAvailableFilters();
     }
@@ -41,7 +41,7 @@ export class CollectionResolver {
     @Allow(Permission.ReadCatalog)
     async collections(
         @Ctx() ctx: RequestContext,
-        @Args() args: CollectionsQueryArgs,
+        @Args() args: QueryCollectionsArgs,
     ): Promise<PaginatedList<Translated<Collection>>> {
         return this.collectionService.findAll(ctx, args.options || undefined).then(res => {
             res.items.forEach(this.encodeFilters);
@@ -53,7 +53,7 @@ export class CollectionResolver {
     @Allow(Permission.ReadCatalog)
     async collection(
         @Ctx() ctx: RequestContext,
-        @Args() args: CollectionQueryArgs,
+        @Args() args: QueryCollectionArgs,
     ): Promise<Translated<Collection> | undefined> {
         return this.collectionService.findOne(ctx, args.id).then(this.encodeFilters);
     }
@@ -63,7 +63,7 @@ export class CollectionResolver {
     @Decode('assetIds', 'featuredAssetId', 'parentId')
     async createCollection(
         @Ctx() ctx: RequestContext,
-        @Args() args: CreateCollectionMutationArgs,
+        @Args() args: MutationCreateCollectionArgs,
     ): Promise<Translated<Collection>> {
         const { input } = args;
         this.idCodecService.decodeConfigurableOperation(input.filters);
@@ -75,7 +75,7 @@ export class CollectionResolver {
     @Decode('assetIds', 'featuredAssetId')
     async updateCollection(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateCollectionMutationArgs,
+        @Args() args: MutationUpdateCollectionArgs,
     ): Promise<Translated<Collection>> {
         const { input } = args;
         this.idCodecService.decodeConfigurableOperation(input.filters || []);
@@ -87,7 +87,7 @@ export class CollectionResolver {
     @Decode('collectionId', 'parentId')
     async moveCollection(
         @Ctx() ctx: RequestContext,
-        @Args() args: MoveCollectionMutationArgs,
+        @Args() args: MutationMoveCollectionArgs,
     ): Promise<Translated<Collection>> {
         const { input } = args;
         return this.collectionService.move(ctx, input).then(this.encodeFilters);

+ 10 - 10
packages/core/src/api/resolvers/admin/country.resolver.ts

@@ -1,12 +1,12 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CountriesQueryArgs,
-    CountryQueryArgs,
-    CreateCountryMutationArgs,
-    DeleteCountryMutationArgs,
+    QueryCountriesArgs,
+    QueryCountryArgs,
+    MutationCreateCountryArgs,
+    MutationDeleteCountryArgs,
     DeletionResponse,
     Permission,
-    UpdateCountryMutationArgs,
+    MutationUpdateCountryArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -25,7 +25,7 @@ export class CountryResolver {
     @Allow(Permission.ReadSettings)
     countries(
         @Ctx() ctx: RequestContext,
-        @Args() args: CountriesQueryArgs,
+        @Args() args: QueryCountriesArgs,
     ): Promise<PaginatedList<Translated<Country>>> {
         return this.countryService.findAll(ctx, args.options || undefined);
     }
@@ -34,7 +34,7 @@ export class CountryResolver {
     @Allow(Permission.ReadSettings)
     async country(
         @Ctx() ctx: RequestContext,
-        @Args() args: CountryQueryArgs,
+        @Args() args: QueryCountryArgs,
     ): Promise<Translated<Country> | undefined> {
         return this.countryService.findOne(ctx, args.id);
     }
@@ -43,7 +43,7 @@ export class CountryResolver {
     @Allow(Permission.CreateSettings)
     async createCountry(
         @Ctx() ctx: RequestContext,
-        @Args() args: CreateCountryMutationArgs,
+        @Args() args: MutationCreateCountryArgs,
     ): Promise<Translated<Country>> {
         return this.countryService.create(ctx, args.input);
     }
@@ -52,7 +52,7 @@ export class CountryResolver {
     @Allow(Permission.UpdateSettings)
     async updateCountry(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateCountryMutationArgs,
+        @Args() args: MutationUpdateCountryArgs,
     ): Promise<Translated<Country>> {
         return this.countryService.update(ctx, args.input);
     }
@@ -61,7 +61,7 @@ export class CountryResolver {
     @Allow(Permission.DeleteSettings)
     async deleteCountry(
         @Ctx() ctx: RequestContext,
-        @Args() args: DeleteCountryMutationArgs,
+        @Args() args: MutationDeleteCountryArgs,
     ): Promise<DeletionResponse> {
         return this.countryService.delete(ctx, args.id);
     }

+ 10 - 10
packages/core/src/api/resolvers/admin/customer-group.resolver.ts

@@ -1,11 +1,11 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    AddCustomersToGroupMutationArgs,
-    CreateCustomerGroupMutationArgs,
-    CustomerGroupQueryArgs,
+    MutationAddCustomersToGroupArgs,
+    MutationCreateCustomerGroupArgs,
+    QueryCustomerGroupArgs,
     Permission,
-    RemoveCustomersFromGroupMutationArgs,
-    UpdateCustomerGroupMutationArgs,
+    MutationRemoveCustomersFromGroupArgs,
+    MutationUpdateCustomerGroupArgs,
 } from '@vendure/common/lib/generated-types';
 
 import { CustomerGroup } from '../../../entity/customer-group/customer-group.entity';
@@ -29,7 +29,7 @@ export class CustomerGroupResolver {
     @Allow(Permission.ReadCustomer)
     async customerGroup(
         @Ctx() ctx: RequestContext,
-        @Args() args: CustomerGroupQueryArgs,
+        @Args() args: QueryCustomerGroupArgs,
     ): Promise<CustomerGroup | undefined> {
         return this.customerGroupService.findOne(args.id);
     }
@@ -37,20 +37,20 @@ export class CustomerGroupResolver {
     @Mutation()
     @Allow(Permission.CreateCustomer)
     @Decode('customerIds')
-    async createCustomerGroup(@Args() args: CreateCustomerGroupMutationArgs): Promise<CustomerGroup> {
+    async createCustomerGroup(@Args() args: MutationCreateCustomerGroupArgs): Promise<CustomerGroup> {
         return this.customerGroupService.create(args.input);
     }
 
     @Mutation()
     @Allow(Permission.UpdateCustomer)
-    async updateCustomerGroup(@Args() args: UpdateCustomerGroupMutationArgs): Promise<CustomerGroup> {
+    async updateCustomerGroup(@Args() args: MutationUpdateCustomerGroupArgs): Promise<CustomerGroup> {
         return this.customerGroupService.update(args.input);
     }
 
     @Mutation()
     @Allow(Permission.UpdateCustomer)
     @Decode('customerGroupId', 'customerIds')
-    async addCustomersToGroup(@Args() args: AddCustomersToGroupMutationArgs): Promise<CustomerGroup> {
+    async addCustomersToGroup(@Args() args: MutationAddCustomersToGroupArgs): Promise<CustomerGroup> {
         return this.customerGroupService.addCustomersToGroup(args);
     }
 
@@ -58,7 +58,7 @@ export class CustomerGroupResolver {
     @Allow(Permission.UpdateCustomer)
     @Decode('customerGroupId', 'customerIds')
     async removeCustomersFromGroup(
-        @Args() args: RemoveCustomersFromGroupMutationArgs,
+        @Args() args: MutationRemoveCustomersFromGroupArgs,
     ): Promise<CustomerGroup> {
         return this.customerGroupService.removeCustomersFromGroup(args);
     }

+ 16 - 16
packages/core/src/api/resolvers/admin/customer.resolver.ts

@@ -1,15 +1,15 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CreateCustomerAddressMutationArgs,
-    CreateCustomerMutationArgs,
-    CustomerQueryArgs,
-    CustomersQueryArgs,
-    DeleteCustomerAddressMutationArgs,
-    DeleteCustomerMutationArgs,
     DeletionResponse,
+    MutationCreateCustomerAddressArgs,
+    MutationCreateCustomerArgs,
+    MutationDeleteCustomerAddressArgs,
+    MutationDeleteCustomerArgs,
+    MutationUpdateCustomerAddressArgs,
+    MutationUpdateCustomerArgs,
     Permission,
-    UpdateCustomerAddressMutationArgs,
-    UpdateCustomerMutationArgs,
+    QueryCustomerArgs,
+    QueryCustomersArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -28,26 +28,26 @@ export class CustomerResolver {
 
     @Query()
     @Allow(Permission.ReadCustomer)
-    async customers(@Args() args: CustomersQueryArgs): Promise<PaginatedList<Customer>> {
+    async customers(@Args() args: QueryCustomersArgs): Promise<PaginatedList<Customer>> {
         return this.customerService.findAll(args.options || undefined);
     }
 
     @Query()
     @Allow(Permission.ReadCustomer)
-    async customer(@Args() args: CustomerQueryArgs): Promise<Customer | undefined> {
+    async customer(@Args() args: QueryCustomerArgs): Promise<Customer | undefined> {
         return this.customerService.findOne(args.id);
     }
 
     @Mutation()
     @Allow(Permission.CreateCustomer)
-    async createCustomer(@Args() args: CreateCustomerMutationArgs): Promise<Customer> {
+    async createCustomer(@Args() args: MutationCreateCustomerArgs): Promise<Customer> {
         const { input, password } = args;
         return this.customerService.create(input, password || undefined);
     }
 
     @Mutation()
     @Allow(Permission.UpdateCustomer)
-    async updateCustomer(@Args() args: UpdateCustomerMutationArgs): Promise<Customer> {
+    async updateCustomer(@Args() args: MutationUpdateCustomerArgs): Promise<Customer> {
         const { input } = args;
         return this.customerService.update(input);
     }
@@ -57,7 +57,7 @@ export class CustomerResolver {
     @Decode('customerId')
     async createCustomerAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: CreateCustomerAddressMutationArgs,
+        @Args() args: MutationCreateCustomerAddressArgs,
     ): Promise<Address> {
         const { customerId, input } = args;
         return this.customerService.createAddress(ctx, customerId, input);
@@ -67,7 +67,7 @@ export class CustomerResolver {
     @Allow(Permission.UpdateCustomer)
     async updateCustomerAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateCustomerAddressMutationArgs,
+        @Args() args: MutationUpdateCustomerAddressArgs,
     ): Promise<Address> {
         const { input } = args;
         return this.customerService.updateAddress(ctx, input);
@@ -77,7 +77,7 @@ export class CustomerResolver {
     @Allow(Permission.DeleteCustomer)
     async deleteCustomerAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: DeleteCustomerAddressMutationArgs,
+        @Args() args: MutationDeleteCustomerAddressArgs,
     ): Promise<boolean> {
         const { id } = args;
         return this.customerService.deleteAddress(id);
@@ -85,7 +85,7 @@ export class CustomerResolver {
 
     @Mutation()
     @Allow(Permission.DeleteCustomer)
-    async deleteCustomer(@Args() args: DeleteCustomerMutationArgs): Promise<DeletionResponse> {
+    async deleteCustomer(@Args() args: MutationDeleteCustomerArgs): Promise<DeletionResponse> {
         return this.customerService.softDelete(args.id);
     }
 }

+ 16 - 16
packages/core/src/api/resolvers/admin/facet.resolver.ts

@@ -1,15 +1,15 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CreateFacetMutationArgs,
-    CreateFacetValuesMutationArgs,
-    DeleteFacetMutationArgs,
-    DeleteFacetValuesMutationArgs,
+    MutationCreateFacetArgs,
+    MutationCreateFacetValuesArgs,
+    MutationDeleteFacetArgs,
+    MutationDeleteFacetValuesArgs,
     DeletionResponse,
-    FacetQueryArgs,
-    FacetsQueryArgs,
+    QueryFacetArgs,
+    QueryFacetsArgs,
     Permission,
-    UpdateFacetMutationArgs,
-    UpdateFacetValuesMutationArgs,
+    MutationUpdateFacetArgs,
+    MutationUpdateFacetValuesArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -33,7 +33,7 @@ export class FacetResolver {
     @Allow(Permission.ReadCatalog)
     facets(
         @Ctx() ctx: RequestContext,
-        @Args() args: FacetsQueryArgs,
+        @Args() args: QueryFacetsArgs,
     ): Promise<PaginatedList<Translated<Facet>>> {
         return this.facetService.findAll(ctx.languageCode, args.options || undefined);
     }
@@ -42,14 +42,14 @@ export class FacetResolver {
     @Allow(Permission.ReadCatalog)
     async facet(
         @Ctx() ctx: RequestContext,
-        @Args() args: FacetQueryArgs,
+        @Args() args: QueryFacetArgs,
     ): Promise<Translated<Facet> | undefined> {
         return this.facetService.findOne(args.id, ctx.languageCode);
     }
 
     @Mutation()
     @Allow(Permission.CreateCatalog)
-    async createFacet(@Args() args: CreateFacetMutationArgs): Promise<Translated<Facet>> {
+    async createFacet(@Args() args: MutationCreateFacetArgs): Promise<Translated<Facet>> {
         const { input } = args;
         const facet = await this.facetService.create(args.input);
 
@@ -64,7 +64,7 @@ export class FacetResolver {
 
     @Mutation()
     @Allow(Permission.UpdateCatalog)
-    async updateFacet(@Args() args: UpdateFacetMutationArgs): Promise<Translated<Facet>> {
+    async updateFacet(@Args() args: MutationUpdateFacetArgs): Promise<Translated<Facet>> {
         const { input } = args;
         return this.facetService.update(args.input);
     }
@@ -73,7 +73,7 @@ export class FacetResolver {
     @Allow(Permission.DeleteCatalog)
     async deleteFacet(
         @Ctx() ctx: RequestContext,
-        @Args() args: DeleteFacetMutationArgs,
+        @Args() args: MutationDeleteFacetArgs,
     ): Promise<DeletionResponse> {
         return this.facetService.delete(ctx, args.id, args.force || false);
     }
@@ -82,7 +82,7 @@ export class FacetResolver {
     @Allow(Permission.CreateCatalog)
     @Decode('facetId')
     async createFacetValues(
-        @Args() args: CreateFacetValuesMutationArgs,
+        @Args() args: MutationCreateFacetValuesArgs,
     ): Promise<Array<Translated<FacetValue>>> {
         const { input } = args;
         const facetId = input[0].facetId;
@@ -96,7 +96,7 @@ export class FacetResolver {
     @Mutation()
     @Allow(Permission.UpdateCatalog)
     async updateFacetValues(
-        @Args() args: UpdateFacetValuesMutationArgs,
+        @Args() args: MutationUpdateFacetValuesArgs,
     ): Promise<Array<Translated<FacetValue>>> {
         const { input } = args;
         return Promise.all(input.map(facetValue => this.facetValueService.update(facetValue)));
@@ -107,7 +107,7 @@ export class FacetResolver {
     @Decode('ids')
     async deleteFacetValues(
         @Ctx() ctx: RequestContext,
-        @Args() args: DeleteFacetValuesMutationArgs,
+        @Args() args: MutationDeleteFacetValuesArgs,
     ): Promise<DeletionResponse[]> {
         return Promise.all(args.ids.map(id => this.facetValueService.delete(ctx, id, args.force || false)));
     }

+ 2 - 2
packages/core/src/api/resolvers/admin/global-settings.resolver.ts

@@ -1,5 +1,5 @@
 import { Args, Mutation, Query, ResolveProperty, Resolver } from '@nestjs/graphql';
-import { Permission, UpdateGlobalSettingsMutationArgs } from '@vendure/common/lib/generated-types';
+import { Permission, MutationUpdateGlobalSettingsArgs } from '@vendure/common/lib/generated-types';
 
 import { VendureConfig } from '../../../config';
 import { ConfigService } from '../../../config/config.service';
@@ -28,7 +28,7 @@ export class GlobalSettingsResolver {
 
     @Mutation()
     @Allow(Permission.UpdateSettings)
-    async updateGlobalSettings(@Args() args: UpdateGlobalSettingsMutationArgs) {
+    async updateGlobalSettings(@Args() args: MutationUpdateGlobalSettingsArgs) {
         return this.globalSettingsService.updateSettings(args.input);
     }
 }

+ 2 - 2
packages/core/src/api/resolvers/admin/import.resolver.ts

@@ -1,5 +1,5 @@
 import { Args, Mutation, Resolver } from '@nestjs/graphql';
-import { ImportInfo, ImportProductsMutationArgs, Permission } from '@vendure/common/lib/generated-types';
+import { ImportInfo, MutationImportProductsArgs, Permission } from '@vendure/common/lib/generated-types';
 
 import { Importer } from '../../../data-import/providers/importer/importer';
 import { RequestContext } from '../../common/request-context';
@@ -14,7 +14,7 @@ export class ImportResolver {
     @Allow(Permission.SuperAdmin)
     async importProducts(
         @Ctx() ctx: RequestContext,
-        @Args() args: ImportProductsMutationArgs,
+        @Args() args: MutationImportProductsArgs,
     ): Promise<ImportInfo> {
         const { createReadStream, filename, mimetype, encoding } = await args.csvFile;
         const stream = createReadStream();

+ 3 - 3
packages/core/src/api/resolvers/admin/order.resolver.ts

@@ -1,5 +1,5 @@
 import { Args, Query, Resolver } from '@nestjs/graphql';
-import { OrderQueryArgs, OrdersQueryArgs, Permission } from '@vendure/common/lib/generated-types';
+import { QueryOrderArgs, QueryOrdersArgs, Permission } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
 import { Order } from '../../../entity/order/order.entity';
@@ -15,13 +15,13 @@ export class OrderResolver {
 
     @Query()
     @Allow(Permission.ReadOrder)
-    orders(@Ctx() ctx: RequestContext, @Args() args: OrdersQueryArgs): Promise<PaginatedList<Order>> {
+    orders(@Ctx() ctx: RequestContext, @Args() args: QueryOrdersArgs): Promise<PaginatedList<Order>> {
         return this.orderService.findAll(ctx, args.options || undefined);
     }
 
     @Query()
     @Allow(Permission.ReadOrder)
-    async order(@Ctx() ctx: RequestContext, @Args() args: OrderQueryArgs): Promise<Order | undefined> {
+    async order(@Ctx() ctx: RequestContext, @Args() args: QueryOrderArgs): Promise<Order | undefined> {
         return this.orderService.findOne(ctx, args.id);
     }
 }

+ 6 - 6
packages/core/src/api/resolvers/admin/payment-method.resolver.ts

@@ -1,9 +1,9 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    PaymentMethodQueryArgs,
-    PaymentMethodsQueryArgs,
+    QueryPaymentMethodArgs,
+    QueryPaymentMethodsArgs,
     Permission,
-    UpdatePaymentMethodMutationArgs,
+    MutationUpdatePaymentMethodArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -17,19 +17,19 @@ export class PaymentMethodResolver {
 
     @Query()
     @Allow(Permission.ReadSettings)
-    paymentMethods(@Args() args: PaymentMethodsQueryArgs): Promise<PaginatedList<PaymentMethod>> {
+    paymentMethods(@Args() args: QueryPaymentMethodsArgs): Promise<PaginatedList<PaymentMethod>> {
         return this.paymentMethodService.findAll(args.options || undefined);
     }
 
     @Query()
     @Allow(Permission.ReadSettings)
-    paymentMethod(@Args() args: PaymentMethodQueryArgs): Promise<PaymentMethod | undefined> {
+    paymentMethod(@Args() args: QueryPaymentMethodArgs): Promise<PaymentMethod | undefined> {
         return this.paymentMethodService.findOne(args.id);
     }
 
     @Mutation()
     @Allow(Permission.UpdateSettings)
-    updatePaymentMethod(@Args() args: UpdatePaymentMethodMutationArgs): Promise<PaymentMethod> {
+    updatePaymentMethod(@Args() args: MutationUpdatePaymentMethodArgs): Promise<PaymentMethod> {
         return this.paymentMethodService.update(args.input);
     }
 }

+ 8 - 8
packages/core/src/api/resolvers/admin/product-option.resolver.ts

@@ -1,10 +1,10 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CreateProductOptionGroupMutationArgs,
+    MutationCreateProductOptionGroupArgs,
     Permission,
-    ProductOptionGroupQueryArgs,
-    ProductOptionGroupsQueryArgs,
-    UpdateProductOptionGroupMutationArgs,
+    QueryProductOptionGroupArgs,
+    QueryProductOptionGroupsArgs,
+    MutationUpdateProductOptionGroupArgs,
 } from '@vendure/common/lib/generated-types';
 
 import { Translated } from '../../../common/types/locale-types';
@@ -26,7 +26,7 @@ export class ProductOptionResolver {
     @Allow(Permission.ReadCatalog)
     productOptionGroups(
         @Ctx() ctx: RequestContext,
-        @Args() args: ProductOptionGroupsQueryArgs,
+        @Args() args: QueryProductOptionGroupsArgs,
     ): Promise<Array<Translated<ProductOptionGroup>>> {
         return this.productOptionGroupService.findAll(ctx.languageCode, args.filterTerm || undefined);
     }
@@ -35,7 +35,7 @@ export class ProductOptionResolver {
     @Allow(Permission.ReadCatalog)
     productOptionGroup(
         @Ctx() ctx: RequestContext,
-        @Args() args: ProductOptionGroupQueryArgs,
+        @Args() args: QueryProductOptionGroupArgs,
     ): Promise<Translated<ProductOptionGroup> | undefined> {
         return this.productOptionGroupService.findOne(args.id, ctx.languageCode);
     }
@@ -43,7 +43,7 @@ export class ProductOptionResolver {
     @Mutation()
     @Allow(Permission.CreateCatalog)
     async createProductOptionGroup(
-        @Args() args: CreateProductOptionGroupMutationArgs,
+        @Args() args: MutationCreateProductOptionGroupArgs,
     ): Promise<Translated<ProductOptionGroup>> {
         const { input } = args;
         const group = await this.productOptionGroupService.create(args.input);
@@ -60,7 +60,7 @@ export class ProductOptionResolver {
     @Mutation()
     @Allow(Permission.UpdateCatalog)
     async updateProductOptionGroup(
-        @Args() args: UpdateProductOptionGroupMutationArgs,
+        @Args() args: MutationUpdateProductOptionGroupArgs,
     ): Promise<Translated<ProductOptionGroup>> {
         const { input } = args;
         return this.productOptionGroupService.update(args.input);

+ 18 - 18
packages/core/src/api/resolvers/admin/product.resolver.ts

@@ -1,16 +1,16 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    AddOptionGroupToProductMutationArgs,
-    CreateProductMutationArgs,
-    DeleteProductMutationArgs,
+    MutationAddOptionGroupToProductArgs,
+    MutationCreateProductArgs,
+    MutationDeleteProductArgs,
     DeletionResponse,
-    GenerateVariantsForProductMutationArgs,
+    MutationGenerateVariantsForProductArgs,
     Permission,
-    ProductQueryArgs,
-    ProductsQueryArgs,
-    RemoveOptionGroupFromProductMutationArgs,
-    UpdateProductMutationArgs,
-    UpdateProductVariantsMutationArgs,
+    QueryProductArgs,
+    QueryProductsArgs,
+    MutationRemoveOptionGroupFromProductArgs,
+    MutationUpdateProductArgs,
+    MutationUpdateProductVariantsArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -38,7 +38,7 @@ export class ProductResolver {
     @Allow(Permission.ReadCatalog)
     async products(
         @Ctx() ctx: RequestContext,
-        @Args() args: ProductsQueryArgs,
+        @Args() args: QueryProductsArgs,
     ): Promise<PaginatedList<Translated<Product>>> {
         return this.productService.findAll(ctx, args.options || undefined);
     }
@@ -47,7 +47,7 @@ export class ProductResolver {
     @Allow(Permission.ReadCatalog)
     async product(
         @Ctx() ctx: RequestContext,
-        @Args() args: ProductQueryArgs,
+        @Args() args: QueryProductArgs,
     ): Promise<Translated<Product> | undefined> {
         return this.productService.findOne(ctx, args.id);
     }
@@ -57,7 +57,7 @@ export class ProductResolver {
     @Decode('assetIds', 'featuredAssetId', 'facetValueIds')
     async createProduct(
         @Ctx() ctx: RequestContext,
-        @Args() args: CreateProductMutationArgs,
+        @Args() args: MutationCreateProductArgs,
     ): Promise<Translated<Product>> {
         const { input } = args;
         return this.productService.create(ctx, input);
@@ -68,7 +68,7 @@ export class ProductResolver {
     @Decode('assetIds', 'featuredAssetId', 'facetValueIds')
     async updateProduct(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateProductMutationArgs,
+        @Args() args: MutationUpdateProductArgs,
     ): Promise<Translated<Product>> {
         const { input } = args;
         return this.productService.update(ctx, input);
@@ -78,7 +78,7 @@ export class ProductResolver {
     @Allow(Permission.DeleteCatalog)
     async deleteProduct(
         @Ctx() ctx: RequestContext,
-        @Args() args: DeleteProductMutationArgs,
+        @Args() args: MutationDeleteProductArgs,
     ): Promise<DeletionResponse> {
         return this.productService.softDelete(ctx, args.id);
     }
@@ -88,7 +88,7 @@ export class ProductResolver {
     @Decode('productId', 'optionGroupId')
     async addOptionGroupToProduct(
         @Ctx() ctx: RequestContext,
-        @Args() args: AddOptionGroupToProductMutationArgs,
+        @Args() args: MutationAddOptionGroupToProductArgs,
     ): Promise<Translated<Product>> {
         const { productId, optionGroupId } = args;
         return this.productService.addOptionGroupToProduct(ctx, productId, optionGroupId);
@@ -99,7 +99,7 @@ export class ProductResolver {
     @Decode('productId', 'optionGroupId')
     async removeOptionGroupFromProduct(
         @Ctx() ctx: RequestContext,
-        @Args() args: RemoveOptionGroupFromProductMutationArgs,
+        @Args() args: MutationRemoveOptionGroupFromProductArgs,
     ): Promise<Translated<Product>> {
         const { productId, optionGroupId } = args;
         return this.productService.removeOptionGroupFromProduct(ctx, productId, optionGroupId);
@@ -110,7 +110,7 @@ export class ProductResolver {
     @Decode('productId', 'defaultTaxCategoryId')
     async generateVariantsForProduct(
         @Ctx() ctx: RequestContext,
-        @Args() args: GenerateVariantsForProductMutationArgs,
+        @Args() args: MutationGenerateVariantsForProductArgs,
     ): Promise<Translated<Product>> {
         const { productId, defaultTaxCategoryId, defaultPrice, defaultSku } = args;
         await this.productVariantService.generateVariantsForProduct(
@@ -128,7 +128,7 @@ export class ProductResolver {
     @Decode('taxCategoryId', 'facetValueIds', 'featuredAssetId', 'assetIds')
     async updateProductVariants(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateProductVariantsMutationArgs,
+        @Args() args: MutationUpdateProductVariantsArgs,
     ): Promise<Array<Translated<ProductVariant>>> {
         const { input } = args;
         return Promise.all(input.map(variant => this.productVariantService.update(ctx, variant)));

+ 10 - 10
packages/core/src/api/resolvers/admin/promotion.resolver.ts

@@ -1,12 +1,12 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CreatePromotionMutationArgs,
-    DeletePromotionMutationArgs,
+    MutationCreatePromotionArgs,
+    MutationDeletePromotionArgs,
     DeletionResponse,
     Permission,
-    PromotionQueryArgs,
-    PromotionsQueryArgs,
-    UpdatePromotionMutationArgs,
+    QueryPromotionArgs,
+    QueryPromotionsArgs,
+    MutationUpdatePromotionArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -25,7 +25,7 @@ export class PromotionResolver {
     @Allow(Permission.ReadSettings)
     promotions(
         @Ctx() ctx: RequestContext,
-        @Args() args: PromotionsQueryArgs,
+        @Args() args: QueryPromotionsArgs,
     ): Promise<PaginatedList<Promotion>> {
         return this.promotionService.findAll(args.options || undefined).then(res => {
             res.items.forEach(this.encodeConditionsAndActions);
@@ -35,7 +35,7 @@ export class PromotionResolver {
 
     @Query()
     @Allow(Permission.ReadSettings)
-    promotion(@Ctx() ctx: RequestContext, @Args() args: PromotionQueryArgs): Promise<Promotion | undefined> {
+    promotion(@Ctx() ctx: RequestContext, @Args() args: QueryPromotionArgs): Promise<Promotion | undefined> {
         return this.promotionService.findOne(args.id).then(this.encodeConditionsAndActions);
     }
 
@@ -50,7 +50,7 @@ export class PromotionResolver {
     @Allow(Permission.CreateSettings)
     createPromotion(
         @Ctx() ctx: RequestContext,
-        @Args() args: CreatePromotionMutationArgs,
+        @Args() args: MutationCreatePromotionArgs,
     ): Promise<Promotion> {
         this.idCodecService.decodeConfigurableOperation(args.input.actions);
         this.idCodecService.decodeConfigurableOperation(args.input.conditions);
@@ -61,7 +61,7 @@ export class PromotionResolver {
     @Allow(Permission.UpdateSettings)
     updatePromotion(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdatePromotionMutationArgs,
+        @Args() args: MutationUpdatePromotionArgs,
     ): Promise<Promotion> {
         this.idCodecService.decodeConfigurableOperation(args.input.actions || []);
         this.idCodecService.decodeConfigurableOperation(args.input.conditions || []);
@@ -70,7 +70,7 @@ export class PromotionResolver {
 
     @Mutation()
     @Allow(Permission.DeleteSettings)
-    deletePromotion(@Args() args: DeletePromotionMutationArgs): Promise<DeletionResponse> {
+    deletePromotion(@Args() args: MutationDeletePromotionArgs): Promise<DeletionResponse> {
         return this.promotionService.softDeletePromotion(args.id);
     }
 

+ 8 - 8
packages/core/src/api/resolvers/admin/role.resolver.ts

@@ -1,10 +1,10 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CreateRoleMutationArgs,
+    MutationCreateRoleArgs,
     Permission,
-    RoleQueryArgs,
-    RolesQueryArgs,
-    UpdateRoleMutationArgs,
+    QueryRoleArgs,
+    QueryRolesArgs,
+    MutationUpdateRoleArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -18,26 +18,26 @@ export class RoleResolver {
 
     @Query()
     @Allow(Permission.ReadAdministrator)
-    roles(@Args() args: RolesQueryArgs): Promise<PaginatedList<Role>> {
+    roles(@Args() args: QueryRolesArgs): Promise<PaginatedList<Role>> {
         return this.roleService.findAll(args.options || undefined);
     }
 
     @Query()
     @Allow(Permission.ReadAdministrator)
-    role(@Args() args: RoleQueryArgs): Promise<Role | undefined> {
+    role(@Args() args: QueryRoleArgs): Promise<Role | undefined> {
         return this.roleService.findOne(args.id);
     }
 
     @Mutation()
     @Allow(Permission.CreateAdministrator)
-    createRole(@Args() args: CreateRoleMutationArgs): Promise<Role> {
+    createRole(@Args() args: MutationCreateRoleArgs): Promise<Role> {
         const { input } = args;
         return this.roleService.create(input);
     }
 
     @Mutation()
     @Allow(Permission.UpdateAdministrator)
-    updateRole(@Args() args: UpdateRoleMutationArgs): Promise<Role> {
+    updateRole(@Args() args: MutationUpdateRoleArgs): Promise<Role> {
         const { input } = args;
         return this.roleService.update(input);
     }

+ 10 - 10
packages/core/src/api/resolvers/admin/shipping-method.resolver.ts

@@ -1,11 +1,11 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
     ConfigurableOperation,
-    CreateShippingMethodMutationArgs,
+    MutationCreateShippingMethodArgs,
     Permission,
-    ShippingMethodQueryArgs,
-    ShippingMethodsQueryArgs,
-    UpdateShippingMethodMutationArgs,
+    QueryShippingMethodArgs,
+    QueryShippingMethodsArgs,
+    MutationUpdateShippingMethodArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -19,38 +19,38 @@ export class ShippingMethodResolver {
 
     @Query()
     @Allow(Permission.ReadSettings)
-    shippingMethods(@Args() args: ShippingMethodsQueryArgs): Promise<PaginatedList<ShippingMethod>> {
+    shippingMethods(@Args() args: QueryShippingMethodsArgs): Promise<PaginatedList<ShippingMethod>> {
         return this.shippingMethodService.findAll(args.options || undefined);
     }
 
     @Query()
     @Allow(Permission.ReadSettings)
-    shippingMethod(@Args() args: ShippingMethodQueryArgs): Promise<ShippingMethod | undefined> {
+    shippingMethod(@Args() args: QueryShippingMethodArgs): Promise<ShippingMethod | undefined> {
         return this.shippingMethodService.findOne(args.id);
     }
 
     @Query()
     @Allow(Permission.ReadSettings)
-    shippingEligibilityCheckers(@Args() args: ShippingMethodQueryArgs): ConfigurableOperation[] {
+    shippingEligibilityCheckers(@Args() args: QueryShippingMethodArgs): ConfigurableOperation[] {
         return this.shippingMethodService.getShippingEligibilityCheckers();
     }
 
     @Query()
     @Allow(Permission.ReadSettings)
-    shippingCalculators(@Args() args: ShippingMethodQueryArgs): ConfigurableOperation[] {
+    shippingCalculators(@Args() args: QueryShippingMethodArgs): ConfigurableOperation[] {
         return this.shippingMethodService.getShippingCalculators();
     }
 
     @Mutation()
     @Allow(Permission.CreateSettings)
-    createShippingMethod(@Args() args: CreateShippingMethodMutationArgs): Promise<ShippingMethod> {
+    createShippingMethod(@Args() args: MutationCreateShippingMethodArgs): Promise<ShippingMethod> {
         const { input } = args;
         return this.shippingMethodService.create(input);
     }
 
     @Mutation()
     @Allow(Permission.UpdateSettings)
-    updateShippingMethod(@Args() args: UpdateShippingMethodMutationArgs): Promise<ShippingMethod> {
+    updateShippingMethod(@Args() args: MutationUpdateShippingMethodArgs): Promise<ShippingMethod> {
         const { input } = args;
         return this.shippingMethodService.update(input);
     }

+ 6 - 6
packages/core/src/api/resolvers/admin/tax-category.resolver.ts

@@ -1,9 +1,9 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CreateTaxCategoryMutationArgs,
+    MutationCreateTaxCategoryArgs,
     Permission,
-    TaxCategoryQueryArgs,
-    UpdateTaxCategoryMutationArgs,
+    QueryTaxCategoryArgs,
+    MutationUpdateTaxCategoryArgs,
 } from '@vendure/common/lib/generated-types';
 
 import { TaxCategory } from '../../../entity/tax-category/tax-category.entity';
@@ -26,20 +26,20 @@ export class TaxCategoryResolver {
     @Allow(Permission.ReadSettings)
     async taxCategory(
         @Ctx() ctx: RequestContext,
-        @Args() args: TaxCategoryQueryArgs,
+        @Args() args: QueryTaxCategoryArgs,
     ): Promise<TaxCategory | undefined> {
         return this.taxCategoryService.findOne(args.id);
     }
 
     @Mutation()
     @Allow(Permission.CreateSettings)
-    async createTaxCategory(@Args() args: CreateTaxCategoryMutationArgs): Promise<TaxCategory> {
+    async createTaxCategory(@Args() args: MutationCreateTaxCategoryArgs): Promise<TaxCategory> {
         return this.taxCategoryService.create(args.input);
     }
 
     @Mutation()
     @Allow(Permission.UpdateSettings)
-    async updateTaxCategory(@Args() args: UpdateTaxCategoryMutationArgs): Promise<TaxCategory> {
+    async updateTaxCategory(@Args() args: MutationUpdateTaxCategoryArgs): Promise<TaxCategory> {
         return this.taxCategoryService.update(args.input);
     }
 }

+ 8 - 8
packages/core/src/api/resolvers/admin/tax-rate.resolver.ts

@@ -1,10 +1,10 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    CreateTaxRateMutationArgs,
+    MutationCreateTaxRateArgs,
     Permission,
-    TaxRateQueryArgs,
-    TaxRatesQueryArgs,
-    UpdateTaxRateMutationArgs,
+    QueryTaxRateArgs,
+    QueryTaxRatesArgs,
+    MutationUpdateTaxRateArgs,
 } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -21,13 +21,13 @@ export class TaxRateResolver {
 
     @Query()
     @Allow(Permission.ReadSettings)
-    taxRates(@Ctx() ctx: RequestContext, @Args() args: TaxRatesQueryArgs): Promise<PaginatedList<TaxRate>> {
+    taxRates(@Ctx() ctx: RequestContext, @Args() args: QueryTaxRatesArgs): Promise<PaginatedList<TaxRate>> {
         return this.taxRateService.findAll(args.options || undefined);
     }
 
     @Query()
     @Allow(Permission.ReadSettings)
-    async taxRate(@Ctx() ctx: RequestContext, @Args() args: TaxRateQueryArgs): Promise<TaxRate | undefined> {
+    async taxRate(@Ctx() ctx: RequestContext, @Args() args: QueryTaxRateArgs): Promise<TaxRate | undefined> {
         return this.taxRateService.findOne(args.id);
     }
 
@@ -36,7 +36,7 @@ export class TaxRateResolver {
     @Decode('categoryId', 'zoneId', 'customerGroupId')
     async createTaxRate(
         @Ctx() ctx: RequestContext,
-        @Args() args: CreateTaxRateMutationArgs,
+        @Args() args: MutationCreateTaxRateArgs,
     ): Promise<TaxRate> {
         return this.taxRateService.create(ctx, args.input);
     }
@@ -46,7 +46,7 @@ export class TaxRateResolver {
     @Decode('categoryId', 'zoneId', 'customerGroupId')
     async updateTaxRate(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateTaxRateMutationArgs,
+        @Args() args: MutationUpdateTaxRateArgs,
     ): Promise<TaxRate> {
         return this.taxRateService.update(ctx, args.input);
     }

+ 12 - 12
packages/core/src/api/resolvers/admin/zone.resolver.ts

@@ -1,13 +1,13 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    AddMembersToZoneMutationArgs,
-    CreateZoneMutationArgs,
-    DeleteZoneMutationArgs,
+    MutationAddMembersToZoneArgs,
+    MutationCreateZoneArgs,
+    MutationDeleteZoneArgs,
     DeletionResponse,
     Permission,
-    RemoveMembersFromZoneMutationArgs,
-    UpdateZoneMutationArgs,
-    ZoneQueryArgs,
+    MutationRemoveMembersFromZoneArgs,
+    MutationUpdateZoneArgs,
+    QueryZoneArgs,
 } from '@vendure/common/lib/generated-types';
 
 import { Zone } from '../../../entity/zone/zone.entity';
@@ -29,20 +29,20 @@ export class ZoneResolver {
 
     @Query()
     @Allow(Permission.ReadSettings)
-    async zone(@Ctx() ctx: RequestContext, @Args() args: ZoneQueryArgs): Promise<Zone | undefined> {
+    async zone(@Ctx() ctx: RequestContext, @Args() args: QueryZoneArgs): Promise<Zone | undefined> {
         return this.zoneService.findOne(ctx, args.id);
     }
 
     @Mutation()
     @Allow(Permission.CreateSettings)
     @Decode('memberIds')
-    async createZone(@Ctx() ctx: RequestContext, @Args() args: CreateZoneMutationArgs): Promise<Zone> {
+    async createZone(@Ctx() ctx: RequestContext, @Args() args: MutationCreateZoneArgs): Promise<Zone> {
         return this.zoneService.create(ctx, args.input);
     }
 
     @Mutation()
     @Allow(Permission.UpdateSettings)
-    async updateZone(@Ctx() ctx: RequestContext, @Args() args: UpdateZoneMutationArgs): Promise<Zone> {
+    async updateZone(@Ctx() ctx: RequestContext, @Args() args: MutationUpdateZoneArgs): Promise<Zone> {
         return this.zoneService.update(ctx, args.input);
     }
 
@@ -50,7 +50,7 @@ export class ZoneResolver {
     @Allow(Permission.DeleteSettings)
     async deleteZone(
         @Ctx() ctx: RequestContext,
-        @Args() args: DeleteZoneMutationArgs,
+        @Args() args: MutationDeleteZoneArgs,
     ): Promise<DeletionResponse> {
         return this.zoneService.delete(ctx, args.id);
     }
@@ -60,7 +60,7 @@ export class ZoneResolver {
     @Decode('zoneId', 'memberIds')
     async addMembersToZone(
         @Ctx() ctx: RequestContext,
-        @Args() args: AddMembersToZoneMutationArgs,
+        @Args() args: MutationAddMembersToZoneArgs,
     ): Promise<Zone> {
         return this.zoneService.addMembersToZone(ctx, args);
     }
@@ -70,7 +70,7 @@ export class ZoneResolver {
     @Decode('zoneId', 'memberIds')
     async removeMembersFromZone(
         @Ctx() ctx: RequestContext,
-        @Args() args: RemoveMembersFromZoneMutationArgs,
+        @Args() args: MutationRemoveMembersFromZoneArgs,
     ): Promise<Zone> {
         return this.zoneService.removeMembersFromZone(ctx, args);
     }

+ 3 - 3
packages/core/src/api/resolvers/base/base-auth.resolver.ts

@@ -1,4 +1,4 @@
-import { LoginMutationArgs, LoginResult } from '@vendure/common/lib/generated-types';
+import { MutationLoginArgs, LoginResult } from '@vendure/common/lib/generated-types';
 import { Request, Response } from 'express';
 
 import { InternalServerError } from '../../../common/error/errors';
@@ -22,7 +22,7 @@ export class BaseAuthResolver {
      * the user data and returns the token either in a cookie or in the response body.
      */
     async login(
-        args: LoginMutationArgs,
+        args: MutationLoginArgs,
         ctx: RequestContext,
         req: Request,
         res: Response,
@@ -60,7 +60,7 @@ export class BaseAuthResolver {
      */
     protected async createAuthenticatedSession(
         ctx: RequestContext,
-        args: LoginMutationArgs,
+        args: MutationLoginArgs,
         req: Request,
         res: Response,
     ) {

+ 2 - 2
packages/core/src/api/resolvers/entity/customer-entity.resolver.ts

@@ -1,5 +1,5 @@
 import { Args, Parent, ResolveProperty, Resolver } from '@nestjs/graphql';
-import { OrdersCustomerArgs } from '@vendure/common/lib/generated-types';
+import { QueryOrdersArgs } from '@vendure/common/lib/generated-types';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
 import { Address } from '../../../entity/address/address.entity';
@@ -22,7 +22,7 @@ export class CustomerEntityResolver {
     async orders(
         @Ctx() ctx: RequestContext,
         @Parent() customer: Customer,
-        @Args() args: OrdersCustomerArgs,
+        @Args() args: QueryOrdersArgs,
     ): Promise<PaginatedList<Order>> {
         return this.orderService.findByCustomerId(ctx, customer.id, args.options || undefined);
     }

+ 18 - 18
packages/core/src/api/resolvers/shop/shop-auth.resolver.ts

@@ -1,16 +1,16 @@
 import { Args, Context, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    LoginMutationArgs,
+    MutationLoginArgs,
     LoginResult,
     Permission,
-    RefreshCustomerVerificationMutationArgs,
-    RegisterCustomerAccountMutationArgs,
-    RequestPasswordResetMutationArgs,
-    RequestUpdateCustomerEmailAddressMutationArgs,
-    ResetPasswordMutationArgs,
-    UpdateCustomerEmailAddressMutationArgs,
-    UpdateCustomerPasswordMutationArgs,
-    VerifyCustomerAccountMutationArgs,
+    MutationRefreshCustomerVerificationArgs,
+    MutationRegisterCustomerAccountArgs,
+    MutationRequestPasswordResetArgs,
+    MutationRequestUpdateCustomerEmailAddressArgs,
+    MutationResetPasswordArgs,
+    MutationUpdateCustomerEmailAddressArgs,
+    MutationUpdateCustomerPasswordArgs,
+    MutationVerifyCustomerAccountArgs,
 } from '@vendure/common/lib/generated-shop-types';
 import { Request, Response } from 'express';
 
@@ -38,7 +38,7 @@ export class ShopAuthResolver extends BaseAuthResolver {
     @Mutation()
     @Allow(Permission.Public)
     login(
-        @Args() args: LoginMutationArgs,
+        @Args() args: MutationLoginArgs,
         @Ctx() ctx: RequestContext,
         @Context('req') req: Request,
         @Context('res') res: Response,
@@ -64,7 +64,7 @@ export class ShopAuthResolver extends BaseAuthResolver {
     @Allow(Permission.Public)
     async registerCustomerAccount(
         @Ctx() ctx: RequestContext,
-        @Args() args: RegisterCustomerAccountMutationArgs,
+        @Args() args: MutationRegisterCustomerAccountArgs,
     ) {
         return this.customerService.registerCustomerAccount(ctx, args.input).then(() => true);
     }
@@ -73,7 +73,7 @@ export class ShopAuthResolver extends BaseAuthResolver {
     @Allow(Permission.Public)
     async verifyCustomerAccount(
         @Ctx() ctx: RequestContext,
-        @Args() args: VerifyCustomerAccountMutationArgs,
+        @Args() args: MutationVerifyCustomerAccountArgs,
         @Context('req') req: Request,
         @Context('res') res: Response,
     ) {
@@ -98,14 +98,14 @@ export class ShopAuthResolver extends BaseAuthResolver {
     @Allow(Permission.Public)
     async refreshCustomerVerification(
         @Ctx() ctx: RequestContext,
-        @Args() args: RefreshCustomerVerificationMutationArgs,
+        @Args() args: MutationRefreshCustomerVerificationArgs,
     ) {
         return this.customerService.refreshVerificationToken(ctx, args.emailAddress).then(() => true);
     }
 
     @Mutation()
     @Allow(Permission.Public)
-    async requestPasswordReset(@Ctx() ctx: RequestContext, @Args() args: RequestPasswordResetMutationArgs) {
+    async requestPasswordReset(@Ctx() ctx: RequestContext, @Args() args: MutationRequestPasswordResetArgs) {
         return this.customerService.requestPasswordReset(ctx, args.emailAddress).then(() => true);
     }
 
@@ -113,7 +113,7 @@ export class ShopAuthResolver extends BaseAuthResolver {
     @Allow(Permission.Public)
     async resetPassword(
         @Ctx() ctx: RequestContext,
-        @Args() args: ResetPasswordMutationArgs,
+        @Args() args: MutationResetPasswordArgs,
         @Context('req') req: Request,
         @Context('res') res: Response,
     ) {
@@ -139,7 +139,7 @@ export class ShopAuthResolver extends BaseAuthResolver {
     @Allow(Permission.Owner)
     async updateCustomerPassword(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateCustomerPasswordMutationArgs,
+        @Args() args: MutationUpdateCustomerPasswordArgs,
     ): Promise<boolean> {
         return super.updatePassword(ctx, args.currentPassword, args.newPassword);
     }
@@ -148,7 +148,7 @@ export class ShopAuthResolver extends BaseAuthResolver {
     @Allow(Permission.Owner)
     async requestUpdateCustomerEmailAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: RequestUpdateCustomerEmailAddressMutationArgs,
+        @Args() args: MutationRequestUpdateCustomerEmailAddressArgs,
     ): Promise<boolean> {
         if (!ctx.activeUserId) {
             throw new ForbiddenError();
@@ -161,7 +161,7 @@ export class ShopAuthResolver extends BaseAuthResolver {
     @Allow(Permission.Owner)
     async updateCustomerEmailAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateCustomerEmailAddressMutationArgs,
+        @Args() args: MutationUpdateCustomerEmailAddressArgs,
     ): Promise<boolean> {
         return this.customerService.updateEmailAddress(ctx, args.token);
     }

+ 8 - 8
packages/core/src/api/resolvers/shop/shop-customer.resolver.ts

@@ -1,10 +1,10 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
-import { DeleteCustomerAddressMutationArgs } from '@vendure/common/lib/generated-shop-types';
+import { MutationDeleteCustomerAddressArgs } from '@vendure/common/lib/generated-shop-types';
 import {
-    CreateCustomerAddressMutationArgs,
+    MutationCreateCustomerAddressArgs,
     Permission,
-    UpdateCustomerAddressMutationArgs,
-    UpdateCustomerMutationArgs,
+    MutationUpdateCustomerAddressArgs,
+    MutationUpdateCustomerArgs,
 } from '@vendure/common/lib/generated-types';
 
 import { ForbiddenError, InternalServerError } from '../../../common/error/errors';
@@ -47,7 +47,7 @@ export class ShopCustomerResolver {
     @Allow(Permission.Owner)
     async updateCustomer(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateCustomerMutationArgs,
+        @Args() args: MutationUpdateCustomerArgs,
     ): Promise<Customer> {
         const customer = await this.getCustomerForOwner(ctx);
         return this.customerService.update({
@@ -60,7 +60,7 @@ export class ShopCustomerResolver {
     @Allow(Permission.Owner)
     async createCustomerAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: CreateCustomerAddressMutationArgs,
+        @Args() args: MutationCreateCustomerAddressArgs,
     ): Promise<Address> {
         const customer = await this.getCustomerForOwner(ctx);
         return this.customerService.createAddress(ctx, customer.id as string, args.input);
@@ -70,7 +70,7 @@ export class ShopCustomerResolver {
     @Allow(Permission.Owner)
     async updateCustomerAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: UpdateCustomerAddressMutationArgs,
+        @Args() args: MutationUpdateCustomerAddressArgs,
     ): Promise<Address> {
         const customer = await this.getCustomerForOwner(ctx);
         const customerAddresses = await this.customerService.findAddressesByCustomerId(ctx, customer.id);
@@ -84,7 +84,7 @@ export class ShopCustomerResolver {
     @Allow(Permission.Owner)
     async deleteCustomerAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: DeleteCustomerAddressMutationArgs,
+        @Args() args: MutationDeleteCustomerAddressArgs,
     ): Promise<boolean> {
         const customer = await this.getCustomerForOwner(ctx);
         const customerAddresses = await this.customerService.findAddressesByCustomerId(ctx, customer.id);

+ 22 - 22
packages/core/src/api/resolvers/shop/shop-order.resolver.ts

@@ -1,19 +1,19 @@
 import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
 import {
-    AddItemToOrderMutationArgs,
-    AddPaymentToOrderMutationArgs,
-    AdjustItemQuantityMutationArgs,
-    OrderByCodeQueryArgs,
-    OrderQueryArgs,
+    MutationAddItemToOrderArgs,
+    MutationAddPaymentToOrderArgs,
+    MutationAdjustItemQuantityArgs,
     Permission,
-    RemoveItemFromOrderMutationArgs,
-    SetCustomerForOrderMutationArgs,
-    SetOrderShippingAddressMutationArgs,
-    SetOrderShippingMethodMutationArgs,
+    QueryOrderArgs,
+    QueryOrderByCodeArgs,
+    MutationRemoveItemFromOrderArgs,
+    MutationSetCustomerForOrderArgs,
+    MutationSetOrderShippingAddressArgs,
+    MutationSetOrderShippingMethodArgs,
     ShippingMethodQuote,
-    TransitionOrderToStateMutationArgs,
+    MutationTransitionOrderToStateArgs,
 } from '@vendure/common/lib/generated-shop-types';
-import { CountriesQueryArgs } from '@vendure/common/lib/generated-types';
+import { QueryCountriesArgs } from '@vendure/common/lib/generated-types';
 import ms from 'ms';
 
 import { ForbiddenError, InternalServerError } from '../../../common/error/errors';
@@ -43,7 +43,7 @@ export class ShopOrderResolver {
     @Query()
     availableCountries(
         @Ctx() ctx: RequestContext,
-        @Args() args: CountriesQueryArgs,
+        @Args() args: QueryCountriesArgs,
     ): Promise<Array<Translated<Country>>> {
         return this.countryService
             .findAll(ctx, {
@@ -60,7 +60,7 @@ export class ShopOrderResolver {
 
     @Query()
     @Allow(Permission.Owner)
-    async order(@Ctx() ctx: RequestContext, @Args() args: OrderQueryArgs): Promise<Order | undefined> {
+    async order(@Ctx() ctx: RequestContext, @Args() args: QueryOrderArgs): Promise<Order | undefined> {
         const order = await this.orderService.findOne(ctx, args.id);
         if (order && ctx.authorizedAsOwnerOnly) {
             const orderUserId = order.customer && order.customer.user && order.customer.user.id;
@@ -89,7 +89,7 @@ export class ShopOrderResolver {
     @Allow(Permission.Owner)
     async orderByCode(
         @Ctx() ctx: RequestContext,
-        @Args() args: OrderByCodeQueryArgs,
+        @Args() args: QueryOrderByCodeArgs,
     ): Promise<Order | undefined> {
         if (ctx.authorizedAsOwnerOnly) {
             const order = await this.orderService.findOneByCode(ctx, args.code);
@@ -124,7 +124,7 @@ export class ShopOrderResolver {
     @Allow(Permission.Owner)
     async setOrderShippingAddress(
         @Ctx() ctx: RequestContext,
-        @Args() args: SetOrderShippingAddressMutationArgs,
+        @Args() args: MutationSetOrderShippingAddressArgs,
     ): Promise<Order | undefined> {
         if (ctx.authorizedAsOwnerOnly) {
             const sessionOrder = await this.getOrderFromContext(ctx);
@@ -153,7 +153,7 @@ export class ShopOrderResolver {
     @Decode('shippingMethodId')
     async setOrderShippingMethod(
         @Ctx() ctx: RequestContext,
-        @Args() args: SetOrderShippingMethodMutationArgs,
+        @Args() args: MutationSetOrderShippingMethodArgs,
     ): Promise<Order | undefined> {
         if (ctx.authorizedAsOwnerOnly) {
             const sessionOrder = await this.getOrderFromContext(ctx);
@@ -177,7 +177,7 @@ export class ShopOrderResolver {
     @Allow(Permission.Owner)
     async transitionOrderToState(
         @Ctx() ctx: RequestContext,
-        @Args() args: TransitionOrderToStateMutationArgs,
+        @Args() args: MutationTransitionOrderToStateArgs,
     ): Promise<Order | undefined> {
         if (ctx.authorizedAsOwnerOnly) {
             const sessionOrder = await this.getOrderFromContext(ctx, true);
@@ -190,7 +190,7 @@ export class ShopOrderResolver {
     @Decode('productVariantId')
     async addItemToOrder(
         @Ctx() ctx: RequestContext,
-        @Args() args: AddItemToOrderMutationArgs,
+        @Args() args: MutationAddItemToOrderArgs,
     ): Promise<Order> {
         const order = await this.getOrderFromContext(ctx, true);
         return this.orderService.addItemToOrder(ctx, order.id, args.productVariantId, args.quantity);
@@ -201,7 +201,7 @@ export class ShopOrderResolver {
     @Decode('orderItemId')
     async adjustItemQuantity(
         @Ctx() ctx: RequestContext,
-        @Args() args: AdjustItemQuantityMutationArgs,
+        @Args() args: MutationAdjustItemQuantityArgs,
     ): Promise<Order> {
         const order = await this.getOrderFromContext(ctx, true);
         return this.orderService.adjustItemQuantity(ctx, order.id, args.orderItemId, args.quantity);
@@ -212,7 +212,7 @@ export class ShopOrderResolver {
     @Decode('orderItemId')
     async removeItemFromOrder(
         @Ctx() ctx: RequestContext,
-        @Args() args: RemoveItemFromOrderMutationArgs,
+        @Args() args: MutationRemoveItemFromOrderArgs,
     ): Promise<Order> {
         const order = await this.getOrderFromContext(ctx, true);
         return this.orderService.removeItemFromOrder(ctx, order.id, args.orderItemId);
@@ -220,7 +220,7 @@ export class ShopOrderResolver {
 
     @Mutation()
     @Allow(Permission.UpdateOrder, Permission.Owner)
-    async addPaymentToOrder(@Ctx() ctx: RequestContext, @Args() args: AddPaymentToOrderMutationArgs) {
+    async addPaymentToOrder(@Ctx() ctx: RequestContext, @Args() args: MutationAddPaymentToOrderArgs) {
         if (ctx.authorizedAsOwnerOnly) {
             const sessionOrder = await this.getOrderFromContext(ctx);
             if (sessionOrder) {
@@ -256,7 +256,7 @@ export class ShopOrderResolver {
 
     @Mutation()
     @Allow(Permission.Owner)
-    async setCustomerForOrder(@Ctx() ctx: RequestContext, @Args() args: SetCustomerForOrderMutationArgs) {
+    async setCustomerForOrder(@Ctx() ctx: RequestContext, @Args() args: MutationSetCustomerForOrderArgs) {
         if (ctx.authorizedAsOwnerOnly) {
             const sessionOrder = await this.getOrderFromContext(ctx);
             if (sessionOrder) {

+ 8 - 8
packages/core/src/api/resolvers/shop/shop-products.resolver.ts

@@ -1,11 +1,11 @@
 import { Args, Query, Resolver } from '@nestjs/graphql';
 import {
-    CollectionQueryArgs,
-    CollectionsQueryArgs,
-    ProductQueryArgs,
+    QueryCollectionArgs,
+    QueryCollectionsArgs,
+    QueryProductArgs,
     SearchResponse,
 } from '@vendure/common/lib/generated-shop-types';
-import { ProductsQueryArgs } from '@vendure/common/lib/generated-shop-types';
+import { QueryProductsArgs } from '@vendure/common/lib/generated-shop-types';
 import { Omit } from '@vendure/common/lib/omit';
 import { PaginatedList } from '@vendure/common/lib/shared-types';
 
@@ -33,7 +33,7 @@ export class ShopProductsResolver {
     @Query()
     async products(
         @Ctx() ctx: RequestContext,
-        @Args() args: ProductsQueryArgs,
+        @Args() args: QueryProductsArgs,
     ): Promise<PaginatedList<Translated<Product>>> {
         const options: ListQueryOptions<Product> = {
             ...args.options,
@@ -48,7 +48,7 @@ export class ShopProductsResolver {
     @Query()
     async product(
         @Ctx() ctx: RequestContext,
-        @Args() args: ProductQueryArgs,
+        @Args() args: QueryProductArgs,
     ): Promise<Translated<Product> | undefined> {
         const result = await this.productService.findOne(ctx, args.id);
         if (!result) {
@@ -64,7 +64,7 @@ export class ShopProductsResolver {
     @Query()
     async collections(
         @Ctx() ctx: RequestContext,
-        @Args() args: CollectionsQueryArgs,
+        @Args() args: QueryCollectionsArgs,
     ): Promise<PaginatedList<Translated<Collection>>> {
         const options: ListQueryOptions<Collection> = {
             ...args.options,
@@ -79,7 +79,7 @@ export class ShopProductsResolver {
     @Query()
     async collection(
         @Ctx() ctx: RequestContext,
-        @Args() args: CollectionQueryArgs,
+        @Args() args: QueryCollectionArgs,
     ): Promise<Translated<Collection> | undefined> {
         const collection = await this.collectionService.findOne(ctx, args.id);
         if (collection && collection.isPrivate) {

+ 3 - 3
packages/core/src/plugin/default-search-plugin/fulltext-search.resolver.ts

@@ -1,5 +1,5 @@
 import { Args, Mutation, Parent, Query, ResolveProperty, Resolver } from '@nestjs/graphql';
-import { Permission, SearchInput, SearchQueryArgs, SearchResponse } from '@vendure/common/lib/generated-types';
+import { Permission, SearchInput, QuerySearchArgs, SearchResponse } from '@vendure/common/lib/generated-types';
 import { Omit } from '@vendure/common/lib/omit';
 
 import { Decode } from '../../api';
@@ -21,7 +21,7 @@ export class ShopFulltextSearchResolver implements Omit<BaseSearchResolver, 'rei
     @Decode('facetIds', 'collectionId')
     async search(
         @Ctx() ctx: RequestContext,
-        @Args() args: SearchQueryArgs,
+        @Args() args: QuerySearchArgs,
     ): Promise<Omit<SearchResponse, 'facetValues'>> {
         const result = await this.fulltextSearchService.search(ctx, args.input, true);
         // ensure the facetValues property resolver has access to the input args
@@ -48,7 +48,7 @@ export class AdminFulltextSearchResolver implements BaseSearchResolver {
     @Decode('facetIds', 'collectionId')
     async search(
         @Ctx() ctx: RequestContext,
-        @Args() args: SearchQueryArgs,
+        @Args() args: QuerySearchArgs,
     ): Promise<Omit<SearchResponse, 'facetValues'>> {
         const result = await this.fulltextSearchService.search(ctx, args.input, false);
         // ensure the facetValues property resolver has access to the input args

+ 4 - 4
packages/core/src/service/services/customer-group.service.ts

@@ -1,9 +1,9 @@
 import { Injectable } from '@nestjs/common';
 import { InjectConnection } from '@nestjs/typeorm';
 import {
-    AddCustomersToGroupMutationArgs,
+    MutationAddCustomersToGroupArgs,
     CreateCustomerGroupInput,
-    RemoveCustomersFromGroupMutationArgs,
+    MutationRemoveCustomersFromGroupArgs,
     UpdateCustomerGroupInput,
 } from '@vendure/common/lib/generated-types';
 import { ID } from '@vendure/common/lib/shared-types';
@@ -44,7 +44,7 @@ export class CustomerGroupService {
         return assertFound(this.findOne(customerGroup.id));
     }
 
-    async addCustomersToGroup(input: AddCustomersToGroupMutationArgs): Promise<CustomerGroup> {
+    async addCustomersToGroup(input: MutationAddCustomersToGroupArgs): Promise<CustomerGroup> {
         const countries = await this.getCustomersFromIds(input.customerIds);
         const customerGroup = await getEntityOrThrow(this.connection, CustomerGroup, input.customerGroupId);
         const customers = unique(customerGroup.customers.concat(countries), 'id');
@@ -53,7 +53,7 @@ export class CustomerGroupService {
         return customerGroup;
     }
 
-    async removeCustomersFromGroup(input: RemoveCustomersFromGroupMutationArgs): Promise<CustomerGroup> {
+    async removeCustomersFromGroup(input: MutationRemoveCustomersFromGroupArgs): Promise<CustomerGroup> {
         const customerGroup = await getEntityOrThrow(this.connection, CustomerGroup, input.customerGroupId);
         customerGroup.customers = customerGroup.customers.filter(
             customer => !input.customerIds.includes(customer.id as string),

+ 4 - 4
packages/core/src/service/services/zone.service.ts

@@ -1,11 +1,11 @@
 import { Injectable, OnModuleInit } from '@nestjs/common';
 import { InjectConnection } from '@nestjs/typeorm';
 import {
-    AddMembersToZoneMutationArgs,
+    MutationAddMembersToZoneArgs,
     CreateZoneInput,
     DeletionResponse,
     DeletionResult,
-    RemoveMembersFromZoneMutationArgs,
+    MutationRemoveMembersFromZoneArgs,
     UpdateZoneInput,
 } from '@vendure/common/lib/generated-types';
 import { ID } from '@vendure/common/lib/shared-types';
@@ -98,7 +98,7 @@ export class ZoneService implements OnModuleInit {
         }
     }
 
-    async addMembersToZone(ctx: RequestContext, input: AddMembersToZoneMutationArgs): Promise<Zone> {
+    async addMembersToZone(ctx: RequestContext, input: MutationAddMembersToZoneArgs): Promise<Zone> {
         const countries = await this.getCountriesFromIds(input.memberIds);
         const zone = await getEntityOrThrow(this.connection, Zone, input.zoneId, { relations: ['members'] });
         const members = unique(zone.members.concat(countries), 'id');
@@ -110,7 +110,7 @@ export class ZoneService implements OnModuleInit {
 
     async removeMembersFromZone(
         ctx: RequestContext,
-        input: RemoveMembersFromZoneMutationArgs,
+        input: MutationRemoveMembersFromZoneArgs,
     ): Promise<Zone> {
         const zone = await getEntityOrThrow(this.connection, Zone, input.zoneId, { relations: ['members'] });
         zone.members = zone.members.filter(country => !input.memberIds.includes(country.id as string));

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
schema-admin.json


Diff do ficheiro suprimidas por serem muito extensas
+ 487 - 287
schema.json


+ 14 - 9
scripts/codegen/generate-graphql-types.ts

@@ -1,7 +1,6 @@
+import { generate } from '@graphql-codegen/cli';
 import fs from 'fs';
 import { buildClientSchema, graphqlSync, introspectionQuery } from 'graphql';
-import { generate } from 'graphql-code-generator';
-import { TypeScriptNamingConventionMap } from 'graphql-codegen-typescript-common';
 import { mergeSchemas } from 'graphql-tools';
 import path from 'path';
 
@@ -36,7 +35,7 @@ Promise.all([
         const namingConventionConfig = {
             namingConvention: {
                 enumValues: 'keep',
-            } as TypeScriptNamingConventionMap,
+            },
         };
         return generate({
             overwrite: true,
@@ -47,18 +46,24 @@ Promise.all([
                     plugins: [
                         { add: '// tslint:disable' },
                         'time',
-                        'typescript-common',
-                        'typescript-client',
-                        'typescript-server'],
-                    config: namingConventionConfig,
+                        'typescript',
+                        'typescript-operations',
+                        'typescript-compatibility',
+                    ],
+                    config: {
+                        ...namingConventionConfig,
+                        strict: true,
+                    },
                 },
                 [path.join(__dirname, '../../packages/common/src/generated-shop-types.ts')]: {
                     schema: [SHOP_SCHEMA_OUTPUT_FILE],
                     plugins: [
                         { add: '// tslint:disable' },
                         'time',
-                        'typescript-common',
-                        'typescript-server'],
+                        'typescript',
+                        'typescript-operations',
+                        'typescript-compatibility',
+                    ],
                     config: namingConventionConfig,
                 },
             },

Diff do ficheiro suprimidas por serem muito extensas
+ 377 - 247
yarn.lock


Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff