@vendure/dashboard 3.4.3-master-202509260228 → 3.5.0-minor-202509261210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/plugin/api/api-extensions.js +11 -14
  2. package/dist/plugin/api/metrics.resolver.d.ts +2 -2
  3. package/dist/plugin/api/metrics.resolver.js +2 -2
  4. package/dist/plugin/config/metrics-strategies.d.ts +9 -9
  5. package/dist/plugin/config/metrics-strategies.js +6 -6
  6. package/dist/plugin/constants.d.ts +2 -0
  7. package/dist/plugin/constants.js +3 -1
  8. package/dist/plugin/dashboard.plugin.js +13 -0
  9. package/dist/plugin/service/metrics.service.d.ts +3 -3
  10. package/dist/plugin/service/metrics.service.js +37 -53
  11. package/dist/plugin/types.d.ts +9 -12
  12. package/dist/plugin/types.js +7 -11
  13. package/dist/vite/vite-plugin-vendure-dashboard.js +2 -2
  14. package/package.json +4 -4
  15. package/src/app/routes/_authenticated/_collections/collections.tsx +7 -2
  16. package/src/app/routes/_authenticated/_collections/collections_.$id.tsx +15 -2
  17. package/src/app/routes/_authenticated/_facets/facets_.$id.tsx +14 -2
  18. package/src/app/routes/_authenticated/_product-variants/product-variants.graphql.ts +10 -0
  19. package/src/app/routes/_authenticated/_products/components/product-option-group-badge.tsx +19 -0
  20. package/src/app/routes/_authenticated/_products/components/product-options-table.tsx +111 -0
  21. package/src/app/routes/_authenticated/_products/product-option-groups.graphql.ts +103 -0
  22. package/src/app/routes/_authenticated/_products/products.graphql.ts +13 -1
  23. package/src/app/routes/_authenticated/_products/products.tsx +27 -3
  24. package/src/app/routes/_authenticated/_products/products_.$id.tsx +26 -9
  25. package/src/app/routes/_authenticated/_products/products_.$productId.option-groups.$id.tsx +181 -0
  26. package/src/app/routes/_authenticated/_products/products_.$productId.option-groups.$productOptionGroupId.options_.$id.tsx +208 -0
  27. package/src/app/routes/_authenticated/_zones/components/zone-countries-sheet.tsx +4 -1
  28. package/src/app/routes/_authenticated/index.tsx +41 -24
  29. package/src/lib/components/data-display/json.tsx +16 -1
  30. package/src/lib/components/data-input/index.ts +3 -0
  31. package/src/lib/components/data-input/slug-input.tsx +296 -0
  32. package/src/lib/components/data-table/add-filter-menu.tsx +13 -6
  33. package/src/lib/components/data-table/data-table-bulk-action-item.tsx +38 -1
  34. package/src/lib/components/data-table/data-table-context.tsx +91 -0
  35. package/src/lib/components/data-table/data-table-filter-badge.tsx +9 -5
  36. package/src/lib/components/data-table/data-table-view-options.tsx +17 -8
  37. package/src/lib/components/data-table/data-table.tsx +146 -94
  38. package/src/lib/components/data-table/global-views-bar.tsx +97 -0
  39. package/src/lib/components/data-table/global-views-sheet.tsx +11 -0
  40. package/src/lib/components/data-table/manage-global-views-button.tsx +26 -0
  41. package/src/lib/components/data-table/my-views-button.tsx +47 -0
  42. package/src/lib/components/data-table/refresh-button.tsx +12 -3
  43. package/src/lib/components/data-table/save-view-button.tsx +45 -0
  44. package/src/lib/components/data-table/save-view-dialog.tsx +113 -0
  45. package/src/lib/components/data-table/use-generated-columns.tsx +3 -1
  46. package/src/lib/components/data-table/user-views-sheet.tsx +11 -0
  47. package/src/lib/components/data-table/views-sheet.tsx +297 -0
  48. package/src/lib/components/date-range-picker.tsx +184 -0
  49. package/src/lib/components/shared/paginated-list-data-table.tsx +59 -32
  50. package/src/lib/components/ui/button.tsx +1 -1
  51. package/src/lib/framework/dashboard-widget/latest-orders-widget/index.tsx +29 -2
  52. package/src/lib/framework/dashboard-widget/metrics-widget/index.tsx +10 -7
  53. package/src/lib/framework/dashboard-widget/metrics-widget/metrics-widget.graphql.ts +9 -3
  54. package/src/lib/framework/dashboard-widget/orders-summary/index.tsx +19 -75
  55. package/src/lib/framework/dashboard-widget/widget-filters-context.tsx +33 -0
  56. package/src/lib/framework/document-introspection/add-custom-fields.spec.ts +319 -9
  57. package/src/lib/framework/document-introspection/add-custom-fields.ts +60 -31
  58. package/src/lib/framework/document-introspection/get-document-structure.spec.ts +1 -159
  59. package/src/lib/framework/document-introspection/include-only-selected-list-fields.spec.ts +1840 -0
  60. package/src/lib/framework/document-introspection/include-only-selected-list-fields.ts +940 -0
  61. package/src/lib/framework/document-introspection/testing-utils.ts +161 -0
  62. package/src/lib/framework/extension-api/display-component-extensions.tsx +2 -0
  63. package/src/lib/framework/extension-api/types/data-table.ts +62 -4
  64. package/src/lib/framework/extension-api/types/navigation.ts +16 -0
  65. package/src/lib/framework/form-engine/utils.ts +34 -0
  66. package/src/lib/framework/page/list-page.tsx +289 -4
  67. package/src/lib/framework/page/use-extended-router.tsx +59 -17
  68. package/src/lib/graphql/api.ts +4 -2
  69. package/src/lib/graphql/graphql-env.d.ts +13 -10
  70. package/src/lib/hooks/use-extended-list-query.ts +5 -0
  71. package/src/lib/hooks/use-saved-views.ts +230 -0
  72. package/src/lib/index.ts +15 -0
  73. package/src/lib/types/saved-views.ts +39 -0
  74. package/src/lib/utils/saved-views-utils.ts +40 -0
