@faststore/core 4.5.0-dev.2 → 4.5.0-dev.4
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.
- package/.turbo/turbo-generate.log +3 -3
- package/.turbo/turbo-test.log +81 -75
- package/@generated/gql.ts +6 -6
- package/@generated/graphql.ts +46 -7
- package/@generated/persisted-documents.json +2 -2
- package/@generated/schema.graphql +44 -5
- package/CHANGELOG.md +12 -0
- package/cms/faststore/components/cms_component__recommendationshelf.jsonc +7 -1
- package/cms/faststore/schema.json +7 -1
- package/discovery.config.default.js +0 -3
- package/package.json +6 -6
- package/src/Layout.tsx +4 -5
- package/src/components/sections/EmptyState/EmptyState.tsx +4 -3
- package/src/components/sections/RecommendationShelf/README.md +163 -0
- package/src/components/sections/RecommendationShelf/RecommendationShelf.tsx +3 -4
- package/src/components/sections/RecommendationShelf/RecommendationShelf.types.ts +8 -1
- package/src/components/templates/ProductListingPage/ProductListingPage.tsx +43 -37
- package/src/components/ui/Breadcrumb/Breadcrumb.tsx +5 -12
- package/src/components/ui/LocalizationButton/LocalizationButton.tsx +5 -1
- package/src/experimental/index.ts +2 -0
- package/src/pages/[...slug].tsx +5 -0
- package/src/pages/[slug]/p.tsx +63 -11
- package/src/sdk/analytics/hooks/useStartRecommendationSession.ts +38 -18
- package/src/sdk/analytics/utils/hasEnabledRecommendationShelf.ts +49 -0
- package/src/sdk/localization/LocalizedProductContext.tsx +65 -0
- package/src/sdk/localization/useBindingSelector.ts +148 -5
- package/src/server/index.ts +10 -1
- package/test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx +32 -45
- package/test/sdk/analytics/hasEnabledRecommendationShelf.test.ts +88 -0
- package/test/sdk/analytics/useStartRecommendationSession.test.ts +90 -15
- package/test/sdk/localization/useBindingSelector.test.tsx +144 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@4.5.0-dev.
|
|
2
|
+
> @faststore/core@4.5.0-dev.3 generate /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> pnpm run gen-types && pnpm run cache-graphql
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @faststore/core@4.5.0-dev.
|
|
6
|
+
> @faststore/core@4.5.0-dev.3 gen-types /home/runner/work/faststore/faststore/packages/core
|
|
7
7
|
> node ../cli/bin/run generate-types .
|
|
8
8
|
|
|
9
9
|
[33m[STARTED][39m Parse Configuration
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
[32m[COMPLETED][39m Generate to /home/runner/work/faststore/faststore/packages/core/@generated/
|
|
20
20
|
[32m[COMPLETED][39m Generate outputs
|
|
21
21
|
|
|
22
|
-
> @faststore/core@4.5.0-dev.
|
|
22
|
+
> @faststore/core@4.5.0-dev.3 cache-graphql /home/runner/work/faststore/faststore/packages/core
|
|
23
23
|
> node ../cli/bin/run cache-graphql --config=./discovery.config.default.js --queries=./@generated/persisted-documents.json
|
|
24
24
|
|
|
25
25
|
[Info] - Config file location: /home/runner/work/faststore/faststore/packages/core/discovery.config.default.js
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@4.5.0-dev.
|
|
2
|
+
> @faststore/core@4.5.0-dev.3 test /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> vitest run
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
[1m[46m RUN [49m[22m [36mv4.0.7 [39m[90m/home/runner/work/faststore/faststore/packages/core[39m
|
|
7
7
|
|
|
8
|
-
[32m✓[39m [30m[46m browser [49m[39m test/sdk/session/reconcileSessionLocale.browser.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m
|
|
8
|
+
[32m✓[39m [30m[46m browser [49m[39m test/sdk/session/reconcileSessionLocale.browser.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 46[2mms[22m[39m
|
|
9
9
|
[90mstderr[2m | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
|
|
10
10
|
[22m[39mError in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=32c15f8888ca34f223def7972b7f19090808435a
|
|
11
11
|
[90m at node:internal/deps/undici/undici:16416:13[39m
|
|
@@ -35,10 +35,12 @@
|
|
|
35
35
|
[90mstderr[2m | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx[2m > [22m[2mRecommendationShelf[2m > [22m[2mrenders nothing when there is an error
|
|
36
36
|
[22m[39mError fetching recommendations [90mundefined[39m boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
|
|
37
37
|
|
|
38
|
-
[32m✓[39m [30m[46m browser [49m[39m test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx [2m([22m[2m8 tests[22m[2m)[22m[
|
|
39
|
-
[32m✓[39m [30m[46m browser [49m[39m test/components/account/ContractSwitcher.browser.test.tsx [2m([22m[2m13 tests[22m[2m)[22m[33m
|
|
40
|
-
[33m[2m✓[22m[39m shows an error state when the list fails to load [33m
|
|
41
|
-
[33m[2m✓[22m[39m requires selecting a contract before Confirm is enabled, then switches (REQ-03) [33m
|
|
38
|
+
[32m✓[39m [30m[46m browser [49m[39m test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx [2m([22m[2m8 tests[22m[2m)[22m[33m 309[2mms[22m[39m
|
|
39
|
+
[32m✓[39m [30m[46m browser [49m[39m test/components/account/ContractSwitcher.browser.test.tsx [2m([22m[2m13 tests[22m[2m)[22m[33m 2605[2mms[22m[39m
|
|
40
|
+
[33m[2m✓[22m[39m shows an error state when the list fails to load [33m 686[2mms[22m[39m
|
|
41
|
+
[33m[2m✓[22m[39m requires selecting a contract before Confirm is enabled, then switches (REQ-03) [33m 330[2mms[22m[39m
|
|
42
|
+
[33m[2m✓[22m[39m keeps Confirm disabled when the selected contract is filtered out [33m 325[2mms[22m[39m
|
|
43
|
+
[33m[2m✓[22m[39m does not reload when the switch returns false [33m 309[2mms[22m[39m
|
|
42
44
|
[90mstderr[2m | test/pages/password-protection.browser.test.tsx[2m > [22m[2mPasswordProtectionLogin[2m > [22m[2mposts the password and redirects to the requested return path
|
|
43
45
|
[22m[39mWarning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
|
|
44
46
|
|
|
@@ -268,14 +270,15 @@ act(() => {
|
|
|
268
270
|
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act
|
|
269
271
|
at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
|
|
270
272
|
|
|
271
|
-
[32m✓[39m [30m[46m browser [49m[39m test/pages/password-protection.browser.test.tsx [2m([22m[2m6 tests[22m[2m)[22m[33m
|
|
272
|
-
[33m[2m✓[22m[39m renders the password protection form [33m
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
[32m✓[39m [30m[46m browser [49m[39m test/
|
|
276
|
-
|
|
277
|
-
[33m[2m✓[22m[39m
|
|
278
|
-
[33m[2m✓[22m[39m
|
|
273
|
+
[32m✓[39m [30m[46m browser [49m[39m test/pages/password-protection.browser.test.tsx [2m([22m[2m6 tests[22m[2m)[22m[33m 2426[2mms[22m[39m
|
|
274
|
+
[33m[2m✓[22m[39m renders the password protection form [33m 917[2mms[22m[39m
|
|
275
|
+
[33m[2m✓[22m[39m posts the password and redirects to the requested return path [33m 368[2mms[22m[39m
|
|
276
|
+
[33m[2m✓[22m[39m defaults returnTo to root and shows API validation errors [33m 312[2mms[22m[39m
|
|
277
|
+
[32m✓[39m [30m[46m browser [49m[39m test/sdk/session/getInitialSession.browser.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 47[2mms[22m[39m
|
|
278
|
+
[32m✓[39m [30m[46m browser [49m[39m test/components/account/OrganizationDrawer.browser.test.tsx [2m([22m[2m5 tests[22m[2m)[22m[33m 2196[2mms[22m[39m
|
|
279
|
+
[33m[2m✓[22m[39m renders the menu view with contract details and manage footer [33m 1127[2mms[22m[39m
|
|
280
|
+
[33m[2m✓[22m[39m opens the contract switcher and returns to the menu on back [33m 383[2mms[22m[39m
|
|
281
|
+
[33m[2m✓[22m[39m resets to the menu when the drawer closes [33m 366[2mms[22m[39m
|
|
279
282
|
[90mstderr[2m | test/sdk/localization/store-url.browser.test.ts
|
|
280
283
|
[22m[39mError in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
|
|
281
284
|
at validateCart [90m(/home/runner/work/faststore/faststore/packages/core/[39msrc/sdk/cart/index.ts:119:27[90m)[39m
|
|
@@ -283,9 +286,9 @@ This ensures that you're testing the behavior the user would see in the browser.
|
|
|
283
286
|
at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
|
|
284
287
|
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
|
285
288
|
|
|
286
|
-
[32m✓[39m [30m[46m browser [49m[39m test/sdk/
|
|
287
|
-
[32m✓[39m [30m[46m browser [49m[39m test/sdk/
|
|
288
|
-
[32m✓[39m [30m[46m browser [49m[39m test/sdk/account/
|
|
289
|
+
[32m✓[39m [30m[46m browser [49m[39m test/sdk/account/changeContractToken.browser.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 76[2mms[22m[39m
|
|
290
|
+
[32m✓[39m [30m[46m browser [49m[39m test/sdk/localization/store-url.browser.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 31[2mms[22m[39m
|
|
291
|
+
[32m✓[39m [30m[46m browser [49m[39m test/sdk/account/useAvailableContracts.browser.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 63[2mms[22m[39m
|
|
289
292
|
[90mstderr[2m | test/components/account/doLogout.browser.test.ts
|
|
290
293
|
[22m[39mError in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
|
|
291
294
|
at validateCart [90m(/home/runner/work/faststore/faststore/packages/core/[39msrc/sdk/cart/index.ts:119:27[90m)[39m
|
|
@@ -293,9 +296,8 @@ This ensures that you're testing the behavior the user would see in the browser.
|
|
|
293
296
|
at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
|
|
294
297
|
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
|
295
298
|
|
|
296
|
-
[32m✓[39m [30m[46m browser [49m[39m test/
|
|
297
|
-
[32m✓[39m [30m[46m browser [49m[39m test/components/account/
|
|
298
|
-
[32m✓[39m [30m[46m browser [49m[39m test/components/account/OrganizationDrawerFooter.browser.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[32m 280[2mms[22m[39m
|
|
299
|
+
[32m✓[39m [30m[46m browser [49m[39m test/sdk/account/useSwitchContract.browser.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 175[2mms[22m[39m
|
|
300
|
+
[32m✓[39m [30m[46m browser [49m[39m test/components/account/doLogout.browser.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 80[2mms[22m[39m
|
|
299
301
|
[90mstderr[2m | test/sdk/account/clearPersistedSessionState.browser.test.ts
|
|
300
302
|
[22m[39mError in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
|
|
301
303
|
at validateCart [90m(/home/runner/work/faststore/faststore/packages/core/[39msrc/sdk/cart/index.ts:119:27[90m)[39m
|
|
@@ -303,10 +305,12 @@ This ensures that you're testing the behavior the user would see in the browser.
|
|
|
303
305
|
at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
|
|
304
306
|
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
|
305
307
|
|
|
306
|
-
[32m✓[39m [30m[46m browser [49m[39m test/
|
|
307
|
-
[32m✓[39m [30m[46m browser [49m[39m test/
|
|
308
|
-
[32m✓[39m [30m[
|
|
308
|
+
[32m✓[39m [30m[46m browser [49m[39m test/components/account/OrganizationDrawerHeader.browser.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[33m 311[2mms[22m[39m
|
|
309
|
+
[32m✓[39m [30m[46m browser [49m[39m test/sdk/account/clearPersistedSessionState.browser.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
310
|
+
[32m✓[39m [30m[46m browser [49m[39m test/components/account/OrganizationDrawerFooter.browser.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[33m 344[2mms[22m[39m
|
|
311
|
+
[32m✓[39m [30m[46m browser [49m[39m test/utils/isLocalHost.browser.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
309
312
|
[32m✓[39m [30m[46m browser [49m[39m test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
313
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/localization/bindingPaths.test.ts [2m([22m[2m71 tests[22m[2m)[22m[32m 35[2mms[22m[39m
|
|
310
314
|
[90mstderr[2m | test/sdk/account/refreshToken.browser.test.ts
|
|
311
315
|
[22m[39mError in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
|
|
312
316
|
at validateCart [90m(/home/runner/work/faststore/faststore/packages/core/[39msrc/sdk/cart/index.ts:119:27[90m)[39m
|
|
@@ -314,11 +318,12 @@ This ensures that you're testing the behavior the user would see in the browser.
|
|
|
314
318
|
at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
|
|
315
319
|
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
|
316
320
|
|
|
317
|
-
[32m✓[39m [30m[
|
|
318
|
-
[32m✓[39m [30m[43m node [49m[39m test/server/password-protection-service.test.ts [2m([22m[2m22 tests[22m[2m)[22m[32m
|
|
319
|
-
[32m✓[39m [30m[
|
|
320
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/localization/
|
|
321
|
-
[32m✓[39m [30m[43m node [49m[39m test/pages/api/unlock.test.ts [2m([22m[2m15 tests[22m[2m)[22m[32m
|
|
321
|
+
[32m✓[39m [30m[46m browser [49m[39m test/sdk/account/refreshToken.browser.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
322
|
+
[32m✓[39m [30m[43m node [49m[39m test/server/password-protection-service.test.ts [2m([22m[2m22 tests[22m[2m)[22m[32m 33[2mms[22m[39m
|
|
323
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/match-url.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
324
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/localization/useBindingSelector.test.tsx [2m([22m[2m22 tests[22m[2m)[22m[32m 17[2mms[22m[39m
|
|
325
|
+
[32m✓[39m [30m[43m node [49m[39m test/pages/api/unlock.test.ts [2m([22m[2m15 tests[22m[2m)[22m[32m 226[2mms[22m[39m
|
|
326
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/localization/bindingSelector.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
322
327
|
[90mstderr[2m | test/components/search/SearchInputComponent.test.tsx
|
|
323
328
|
[22m[39mWarning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
|
|
324
329
|
|
|
@@ -382,23 +387,22 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
|
|
|
382
387
|
at Suspense
|
|
383
388
|
at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
|
|
384
389
|
|
|
385
|
-
[32m✓[39m [30m[43m node [49m[39m test/components/search/SearchInputComponent.test.tsx [2m([22m[2m6 tests[22m[2m)[22m[32m
|
|
386
|
-
[32m✓[39m [30m[43m node [49m[39m test/utils/cookieCacheBusting.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m
|
|
387
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/
|
|
388
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/search/useSearchHistory.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 58[2mms[22m[39m
|
|
390
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/search/SearchInputComponent.test.tsx [2m([22m[2m6 tests[22m[2m)[22m[32m 66[2mms[22m[39m
|
|
391
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/cookieCacheBusting.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 15[2mms[22m[39m
|
|
392
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/search/useSearchHistory.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 73[2mms[22m[39m
|
|
389
393
|
[32m✓[39m [30m[43m node [49m[39m test/utils/clearCookies.test.ts [2m([22m[2m20 tests[22m[2m)[22m[32m 28[2mms[22m[39m
|
|
390
|
-
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountListQuotesTable.test.tsx [2m([22m[2m12 tests[22m[2m)[22m[33m
|
|
394
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountListQuotesTable.test.tsx [2m([22m[2m12 tests[22m[2m)[22m[33m 378[2mms[22m[39m
|
|
391
395
|
[90mstderr[2m | test/sdk/account/useSetPassword.test.ts[2m > [22m[2museSetPassword[2m > [22m[2mmaps wrongcredentials error responses to the existing message
|
|
392
396
|
[22m[39mSet password request failed: Bad Request
|
|
393
397
|
|
|
394
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/account/useSetPassword.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m
|
|
395
|
-
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/quoteFilters.test.ts [2m([22m[2m23 tests[22m[2m)[22m[32m
|
|
396
|
-
[32m✓[39m [30m[43m node [49m[39m test/utils/multipleTemplates.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m
|
|
397
|
-
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountListQuotes.test.tsx [2m([22m[2m9 tests[22m[2m)[22m[33m
|
|
398
|
-
[33m[2m✓[22m[39m navigates with the search term on blur [33m
|
|
399
|
-
[33m[2m✓[22m[39m navigates without a label param when the search is cleared [33m
|
|
400
|
-
[32m✓[39m [30m[43m node [49m[39m test/utils/localization/localizeRedirectDestination.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m
|
|
401
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/orderEntry/useOrderEntryOperation.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m
|
|
398
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/account/useSetPassword.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 34[2mms[22m[39m
|
|
399
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/quoteFilters.test.ts [2m([22m[2m23 tests[22m[2m)[22m[32m 28[2mms[22m[39m
|
|
400
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/multipleTemplates.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
401
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountListQuotes.test.tsx [2m([22m[2m9 tests[22m[2m)[22m[33m 815[2mms[22m[39m
|
|
402
|
+
[33m[2m✓[22m[39m navigates with the search term on blur [33m 358[2mms[22m[39m
|
|
403
|
+
[33m[2m✓[22m[39m navigates without a label param when the search is cleared [33m 359[2mms[22m[39m
|
|
404
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/localization/localizeRedirectDestination.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
405
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/orderEntry/useOrderEntryOperation.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 31[2mms[22m[39m
|
|
402
406
|
[90mstderr[2m | test/pages/api/graphql.test.ts[2m > [22m[2m/api/graphql error status propagation[2m > [22m[2mpropagates the upstream 400 from a wrapped BadRequestError instead of 500
|
|
403
407
|
[22m[39mGraphql execution returned with error: [
|
|
404
408
|
{
|
|
@@ -445,46 +449,48 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
|
|
|
445
449
|
{ message: [32m'bad'[39m, status: [33m400[39m, type: [32m'BadRequestError'[39m }
|
|
446
450
|
]
|
|
447
451
|
|
|
448
|
-
[32m✓[39m [30m[43m node [49m[39m test/pages/api/graphql.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m
|
|
449
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/orderEntry/useOrderEntryUpload.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m
|
|
450
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/
|
|
451
|
-
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountQuotesFilterSlider.test.tsx [2m([22m[2m5 tests[22m[2m)[22m[32m
|
|
452
|
-
[32m✓[39m [30m[43m node [49m[39m test/proxy.localization.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m
|
|
453
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
458
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
459
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
460
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
461
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
462
|
-
[32m✓[39m [30m[43m node [49m[39m test/server/
|
|
463
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/
|
|
464
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/
|
|
465
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
466
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
452
|
+
[32m✓[39m [30m[43m node [49m[39m test/pages/api/graphql.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 26[2mms[22m[39m
|
|
453
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/orderEntry/useOrderEntryUpload.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 37[2mms[22m[39m
|
|
454
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/analytics/useStartRecommendationSession.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 58[2mms[22m[39m
|
|
455
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountQuotesFilterSlider.test.tsx [2m([22m[2m5 tests[22m[2m)[22m[32m 137[2mms[22m[39m
|
|
456
|
+
[32m✓[39m [30m[43m node [49m[39m test/proxy.localization.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 76[2mms[22m[39m
|
|
457
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/orderEntry/useOrderEntry.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 29[2mms[22m[39m
|
|
458
|
+
[32m✓[39m [30m[43m node [49m[39m test/server/index.test.ts [2m([22m[2m7 tests[22m[2m)[22m[33m 1078[2mms[22m[39m
|
|
459
|
+
[33m[2m✓[22m[39m should return a valid merged GraphQL schema [33m 324[2mms[22m[39m
|
|
460
|
+
[33m[2m✓[22m[39m should handle options and execute [33m 527[2mms[22m[39m
|
|
461
|
+
[32m✓[39m [30m[43m node [49m[39m test/proxy.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 38[2mms[22m[39m
|
|
462
|
+
[32m✓[39m [30m[43m node [49m[39m test/server/webops-api.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 21[2mms[22m[39m
|
|
463
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountQuotesSelectedTags.test.tsx [2m([22m[2m8 tests[22m[2m)[22m[32m 117[2mms[22m[39m
|
|
464
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/account/refreshToken.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
465
|
+
[32m✓[39m [30m[43m node [49m[39m test/server/content/service.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
466
|
+
[32m✓[39m [30m[43m node [49m[39m test/server/cms/global.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
467
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/orderEntry/useOrderFormItems.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 45[2mms[22m[39m
|
|
468
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/account/getMyAccountRoutes.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
469
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/localization/store-url.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
470
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/analytics/hasEnabledRecommendationShelf.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
471
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/getRequestHostname.test.ts [2m([22m[2m12 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
472
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/auth/useAuth.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 24[2mms[22m[39m
|
|
473
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountQuotesStatusSelector.test.tsx [2m([22m[2m6 tests[22m[2m)[22m[32m 151[2mms[22m[39m
|
|
474
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/validateSessionRefreshToken.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
467
475
|
[32m✓[39m [30m[43m node [49m[39m test/pages/api/preview.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
468
476
|
[32m✓[39m [30m[43m node [49m[39m test/components/search/SearchInput.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 9[2mms[22m[39m
|
|
469
|
-
[32m✓[39m [30m[43m node [49m[39m test/utils/validateSessionRefreshToken.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
470
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/analytics/useStartRecommendationSession.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 24[2mms[22m[39m
|
|
471
477
|
[32m✓[39m [30m[43m node [49m[39m test/components/RecommendationShelf/vrn.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
472
|
-
[32m✓[39m [30m[43m node [49m[39m test/components/RecommendationShelf/useRecommendationUserId.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 188[2mms[22m[39m
|
|
473
478
|
[32m✓[39m [30m[43m node [49m[39m test/server/cms/index.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
474
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
475
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
476
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
477
|
-
[32m✓[39m [30m[43m node [49m[39m test/
|
|
479
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/retry.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 13[2mms[22m[39m
|
|
480
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/RecommendationShelf/useRecommendationUserId.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 195[2mms[22m[39m
|
|
481
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/account/Layout.test.tsx [2m([22m[2m4 tests[22m[2m)[22m[32m 55[2mms[22m[39m
|
|
482
|
+
[32m✓[39m [30m[43m node [49m[39m test/utils/unlockResponse.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
483
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/RecommendationShelf/useRecommendations.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
478
484
|
[32m✓[39m [30m[43m node [49m[39m test/utils/isLocalHost.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
479
485
|
[32m✓[39m [30m[43m node [49m[39m test/utils/userOrderStatus.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
480
|
-
[32m✓[39m [30m[43m node [49m[39m test/components/account/OrganizationDrawerBody.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[32m
|
|
481
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/analytics/utils.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m
|
|
486
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/account/OrganizationDrawerBody.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[32m 42[2mms[22m[39m
|
|
487
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/analytics/utils.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
482
488
|
[32m✓[39m [30m[43m node [49m[39m test/components/auth/ProfileChallenge.test.tsx [2m([22m[2m3 tests[22m[2m)[22m[32m 45[2mms[22m[39m
|
|
483
|
-
[32m✓[39m [30m[43m node [49m[39m test/sdk/account/clearPersistedSessionState.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m
|
|
484
|
-
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountQuoteStatusBadge.test.tsx [2m([22m[2m2 tests[22m[2m)[22m[32m
|
|
489
|
+
[32m✓[39m [30m[43m node [49m[39m test/sdk/account/clearPersistedSessionState.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 13[2mms[22m[39m
|
|
490
|
+
[32m✓[39m [30m[43m node [49m[39m test/components/quotes/MyAccountQuoteStatusBadge.test.tsx [2m([22m[2m2 tests[22m[2m)[22m[32m 27[2mms[22m[39m
|
|
485
491
|
|
|
486
|
-
[2m Test Files [22m [1m[
|
|
487
|
-
[2m Tests [22m [1m[
|
|
488
|
-
[2m Start at [22m
|
|
489
|
-
[2m Duration [22m
|
|
492
|
+
[2m Test Files [22m [1m[32m71 passed[39m[22m[90m (71)[39m
|
|
493
|
+
[2m Tests [22m [1m[32m558 passed[39m[22m[90m (558)[39m
|
|
494
|
+
[2m Start at [22m 22:14:55
|
|
495
|
+
[2m Duration [22m 38.19s[2m (transform 8.70s, setup 0ms, collect 29.56s, tests 12.87s, environment 50.72s, prepare 1.34s)[22m
|
|
490
496
|
|
package/@generated/gql.ts
CHANGED
|
@@ -30,8 +30,8 @@ type Documents = {
|
|
|
30
30
|
"\n fragment ServerCollectionPage on Query {\n collection(slug: $slug) {\n id\n }\n }\n": typeof types.ServerCollectionPageFragmentDoc,
|
|
31
31
|
"\n fragment ServerProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n }\n": typeof types.ServerProductFragmentDoc,
|
|
32
32
|
"\n query ServerAccountPageQuery {\n accountProfile {\n name\n }\n }\n": typeof types.ServerAccountPageQueryDocument,
|
|
33
|
-
"\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n }\n }\n": typeof types.ServerCollectionPageQueryDocument,
|
|
34
|
-
"\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n ...ProductDetailsFragment_product\n }\n }\n": typeof types.ServerProductQueryDocument,
|
|
33
|
+
"\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n otherLocales {\n locale\n slug\n }\n }\n }\n": typeof types.ServerCollectionPageQueryDocument,
|
|
34
|
+
"\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n otherLocales {\n locale\n slug\n }\n\n ...ProductDetailsFragment_product\n }\n }\n": typeof types.ServerProductQueryDocument,
|
|
35
35
|
"\n fragment UserOrderItemsFragment on UserOrderItems {\n id\n name\n quantity\n sellingPrice\n unitMultiplier\n measurementUnit\n imageUrl\n detailUrl\n refId\n rewardValue\n }\n": typeof types.UserOrderItemsFragmentFragmentDoc,
|
|
36
36
|
"\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n creationDate\n status\n canProcessOrderAuthorization\n statusDescription\n allowCancellation\n ruleForAuthorization {\n orderAuthorizationId\n dimensionId\n rule {\n id\n name\n status\n doId\n authorizedEmails\n priority\n trigger {\n condition {\n conditionType\n description\n lessThan\n greatherThan\n expression\n }\n effect {\n description\n effectType\n funcPath\n }\n }\n timeout\n notification\n scoreInterval {\n accept\n deny\n }\n authorizationData {\n requireAllApprovals\n authorizers {\n id\n email\n type\n authorizationDate\n }\n }\n isUserAuthorized\n isUserNextAuthorizer\n }\n }\n storePreferencesData {\n currencyCode\n }\n clientProfileData {\n firstName\n lastName\n email\n phone\n corporateName\n isCorporate\n }\n customFields {\n type\n id\n fields {\n name\n value\n refId\n }\n }\n deliveryOptionsData {\n deliveryOptions {\n selectedSla\n deliveryChannel\n deliveryCompany\n deliveryWindow {\n startDateUtc\n endDateUtc\n price\n }\n shippingEstimate\n shippingEstimateDate\n friendlyShippingEstimate\n friendlyDeliveryOptionName\n seller\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n pickupStoreInfo {\n additionalInfo\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n dockId\n friendlyName\n isPickupStore\n }\n quantityOfDifferentItems\n total\n items {\n id\n uniqueId\n name\n quantity\n price\n sellingPrice\n imageUrl\n tax\n taxPriceTagsTotal\n total\n }\n }\n contact {\n email\n phone\n name\n }\n }\n paymentData {\n transactions {\n isActive\n payments {\n id\n paymentSystemName\n value\n installments\n referenceValue\n lastDigits\n url\n group\n tid\n connectorResponses {\n authId\n }\n bankIssuedInvoiceIdentificationNumber\n redemptionCode\n paymentOrigin\n }\n }\n }\n totals {\n id\n name\n value\n }\n shopper {\n firstName\n lastName\n email\n phone\n }\n budgetData {\n budgets {\n id\n name\n balance {\n remaining\n }\n allocations {\n id\n linkedEntity {\n id\n }\n reservations\n }\n }\n }\n }\n accountProfile {\n name\n }\n }\n": typeof types.ServerOrderDetailsQueryDocument,
|
|
37
37
|
"\n query ServerListOrdersQuery ($page: Int,$perPage: Int, $status: [String], $dateInitial: String, $dateFinal: String, $text: String, $clientEmail: String, $pendingMyApproval: Boolean) {\n listUserOrders (page: $page, perPage: $perPage, status: $status, dateInitial: $dateInitial, dateFinal: $dateFinal, text: $text, clientEmail: $clientEmail, pendingMyApproval: $pendingMyApproval) {\n list {\n orderId\n creationDate\n clientName\n items {\n seller\n quantity\n description\n ean\n refId\n id\n productId\n sellingPrice\n price\n }\n totalValue\n status\n statusDescription\n ShippingEstimatedDate\n currencyCode\n customFields {\n type\n value\n }\n }\n paging {\n total\n pages\n currentPage\n perPage\n }\n }\n accountProfile {\n name\n }\n }\n": typeof types.ServerListOrdersQueryDocument,
|
|
@@ -82,8 +82,8 @@ const documents: Documents = {
|
|
|
82
82
|
"\n fragment ServerCollectionPage on Query {\n collection(slug: $slug) {\n id\n }\n }\n": types.ServerCollectionPageFragmentDoc,
|
|
83
83
|
"\n fragment ServerProduct on Query {\n product(locator: $locator) {\n id: productID\n }\n }\n": types.ServerProductFragmentDoc,
|
|
84
84
|
"\n query ServerAccountPageQuery {\n accountProfile {\n name\n }\n }\n": types.ServerAccountPageQueryDocument,
|
|
85
|
-
"\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n }\n }\n": types.ServerCollectionPageQueryDocument,
|
|
86
|
-
"\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n ...ProductDetailsFragment_product\n }\n }\n": types.ServerProductQueryDocument,
|
|
85
|
+
"\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n otherLocales {\n locale\n slug\n }\n }\n }\n": types.ServerCollectionPageQueryDocument,
|
|
86
|
+
"\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n otherLocales {\n locale\n slug\n }\n\n ...ProductDetailsFragment_product\n }\n }\n": types.ServerProductQueryDocument,
|
|
87
87
|
"\n fragment UserOrderItemsFragment on UserOrderItems {\n id\n name\n quantity\n sellingPrice\n unitMultiplier\n measurementUnit\n imageUrl\n detailUrl\n refId\n rewardValue\n }\n": types.UserOrderItemsFragmentFragmentDoc,
|
|
88
88
|
"\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n creationDate\n status\n canProcessOrderAuthorization\n statusDescription\n allowCancellation\n ruleForAuthorization {\n orderAuthorizationId\n dimensionId\n rule {\n id\n name\n status\n doId\n authorizedEmails\n priority\n trigger {\n condition {\n conditionType\n description\n lessThan\n greatherThan\n expression\n }\n effect {\n description\n effectType\n funcPath\n }\n }\n timeout\n notification\n scoreInterval {\n accept\n deny\n }\n authorizationData {\n requireAllApprovals\n authorizers {\n id\n email\n type\n authorizationDate\n }\n }\n isUserAuthorized\n isUserNextAuthorizer\n }\n }\n storePreferencesData {\n currencyCode\n }\n clientProfileData {\n firstName\n lastName\n email\n phone\n corporateName\n isCorporate\n }\n customFields {\n type\n id\n fields {\n name\n value\n refId\n }\n }\n deliveryOptionsData {\n deliveryOptions {\n selectedSla\n deliveryChannel\n deliveryCompany\n deliveryWindow {\n startDateUtc\n endDateUtc\n price\n }\n shippingEstimate\n shippingEstimateDate\n friendlyShippingEstimate\n friendlyDeliveryOptionName\n seller\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n pickupStoreInfo {\n additionalInfo\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n dockId\n friendlyName\n isPickupStore\n }\n quantityOfDifferentItems\n total\n items {\n id\n uniqueId\n name\n quantity\n price\n sellingPrice\n imageUrl\n tax\n taxPriceTagsTotal\n total\n }\n }\n contact {\n email\n phone\n name\n }\n }\n paymentData {\n transactions {\n isActive\n payments {\n id\n paymentSystemName\n value\n installments\n referenceValue\n lastDigits\n url\n group\n tid\n connectorResponses {\n authId\n }\n bankIssuedInvoiceIdentificationNumber\n redemptionCode\n paymentOrigin\n }\n }\n }\n totals {\n id\n name\n value\n }\n shopper {\n firstName\n lastName\n email\n phone\n }\n budgetData {\n budgets {\n id\n name\n balance {\n remaining\n }\n allocations {\n id\n linkedEntity {\n id\n }\n reservations\n }\n }\n }\n }\n accountProfile {\n name\n }\n }\n": types.ServerOrderDetailsQueryDocument,
|
|
89
89
|
"\n query ServerListOrdersQuery ($page: Int,$perPage: Int, $status: [String], $dateInitial: String, $dateFinal: String, $text: String, $clientEmail: String, $pendingMyApproval: Boolean) {\n listUserOrders (page: $page, perPage: $perPage, status: $status, dateInitial: $dateInitial, dateFinal: $dateFinal, text: $text, clientEmail: $clientEmail, pendingMyApproval: $pendingMyApproval) {\n list {\n orderId\n creationDate\n clientName\n items {\n seller\n quantity\n description\n ean\n refId\n id\n productId\n sellingPrice\n price\n }\n totalValue\n status\n statusDescription\n ShippingEstimatedDate\n currencyCode\n customFields {\n type\n value\n }\n }\n paging {\n total\n pages\n currentPage\n perPage\n }\n }\n accountProfile {\n name\n }\n }\n": types.ServerListOrdersQueryDocument,
|
|
@@ -182,11 +182,11 @@ export function gql(source: "\n query ServerAccountPageQuery {\n accountProf
|
|
|
182
182
|
/**
|
|
183
183
|
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
184
184
|
*/
|
|
185
|
-
export function gql(source: "\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n }\n }\n"): typeof import('./graphql').ServerCollectionPageQueryDocument;
|
|
185
|
+
export function gql(source: "\n query ServerCollectionPageQuery($slug: String!) {\n ...ServerCollectionPage\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n otherLocales {\n locale\n slug\n }\n }\n }\n"): typeof import('./graphql').ServerCollectionPageQueryDocument;
|
|
186
186
|
/**
|
|
187
187
|
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
188
188
|
*/
|
|
189
|
-
export function gql(source: "\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n ...ProductDetailsFragment_product\n }\n }\n"): typeof import('./graphql').ServerProductQueryDocument;
|
|
189
|
+
export function gql(source: "\n query ServerProductQuery($locator: [IStoreSelectedFacet!]!) {\n ...ServerProduct\n product(locator: $locator) {\n id: productID\n\n seo {\n title\n description\n canonical\n }\n\n brand {\n name\n }\n\n sku\n gtin\n mpn\n name\n description\n releaseDate\n\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n\n image {\n url\n alternateName\n }\n\n offers {\n lowPrice\n highPrice\n lowPriceWithTaxes\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n }\n }\n\n isVariantOf {\n productGroupID\n }\n\n otherLocales {\n locale\n slug\n }\n\n ...ProductDetailsFragment_product\n }\n }\n"): typeof import('./graphql').ServerProductQueryDocument;
|
|
190
190
|
/**
|
|
191
191
|
* The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
192
192
|
*/
|
package/@generated/graphql.ts
CHANGED
|
@@ -1292,6 +1292,11 @@ export type StoreCollection = {
|
|
|
1292
1292
|
id: Scalars['ID']['output'];
|
|
1293
1293
|
/** Collection meta information. Used for search. */
|
|
1294
1294
|
meta: StoreCollectionMeta;
|
|
1295
|
+
/**
|
|
1296
|
+
* Localized versions of this collection for all available locales.
|
|
1297
|
+
* Only populated when localization is enabled.
|
|
1298
|
+
*/
|
|
1299
|
+
otherLocales: Maybe<Array<StoreCollectionLocale>>;
|
|
1295
1300
|
/** Meta tag data. */
|
|
1296
1301
|
seo: StoreSeo;
|
|
1297
1302
|
/** Corresponding collection URL slug, with which to retrieve this entity. */
|
|
@@ -1324,25 +1329,46 @@ export type StoreCollectionFacet = {
|
|
|
1324
1329
|
value: Scalars['String']['output'];
|
|
1325
1330
|
};
|
|
1326
1331
|
|
|
1332
|
+
/** Localized collection data for a specific locale. */
|
|
1333
|
+
export type StoreCollectionLocale = {
|
|
1334
|
+
/** Locale code (e.g. "pt-BR", "it-IT"). */
|
|
1335
|
+
locale: Scalars['String']['output'];
|
|
1336
|
+
/** Localized collection slug (e.g. "vestuario/camisetas"). */
|
|
1337
|
+
slug: Scalars['String']['output'];
|
|
1338
|
+
};
|
|
1339
|
+
|
|
1327
1340
|
/** Collection meta information. Used for search. */
|
|
1328
1341
|
export type StoreCollectionMeta = {
|
|
1329
1342
|
/** List of selected collection facets. */
|
|
1330
1343
|
selectedFacets: Array<StoreCollectionFacet>;
|
|
1331
1344
|
};
|
|
1332
1345
|
|
|
1333
|
-
/**
|
|
1346
|
+
/**
|
|
1347
|
+
* Product collection type. Possible values are `Department`, `Category`, `Brand` or `Collection`.
|
|
1348
|
+
*
|
|
1349
|
+
* `SubCategory` and `Cluster` are still declared for backward compatibility but are
|
|
1350
|
+
* deprecated and never returned.
|
|
1351
|
+
*/
|
|
1334
1352
|
export type StoreCollectionType =
|
|
1335
1353
|
/** Product brand. */
|
|
1336
1354
|
| 'Brand'
|
|
1337
1355
|
/** Second level of product categorization. */
|
|
1338
1356
|
| 'Category'
|
|
1339
|
-
/**
|
|
1357
|
+
/**
|
|
1358
|
+
* Product cluster.
|
|
1359
|
+
*
|
|
1360
|
+
* Deprecated: never returned — clusters resolve as `Collection`.
|
|
1361
|
+
*/
|
|
1340
1362
|
| 'Cluster'
|
|
1341
1363
|
/** Product collection. */
|
|
1342
1364
|
| 'Collection'
|
|
1343
1365
|
/** First level of product categorization. */
|
|
1344
1366
|
| 'Department'
|
|
1345
|
-
/**
|
|
1367
|
+
/**
|
|
1368
|
+
* Third level of product categorization.
|
|
1369
|
+
*
|
|
1370
|
+
* Deprecated: never returned — third-level categories resolve as `Category`.
|
|
1371
|
+
*/
|
|
1346
1372
|
| 'SubCategory';
|
|
1347
1373
|
|
|
1348
1374
|
/** A commercial contract available to a buyer's Organization Unit. */
|
|
@@ -1604,6 +1630,11 @@ export type StoreProduct = {
|
|
|
1604
1630
|
name: Scalars['String']['output'];
|
|
1605
1631
|
/** Aggregate offer information. */
|
|
1606
1632
|
offers: StoreAggregateOffer;
|
|
1633
|
+
/**
|
|
1634
|
+
* Localized versions of this product for all available locales.
|
|
1635
|
+
* Only populated when localization is enabled.
|
|
1636
|
+
*/
|
|
1637
|
+
otherLocales: Maybe<Array<StoreProductLocale>>;
|
|
1607
1638
|
/** Product ID, such as [ISBN](https://www.isbn-international.org/content/what-isbn) or similar global IDs. */
|
|
1608
1639
|
productID: Scalars['String']['output'];
|
|
1609
1640
|
/** The product's release date. Formatted using https://en.wikipedia.org/wiki/ISO_8601 */
|
|
@@ -1665,6 +1696,14 @@ export type StoreProductGroup = {
|
|
|
1665
1696
|
skuVariants: Maybe<SkuVariants>;
|
|
1666
1697
|
};
|
|
1667
1698
|
|
|
1699
|
+
/** Localized product data for a specific locale. */
|
|
1700
|
+
export type StoreProductLocale = {
|
|
1701
|
+
/** Locale code (e.g. "pt-BR", "it-IT"). */
|
|
1702
|
+
locale: Scalars['String']['output'];
|
|
1703
|
+
/** Localized product slug including the SKU ID suffix (e.g. "adidas-polo-uomo-65"). */
|
|
1704
|
+
slug: Scalars['String']['output'];
|
|
1705
|
+
};
|
|
1706
|
+
|
|
1668
1707
|
/** Properties that can be associated with products and products groups. */
|
|
1669
1708
|
export type StorePropertyValue = {
|
|
1670
1709
|
/** Property name. */
|
|
@@ -2713,14 +2752,14 @@ export type ServerCollectionPageQueryQueryVariables = Exact<{
|
|
|
2713
2752
|
}>;
|
|
2714
2753
|
|
|
2715
2754
|
|
|
2716
|
-
export type ServerCollectionPageQueryQuery = { collection: { id: string, seo: { title: string, description: string }, breadcrumbList: { itemListElement: Array<{ item: string, name: string, position: number }> }, meta: { selectedFacets: Array<{ key: string, value: string }> } } };
|
|
2755
|
+
export type ServerCollectionPageQueryQuery = { collection: { id: string, seo: { title: string, description: string }, breadcrumbList: { itemListElement: Array<{ item: string, name: string, position: number }> }, meta: { selectedFacets: Array<{ key: string, value: string }> }, otherLocales: Array<{ locale: string, slug: string }> | null } };
|
|
2717
2756
|
|
|
2718
2757
|
export type ServerProductQueryQueryVariables = Exact<{
|
|
2719
2758
|
locator: Array<IStoreSelectedFacet> | IStoreSelectedFacet;
|
|
2720
2759
|
}>;
|
|
2721
2760
|
|
|
2722
2761
|
|
|
2723
|
-
export type ServerProductQueryQuery = { product: { sku: string, gtin: string, mpn: string, name: string, description: string, releaseDate: string, unitMultiplier: number | null, id: string, seo: { title: string, description: string, canonical: string }, brand: { name: string }, breadcrumbList: { itemListElement: Array<{ item: string, name: string, position: number }> }, image: Array<{ url: string, alternateName: string }>, offers: { lowPrice: number, highPrice: number, lowPriceWithTaxes: number, priceCurrency: string, offers: Array<{ availability: string, price: number, priceValidUntil: string, priceCurrency: string, itemCondition: string, priceWithTaxes: number, listPrice: number, listPriceWithTaxes: number, quantity: number, seller: { identifier: string } }> }, isVariantOf: { name: string, productGroupID: string, skuVariants: { activeVariations: any | null, slugsMap: any | null, availableVariations: any | null, allVariantProducts: Array<{ name: string, productID: string }> | null } | null }, additionalProperty: Array<{ propertyID: string, name: string, value: any, valueReference: any }> } };
|
|
2762
|
+
export type ServerProductQueryQuery = { product: { sku: string, gtin: string, mpn: string, name: string, description: string, releaseDate: string, unitMultiplier: number | null, id: string, seo: { title: string, description: string, canonical: string }, brand: { name: string }, breadcrumbList: { itemListElement: Array<{ item: string, name: string, position: number }> }, image: Array<{ url: string, alternateName: string }>, offers: { lowPrice: number, highPrice: number, lowPriceWithTaxes: number, priceCurrency: string, offers: Array<{ availability: string, price: number, priceValidUntil: string, priceCurrency: string, itemCondition: string, priceWithTaxes: number, listPrice: number, listPriceWithTaxes: number, quantity: number, seller: { identifier: string } }> }, isVariantOf: { name: string, productGroupID: string, skuVariants: { activeVariations: any | null, slugsMap: any | null, availableVariations: any | null, allVariantProducts: Array<{ name: string, productID: string }> | null } | null }, otherLocales: Array<{ locale: string, slug: string }> | null, additionalProperty: Array<{ propertyID: string, name: string, value: any, valueReference: any }> } };
|
|
2724
2763
|
|
|
2725
2764
|
export type UserOrderItemsFragmentFragment = { id: string | null, name: string | null, quantity: number | null, sellingPrice: number | null, unitMultiplier: number | null, measurementUnit: string | null, imageUrl: string | null, detailUrl: string | null, refId: string | null, rewardValue: number | null };
|
|
2726
2765
|
|
|
@@ -3499,8 +3538,8 @@ export const SearchEvent_MetadataFragmentDoc = new TypedDocumentString(`
|
|
|
3499
3538
|
`, {"fragmentName":"SearchEvent_metadata"}) as unknown as TypedDocumentString<SearchEvent_MetadataFragment, unknown>;
|
|
3500
3539
|
export const ClientRecommendationsQueryDocument = {"__meta__":{"operationName":"ClientRecommendationsQuery","operationHash":"db61ca57203036d24d5e1e2c9e40d6d0906f0056"}} as unknown as TypedDocumentString<ClientRecommendationsQueryQuery, ClientRecommendationsQueryQueryVariables>;
|
|
3501
3540
|
export const ServerAccountPageQueryDocument = {"__meta__":{"operationName":"ServerAccountPageQuery","operationHash":"9baae331b75848a310fecb457e8c971ae27897ff"}} as unknown as TypedDocumentString<ServerAccountPageQueryQuery, ServerAccountPageQueryQueryVariables>;
|
|
3502
|
-
export const ServerCollectionPageQueryDocument = {"__meta__":{"operationName":"ServerCollectionPageQuery","operationHash":"
|
|
3503
|
-
export const ServerProductQueryDocument = {"__meta__":{"operationName":"ServerProductQuery","operationHash":"
|
|
3541
|
+
export const ServerCollectionPageQueryDocument = {"__meta__":{"operationName":"ServerCollectionPageQuery","operationHash":"d46841b30ae1f6350021b5cf02f253d56c848664"}} as unknown as TypedDocumentString<ServerCollectionPageQueryQuery, ServerCollectionPageQueryQueryVariables>;
|
|
3542
|
+
export const ServerProductQueryDocument = {"__meta__":{"operationName":"ServerProductQuery","operationHash":"c51aaec5d4ed39e5b8d7d65f460fcd2bc8645346"}} as unknown as TypedDocumentString<ServerProductQueryQuery, ServerProductQueryQueryVariables>;
|
|
3504
3543
|
export const ServerOrderDetailsQueryDocument = {"__meta__":{"operationName":"ServerOrderDetailsQuery","operationHash":"bdf677bbccce12186a5ef15aebdce46585a99782"}} as unknown as TypedDocumentString<ServerOrderDetailsQueryQuery, ServerOrderDetailsQueryQueryVariables>;
|
|
3505
3544
|
export const ServerListOrdersQueryDocument = {"__meta__":{"operationName":"ServerListOrdersQuery","operationHash":"70d06de1da9c11f10ebde31b66fd74eccd456af5"}} as unknown as TypedDocumentString<ServerListOrdersQueryQuery, ServerListOrdersQueryQueryVariables>;
|
|
3506
3545
|
export const ServerProfileQueryDocument = {"__meta__":{"operationName":"ServerProfileQuery","operationHash":"672fe0f00b7b710b63fc6573c0a6b2ec54812b8f"}} as unknown as TypedDocumentString<ServerProfileQueryQuery, ServerProfileQueryQueryVariables>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"db61ca57203036d24d5e1e2c9e40d6d0906f0056": "fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { brandName: name } brand { name } deliveryPromiseBadges { typeName } gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantsByName availableVariations slugsMap } } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku slug unitMultiplier unitMultiplier } query ClientRecommendationsQuery($campaignVrn: String!, $products: [String!], $userId: String) { recommendations(userId: $userId, campaignVrn: $campaignVrn, products: $products) { campaign { id title type } correlationId products { ...ProductSummary_product } } }",
|
|
3
3
|
"9baae331b75848a310fecb457e8c971ae27897ff": "query ServerAccountPageQuery { accountProfile { name } }",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
4
|
+
"d46841b30ae1f6350021b5cf02f253d56c848664": "fragment ServerCollectionPage on Query { collection(slug: $slug) { id } } query ServerCollectionPageQuery($slug: String!) { collection(slug: $slug) { breadcrumbList { itemListElement { item name position } } meta { selectedFacets { key value } } otherLocales { locale slug } seo { description title } } ...ServerCollectionPage }",
|
|
5
|
+
"c51aaec5d4ed39e5b8d7d65f460fcd2bc8645346": "fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } fragment ProductDetailsFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } fragment ServerProduct on Query { product(locator: $locator) { id: productID } } query ServerProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { brand { name } breadcrumbList { itemListElement { item name position } } description gtin image { alternateName url } isVariantOf { productGroupID } mpn name offers { highPrice lowPrice lowPriceWithTaxes offers { availability itemCondition price priceCurrency priceValidUntil seller { identifier } } priceCurrency } otherLocales { locale slug } id: productID releaseDate seo { canonical description title } sku ...ProductDetailsFragment_product } ...ServerProduct }",
|
|
6
6
|
"bdf677bbccce12186a5ef15aebdce46585a99782": "query ServerOrderDetailsQuery($orderId: String!) { accountProfile { name } userOrder(orderId: $orderId) { allowCancellation budgetData { budgets { allocations { id linkedEntity { id } reservations } balance { remaining } id name } } canProcessOrderAuthorization clientProfileData { corporateName email firstName isCorporate lastName phone } creationDate customFields { fields { name refId value } id type } deliveryOptionsData { contact { email name phone } deliveryOptions { address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } deliveryChannel deliveryCompany deliveryWindow { endDateUtc price startDateUtc } friendlyDeliveryOptionName friendlyShippingEstimate items { id imageUrl name price quantity sellingPrice tax taxPriceTagsTotal total uniqueId } pickupStoreInfo { additionalInfo address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } dockId friendlyName isPickupStore } quantityOfDifferentItems selectedSla seller shippingEstimate shippingEstimateDate total } } orderId paymentData { transactions { isActive payments { bankIssuedInvoiceIdentificationNumber connectorResponses { authId } group id installments lastDigits paymentOrigin paymentSystemName redemptionCode referenceValue tid url value } } } ruleForAuthorization { dimensionId orderAuthorizationId rule { authorizationData { authorizers { authorizationDate email id type } requireAllApprovals } authorizedEmails doId id isUserAuthorized isUserNextAuthorizer name notification priority scoreInterval { accept deny } status timeout trigger { condition { conditionType description expression greatherThan lessThan } effect { description effectType funcPath } } } } shopper { email firstName lastName phone } status statusDescription storePreferencesData { currencyCode } totals { id name value } } }",
|
|
7
7
|
"70d06de1da9c11f10ebde31b66fd74eccd456af5": "query ServerListOrdersQuery($clientEmail: String, $dateFinal: String, $dateInitial: String, $page: Int, $pendingMyApproval: Boolean, $perPage: Int, $status: [String], $text: String) { accountProfile { name } listUserOrders( page: $page perPage: $perPage status: $status dateInitial: $dateInitial dateFinal: $dateFinal text: $text clientEmail: $clientEmail pendingMyApproval: $pendingMyApproval ) { list { ShippingEstimatedDate clientName creationDate currencyCode customFields { type value } items { description ean id price productId quantity refId seller sellingPrice } orderId status statusDescription totalValue } paging { currentPage pages perPage total } } }",
|
|
8
8
|
"672fe0f00b7b710b63fc6573c0a6b2ec54812b8f": "query ServerProfileQuery { accountProfile { email id name } }",
|
|
@@ -1268,6 +1268,11 @@ type StoreCollection {
|
|
|
1268
1268
|
slug: String!
|
|
1269
1269
|
"""Collection type."""
|
|
1270
1270
|
type: StoreCollectionType!
|
|
1271
|
+
"""
|
|
1272
|
+
Localized versions of this collection for all available locales.
|
|
1273
|
+
Only populated when localization is enabled.
|
|
1274
|
+
"""
|
|
1275
|
+
otherLocales: [StoreCollectionLocale!]
|
|
1271
1276
|
}
|
|
1272
1277
|
|
|
1273
1278
|
"""
|
|
@@ -1302,6 +1307,14 @@ type StoreCollectionFacet {
|
|
|
1302
1307
|
value: String!
|
|
1303
1308
|
}
|
|
1304
1309
|
|
|
1310
|
+
"""Localized collection data for a specific locale."""
|
|
1311
|
+
type StoreCollectionLocale {
|
|
1312
|
+
"""Locale code (e.g. "pt-BR", "it-IT")."""
|
|
1313
|
+
locale: String!
|
|
1314
|
+
"""Localized collection slug (e.g. "vestuario/camisetas")."""
|
|
1315
|
+
slug: String!
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1305
1318
|
"""Collection meta information. Used for search."""
|
|
1306
1319
|
type StoreCollectionMeta {
|
|
1307
1320
|
"""List of selected collection facets."""
|
|
@@ -1309,19 +1322,30 @@ type StoreCollectionMeta {
|
|
|
1309
1322
|
}
|
|
1310
1323
|
|
|
1311
1324
|
"""
|
|
1312
|
-
Product collection type. Possible values are `Department`, `Category`, `Brand
|
|
1325
|
+
Product collection type. Possible values are `Department`, `Category`, `Brand` or `Collection`.
|
|
1326
|
+
|
|
1327
|
+
`SubCategory` and `Cluster` are still declared for backward compatibility but are
|
|
1328
|
+
deprecated and never returned.
|
|
1313
1329
|
"""
|
|
1314
1330
|
enum StoreCollectionType {
|
|
1315
1331
|
"""First level of product categorization."""
|
|
1316
1332
|
Department
|
|
1317
1333
|
"""Second level of product categorization."""
|
|
1318
1334
|
Category
|
|
1319
|
-
"""
|
|
1320
|
-
|
|
1335
|
+
"""
|
|
1336
|
+
Third level of product categorization.
|
|
1337
|
+
|
|
1338
|
+
Deprecated: never returned — third-level categories resolve as `Category`.
|
|
1339
|
+
"""
|
|
1340
|
+
SubCategory @deprecated(reason: "Never returned since the by-linkid migration: the category response only exposes `fatherCategoryId`, which distinguishes root from non-root but not tree depth, so third-level categories resolve as `Category`. Scheduled for removal in the next major.")
|
|
1321
1341
|
"""Product brand."""
|
|
1322
1342
|
Brand
|
|
1323
|
-
"""
|
|
1324
|
-
|
|
1343
|
+
"""
|
|
1344
|
+
Product cluster.
|
|
1345
|
+
|
|
1346
|
+
Deprecated: never returned — clusters resolve as `Collection`.
|
|
1347
|
+
"""
|
|
1348
|
+
Cluster @deprecated(reason: "Never returned since the by-linkid migration: clusters and curated collections are both served by `collection/by-linkid`, whose response carries no discriminator between them, so both resolve as `Collection`. Scheduled for removal in the next major.")
|
|
1325
1349
|
"""Product collection."""
|
|
1326
1350
|
Collection
|
|
1327
1351
|
}
|
|
@@ -1634,6 +1658,11 @@ type StoreProduct {
|
|
|
1634
1658
|
specificationGroups: [SpecificationGroup!]!
|
|
1635
1659
|
"""Delivery Promise product's badge."""
|
|
1636
1660
|
deliveryPromiseBadges: [DeliveryPromiseBadge]
|
|
1661
|
+
"""
|
|
1662
|
+
Localized versions of this product for all available locales.
|
|
1663
|
+
Only populated when localization is enabled.
|
|
1664
|
+
"""
|
|
1665
|
+
otherLocales: [StoreProductLocale!]
|
|
1637
1666
|
}
|
|
1638
1667
|
|
|
1639
1668
|
"""
|
|
@@ -1682,6 +1711,16 @@ type StoreProductGroup {
|
|
|
1682
1711
|
skuVariants: SkuVariants
|
|
1683
1712
|
}
|
|
1684
1713
|
|
|
1714
|
+
"""Localized product data for a specific locale."""
|
|
1715
|
+
type StoreProductLocale {
|
|
1716
|
+
"""Locale code (e.g. "pt-BR", "it-IT")."""
|
|
1717
|
+
locale: String!
|
|
1718
|
+
"""
|
|
1719
|
+
Localized product slug including the SKU ID suffix (e.g. "adidas-polo-uomo-65").
|
|
1720
|
+
"""
|
|
1721
|
+
slug: String!
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1685
1724
|
"""Properties that can be associated with products and products groups."""
|
|
1686
1725
|
type StorePropertyValue {
|
|
1687
1726
|
"""
|