@nuskin/ns-product-lib 2.9.1 → 2.9.2

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.9.2](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.9.1...v2.9.2) (2023-07-31)
2
+
3
+
4
+ ### Fix
5
+
6
+ * product backordered quantity (#CX24-4771) ([5efc8cc](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/commit/5efc8ccde4967ee50504f449ac818139f4416a75)), closes [#CX24-4771](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/issues/CX24-4771)
7
+
1
8
  ## [2.9.1](https://code.tls.nuskin.io/ns-am/product/js-libs/ns-product-lib/compare/v2.9.0...v2.9.1) (2023-07-17)
2
9
 
3
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/ns-product-lib",
3
- "version": "2.9.1",
3
+ "version": "2.9.2",
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": {
@@ -135,6 +135,27 @@ const ProductData = {
135
135
  };
136
136
  },
137
137
 
138
+ /**
139
+ * Get available product quantity
140
+ * If backOrdered === true, use backOrderedQty
141
+ * else use atpQty
142
+ * @param {obj} inventory
143
+ * @returns {number} qty
144
+ */
145
+ getAvailableQty: function(inventory) {
146
+ // const inventory = Object.create(inventoryProperties);
147
+ if (!inventory || (!inventory.hasOwnProperty('backOrdered')
148
+ || !inventory.hasOwnProperty('atpQty') || !inventory.hasOwnProperty('backOrderedQty'))) {
149
+ return 0;
150
+ }
151
+
152
+ if (inventory.backOrdered) {
153
+ return inventory.backOrderedQty;
154
+ }
155
+
156
+ return inventory.atpQty;
157
+ },
158
+
138
159
  /**
139
160
  * Map product variant
140
161
  * @todo remove unnecessary fields and do code refactoring
@@ -256,7 +277,7 @@ const ProductData = {
256
277
  }
257
278
  ],
258
279
  "scanQualified": eqVariant.properties.scanQualifiedCount,
259
- "availableQuantity": eqVariant.inventoryProperties.atpQty,
280
+ "availableQuantity": this.getAvailableQty(eqVariant.inventoryProperties),
260
281
  "maxQuantity": 999,
261
282
  "points": "",
262
283
  "cv": productCVPrice,