@infrab4a/connect-angular 4.15.0-beta.6 → 4.16.0-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, LogFirestoreRepository, SequenceFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, ProductsVertexSearch, VertexAxiosAdapter, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, OrderStatus, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, isEmpty, Category, PersonTypes, WishlistLogType, 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, LogFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, CategoryProductHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, ProductsVertexSearch, VertexAxiosAdapter, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, OrderStatus, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, isEmpty, Category, PersonTypes, WishlistLogType, 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';
@@ -420,13 +420,6 @@ AngularFirestoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
420
420
  },
421
421
  deps: ['FirestoreOptions'],
422
422
  },
423
- {
424
- provide: 'SequenceRepository',
425
- useFactory: (options) => {
426
- return new SequenceFirestoreRepository(options);
427
- },
428
- deps: ['FirestoreOptions'],
429
- },
430
423
  ], imports: [AngularElasticSeachModule,
431
424
  provideFirestore((injector) => {
432
425
  const platformId = injector.get(PLATFORM_ID);
@@ -686,13 +679,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
686
679
  },
687
680
  deps: ['FirestoreOptions'],
688
681
  },
689
- {
690
- provide: 'SequenceRepository',
691
- useFactory: (options) => {
692
- return new SequenceFirestoreRepository(options);
693
- },
694
- deps: ['FirestoreOptions'],
695
- },
696
682
  ],
697
683
  }]
698
684
  }] });
@@ -828,12 +814,23 @@ AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
828
814
  provide: 'CategoryCollectionChildrenRepository',
829
815
  useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
830
816
  },
817
+ {
818
+ provide: CategoryProductHasuraGraphQLRepository,
819
+ useFactory: (options) => {
820
+ return new CategoryProductHasuraGraphQLRepository(options);
821
+ },
822
+ deps: ['HasuraConfig'],
823
+ },
824
+ {
825
+ provide: 'CategoryProductRepository',
826
+ useExisting: CategoryProductHasuraGraphQLRepository,
827
+ },
831
828
  {
832
829
  provide: WishlistHasuraGraphQLRepository,
833
- useFactory: (options, categoryFilterRepository) => {
834
- return new WishlistHasuraGraphQLRepository(options, categoryFilterRepository);
830
+ useFactory: (options, categoryProductRepository) => {
831
+ return new WishlistHasuraGraphQLRepository(options, categoryProductRepository);
835
832
  },
836
- deps: ['HasuraConfig', CategoryFilterHasuraGraphQLRepository],
833
+ deps: ['HasuraConfig', CategoryProductHasuraGraphQLRepository],
837
834
  },
838
835
  {
839
836
  provide: 'WishlistRepository',
@@ -964,12 +961,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
964
961
  provide: 'CategoryCollectionChildrenRepository',
965
962
  useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
966
963
  },
964
+ {
965
+ provide: CategoryProductHasuraGraphQLRepository,
966
+ useFactory: (options) => {
967
+ return new CategoryProductHasuraGraphQLRepository(options);
968
+ },
969
+ deps: ['HasuraConfig'],
970
+ },
971
+ {
972
+ provide: 'CategoryProductRepository',
973
+ useExisting: CategoryProductHasuraGraphQLRepository,
974
+ },
967
975
  {
968
976
  provide: WishlistHasuraGraphQLRepository,
969
- useFactory: (options, categoryFilterRepository) => {
970
- return new WishlistHasuraGraphQLRepository(options, categoryFilterRepository);
977
+ useFactory: (options, categoryProductRepository) => {
978
+ return new WishlistHasuraGraphQLRepository(options, categoryProductRepository);
971
979
  },
972
- deps: ['HasuraConfig', CategoryFilterHasuraGraphQLRepository],
980
+ deps: ['HasuraConfig', CategoryProductHasuraGraphQLRepository],
973
981
  },
974
982
  {
975
983
  provide: 'WishlistRepository',
@@ -1154,7 +1162,7 @@ class CouponService {
1154
1162
  const discount = +(subTotal * ((value > 100 ? 100 : value) / 100)).toFixed(2);
1155
1163
  return { discount, lineItems: checkout.lineItems };
1156
1164
  }
1157
- const lineItensElegibleForDiscount = await this.getLineItensEligebleForDiscount(categories, checkout);
1165
+ let lineItensElegibleForDiscount = await this.getLineItensEligebleForDiscount(categories, checkout);
1158
1166
  const subTotal = this.calcCheckoutSubtotal(lineItensElegibleForDiscount, checkout.user);
1159
1167
  if (type == CouponTypes.ABSOLUTE) {
1160
1168
  discount = value > subTotal ? subTotal : value;
@@ -1168,7 +1176,7 @@ class CouponService {
1168
1176
  async hasMinSubTotal(coupon, checkout) {
1169
1177
  if (!coupon.minSubTotalValue)
1170
1178
  return true;
1171
- const lineItensDiscount = await this.getLineItensEligebleForDiscount(coupon.productsCategories, checkout);
1179
+ let lineItensDiscount = await this.getLineItensEligebleForDiscount(coupon.productsCategories, checkout);
1172
1180
  const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user);
1173
1181
  if (coupon.minSubTotalValue <= subTotal)
1174
1182
  return true;
@@ -1291,8 +1299,6 @@ class CouponService {
1291
1299
  if (type === CouponTypes.ABSOLUTE) {
1292
1300
  const couponDiscountMax = couponDiscount > subTotal ? subTotal : couponDiscount;
1293
1301
  lineItemsDiscount = lineItems.map((item) => {
1294
- if (item.isGift)
1295
- return item;
1296
1302
  const totalItemPercentage = item.pricePaid / subTotal;
1297
1303
  const discountItem = couponDiscountMax * totalItemPercentage;
1298
1304
  return {
@@ -1303,8 +1309,6 @@ class CouponService {
1303
1309
  }
1304
1310
  else {
1305
1311
  lineItemsDiscount = lineItems.map((item) => {
1306
- if (item.isGift)
1307
- return item;
1308
1312
  const discountItem = item.pricePaid * (couponDiscount / 100);
1309
1313
  return {
1310
1314
  ...item,
@@ -2197,7 +2201,7 @@ class WishlistService {
2197
2201
  await this.createWishlistLog(WishlistLogType.ADD_PRODUCT, wishlistData, productData);
2198
2202
  if (!hasProduct) {
2199
2203
  wishlist.products = [...wishlist.products, productId];
2200
- return this.wishlistRepository.update({ id: wishlistId, products: wishlist.products });
2204
+ await this.wishlistRepository.addProduct(wishlistId, productId);
2201
2205
  }
2202
2206
  return wishlist;
2203
2207
  }
@@ -2209,9 +2213,7 @@ class WishlistService {
2209
2213
  const wishlistData = await this.findById(wishlistId);
2210
2214
  const productData = await this.findProductById(productId);
2211
2215
  await this.createWishlistLog(WishlistLogType.REMOVE_PRODUCT, wishlistData, productData);
2212
- if (!wishlist.products.length)
2213
- return this.wishlistRepository.update({ id: wishlistId, products: { action: 'remove' } });
2214
- return this.wishlistRepository.update({ id: wishlistId, products: wishlist.products });
2216
+ await this.wishlistRepository.removeProduct(wishlistId, productId);
2215
2217
  }
2216
2218
  return wishlist;
2217
2219
  }