@nuskin/ns-product-lib 2.7.0-cx24-3682.19 → 2.7.0-cx24-3682.21
Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
# [2.7.0-cx24-3682.21](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.7.0-cx24-3682.20...v2.7.0-cx24-3682.21) (2023-03-28)
|
2
|
+
|
3
|
+
|
4
|
+
### New
|
5
|
+
|
6
|
+
* MySite product cards show blank data when users have setup AEM Base SKU's(55) in Admin #CX24-3682 ([d32293e](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/commit/d32293e08920313b2598e6be21d66c7377713d9e)), closes [#CX24-3682](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/issues/CX24-3682)
|
7
|
+
|
8
|
+
# [2.7.0-cx24-3682.20](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.7.0-cx24-3682.19...v2.7.0-cx24-3682.20) (2023-03-28)
|
9
|
+
|
10
|
+
|
11
|
+
### New
|
12
|
+
|
13
|
+
* MySite product cards show blank data when users have setup AEM Base SKU's(55) in Admin #CX24-3682 ([d008a2e](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/commit/d008a2e625131f66f7f2ea5ed428c0ec4cb28e8b)), closes [#CX24-3682](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/issues/CX24-3682)
|
14
|
+
|
1
15
|
# [2.7.0-cx24-3682.19](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.7.0-cx24-3682.18...v2.7.0-cx24-3682.19) (2023-03-28)
|
2
16
|
|
3
17
|
|
package/package.json
CHANGED
@@ -48,6 +48,7 @@
|
|
48
48
|
* @property {string} identifier e.g., Normal - "blt8b757df6dcaa199c" | Kit - "02001076"
|
49
49
|
* @property {EquinoxProductProperties} properties
|
50
50
|
* @property {EquinoxProductVariant[]} sku or varaints - available only when product is a normal product.
|
51
|
+
* @property {boolean|null} [exists] indicates whethere the SKU exists or not (HTTP 404) e.g., false
|
51
52
|
*/
|
52
53
|
|
53
54
|
/**
|
@@ -11,15 +11,19 @@ function productNotFound(product, market) {
|
|
11
11
|
const model = {};
|
12
12
|
model.identifier = mapIdentifier(` ${product.identifier}`);
|
13
13
|
model.properties = mapProperties();
|
14
|
+
model.exists = mapExists(product.exists);
|
14
15
|
model.sku = [mapVariant({
|
16
|
+
// adding a whitespace allows us to display an SKU with 55
|
17
|
+
// without initializing the variant selector of ns-product-small
|
15
18
|
identifier: ` ${product.identifier}`,
|
16
19
|
properties: {
|
17
20
|
availableChannels: 'subscription,arsPhone,kiosk,mobile,web',
|
18
21
|
customerTypes: 'BrandAffiliate,Preferred,Retail',
|
22
|
+
description: 'not-found',
|
19
23
|
imageURL: 'https://nuskin.com/content/dam/global/images/products/01102730-nu-skin-tri-phasic-white-essence.png',
|
20
24
|
isExclusive: 'false',
|
21
25
|
market,
|
22
|
-
name: product.identifier
|
26
|
+
name: ` ${product.identifier}`,
|
23
27
|
productStatus: 'Sellable',
|
24
28
|
scanQualifiedCount: '0',
|
25
29
|
status: 'active',
|
@@ -30,4 +34,15 @@ function productNotFound(product, market) {
|
|
30
34
|
return model;
|
31
35
|
}
|
32
36
|
|
37
|
+
/**
|
38
|
+
* @param {boolean|null|undefined} exists
|
39
|
+
*/
|
40
|
+
function mapExists(exists) {
|
41
|
+
if (exists === undefined) {
|
42
|
+
return null;
|
43
|
+
}
|
44
|
+
|
45
|
+
return exists;
|
46
|
+
}
|
47
|
+
|
33
48
|
module.exports = productNotFound;
|
package/src/product.js
CHANGED
@@ -75,7 +75,14 @@ const Product = function(productData) {
|
|
75
75
|
//equinox inventory / stock label
|
76
76
|
//@example "IN STOCK"
|
77
77
|
this.inventory = "";
|
78
|
+
|
79
|
+
// equinox specific properties
|
78
80
|
this.equinoxProductId = "";
|
81
|
+
this.equinox = {
|
82
|
+
sku: {
|
83
|
+
exists: null
|
84
|
+
}
|
85
|
+
};
|
79
86
|
|
80
87
|
this.setMarketAttributes = function(productStatus) {
|
81
88
|
if (productStatus.marketAttributes) {
|
@@ -534,6 +541,11 @@ const Product = function(productData) {
|
|
534
541
|
retData.addOns = this.addOns;
|
535
542
|
retData.inventory = this.inventory;
|
536
543
|
retData.equinoxProductId = this.equinoxProductId;
|
544
|
+
retData.equinox = {
|
545
|
+
sku: {
|
546
|
+
exists: this.equinox.sku.exists
|
547
|
+
}
|
548
|
+
};
|
537
549
|
|
538
550
|
return retData;
|
539
551
|
};
|
@@ -675,6 +687,14 @@ const Product = function(productData) {
|
|
675
687
|
}
|
676
688
|
|
677
689
|
this.equinoxProductId = data.equinoxProductId;
|
690
|
+
|
691
|
+
if (data.equinox && data.equinox.sku) {
|
692
|
+
this.equinox = {
|
693
|
+
sku: {
|
694
|
+
exists: data.equinox.sku.exists
|
695
|
+
}
|
696
|
+
};
|
697
|
+
}
|
678
698
|
}
|
679
699
|
};
|
680
700
|
|
package/src/productData.js
CHANGED
@@ -462,7 +462,12 @@ const ProductData = {
|
|
462
462
|
"restrictedMarkets": [],
|
463
463
|
"addOns": [],
|
464
464
|
"inventory": product.inventory || "", //inventory label
|
465
|
-
"equinoxProductId": productData.identifier
|
465
|
+
"equinoxProductId": productData.identifier,
|
466
|
+
equinox: {
|
467
|
+
sku: {
|
468
|
+
exists: productData.exists ? productData.exists : false
|
469
|
+
}
|
470
|
+
}
|
466
471
|
};
|
467
472
|
|
468
473
|
products.push(new Product(product));
|