@nuskin/ns-shop 6.4.4 → 6.4.5
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
CHANGED
|
@@ -480,7 +480,7 @@ function handleRedetermination(product, sapItem, sapSkus, adr, isAdrItem) {
|
|
|
480
480
|
}
|
|
481
481
|
}
|
|
482
482
|
|
|
483
|
-
function addSapItem(newItem, sapItem, sapSkus, adr, isAdrItem, replace) {
|
|
483
|
+
async function addSapItem(newItem, sapItem, sapSkus, adr, isAdrItem, replace) {
|
|
484
484
|
let product;
|
|
485
485
|
|
|
486
486
|
product = new Product(newItem);
|
|
@@ -516,7 +516,7 @@ function addSapItem(newItem, sapItem, sapSkus, adr, isAdrItem, replace) {
|
|
|
516
516
|
handleRedetermination(product, sapItem, sapSkus, adr, isAdrItem); // removes items from sapSkus
|
|
517
517
|
|
|
518
518
|
// Only honor the OneTime flag from SAP if we are a ADR order
|
|
519
|
-
CartService.addProductToCart({
|
|
519
|
+
await CartService.addProductToCart({
|
|
520
520
|
product: product,
|
|
521
521
|
qty: sapItem.LineItem.RequestedQuantity,
|
|
522
522
|
adr: (adr && isAdrItem),
|
|
@@ -526,13 +526,12 @@ function addSapItem(newItem, sapItem, sapSkus, adr, isAdrItem, replace) {
|
|
|
526
526
|
loyaltyPointsUsed: newItem.loyaltyPointsUsed,
|
|
527
527
|
isBusinessPortfolio: newItem.businessPortfolio,
|
|
528
528
|
replace: replace
|
|
529
|
-
})
|
|
529
|
+
})
|
|
530
530
|
}
|
|
531
531
|
|
|
532
|
-
const syncProductItems = (order, sapProducts, adr, includeSapItems) => {
|
|
532
|
+
const syncProductItems = async (order, sapProducts, adr, includeSapItems) => {
|
|
533
533
|
let sapSkus = [],
|
|
534
534
|
cartItems,
|
|
535
|
-
productPromises = [],
|
|
536
535
|
runConfig = RunConfigService.getRunConfig();
|
|
537
536
|
|
|
538
537
|
order.clearOutOfStock();
|
|
@@ -561,7 +560,7 @@ const syncProductItems = (order, sapProducts, adr, includeSapItems) => {
|
|
|
561
560
|
}
|
|
562
561
|
|
|
563
562
|
// first loop thru sapProducts to add new ones into the localProducts
|
|
564
|
-
|
|
563
|
+
for (const sapItem of sapProducts) {
|
|
565
564
|
order.productDiscountAmount += sapItem.ProductPromoSavings;
|
|
566
565
|
order.shippingDiscountAmount += sapItem.FreightPromoSavings;
|
|
567
566
|
// We need to make sure it is not a BOM item
|
|
@@ -625,42 +624,30 @@ const syncProductItems = (order, sapProducts, adr, includeSapItems) => {
|
|
|
625
624
|
newItem.thumbnail = existingItem.thumbnail;
|
|
626
625
|
newItem.title = existingItem.title;
|
|
627
626
|
newItem.marketAttributes = existingItem.marketAttributes;
|
|
628
|
-
addSapItem(newItem, sapItem, sapSkus, adr, isAdrItem, !!includeSapItems);
|
|
627
|
+
await addSapItem(newItem, sapItem, sapSkus, adr, isAdrItem, !!includeSapItems);
|
|
629
628
|
} else {
|
|
630
629
|
//order.getItem returns objects of type nuskin.newShop.cartItem
|
|
631
|
-
|
|
632
|
-
.
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
}
|
|
637
|
-
newItem.title = resp.title; // overwrite with the localized title
|
|
638
|
-
addSapItem(newItem, sapItem, sapSkus, adr, isAdrItem, !!includeSapItems);
|
|
630
|
+
try {
|
|
631
|
+
const data = await ProductService.getProductData(newItemSku, runConfig.country, runConfig.language);
|
|
632
|
+
if (data.title) {
|
|
633
|
+
if (runConfig.assessmentApp && newItem.thumbnail.search(/^http/g) === -1) {
|
|
634
|
+
newItem.thumbnail = UrlService.getSiteUrl() + '/' + newItem.thumbnail;
|
|
639
635
|
}
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
636
|
+
newItem.title = data.title; // overwrite with the localized title
|
|
637
|
+
}
|
|
638
|
+
} catch (err) {
|
|
639
|
+
console.error(`Failed to get the product name for ${newItemSku} \n${err}`);
|
|
640
|
+
}
|
|
641
|
+
await addSapItem(newItem, sapItem, sapSkus, adr, isAdrItem, !!includeSapItems);
|
|
646
642
|
}
|
|
647
643
|
}
|
|
648
644
|
}
|
|
649
|
-
});
|
|
650
|
-
|
|
651
|
-
if (productPromises.length > 0) {
|
|
652
|
-
Promise.all(productPromises).then(function () {
|
|
653
|
-
removeItems(cartItems, sapSkus);
|
|
654
|
-
// this needs to be called here because of the async call to get product info for the
|
|
655
|
-
// added items to be displayed in the order details section.
|
|
656
|
-
events.publish(events.shop.SIMULATE_COMPLETE);
|
|
657
|
-
}).catch(() => {
|
|
658
|
-
// same comment as above.
|
|
659
|
-
events.publish(events.shop.SIMULATE_COMPLETE);
|
|
660
|
-
});
|
|
661
|
-
} else {
|
|
662
|
-
removeItems(cartItems, sapSkus);
|
|
663
645
|
}
|
|
646
|
+
|
|
647
|
+
removeItems(cartItems, sapSkus);
|
|
648
|
+
// this needs to be called here because of the async call to get product info for the
|
|
649
|
+
// added items to be displayed in the order details section.
|
|
650
|
+
events.publish(events.shop.SIMULATE_COMPLETE);
|
|
664
651
|
};
|
|
665
652
|
|
|
666
653
|
const syncOrderTotals = (sapOrderTotals, orderTotals) => {
|
|
@@ -1071,7 +1058,7 @@ const populateSalesOrder = (action, adr) => {
|
|
|
1071
1058
|
* @param {Object} adr - Adr object created during checkout. Needed to syncProductItems
|
|
1072
1059
|
* @param {boolean} createResponse - Indicates that the salesOrderDetail object is from a createResponse
|
|
1073
1060
|
*/
|
|
1074
|
-
const toOrder = (salesOrderDetail, adr, createResponse) => {
|
|
1061
|
+
const toOrder = async (salesOrderDetail, adr, createResponse) => {
|
|
1075
1062
|
let order = OrderManager.getOrder();
|
|
1076
1063
|
order.currencyCode = salesOrderDetail.Currency;
|
|
1077
1064
|
order.orderId = salesOrderDetail.OrderID;
|
|
@@ -1100,7 +1087,7 @@ const toOrder = (salesOrderDetail, adr, createResponse) => {
|
|
|
1100
1087
|
syncShipping(salesOrderDetail.Shipping, order);
|
|
1101
1088
|
}
|
|
1102
1089
|
|
|
1103
|
-
syncProductItems(order, salesOrderDetail.LineItemDetails, order.adr ? adr : null);
|
|
1090
|
+
await syncProductItems(order, salesOrderDetail.LineItemDetails, order.adr ? adr : null);
|
|
1104
1091
|
syncOrderTotals(salesOrderDetail.OrderTotals, order.orderTotals);
|
|
1105
1092
|
syncPayment(salesOrderDetail.Payment, order.selectedPayment);
|
|
1106
1093
|
return order;
|
|
@@ -212,28 +212,28 @@ const adrShipImmediateSimulate = (adr) => {
|
|
|
212
212
|
headers: _getHeaders(),
|
|
213
213
|
timeout: SERVICE_TIMEOUT
|
|
214
214
|
})
|
|
215
|
-
.then((response) => {
|
|
215
|
+
.then(async (response) => {
|
|
216
216
|
let data = response.data;
|
|
217
217
|
if (data && data.messages) {
|
|
218
218
|
order.messages = data.messages;
|
|
219
219
|
}
|
|
220
220
|
if (data && data.SalesOrderResponse && data.SalesOrderResponse.SalesOrderDetail) {
|
|
221
221
|
syncSalesOrderResponse(data.SalesOrderResponse, order);
|
|
222
|
-
OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail, adr);
|
|
222
|
+
await OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail, adr);
|
|
223
223
|
} else {
|
|
224
224
|
console.log("SAP Error while calling simulate...");
|
|
225
225
|
events.publishError(events.errors.SAP, {messageString: "SAP Error while calling simulate..."});
|
|
226
226
|
}
|
|
227
227
|
resolve(response);
|
|
228
228
|
})
|
|
229
|
-
.catch((err) => {
|
|
229
|
+
.catch(async (err) => {
|
|
230
230
|
console.log(err);
|
|
231
231
|
let data;
|
|
232
232
|
if (err && err.response) data = err.response.data;
|
|
233
233
|
if (data && data.messages) {
|
|
234
234
|
if ((data.messages[0].type === 'OrderException') && data.SalesOrderResponse && data.SalesOrderResponse.SalesOrderDetail) {
|
|
235
235
|
syncSalesOrderResponse(data.SalesOrderResponse, order);
|
|
236
|
-
OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail, adr);
|
|
236
|
+
await OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail, adr);
|
|
237
237
|
} else if (data.messages[0].type === 'ProductDiscontinuedException') {
|
|
238
238
|
handleDiscontinuedSku(order, adr, data.messages);
|
|
239
239
|
}
|
|
@@ -281,7 +281,7 @@ const adrShipImmediateCreate = (adr) => {
|
|
|
281
281
|
headers: _getHeaders(),
|
|
282
282
|
timeout: SERVICE_TIMEOUT
|
|
283
283
|
})
|
|
284
|
-
.then((response) => {
|
|
284
|
+
.then(async (response) => {
|
|
285
285
|
let data = response.data;
|
|
286
286
|
if (data && data.AdrShipImmediateResponse && data.AdrShipImmediateResponse.salesOrderResponse) {
|
|
287
287
|
let salesOrderDetail = data.AdrShipImmediateResponse.salesOrderResponse.SalesOrderDetail;
|
|
@@ -297,7 +297,7 @@ const adrShipImmediateCreate = (adr) => {
|
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
if (salesOrderDetail) {
|
|
300
|
-
OrderAdapter.toOrder(salesOrderDetail, adr, true);
|
|
300
|
+
await OrderAdapter.toOrder(salesOrderDetail, adr, true);
|
|
301
301
|
order.adrOverrideNumber = salesOrderDetail.ADROverrideNumber;
|
|
302
302
|
}
|
|
303
303
|
// Clear locally-cached ADR List
|
|
@@ -347,28 +347,28 @@ const adrSimulate = (adr) => {
|
|
|
347
347
|
headers: _getHeaders(),
|
|
348
348
|
timeout: SERVICE_TIMEOUT
|
|
349
349
|
})
|
|
350
|
-
.then((response) => {
|
|
350
|
+
.then(async (response) => {
|
|
351
351
|
let data = response.data;
|
|
352
352
|
if (data && data.messages) {
|
|
353
353
|
order.messages = data.messages;
|
|
354
354
|
}
|
|
355
355
|
if (data && data.AdrResponse && data.AdrResponse.ADRDetail && data.AdrResponse.ADRDetail.SalesOrderDetail) {
|
|
356
356
|
syncSalesOrderResponse(data.AdrResponse, order);
|
|
357
|
-
OrderAdapter.toOrder(data.AdrResponse.ADRDetail.SalesOrderDetail, adr);
|
|
357
|
+
await OrderAdapter.toOrder(data.AdrResponse.ADRDetail.SalesOrderDetail, adr);
|
|
358
358
|
} else {
|
|
359
359
|
console.log("SAP Error while calling simulate...");
|
|
360
360
|
events.publishError(events.errors.SAP, {messageString: "SAP Error while calling simulate..."});
|
|
361
361
|
}
|
|
362
362
|
resolve(response);
|
|
363
363
|
})
|
|
364
|
-
.catch((err) => {
|
|
364
|
+
.catch(async (err) => {
|
|
365
365
|
console.log(err);
|
|
366
366
|
let data;
|
|
367
367
|
if (err && err.response) data = err.response.data;
|
|
368
368
|
if (data && data.messages) {
|
|
369
369
|
if ((data.messages[0].type === 'OrderException') && data.AdrResponse.ADRDetail && data.AdrResponse.ADRDetail.SalesOrderDetail) {
|
|
370
370
|
syncSalesOrderResponse(data.AdrResponse, order);
|
|
371
|
-
OrderAdapter.toOrder(data.AdrResponse.ADRDetail.SalesOrderDetail, adr);
|
|
371
|
+
await OrderAdapter.toOrder(data.AdrResponse.ADRDetail.SalesOrderDetail, adr);
|
|
372
372
|
} else if (data.messages[0].type === 'ProductDiscontinuedException') {
|
|
373
373
|
handleDiscontinuedSku(order, adr, data.messages);
|
|
374
374
|
}
|
|
@@ -410,10 +410,10 @@ const adrCreate = (adr) => {
|
|
|
410
410
|
headers: _getHeaders(),
|
|
411
411
|
timeout: SERVICE_TIMEOUT
|
|
412
412
|
})
|
|
413
|
-
.then((response) => {
|
|
413
|
+
.then(async (response) => {
|
|
414
414
|
let data = response.data;
|
|
415
415
|
if (data && data.AdrResponse && data.AdrResponse.ADRDetail && data.AdrResponse.ADRDetail.SalesOrderDetail) {
|
|
416
|
-
OrderAdapter.toOrder(data.AdrResponse.ADRDetail.SalesOrderDetail, adr, true);
|
|
416
|
+
await OrderAdapter.toOrder(data.AdrResponse.ADRDetail.SalesOrderDetail, adr, true);
|
|
417
417
|
if (data.AdrResponse.redirectUrl) {
|
|
418
418
|
syncRedirectUrls(data.AdrResponse, order);
|
|
419
419
|
order.externalPayment = true;
|
|
@@ -460,28 +460,28 @@ const orderSimulate = () => {
|
|
|
460
460
|
headers: _getHeaders(),
|
|
461
461
|
timeout: SERVICE_TIMEOUT
|
|
462
462
|
})
|
|
463
|
-
.then((response) => {
|
|
463
|
+
.then(async (response) => {
|
|
464
464
|
let data = response.data;
|
|
465
465
|
if (data && data.messages) {
|
|
466
466
|
order.messages = data.messages;
|
|
467
467
|
}
|
|
468
468
|
if (data && data.SalesOrderResponse && data.SalesOrderResponse.SalesOrderDetail) {
|
|
469
469
|
syncSalesOrderResponse(data.SalesOrderResponse, order);
|
|
470
|
-
OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail);
|
|
470
|
+
await OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail);
|
|
471
471
|
} else {
|
|
472
472
|
console.log("SAP Error while calling simulate...");
|
|
473
473
|
events.publishError(events.errors.SAP, {messageString: "SAP Error while calling simulate..."});
|
|
474
474
|
}
|
|
475
475
|
resolve(response);
|
|
476
476
|
})
|
|
477
|
-
.catch((err) => {
|
|
477
|
+
.catch(async (err) => {
|
|
478
478
|
let data;
|
|
479
479
|
console.log(err);
|
|
480
480
|
if (err && err.response) data = err.response.data;
|
|
481
481
|
if (data && data.messages) {
|
|
482
482
|
if ((data.messages[0].type === 'OrderException') && data.SalesOrderResponse && data.SalesOrderResponse.SalesOrderDetail) {
|
|
483
483
|
syncSalesOrderResponse(data.SalesOrderResponse, order);
|
|
484
|
-
OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail);
|
|
484
|
+
await OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail);
|
|
485
485
|
} else if (data.messages[0].type === 'ProductDiscontinuedException') {
|
|
486
486
|
handleDiscontinuedSku(order, null, data.messages);
|
|
487
487
|
}
|
|
@@ -533,7 +533,7 @@ const orderCreate = async () => {
|
|
|
533
533
|
order.paymentAuthorizationObject = data.SalesOrderResponse.paymentAuthorizationObject || null;
|
|
534
534
|
syncRedirectUrls(data.SalesOrderResponse, order);
|
|
535
535
|
if (data.SalesOrderResponse.SalesOrderDetail) {
|
|
536
|
-
OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail, null, true);
|
|
536
|
+
await OrderAdapter.toOrder(data.SalesOrderResponse.SalesOrderDetail, null, true);
|
|
537
537
|
}
|
|
538
538
|
} else {
|
|
539
539
|
console.log("SAP Error while calling create...");
|
|
@@ -223,7 +223,7 @@ const _readOrderStatus = async (order, tdc, sections, adr) => {
|
|
|
223
223
|
_paymentErrorCallback(sections);
|
|
224
224
|
} else {
|
|
225
225
|
doingRedirect = true;
|
|
226
|
-
_handleSuccess(OrderAdapter.toOrder(salesOrderResponse.SalesOrderDetail, adr, true));
|
|
226
|
+
_handleSuccess(await OrderAdapter.toOrder(salesOrderResponse.SalesOrderDetail, adr, true));
|
|
227
227
|
}
|
|
228
228
|
return doingRedirect;
|
|
229
229
|
}
|
|
@@ -269,7 +269,7 @@ const _checkExternalPaymentStatus = async (order, tdc, sections, adr) => {
|
|
|
269
269
|
doingRedirect = true;
|
|
270
270
|
// look for SalesOrderResponse here
|
|
271
271
|
if (status.salesOrderResponse) {
|
|
272
|
-
order = OrderAdapter.toOrder(status.salesOrderResponse.SalesOrderDetail, adr, true);
|
|
272
|
+
order = await OrderAdapter.toOrder(status.salesOrderResponse.SalesOrderDetail, adr, true);
|
|
273
273
|
}
|
|
274
274
|
_handleSuccess(order);
|
|
275
275
|
break;
|