@nuskin/ns-product-lib 2.19.8-td-1017.1 → 2.20.0-td-1000.1
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/package.json +6 -6
- package/src/graph-ql/graphQlUrl.js +3 -3
- package/src/graph-ql/product.js +3 -4
- package/src/product.js +1 -1
- package/src/productData.js +4 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nuskin/ns-product-lib",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.20.0-td-1000.1",
|
4
4
|
"description": "This project contains shared Product models and code between the backend and frontend.",
|
5
5
|
"main": "src/index.js",
|
6
6
|
"scripts": {
|
@@ -20,10 +20,10 @@
|
|
20
20
|
"homepage": "https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/blob/master/README.md",
|
21
21
|
"devDependencies": {
|
22
22
|
"@nuskin/configuration-sdk": "3.0.0",
|
23
|
-
"@nuskin/ns-common-lib": "1.4.
|
24
|
-
"@nuskin/ns-util": "4.
|
25
|
-
"@nuskin/product-lib": "2.
|
26
|
-
"axios": "1.
|
23
|
+
"@nuskin/ns-common-lib": "1.4.8",
|
24
|
+
"@nuskin/ns-util": "4.7.2",
|
25
|
+
"@nuskin/product-lib": "2.4.0-td-1000.1",
|
26
|
+
"axios": "1.8.3",
|
27
27
|
"axios-mock-adapter": "1.21.2",
|
28
28
|
"eslint": "^8.56.0",
|
29
29
|
"eslint-config-google": "^0.14.0",
|
@@ -39,7 +39,7 @@
|
|
39
39
|
"@nuskin/configuration-sdk": "3.x",
|
40
40
|
"@nuskin/ns-common-lib": "1.x",
|
41
41
|
"@nuskin/ns-util": "4.x",
|
42
|
-
"axios": "1.
|
42
|
+
"axios": "1.8.3"
|
43
43
|
},
|
44
44
|
"dependencies": {
|
45
45
|
"qs": "6.11.0"
|
@@ -2,15 +2,15 @@ const { getEnvironmentFromUrl } = require('@nuskin/ns-common-lib');
|
|
2
2
|
|
3
3
|
const config = {
|
4
4
|
dev: {
|
5
|
-
url: 'https://
|
5
|
+
url: 'https://apis.dev.nuskin.com/product/graphql',
|
6
6
|
env: 'dev'
|
7
7
|
},
|
8
8
|
test: {
|
9
|
-
url: 'https://
|
9
|
+
url: 'https://apis.test.nuskin.com/product/graphql',
|
10
10
|
env: 'test'
|
11
11
|
},
|
12
12
|
prod: {
|
13
|
-
url: 'https://
|
13
|
+
url: 'https://apis.nuskin.com/product/graphql',
|
14
14
|
env: 'public'
|
15
15
|
}
|
16
16
|
};
|
package/src/graph-ql/product.js
CHANGED
@@ -248,16 +248,16 @@ function mapPricingJson(productDetail, kitOrVariant, isContentStack) {
|
|
248
248
|
// eslint-disable-next-line no-unused-vars
|
249
249
|
function mapProduct(product, market, locale, config) {
|
250
250
|
const kitBundleProducts = product.bundle;
|
251
|
+
|
251
252
|
//serves as parent
|
252
253
|
const defaultVariant = !kitBundleProducts ? product.variants.find(v => v.sku === config.sku) : null
|
253
|
-
const productImages = mapProductImages(product)
|
254
254
|
const kitOrVariant = !kitBundleProducts ? defaultVariant : kitBundleProducts
|
255
255
|
const productOrVariant = !kitBundleProducts ? defaultVariant : product
|
256
|
+
const productImages = mapProductImages(productOrVariant)
|
256
257
|
const pricing = kitOrVariant.price
|
257
258
|
const points = kitOrVariant.points
|
258
259
|
const isBackOrdered = kitOrVariant.status.inventory === 'backordered'
|
259
260
|
const promoData = mapPromos(kitOrVariant)
|
260
|
-
const productionBom = product.bundle && product.bundle.isProductionBom ? product.bundle.isProductionBom : false;
|
261
261
|
|
262
262
|
const productDetail = {
|
263
263
|
"sku": !kitBundleProducts ? defaultVariant.sku : product.id,
|
@@ -328,8 +328,7 @@ function mapProduct(product, market, locale, config) {
|
|
328
328
|
"properties": {
|
329
329
|
isBackOrdered: isBackOrdered,
|
330
330
|
inventoryStatus: isBackOrdered ? 'BACKORDER' : 'IN STOCK',
|
331
|
-
productStatus: mapProductStatus(kitOrVariant.status.status)
|
332
|
-
productionBom: productionBom
|
331
|
+
productStatus: mapProductStatus(kitOrVariant.status.status)
|
333
332
|
}
|
334
333
|
}
|
335
334
|
|
package/src/product.js
CHANGED
@@ -321,7 +321,7 @@ const Product = function (productData) {
|
|
321
321
|
this.globalProductID = productStatus.globalProductID;
|
322
322
|
this.status = productStatus.status;
|
323
323
|
this.availableQuantity = productStatus.availableQuantity;
|
324
|
-
this.maxQuantity = productStatus.maxQuantity
|
324
|
+
this.maxQuantity = typeof(productStatus.maxQuantity) === 'number' ? productStatus.maxQuantity : 999;
|
325
325
|
this.locallyProduced = productStatus.locallyProduced || false;
|
326
326
|
if (productStatus.backordered) {
|
327
327
|
this.backOrderDate = productStatus.backorderedAvailableDate;
|
package/src/productData.js
CHANGED
@@ -74,7 +74,10 @@ const ProductData = {
|
|
74
74
|
|
75
75
|
const filter = skuFilter.join(" OR ")
|
76
76
|
|
77
|
-
|
77
|
+
let url = `${config.API_Base_URLs}/orchestrationservices/storefront/catalogs/search/`;
|
78
|
+
if (config.API_Base_URLs && config.API_Base_URLs.indexOf('apis') > -1) {
|
79
|
+
url = `${config.API_Base_URLs}/catalogs/search/`;
|
80
|
+
}
|
78
81
|
const href = `${url}?filter='\\\\''${encodeURI(filter)}'\\''`;
|
79
82
|
axios.interceptors.response.use((res) => res, productNotFoundInterceptor);
|
80
83
|
const response = await axios.request({
|