@infrab4a/connect-angular 5.3.0-beta.1 → 5.3.1-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/angular-connect.module.mjs +4 -2
- package/esm2020/services/index.mjs +2 -1
- package/esm2020/services/order-product-review.service.mjs +82 -0
- package/esm2020/services/types/index.mjs +3 -1
- package/esm2020/services/types/pending-product-review.type.mjs +2 -0
- package/esm2020/services/types/product-review-create.type.mjs +2 -0
- package/fesm2015/infrab4a-connect-angular.mjs +88 -2
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +82 -2
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/package.json +2 -2
- package/services/index.d.ts +1 -0
- package/services/order-product-review.service.d.ts +13 -0
- package/services/types/index.d.ts +2 -0
- package/services/types/pending-product-review.type.d.ts +11 -0
- package/services/types/product-review-create.type.d.ts +14 -0
|
@@ -7,7 +7,7 @@ import { provideAppCheck, initializeAppCheck } from '@angular/fire/app-check';
|
|
|
7
7
|
import * as i3$1 from '@angular/fire/storage';
|
|
8
8
|
import { Storage, provideStorage, getStorage } from '@angular/fire/storage';
|
|
9
9
|
import * as i3 from '@infrab4a/connect';
|
|
10
|
-
import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ConnectFirestoreService, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, GroupFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, OrderBlockedFirestoreRepository, LogFirestoreRepository, SequenceFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewHasuraGraphQLRepository, VariantHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, CategoryProductHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, ProductErrorsHasuraGraphQLRepository, ProductsVertexSearch, VertexAxiosAdapter, isNil, NotFoundError, Checkout, pick, LineItem, Where, isEmpty, Shops, set, InvalidArgumentError, RoundProductPricesHelper, Category, WishlistLogType, PersonTypes, Wishlist, CheckoutTypes, CouponTypes, Exclusivities, OrderStatus, CheckoutSubscription, Product, RequiredArgumentError, add, Order, UpdateUserImage, FirebaseFileUploaderService } from '@infrab4a/connect';
|
|
10
|
+
import { ProductsIndex, AxiosAdapter, Authentication, AuthenticationFirebaseAuthService, Register, RegisterFirebaseAuthService, SignOut, RecoveryPassword, ConnectFirestoreService, UserBeautyProfileFirestoreRepository, Buy2WinFirestoreRepository, CategoryFirestoreRepository, CheckoutFirestoreRepository, CheckoutSubscriptionFirestoreRepository, CouponFirestoreRepository, CampaignHashtagFirestoreRepository, CampaignDashboardFirestoreRepository, SubscriptionEditionFirestoreRepository, GroupFirestoreRepository, HomeFirestoreRepository, LeadFirestoreRepository, LegacyOrderFirestoreRepository, ShopMenuFirestoreRepository, OrderFirestoreRepository, PaymentFirestoreRepository, ProductFirestoreRepository, ShopSettingsFirestoreRepository, SubscriptionPaymentFirestoreRepository, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, SubscriptionFirestoreRepository, UserFirestoreRepository, UserAddressFirestoreRepository, UserPaymentMethodFirestoreRepository, SubscriptionMaterializationFirestoreRepository, SubscriptionSummaryFirestoreRepository, ProductVariantFirestoreRepository, OrderBlockedFirestoreRepository, LogFirestoreRepository, SequenceFirestoreRepository, CategoryHasuraGraphQLRepository, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository, ProductReviewHasuraGraphQLRepository, VariantHasuraGraphQLRepository, ProductStockNotificationHasuraGraphQLRepository, FilterOptionHasuraGraphQLRepository, FilterHasuraGraphQLRepository, CategoryCollectionChildrenHasuraGraphQLRepository, CategoryProductHasuraGraphQLRepository, WishlistHasuraGraphQLRepository, ProductErrorsHasuraGraphQLRepository, ProductsVertexSearch, VertexAxiosAdapter, isNil, NotFoundError, Checkout, pick, LineItem, Where, isEmpty, Shops, set, InvalidArgumentError, RoundProductPricesHelper, Category, WishlistLogType, PersonTypes, Wishlist, CheckoutTypes, CouponTypes, Exclusivities, OrderStatus, CheckoutSubscription, Product, RequiredArgumentError, add, ProductReview, Order, UpdateUserImage, FirebaseFileUploaderService } from '@infrab4a/connect';
|
|
11
11
|
import * as i1 from '@angular/fire/auth';
|
|
12
12
|
import { Auth, provideAuth, initializeAuth, indexedDBLocalPersistence, browserLocalPersistence, browserSessionPersistence, getAuth, getIdToken, authState } from '@angular/fire/auth';
|
|
13
13
|
import { isPlatformBrowser, isPlatformServer } from '@angular/common';
|
|
@@ -2983,6 +2983,84 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
2983
2983
|
type: Injectable
|
|
2984
2984
|
}], ctorParameters: function () { return [{ type: HomeShopRepositoriesFacade }, { type: ConfigurationFacade }]; } });
|
|
2985
2985
|
|
|
2986
|
+
class OrderProductReviewService {
|
|
2987
|
+
constructor(orderRepository, productReviewRepository) {
|
|
2988
|
+
this.orderRepository = orderRepository;
|
|
2989
|
+
this.productReviewRepository = productReviewRepository;
|
|
2990
|
+
}
|
|
2991
|
+
async getPendingReviewsByEmail(email) {
|
|
2992
|
+
const products = [];
|
|
2993
|
+
const { data: orders } = await this.orderRepository.find({
|
|
2994
|
+
filters: {
|
|
2995
|
+
user: {
|
|
2996
|
+
email: email,
|
|
2997
|
+
},
|
|
2998
|
+
status: OrderStatus.ENTREGUE,
|
|
2999
|
+
},
|
|
3000
|
+
orderBy: {
|
|
3001
|
+
createdAt: 'desc',
|
|
3002
|
+
},
|
|
3003
|
+
});
|
|
3004
|
+
if (orders.length) {
|
|
3005
|
+
for (const order of orders) {
|
|
3006
|
+
const lineItems = order.lineItems.filter((item) => !item.isGift);
|
|
3007
|
+
for (const item of lineItems) {
|
|
3008
|
+
const productReview = await this.productReviewRepository
|
|
3009
|
+
.find({
|
|
3010
|
+
filters: {
|
|
3011
|
+
orderId: order.id,
|
|
3012
|
+
productId: item.id,
|
|
3013
|
+
status: { operator: Where.ISNULL },
|
|
3014
|
+
},
|
|
3015
|
+
})
|
|
3016
|
+
.then((res) => res.data.at(0));
|
|
3017
|
+
products.push(this.buildProductReview(order, item, productReview));
|
|
3018
|
+
}
|
|
3019
|
+
}
|
|
3020
|
+
}
|
|
3021
|
+
return products;
|
|
3022
|
+
}
|
|
3023
|
+
buildProductReview(order, item, review) {
|
|
3024
|
+
return {
|
|
3025
|
+
id: item.id,
|
|
3026
|
+
orderId: order.id,
|
|
3027
|
+
orderNumber: order.orderNumber,
|
|
3028
|
+
isEdition: false,
|
|
3029
|
+
name: item.name,
|
|
3030
|
+
image: item.image,
|
|
3031
|
+
deliveryDate: order.deliveredAt || null,
|
|
3032
|
+
evaluationInAnalysis: review ? true : false,
|
|
3033
|
+
shopProductSlug: item.slug,
|
|
3034
|
+
};
|
|
3035
|
+
}
|
|
3036
|
+
async createReview(review) {
|
|
3037
|
+
return this.productReviewRepository.create(ProductReview.toInstance({
|
|
3038
|
+
productId: review.productId.toString(),
|
|
3039
|
+
shop: review.shop,
|
|
3040
|
+
rate: review.rate,
|
|
3041
|
+
author: review.author,
|
|
3042
|
+
email: review.email,
|
|
3043
|
+
location: review.location,
|
|
3044
|
+
review: review.comment,
|
|
3045
|
+
title: review.title,
|
|
3046
|
+
personId: review.personId,
|
|
3047
|
+
points: review.points,
|
|
3048
|
+
orderId: review.orderId,
|
|
3049
|
+
}));
|
|
3050
|
+
}
|
|
3051
|
+
}
|
|
3052
|
+
OrderProductReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3053
|
+
OrderProductReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService });
|
|
3054
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OrderProductReviewService, decorators: [{
|
|
3055
|
+
type: Injectable
|
|
3056
|
+
}], ctorParameters: function () { return [{ type: i3.OrderFirestoreRepository, decorators: [{
|
|
3057
|
+
type: Inject,
|
|
3058
|
+
args: ['OrderRepository']
|
|
3059
|
+
}] }, { type: undefined, decorators: [{
|
|
3060
|
+
type: Inject,
|
|
3061
|
+
args: ['ProductReviewRepository']
|
|
3062
|
+
}] }]; } });
|
|
3063
|
+
|
|
2986
3064
|
class OrderService {
|
|
2987
3065
|
constructor(angularFirestore, orderRepository) {
|
|
2988
3066
|
this.angularFirestore = angularFirestore;
|
|
@@ -3119,6 +3197,7 @@ AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
3119
3197
|
},
|
|
3120
3198
|
CouponRepositoriesFacade,
|
|
3121
3199
|
HomeShopRepositoriesFacade,
|
|
3200
|
+
OrderProductReviewService,
|
|
3122
3201
|
], imports: [provideFirebaseApp((injector) => {
|
|
3123
3202
|
const appName = injector.get(FIREBASE_APP_NAME);
|
|
3124
3203
|
try {
|
|
@@ -3261,6 +3340,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
3261
3340
|
},
|
|
3262
3341
|
CouponRepositoriesFacade,
|
|
3263
3342
|
HomeShopRepositoriesFacade,
|
|
3343
|
+
OrderProductReviewService,
|
|
3264
3344
|
],
|
|
3265
3345
|
}]
|
|
3266
3346
|
}] });
|
|
@@ -3269,5 +3349,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
|
|
|
3269
3349
|
* Generated bundle index. Do not edit.
|
|
3270
3350
|
*/
|
|
3271
3351
|
|
|
3272
|
-
export { AngularConnectModule, AngularFirebaseAuthModule, AngularFirestoreModule, AngularHasuraGraphQLModule, AuthService, CartService, CatalogService, CategoryService, CategoryWithTree, CheckoutService, CheckoutSubscriptionService, CookieDataPersistence, CouponService, HomeShopService, NewCategoryStructureAdapter, OldCategoryStructureAdapter, OrderService, ProductSorts, UtilHelper, WishlistService };
|
|
3352
|
+
export { AngularConnectModule, AngularFirebaseAuthModule, AngularFirestoreModule, AngularHasuraGraphQLModule, AuthService, CartService, CatalogService, CategoryService, CategoryWithTree, CheckoutService, CheckoutSubscriptionService, CookieDataPersistence, CouponService, HomeShopService, NewCategoryStructureAdapter, OldCategoryStructureAdapter, OrderProductReviewService, OrderService, ProductSorts, UtilHelper, WishlistService };
|
|
3273
3353
|
//# sourceMappingURL=infrab4a-connect-angular.mjs.map
|