@sixtyninecommerce/client 0.29.0 → 0.31.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 +556 -16
- 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 +82 -38
- package/dist/commerce/customer.d.ts.map +1 -1
- package/dist/commerce/customer.js +146 -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 +189 -133
- package/dist/commerce/index.d.ts.map +1 -1
- package/dist/commerce/index.js +9 -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 +162 -123
- package/dist/commerce/products.js.map +1 -1
- package/dist/commerce/queries.d.ts +204 -49
- package/dist/commerce/queries.d.ts.map +1 -1
- package/dist/commerce/queries.js +1296 -737
- 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/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.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 -55
- 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 +10 -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/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 +5539 -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 +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -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 +1 -1
- package/dist/pricing/index.d.ts.map +1 -1
- package/dist/pricing/index.js +5 -2
- 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 +152 -13
- package/dist/pricing/validation.d.ts.map +1 -1
- package/dist/pricing/validation.js +167 -13
- 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 +95 -0
- package/dist/seo/availability.d.ts.map +1 -0
- package/dist/seo/availability.js +89 -0
- package/dist/seo/availability.js.map +1 -0
- package/dist/seo/index.d.ts +4 -0
- package/dist/seo/index.d.ts.map +1 -1
- package/dist/seo/index.js +6 -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 +34 -1
- package/dist/seo/json-ld.js.map +1 -1
- package/dist/seo/meta-tags.d.ts +40 -1
- package/dist/seo/meta-tags.d.ts.map +1 -1
- package/dist/seo/meta-tags.js +8 -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 +20 -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 +1306 -2429
- 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 +19 -3
|
@@ -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
|
|
@@ -55,20 +79,26 @@ function searchItemToCollectionProduct(item) {
|
|
|
55
79
|
priceWithTax,
|
|
56
80
|
currencyCode: item.currencyCode,
|
|
57
81
|
stockLevel: item.inStock ? 'IN_STOCK' : 'OUT_OF_STOCK',
|
|
82
|
+
// Carried through, never defaulted to `none`: a search document written
|
|
83
|
+
// before the availability attribute existed does not know the state,
|
|
84
|
+
// and saying `none` for it would tell a card "ordinary stock rules
|
|
85
|
+
// apply" about a product that may be coming soon.
|
|
86
|
+
availability: item.availability ?? null,
|
|
58
87
|
},
|
|
59
88
|
],
|
|
60
89
|
};
|
|
61
90
|
}
|
|
62
91
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
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`).
|
|
67
96
|
*/
|
|
68
|
-
function
|
|
97
|
+
function searchItemToLegacyListRow(item) {
|
|
69
98
|
const product = searchItemToCollectionProduct(item);
|
|
70
99
|
const [variant] = product.variants;
|
|
71
|
-
|
|
100
|
+
const withDummySku = { ...variant, sku: '' };
|
|
101
|
+
return { ...product, variants: [withDummySku] };
|
|
72
102
|
}
|
|
73
103
|
/**
|
|
74
104
|
* Extract the numeric amount from a search-result price (SinglePrice `value`
|
|
@@ -110,102 +140,123 @@ export function mapProductProperties(groups) {
|
|
|
110
140
|
return record;
|
|
111
141
|
}
|
|
112
142
|
export function createProductMethods(http) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
return
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
* List products for the active channel via the `products` list query.
|
|
130
|
-
* Defaults to `filter: { enabled: { eq: true } }` (and the Shop API forces
|
|
131
|
-
* the same server-side), so `totalItems` matches the browsable catalogue.
|
|
132
|
-
*
|
|
133
|
-
* Cannot sort by price — Vendure's `ProductSortParameter` has no price
|
|
134
|
-
* field. Price-sorted listings go through `getProductsInCollection` or
|
|
135
|
-
* `searchProducts`.
|
|
136
|
-
*
|
|
137
|
-
* The deprecated `{ collectionSlug }` option reroutes to the search
|
|
138
|
-
* backend with its flatter row shape — call `getProductsInCollection`
|
|
139
|
-
* instead, which returns that shape honestly typed. That branch returns
|
|
140
|
-
* before the document switch, so `detail` has no effect on it.
|
|
141
|
-
*
|
|
142
|
-
* Pass `{ detail: 'card' }` for listing pages: it swaps in a grid-tile
|
|
143
|
-
* selection that drops the per-VARIANT stock reads a tile never shows
|
|
144
|
-
* (`availabilityByLocation`, `stockOnHand`/`stockAllocated`, and the
|
|
145
|
-
* incoming-stock trio) plus the product `description`, including the
|
|
146
|
-
* per-language copy inside `translations`. Those variant fields are
|
|
147
|
-
* per-variant field resolvers server-side, so this cuts backend work and SQL
|
|
148
|
-
* statements, not only bytes.
|
|
149
|
-
*
|
|
150
|
-
* The collection tree, the translated slugs and `priceTiers` are KEPT, so a
|
|
151
|
-
* card row still drives canonical/hreflang URLs and quantity-break pricing —
|
|
152
|
-
* see `ProductListOptions.detail` for the full kept/dropped list and why.
|
|
153
|
-
* The default is unchanged, so existing callers keep the full shape.
|
|
154
|
-
*/
|
|
155
|
-
async getProducts(listOptions, options) {
|
|
156
|
-
// Deprecated reroute, kept for back-compat: the `products` query has no
|
|
157
|
-
// collection filter, so collection listings go through `search`.
|
|
158
|
-
if (listOptions?.collectionSlug) {
|
|
159
|
-
const data = await http.graphql(SEARCH_PRODUCTS, {
|
|
160
|
-
input: {
|
|
161
|
-
term: '',
|
|
162
|
-
collectionSlug: listOptions.collectionSlug,
|
|
163
|
-
take: listOptions.take ?? 20,
|
|
164
|
-
skip: listOptions.skip ?? 0,
|
|
165
|
-
...(listOptions.sort ? { sort: listOptions.sort } : {}),
|
|
166
|
-
},
|
|
167
|
-
}, tagRequest(options, 'getProducts'));
|
|
168
|
-
return {
|
|
169
|
-
items: data.search.items.map(searchItemToProductSummary),
|
|
170
|
-
totalItems: data.search.totalItems,
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
// `detail` picks the DOCUMENT, not server-side list options — Vendure's
|
|
174
|
-
// `ProductListOptions` input has no such field and would reject it.
|
|
175
|
-
const queryOptions = {
|
|
176
|
-
take: listOptions?.take ?? 20,
|
|
177
|
-
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,
|
|
178
159
|
};
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
// server-side — the Shop API always forces enabled-only).
|
|
199
|
-
if (listOptions?.filter) {
|
|
200
|
-
queryOptions.filter = listOptions.filter;
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
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');
|
|
204
179
|
}
|
|
205
|
-
|
|
206
|
-
|
|
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'));
|
|
207
195
|
return data.products;
|
|
208
|
-
}
|
|
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,
|
|
209
260
|
/**
|
|
210
261
|
* List the products of one collection, via the search backend — the only
|
|
211
262
|
* Shop API path that filters by collection. Returns the honest search-row
|
|
@@ -224,7 +275,7 @@ export function createProductMethods(http) {
|
|
|
224
275
|
skip: listOptions?.skip ?? 0,
|
|
225
276
|
...(listOptions?.sort ? { sort: listOptions.sort } : {}),
|
|
226
277
|
},
|
|
227
|
-
},
|
|
278
|
+
}, tagCatalogRead(options, 'getProductsInCollection'));
|
|
228
279
|
return {
|
|
229
280
|
items: data.search.items.map(searchItemToCollectionProduct),
|
|
230
281
|
totalItems: data.search.totalItems,
|
|
@@ -240,42 +291,30 @@ export function createProductMethods(http) {
|
|
|
240
291
|
skip: listOptions?.skip ?? 0,
|
|
241
292
|
...(listOptions?.sort ? { sort: listOptions.sort } : {}),
|
|
242
293
|
},
|
|
243
|
-
},
|
|
294
|
+
}, tagCatalogRead(options, 'getProductsInCollectionById', [collectionCacheTag(collectionId)]));
|
|
244
295
|
return {
|
|
245
296
|
items: data.search.items.map(searchItemToCollectionProduct),
|
|
246
297
|
totalItems: data.search.totalItems,
|
|
247
298
|
};
|
|
248
299
|
},
|
|
249
300
|
async getFacets(options) {
|
|
250
|
-
const data = await http.graphql(LIST_FACETS, undefined, options);
|
|
301
|
+
const data = await http.graphql(LIST_FACETS, undefined, tagCatalogRead(options, 'getFacets'));
|
|
251
302
|
return data.facets.items;
|
|
252
303
|
},
|
|
253
304
|
async getCollections(listOptions, options) {
|
|
254
305
|
const data = await http.graphql(LIST_COLLECTIONS, {
|
|
255
306
|
options: { take: listOptions?.take ?? 100, skip: listOptions?.skip ?? 0 },
|
|
256
|
-
},
|
|
307
|
+
}, tagCatalogRead(options, 'getCollections'));
|
|
257
308
|
return data.collections.items;
|
|
258
309
|
},
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
if (!data.collection) {
|
|
262
|
-
throw new StorefrontError(`Collection not found: ${slug}`, 'vendure', 404, 'NOT_FOUND');
|
|
263
|
-
}
|
|
264
|
-
return data.collection;
|
|
265
|
-
},
|
|
266
|
-
async getCollectionById(id, options) {
|
|
267
|
-
const data = await http.graphql(GET_COLLECTION_BY_ID, { id }, tagRequest(options, 'getCollectionById', [collectionCacheTag(id)]));
|
|
268
|
-
if (!data.collection) {
|
|
269
|
-
throw new StorefrontError(`Collection not found: ${id}`, 'vendure', 404, 'NOT_FOUND');
|
|
270
|
-
}
|
|
271
|
-
return data.collection;
|
|
272
|
-
},
|
|
310
|
+
getCollection,
|
|
311
|
+
getCollectionById,
|
|
273
312
|
async getPropertyGroups(options) {
|
|
274
|
-
const data = await http.graphql(PROPERTY_GROUPS, undefined, options);
|
|
313
|
+
const data = await http.graphql(PROPERTY_GROUPS, undefined, tagCatalogRead(options, 'getPropertyGroups'));
|
|
275
314
|
return data.productPropertyGroups;
|
|
276
315
|
},
|
|
277
316
|
async getProductProperties(productId, options) {
|
|
278
|
-
const data = await http.graphql(PRODUCT_PROPERTIES, { productId },
|
|
317
|
+
const data = await http.graphql(PRODUCT_PROPERTIES, { productId }, tagCatalogRead(options, 'getProductProperties', [productCacheTag(productId)]));
|
|
279
318
|
return data.productPropertyValues;
|
|
280
319
|
},
|
|
281
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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"}
|