@nuskin/ns-product-lib 2.3.0-cx24-2186.1 → 2.3.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/CHANGELOG.md +3 -3
- package/package.json +2 -1
- package/src/product.js +0 -6
- package/src/productData.js +16 -20
    
        package/CHANGELOG.md
    CHANGED
    
    | @@ -1,9 +1,9 @@ | |
| 1 | 
            -
            # [2.3.0 | 
| 1 | 
            +
            # [2.3.0](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.2.0...v2.3.0) (2022-10-14)
         | 
| 2 2 |  | 
| 3 3 |  | 
| 4 | 
            -
            ###  | 
| 4 | 
            +
            ### Update
         | 
| 5 5 |  | 
| 6 | 
            -
            *  | 
| 6 | 
            +
            * Get Kong URL from contentstack (CX24-2447) ([035d01d](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/commit/035d01dcdad1b7daab11d76085be65b9e7a29210))
         | 
| 7 7 |  | 
| 8 8 | 
             
            # [2.2.0](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.1.0...v2.2.0) (2022-10-13)
         | 
| 9 9 |  | 
    
        package/package.json
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
              "name": "@nuskin/ns-product-lib",
         | 
| 3 | 
            -
              "version": "2.3.0 | 
| 3 | 
            +
              "version": "2.3.0",
         | 
| 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": {
         | 
| @@ -24,6 +24,7 @@ | |
| 24 24 | 
             
                "eslint-config-prettier": "4.1.0",
         | 
| 25 25 | 
             
                "eslint-plugin-json": "2.1.1",
         | 
| 26 26 | 
             
                "eslint-plugin-prettier": "3.1.2",
         | 
| 27 | 
            +
                "axios-mock-adapter": "1.18.2",
         | 
| 27 28 | 
             
                "jest": "25.1.0",
         | 
| 28 29 | 
             
                "jest-sonar-reporter": "2.0.0",
         | 
