@sixtyninecommerce/client 0.30.0 → 0.32.0
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/README.md +574 -14
- package/dist/admin/http.d.ts.map +1 -1
- package/dist/admin/http.js.map +1 -1
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/build-client.d.ts +9 -0
- package/dist/build-client.d.ts.map +1 -0
- package/dist/build-client.js +58 -0
- package/dist/build-client.js.map +1 -0
- package/dist/cache-tags.d.ts +35 -1
- package/dist/cache-tags.d.ts.map +1 -1
- package/dist/cache-tags.js +39 -1
- package/dist/cache-tags.js.map +1 -1
- package/dist/client.d.ts +25 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +9 -62
- package/dist/client.js.map +1 -1
- package/dist/commerce/age-verification.d.ts +7 -4
- package/dist/commerce/age-verification.d.ts.map +1 -1
- package/dist/commerce/age-verification.js +6 -4
- package/dist/commerce/age-verification.js.map +1 -1
- package/dist/commerce/arguments.d.ts +13 -0
- package/dist/commerce/arguments.d.ts.map +1 -0
- package/dist/commerce/arguments.js +19 -0
- package/dist/commerce/arguments.js.map +1 -0
- package/dist/commerce/branding.d.ts.map +1 -1
- package/dist/commerce/branding.js.map +1 -1
- package/dist/commerce/capabilities.d.ts +40 -0
- package/dist/commerce/capabilities.d.ts.map +1 -0
- package/dist/commerce/capabilities.js +41 -0
- package/dist/commerce/capabilities.js.map +1 -0
- package/dist/commerce/cart.d.ts +9 -12
- package/dist/commerce/cart.d.ts.map +1 -1
- package/dist/commerce/cart.js +6 -1
- package/dist/commerce/cart.js.map +1 -1
- package/dist/commerce/checkout.d.ts +95 -15
- package/dist/commerce/checkout.d.ts.map +1 -1
- package/dist/commerce/checkout.js +230 -10
- package/dist/commerce/checkout.js.map +1 -1
- package/dist/commerce/customer.d.ts +83 -38
- package/dist/commerce/customer.d.ts.map +1 -1
- package/dist/commerce/customer.js +149 -10
- package/dist/commerce/customer.js.map +1 -1
- package/dist/commerce/favorites.d.ts +2 -5
- package/dist/commerce/favorites.d.ts.map +1 -1
- package/dist/commerce/favorites.js.map +1 -1
- package/dist/commerce/index.d.ts +194 -133
- package/dist/commerce/index.d.ts.map +1 -1
- package/dist/commerce/index.js +15 -0
- package/dist/commerce/index.js.map +1 -1
- package/dist/commerce/order-states.d.ts +18 -0
- package/dist/commerce/order-states.d.ts.map +1 -0
- package/dist/commerce/order-states.js +30 -0
- package/dist/commerce/order-states.js.map +1 -0
- package/dist/commerce/parcel-pricing.d.ts +48 -0
- package/dist/commerce/parcel-pricing.d.ts.map +1 -0
- package/dist/commerce/parcel-pricing.js +39 -0
- package/dist/commerce/parcel-pricing.js.map +1 -0
- package/dist/commerce/parked-orders.d.ts +22 -0
- package/dist/commerce/parked-orders.d.ts.map +1 -0
- package/dist/commerce/parked-orders.js +47 -0
- package/dist/commerce/parked-orders.js.map +1 -0
- package/dist/commerce/payments.d.ts +12 -5
- package/dist/commerce/payments.d.ts.map +1 -1
- package/dist/commerce/payments.js +10 -1
- package/dist/commerce/payments.js.map +1 -1
- package/dist/commerce/placement-error.d.ts +17 -0
- package/dist/commerce/placement-error.d.ts.map +1 -1
- package/dist/commerce/placement-error.js.map +1 -1
- package/dist/commerce/products.d.ts +92 -38
- package/dist/commerce/products.d.ts.map +1 -1
- package/dist/commerce/products.js +157 -123
- package/dist/commerce/products.js.map +1 -1
- package/dist/commerce/queries.d.ts +216 -49
- package/dist/commerce/queries.d.ts.map +1 -1
- package/dist/commerce/queries.js +1347 -743
- package/dist/commerce/queries.js.map +1 -1
- package/dist/commerce/quotes.d.ts +5 -4
- package/dist/commerce/quotes.d.ts.map +1 -1
- package/dist/commerce/quotes.js +1 -36
- package/dist/commerce/quotes.js.map +1 -1
- package/dist/commerce/receipt-claim.d.ts +35 -0
- package/dist/commerce/receipt-claim.d.ts.map +1 -0
- package/dist/commerce/receipt-claim.js +66 -0
- package/dist/commerce/receipt-claim.js.map +1 -0
- package/dist/commerce/recommendations.d.ts +3 -3
- package/dist/commerce/recommendations.d.ts.map +1 -1
- package/dist/commerce/recommendations.js +3 -1
- package/dist/commerce/recommendations.js.map +1 -1
- package/dist/commerce/returns.d.ts +7 -6
- package/dist/commerce/returns.d.ts.map +1 -1
- package/dist/commerce/returns.js +24 -3
- package/dist/commerce/returns.js.map +1 -1
- package/dist/commerce/reviews.d.ts +24 -15
- package/dist/commerce/reviews.d.ts.map +1 -1
- package/dist/commerce/reviews.js +67 -50
- package/dist/commerce/reviews.js.map +1 -1
- package/dist/commerce/saved-lists.d.ts +15 -15
- package/dist/commerce/saved-lists.d.ts.map +1 -1
- package/dist/commerce/saved-lists.js +67 -56
- package/dist/commerce/saved-lists.js.map +1 -1
- package/dist/commerce/search.d.ts +3 -2
- package/dist/commerce/search.d.ts.map +1 -1
- package/dist/commerce/search.js +2 -2
- package/dist/commerce/search.js.map +1 -1
- package/dist/commerce/shipping.d.ts +11 -4
- package/dist/commerce/shipping.d.ts.map +1 -1
- package/dist/commerce/shipping.js +17 -2
- package/dist/commerce/shipping.js.map +1 -1
- package/dist/commerce/stock-notifications.d.ts +2 -0
- package/dist/commerce/stock-notifications.d.ts.map +1 -1
- package/dist/commerce/stock-notifications.js +2 -2
- package/dist/commerce/stock-notifications.js.map +1 -1
- package/dist/commerce/store-pickup.d.ts +37 -0
- package/dist/commerce/store-pickup.d.ts.map +1 -0
- package/dist/commerce/store-pickup.js +66 -0
- package/dist/commerce/store-pickup.js.map +1 -0
- package/dist/commerce/subscriptions.d.ts +35 -37
- package/dist/commerce/subscriptions.d.ts.map +1 -1
- package/dist/commerce/subscriptions.js +159 -120
- package/dist/commerce/subscriptions.js.map +1 -1
- package/dist/commerce/vat-validation.d.ts +6 -3
- package/dist/commerce/vat-validation.d.ts.map +1 -1
- package/dist/commerce/vat-validation.js +24 -19
- package/dist/commerce/vat-validation.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/content/assets.d.ts +5 -4
- package/dist/content/assets.d.ts.map +1 -1
- package/dist/content/assets.js.map +1 -1
- package/dist/content/collection-pages.d.ts +3 -2
- package/dist/content/collection-pages.d.ts.map +1 -1
- package/dist/content/collection-pages.js.map +1 -1
- package/dist/content/collections.d.ts +5 -4
- package/dist/content/collections.d.ts.map +1 -1
- package/dist/content/collections.js.map +1 -1
- package/dist/content/filtered-products.d.ts.map +1 -1
- package/dist/content/filtered-products.js.map +1 -1
- package/dist/content/form-field-types.d.ts +3 -3
- package/dist/content/form-field-types.d.ts.map +1 -1
- package/dist/content/form-field-types.js.map +1 -1
- package/dist/content/forms.d.ts +4 -3
- package/dist/content/forms.d.ts.map +1 -1
- package/dist/content/forms.js +3 -0
- package/dist/content/forms.js.map +1 -1
- package/dist/content/index.d.ts +18 -17
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/items.d.ts +5 -4
- package/dist/content/items.d.ts.map +1 -1
- package/dist/content/items.js +2 -0
- package/dist/content/items.js.map +1 -1
- package/dist/content/menus.d.ts +3 -2
- package/dist/content/menus.d.ts.map +1 -1
- package/dist/content/menus.js +7 -1
- package/dist/content/menus.js.map +1 -1
- package/dist/content/resolve.d.ts +3 -2
- package/dist/content/resolve.d.ts.map +1 -1
- package/dist/content/resolve.js +1 -1
- package/dist/content/resolve.js.map +1 -1
- package/dist/content/sitemap.d.ts +3 -2
- package/dist/content/sitemap.d.ts.map +1 -1
- package/dist/content/sitemap.js.map +1 -1
- package/dist/content/strings.d.ts +16 -2
- package/dist/content/strings.d.ts.map +1 -1
- package/dist/content/strings.js +32 -4
- package/dist/content/strings.js.map +1 -1
- package/dist/core/context.d.ts +127 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +436 -45
- package/dist/core/context.js.map +1 -1
- package/dist/core/currency.d.ts +14 -0
- package/dist/core/currency.d.ts.map +1 -0
- package/dist/core/currency.js +52 -0
- package/dist/core/currency.js.map +1 -0
- package/dist/core/deprecation.d.ts +23 -0
- package/dist/core/deprecation.d.ts.map +1 -0
- package/dist/core/deprecation.js +81 -0
- package/dist/core/deprecation.js.map +1 -0
- package/dist/core/http.d.ts +15 -1
- package/dist/core/http.d.ts.map +1 -1
- package/dist/core/http.js +55 -3
- package/dist/core/http.js.map +1 -1
- package/dist/core/public-artifact.d.ts +72 -0
- package/dist/core/public-artifact.d.ts.map +1 -0
- package/dist/core/public-artifact.js +122 -0
- package/dist/core/public-artifact.js.map +1 -0
- package/dist/core/unknown-field-rejection.d.ts +18 -0
- package/dist/core/unknown-field-rejection.d.ts.map +1 -0
- package/dist/core/unknown-field-rejection.js +37 -0
- package/dist/core/unknown-field-rejection.js.map +1 -0
- package/dist/credit/credit-status.d.ts +2 -0
- package/dist/credit/credit-status.d.ts.map +1 -1
- package/dist/credit/credit-status.js +71 -19
- package/dist/credit/credit-status.js.map +1 -1
- package/dist/credit/index.d.ts +1 -1
- package/dist/credit/payment-terms.d.ts +3 -3
- package/dist/credit/payment-terms.d.ts.map +1 -1
- package/dist/credit/payment-terms.js +28 -24
- package/dist/credit/payment-terms.js.map +1 -1
- package/dist/currency/exchange.d.ts +7 -7
- package/dist/currency/exchange.d.ts.map +1 -1
- package/dist/currency/exchange.js +5 -1
- package/dist/currency/exchange.js.map +1 -1
- package/dist/errors.d.ts +17 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -1
- package/dist/events/index.d.ts +20 -7
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +17 -5
- package/dist/events/index.js.map +1 -1
- package/dist/events/payloads.d.ts +7 -4
- package/dist/events/payloads.d.ts.map +1 -1
- package/dist/events/payloads.js +6 -3
- package/dist/events/payloads.js.map +1 -1
- package/dist/feeds/index.d.ts +5 -0
- package/dist/feeds/index.d.ts.map +1 -0
- package/dist/feeds/index.js +12 -0
- package/dist/feeds/index.js.map +1 -0
- package/dist/feeds/types.d.ts +18 -0
- package/dist/feeds/types.d.ts.map +1 -0
- package/dist/feeds/types.js +8 -0
- package/dist/feeds/types.js.map +1 -0
- package/dist/generated/cms.d.ts +2136 -0
- package/dist/generated/cms.d.ts.map +1 -0
- package/dist/generated/cms.js +4 -0
- package/dist/generated/cms.js.map +1 -0
- package/dist/generated/plugins.d.ts +550 -0
- package/dist/generated/plugins.d.ts.map +1 -0
- package/dist/generated/plugins.js +4 -0
- package/dist/generated/plugins.js.map +1 -0
- package/dist/generated/shop.d.ts +5663 -0
- package/dist/generated/shop.d.ts.map +1 -0
- package/dist/generated/shop.js +5 -0
- package/dist/generated/shop.js.map +1 -0
- package/dist/graphql-document.d.ts +29 -0
- package/dist/graphql-document.d.ts.map +1 -0
- package/dist/graphql-document.js +21 -0
- package/dist/graphql-document.js.map +1 -0
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/media/urls.d.ts.map +1 -1
- package/dist/media/urls.js +12 -1
- package/dist/media/urls.js.map +1 -1
- package/dist/media/video.d.ts.map +1 -1
- package/dist/media/video.js.map +1 -1
- package/dist/multi-store.d.ts +200 -0
- package/dist/multi-store.d.ts.map +1 -0
- package/dist/multi-store.js +558 -0
- package/dist/multi-store.js.map +1 -0
- package/dist/navigation/routes.d.ts +4 -3
- package/dist/navigation/routes.d.ts.map +1 -1
- package/dist/navigation/routes.js.map +1 -1
- package/dist/next/artifact-handler.d.ts +21 -13
- package/dist/next/artifact-handler.d.ts.map +1 -1
- package/dist/next/artifact-handler.js +28 -66
- package/dist/next/artifact-handler.js.map +1 -1
- package/dist/next/event-revalidate-handler.d.ts +26 -6
- package/dist/next/event-revalidate-handler.d.ts.map +1 -1
- package/dist/next/event-revalidate-handler.js +126 -19
- package/dist/next/event-revalidate-handler.js.map +1 -1
- package/dist/next/feed-handler.d.ts +50 -0
- package/dist/next/feed-handler.d.ts.map +1 -0
- package/dist/next/feed-handler.js +61 -0
- package/dist/next/feed-handler.js.map +1 -0
- package/dist/next/index.d.ts +3 -1
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +1 -0
- package/dist/next/index.js.map +1 -1
- package/dist/next/metadata.d.ts.map +1 -1
- package/dist/next/metadata.js.map +1 -1
- package/dist/next/redirect-middleware.d.ts +5 -31
- package/dist/next/redirect-middleware.d.ts.map +1 -1
- package/dist/next/redirect-middleware.js +4 -46
- package/dist/next/redirect-middleware.js.map +1 -1
- package/dist/next/revalidate-handler.d.ts.map +1 -1
- package/dist/next/revalidate-handler.js.map +1 -1
- package/dist/pricing/index.d.ts.map +1 -1
- package/dist/pricing/index.js.map +1 -1
- package/dist/pricing/tax-display.js +1 -1
- package/dist/pricing/tax-display.js.map +1 -1
- package/dist/pricing/tiers.d.ts +3 -2
- package/dist/pricing/tiers.d.ts.map +1 -1
- package/dist/pricing/tiers.js.map +1 -1
- package/dist/pricing/validation.d.ts +88 -12
- package/dist/pricing/validation.d.ts.map +1 -1
- package/dist/pricing/validation.js +93 -12
- package/dist/pricing/validation.js.map +1 -1
- package/dist/redirects/index.d.ts.map +1 -1
- package/dist/redirects/index.js +2 -1
- package/dist/redirects/index.js.map +1 -1
- package/dist/redirects/store.d.ts.map +1 -1
- package/dist/redirects/store.js +6 -2
- package/dist/redirects/store.js.map +1 -1
- package/dist/redirects/types.d.ts +5 -2
- package/dist/redirects/types.d.ts.map +1 -1
- package/dist/revalidation/event-plan.d.ts +55 -4
- package/dist/revalidation/event-plan.d.ts.map +1 -1
- package/dist/revalidation/event-plan.js +115 -8
- package/dist/revalidation/event-plan.js.map +1 -1
- package/dist/revalidation/event-verify.d.ts +8 -37
- package/dist/revalidation/event-verify.d.ts.map +1 -1
- package/dist/revalidation/event-verify.js +7 -97
- package/dist/revalidation/event-verify.js.map +1 -1
- package/dist/revalidation/types.d.ts.map +1 -1
- package/dist/revalidation/url-context.d.ts +17 -0
- package/dist/revalidation/url-context.d.ts.map +1 -1
- package/dist/revalidation/url-context.js +35 -2
- package/dist/revalidation/url-context.js.map +1 -1
- package/dist/seo/ai.d.ts.map +1 -1
- package/dist/seo/ai.js.map +1 -1
- package/dist/seo/artifacts.d.ts +86 -4
- package/dist/seo/artifacts.d.ts.map +1 -1
- package/dist/seo/artifacts.js +115 -16
- package/dist/seo/artifacts.js.map +1 -1
- package/dist/seo/availability.d.ts +2 -2
- package/dist/seo/availability.d.ts.map +1 -1
- package/dist/seo/availability.js.map +1 -1
- package/dist/seo/index.d.ts +2 -0
- package/dist/seo/index.d.ts.map +1 -1
- package/dist/seo/index.js +3 -1
- package/dist/seo/index.js.map +1 -1
- package/dist/seo/json-ld.d.ts.map +1 -1
- package/dist/seo/json-ld.js.map +1 -1
- package/dist/seo/meta-tags.d.ts.map +1 -1
- package/dist/seo/meta-tags.js.map +1 -1
- package/dist/seo/metadata-parser.d.ts.map +1 -1
- package/dist/seo/metadata-parser.js.map +1 -1
- package/dist/seo/metadata-types.d.ts.map +1 -1
- package/dist/seo/robots.d.ts.map +1 -1
- package/dist/seo/robots.js.map +1 -1
- package/dist/seo/types.d.ts +9 -2
- package/dist/seo/types.d.ts.map +1 -1
- package/dist/seo/url-builder.d.ts +5 -3
- package/dist/seo/url-builder.d.ts.map +1 -1
- package/dist/seo/url-builder.js +3 -1
- package/dist/seo/url-builder.js.map +1 -1
- package/dist/types.d.ts +1381 -2537
- package/dist/types.d.ts.map +1 -1
- package/dist/web/artifact-responder.d.ts +69 -0
- package/dist/web/artifact-responder.d.ts.map +1 -0
- package/dist/web/artifact-responder.js +90 -0
- package/dist/web/artifact-responder.js.map +1 -0
- package/dist/web/feed-responder.d.ts +72 -0
- package/dist/web/feed-responder.d.ts.map +1 -0
- package/dist/web/feed-responder.js +81 -0
- package/dist/web/feed-responder.js.map +1 -0
- package/dist/web/index.d.ts +23 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +19 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/redirect-middleware.d.ts +76 -0
- package/dist/web/redirect-middleware.d.ts.map +1 -0
- package/dist/web/redirect-middleware.js +94 -0
- package/dist/web/redirect-middleware.js.map +1 -0
- package/dist/web/respond.d.ts +20 -0
- package/dist/web/respond.d.ts.map +1 -0
- package/dist/web/respond.js +52 -0
- package/dist/web/respond.js.map +1 -0
- package/package.json +18 -2
|
@@ -1,15 +1,39 @@
|
|
|
1
1
|
import { collectionCacheTag, productCacheTag } from '../cache-tags.js';
|
|
2
|
-
import {
|
|
2
|
+
import { tagCatalogRead } from '../core/http.js';
|
|
3
3
|
import { StorefrontError } from '../errors.js';
|
|
4
4
|
import { parseProductMetadata } from '../seo/metadata-parser.js';
|
|
5
|
-
import {
|
|
5
|
+
import { invalidArgument, isNonBlankString, isPlainObject } from './arguments.js';
|
|
6
|
+
import { GET_COLLECTION, GET_COLLECTION_BY_ID, GET_COLLECTION_BY_ID_WITH_METAFIELDS, GET_COLLECTION_WITH_METAFIELDS, GET_PRODUCT, GET_PRODUCT_BY_ID, GET_PRODUCT_BY_ID_WITH_METAFIELDS, GET_PRODUCT_WITH_METAFIELDS, LIST_COLLECTIONS, LIST_FACETS, LIST_PRODUCT_CARDS, LIST_PRODUCTS, PRODUCT_PROPERTIES, PROPERTY_GROUPS, SEARCH_PRODUCTS, } from './queries.js';
|
|
7
|
+
/**
|
|
8
|
+
* The namespace a read asks for, `null` for every namespace, or `undefined`
|
|
9
|
+
* when the caller did not ask for metafields at all.
|
|
10
|
+
*
|
|
11
|
+
* Refused before any request (INVALID_ARGUMENT): anything but a boolean or an
|
|
12
|
+
* object carrying a non-blank `namespace`. An empty namespace would read as
|
|
13
|
+
* "every namespace" on the engine, which `true` already says.
|
|
14
|
+
*/
|
|
15
|
+
function metafieldsNamespace(method, option) {
|
|
16
|
+
if (option === undefined || option === false)
|
|
17
|
+
return undefined;
|
|
18
|
+
if (option === true)
|
|
19
|
+
return null;
|
|
20
|
+
if (isPlainObject(option) && isNonBlankString(option.namespace))
|
|
21
|
+
return option.namespace;
|
|
22
|
+
throw invalidArgument(`${method}: \`metafields\` takes true (every namespace), false, or { namespace: '<app slug>' } ` +
|
|
23
|
+
'with a non-blank namespace.');
|
|
24
|
+
}
|
|
25
|
+
function productNotFound(slugOrId) {
|
|
26
|
+
return new StorefrontError(`Product not found: ${slugOrId}`, 'vendure', 404, 'NOT_FOUND');
|
|
27
|
+
}
|
|
28
|
+
function collectionNotFound(slugOrId) {
|
|
29
|
+
return new StorefrontError(`Collection not found: ${slugOrId}`, 'vendure', 404, 'NOT_FOUND');
|
|
30
|
+
}
|
|
6
31
|
/**
|
|
7
32
|
* Replace the raw `metadata` payload on a fetched product with the parsed +
|
|
8
33
|
* validated SDK shape. Idempotent for products without metadata (null).
|
|
9
34
|
*/
|
|
10
35
|
function hydrateProductMetadata(product) {
|
|
11
|
-
|
|
12
|
-
return { ...product, metadata: parseProductMetadata(raw ?? null) };
|
|
36
|
+
return { ...product, metadata: parseProductMetadata(product.metadata) };
|
|
13
37
|
}
|
|
14
38
|
/**
|
|
15
39
|
* Map a SearchResultItem to the honest collection-listing shape. The search
|
|
@@ -65,15 +89,16 @@ function searchItemToCollectionProduct(item) {
|
|
|
65
89
|
};
|
|
66
90
|
}
|
|
67
91
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
92
|
+
* Mapper for the deprecated `getProducts({ collectionSlug })` path. It once
|
|
93
|
+
* promised the list-row shape and filled the gaps with dummies; the `sku: ''`
|
|
94
|
+
* dummy is still on the wire object for code that read it, but the path is now
|
|
95
|
+
* typed as what it is — a search row (`CollectionProductSummary`).
|
|
72
96
|
*/
|
|
73
|
-
function
|
|
97
|
+
function searchItemToLegacyListRow(item) {
|
|
74
98
|
const product = searchItemToCollectionProduct(item);
|
|
75
99
|
const [variant] = product.variants;
|
|
76
|
-
|
|
100
|
+
const withDummySku = { ...variant, sku: '' };
|
|
101
|
+
return { ...product, variants: [withDummySku] };
|
|
77
102
|
}
|
|
78
103
|
/**
|
|
79
104
|
* Extract the numeric amount from a search-result price (SinglePrice `value`
|
|
@@ -115,102 +140,123 @@ export function mapProductProperties(groups) {
|
|
|
115
140
|
return record;
|
|
116
141
|
}
|
|
117
142
|
export function createProductMethods(http) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
return
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
* List products for the active channel via the `products` list query.
|
|
135
|
-
* Defaults to `filter: { enabled: { eq: true } }` (and the Shop API forces
|
|
136
|
-
* the same server-side), so `totalItems` matches the browsable catalogue.
|
|
137
|
-
*
|
|
138
|
-
* Cannot sort by price — Vendure's `ProductSortParameter` has no price
|
|
139
|
-
* field. Price-sorted listings go through `getProductsInCollection` or
|
|
140
|
-
* `searchProducts`.
|
|
141
|
-
*
|
|
142
|
-
* The deprecated `{ collectionSlug }` option reroutes to the search
|
|
143
|
-
* backend with its flatter row shape — call `getProductsInCollection`
|
|
144
|
-
* instead, which returns that shape honestly typed. That branch returns
|
|
145
|
-
* before the document switch, so `detail` has no effect on it.
|
|
146
|
-
*
|
|
147
|
-
* Pass `{ detail: 'card' }` for listing pages: it swaps in a grid-tile
|
|
148
|
-
* selection that drops the per-VARIANT stock reads a tile never shows
|
|
149
|
-
* (`availabilityByLocation`, `stockOnHand`/`stockAllocated`, and the
|
|
150
|
-
* incoming-stock trio) plus the product `description`, including the
|
|
151
|
-
* per-language copy inside `translations`. Those variant fields are
|
|
152
|
-
* per-variant field resolvers server-side, so this cuts backend work and SQL
|
|
153
|
-
* statements, not only bytes.
|
|
154
|
-
*
|
|
155
|
-
* The collection tree, the translated slugs and `priceTiers` are KEPT, so a
|
|
156
|
-
* card row still drives canonical/hreflang URLs and quantity-break pricing —
|
|
157
|
-
* see `ProductListOptions.detail` for the full kept/dropped list and why.
|
|
158
|
-
* The default is unchanged, so existing callers keep the full shape.
|
|
159
|
-
*/
|
|
160
|
-
async getProducts(listOptions, options) {
|
|
161
|
-
// Deprecated reroute, kept for back-compat: the `products` query has no
|
|
162
|
-
// collection filter, so collection listings go through `search`.
|
|
163
|
-
if (listOptions?.collectionSlug) {
|
|
164
|
-
const data = await http.graphql(SEARCH_PRODUCTS, {
|
|
165
|
-
input: {
|
|
166
|
-
term: '',
|
|
167
|
-
collectionSlug: listOptions.collectionSlug,
|
|
168
|
-
take: listOptions.take ?? 20,
|
|
169
|
-
skip: listOptions.skip ?? 0,
|
|
170
|
-
...(listOptions.sort ? { sort: listOptions.sort } : {}),
|
|
171
|
-
},
|
|
172
|
-
}, tagRequest(options, 'getProducts'));
|
|
173
|
-
return {
|
|
174
|
-
items: data.search.items.map(searchItemToProductSummary),
|
|
175
|
-
totalItems: data.search.totalItems,
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
// `detail` picks the DOCUMENT, not server-side list options — Vendure's
|
|
179
|
-
// `ProductListOptions` input has no such field and would reject it.
|
|
180
|
-
const queryOptions = {
|
|
181
|
-
take: listOptions?.take ?? 20,
|
|
182
|
-
skip: listOptions?.skip ?? 0,
|
|
143
|
+
async function getProducts(listOptions, options) {
|
|
144
|
+
// Deprecated reroute, kept for back-compat: the `products` query has no
|
|
145
|
+
// collection filter, so collection listings go through `search`.
|
|
146
|
+
if (listOptions?.collectionSlug) {
|
|
147
|
+
const data = await http.graphql(SEARCH_PRODUCTS, {
|
|
148
|
+
input: {
|
|
149
|
+
term: '',
|
|
150
|
+
collectionSlug: listOptions.collectionSlug,
|
|
151
|
+
take: listOptions.take ?? 20,
|
|
152
|
+
skip: listOptions.skip ?? 0,
|
|
153
|
+
...(listOptions.sort ? { sort: listOptions.sort } : {}),
|
|
154
|
+
},
|
|
155
|
+
}, tagCatalogRead(options, 'getProducts'));
|
|
156
|
+
return {
|
|
157
|
+
items: data.search.items.map(searchItemToLegacyListRow),
|
|
158
|
+
totalItems: data.search.totalItems,
|
|
183
159
|
};
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
// server-side — the Shop API always forces enabled-only).
|
|
204
|
-
if (listOptions?.filter) {
|
|
205
|
-
queryOptions.filter = listOptions.filter;
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
queryOptions.filter = { enabled: { eq: listOptions?.enabled ?? true } };
|
|
160
|
+
}
|
|
161
|
+
// `detail` picks the DOCUMENT, not server-side list options — Vendure's
|
|
162
|
+
// `ProductListOptions` input has no such field and would reject it.
|
|
163
|
+
const queryOptions = {
|
|
164
|
+
take: listOptions?.take ?? 20,
|
|
165
|
+
skip: listOptions?.skip ?? 0,
|
|
166
|
+
};
|
|
167
|
+
if (listOptions?.sort) {
|
|
168
|
+
// Guard for JS callers the type-level removal can't reach: sending
|
|
169
|
+
// sort.price to the `products` query is a guaranteed server error
|
|
170
|
+
// ("price" is not defined by type ProductSortParameter) — fail with
|
|
171
|
+
// guidance instead. A present-but-nullish price key (callers composing
|
|
172
|
+
// the sort from optional params, `{ name: q.name, price: q.price }`)
|
|
173
|
+
// is not a price sort: it is stripped, never sent, and never throws.
|
|
174
|
+
const { price, ...listSort } = listOptions.sort;
|
|
175
|
+
if (price != null) {
|
|
176
|
+
throw new StorefrontError('getProducts cannot sort by price — Vendure\'s "products" query has no price sort ' +
|
|
177
|
+
'(price lives on variants). Use getProductsInCollection(slug, { sort: { price } }) ' +
|
|
178
|
+
'or searchProducts({ sort: { price } }) instead.', 'vendure', undefined, 'UNSUPPORTED_SORT');
|
|
209
179
|
}
|
|
210
|
-
|
|
211
|
-
|
|
180
|
+
if (Object.keys(listSort).length > 0)
|
|
181
|
+
queryOptions.sort = listSort;
|
|
182
|
+
}
|
|
183
|
+
// Default to enabled-only so a plain getProducts() never leaks disabled
|
|
184
|
+
// products. An explicit `filter` REPLACES the default; `enabled` is a
|
|
185
|
+
// deprecated shorthand ignored when `filter` is set (and overridden
|
|
186
|
+
// server-side — the Shop API always forces enabled-only).
|
|
187
|
+
if (listOptions?.filter) {
|
|
188
|
+
queryOptions.filter = listOptions.filter;
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
queryOptions.filter = { enabled: { eq: listOptions?.enabled ?? true } };
|
|
192
|
+
}
|
|
193
|
+
if (listOptions?.detail === 'card') {
|
|
194
|
+
const data = await http.graphql(LIST_PRODUCT_CARDS, { options: queryOptions }, tagCatalogRead(options, 'getProducts'));
|
|
212
195
|
return data.products;
|
|
213
|
-
}
|
|
196
|
+
}
|
|
197
|
+
const data = await http.graphql(LIST_PRODUCTS, { options: queryOptions }, tagCatalogRead(options, 'getProducts'));
|
|
198
|
+
return data.products;
|
|
199
|
+
}
|
|
200
|
+
async function getProduct(slug, options) {
|
|
201
|
+
const namespace = metafieldsNamespace('getProduct', options?.metafields);
|
|
202
|
+
const request = tagCatalogRead(options, 'getProduct');
|
|
203
|
+
if (namespace !== undefined) {
|
|
204
|
+
const data = await http.graphql(GET_PRODUCT_WITH_METAFIELDS, { slug, namespace }, request);
|
|
205
|
+
if (!data.product)
|
|
206
|
+
throw productNotFound(slug);
|
|
207
|
+
return hydrateProductMetadata(data.product);
|
|
208
|
+
}
|
|
209
|
+
const data = await http.graphql(GET_PRODUCT, { slug }, request);
|
|
210
|
+
if (!data.product)
|
|
211
|
+
throw productNotFound(slug);
|
|
212
|
+
return hydrateProductMetadata(data.product);
|
|
213
|
+
}
|
|
214
|
+
async function getProductById(id, options) {
|
|
215
|
+
const namespace = metafieldsNamespace('getProductById', options?.metafields);
|
|
216
|
+
const request = tagCatalogRead(options, 'getProductById', [productCacheTag(id)]);
|
|
217
|
+
if (namespace !== undefined) {
|
|
218
|
+
const data = await http.graphql(GET_PRODUCT_BY_ID_WITH_METAFIELDS, { id, namespace }, request);
|
|
219
|
+
if (!data.product)
|
|
220
|
+
throw productNotFound(id);
|
|
221
|
+
return hydrateProductMetadata(data.product);
|
|
222
|
+
}
|
|
223
|
+
const data = await http.graphql(GET_PRODUCT_BY_ID, { id }, request);
|
|
224
|
+
if (!data.product)
|
|
225
|
+
throw productNotFound(id);
|
|
226
|
+
return hydrateProductMetadata(data.product);
|
|
227
|
+
}
|
|
228
|
+
async function getCollection(slug, options) {
|
|
229
|
+
const namespace = metafieldsNamespace('getCollection', options?.metafields);
|
|
230
|
+
const request = tagCatalogRead(options, 'getCollection');
|
|
231
|
+
if (namespace !== undefined) {
|
|
232
|
+
const data = await http.graphql(GET_COLLECTION_WITH_METAFIELDS, { slug, namespace }, request);
|
|
233
|
+
if (!data.collection)
|
|
234
|
+
throw collectionNotFound(slug);
|
|
235
|
+
return data.collection;
|
|
236
|
+
}
|
|
237
|
+
const data = await http.graphql(GET_COLLECTION, { slug }, request);
|
|
238
|
+
if (!data.collection)
|
|
239
|
+
throw collectionNotFound(slug);
|
|
240
|
+
return data.collection;
|
|
241
|
+
}
|
|
242
|
+
async function getCollectionById(id, options) {
|
|
243
|
+
const namespace = metafieldsNamespace('getCollectionById', options?.metafields);
|
|
244
|
+
const request = tagCatalogRead(options, 'getCollectionById', [collectionCacheTag(id)]);
|
|
245
|
+
if (namespace !== undefined) {
|
|
246
|
+
const data = await http.graphql(GET_COLLECTION_BY_ID_WITH_METAFIELDS, { id, namespace }, request);
|
|
247
|
+
if (!data.collection)
|
|
248
|
+
throw collectionNotFound(id);
|
|
249
|
+
return data.collection;
|
|
250
|
+
}
|
|
251
|
+
const data = await http.graphql(GET_COLLECTION_BY_ID, { id }, request);
|
|
252
|
+
if (!data.collection)
|
|
253
|
+
throw collectionNotFound(id);
|
|
254
|
+
return data.collection;
|
|
255
|
+
}
|
|
256
|
+
return {
|
|
257
|
+
getProduct,
|
|
258
|
+
getProductById,
|
|
259
|
+
getProducts,
|
|
214
260
|
/**
|
|
215
261
|
* List the products of one collection, via the search backend — the only
|
|
216
262
|
* Shop API path that filters by collection. Returns the honest search-row
|
|
@@ -229,7 +275,7 @@ export function createProductMethods(http) {
|
|
|
229
275
|
skip: listOptions?.skip ?? 0,
|
|
230
276
|
...(listOptions?.sort ? { sort: listOptions.sort } : {}),
|
|
231
277
|
},
|
|
232
|
-
},
|
|
278
|
+
}, tagCatalogRead(options, 'getProductsInCollection'));
|
|
233
279
|
return {
|
|
234
280
|
items: data.search.items.map(searchItemToCollectionProduct),
|
|
235
281
|
totalItems: data.search.totalItems,
|
|
@@ -245,42 +291,30 @@ export function createProductMethods(http) {
|
|
|
245
291
|
skip: listOptions?.skip ?? 0,
|
|
246
292
|
...(listOptions?.sort ? { sort: listOptions.sort } : {}),
|
|
247
293
|
},
|
|
248
|
-
},
|
|
294
|
+
}, tagCatalogRead(options, 'getProductsInCollectionById', [collectionCacheTag(collectionId)]));
|
|
249
295
|
return {
|
|
250
296
|
items: data.search.items.map(searchItemToCollectionProduct),
|
|
251
297
|
totalItems: data.search.totalItems,
|
|
252
298
|
};
|
|
253
299
|
},
|
|
254
300
|
async getFacets(options) {
|
|
255
|
-
const data = await http.graphql(LIST_FACETS, undefined, options);
|
|
301
|
+
const data = await http.graphql(LIST_FACETS, undefined, tagCatalogRead(options, 'getFacets'));
|
|
256
302
|
return data.facets.items;
|
|
257
303
|
},
|
|
258
304
|
async getCollections(listOptions, options) {
|
|
259
305
|
const data = await http.graphql(LIST_COLLECTIONS, {
|
|
260
306
|
options: { take: listOptions?.take ?? 100, skip: listOptions?.skip ?? 0 },
|
|
261
|
-
},
|
|
307
|
+
}, tagCatalogRead(options, 'getCollections'));
|
|
262
308
|
return data.collections.items;
|
|
263
309
|
},
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
if (!data.collection) {
|
|
267
|
-
throw new StorefrontError(`Collection not found: ${slug}`, 'vendure', 404, 'NOT_FOUND');
|
|
268
|
-
}
|
|
269
|
-
return data.collection;
|
|
270
|
-
},
|
|
271
|
-
async getCollectionById(id, options) {
|
|
272
|
-
const data = await http.graphql(GET_COLLECTION_BY_ID, { id }, tagRequest(options, 'getCollectionById', [collectionCacheTag(id)]));
|
|
273
|
-
if (!data.collection) {
|
|
274
|
-
throw new StorefrontError(`Collection not found: ${id}`, 'vendure', 404, 'NOT_FOUND');
|
|
275
|
-
}
|
|
276
|
-
return data.collection;
|
|
277
|
-
},
|
|
310
|
+
getCollection,
|
|
311
|
+
getCollectionById,
|
|
278
312
|
async getPropertyGroups(options) {
|
|
279
|
-
const data = await http.graphql(PROPERTY_GROUPS, undefined, options);
|
|
313
|
+
const data = await http.graphql(PROPERTY_GROUPS, undefined, tagCatalogRead(options, 'getPropertyGroups'));
|
|
280
314
|
return data.productPropertyGroups;
|
|
281
315
|
},
|
|
282
316
|
async getProductProperties(productId, options) {
|
|
283
|
-
const data = await http.graphql(PRODUCT_PROPERTIES, { productId },
|
|
317
|
+
const data = await http.graphql(PRODUCT_PROPERTIES, { productId }, tagCatalogRead(options, 'getProductProperties', [productCacheTag(productId)]));
|
|
284
318
|
return data.productPropertyValues;
|
|
285
319
|
},
|
|
286
320
|
mapProductProperties,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/commerce/products.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/commerce/products.ts"],"names":[],"mappings":"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"}
|