@infrab4a/connect-angular 4.14.4 → 4.15.0-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-firestore.module.mjs +16 -2
- package/esm2020/services/coupon.service.mjs +7 -3
- package/fesm2015/infrab4a-connect-angular.mjs +21 -3
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +21 -3
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -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, 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, 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';
|
|
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,6 +420,13 @@ 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
|
+
},
|
|
423
430
|
], imports: [AngularElasticSeachModule,
|
|
424
431
|
provideFirestore((injector) => {
|
|
425
432
|
const platformId = injector.get(PLATFORM_ID);
|
|
@@ -679,6 +686,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
679
686
|
},
|
|
680
687
|
deps: ['FirestoreOptions'],
|
|
681
688
|
},
|
|
689
|
+
{
|
|
690
|
+
provide: 'SequenceRepository',
|
|
691
|
+
useFactory: (options) => {
|
|
692
|
+
return new SequenceFirestoreRepository(options);
|
|
693
|
+
},
|
|
694
|
+
deps: ['FirestoreOptions'],
|
|
695
|
+
},
|
|
682
696
|
],
|
|
683
697
|
}]
|
|
684
698
|
}] });
|
|
@@ -1140,7 +1154,7 @@ class CouponService {
|
|
|
1140
1154
|
const discount = +(subTotal * ((value > 100 ? 100 : value) / 100)).toFixed(2);
|
|
1141
1155
|
return { discount, lineItems: checkout.lineItems };
|
|
1142
1156
|
}
|
|
1143
|
-
|
|
1157
|
+
const lineItensElegibleForDiscount = await this.getLineItensEligebleForDiscount(categories, checkout);
|
|
1144
1158
|
const subTotal = this.calcCheckoutSubtotal(lineItensElegibleForDiscount, checkout.user);
|
|
1145
1159
|
if (type == CouponTypes.ABSOLUTE) {
|
|
1146
1160
|
discount = value > subTotal ? subTotal : value;
|
|
@@ -1154,7 +1168,7 @@ class CouponService {
|
|
|
1154
1168
|
async hasMinSubTotal(coupon, checkout) {
|
|
1155
1169
|
if (!coupon.minSubTotalValue)
|
|
1156
1170
|
return true;
|
|
1157
|
-
|
|
1171
|
+
const lineItensDiscount = await this.getLineItensEligebleForDiscount(coupon.productsCategories, checkout);
|
|
1158
1172
|
const subTotal = this.calcCheckoutSubtotal(lineItensDiscount, checkout.user);
|
|
1159
1173
|
if (coupon.minSubTotalValue <= subTotal)
|
|
1160
1174
|
return true;
|
|
@@ -1277,6 +1291,8 @@ class CouponService {
|
|
|
1277
1291
|
if (type === CouponTypes.ABSOLUTE) {
|
|
1278
1292
|
const couponDiscountMax = couponDiscount > subTotal ? subTotal : couponDiscount;
|
|
1279
1293
|
lineItemsDiscount = lineItems.map((item) => {
|
|
1294
|
+
if (item.isGift)
|
|
1295
|
+
return item;
|
|
1280
1296
|
const totalItemPercentage = item.pricePaid / subTotal;
|
|
1281
1297
|
const discountItem = couponDiscountMax * totalItemPercentage;
|
|
1282
1298
|
return {
|
|
@@ -1287,6 +1303,8 @@ class CouponService {
|
|
|
1287
1303
|
}
|
|
1288
1304
|
else {
|
|
1289
1305
|
lineItemsDiscount = lineItems.map((item) => {
|
|
1306
|
+
if (item.isGift)
|
|
1307
|
+
return item;
|
|
1290
1308
|
const discountItem = item.pricePaid * (couponDiscount / 100);
|
|
1291
1309
|
return {
|
|
1292
1310
|
...item,
|