@nuskin/ns-product-lib 2.7.1-cx24-3879.2 → 2.7.1-cx24-4055.1

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## [2.7.1-cx24-4055.1](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.7.0...v2.7.1-cx24-4055.1) (2023-05-05)
2
+
3
+
4
+ ### Fix
5
+
6
+ * Multiple variants not showing properly ([97c649b](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/commit/97c649beb1b004c2946c6114d049de7a06ad2eb1))
7
+
8
+ # [2.8.0-cx24-3705.2](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.8.0-cx24-3705.1...v2.8.0-cx24-3705.2) (2023-04-14)
9
+
10
+
11
+ ### Update
12
+
13
+ * setting correct title if multiple variants ([583e74d](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/commit/583e74d41acc7213cd86a48df9076a453da8bb93))
14
+
15
+ # [2.8.0-cx24-3705.1](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.7.0...v2.8.0-cx24-3705.1) (2023-04-14)
16
+
17
+
18
+ ### Update
19
+
20
+ * setting correct title if multiple variants ([9574804](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/commit/9574804094f65261ff45c9658ba4e4d4baf0bdf2))
21
+
1
22
  ## [2.7.1-cx24-3879.2](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.7.1-cx24-3879.1...v2.7.1-cx24-3879.2) (2023-04-13)
2
23
 
3
24
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/ns-product-lib",
3
- "version": "2.7.1-cx24-3879.2",
3
+ "version": "2.7.1-cx24-4055.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": {
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "@nuskin/configuration-sdk": "2.2.3",
35
35
  "@nuskin/ns-common-lib": "1.4.5",
36
- "@nuskin/ns-util": "4.2.7",
36
+ "@nuskin/ns-util": "4.3.2",
37
37
  "axios": "0.27.2",
38
38
  "qs": "6.11.0"
39
39
  },
@@ -129,17 +129,17 @@ const ProductData = {
129
129
  * @param {*} eqVariant
130
130
  * @returns Array<Product>
131
131
  */
132
- eqProductVariantMapper: function (eqVariant) {
132
+ eqProductVariantMapper: function (eqVariant, product) {
133
133
 
134
134
  let imageURL = eqVariant.properties.imageURL ? eqVariant.properties.imageURL : '';
135
135
  let thumbnailImage = imageURL ? imageURL + '?width=40' : ''
136
136
 
137
137
 
138
- const { eventName, eventLabels, computedPrice, defaultProductPrice, CVPrice, PVPrice } = this.getEqProductPromotions(eqVariant);
139
- const productPrice = eventName ? defaultProductPrice : eqVariant.priceFacets["Regular Price"];
140
- const discountedPrice = eventName ? computedPrice : eqVariant.priceFacets["Regular Price"];
141
- const productCVPrice = eventName ? CVPrice : eqVariant.priceFacets.CV;
142
- const productPVPrice = eventName ? PVPrice : eqVariant.priceFacets.PV;
138
+ const { eventName, eventLabels, computedPrice, defaultProductPrice, CVPrice, PVPrice } = this.getEqProductPromotions(product);
139
+ const productPrice = eventName ? defaultProductPrice : product.priceFacets["Regular Price"];
140
+ const discountedPrice = eventName ? computedPrice : product.priceFacets["Regular Price"];
141
+ const productCVPrice = eventName ? CVPrice : product.priceFacets.CV;
142
+ const productPVPrice = eventName ? PVPrice : product.priceFacets.PV;
143
143
 
144
144
  return {
145
145
  "sku": eqVariant.identifier,
@@ -252,12 +252,12 @@ const ProductData = {
252
252
  "price": discountedPrice,
253
253
  "priceMap": {
254
254
  "WRTL": productPrice,
255
- "WADW-WRTL": eqVariant.priceFacets["Regular Price"],
256
- "WADR": eqVariant.priceFacets["Regular Price"],
257
- "RTL": eqVariant.priceFacets["Regular Price"],
258
- "WWHL": eqVariant.priceFacets["Wholesale Price"],
259
- "WADW": eqVariant.priceFacets["Wholesale Price"],
260
- "WHL": eqVariant.priceFacets["Wholesale Price"]
255
+ "WADW-WRTL": product.priceFacets["Regular Price"],
256
+ "WADR": product.priceFacets["Regular Price"],
257
+ "RTL": product.priceFacets["Regular Price"],
258
+ "WWHL": product.priceFacets["Wholesale Price"],
259
+ "WADW": product.priceFacets["Wholesale Price"],
260
+ "WHL": product.priceFacets["Wholesale Price"]
261
261
  },
262
262
  "cvMap": {
263
263
  "WWHL": productCVPrice,
@@ -364,14 +364,19 @@ const ProductData = {
364
364
  let product = (productData.type && productData.type === "kit") ? productData : productData.sku[count];
365
365
  let imageURL = product.properties.imageURL ? product.properties.imageURL : '';
366
366
  let thumbnailImage = imageURL ? imageURL + '?width=40' : ''
367
-
367
+ let productTitle = productData.properties.name
368
368
 
369
369
  if (productData.sku && productData.sku.length > 1) {
370
370
  // exclude base product from variants
371
+ const productArr = productData.sku.filter(p => p.default === true)
372
+ productTitle = productArr[0].properties.name;
373
+ product = productArr[0]
371
374
  productData.sku.filter(v => v.identifier.substring(2, 4) !== "55").map(variant => {
372
- variants[variant.identifier] = this.eqProductVariantMapper(variant);
375
+ variants[variant.identifier] = this.eqProductVariantMapper(variant, product);
373
376
  return variant;
374
377
  });
378
+
379
+
375
380
  }
376
381
 
377
382
  const {
@@ -393,7 +398,7 @@ const ProductData = {
393
398
  ...product,
394
399
  "sku": product.identifier,
395
400
  "globalProductID": productData.identifier,
396
- "title": productData.properties.name,
401
+ "title": productTitle,
397
402
  "country": product.properties.market,
398
403
  "language": "en",
399
404
  "shortDescr": productData.properties.description,
@@ -510,7 +515,7 @@ const ProductData = {
510
515
  };
511
516
  },
512
517
 
513
- mapEquinoxSKUExists: function(exists) {
518
+ mapEquinoxSKUExists: function (exists) {
514
519
  // this could be avoided if only we are using response mapper
515
520
  // for equinox products that exists.
516
521
  // @todo: clean-up