@faststore/api 1.12.48 → 1.12.50
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/dist/api.cjs.development.js +30 -13
- package/dist/api.cjs.development.js.map +1 -1
- package/dist/api.cjs.production.min.js +1 -1
- package/dist/api.cjs.production.min.js.map +1 -1
- package/dist/api.esm.js +30 -13
- package/dist/api.esm.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/platforms/vtex/clients/index.d.ts +3 -3
- package/dist/platforms/vtex/clients/search/index.d.ts +2 -0
- package/dist/platforms/vtex/index.d.ts +2 -2
- package/dist/platforms/vtex/resolvers/query.d.ts +1 -1
- package/dist/platforms/vtex/utils/facets.d.ts +1 -0
- package/package.json +2 -2
- package/src/platforms/vtex/clients/search/index.ts +15 -6
- package/src/platforms/vtex/loaders/sku.ts +5 -1
- package/src/platforms/vtex/resolvers/query.ts +3 -0
- package/src/platforms/vtex/resolvers/validateCart.ts +1 -1
- package/src/platforms/vtex/utils/facets.ts +3 -0
|
@@ -22,7 +22,7 @@ var api = require('@opentelemetry/api');
|
|
|
22
22
|
var apiLogs = require('@opentelemetry/api-logs');
|
|
23
23
|
|
|
24
24
|
var name = "@faststore/api";
|
|
25
|
-
var version = "1.12.
|
|
25
|
+
var version = "1.12.49";
|
|
26
26
|
var license = "MIT";
|
|
27
27
|
var main = "dist/index.js";
|
|
28
28
|
var typings = "dist/index.d.ts";
|
|
@@ -58,7 +58,7 @@ var dependencies = {
|
|
|
58
58
|
};
|
|
59
59
|
var devDependencies = {
|
|
60
60
|
"@envelop/core": "^2.6.0",
|
|
61
|
-
"@faststore/shared": "^1.12.
|
|
61
|
+
"@faststore/shared": "^1.12.48",
|
|
62
62
|
"@graphql-codegen/cli": "2.2.0",
|
|
63
63
|
"@graphql-codegen/typescript": "2.2.2",
|
|
64
64
|
concurrently: "^6.2.1",
|
|
@@ -280,22 +280,23 @@ const IntelligentSearch = ({
|
|
|
280
280
|
};
|
|
281
281
|
};
|
|
282
282
|
|
|
283
|
-
const getRegionFacet =
|
|
283
|
+
const getRegionFacet = regionIdFromQuery => {
|
|
284
284
|
const {
|
|
285
285
|
regionId
|
|
286
286
|
} = ctx.storage.channel;
|
|
287
|
+
const facet = regionIdFromQuery != null ? regionIdFromQuery : regionId;
|
|
287
288
|
|
|
288
|
-
if (!
|
|
289
|
+
if (!facet) {
|
|
289
290
|
return null;
|
|
290
291
|
}
|
|
291
292
|
|
|
292
293
|
return {
|
|
293
294
|
key: REGION_KEY,
|
|
294
|
-
value:
|
|
295
|
+
value: facet
|
|
295
296
|
};
|
|
296
297
|
};
|
|
297
298
|
|
|
298
|
-
const addDefaultFacets = facets => {
|
|
299
|
+
const addDefaultFacets = (facets, regionIdFromQuery) => {
|
|
299
300
|
var _facets$find, _facets$find2;
|
|
300
301
|
|
|
301
302
|
const withDefaltFacets = facets.filter(({
|
|
@@ -306,7 +307,7 @@ const IntelligentSearch = ({
|
|
|
306
307
|
}) => key === POLICY_KEY)) != null ? _facets$find : getPolicyFacet();
|
|
307
308
|
const regionFacet = (_facets$find2 = facets.find(({
|
|
308
309
|
key
|
|
309
|
-
}) => key === REGION_KEY)) != null ? _facets$find2 : getRegionFacet();
|
|
310
|
+
}) => key === REGION_KEY)) != null ? _facets$find2 : getRegionFacet(regionIdFromQuery);
|
|
310
311
|
|
|
311
312
|
if (policyFacet !== null) {
|
|
312
313
|
withDefaltFacets.push(policyFacet);
|
|
@@ -326,7 +327,9 @@ const IntelligentSearch = ({
|
|
|
326
327
|
sort = '',
|
|
327
328
|
selectedFacets = [],
|
|
328
329
|
type,
|
|
329
|
-
fuzzy = 'auto'
|
|
330
|
+
fuzzy = 'auto',
|
|
331
|
+
showInvisibleItems,
|
|
332
|
+
regionId
|
|
330
333
|
}) => {
|
|
331
334
|
const params = new URLSearchParams({
|
|
332
335
|
page: (page + 1).toString(),
|
|
@@ -337,11 +340,15 @@ const IntelligentSearch = ({
|
|
|
337
340
|
locale: ctx.storage.locale
|
|
338
341
|
});
|
|
339
342
|
|
|
343
|
+
if (showInvisibleItems) {
|
|
344
|
+
params.append('show-invisible-items', 'true');
|
|
345
|
+
}
|
|
346
|
+
|
|
340
347
|
if (hideUnavailableItems !== undefined) {
|
|
341
348
|
params.append('hideUnavailableItems', hideUnavailableItems.toString());
|
|
342
349
|
}
|
|
343
350
|
|
|
344
|
-
const pathname = addDefaultFacets(selectedFacets).map(({
|
|
351
|
+
const pathname = addDefaultFacets(selectedFacets, regionId).map(({
|
|
345
352
|
key,
|
|
346
353
|
value
|
|
347
354
|
}) => `${key}/${value}`).join('/');
|
|
@@ -534,13 +541,16 @@ const isBadRequestError = error => {
|
|
|
534
541
|
};
|
|
535
542
|
|
|
536
543
|
const getSkuLoader = (_, clients) => {
|
|
537
|
-
const loader = async
|
|
544
|
+
const loader = async keys => {
|
|
545
|
+
const skuIds = keys.map(key => key.split('-')[0]);
|
|
546
|
+
const showInvisibleItems = keys.some(key => key.split('-')[1] === 'invisibleItems');
|
|
538
547
|
const {
|
|
539
548
|
products
|
|
540
549
|
} = await clients.search.products({
|
|
541
550
|
query: `sku:${skuIds.join(';')}`,
|
|
542
551
|
page: 0,
|
|
543
|
-
count: skuIds.length
|
|
552
|
+
count: skuIds.length,
|
|
553
|
+
showInvisibleItems
|
|
544
554
|
});
|
|
545
555
|
const skuBySkuId = products.reduce((acc, product) => {
|
|
546
556
|
for (const sku of product.items) {
|
|
@@ -920,6 +930,11 @@ const findChannel = facets => {
|
|
|
920
930
|
|
|
921
931
|
return (_facets$find$value4 = facets == null ? void 0 : (_facets$find4 = facets.find(facet => facet.key === 'channel')) == null ? void 0 : _facets$find4.value) != null ? _facets$find$value4 : null;
|
|
922
932
|
};
|
|
933
|
+
const findRegionId = facets => {
|
|
934
|
+
var _facets$find$value5, _facets$find5;
|
|
935
|
+
|
|
936
|
+
return (_facets$find$value5 = facets == null ? void 0 : (_facets$find5 = facets.find(facet => facet.key === 'regionId')) == null ? void 0 : _facets$find5.value) != null ? _facets$find$value5 : undefined;
|
|
937
|
+
};
|
|
923
938
|
|
|
924
939
|
/**
|
|
925
940
|
* More info at: https://en.wikipedia.org/wiki/Order_statistic
|
|
@@ -1158,7 +1173,7 @@ const orderFormToCart = async (form, skuLoader) => {
|
|
|
1158
1173
|
order: {
|
|
1159
1174
|
orderNumber: form.orderFormId,
|
|
1160
1175
|
acceptedOffer: form.items.map(async item => ({ ...item,
|
|
1161
|
-
product: await skuLoader.load(item.id)
|
|
1176
|
+
product: await skuLoader.load(`${item.id}-invisibleItems`)
|
|
1162
1177
|
}))
|
|
1163
1178
|
},
|
|
1164
1179
|
messages: form.messages.map(({
|
|
@@ -1797,6 +1812,7 @@ const Query = {
|
|
|
1797
1812
|
// Insert channel in context for later usage
|
|
1798
1813
|
const channel = findChannel(locator);
|
|
1799
1814
|
const locale = findLocale(locator);
|
|
1815
|
+
const regionId = findRegionId(locator);
|
|
1800
1816
|
const id = findSkuId(locator);
|
|
1801
1817
|
const slug = findSlug(locator);
|
|
1802
1818
|
|
|
@@ -1857,7 +1873,8 @@ const Query = {
|
|
|
1857
1873
|
} = await search.products({
|
|
1858
1874
|
page: 0,
|
|
1859
1875
|
count: 1,
|
|
1860
|
-
query: `product:${route.id}
|
|
1876
|
+
query: `product:${route.id}`,
|
|
1877
|
+
regionId
|
|
1861
1878
|
});
|
|
1862
1879
|
|
|
1863
1880
|
if (!product) {
|