@infrab4a/connect-angular 4.9.1 → 4.9.3-beta.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.
@@ -5,7 +5,7 @@ import { FirebaseApp, provideFirebaseApp, getApp, initializeApp } from '@angular
5
5
  import * as i2 from '@angular/fire/storage';
6
6
  import { Storage, provideStorage, getStorage } from '@angular/fire/storage';
7
7
  import * as i1$2 from '@infrab4a/connect';
8
- import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ConnectFirestoreService, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, OrderBlockedFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, PersonTypes, Wishlist, CheckoutSubscription, Product, RequiredArgumentError, add, Order, UpdateUserImage, FirebaseFileUploaderService } from '@infrab4a/connect';
8
+ import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ConnectFirestoreService, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, OrderBlockedFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, OrderStatus, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, PersonTypes, Wishlist, CheckoutSubscription, Product, RequiredArgumentError, add, Order, UpdateUserImage, FirebaseFileUploaderService } from '@infrab4a/connect';
9
9
  import * as i1 from '@angular/fire/auth';
10
10
  import { Auth, provideAuth, getAuth, getIdToken, authState } from '@angular/fire/auth';
11
11
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
@@ -1048,11 +1048,11 @@ class CouponService {
1048
1048
  throw 'Limite de uso atingido';
1049
1049
  }
1050
1050
  if (!couponUseLimits.unlimited || couponUseLimits.limitedPerUser) {
1051
- const orders = await this.getOrdersWithCoupon(coupon);
1052
- if (!couponUseLimits.unlimited && couponUseLimits.total && orders.length >= couponUseLimits.total)
1051
+ const ordersCoupon = await this.getOrdersWithCoupon(coupon);
1052
+ if (!couponUseLimits.unlimited && couponUseLimits.total && ordersCoupon.length >= couponUseLimits.total)
1053
1053
  throw 'Limite de uso atingido.';
1054
1054
  if (couponUseLimits.limitedPerUser) {
1055
- const ordersWithUser = this.countOrdersWithUser(orders, checkout.user.email);
1055
+ const ordersWithUser = this.countOrdersWithUser(ordersCoupon, checkout.user.email);
1056
1056
  if (ordersWithUser > 0)
1057
1057
  throw 'Limite de uso por usuário atingido.';
1058
1058
  }
@@ -1178,7 +1178,7 @@ class CouponService {
1178
1178
  .find({
1179
1179
  filters: {
1180
1180
  coupon: { id: coupon.id },
1181
- payment: { status: 'paid' },
1181
+ status: { operator: Where.NOTEQUALS, value: OrderStatus.CANCELADO },
1182
1182
  },
1183
1183
  })
1184
1184
  .then((result) => result.data);
@@ -1188,7 +1188,7 @@ class CouponService {
1188
1188
  .find({
1189
1189
  filters: {
1190
1190
  user: { email: { operator: Where.EQUALS, value: email } },
1191
- payment: { status: 'paid' },
1191
+ status: { operator: Where.NOTEQUALS, value: OrderStatus.CANCELADO },
1192
1192
  },
1193
1193
  })
1194
1194
  .then((result) => result.data);
@@ -1199,7 +1199,12 @@ class CouponService {
1199
1199
  getCouponUseLimits(coupon, checkoutType, user) {
1200
1200
  let couponUseLimits;
1201
1201
  if (checkoutType == CheckoutTypes.ECOMMERCE || checkoutType == CheckoutTypes.ALL) {
1202
- couponUseLimits = user && user.isSubscriber ? coupon.useLimits.subscriber : coupon.useLimits.non_subscriber;
1202
+ if (coupon.exclusivityType.length === 1 &&
1203
+ (coupon.exclusivityType.at(0) === Exclusivities.SPECIFIC_USER ||
1204
+ coupon.exclusivityType.at(0) === Exclusivities.COLLABORATORS))
1205
+ couponUseLimits = coupon.useLimits.non_subscriber;
1206
+ else
1207
+ couponUseLimits = user && user.isSubscriber ? coupon.useLimits.subscriber : coupon.useLimits.non_subscriber;
1203
1208
  }
1204
1209
  else {
1205
1210
  couponUseLimits = coupon.useLimits.subscription;
@@ -1976,6 +1981,14 @@ class WishlistService {
1976
1981
  personType: personType ?? PersonTypes.NONE,
1977
1982
  personIsSubscriber: personIsSubscriber ?? false,
1978
1983
  };
1984
+ // const hasWishlist = await this.wishlistRepository
1985
+ // .find({
1986
+ // filters: {
1987
+ // personId,
1988
+ // },
1989
+ // })
1990
+ // .then((res) => res.count)
1991
+ // if (hasWishlist) throw 'Usuário já possui Wishlist'
1979
1992
  const newWishlist = await this.wishlistRepository.create(data);
1980
1993
  await this.wishlistRepository.update({ id: newWishlist.id, slug: newWishlist.id });
1981
1994
  return Wishlist.toInstance({ ...newWishlist.toPlain(), slug: newWishlist.id });