@infrab4a/connect-angular 4.1.5-beta.4 → 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.
- package/esm2020/angular-hasura-graphql.module.mjs +24 -2
- package/esm2020/services/catalog/catalog.service.mjs +8 -15
- package/fesm2015/infrab4a-connect-angular.mjs +29 -11
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +29 -14
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -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,27 +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
|
-
|
|
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
|
-
},
|
|
1561
|
-
});
|
|
1562
1577
|
return {
|
|
1563
1578
|
data: limitedProductId.map((id) => productResult.data.find((product) => product.id === id)).filter(Boolean),
|
|
1564
1579
|
count: totalResult.count,
|