@infrab4a/connect-angular 4.1.5-beta.3 → 4.1.6-beta.1

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.
@@ -3,7 +3,7 @@ import { NgModule, InjectionToken, PLATFORM_ID, Injectable, Inject } from '@angu
3
3
  import * as i1$4 from '@angular/fire/app';
4
4
  import { FirebaseApp, provideFirebaseApp, getApp, initializeApp } from '@angular/fire/app';
5
5
  import * as i1$2 from '@infrab4a/connect';
6
- import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, ProductVariantFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, CheckoutSubscription, Product, RequiredArgumentError, add, Order } from '@infrab4a/connect';
6
+ import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, ProductVariantFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewsHasuraGraphQLRepository, VariantHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, Where, Shops, CheckoutTypes, CouponTypes, Exclusivities, isNil, NotFoundError, Checkout, pick, LineItem, RoundProductPricesHelper, set, InvalidArgumentError, Category, CheckoutSubscription, Product, RequiredArgumentError, add, Order } from '@infrab4a/connect';
7
7
  import * as i1 from '@angular/fire/auth';
8
8
  import { Auth, provideAuth, getAuth, getIdToken, authState } from '@angular/fire/auth';
9
9
  import { isPlatformBrowser, isPlatformServer } from '@angular/common';
@@ -675,6 +675,17 @@ AngularHasuraGraphQLModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
675
675
  },
676
676
  deps: ['HasuraConfig'],
677
677
  },
678
+ {
679
+ provide: 'ProductReviewsRepository',
680
+ useExisting: ProductReviewsHasuraGraphQLRepository,
681
+ },
682
+ {
683
+ provide: ProductReviewsHasuraGraphQLRepository,
684
+ useFactory: (hasuraConfig) => {
685
+ return new ProductReviewsHasuraGraphQLRepository(hasuraConfig);
686
+ },
687
+ deps: ['HasuraConfig'],
688
+ },
678
689
  {
679
690
  provide: 'VariantRepository',
680
691
  useExisting: VariantHasuraGraphQLRepository,
@@ -789,6 +800,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
789
800
  },
790
801
  deps: ['HasuraConfig'],
791
802
  },
803
+ {
804
+ provide: 'ProductReviewsRepository',
805
+ useExisting: ProductReviewsHasuraGraphQLRepository,
806
+ },
807
+ {
808
+ provide: ProductReviewsHasuraGraphQLRepository,
809
+ useFactory: (hasuraConfig) => {
810
+ return new ProductReviewsHasuraGraphQLRepository(hasuraConfig);
811
+ },
812
+ deps: ['HasuraConfig'],
813
+ },
792
814
  {
793
815
  provide: 'VariantRepository',
794
816
  useExisting: VariantHasuraGraphQLRepository,
@@ -1538,28 +1560,20 @@ class CatalogService {
1538
1560
  }
1539
1561
  async findCatalogByTermAndSortByMostRevelant(options, limits) {
1540
1562
  const productIds = await this.findCatalogIdsByElasticSearch(options.term);
1563
+ const limitedProductId = productIds.slice(limits.offset, limits.offset + limits.limit);
1564
+ const productResult = await this.productRepository.findCatalog({
1565
+ filters: { id: { operator: Where.IN, value: limitedProductId } },
1566
+ }, options?.mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female');
1541
1567
  const totalResult = await this.productRepository.findCatalog({
1542
1568
  fields: ['id'],
1543
- filters: {
1544
- id: { operator: Where.IN, value: productIds },
1545
- ...this.buildFilterQuery(options?.filters || {}),
1546
- },
1569
+ filters: { id: { operator: Where.IN, value: productIds } },
1570
+ limits: { limit: 1, offset: 0 },
1547
1571
  options: {
1548
1572
  minimal: ['price'],
1549
1573
  maximum: ['price'],
1550
1574
  distinct: ['brand'],
1551
1575
  },
1552
1576
  }, options?.mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female');
1553
- const limitedProductId = totalResult.data
1554
- .slice(limits.offset, limits.offset + limits.limit)
1555
- .map((product) => product.id);
1556
- const orderedId = productIds.filter((product) => limitedProductId.includes(product));
1557
- const productResult = await this.productRepository.findCatalog({
1558
- filters: {
1559
- id: { operator: Where.IN, value: orderedId },
1560
- // ...this.buildFilterQuery(options?.filters || {}),
1561
- },
1562
- }, options?.mainGender || this.shop === Shops.MENSMARKET ? 'male' : 'female');
1563
1577
  return {
1564
1578
  data: limitedProductId.map((id) => productResult.data.find((product) => product.id === id)).filter(Boolean),
1565
1579
  count: totalResult.count,