@@ -27,26 +27,67 @@ export const useExtendedRouter = (router: Router<AnyRoute, any, any>) => {
27
27
 
28
28
  let authenticatedRoute: AnyRoute = router.routeTree.children[authenticatedRouteIndex];
29
29
 
30
- const newRoutes: AnyRoute[] = [];
30
+ const newAuthenticatedRoutes: AnyRoute[] = [];
31
+ const newRootRoutes: AnyRoute[] = [];
32
+
31
33
  // Create new routes for each extension
32
34
  for (const [path, config] of extensionRoutes.entries()) {
33
35
  const pathWithoutLeadingSlash = path.startsWith('/') ? path.slice(1) : path;
34
- if (
35
- authenticatedRoute.children.findIndex((r: AnyRoute) => r.path === pathWithoutLeadingSlash) >
36
- -1
37
- ) {
38
- // Skip if the route already exists
39
- continue;
40
- }
41
36
 
42
- const newRoute: AnyRoute = createRoute({
43
- path: `/${pathWithoutLeadingSlash}`,
44
- getParentRoute: () => authenticatedRoute,
45
- loader: config.loader,
46
- component: () => config.component(newRoute),
47
- errorComponent: ({ error }) => <ErrorPage message={error.message} />,
48
- });
49
- newRoutes.push(newRoute);
37
+ // Check if route should be authenticated (default is true)
38
+ const isAuthenticated = config.authenticated !== false;
39
+
40
+ if (isAuthenticated) {
41
+ // Check if the route already exists under authenticated route
42
+ if (
43
+ authenticatedRoute.children.findIndex(
44
+ (r: AnyRoute) => r.path === pathWithoutLeadingSlash,
45
+ ) > -1
46
+ ) {
47
+ // Skip if the route already exists
48
+ continue;
49
+ }
50
+
51
+ const newRoute: AnyRoute = createRoute({
52
+ path: `/${pathWithoutLeadingSlash}`,
53
+ getParentRoute: () => authenticatedRoute,
54
+ loader: config.loader,
55
+ validateSearch: config.validateSearch,
56
+ component: () => config.component(newRoute),
57
+ errorComponent: ({ error }) => <ErrorPage message={error.message} />,
58
+ });
59
+ newAuthenticatedRoutes.push(newRoute);
60
+ } else {
61
+ // Check if the route already exists at the root level
62
+ // Check both by path and by id (which includes the leading slash)
63
+ const routeExists =
64
+ router.routeTree.children.some(
65
+ (r: AnyRoute) =>
66
+ r.path === `/${pathWithoutLeadingSlash}` ||
67
+ r.path === pathWithoutLeadingSlash ||
68
+ r.id === `/${pathWithoutLeadingSlash}`,
69
+ ) ||
70
+ newRootRoutes.some(
71
+ (r: AnyRoute) =>
72
+ r.path === `/${pathWithoutLeadingSlash}` ||
73
+ r.id === `/${pathWithoutLeadingSlash}`,
74
+ );
75
+
76
+ if (routeExists) {
77
+ // Skip if the route already exists
78
+ continue;
79
+ }
80
+
81
+ const newRoute: AnyRoute = createRoute({
82
+ path: `/${pathWithoutLeadingSlash}`,
83
+ getParentRoute: () => router.routeTree,
84
+ loader: config.loader,
85
+ validateSearch: config.validateSearch,
86
+ component: () => config.component(newRoute),
87
+ errorComponent: ({ error }) => <ErrorPage message={error.message} />,
88
+ });
89
+ newRootRoutes.push(newRoute);
90
+ }
50
91
  }
51
92
 
52
93
  const childrenWithoutAuthenticated = router.routeTree.children.filter(
@@ -57,7 +98,8 @@ export const useExtendedRouter = (router: Router<AnyRoute, any, any>) => {
57
98
  const newRouter = new Router({
58
99
  routeTree: router.routeTree.addChildren([
59
100
  ...childrenWithoutAuthenticated,
60
- authenticatedRoute.addChildren([...authenticatedRoute.children, ...newRoutes]),
101
+ authenticatedRoute.addChildren([...authenticatedRoute.children, ...newAuthenticatedRoutes]),
102
+ ...newRootRoutes,
61
103
  ]),
62
104
  basepath: router.basepath,
63
105
  defaultPreload: router.options.defaultPreload,
@@ -4,8 +4,10 @@ import { DocumentNode, print } from 'graphql';
4
4
  import { uiConfig } from 'virtual:vendure-ui-config';
5
5
 
6
6
  const API_URL =
7
- (uiConfig.api.host !== "auto" ? uiConfig.api.host : `${window.location.protocol}//${window.location.hostname}`) +
8
- `:${(uiConfig.api.port !== 'auto' ? uiConfig.api.port : window.location.port)}` +
7
+ (uiConfig.api.host !== 'auto'
8
+ ? uiConfig.api.host
9
+ : `${window.location.protocol}//${window.location.hostname}`) +
10
+ `:${uiConfig.api.port !== 'auto' ? uiConfig.api.port : window.location.port}` +
9
11
  `/${uiConfig.api.adminApiPath}`;
10
12
 
11
13
  export const SELECTED_CHANNEL_TOKEN_KEY = 'vendure-selected-channel-token';
@@ -100,7 +100,8 @@ export type introspection_types = {
100
100
  'CreateFulfillmentError': { kind: 'OBJECT'; name: 'CreateFulfillmentError'; fields: { 'errorCode': { name: 'errorCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'ErrorCode'; ofType: null; }; } }; 'fulfillmentHandlerError': { name: 'fulfillmentHandlerError'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'message': { name: 'message'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
101
101
  'CreateGroupOptionInput': { kind: 'INPUT_OBJECT'; name: 'CreateGroupOptionInput'; isOneOf: false; inputFields: [{ name: 'code'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductOptionGroupTranslationInput'; ofType: null; }; }; }; }; defaultValue: null }]; };
102
102
  'CreatePaymentMethodInput': { kind: 'INPUT_OBJECT'; name: 'CreatePaymentMethodInput'; isOneOf: false; inputFields: [{ name: 'code'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'enabled'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: null }, { name: 'checker'; type: { kind: 'INPUT_OBJECT'; name: 'ConfigurableOperationInput'; ofType: null; }; defaultValue: null }, { name: 'handler'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ConfigurableOperationInput'; ofType: null; }; }; defaultValue: null }, { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'PaymentMethodTranslationInput'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
103
- 'CreateProductInput': { kind: 'INPUT_OBJECT'; name: 'CreateProductInput'; isOneOf: false; inputFields: [{ name: 'featuredAssetId'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'enabled'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }, { name: 'assetIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'facetValueIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductTranslationInput'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
103
+ 'CreateProductCustomFieldsInput': { kind: 'INPUT_OBJECT'; name: 'CreateProductCustomFieldsInput'; isOneOf: false; inputFields: [{ name: 'reviewsIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }]; };
104
+ 'CreateProductInput': { kind: 'INPUT_OBJECT'; name: 'CreateProductInput'; isOneOf: false; inputFields: [{ name: 'featuredAssetId'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'enabled'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }, { name: 'assetIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'facetValueIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductTranslationInput'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'INPUT_OBJECT'; name: 'CreateProductCustomFieldsInput'; ofType: null; }; defaultValue: null }]; };
104
105
  'CreateProductOptionGroupInput': { kind: 'INPUT_OBJECT'; name: 'CreateProductOptionGroupInput'; isOneOf: false; inputFields: [{ name: 'code'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductOptionGroupTranslationInput'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'options'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'CreateGroupOptionInput'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
105
106
  'CreateProductOptionInput': { kind: 'INPUT_OBJECT'; name: 'CreateProductOptionInput'; isOneOf: false; inputFields: [{ name: 'productOptionGroupId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'code'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductOptionGroupTranslationInput'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
106
107
  'CreateProductVariantInput': { kind: 'INPUT_OBJECT'; name: 'CreateProductVariantInput'; isOneOf: false; inputFields: [{ name: 'productId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'enabled'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }, { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductVariantTranslationInput'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'facetValueIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'sku'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'price'; type: { kind: 'SCALAR'; name: 'Money'; ofType: null; }; defaultValue: null }, { name: 'prices'; type: { kind: 'LIST'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'CreateProductVariantPriceInput'; ofType: null; }; }; defaultValue: null }, { name: 'taxCategoryId'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'optionIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'featuredAssetId'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'assetIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'stockOnHand'; type: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; defaultValue: null }, { name: 'stockLevels'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'StockLevelInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'outOfStockThreshold'; type: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; defaultValue: null }, { name: 'useGlobalOutOfStockThreshold'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }, { name: 'trackInventory'; type: { kind: 'ENUM'; name: 'GlobalFlag'; ofType: null; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
@@ -133,6 +134,10 @@ export type introspection_types = {
133
134
  'CustomerList': { kind: 'OBJECT'; name: 'CustomerList'; fields: { 'items': { name: 'items'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Customer'; ofType: null; }; }; }; } }; 'totalItems': { name: 'totalItems'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; }; };
134
135
  'CustomerListOptions': { kind: 'INPUT_OBJECT'; name: 'CustomerListOptions'; isOneOf: false; inputFields: [{ name: 'skip'; type: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; defaultValue: null }, { name: 'take'; type: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; defaultValue: null }, { name: 'sort'; type: { kind: 'INPUT_OBJECT'; name: 'CustomerSortParameter'; ofType: null; }; defaultValue: null }, { name: 'filter'; type: { kind: 'INPUT_OBJECT'; name: 'CustomerFilterParameter'; ofType: null; }; defaultValue: null }, { name: 'filterOperator'; type: { kind: 'ENUM'; name: 'LogicalOperator'; ofType: null; }; defaultValue: null }]; };
135
136
  'CustomerSortParameter': { kind: 'INPUT_OBJECT'; name: 'CustomerSortParameter'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'createdAt'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'updatedAt'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'title'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'firstName'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'lastName'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'phoneNumber'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'emailAddress'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }]; };
137
+ 'DashboardMetricSummary': { kind: 'OBJECT'; name: 'DashboardMetricSummary'; fields: { 'entries': { name: 'entries'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'DashboardMetricSummaryEntry'; ofType: null; }; }; }; } }; 'title': { name: 'title'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'type': { name: 'type'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'DashboardMetricType'; ofType: null; }; } }; }; };
138
+ 'DashboardMetricSummaryEntry': { kind: 'OBJECT'; name: 'DashboardMetricSummaryEntry'; fields: { 'label': { name: 'label'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'value': { name: 'value'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Float'; ofType: null; }; } }; }; };
139
+ 'DashboardMetricSummaryInput': { kind: 'INPUT_OBJECT'; name: 'DashboardMetricSummaryInput'; isOneOf: false; inputFields: [{ name: 'types'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'DashboardMetricType'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'refresh'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }, { name: 'startDate'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; }; defaultValue: null }, { name: 'endDate'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; }; defaultValue: null }]; };
140
+ 'DashboardMetricType': { name: 'DashboardMetricType'; enumValues: 'OrderCount' | 'OrderTotal' | 'AverageOrderValue'; };
136
141
  'DateListOperators': { kind: 'INPUT_OBJECT'; name: 'DateListOperators'; isOneOf: false; inputFields: [{ name: 'inList'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; }; defaultValue: null }]; };
137
142
  'DateOperators': { kind: 'INPUT_OBJECT'; name: 'DateOperators'; isOneOf: false; inputFields: [{ name: 'eq'; type: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; defaultValue: null }, { name: 'before'; type: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; defaultValue: null }, { name: 'after'; type: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; defaultValue: null }, { name: 'between'; type: { kind: 'INPUT_OBJECT'; name: 'DateRange'; ofType: null; }; defaultValue: null }, { name: 'isNull'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }]; };
138
143
  'DateRange': { kind: 'INPUT_OBJECT'; name: 'DateRange'; isOneOf: false; inputFields: [{ name: 'start'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; }; defaultValue: null }, { name: 'end'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; }; defaultValue: null }]; };
@@ -218,11 +223,6 @@ export type introspection_types = {
218
223
  'LogicalOperator': { name: 'LogicalOperator'; enumValues: 'AND' | 'OR'; };
219
224
  'ManualPaymentInput': { kind: 'INPUT_OBJECT'; name: 'ManualPaymentInput'; isOneOf: false; inputFields: [{ name: 'orderId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'method'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'transactionId'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'metadata'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
220
225
  'ManualPaymentStateError': { kind: 'OBJECT'; name: 'ManualPaymentStateError'; fields: { 'errorCode': { name: 'errorCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'ErrorCode'; ofType: null; }; } }; 'message': { name: 'message'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
221
- 'MetricInterval': { name: 'MetricInterval'; enumValues: 'Daily'; };
222
- 'MetricSummary': { kind: 'OBJECT'; name: 'MetricSummary'; fields: { 'entries': { name: 'entries'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'MetricSummaryEntry'; ofType: null; }; }; }; } }; 'interval': { name: 'interval'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'MetricInterval'; ofType: null; }; } }; 'title': { name: 'title'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'type': { name: 'type'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'MetricType'; ofType: null; }; } }; }; };
223
- 'MetricSummaryEntry': { kind: 'OBJECT'; name: 'MetricSummaryEntry'; fields: { 'label': { name: 'label'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'value': { name: 'value'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Float'; ofType: null; }; } }; }; };
224
- 'MetricSummaryInput': { kind: 'INPUT_OBJECT'; name: 'MetricSummaryInput'; isOneOf: false; inputFields: [{ name: 'interval'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'MetricInterval'; ofType: null; }; }; defaultValue: null }, { name: 'types'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'MetricType'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'refresh'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }]; };
225
- 'MetricType': { name: 'MetricType'; enumValues: 'OrderCount' | 'OrderTotal' | 'AverageOrderValue'; };
226
226
  'MimeTypeError': { kind: 'OBJECT'; name: 'MimeTypeError'; fields: { 'errorCode': { name: 'errorCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'ErrorCode'; ofType: null; }; } }; 'fileName': { name: 'fileName'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'message': { name: 'message'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'mimeType': { name: 'mimeType'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
227
227
  'MissingConditionsError': { kind: 'OBJECT'; name: 'MissingConditionsError'; fields: { 'errorCode': { name: 'errorCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'ErrorCode'; ofType: null; }; } }; 'message': { name: 'message'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
228
228
  'ModifyOrderInput': { kind: 'INPUT_OBJECT'; name: 'ModifyOrderInput'; isOneOf: false; inputFields: [{ name: 'dryRun'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: null }, { name: 'orderId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'addItems'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'AddItemInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'adjustOrderLines'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'OrderLineInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'surcharges'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'SurchargeInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'updateShippingAddress'; type: { kind: 'INPUT_OBJECT'; name: 'UpdateOrderAddressInput'; ofType: null; }; defaultValue: null }, { name: 'updateBillingAddress'; type: { kind: 'INPUT_OBJECT'; name: 'UpdateOrderAddressInput'; ofType: null; }; defaultValue: null }, { name: 'note'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'refund'; type: { kind: 'INPUT_OBJECT'; name: 'AdministratorRefundInput'; ofType: null; }; defaultValue: null }, { name: 'refunds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'AdministratorRefundInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'options'; type: { kind: 'INPUT_OBJECT'; name: 'ModifyOrderOptions'; ofType: null; }; defaultValue: null }, { name: 'couponCodes'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; }; defaultValue: null }, { name: 'shippingMethodIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }]; };
@@ -274,11 +274,12 @@ export type introspection_types = {
274
274
  'PaymentMethodTranslationInput': { kind: 'INPUT_OBJECT'; name: 'PaymentMethodTranslationInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'languageCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'LanguageCode'; ofType: null; }; }; defaultValue: null }, { name: 'name'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'description'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
275
275
  'PaymentOrderMismatchError': { kind: 'OBJECT'; name: 'PaymentOrderMismatchError'; fields: { 'errorCode': { name: 'errorCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'ErrorCode'; ofType: null; }; } }; 'message': { name: 'message'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
276
276
  'PaymentStateTransitionError': { kind: 'OBJECT'; name: 'PaymentStateTransitionError'; fields: { 'errorCode': { name: 'errorCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'ErrorCode'; ofType: null; }; } }; 'fromState': { name: 'fromState'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'message': { name: 'message'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'toState': { name: 'toState'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'transitionError': { name: 'transitionError'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
277
- 'Permission': { name: 'Permission'; enumValues: 'Authenticated' | 'SuperAdmin' | 'Owner' | 'Public' | 'UpdateGlobalSettings' | 'CreateCatalog' | 'ReadCatalog' | 'UpdateCatalog' | 'DeleteCatalog' | 'CreateSettings' | 'ReadSettings' | 'UpdateSettings' | 'DeleteSettings' | 'CreateAdministrator' | 'ReadAdministrator' | 'UpdateAdministrator' | 'DeleteAdministrator' | 'CreateAsset' | 'ReadAsset' | 'UpdateAsset' | 'DeleteAsset' | 'CreateChannel' | 'ReadChannel' | 'UpdateChannel' | 'DeleteChannel' | 'CreateCollection' | 'ReadCollection' | 'UpdateCollection' | 'DeleteCollection' | 'CreateCountry' | 'ReadCountry' | 'UpdateCountry' | 'DeleteCountry' | 'CreateCustomer' | 'ReadCustomer' | 'UpdateCustomer' | 'DeleteCustomer' | 'CreateCustomerGroup' | 'ReadCustomerGroup' | 'UpdateCustomerGroup' | 'DeleteCustomerGroup' | 'CreateFacet' | 'ReadFacet' | 'UpdateFacet' | 'DeleteFacet' | 'CreateOrder' | 'ReadOrder' | 'UpdateOrder' | 'DeleteOrder' | 'CreatePaymentMethod' | 'ReadPaymentMethod' | 'UpdatePaymentMethod' | 'DeletePaymentMethod' | 'CreateProduct' | 'ReadProduct' | 'UpdateProduct' | 'DeleteProduct' | 'CreatePromotion' | 'ReadPromotion' | 'UpdatePromotion' | 'DeletePromotion' | 'CreateShippingMethod' | 'ReadShippingMethod' | 'UpdateShippingMethod' | 'DeleteShippingMethod' | 'CreateTag' | 'ReadTag' | 'UpdateTag' | 'DeleteTag' | 'CreateTaxCategory' | 'ReadTaxCategory' | 'UpdateTaxCategory' | 'DeleteTaxCategory' | 'CreateTaxRate' | 'ReadTaxRate' | 'UpdateTaxRate' | 'DeleteTaxRate' | 'CreateSeller' | 'ReadSeller' | 'UpdateSeller' | 'DeleteSeller' | 'CreateStockLocation' | 'ReadStockLocation' | 'UpdateStockLocation' | 'DeleteStockLocation' | 'CreateSystem' | 'ReadSystem' | 'UpdateSystem' | 'DeleteSystem' | 'CreateZone' | 'ReadZone' | 'UpdateZone' | 'DeleteZone'; };
277
+ 'Permission': { name: 'Permission'; enumValues: 'Authenticated' | 'SuperAdmin' | 'Owner' | 'Public' | 'UpdateGlobalSettings' | 'CreateCatalog' | 'ReadCatalog' | 'UpdateCatalog' | 'DeleteCatalog' | 'CreateSettings' | 'ReadSettings' | 'UpdateSettings' | 'DeleteSettings' | 'CreateAdministrator' | 'ReadAdministrator' | 'UpdateAdministrator' | 'DeleteAdministrator' | 'CreateAsset' | 'ReadAsset' | 'UpdateAsset' | 'DeleteAsset' | 'CreateChannel' | 'ReadChannel' | 'UpdateChannel' | 'DeleteChannel' | 'CreateCollection' | 'ReadCollection' | 'UpdateCollection' | 'DeleteCollection' | 'CreateCountry' | 'ReadCountry' | 'UpdateCountry' | 'DeleteCountry' | 'CreateCustomer' | 'ReadCustomer' | 'UpdateCustomer' | 'DeleteCustomer' | 'CreateCustomerGroup' | 'ReadCustomerGroup' | 'UpdateCustomerGroup' | 'DeleteCustomerGroup' | 'CreateFacet' | 'ReadFacet' | 'UpdateFacet' | 'DeleteFacet' | 'CreateOrder' | 'ReadOrder' | 'UpdateOrder' | 'DeleteOrder' | 'CreatePaymentMethod' | 'ReadPaymentMethod' | 'UpdatePaymentMethod' | 'DeletePaymentMethod' | 'CreateProduct' | 'ReadProduct' | 'UpdateProduct' | 'DeleteProduct' | 'CreatePromotion' | 'ReadPromotion' | 'UpdatePromotion' | 'DeletePromotion' | 'CreateShippingMethod' | 'ReadShippingMethod' | 'UpdateShippingMethod' | 'DeleteShippingMethod' | 'CreateTag' | 'ReadTag' | 'UpdateTag' | 'DeleteTag' | 'CreateTaxCategory' | 'ReadTaxCategory' | 'UpdateTaxCategory' | 'DeleteTaxCategory' | 'CreateTaxRate' | 'ReadTaxRate' | 'UpdateTaxRate' | 'DeleteTaxRate' | 'CreateSeller' | 'ReadSeller' | 'UpdateSeller' | 'DeleteSeller' | 'CreateStockLocation' | 'ReadStockLocation' | 'UpdateStockLocation' | 'DeleteStockLocation' | 'CreateSystem' | 'ReadSystem' | 'UpdateSystem' | 'DeleteSystem' | 'CreateZone' | 'ReadZone' | 'UpdateZone' | 'DeleteZone' | 'ReadDashboardGlobalViews' | 'WriteDashboardGlobalViews'; };
278
278
  'PermissionDefinition': { kind: 'OBJECT'; name: 'PermissionDefinition'; fields: { 'assignable': { name: 'assignable'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; } }; 'description': { name: 'description'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'name': { name: 'name'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
279
279
  'PreviewCollectionVariantsInput': { kind: 'INPUT_OBJECT'; name: 'PreviewCollectionVariantsInput'; isOneOf: false; inputFields: [{ name: 'parentId'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'inheritFilters'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: null }, { name: 'filters'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ConfigurableOperationInput'; ofType: null; }; }; }; }; defaultValue: null }]; };
280
280
  'PriceRange': { kind: 'OBJECT'; name: 'PriceRange'; fields: { 'max': { name: 'max'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Money'; ofType: null; }; } }; 'min': { name: 'min'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Money'; ofType: null; }; } }; }; };
281
- 'Product': { kind: 'OBJECT'; name: 'Product'; fields: { 'assets': { name: 'assets'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Asset'; ofType: null; }; }; }; } }; 'channels': { name: 'channels'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Channel'; ofType: null; }; }; }; } }; 'collections': { name: 'collections'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Collection'; ofType: null; }; }; }; } }; 'createdAt': { name: 'createdAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'customFields': { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'description': { name: 'description'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'enabled': { name: 'enabled'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; } }; 'facetValues': { name: 'facetValues'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'FacetValue'; ofType: null; }; }; }; } }; 'featuredAsset': { name: 'featuredAsset'; type: { kind: 'OBJECT'; name: 'Asset'; ofType: null; } }; 'id': { name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'languageCode': { name: 'languageCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'LanguageCode'; ofType: null; }; } }; 'name': { name: 'name'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'optionGroups': { name: 'optionGroups'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductOptionGroup'; ofType: null; }; }; }; } }; 'reviews': { name: 'reviews'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductReviewList'; ofType: null; }; } }; 'reviewsHistogram': { name: 'reviewsHistogram'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductReviewHistogramItem'; ofType: null; }; }; }; } }; 'slug': { name: 'slug'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'translations': { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductTranslation'; ofType: null; }; }; }; } }; 'updatedAt': { name: 'updatedAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'variantList': { name: 'variantList'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariantList'; ofType: null; }; } }; 'variants': { name: 'variants'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariant'; ofType: null; }; }; }; } }; }; };
281
+ 'Product': { kind: 'OBJECT'; name: 'Product'; fields: { 'assets': { name: 'assets'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Asset'; ofType: null; }; }; }; } }; 'channels': { name: 'channels'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Channel'; ofType: null; }; }; }; } }; 'collections': { name: 'collections'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Collection'; ofType: null; }; }; }; } }; 'createdAt': { name: 'createdAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'customFields': { name: 'customFields'; type: { kind: 'OBJECT'; name: 'ProductCustomFields'; ofType: null; } }; 'description': { name: 'description'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'enabled': { name: 'enabled'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; } }; 'facetValues': { name: 'facetValues'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'FacetValue'; ofType: null; }; }; }; } }; 'featuredAsset': { name: 'featuredAsset'; type: { kind: 'OBJECT'; name: 'Asset'; ofType: null; } }; 'id': { name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'languageCode': { name: 'languageCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'LanguageCode'; ofType: null; }; } }; 'name': { name: 'name'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'optionGroups': { name: 'optionGroups'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductOptionGroup'; ofType: null; }; }; }; } }; 'reviews': { name: 'reviews'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductReviewList'; ofType: null; }; } }; 'reviewsHistogram': { name: 'reviewsHistogram'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductReviewHistogramItem'; ofType: null; }; }; }; } }; 'slug': { name: 'slug'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'translations': { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductTranslation'; ofType: null; }; }; }; } }; 'updatedAt': { name: 'updatedAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'variantList': { name: 'variantList'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariantList'; ofType: null; }; } }; 'variants': { name: 'variants'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariant'; ofType: null; }; }; }; } }; }; };
282
+ 'ProductCustomFields': { kind: 'OBJECT'; name: 'ProductCustomFields'; fields: { 'reviews': { name: 'reviews'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductReview'; ofType: null; }; }; } }; }; };
282
283
  'ProductFilterParameter': { kind: 'INPUT_OBJECT'; name: 'ProductFilterParameter'; isOneOf: false; inputFields: [{ name: 'facetValueId'; type: { kind: 'INPUT_OBJECT'; name: 'IDOperators'; ofType: null; }; defaultValue: null }, { name: 'sku'; type: { kind: 'INPUT_OBJECT'; name: 'StringOperators'; ofType: null; }; defaultValue: null }, { name: 'id'; type: { kind: 'INPUT_OBJECT'; name: 'IDOperators'; ofType: null; }; defaultValue: null }, { name: 'createdAt'; type: { kind: 'INPUT_OBJECT'; name: 'DateOperators'; ofType: null; }; defaultValue: null }, { name: 'updatedAt'; type: { kind: 'INPUT_OBJECT'; name: 'DateOperators'; ofType: null; }; defaultValue: null }, { name: 'languageCode'; type: { kind: 'INPUT_OBJECT'; name: 'StringOperators'; ofType: null; }; defaultValue: null }, { name: 'name'; type: { kind: 'INPUT_OBJECT'; name: 'StringOperators'; ofType: null; }; defaultValue: null }, { name: 'slug'; type: { kind: 'INPUT_OBJECT'; name: 'StringOperators'; ofType: null; }; defaultValue: null }, { name: 'description'; type: { kind: 'INPUT_OBJECT'; name: 'StringOperators'; ofType: null; }; defaultValue: null }, { name: 'enabled'; type: { kind: 'INPUT_OBJECT'; name: 'BooleanOperators'; ofType: null; }; defaultValue: null }, { name: '_and'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductFilterParameter'; ofType: null; }; }; }; defaultValue: null }, { name: '_or'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductFilterParameter'; ofType: null; }; }; }; defaultValue: null }]; };
283
284
  'ProductList': { kind: 'OBJECT'; name: 'ProductList'; fields: { 'items': { name: 'items'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Product'; ofType: null; }; }; }; } }; 'totalItems': { name: 'totalItems'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; }; };
284
285
  'ProductListOptions': { kind: 'INPUT_OBJECT'; name: 'ProductListOptions'; isOneOf: false; inputFields: [{ name: 'skip'; type: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; defaultValue: null }, { name: 'take'; type: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; defaultValue: null }, { name: 'sort'; type: { kind: 'INPUT_OBJECT'; name: 'ProductSortParameter'; ofType: null; }; defaultValue: null }, { name: 'filter'; type: { kind: 'INPUT_OBJECT'; name: 'ProductFilterParameter'; ofType: null; }; defaultValue: null }, { name: 'filterOperator'; type: { kind: 'ENUM'; name: 'LogicalOperator'; ofType: null; }; defaultValue: null }]; };
@@ -322,7 +323,7 @@ export type introspection_types = {
322
323
  'ProvinceSortParameter': { kind: 'INPUT_OBJECT'; name: 'ProvinceSortParameter'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'createdAt'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'updatedAt'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'code'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'type'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'name'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }, { name: 'parentId'; type: { kind: 'ENUM'; name: 'SortOrder'; ofType: null; }; defaultValue: null }]; };
323
324
  'ProvinceTranslationInput': { kind: 'INPUT_OBJECT'; name: 'ProvinceTranslationInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'languageCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'LanguageCode'; ofType: null; }; }; defaultValue: null }, { name: 'name'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
324
325
  'QuantityTooGreatError': { kind: 'OBJECT'; name: 'QuantityTooGreatError'; fields: { 'errorCode': { name: 'errorCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'ErrorCode'; ofType: null; }; } }; 'message': { name: 'message'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
325
- 'Query': { kind: 'OBJECT'; name: 'Query'; fields: { 'activeAdministrator': { name: 'activeAdministrator'; type: { kind: 'OBJECT'; name: 'Administrator'; ofType: null; } }; 'activeChannel': { name: 'activeChannel'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Channel'; ofType: null; }; } }; 'administrator': { name: 'administrator'; type: { kind: 'OBJECT'; name: 'Administrator'; ofType: null; } }; 'administrators': { name: 'administrators'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'AdministratorList'; ofType: null; }; } }; 'asset': { name: 'asset'; type: { kind: 'OBJECT'; name: 'Asset'; ofType: null; } }; 'assets': { name: 'assets'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'AssetList'; ofType: null; }; } }; 'channel': { name: 'channel'; type: { kind: 'OBJECT'; name: 'Channel'; ofType: null; } }; 'channels': { name: 'channels'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ChannelList'; ofType: null; }; } }; 'collection': { name: 'collection'; type: { kind: 'OBJECT'; name: 'Collection'; ofType: null; } }; 'collectionFilters': { name: 'collectionFilters'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'collections': { name: 'collections'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'CollectionList'; ofType: null; }; } }; 'countries': { name: 'countries'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'CountryList'; ofType: null; }; } }; 'country': { name: 'country'; type: { kind: 'OBJECT'; name: 'Country'; ofType: null; } }; 'customer': { name: 'customer'; type: { kind: 'OBJECT'; name: 'Customer'; ofType: null; } }; 'customerGroup': { name: 'customerGroup'; type: { kind: 'OBJECT'; name: 'CustomerGroup'; ofType: null; } }; 'customerGroups': { name: 'customerGroups'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'CustomerGroupList'; ofType: null; }; } }; 'customers': { name: 'customers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'CustomerList'; ofType: null; }; } }; 'eligibleShippingMethodsForDraftOrder': { name: 'eligibleShippingMethodsForDraftOrder'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ShippingMethodQuote'; ofType: null; }; }; }; } }; 'entityDuplicators': { name: 'entityDuplicators'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'EntityDuplicatorDefinition'; ofType: null; }; }; }; } }; 'facet': { name: 'facet'; type: { kind: 'OBJECT'; name: 'Facet'; ofType: null; } }; 'facetValue': { name: 'facetValue'; type: { kind: 'OBJECT'; name: 'FacetValue'; ofType: null; } }; 'facetValues': { name: 'facetValues'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'FacetValueList'; ofType: null; }; } }; 'facets': { name: 'facets'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'FacetList'; ofType: null; }; } }; 'fulfillmentHandlers': { name: 'fulfillmentHandlers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'getSettingsStoreValue': { name: 'getSettingsStoreValue'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'getSettingsStoreValues': { name: 'getSettingsStoreValues'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'globalSettings': { name: 'globalSettings'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'GlobalSettings'; ofType: null; }; } }; 'job': { name: 'job'; type: { kind: 'OBJECT'; name: 'Job'; ofType: null; } }; 'jobBufferSize': { name: 'jobBufferSize'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'JobBufferSize'; ofType: null; }; }; }; } }; 'jobQueues': { name: 'jobQueues'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'JobQueue'; ofType: null; }; }; }; } }; 'jobs': { name: 'jobs'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'JobList'; ofType: null; }; } }; 'jobsById': { name: 'jobsById'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Job'; ofType: null; }; }; }; } }; 'me': { name: 'me'; type: { kind: 'OBJECT'; name: 'CurrentUser'; ofType: null; } }; 'metricSummary': { name: 'metricSummary'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'MetricSummary'; ofType: null; }; }; }; } }; 'order': { name: 'order'; type: { kind: 'OBJECT'; name: 'Order'; ofType: null; } }; 'orders': { name: 'orders'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'OrderList'; ofType: null; }; } }; 'paymentMethod': { name: 'paymentMethod'; type: { kind: 'OBJECT'; name: 'PaymentMethod'; ofType: null; } }; 'paymentMethodEligibilityCheckers': { name: 'paymentMethodEligibilityCheckers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'paymentMethodHandlers': { name: 'paymentMethodHandlers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'paymentMethods': { name: 'paymentMethods'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PaymentMethodList'; ofType: null; }; } }; 'pendingSearchIndexUpdates': { name: 'pendingSearchIndexUpdates'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; 'previewCollectionVariants': { name: 'previewCollectionVariants'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariantList'; ofType: null; }; } }; 'product': { name: 'product'; type: { kind: 'OBJECT'; name: 'Product'; ofType: null; } }; 'productOptionGroup': { name: 'productOptionGroup'; type: { kind: 'OBJECT'; name: 'ProductOptionGroup'; ofType: null; } }; 'productOptionGroups': { name: 'productOptionGroups'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductOptionGroup'; ofType: null; }; }; }; } }; 'productReview': { name: 'productReview'; type: { kind: 'OBJECT'; name: 'ProductReview'; ofType: null; } }; 'productReviews': { name: 'productReviews'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductReviewList'; ofType: null; }; } }; 'productVariant': { name: 'productVariant'; type: { kind: 'OBJECT'; name: 'ProductVariant'; ofType: null; } }; 'productVariants': { name: 'productVariants'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariantList'; ofType: null; }; } }; 'products': { name: 'products'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductList'; ofType: null; }; } }; 'promotion': { name: 'promotion'; type: { kind: 'OBJECT'; name: 'Promotion'; ofType: null; } }; 'promotionActions': { name: 'promotionActions'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'promotionConditions': { name: 'promotionConditions'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'promotions': { name: 'promotions'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PromotionList'; ofType: null; }; } }; 'province': { name: 'province'; type: { kind: 'OBJECT'; name: 'Province'; ofType: null; } }; 'provinces': { name: 'provinces'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProvinceList'; ofType: null; }; } }; 'role': { name: 'role'; type: { kind: 'OBJECT'; name: 'Role'; ofType: null; } }; 'roles': { name: 'roles'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'RoleList'; ofType: null; }; } }; 'scheduledTasks': { name: 'scheduledTasks'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ScheduledTask'; ofType: null; }; }; }; } }; 'search': { name: 'search'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'SearchResponse'; ofType: null; }; } }; 'seller': { name: 'seller'; type: { kind: 'OBJECT'; name: 'Seller'; ofType: null; } }; 'sellers': { name: 'sellers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'SellerList'; ofType: null; }; } }; 'shippingCalculators': { name: 'shippingCalculators'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'shippingEligibilityCheckers': { name: 'shippingEligibilityCheckers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'shippingMethod': { name: 'shippingMethod'; type: { kind: 'OBJECT'; name: 'ShippingMethod'; ofType: null; } }; 'shippingMethods': { name: 'shippingMethods'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ShippingMethodList'; ofType: null; }; } }; 'stockLocation': { name: 'stockLocation'; type: { kind: 'OBJECT'; name: 'StockLocation'; ofType: null; } }; 'stockLocations': { name: 'stockLocations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'StockLocationList'; ofType: null; }; } }; 'tag': { name: 'tag'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Tag'; ofType: null; }; } }; 'tags': { name: 'tags'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TagList'; ofType: null; }; } }; 'taxCategories': { name: 'taxCategories'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TaxCategoryList'; ofType: null; }; } }; 'taxCategory': { name: 'taxCategory'; type: { kind: 'OBJECT'; name: 'TaxCategory'; ofType: null; } }; 'taxRate': { name: 'taxRate'; type: { kind: 'OBJECT'; name: 'TaxRate'; ofType: null; } }; 'taxRates': { name: 'taxRates'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TaxRateList'; ofType: null; }; } }; 'testEligibleShippingMethods': { name: 'testEligibleShippingMethods'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ShippingMethodQuote'; ofType: null; }; }; }; } }; 'testShippingMethod': { name: 'testShippingMethod'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TestShippingMethodResult'; ofType: null; }; } }; 'zone': { name: 'zone'; type: { kind: 'OBJECT'; name: 'Zone'; ofType: null; } }; 'zones': { name: 'zones'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ZoneList'; ofType: null; }; } }; }; };
326
+ 'Query': { kind: 'OBJECT'; name: 'Query'; fields: { 'activeAdministrator': { name: 'activeAdministrator'; type: { kind: 'OBJECT'; name: 'Administrator'; ofType: null; } }; 'activeChannel': { name: 'activeChannel'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Channel'; ofType: null; }; } }; 'administrator': { name: 'administrator'; type: { kind: 'OBJECT'; name: 'Administrator'; ofType: null; } }; 'administrators': { name: 'administrators'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'AdministratorList'; ofType: null; }; } }; 'asset': { name: 'asset'; type: { kind: 'OBJECT'; name: 'Asset'; ofType: null; } }; 'assets': { name: 'assets'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'AssetList'; ofType: null; }; } }; 'channel': { name: 'channel'; type: { kind: 'OBJECT'; name: 'Channel'; ofType: null; } }; 'channels': { name: 'channels'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ChannelList'; ofType: null; }; } }; 'collection': { name: 'collection'; type: { kind: 'OBJECT'; name: 'Collection'; ofType: null; } }; 'collectionFilters': { name: 'collectionFilters'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'collections': { name: 'collections'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'CollectionList'; ofType: null; }; } }; 'countries': { name: 'countries'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'CountryList'; ofType: null; }; } }; 'country': { name: 'country'; type: { kind: 'OBJECT'; name: 'Country'; ofType: null; } }; 'customer': { name: 'customer'; type: { kind: 'OBJECT'; name: 'Customer'; ofType: null; } }; 'customerGroup': { name: 'customerGroup'; type: { kind: 'OBJECT'; name: 'CustomerGroup'; ofType: null; } }; 'customerGroups': { name: 'customerGroups'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'CustomerGroupList'; ofType: null; }; } }; 'customers': { name: 'customers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'CustomerList'; ofType: null; }; } }; 'dashboardMetricSummary': { name: 'dashboardMetricSummary'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'DashboardMetricSummary'; ofType: null; }; }; }; } }; 'eligibleShippingMethodsForDraftOrder': { name: 'eligibleShippingMethodsForDraftOrder'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ShippingMethodQuote'; ofType: null; }; }; }; } }; 'entityDuplicators': { name: 'entityDuplicators'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'EntityDuplicatorDefinition'; ofType: null; }; }; }; } }; 'facet': { name: 'facet'; type: { kind: 'OBJECT'; name: 'Facet'; ofType: null; } }; 'facetValue': { name: 'facetValue'; type: { kind: 'OBJECT'; name: 'FacetValue'; ofType: null; } }; 'facetValues': { name: 'facetValues'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'FacetValueList'; ofType: null; }; } }; 'facets': { name: 'facets'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'FacetList'; ofType: null; }; } }; 'fulfillmentHandlers': { name: 'fulfillmentHandlers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'getSettingsStoreValue': { name: 'getSettingsStoreValue'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'getSettingsStoreValues': { name: 'getSettingsStoreValues'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'globalSettings': { name: 'globalSettings'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'GlobalSettings'; ofType: null; }; } }; 'job': { name: 'job'; type: { kind: 'OBJECT'; name: 'Job'; ofType: null; } }; 'jobBufferSize': { name: 'jobBufferSize'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'JobBufferSize'; ofType: null; }; }; }; } }; 'jobQueues': { name: 'jobQueues'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'JobQueue'; ofType: null; }; }; }; } }; 'jobs': { name: 'jobs'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'JobList'; ofType: null; }; } }; 'jobsById': { name: 'jobsById'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Job'; ofType: null; }; }; }; } }; 'me': { name: 'me'; type: { kind: 'OBJECT'; name: 'CurrentUser'; ofType: null; } }; 'order': { name: 'order'; type: { kind: 'OBJECT'; name: 'Order'; ofType: null; } }; 'orders': { name: 'orders'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'OrderList'; ofType: null; }; } }; 'paymentMethod': { name: 'paymentMethod'; type: { kind: 'OBJECT'; name: 'PaymentMethod'; ofType: null; } }; 'paymentMethodEligibilityCheckers': { name: 'paymentMethodEligibilityCheckers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'paymentMethodHandlers': { name: 'paymentMethodHandlers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'paymentMethods': { name: 'paymentMethods'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PaymentMethodList'; ofType: null; }; } }; 'pendingSearchIndexUpdates': { name: 'pendingSearchIndexUpdates'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; 'previewCollectionVariants': { name: 'previewCollectionVariants'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariantList'; ofType: null; }; } }; 'product': { name: 'product'; type: { kind: 'OBJECT'; name: 'Product'; ofType: null; } }; 'productOptionGroup': { name: 'productOptionGroup'; type: { kind: 'OBJECT'; name: 'ProductOptionGroup'; ofType: null; } }; 'productOptionGroups': { name: 'productOptionGroups'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductOptionGroup'; ofType: null; }; }; }; } }; 'productReview': { name: 'productReview'; type: { kind: 'OBJECT'; name: 'ProductReview'; ofType: null; } }; 'productReviews': { name: 'productReviews'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductReviewList'; ofType: null; }; } }; 'productVariant': { name: 'productVariant'; type: { kind: 'OBJECT'; name: 'ProductVariant'; ofType: null; } }; 'productVariants': { name: 'productVariants'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariantList'; ofType: null; }; } }; 'products': { name: 'products'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductList'; ofType: null; }; } }; 'promotion': { name: 'promotion'; type: { kind: 'OBJECT'; name: 'Promotion'; ofType: null; } }; 'promotionActions': { name: 'promotionActions'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'promotionConditions': { name: 'promotionConditions'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'promotions': { name: 'promotions'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PromotionList'; ofType: null; }; } }; 'province': { name: 'province'; type: { kind: 'OBJECT'; name: 'Province'; ofType: null; } }; 'provinces': { name: 'provinces'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProvinceList'; ofType: null; }; } }; 'role': { name: 'role'; type: { kind: 'OBJECT'; name: 'Role'; ofType: null; } }; 'roles': { name: 'roles'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'RoleList'; ofType: null; }; } }; 'scheduledTasks': { name: 'scheduledTasks'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ScheduledTask'; ofType: null; }; }; }; } }; 'search': { name: 'search'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'SearchResponse'; ofType: null; }; } }; 'seller': { name: 'seller'; type: { kind: 'OBJECT'; name: 'Seller'; ofType: null; } }; 'sellers': { name: 'sellers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'SellerList'; ofType: null; }; } }; 'shippingCalculators': { name: 'shippingCalculators'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'shippingEligibilityCheckers': { name: 'shippingEligibilityCheckers'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ConfigurableOperationDefinition'; ofType: null; }; }; }; } }; 'shippingMethod': { name: 'shippingMethod'; type: { kind: 'OBJECT'; name: 'ShippingMethod'; ofType: null; } }; 'shippingMethods': { name: 'shippingMethods'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ShippingMethodList'; ofType: null; }; } }; 'slugForEntity': { name: 'slugForEntity'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'stockLocation': { name: 'stockLocation'; type: { kind: 'OBJECT'; name: 'StockLocation'; ofType: null; } }; 'stockLocations': { name: 'stockLocations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'StockLocationList'; ofType: null; }; } }; 'tag': { name: 'tag'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Tag'; ofType: null; }; } }; 'tags': { name: 'tags'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TagList'; ofType: null; }; } }; 'taxCategories': { name: 'taxCategories'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TaxCategoryList'; ofType: null; }; } }; 'taxCategory': { name: 'taxCategory'; type: { kind: 'OBJECT'; name: 'TaxCategory'; ofType: null; } }; 'taxRate': { name: 'taxRate'; type: { kind: 'OBJECT'; name: 'TaxRate'; ofType: null; } }; 'taxRates': { name: 'taxRates'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TaxRateList'; ofType: null; }; } }; 'testEligibleShippingMethods': { name: 'testEligibleShippingMethods'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ShippingMethodQuote'; ofType: null; }; }; }; } }; 'testShippingMethod': { name: 'testShippingMethod'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TestShippingMethodResult'; ofType: null; }; } }; 'zone': { name: 'zone'; type: { kind: 'OBJECT'; name: 'Zone'; ofType: null; } }; 'zones': { name: 'zones'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ZoneList'; ofType: null; }; } }; }; };
326
327
  'Refund': { kind: 'OBJECT'; name: 'Refund'; fields: { 'adjustment': { name: 'adjustment'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Money'; ofType: null; }; } }; 'createdAt': { name: 'createdAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'customFields': { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'id': { name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'items': { name: 'items'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Money'; ofType: null; }; } }; 'lines': { name: 'lines'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'RefundLine'; ofType: null; }; }; }; } }; 'metadata': { name: 'metadata'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'method': { name: 'method'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; } }; 'paymentId': { name: 'paymentId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'reason': { name: 'reason'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; } }; 'shipping': { name: 'shipping'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Money'; ofType: null; }; } }; 'state': { name: 'state'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'total': { name: 'total'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Money'; ofType: null; }; } }; 'transactionId': { name: 'transactionId'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; } }; 'updatedAt': { name: 'updatedAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; }; };
327
328
  'RefundAmountError': { kind: 'OBJECT'; name: 'RefundAmountError'; fields: { 'errorCode': { name: 'errorCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'ErrorCode'; ofType: null; }; } }; 'maximumRefundable': { name: 'maximumRefundable'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; 'message': { name: 'message'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; }; };
328
329
  'RefundLine': { kind: 'OBJECT'; name: 'RefundLine'; fields: { 'orderLine': { name: 'orderLine'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'OrderLine'; ofType: null; }; } }; 'orderLineId': { name: 'orderLineId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'quantity': { name: 'quantity'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; 'refund': { name: 'refund'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Refund'; ofType: null; }; } }; 'refundId': { name: 'refundId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; }; };
@@ -386,6 +387,7 @@ export type introspection_types = {
386
387
  'ShippingMethodTranslation': { kind: 'OBJECT'; name: 'ShippingMethodTranslation'; fields: { 'createdAt': { name: 'createdAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'description': { name: 'description'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'id': { name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'languageCode': { name: 'languageCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'LanguageCode'; ofType: null; }; } }; 'name': { name: 'name'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'updatedAt': { name: 'updatedAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; }; };
387
388
  'ShippingMethodTranslationInput': { kind: 'INPUT_OBJECT'; name: 'ShippingMethodTranslationInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'languageCode'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'LanguageCode'; ofType: null; }; }; defaultValue: null }, { name: 'name'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'description'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
388
389
  'SinglePrice': { kind: 'OBJECT'; name: 'SinglePrice'; fields: { 'value': { name: 'value'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Money'; ofType: null; }; } }; }; };
390
+ 'SlugForEntityInput': { kind: 'INPUT_OBJECT'; name: 'SlugForEntityInput'; isOneOf: false; inputFields: [{ name: 'entityName'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'fieldName'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'inputValue'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'entityId'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }]; };
389
391
  'SortOrder': { name: 'SortOrder'; enumValues: 'ASC' | 'DESC'; };
390
392
  'StockAdjustment': { kind: 'OBJECT'; name: 'StockAdjustment'; fields: { 'createdAt': { name: 'createdAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'customFields': { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'id': { name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'productVariant': { name: 'productVariant'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ProductVariant'; ofType: null; }; } }; 'quantity': { name: 'quantity'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; 'type': { name: 'type'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'StockMovementType'; ofType: null; }; } }; 'updatedAt': { name: 'updatedAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; }; };
391
393
  'StockLevel': { kind: 'OBJECT'; name: 'StockLevel'; fields: { 'createdAt': { name: 'createdAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'customFields': { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; } }; 'id': { name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'stockAllocated': { name: 'stockAllocated'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; 'stockLocation': { name: 'stockLocation'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'StockLocation'; ofType: null; }; } }; 'stockLocationId': { name: 'stockLocationId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; } }; 'stockOnHand': { name: 'stockOnHand'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Int'; ofType: null; }; } }; 'updatedAt': { name: 'updatedAt'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; }; };
@@ -461,7 +463,8 @@ export type introspection_types = {
461
463
  'UpdateOrderItemsResult': { kind: 'UNION'; name: 'UpdateOrderItemsResult'; fields: {}; possibleTypes: 'InsufficientStockError' | 'NegativeQuantityError' | 'Order' | 'OrderInterceptorError' | 'OrderLimitError' | 'OrderModificationError'; };
462
464
  'UpdateOrderNoteInput': { kind: 'INPUT_OBJECT'; name: 'UpdateOrderNoteInput'; isOneOf: false; inputFields: [{ name: 'noteId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'note'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'isPublic'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }]; };
463
465
  'UpdatePaymentMethodInput': { kind: 'INPUT_OBJECT'; name: 'UpdatePaymentMethodInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'code'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'enabled'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }, { name: 'checker'; type: { kind: 'INPUT_OBJECT'; name: 'ConfigurableOperationInput'; ofType: null; }; defaultValue: null }, { name: 'handler'; type: { kind: 'INPUT_OBJECT'; name: 'ConfigurableOperationInput'; ofType: null; }; defaultValue: null }, { name: 'translations'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'PaymentMethodTranslationInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
464
- 'UpdateProductInput': { kind: 'INPUT_OBJECT'; name: 'UpdateProductInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'enabled'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }, { name: 'featuredAssetId'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'assetIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'facetValueIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'translations'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductTranslationInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
466
+ 'UpdateProductCustomFieldsInput': { kind: 'INPUT_OBJECT'; name: 'UpdateProductCustomFieldsInput'; isOneOf: false; inputFields: [{ name: 'reviewsIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }]; };
467
+ 'UpdateProductInput': { kind: 'INPUT_OBJECT'; name: 'UpdateProductInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'enabled'; type: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; defaultValue: null }, { name: 'featuredAssetId'; type: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; defaultValue: null }, { name: 'assetIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'facetValueIds'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; }; defaultValue: null }, { name: 'translations'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductTranslationInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'INPUT_OBJECT'; name: 'UpdateProductCustomFieldsInput'; ofType: null; }; defaultValue: null }]; };
465
468
  'UpdateProductOptionGroupInput': { kind: 'INPUT_OBJECT'; name: 'UpdateProductOptionGroupInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'code'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'translations'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductOptionGroupTranslationInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
466
469
  'UpdateProductOptionInput': { kind: 'INPUT_OBJECT'; name: 'UpdateProductOptionInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'code'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'translations'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductOptionGroupTranslationInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
467
470
  'UpdateProductReviewInput': { kind: 'INPUT_OBJECT'; name: 'UpdateProductReviewInput'; isOneOf: false; inputFields: [{ name: 'id'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ID'; ofType: null; }; }; defaultValue: null }, { name: 'summary'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'body'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'response'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'state'; type: { kind: 'SCALAR'; name: 'String'; ofType: null; }; defaultValue: null }, { name: 'translations'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'ProductReviewTranslationInput'; ofType: null; }; }; }; }; defaultValue: null }, { name: 'customFields'; type: { kind: 'SCALAR'; name: 'JSON'; ofType: null; }; defaultValue: null }]; };
@@ -8,6 +8,11 @@ import { toast } from 'sonner';
8
8
  import { usePageBlock } from './use-page-block.js';
9
9
  import { usePage } from './use-page.js';
10
10
 
11
+ /**
12
+ * @description
13
+ * Extends the given list query document with additional fields that can be
14
+ * supplied via the Dashboard Extension API.
15
+ */
11
16
  export function useExtendedListQuery<T extends DocumentNode>(listQuery: T) {
12
17
  const { pageId } = usePage();
13
18
  const { blockId } = usePageBlock() ?? {};
@@ -0,0 +1,230 @@
1
+ import { api } from '@/vdb/graphql/api.js';
2
+ import {
3
+ getSettingsStoreValueDocument,
4
+ setSettingsStoreValueDocument,
5
+ } from '@/vdb/graphql/settings-store-operations.js';
6
+ import { SavedView, SavedViewsStore, SaveViewInput, UpdateViewInput } from '@/vdb/types/saved-views.js';
7
+ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
8
+ import { ColumnFiltersState } from '@tanstack/react-table';
9
+
10
+ import { usePageBlock } from './use-page-block.js';
11
+ import { usePage } from './use-page.js';
12
+ import { usePermissions } from './use-permissions.js';
13
+
14
+ const generateId = () => {
15
+ const array = new Uint32Array(2);
16
+ crypto.getRandomValues(array);
17
+ return array[0].toString(36) + array[1].toString(36);
18
+ };
19
+
20
+ export function useSavedViews() {
21
+ const queryClient = useQueryClient();
22
+ const { pageId } = usePage();
23
+ const pageBlock = usePageBlock({ optional: true });
24
+ const blockId = pageBlock?.blockId || 'default';
25
+
26
+ if (!pageId) {
27
+ throw new Error('useSavedViews must be used within a Page context');
28
+ }
29
+
30
+ const userViewsKey = 'vendure.dashboard.userSavedViews';
31
+ const globalViewsKey = 'vendure.dashboard.globalSavedViews';
32
+
33
+ // Query for user views
34
+ const { data: userViewsData, isLoading: userViewsLoading } = useQuery({
35
+ queryKey: ['saved-views-user', pageId, blockId],
36
+ queryFn: async () => {
37
+ const result = await api.query(getSettingsStoreValueDocument, { key: userViewsKey });
38
+ const allUserViews = (result?.getSettingsStoreValue as SavedViewsStore) || {};
39
+ return allUserViews[pageId]?.[blockId] || [];
40
+ },
41
+ });
42
+
43
+ // Query for global views
44
+ const { data: globalViewsData, isLoading: globalViewsLoading } = useQuery({
45
+ queryKey: ['saved-views-global', pageId, blockId],
46
+ queryFn: async () => {
47
+ const result = await api.query(getSettingsStoreValueDocument, { key: globalViewsKey });
48
+ const allGlobalViews = (result?.getSettingsStoreValue as SavedViewsStore) || {};
49
+ return allGlobalViews[pageId]?.[blockId] || [];
50
+ },
51
+ });
52
+
53
+ // Save user view mutation
54
+ const saveUserViewMutation = useMutation({
55
+ mutationFn: async (views: SavedView[]) => {
56
+ // Get current data first
57
+ const result = await api.query(getSettingsStoreValueDocument, { key: userViewsKey });
58
+ const allUserViews = (result?.getSettingsStoreValue as SavedViewsStore) || {};
59
+
60
+ // Update the specific page and block
61
+ const updatedViews = {
62
+ ...allUserViews,
63
+ [pageId]: {
64
+ ...allUserViews[pageId],
65
+ [blockId]: views,
66
+ },
67
+ };
68
+
69
+ return api.mutate(setSettingsStoreValueDocument, {
70
+ input: { key: userViewsKey, value: updatedViews },
71
+ });
72
+ },
73
+ onSuccess: () => {
74
+ void queryClient.invalidateQueries({ queryKey: ['saved-views-user', pageId, blockId] });
75
+ },
76
+ });
77
+
78
+ // Save global view mutation
79
+ const saveGlobalViewMutation = useMutation({
80
+ mutationFn: async (views: SavedView[]) => {
81
+ // Get current data first
82
+ const result = await api.query(getSettingsStoreValueDocument, { key: globalViewsKey });
83
+ const allGlobalViews = (result?.getSettingsStoreValue as SavedViewsStore) || {};
84
+
85
+ // Update the specific page and block
86
+ const updatedViews = {
87
+ ...allGlobalViews,
88
+ [pageId]: {
89
+ ...allGlobalViews[pageId],
90
+ [blockId]: views,
91
+ },
92
+ };
93
+
94
+ return api.mutate(setSettingsStoreValueDocument, {
95
+ input: { key: globalViewsKey, value: updatedViews },
96
+ });
97
+ },
98
+ onSuccess: () => {
99
+ void queryClient.invalidateQueries({ queryKey: ['saved-views-global', pageId, blockId] });
100
+ },
101
+ });
102
+
103
+ const saveView = async (input: SaveViewInput) => {
104
+ const newView: SavedView = {
105
+ id: generateId(),
106
+ name: input.name,
107
+ scope: input.scope,
108
+ filters: input.filters,
109
+ searchTerm: input.searchTerm,
110
+ pageId,
111
+ blockId: blockId === 'default' ? undefined : blockId,
112
+ createdAt: new Date().toISOString(),
113
+ updatedAt: new Date().toISOString(),
114
+ };
115
+
116
+ if (input.scope === 'user') {
117
+ const currentViews = userViewsData || [];
118
+ await saveUserViewMutation.mutateAsync([...currentViews, newView]);
119
+ } else {
120
+ const currentViews = globalViewsData || [];
121
+ await saveGlobalViewMutation.mutateAsync([...currentViews, newView]);
122
+ }
123
+
124
+ return newView;
125
+ };
126
+
127
+ const updateView = async (input: UpdateViewInput) => {
128
+ const userViews = userViewsData || [];
129
+ const globalViews = globalViewsData || [];
130
+
131
+ const viewInUserViews = userViews.find(v => v.id === input.id);
132
+ const viewInGlobalViews = globalViews.find(v => v.id === input.id);
133
+
134
+ if (viewInUserViews) {
135
+ const updatedViews = userViews.map(v =>
136
+ v.id === input.id
137
+ ? {
138
+ ...v,
139
+ name: input.name ?? v.name,
140
+ filters: input.filters ?? v.filters,
141
+ searchTerm: input.searchTerm !== undefined ? input.searchTerm : v.searchTerm,
142
+ updatedAt: new Date().toISOString(),
143
+ }
144
+ : v,
145
+ );
146
+ await saveUserViewMutation.mutateAsync(updatedViews);
147
+ } else if (viewInGlobalViews) {
148
+ const updatedViews = globalViews.map(v =>
149
+ v.id === input.id
150
+ ? {
151
+ ...v,
152
+ name: input.name ?? v.name,
153
+ filters: input.filters ?? v.filters,
154
+ searchTerm: input.searchTerm !== undefined ? input.searchTerm : v.searchTerm,
155
+ updatedAt: new Date().toISOString(),
156
+ }
157
+ : v,
158
+ );
159
+ await saveGlobalViewMutation.mutateAsync(updatedViews);
160
+ }
161
+ };
162
+
163
+ const deleteView = async (viewId: string) => {
164
+ const userViews = userViewsData || [];
165
+ const globalViews = globalViewsData || [];
166
+
167
+ if (userViews.some(v => v.id === viewId)) {
168
+ const updatedViews = userViews.filter(v => v.id !== viewId);
169
+ await saveUserViewMutation.mutateAsync(updatedViews);
170
+ } else if (globalViews.some(v => v.id === viewId)) {
171
+ const updatedViews = globalViews.filter(v => v.id !== viewId);
172
+ await saveGlobalViewMutation.mutateAsync(updatedViews);
173
+ }
174
+ };
175
+
176
+ const duplicateView = async (viewId: string, newScope: 'user' | 'global') => {
177
+ const allViews = [...(userViewsData || []), ...(globalViewsData || [])];
178
+ const viewToDuplicate = allViews.find(v => v.id === viewId);
179
+
180
+ if (viewToDuplicate) {
181
+ const newView: SavedView = {
182
+ ...viewToDuplicate,
183
+ id: generateId(),
184
+ name: `${viewToDuplicate.name} (Copy)`,
185
+ scope: newScope,
186
+ pageId,
187
+ blockId: blockId === 'default' ? undefined : blockId,
188
+ createdAt: new Date().toISOString(),
189
+ updatedAt: new Date().toISOString(),
190
+ };
191
+
192
+ if (newScope === 'user') {
193
+ const currentViews = userViewsData || [];
194
+ await saveUserViewMutation.mutateAsync([...currentViews, newView]);
195
+ } else {
196
+ const currentViews = globalViewsData || [];
197
+ await saveGlobalViewMutation.mutateAsync([...currentViews, newView]);
198
+ }
199
+
200
+ return newView;
201
+ }
202
+ };
203
+
204
+ const applyView = (
205
+ view: SavedView,
206
+ setFilters: (filters: ColumnFiltersState) => void,
207
+ setSearchTerm?: (term: string) => void,
208
+ ) => {
209
+ setFilters(view.filters);
210
+ if (setSearchTerm && view.searchTerm !== undefined) {
211
+ setSearchTerm(view.searchTerm);
212
+ }
213
+ };
214
+
215
+ // Use UpdateSettings permission for managing global views
216
+ const { hasPermissions } = usePermissions();
217
+ const canManageGlobalViews = hasPermissions(['WriteDashboardGlobalViews']);
218
+
219
+ return {
220
+ userViews: userViewsData || [],
221
+ globalViews: globalViewsData || [],
222
+ isLoading: userViewsLoading || globalViewsLoading,
223
+ saveView,
224
+ updateView,
225
+ deleteView,
226
+ duplicateView,
227
+ applyView,
228
+ canManageGlobalViews,
229
+ };
230
+ }