@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.
- package/esm2020/services/catalog/wishlist.service.mjs +9 -1
- package/esm2020/services/coupon.service.mjs +13 -8
- package/fesm2015/infrab4a-connect-angular.mjs +20 -7
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +20 -7
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
1052
|
-
if (!couponUseLimits.unlimited && 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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 });
|