@infrab4a/connect-angular 4.13.2-beta.1 → 4.13.2-beta.3

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.
@@ -1384,7 +1384,7 @@ class CartService {
1384
1384
  this.updateLineItemInCart = (lineItem, quantity, checkout) => (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(concatMap((checkoutLoaded) => {
1385
1385
  const items = [];
1386
1386
  const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.id).indexOf(lineItem.id);
1387
- const isGift = checkoutLoaded.lineItems[index].isGift;
1387
+ const isGift = checkoutLoaded.lineItems?.[index]?.isGift;
1388
1388
  if (index > -1) {
1389
1389
  checkoutLoaded.lineItems[index].quantity += quantity;
1390
1390
  checkoutLoaded.lineItems[index].pricePaid = isGift ? 0 : lineItem.pricePaid;
@@ -1410,7 +1410,7 @@ class CartService {
1410
1410
  throw new Error('Desculpe! Temos apenas ' + product.stock?.quantity + ' em estoque.');
1411
1411
  const image = item.image || item.images?.shift();
1412
1412
  const { id, name, EAN, slug, weight, sku, type } = item;
1413
- const isGift = item.isGift || null;
1413
+ const isGift = item?.isGift || null;
1414
1414
  const pricePaid = isGift
1415
1415
  ? 0
1416
1416
  : this.getProductPrice({
@@ -1458,7 +1458,7 @@ class CartService {
1458
1458
  };
1459
1459
  }
1460
1460
  addItem(item, quantity = 1) {
1461
- return from(this.checkoutService.getCheckout()).pipe(concatMap(async (checkout) => await this.buildLineItem({ checkout, item, quantity: quantity || 1 })), mergeMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout)), tap((cart) => this.cartSubject.next(cart)));
1461
+ return from(this.checkoutService.getCheckout()).pipe(tap((checkout) => (this.user = checkout.user)), concatMap(async (checkout) => await this.buildLineItem({ checkout, item, quantity: quantity || 1 })), mergeMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout)), tap((cart) => this.cartSubject.next(cart)));
1462
1462
  }
1463
1463
  decreaseItem(item) {
1464
1464
  return this.checkoutService.getCheckout().pipe(map((checkout) => {
@@ -1487,6 +1487,8 @@ class CartService {
1487
1487
  }), concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)), map((checkout) => this.generateCartObject(checkout.lineItems)), tap((cart) => this.cartSubject.next(cart)));
1488
1488
  }
1489
1489
  updateUserCart(user) {
1490
+ if (this.user?.id === user.id && this.user?.isSubscriber === user.isSubscriber)
1491
+ return this.cartSubject;
1490
1492
  return this.checkoutService.getCheckout().pipe(concatMap((checkout) => this.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user }))), concatMap(async (checkout) => await this.checkoutService
1491
1493
  .updateCheckoutLineItems(Checkout.toInstance({
1492
1494
  ...checkout.toPlain(),