| 29 30 | 
             
                "prettier": "1.19.1"
         | 
    
        package/src/product.js
    CHANGED
    
    | @@ -72,11 +72,6 @@ const Product = function(productData) { | |
| 72 72 | 
             
              // agelocme stuff
         | 
| 73 73 | 
             
              this.agelocme = null; // object containing agelocme information (like code, label, name)
         | 
| 74 74 |  | 
| 75 | 
            -
              //equinox API inventory label
         | 
| 76 | 
            -
              //@example "IN STOCK"
         | 
| 77 | 
            -
              //@string  inventoryLabel
         | 
| 78 | 
            -
              this.inventoryLabel = "";
         | 
| 79 | 
            -
             | 
| 80 75 | 
             
              this.setMarketAttributes = function(productStatus) {
         | 
| 81 76 | 
             
                if (productStatus.marketAttributes) {
         | 
| 82 77 | 
             
                  this.marketAttributes = productStatus.marketAttributes;
         | 
| @@ -631,7 +626,6 @@ const Product = function(productData) { | |
| 631 626 | 
             
                  this.marketAttributes = productData.marketAttributes;
         | 
| 632 627 | 
             
                  this.addOns = productData.addOns || [];
         | 
| 633 628 | 
             
                  this.restrictedMarkets = productData.restrictedMarkets || [];
         | 
| 634 | 
            -
                  this.inventoryLabel = productData.inventoryLabel || "";
         | 
| 635 629 |  | 
| 636 630 | 
             
                  if (data.priceType) {
         | 
| 637 631 | 
             
                    this.addPricing(data.priceType, data.price);
         | 
    
        package/src/productData.js
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            "use strict";
         | 
| 2 2 | 
             
            const axios = require("axios");
         | 
| 3 3 | 
             
            const contentstack = require('./contentstack/contentstack');
         | 
| 4 | 
            -
            const  | 
| 4 | 
            +
            const product = require("./product");
         | 
| 5 5 |  | 
| 6 6 | 
             
            /** @type {*} */
         | 
| 7 7 | 
             
            const ProductData = {
         | 
| 8 8 | 
             
              /**
         | 
| 9 | 
            -
               * @param {string[]} skus
         | 
| 10 | 
            -
               * @param {string} locale
         | 
| 11 | 
            -
               * @param {string} market
         | 
| 12 | 
            -
               * @param {boolean} isEquinoxEnabled
         | 
| 9 | 
            +
               * @param {string[]} skus 
         | 
| 10 | 
            +
               * @param {string} locale 
         | 
| 11 | 
            +
               * @param {string} market 
         | 
| 12 | 
            +
               * @param {boolean} isEquinoxEnabled 
         | 
| 13 13 | 
             
               */
         | 
| 14 14 | 
             
              getProductData: async function (skus, locale, market, isEquinoxEnabled = false) {
         | 
| 15 15 | 
             
                const localeMarket = `${locale}_${market}`;
         | 
| @@ -28,7 +28,7 @@ const ProductData = { | |
| 28 28 | 
             
              getProductFromEquinox: async function (skus, locale, storeID) {
         | 
| 29 29 | 
             
                const filter = '{"filters":[{"field":"index_key_skuId","operation":"IN","value":"' + skus.toString() + '"}]}';
         | 
| 30 30 | 
             
                axios.defaults.withCredentials = true;
         | 
| 31 | 
            -
             | 
| 31 | 
            +
                
         | 
| 32 32 | 
             
                const url = await contentstack.getKongUrl() + `/orchestrationservices/storefront/catalogs/search/`;
         | 
| 33 33 | 
             
                console.log("Dynamic URL", url)
         | 
| 34 34 | 
             
                const href = `${url}?filter=${encodeURI(filter)}`;
         | 
| @@ -78,7 +78,7 @@ const ProductData = { | |
| 78 78 | 
             
                  responseType: 'json'
         | 
| 79 79 | 
             
                });
         | 
| 80 80 | 
             
              },
         | 
| 81 | 
            -
             | 
| 81 | 
            +
              
         | 
| 82 82 | 
             
              /**
         | 
| 83 83 | 
             
               * @param {contentstack.MarketConfig} marketConfig
         | 
| 84 84 | 
             
               */
         | 
| @@ -92,15 +92,13 @@ const ProductData = { | |
| 92 92 |  | 
| 93 93 | 
             
              eqProductMapper: function (productDataResponse) {
         | 
| 94 94 | 
             
                let prod = [];
         | 
| 95 | 
            -
             | 
| 96 | 
            -
                //sku[0] is equal to base sku
         | 
| 97 95 | 
             
                let count = 0;
         | 
| 98 96 |  | 
| 99 97 | 
             
                let prodArr = productDataResponse.map((data) => {
         | 
| 100 98 | 
             
                  let imageURL = data.sku[count].properties.imageURL;
         | 
| 101 99 | 
             
                  const regex = /\d+.\d+/
         | 
| 102 100 | 
             
                  let thumbnailImage = ''
         | 
| 103 | 
            -
             | 
| 101 | 
            +
                
         | 
| 104 102 | 
             
                  if (imageURL.includes('contentstack')) {
         | 
| 105 103 | 
             
                    thumbnailImage = imageURL + '?width=40'
         | 
| 106 104 | 
             
                  } else {
         | 
| @@ -209,18 +207,16 @@ const ProductData = { | |
| 209 207 | 
             
                      "earn": true
         | 
| 210 208 | 
             
                    },
         | 
| 211 209 | 
             
                    "restrictedMarkets": [],
         | 
| 212 | 
            -
                    "addOns": [] | 
| 213 | 
            -
                    inventoryLabel: data.sku[count].inventory || ""
         | 
| 210 | 
            +
                    "addOns": []
         | 
| 214 211 | 
             
                  };
         | 
| 215 | 
            -
             | 
| 216 | 
            -
                  return  | 
| 217 | 
            -
                }) | 
| 212 | 
            +
                  let newProduct = new product(prod);
         | 
| 213 | 
            +
                  return newProduct
         | 
| 214 | 
            +
                })
         | 
| 218 215 |  | 
| 219 216 | 
             
                let data = {
         | 
| 220 217 | 
             
                  products: prodArr,
         | 
| 221 218 | 
             
                  count: productDataResponse.length
         | 
| 222 219 | 
             
                };
         | 
| 223 | 
            -
             | 
| 224 220 | 
             
                return {
         | 
| 225 221 | 
             
                  data: {
         | 
| 226 222 | 
             
                    "status": 200,
         | 
| @@ -256,13 +252,13 @@ const ProductData = { | |
| 256 252 | 
             
              },
         | 
| 257 253 |  | 
| 258 254 | 
             
              /**
         | 
| 259 | 
            -
               *
         | 
| 260 | 
            -
               * @param {*} custType
         | 
| 261 | 
            -
               *
         | 
| 255 | 
            +
               * 
         | 
| 256 | 
            +
               * @param {*} custType 
         | 
| 257 | 
            +
               * 
         | 
| 262 258 | 
             
               */
         | 
| 263 259 | 
             
              switchCustType: function (custType) {
         | 
| 264 260 | 
             
                let newCustType = [];
         | 
| 265 | 
            -
                if (custType.includes('Brand Affiliate - Business Entity') || custType.includes('Brand Affiliate - Individual'))
         | 
| 261 | 
            +
                if (custType.includes('Brand Affiliate - Business Entity') || custType.includes('Brand Affiliate - Individual')) 
         | 
| 266 262 | 
             
                  newCustType.push(10)
         | 
| 267 263 | 
             
                if (custType.includes('Retail Customer'))
         | 
| 268 264 | 
             
                  newCustType.push(20)
         |