@infrab4a/connect-angular 5.8.0 → 5.8.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/angular-connect.module.d.ts +36 -36
- package/angular-elastic-search.module.d.ts +9 -9
- package/angular-firebase-auth.module.d.ts +11 -11
- package/angular-firestore.module.d.ts +17 -17
- package/angular-hasura-graphql.module.d.ts +14 -14
- package/angular-vertex-search.module.d.ts +9 -9
- package/consts/backend-url.const.d.ts +1 -1
- package/consts/category-structure.d.ts +1 -1
- package/consts/default-shop.const.d.ts +1 -1
- package/consts/es-config.const.d.ts +1 -1
- package/consts/firebase-const.d.ts +4 -4
- package/consts/hasura-options.const.d.ts +1 -1
- package/consts/index.d.ts +8 -8
- package/consts/persistence.const.d.ts +1 -1
- package/consts/storage-base-url.const.d.ts +1 -1
- package/consts/vertex-config.const.d.ts +1 -1
- package/esm2022/angular-connect.module.mjs +293 -0
- package/esm2022/angular-elastic-search.module.mjs +34 -0
- package/esm2022/angular-firebase-auth.module.mjs +141 -0
- package/esm2022/angular-firestore.module.mjs +597 -0
- package/esm2022/angular-hasura-graphql.module.mjs +421 -0
- package/esm2022/angular-vertex-search.module.mjs +34 -0
- package/{esm2020 → esm2022}/consts/backend-url.const.mjs +1 -1
- package/{esm2020 → esm2022}/consts/category-structure.mjs +1 -1
- package/{esm2020 → esm2022}/consts/default-shop.const.mjs +1 -1
- package/{esm2020 → esm2022}/consts/es-config.const.mjs +1 -1
- package/{esm2020 → esm2022}/consts/firebase-const.mjs +4 -4
- package/{esm2020 → esm2022}/consts/hasura-options.const.mjs +1 -1
- package/{esm2020 → esm2022}/consts/index.mjs +8 -8
- package/{esm2020 → esm2022}/consts/persistence.const.mjs +1 -1
- package/{esm2020 → esm2022}/consts/storage-base-url.const.mjs +1 -1
- package/{esm2020 → esm2022}/consts/vertex-config.const.mjs +1 -1
- package/{esm2020 → esm2022}/helpers/index.mjs +1 -1
- package/{esm2020 → esm2022}/helpers/mobile-operation-system-checker.helper.mjs +6 -6
- package/{esm2020 → esm2022}/index.mjs +6 -6
- package/{esm2020 → esm2022}/infrab4a-connect-angular.mjs +4 -4
- package/{esm2020 → esm2022}/interfaces/catalog-strategies.interface.mjs +1 -1
- package/{esm2020 → esm2022}/interfaces/category-facades.interface.mjs +1 -1
- package/{esm2020 → esm2022}/interfaces/index.mjs +2 -2
- package/{esm2020 → esm2022}/persistence/cookie-data-persistence.mjs +22 -22
- package/{esm2020 → esm2022}/persistence/data-persistence.mjs +1 -1
- package/{esm2020 → esm2022}/persistence/index.mjs +2 -2
- package/{esm2020 → esm2022}/services/auth.service.mjs +37 -37
- package/{esm2020 → esm2022}/services/cart/cart-services.facade.mjs +21 -21
- package/{esm2020 → esm2022}/services/cart/index.mjs +1 -1
- package/{esm2020 → esm2022}/services/cart.service.mjs +73 -73
- package/{esm2020 → esm2022}/services/catalog/adapters/category-structure.adapter.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/adapters/index.mjs +3 -3
- package/{esm2020 → esm2022}/services/catalog/adapters/new-category-structure.adapter.mjs +43 -43
- package/{esm2020 → esm2022}/services/catalog/adapters/old-category-structure.adapter.mjs +23 -23
- package/{esm2020 → esm2022}/services/catalog/catalog.service.mjs +111 -111
- package/{esm2020 → esm2022}/services/catalog/category.service.mjs +42 -42
- package/{esm2020 → esm2022}/services/catalog/context/catalog-search.context.mjs +39 -39
- package/{esm2020 → esm2022}/services/catalog/enums/index.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/enums/product-sorts.enum.mjs +10 -10
- package/{esm2020 → esm2022}/services/catalog/facades/catalog-service.facade.mjs +32 -32
- package/{esm2020 → esm2022}/services/catalog/facades/catalog-strategies.facade.mjs +17 -17
- package/{esm2020 → esm2022}/services/catalog/facades/category-repository.facade.mjs +20 -20
- package/{esm2020 → esm2022}/services/catalog/facades/category-service.facade.mjs +30 -30
- package/{esm2020 → esm2022}/services/catalog/facades/index.mjs +5 -5
- package/{esm2020 → esm2022}/services/catalog/facades/product-catalog.facade.mjs +21 -21
- package/{esm2020 → esm2022}/services/catalog/helpers/brand-manager.helper.mjs +62 -62
- package/{esm2020 → esm2022}/services/catalog/helpers/catalog-filter.helper.mjs +44 -44
- package/{esm2020 → esm2022}/services/catalog/helpers/catalog-sort.helper.mjs +52 -52
- package/{esm2020 → esm2022}/services/catalog/helpers/index.mjs +4 -4
- package/{esm2020 → esm2022}/services/catalog/helpers/product-fields.helper.mjs +43 -43
- package/{esm2020 → esm2022}/services/catalog/index.mjs +7 -7
- package/{esm2020 → esm2022}/services/catalog/models/category-with-tree.model.mjs +10 -10
- package/{esm2020 → esm2022}/services/catalog/models/index.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/services/catalog-helpers.service.mjs +33 -33
- package/{esm2020 → esm2022}/services/catalog/services/catalog-operations.facade.mjs +26 -26
- package/{esm2020 → esm2022}/services/catalog/services/catalog-repository.service.mjs +25 -25
- package/{esm2020 → esm2022}/services/catalog/services/index.mjs +4 -4
- package/{esm2020 → esm2022}/services/catalog/services/product-management.facade.mjs +25 -25
- package/{esm2020 → esm2022}/services/catalog/strategies/category-search.strategy.mjs +133 -133
- package/{esm2020 → esm2022}/services/catalog/strategies/index.mjs +3 -3
- package/{esm2020 → esm2022}/services/catalog/strategies/profile-search.strategy.mjs +42 -42
- package/{esm2020 → esm2022}/services/catalog/strategies/term-search.strategy.mjs +126 -126
- package/{esm2020 → esm2022}/services/catalog/strategies/types/strategy-params.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/types/fetch-products-options.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/types/fetch-products-params.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/types/fetch-products-response.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/types/index.mjs +5 -5
- package/{esm2020 → esm2022}/services/catalog/types/method-params.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/types/product-sort.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/catalog/wishlist.service.mjs +258 -258
- package/{esm2020 → esm2022}/services/checkout/checkout-dependencies.facade.mjs +20 -20
- package/{esm2020 → esm2022}/services/checkout/checkout-repositories.facade.mjs +20 -20
- package/{esm2020 → esm2022}/services/checkout/index.mjs +2 -2
- package/{esm2020 → esm2022}/services/checkout-subscription.service.mjs +55 -55
- package/{esm2020 → esm2022}/services/checkout.service.mjs +106 -106
- package/{esm2020 → esm2022}/services/coupon/coupon-repositories.facade.mjs +24 -24
- package/{esm2020 → esm2022}/services/coupon/index.mjs +1 -1
- package/{esm2020 → esm2022}/services/coupon/types/coupon-params.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/coupon.service.mjs +248 -248
- package/{esm2020 → esm2022}/services/helpers/index.mjs +1 -1
- package/{esm2020 → esm2022}/services/helpers/util.helper.mjs +17 -17
- package/{esm2020 → esm2022}/services/home-shop/home-shop-repositories.facade.mjs +24 -24
- package/{esm2020 → esm2022}/services/home-shop/index.mjs +1 -1
- package/{esm2020 → esm2022}/services/home-shop.service.mjs +119 -119
- package/{esm2020 → esm2022}/services/index.mjs +11 -11
- package/{esm2020 → esm2022}/services/order-product-review.service.mjs +126 -126
- package/{esm2020 → esm2022}/services/order-recurrence.service.mjs +83 -83
- package/{esm2020 → esm2022}/services/order.service.mjs +30 -30
- package/{esm2020 → esm2022}/services/shared/configuration.facade.mjs +29 -29
- package/{esm2020 → esm2022}/services/shared/index.mjs +1 -1
- package/{esm2020 → esm2022}/services/types/index.mjs +4 -4
- package/{esm2020 → esm2022}/services/types/pending-product-review.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/types/product-review-create.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/types/required-checkout-data.type.mjs +1 -1
- package/{esm2020 → esm2022}/services/types/required-checkout-subscription-data.type.mjs +1 -1
- package/{esm2020 → esm2022}/types/firebase-app-config.type.mjs +1 -1
- package/{esm2020 → esm2022}/types/index.mjs +1 -1
- package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs +3527 -3527
- package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs.map +1 -1
- package/helpers/index.d.ts +1 -1
- package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
- package/index.d.ts +6 -6
- package/interfaces/catalog-strategies.interface.d.ts +31 -31
- package/interfaces/category-facades.interface.d.ts +6 -6
- package/interfaces/index.d.ts +2 -2
- package/package.json +6 -12
- package/persistence/cookie-data-persistence.d.ts +10 -10
- package/persistence/data-persistence.d.ts +6 -6
- package/persistence/index.d.ts +2 -2
- package/services/auth.service.d.ts +18 -18
- package/services/cart/cart-services.facade.d.ts +12 -12
- package/services/cart/index.d.ts +1 -1
- package/services/cart.service.d.ts +26 -26
- package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
- package/services/catalog/adapters/index.d.ts +3 -3
- package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
- package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
- package/services/catalog/catalog.service.d.ts +24 -24
- package/services/catalog/category.service.d.ts +23 -23
- package/services/catalog/context/catalog-search.context.d.ts +14 -14
- package/services/catalog/enums/index.d.ts +1 -1
- package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
- package/services/catalog/facades/catalog-service.facade.d.ts +15 -15
- package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -10
- package/services/catalog/facades/category-repository.facade.d.ts +9 -9
- package/services/catalog/facades/category-service.facade.d.ts +15 -15
- package/services/catalog/facades/index.d.ts +5 -5
- package/services/catalog/facades/product-catalog.facade.d.ts +10 -10
- package/services/catalog/helpers/brand-manager.helper.d.ts +14 -14
- package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -8
- package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -7
- package/services/catalog/helpers/index.d.ts +4 -4
- package/services/catalog/helpers/product-fields.helper.d.ts +7 -7
- package/services/catalog/index.d.ts +7 -7
- package/services/catalog/models/category-with-tree.model.d.ts +4 -4
- package/services/catalog/models/index.d.ts +1 -1
- package/services/catalog/services/catalog-helpers.service.d.ts +17 -17
- package/services/catalog/services/catalog-operations.facade.d.ts +13 -13
- package/services/catalog/services/catalog-repository.service.d.ts +12 -12
- package/services/catalog/services/index.d.ts +4 -4
- package/services/catalog/services/product-management.facade.d.ts +12 -12
- package/services/catalog/strategies/category-search.strategy.d.ts +19 -19
- package/services/catalog/strategies/index.d.ts +3 -3
- package/services/catalog/strategies/profile-search.strategy.d.ts +14 -14
- package/services/catalog/strategies/term-search.strategy.d.ts +20 -20
- package/services/catalog/strategies/types/strategy-params.type.d.ts +59 -59
- package/services/catalog/types/fetch-products-options.type.d.ts +8 -8
- package/services/catalog/types/fetch-products-params.type.d.ts +25 -25
- package/services/catalog/types/fetch-products-response.type.d.ts +19 -19
- package/services/catalog/types/index.d.ts +5 -5
- package/services/catalog/types/method-params.type.d.ts +17 -17
- package/services/catalog/types/product-sort.type.d.ts +2 -2
- package/services/catalog/wishlist.service.d.ts +60 -60
- package/services/checkout/checkout-dependencies.facade.d.ts +10 -10
- package/services/checkout/checkout-repositories.facade.d.ts +9 -9
- package/services/checkout/index.d.ts +2 -2
- package/services/checkout-subscription.service.d.ts +19 -19
- package/services/checkout.service.d.ts +30 -30
- package/services/coupon/coupon-repositories.facade.d.ts +10 -10
- package/services/coupon/index.d.ts +1 -1
- package/services/coupon/types/coupon-params.type.d.ts +13 -13
- package/services/coupon.service.d.ts +36 -36
- package/services/helpers/index.d.ts +1 -1
- package/services/helpers/util.helper.d.ts +3 -3
- package/services/home-shop/home-shop-repositories.facade.d.ts +10 -10
- package/services/home-shop/index.d.ts +1 -1
- package/services/home-shop.service.d.ts +26 -26
- package/services/index.d.ts +11 -11
- package/services/order-product-review.service.d.ts +18 -18
- package/services/order-recurrence.service.d.ts +37 -37
- package/services/order.service.d.ts +13 -13
- package/services/shared/configuration.facade.d.ts +12 -12
- package/services/shared/index.d.ts +1 -1
- package/services/types/index.d.ts +4 -4
- package/services/types/pending-product-review.type.d.ts +12 -12
- package/services/types/product-review-create.type.d.ts +14 -14
- package/services/types/required-checkout-data.type.d.ts +2 -2
- package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
- package/types/firebase-app-config.type.d.ts +1 -1
- package/types/index.d.ts +1 -1
- package/esm2020/angular-connect.module.mjs +0 -293
- package/esm2020/angular-elastic-search.module.mjs +0 -34
- package/esm2020/angular-firebase-auth.module.mjs +0 -141
- package/esm2020/angular-firestore.module.mjs +0 -597
- package/esm2020/angular-hasura-graphql.module.mjs +0 -421
- package/esm2020/angular-vertex-search.module.mjs +0 -34
- package/fesm2015/infrab4a-connect-angular.mjs +0 -3735
- package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { OrderFirestoreRepository, OrderStatus, ProductReview, Shops, Where, } from '@infrab4a/connect';
|
|
3
|
-
import { DEFAULT_SHOP } from '../consts';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@infrab4a/connect";
|
|
6
|
-
export class OrderProductReviewService {
|
|
7
|
-
constructor(orderRepository, productReviewRepository, variantRepository, defaultShop) {
|
|
8
|
-
this.orderRepository = orderRepository;
|
|
9
|
-
this.productReviewRepository = productReviewRepository;
|
|
10
|
-
this.variantRepository = variantRepository;
|
|
11
|
-
this.defaultShop = defaultShop;
|
|
12
|
-
}
|
|
13
|
-
async getPendingReviewsByEmail(email) {
|
|
14
|
-
const products = [];
|
|
15
|
-
const orders = await this.getOrdersByEmail(email);
|
|
16
|
-
if (orders.length) {
|
|
17
|
-
for (const order of orders) {
|
|
18
|
-
const lineItems = order.lineItems.filter((item) => !item.isGift);
|
|
19
|
-
for (const item of lineItems) {
|
|
20
|
-
const productReview = await this.getProductReview(order, item);
|
|
21
|
-
if (productReview?.status != null)
|
|
22
|
-
continue;
|
|
23
|
-
products.push(this.buildProductReview(order, item, productReview));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return products;
|
|
28
|
-
}
|
|
29
|
-
async getOrdersByEmail(email) {
|
|
30
|
-
const { data: orders } = await this.orderRepository.find({
|
|
31
|
-
filters: {
|
|
32
|
-
user: {
|
|
33
|
-
email: email,
|
|
34
|
-
},
|
|
35
|
-
shop: this.defaultShop,
|
|
36
|
-
status: OrderStatus.ENTREGUE,
|
|
37
|
-
createdAt: {
|
|
38
|
-
operator: Where.GTE,
|
|
39
|
-
value: new Date(2024, 0, 0, 0, 0, 0).getTime(),
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
orderBy: {
|
|
43
|
-
createdAt: 'desc',
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
return orders;
|
|
47
|
-
}
|
|
48
|
-
async getProductReview(order, item) {
|
|
49
|
-
const products = [item.id];
|
|
50
|
-
const isVariant = await this.variantRepository
|
|
51
|
-
.find({
|
|
52
|
-
filters: {
|
|
53
|
-
id: item.id,
|
|
54
|
-
},
|
|
55
|
-
})
|
|
56
|
-
.then((res) => res.data.at(0));
|
|
57
|
-
if (isVariant)
|
|
58
|
-
products.push(isVariant.productId);
|
|
59
|
-
const productReview = await this.productReviewRepository
|
|
60
|
-
.find({
|
|
61
|
-
filters: {
|
|
62
|
-
orderId: { operator: Where.IN, value: [order.id, order.orderNumber].filter(Boolean) },
|
|
63
|
-
productId: { operator: Where.IN, value: products },
|
|
64
|
-
},
|
|
65
|
-
})
|
|
66
|
-
.then((res) => res.data.at(0));
|
|
67
|
-
return productReview;
|
|
68
|
-
}
|
|
69
|
-
buildProductReview(order, item, review) {
|
|
70
|
-
return {
|
|
71
|
-
id: item.id,
|
|
72
|
-
orderId: order.id,
|
|
73
|
-
orderNumber: order.orderNumber,
|
|
74
|
-
isEdition: false,
|
|
75
|
-
name: item.name,
|
|
76
|
-
image: item.image,
|
|
77
|
-
deliveryDate: order.deliveredAt || null,
|
|
78
|
-
evaluationInAnalysis: review ? true : false,
|
|
79
|
-
rating: review ? review.rate : null,
|
|
80
|
-
shopProductSlug: item.slug,
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
async createReview(review) {
|
|
84
|
-
return this.productReviewRepository.create(ProductReview.toInstance({
|
|
85
|
-
productId: review.productId.toString(),
|
|
86
|
-
shop: review.shop,
|
|
87
|
-
rate: review.rate,
|
|
88
|
-
author: review.author,
|
|
89
|
-
email: review.email,
|
|
90
|
-
location: review.location,
|
|
91
|
-
review: review.comment,
|
|
92
|
-
title: review.title,
|
|
93
|
-
personId: review.personId,
|
|
94
|
-
points: review.points,
|
|
95
|
-
orderId: review.orderId,
|
|
96
|
-
}));
|
|
97
|
-
}
|
|
98
|
-
async verifyReviewProductAndOrder(orderId, productId) {
|
|
99
|
-
return this.productReviewRepository
|
|
100
|
-
.find({
|
|
101
|
-
filters: {
|
|
102
|
-
orderId: { operator: Where.IN, value: orderId },
|
|
103
|
-
productId: productId,
|
|
104
|
-
},
|
|
105
|
-
})
|
|
106
|
-
.then((res) => res.data);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
112
|
-
type: Injectable
|
|
113
|
-
}], ctorParameters:
|
|
114
|
-
type: Inject,
|
|
115
|
-
args: ['OrderRepository']
|
|
116
|
-
}] }, { type: undefined, decorators: [{
|
|
117
|
-
type: Inject,
|
|
118
|
-
args: ['ProductReviewRepository']
|
|
119
|
-
}] }, { type: undefined, decorators: [{
|
|
120
|
-
type: Inject,
|
|
121
|
-
args: ['VariantRepository']
|
|
122
|
-
}] }, { type: i1.Shops, decorators: [{
|
|
123
|
-
type: Inject,
|
|
124
|
-
args: [DEFAULT_SHOP]
|
|
125
|
-
}] }]
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBR0wsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxhQUFhLEVBRWIsS0FBSyxFQUVMLEtBQUssR0FDTixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7OztBQUt4QyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQzhDLGVBQXlDLEVBQ2pDLHVCQUFnRCxFQUN0RCxpQkFBb0MsRUFDNUMsV0FBa0I7UUFIWixvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDakMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUN0RCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQzVDLGdCQUFXLEdBQVgsV0FBVyxDQUFPO0lBQ3ZELENBQUM7SUFFSixLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FBYTtRQUMxQyxNQUFNLFFBQVEsR0FBMkIsRUFBRSxDQUFBO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRWpELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDMUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUVoRSxLQUFLLE1BQU0sSUFBSSxJ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QUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QixDQUFDOztzSEFuSFUseUJBQXlCLGtCQUUxQixpQkFBaUIsYUFDakIseUJBQXlCLGFBQ3pCLG1CQUFtQixhQUNuQixZQUFZOzBIQUxYLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVOzswQkFHTixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMseUJBQXlCOzswQkFDaEMsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIExpbmVJdGVtLFxyXG4gIE9yZGVyLFxyXG4gIE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBPcmRlclN0YXR1cyxcclxuICBQcm9kdWN0UmV2aWV3LFxyXG4gIFByb2R1Y3RSZXZpZXdSZXBvc2l0b3J5LFxyXG4gIFNob3BzLFxyXG4gIFZhcmlhbnRSZXBvc2l0b3J5LFxyXG4gIFdoZXJlLFxyXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vY29uc3RzJ1xyXG5cclxuaW1wb3J0IHsgUGVuZGluZ1Byb2R1Y3RSZXZpZXcsIFByb2R1Y3RSZXZpZXdDcmVhdGUgfSBmcm9tICcuL3R5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3JkZXJQcm9kdWN0UmV2aWV3U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdPcmRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IG9yZGVyUmVwb3NpdG9yeTogT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gICAgQEluamVjdCgnUHJvZHVjdFJldmlld1JlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXZpZXdSZXBvc2l0b3J5OiBQcm9kdWN0UmV2aWV3UmVwb3NpdG9yeSxcclxuICAgIEBJbmplY3QoJ1ZhcmlhbnRSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSB2YXJpYW50UmVwb3NpdG9yeTogVmFyaWFudFJlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRTaG9wOiBTaG9wcyxcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIGdldFBlbmRpbmdSZXZpZXdzQnlFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxQZW5kaW5nUHJvZHVjdFJldmlld1tdPiB7XHJcbiAgICBjb25zdCBwcm9kdWN0czogUGVuZGluZ1Byb2R1Y3RSZXZpZXdbXSA9IFtdXHJcbiAgICBjb25zdCBvcmRlcnMgPSBhd2FpdCB0aGlzLmdldE9yZGVyc0J5RW1haWwoZW1haWwpXHJcblxyXG4gICAgaWYgKG9yZGVycy5sZW5ndGgpIHtcclxuICAgICAgZm9yIChjb25zdCBvcmRlciBvZiBvcmRlcnMpIHtcclxuICAgICAgICBjb25zdCBsaW5lSXRlbXMgPSBvcmRlci5saW5lSXRlbXMuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5pc0dpZnQpXHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBsaW5lSXRlbXMpIHtcclxuICAgICAgICAgIGNvbnN0IHByb2R1Y3RSZXZpZXcgPSBhd2FpdCB0aGlzLmdldFByb2R1Y3RSZXZpZXcob3JkZXIsIGl0ZW0pXHJcblxyXG4gICAgICAgICAgaWYgKHByb2R1Y3RSZXZpZXc/LnN0YXR1cyAhPSBudWxsKSBjb250aW51ZVxyXG5cclxuICAgICAgICAgIHByb2R1Y3RzLnB1c2godGhpcy5idWlsZFByb2R1Y3RSZXZpZXcob3JkZXIsIGl0ZW0sIHByb2R1Y3RSZXZpZXcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwcm9kdWN0c1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXRPcmRlcnNCeUVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPE9yZGVyW10+IHtcclxuICAgIGNvbnN0IHsgZGF0YTogb3JkZXJzIH0gPSBhd2FpdCB0aGlzLm9yZGVyUmVwb3NpdG9yeS5maW5kKHtcclxuICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgIHVzZXI6IHtcclxuICAgICAgICAgIGVtYWlsOiBlbWFpbCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3A6IHRoaXMuZGVmYXVsdFNob3AsXHJcbiAgICAgICAgc3RhdHVzOiBPcmRlclN0YXR1cy5FTlRSRUdVRSxcclxuICAgICAgICBjcmVhdGVkQXQ6IHtcclxuICAgICAgICAgIG9wZXJhdG9yOiBXaGVyZS5HVEUsXHJcbiAgICAgICAgICB2YWx1ZTogbmV3IERhdGUoMjAyNCwgMCwgMCwgMCwgMCwgMCkuZ2V0VGltZSgpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIG9yZGVyQnk6IHtcclxuICAgICAgICBjcmVhdGVkQXQ6ICdkZXNjJyxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIG9yZGVyc1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXRQcm9kdWN0UmV2aWV3KG9yZGVyOiBPcmRlciwgaXRlbTogTGluZUl0ZW0pIHtcclxuICAgIGNvbnN0IHByb2R1Y3RzOiBzdHJpbmdbXSA9IFtpdGVtLmlkXVxyXG4gICAgY29uc3QgaXNWYXJpYW50ID0gYXdhaXQgdGhpcy52YXJpYW50UmVwb3NpdG9yeVxyXG4gICAgICAuZmluZCh7XHJcbiAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgaWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgICAgLnRoZW4oKHJlcykgPT4gcmVzLmRhdGEuYXQoMCkpXHJcblxyXG4gICAgaWYgKGlzVmFyaWFudCkgcHJvZHVjdHMucHVzaChpc1ZhcmlhbnQucHJvZHVjdElkKVxyXG4gICAgY29uc3QgcHJvZHVjdFJldmlldyA9IGF3YWl0IHRoaXMucHJvZHVjdFJldmlld1JlcG9zaXRvcnlcclxuICAgICAgLmZpbmQoe1xyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIG9yZGVySWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW29yZGVyLmlkLCBvcmRlci5vcmRlck51bWJlcl0uZmlsdGVyKEJvb2xlYW4pIH0sXHJcbiAgICAgICAgICBwcm9kdWN0SWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdHMgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YS5hdCgwKSlcclxuXHJcbiAgICByZXR1cm4gcHJvZHVjdFJldmlld1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFByb2R1Y3RSZXZpZXcob3JkZXI6IE9yZGVyLCBpdGVtOiBMaW5lSXRlbSwgcmV2aWV3OiBQcm9kdWN0UmV2aWV3KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogaXRlbS5pZCxcclxuICAgICAgb3JkZXJJZDogb3JkZXIuaWQsXHJcbiAgICAgIG9yZGVyTnVtYmVyOiBvcmRlci5vcmRlck51bWJlcixcclxuICAgICAgaXNFZGl0aW9uOiBmYWxzZSxcclxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICBpbWFnZTogaXRlbS5pbWFnZSxcclxuICAgICAgZGVsaXZlcnlEYXRlOiBvcmRlci5kZWxpdmVyZWRBdCB8fCBudWxsLFxyXG4gICAgICBldmFsdWF0aW9uSW5BbmFseXNpczogcmV2aWV3ID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICByYXRpbmc6IHJldmlldyA/IHJldmlldy5yYXRlIDogbnVsbCxcclxuICAgICAgc2hvcFByb2R1Y3RTbHVnOiBpdGVtLnNsdWcsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBjcmVhdGVSZXZpZXcocmV2aWV3OiBQcm9kdWN0UmV2aWV3Q3JlYXRlKTogUHJvbWlzZTxQcm9kdWN0UmV2aWV3PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9kdWN0UmV2aWV3UmVwb3NpdG9yeS5jcmVhdGUoXHJcbiAgICAgIFByb2R1Y3RSZXZpZXcudG9JbnN0YW5jZSh7XHJcbiAgICAgICAgcHJvZHVjdElkOiByZXZpZXcucHJvZHVjdElkLnRvU3RyaW5nKCksXHJcbiAgICAgICAgc2hvcDogcmV2aWV3LnNob3AsXHJcbiAgICAgICAgcmF0ZTogcmV2aWV3LnJhdGUsXHJcbiAgICAgICAgYXV0aG9yOiByZXZpZXcuYXV0aG9yLFxyXG4gICAgICAgIGVtYWlsOiByZXZpZXcuZW1haWwsXHJcbiAgICAgICAgbG9jYXRpb246IHJldmlldy5sb2NhdGlvbixcclxuICAgICAgICByZXZpZXc6IHJldmlldy5jb21tZW50LFxyXG4gICAgICAgIHRpdGxlOiByZXZpZXcudGl0bGUsXHJcbiAgICAgICAgcGVyc29uSWQ6IHJldmlldy5wZXJzb25JZCxcclxuICAgICAgICBwb2ludHM6IHJldmlldy5wb2ludHMsXHJcbiAgICAgICAgb3JkZXJJZDogcmV2aWV3Lm9yZGVySWQsXHJcbiAgICAgIH0pLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgdmVyaWZ5UmV2aWV3UHJvZHVjdEFuZE9yZGVyKG9yZGVySWQ6IHN0cmluZ1tdLCBwcm9kdWN0SWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdFJldmlld1JlcG9zaXRvcnlcclxuICAgICAgLmZpbmQoe1xyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIG9yZGVySWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogb3JkZXJJZCB9LFxyXG4gICAgICAgICAgcHJvZHVjdElkOiBwcm9kdWN0SWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgICAgLnRoZW4oKHJlcykgPT4gcmVzLmRhdGEpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { OrderFirestoreRepository, OrderStatus, ProductReview, Shops, Where, } from '@infrab4a/connect';
|
|
3
|
+
import { DEFAULT_SHOP } from '../consts';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@infrab4a/connect";
|
|
6
|
+
export class OrderProductReviewService {
|
|
7
|
+
constructor(orderRepository, productReviewRepository, variantRepository, defaultShop) {
|
|
8
|
+
this.orderRepository = orderRepository;
|
|
9
|
+
this.productReviewRepository = productReviewRepository;
|
|
10
|
+
this.variantRepository = variantRepository;
|
|
11
|
+
this.defaultShop = defaultShop;
|
|
12
|
+
}
|
|
13
|
+
async getPendingReviewsByEmail(email) {
|
|
14
|
+
const products = [];
|
|
15
|
+
const orders = await this.getOrdersByEmail(email);
|
|
16
|
+
if (orders.length) {
|
|
17
|
+
for (const order of orders) {
|
|
18
|
+
const lineItems = order.lineItems.filter((item) => !item.isGift);
|
|
19
|
+
for (const item of lineItems) {
|
|
20
|
+
const productReview = await this.getProductReview(order, item);
|
|
21
|
+
if (productReview?.status != null)
|
|
22
|
+
continue;
|
|
23
|
+
products.push(this.buildProductReview(order, item, productReview));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return products;
|
|
28
|
+
}
|
|
29
|
+
async getOrdersByEmail(email) {
|
|
30
|
+
const { data: orders } = await this.orderRepository.find({
|
|
31
|
+
filters: {
|
|
32
|
+
user: {
|
|
33
|
+
email: email,
|
|
34
|
+
},
|
|
35
|
+
shop: this.defaultShop,
|
|
36
|
+
status: OrderStatus.ENTREGUE,
|
|
37
|
+
createdAt: {
|
|
38
|
+
operator: Where.GTE,
|
|
39
|
+
value: new Date(2024, 0, 0, 0, 0, 0).getTime(),
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
orderBy: {
|
|
43
|
+
createdAt: 'desc',
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
return orders;
|
|
47
|
+
}
|
|
48
|
+
async getProductReview(order, item) {
|
|
49
|
+
const products = [item.id];
|
|
50
|
+
const isVariant = await this.variantRepository
|
|
51
|
+
.find({
|
|
52
|
+
filters: {
|
|
53
|
+
id: item.id,
|
|
54
|
+
},
|
|
55
|
+
})
|
|
56
|
+
.then((res) => res.data.at(0));
|
|
57
|
+
if (isVariant)
|
|
58
|
+
products.push(isVariant.productId);
|
|
59
|
+
const productReview = await this.productReviewRepository
|
|
60
|
+
.find({
|
|
61
|
+
filters: {
|
|
62
|
+
orderId: { operator: Where.IN, value: [order.id, order.orderNumber].filter(Boolean) },
|
|
63
|
+
productId: { operator: Where.IN, value: products },
|
|
64
|
+
},
|
|
65
|
+
})
|
|
66
|
+
.then((res) => res.data.at(0));
|
|
67
|
+
return productReview;
|
|
68
|
+
}
|
|
69
|
+
buildProductReview(order, item, review) {
|
|
70
|
+
return {
|
|
71
|
+
id: item.id,
|
|
72
|
+
orderId: order.id,
|
|
73
|
+
orderNumber: order.orderNumber,
|
|
74
|
+
isEdition: false,
|
|
75
|
+
name: item.name,
|
|
76
|
+
image: item.image,
|
|
77
|
+
deliveryDate: order.deliveredAt || null,
|
|
78
|
+
evaluationInAnalysis: review ? true : false,
|
|
79
|
+
rating: review ? review.rate : null,
|
|
80
|
+
shopProductSlug: item.slug,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
async createReview(review) {
|
|
84
|
+
return this.productReviewRepository.create(ProductReview.toInstance({
|
|
85
|
+
productId: review.productId.toString(),
|
|
86
|
+
shop: review.shop,
|
|
87
|
+
rate: review.rate,
|
|
88
|
+
author: review.author,
|
|
89
|
+
email: review.email,
|
|
90
|
+
location: review.location,
|
|
91
|
+
review: review.comment,
|
|
92
|
+
title: review.title,
|
|
93
|
+
personId: review.personId,
|
|
94
|
+
points: review.points,
|
|
95
|
+
orderId: review.orderId,
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
async verifyReviewProductAndOrder(orderId, productId) {
|
|
99
|
+
return this.productReviewRepository
|
|
100
|
+
.find({
|
|
101
|
+
filters: {
|
|
102
|
+
orderId: { operator: Where.IN, value: orderId },
|
|
103
|
+
productId: productId,
|
|
104
|
+
},
|
|
105
|
+
})
|
|
106
|
+
.then((res) => res.data);
|
|
107
|
+
}
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService, deps: [{ token: 'OrderRepository' }, { token: 'ProductReviewRepository' }, { token: 'VariantRepository' }, { token: DEFAULT_SHOP }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
109
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService }); }
|
|
110
|
+
}
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderProductReviewService, decorators: [{
|
|
112
|
+
type: Injectable
|
|
113
|
+
}], ctorParameters: () => [{ type: i1.OrderFirestoreRepository, decorators: [{
|
|
114
|
+
type: Inject,
|
|
115
|
+
args: ['OrderRepository']
|
|
116
|
+
}] }, { type: undefined, decorators: [{
|
|
117
|
+
type: Inject,
|
|
118
|
+
args: ['ProductReviewRepository']
|
|
119
|
+
}] }, { type: undefined, decorators: [{
|
|
120
|
+
type: Inject,
|
|
121
|
+
args: ['VariantRepository']
|
|
122
|
+
}] }, { type: i1.Shops, decorators: [{
|
|
123
|
+
type: Inject,
|
|
124
|
+
args: [DEFAULT_SHOP]
|
|
125
|
+
}] }] });
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXItcHJvZHVjdC1yZXZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBR0wsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxhQUFhLEVBRWIsS0FBSyxFQUVMLEtBQUssR0FDTixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7OztBQUt4QyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQzhDLGVBQXlDLEVBQ2pDLHVCQUFnRCxFQUN0RCxpQkFBb0MsRUFDNUMsV0FBa0I7UUFIWixvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDakMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUN0RCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQzVDLGdCQUFXLEdBQVgsV0FBVyxDQUFPO0lBQ3ZELENBQUM7SUFFSixLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FBYTtRQUMxQyxNQUFNLFFBQVEsR0FBMkIsRUFBRSxDQUFBO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRWpELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDMUIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUVoRSxLQUFLLE1BQU0sSUFBSSxJQUFJLFNBQVMsRUFBRTtvQkFDNUIsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO29CQUU5RCxJQUFJLGFBQWEsRUFBRSxNQUFNLElBQUksSUFBSTt3QkFBRSxTQUFRO29CQUUzQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUE7aUJBQ25FO2FBQ0Y7U0FDRjtRQUVELE9BQU8sUUFBUSxDQUFBO0lBQ2pCLENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUMxQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDdkQsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsS0FBSztpQkFDYjtnQkFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQ3RCLE1BQU0sRUFBRSxXQUFXLENBQUMsUUFBUTtnQkFDNUIsU0FBUyxFQUFFO29CQUNULFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRztvQkFDbkIsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO2lCQUMvQzthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFNBQVMsRUFBRSxNQUFNO2FBQ2xCO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQVksRUFBRSxJQUFjO1FBQ3pELE1BQU0sUUFBUSxHQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQjthQUMzQyxJQUFJLENBQUM7WUFDSixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2FBQ1o7U0FDRixDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRWhDLElBQUksU0FBUztZQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QjthQUNyRCxJQUFJLENBQUM7WUFDSixPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNyRixTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2FBQ25EO1NBQ0YsQ0FBQzthQUNELElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUVoQyxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBWSxFQUFFLElBQWMsRUFBRSxNQUFxQjtRQUM1RSxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixTQUFTLEVBQUUsS0FBSztZQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsWUFBWSxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSTtZQUN2QyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMzQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ25DLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSTtTQUMzQixDQUFBO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBMkI7UUFDNUMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUN4QyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQ3ZCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUN0QyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN0QixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDeEIsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLDJCQUEyQixDQUFDLE9BQWlCLEVBQUUsU0FBaUI7UUFDcEUsT0FBTyxJQUFJLENBQUMsdUJBQXVCO2FBQ2hDLElBQUksQ0FBQztZQUNKLE9BQU8sRUFBRTtnQkFDUCxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUMvQyxTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QixDQUFDOzhHQW5IVSx5QkFBeUIsa0JBRTFCLGlCQUFpQixhQUNqQix5QkFBeUIsYUFDekIsbUJBQW1CLGFBQ25CLFlBQVk7a0hBTFgseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVOzswQkFHTixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMseUJBQXlCOzswQkFDaEMsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIExpbmVJdGVtLFxyXG4gIE9yZGVyLFxyXG4gIE9yZGVyRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBPcmRlclN0YXR1cyxcclxuICBQcm9kdWN0UmV2aWV3LFxyXG4gIFByb2R1Y3RSZXZpZXdSZXBvc2l0b3J5LFxyXG4gIFNob3BzLFxyXG4gIFZhcmlhbnRSZXBvc2l0b3J5LFxyXG4gIFdoZXJlLFxyXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xyXG5cclxuaW1wb3J0IHsgREVGQVVMVF9TSE9QIH0gZnJvbSAnLi4vY29uc3RzJ1xyXG5cclxuaW1wb3J0IHsgUGVuZGluZ1Byb2R1Y3RSZXZpZXcsIFByb2R1Y3RSZXZpZXdDcmVhdGUgfSBmcm9tICcuL3R5cGVzJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3JkZXJQcm9kdWN0UmV2aWV3U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdPcmRlclJlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IG9yZGVyUmVwb3NpdG9yeTogT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5LFxyXG4gICAgQEluamVjdCgnUHJvZHVjdFJldmlld1JlcG9zaXRvcnknKSBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RSZXZpZXdSZXBvc2l0b3J5OiBQcm9kdWN0UmV2aWV3UmVwb3NpdG9yeSxcclxuICAgIEBJbmplY3QoJ1ZhcmlhbnRSZXBvc2l0b3J5JykgcHJpdmF0ZSByZWFkb25seSB2YXJpYW50UmVwb3NpdG9yeTogVmFyaWFudFJlcG9zaXRvcnksXHJcbiAgICBASW5qZWN0KERFRkFVTFRfU0hPUCkgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRTaG9wOiBTaG9wcyxcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIGdldFBlbmRpbmdSZXZpZXdzQnlFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxQZW5kaW5nUHJvZHVjdFJldmlld1tdPiB7XHJcbiAgICBjb25zdCBwcm9kdWN0czogUGVuZGluZ1Byb2R1Y3RSZXZpZXdbXSA9IFtdXHJcbiAgICBjb25zdCBvcmRlcnMgPSBhd2FpdCB0aGlzLmdldE9yZGVyc0J5RW1haWwoZW1haWwpXHJcblxyXG4gICAgaWYgKG9yZGVycy5sZW5ndGgpIHtcclxuICAgICAgZm9yIChjb25zdCBvcmRlciBvZiBvcmRlcnMpIHtcclxuICAgICAgICBjb25zdCBsaW5lSXRlbXMgPSBvcmRlci5saW5lSXRlbXMuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5pc0dpZnQpXHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBsaW5lSXRlbXMpIHtcclxuICAgICAgICAgIGNvbnN0IHByb2R1Y3RSZXZpZXcgPSBhd2FpdCB0aGlzLmdldFByb2R1Y3RSZXZpZXcob3JkZXIsIGl0ZW0pXHJcblxyXG4gICAgICAgICAgaWYgKHByb2R1Y3RSZXZpZXc/LnN0YXR1cyAhPSBudWxsKSBjb250aW51ZVxyXG5cclxuICAgICAgICAgIHByb2R1Y3RzLnB1c2godGhpcy5idWlsZFByb2R1Y3RSZXZpZXcob3JkZXIsIGl0ZW0sIHByb2R1Y3RSZXZpZXcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwcm9kdWN0c1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXRPcmRlcnNCeUVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPE9yZGVyW10+IHtcclxuICAgIGNvbnN0IHsgZGF0YTogb3JkZXJzIH0gPSBhd2FpdCB0aGlzLm9yZGVyUmVwb3NpdG9yeS5maW5kKHtcclxuICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgIHVzZXI6IHtcclxuICAgICAgICAgIGVtYWlsOiBlbWFpbCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3A6IHRoaXMuZGVmYXVsdFNob3AsXHJcbiAgICAgICAgc3RhdHVzOiBPcmRlclN0YXR1cy5FTlRSRUdVRSxcclxuICAgICAgICBjcmVhdGVkQXQ6IHtcclxuICAgICAgICAgIG9wZXJhdG9yOiBXaGVyZS5HVEUsXHJcbiAgICAgICAgICB2YWx1ZTogbmV3IERhdGUoMjAyNCwgMCwgMCwgMCwgMCwgMCkuZ2V0VGltZSgpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIG9yZGVyQnk6IHtcclxuICAgICAgICBjcmVhdGVkQXQ6ICdkZXNjJyxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIG9yZGVyc1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXRQcm9kdWN0UmV2aWV3KG9yZGVyOiBPcmRlciwgaXRlbTogTGluZUl0ZW0pIHtcclxuICAgIGNvbnN0IHByb2R1Y3RzOiBzdHJpbmdbXSA9IFtpdGVtLmlkXVxyXG4gICAgY29uc3QgaXNWYXJpYW50ID0gYXdhaXQgdGhpcy52YXJpYW50UmVwb3NpdG9yeVxyXG4gICAgICAuZmluZCh7XHJcbiAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgaWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgICAgLnRoZW4oKHJlcykgPT4gcmVzLmRhdGEuYXQoMCkpXHJcblxyXG4gICAgaWYgKGlzVmFyaWFudCkgcHJvZHVjdHMucHVzaChpc1ZhcmlhbnQucHJvZHVjdElkKVxyXG4gICAgY29uc3QgcHJvZHVjdFJldmlldyA9IGF3YWl0IHRoaXMucHJvZHVjdFJldmlld1JlcG9zaXRvcnlcclxuICAgICAgLmZpbmQoe1xyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIG9yZGVySWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW29yZGVyLmlkLCBvcmRlci5vcmRlck51bWJlcl0uZmlsdGVyKEJvb2xlYW4pIH0sXHJcbiAgICAgICAgICBwcm9kdWN0SWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdHMgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KVxyXG4gICAgICAudGhlbigocmVzKSA9PiByZXMuZGF0YS5hdCgwKSlcclxuXHJcbiAgICByZXR1cm4gcHJvZHVjdFJldmlld1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFByb2R1Y3RSZXZpZXcob3JkZXI6IE9yZGVyLCBpdGVtOiBMaW5lSXRlbSwgcmV2aWV3OiBQcm9kdWN0UmV2aWV3KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogaXRlbS5pZCxcclxuICAgICAgb3JkZXJJZDogb3JkZXIuaWQsXHJcbiAgICAgIG9yZGVyTnVtYmVyOiBvcmRlci5vcmRlck51bWJlcixcclxuICAgICAgaXNFZGl0aW9uOiBmYWxzZSxcclxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxyXG4gICAgICBpbWFnZTogaXRlbS5pbWFnZSxcclxuICAgICAgZGVsaXZlcnlEYXRlOiBvcmRlci5kZWxpdmVyZWRBdCB8fCBudWxsLFxyXG4gICAgICBldmFsdWF0aW9uSW5BbmFseXNpczogcmV2aWV3ID8gdHJ1ZSA6IGZhbHNlLFxyXG4gICAgICByYXRpbmc6IHJldmlldyA/IHJldmlldy5yYXRlIDogbnVsbCxcclxuICAgICAgc2hvcFByb2R1Y3RTbHVnOiBpdGVtLnNsdWcsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBjcmVhdGVSZXZpZXcocmV2aWV3OiBQcm9kdWN0UmV2aWV3Q3JlYXRlKTogUHJvbWlzZTxQcm9kdWN0UmV2aWV3PiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9kdWN0UmV2aWV3UmVwb3NpdG9yeS5jcmVhdGUoXHJcbiAgICAgIFByb2R1Y3RSZXZpZXcudG9JbnN0YW5jZSh7XHJcbiAgICAgICAgcHJvZHVjdElkOiByZXZpZXcucHJvZHVjdElkLnRvU3RyaW5nKCksXHJcbiAgICAgICAgc2hvcDogcmV2aWV3LnNob3AsXHJcbiAgICAgICAgcmF0ZTogcmV2aWV3LnJhdGUsXHJcbiAgICAgICAgYXV0aG9yOiByZXZpZXcuYXV0aG9yLFxyXG4gICAgICAgIGVtYWlsOiByZXZpZXcuZW1haWwsXHJcbiAgICAgICAgbG9jYXRpb246IHJldmlldy5sb2NhdGlvbixcclxuICAgICAgICByZXZpZXc6IHJldmlldy5jb21tZW50LFxyXG4gICAgICAgIHRpdGxlOiByZXZpZXcudGl0bGUsXHJcbiAgICAgICAgcGVyc29uSWQ6IHJldmlldy5wZXJzb25JZCxcclxuICAgICAgICBwb2ludHM6IHJldmlldy5wb2ludHMsXHJcbiAgICAgICAgb3JkZXJJZDogcmV2aWV3Lm9yZGVySWQsXHJcbiAgICAgIH0pLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgdmVyaWZ5UmV2aWV3UHJvZHVjdEFuZE9yZGVyKG9yZGVySWQ6IHN0cmluZ1tdLCBwcm9kdWN0SWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdFJldmlld1JlcG9zaXRvcnlcclxuICAgICAgLmZpbmQoe1xyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIG9yZGVySWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogb3JkZXJJZCB9LFxyXG4gICAgICAgICAgcHJvZHVjdElkOiBwcm9kdWN0SWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSlcclxuICAgICAgLnRoZW4oKHJlcykgPT4gcmVzLmRhdGEpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ShoppingRecurrenceFirestoreRepository, Shops, } from '@infrab4a/connect';
|
|
3
|
-
import { from } from 'rxjs';
|
|
4
|
-
import { DEFAULT_SHOP } from '../consts';
|
|
5
|
-
import { CheckoutDependenciesFacade } from './checkout';
|
|
6
|
-
import { ConfigurationFacade } from './shared';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./checkout";
|
|
9
|
-
import * as i2 from "./shared";
|
|
10
|
-
import * as i3 from "@infrab4a/connect";
|
|
11
|
-
export class OrderRecurrenceService {
|
|
12
|
-
constructor(shoppingRecurrenceRepository, defaultShop, dependenciesFacade, configurationFacade) {
|
|
13
|
-
this.shoppingRecurrenceRepository = shoppingRecurrenceRepository;
|
|
14
|
-
this.defaultShop = defaultShop;
|
|
15
|
-
this.dependenciesFacade = dependenciesFacade;
|
|
16
|
-
this.configurationFacade = configurationFacade;
|
|
17
|
-
this.checkoutUrl = null;
|
|
18
|
-
this.checkoutUrl = this.configurationFacade.getCheckoutUrl();
|
|
19
|
-
}
|
|
20
|
-
getRecurrenceOrder(recurrenceId) {
|
|
21
|
-
return from(this.shoppingRecurrenceRepository.get({ id: recurrenceId }));
|
|
22
|
-
}
|
|
23
|
-
createRecurrenceOrder(recurrencePayload) {
|
|
24
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/createShoppingRecurrence`, {
|
|
25
|
-
data: recurrencePayload,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
updatePaymentMethod(data) {
|
|
29
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/updateShoppingRecurrencePaymentMethod`, {
|
|
30
|
-
data,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
getRecurrenceAvailableShipping(data) {
|
|
34
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/getShoppingRecurrenceAvailableShipping`, {
|
|
35
|
-
data,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
updateShippingAddress(data) {
|
|
39
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/updateShoppingRecurrenceShippingAddress`, {
|
|
40
|
-
data,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
cancelRecurrenceOrder(data) {
|
|
44
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/cancelShoppingRecurrence`, {
|
|
45
|
-
data,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
enableOrDisableRecurrenceOrder(recurrenceId, active) {
|
|
49
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/enableOrDisableShoppingRecurrence`, {
|
|
50
|
-
recurrenceId,
|
|
51
|
-
active,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
skipRecurrenceOrder(recurrenceEditionId) {
|
|
55
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/skipShoppingRecurrenceEdition`, {
|
|
56
|
-
recurrenceEditionId,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
updateFrequency(recurrenceId, frequency) {
|
|
60
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/updateShoppingRecurrenceFrequency`, {
|
|
61
|
-
recurrenceId,
|
|
62
|
-
frequency,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
updateLineItems(recurrenceId, lineItems) {
|
|
66
|
-
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/updateShoppingRecurrenceLineItems`, {
|
|
67
|
-
recurrenceId,
|
|
68
|
-
lineItems,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
75
|
-
type: Injectable
|
|
76
|
-
}], ctorParameters:
|
|
77
|
-
type: Inject,
|
|
78
|
-
args: ['ShoppingRecurrenceRepository']
|
|
79
|
-
}] }, { type: i3.Shops, decorators: [{
|
|
80
|
-
type: Inject,
|
|
81
|
-
args: [DEFAULT_SHOP]
|
|
82
|
-
}] }, { type: i1.CheckoutDependenciesFacade }, { type: i2.ConfigurationFacade }]
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { ShoppingRecurrenceFirestoreRepository, Shops, } from '@infrab4a/connect';
|
|
3
|
+
import { from } from 'rxjs';
|
|
4
|
+
import { DEFAULT_SHOP } from '../consts';
|
|
5
|
+
import { CheckoutDependenciesFacade } from './checkout';
|
|
6
|
+
import { ConfigurationFacade } from './shared';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./checkout";
|
|
9
|
+
import * as i2 from "./shared";
|
|
10
|
+
import * as i3 from "@infrab4a/connect";
|
|
11
|
+
export class OrderRecurrenceService {
|
|
12
|
+
constructor(shoppingRecurrenceRepository, defaultShop, dependenciesFacade, configurationFacade) {
|
|
13
|
+
this.shoppingRecurrenceRepository = shoppingRecurrenceRepository;
|
|
14
|
+
this.defaultShop = defaultShop;
|
|
15
|
+
this.dependenciesFacade = dependenciesFacade;
|
|
16
|
+
this.configurationFacade = configurationFacade;
|
|
17
|
+
this.checkoutUrl = null;
|
|
18
|
+
this.checkoutUrl = this.configurationFacade.getCheckoutUrl();
|
|
19
|
+
}
|
|
20
|
+
getRecurrenceOrder(recurrenceId) {
|
|
21
|
+
return from(this.shoppingRecurrenceRepository.get({ id: recurrenceId }));
|
|
22
|
+
}
|
|
23
|
+
createRecurrenceOrder(recurrencePayload) {
|
|
24
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/createShoppingRecurrence`, {
|
|
25
|
+
data: recurrencePayload,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
updatePaymentMethod(data) {
|
|
29
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/updateShoppingRecurrencePaymentMethod`, {
|
|
30
|
+
data,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
getRecurrenceAvailableShipping(data) {
|
|
34
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/getShoppingRecurrenceAvailableShipping`, {
|
|
35
|
+
data,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
updateShippingAddress(data) {
|
|
39
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/updateShoppingRecurrenceShippingAddress`, {
|
|
40
|
+
data,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
cancelRecurrenceOrder(data) {
|
|
44
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/cancelShoppingRecurrence`, {
|
|
45
|
+
data,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
enableOrDisableRecurrenceOrder(recurrenceId, active) {
|
|
49
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/enableOrDisableShoppingRecurrence`, {
|
|
50
|
+
recurrenceId,
|
|
51
|
+
active,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
skipRecurrenceOrder(recurrenceEditionId) {
|
|
55
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/skipShoppingRecurrenceEdition`, {
|
|
56
|
+
recurrenceEditionId,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
updateFrequency(recurrenceId, frequency) {
|
|
60
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/updateShoppingRecurrenceFrequency`, {
|
|
61
|
+
recurrenceId,
|
|
62
|
+
frequency,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
updateLineItems(recurrenceId, lineItems) {
|
|
66
|
+
return this.dependenciesFacade.httpClient.post(`${this.checkoutUrl}/updateShoppingRecurrenceLineItems`, {
|
|
67
|
+
recurrenceId,
|
|
68
|
+
lineItems,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderRecurrenceService, deps: [{ token: 'ShoppingRecurrenceRepository' }, { token: DEFAULT_SHOP }, { token: i1.CheckoutDependenciesFacade }, { token: i2.ConfigurationFacade }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderRecurrenceService }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderRecurrenceService, decorators: [{
|
|
75
|
+
type: Injectable
|
|
76
|
+
}], ctorParameters: () => [{ type: i3.ShoppingRecurrenceFirestoreRepository, decorators: [{
|
|
77
|
+
type: Inject,
|
|
78
|
+
args: ['ShoppingRecurrenceRepository']
|
|
79
|
+
}] }, { type: i3.Shops, decorators: [{
|
|
80
|
+
type: Inject,
|
|
81
|
+
args: [DEFAULT_SHOP]
|
|
82
|
+
}] }, { type: i1.CheckoutDependenciesFacade }, { type: i2.ConfigurationFacade }] });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcmVjdXJyZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9vcmRlci1yZWN1cnJlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQU9MLHFDQUFxQyxFQUNyQyxLQUFLLEdBRU4sTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFeEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7Ozs7QUFHOUMsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUVtQiw0QkFBbUUsRUFDOUMsV0FBa0IsRUFDdkMsa0JBQThDLEVBQzlDLG1CQUF3QztRQUh4QyxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQXVDO1FBQzlDLGdCQUFXLEdBQVgsV0FBVyxDQUFPO1FBQ3ZDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBNEI7UUFDOUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVBuRCxnQkFBVyxHQUFXLElBQUksQ0FBQTtRQVNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUM5RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsWUFBb0I7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVELHFCQUFxQixDQUFDLGlCQUFrRDtRQUN0RSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFxQixHQUFHLElBQUksQ0FBQyxXQUFXLDJCQUEyQixFQUFFO1lBQ2pILElBQUksRUFBRSxpQkFBaUI7U0FDeEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQTJEO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzVDLEdBQUcsSUFBSSxDQUFDLFdBQVcsd0NBQXdDLEVBQzNEO1lBQ0UsSUFBSTtTQUNMLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxJQUE2RDtRQUMxRixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUM1QyxHQUFHLElBQUksQ0FBQyxXQUFXLHlDQUF5QyxFQUM1RDtZQUNFLElBQUk7U0FDTCxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBb0Y7UUFDeEcsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDNUMsR0FBRyxJQUFJLENBQUMsV0FBVywwQ0FBMEMsRUFDN0Q7WUFDRSxJQUFJO1NBQ0wsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQThCO1FBQ2xELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXFCLEdBQUcsSUFBSSxDQUFDLFdBQVcsMkJBQTJCLEVBQUU7WUFDakgsSUFBSTtTQUNMLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxZQUFvQixFQUFFLE1BQWU7UUFDbEUsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDNUMsR0FBRyxJQUFJLENBQUMsV0FBVyxvQ0FBb0MsRUFDdkQ7WUFDRSxZQUFZO1lBQ1osTUFBTTtTQUNQLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxtQkFBMkI7UUFDN0MsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDNUMsR0FBRyxJQUFJLENBQUMsV0FBVyxnQ0FBZ0MsRUFDbkQ7WUFDRSxtQkFBbUI7U0FDcEIsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFvQixFQUFFLFNBQWtDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzVDLEdBQUcsSUFBSSxDQUFDLFdBQVcsb0NBQW9DLEVBQ3ZEO1lBQ0UsWUFBWTtZQUNaLFNBQVM7U0FDVixDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFlBQW9CLEVBQUUsU0FBcUI7UUFDekQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDNUMsR0FBRyxJQUFJLENBQUMsV0FBVyxvQ0FBb0MsRUFDdkQ7WUFDRSxZQUFZO1lBQ1osU0FBUztTQUNWLENBQ0YsQ0FBQTtJQUNILENBQUM7OEdBN0ZVLHNCQUFzQixrQkFJdkIsOEJBQThCLGFBRTlCLFlBQVk7a0hBTlgsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzswQkFLTixNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBRXJDLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7XHJcbiAgQ2FyZEZvclBheW1lbnRJbmZvLFxyXG4gIENyZWF0ZVNob3BwaW5nUmVjdXJyZW5jeVBheWxvYWQsXHJcbiAgTGluZUl0ZW0sXHJcbiAgU2hpcHBpbmdNZXRob2RSZXNwb25zZSxcclxuICBTaG9wcGluZ1JlY3VycmVuY2UsXHJcbiAgU2hvcHBpbmdSZWN1cnJlbmNlQ3ljbGUsXHJcbiAgU2hvcHBpbmdSZWN1cnJlbmNlRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICBTaG9wcyxcclxuICBVc2VyQWRkcmVzcyxcclxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcblxyXG5pbXBvcnQgeyBERUZBVUxUX1NIT1AgfSBmcm9tICcuLi9jb25zdHMnXHJcblxyXG5pbXBvcnQgeyBDaGVja291dERlcGVuZGVuY2llc0ZhY2FkZSB9IGZyb20gJy4vY2hlY2tvdXQnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25GYWNhZGUgfSBmcm9tICcuL3NoYXJlZCdcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9yZGVyUmVjdXJyZW5jZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY2hlY2tvdXRVcmw6IHN0cmluZyA9IG51bGxcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KCdTaG9wcGluZ1JlY3VycmVuY2VSZXBvc2l0b3J5JylcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2hvcHBpbmdSZWN1cnJlbmNlUmVwb3NpdG9yeTogU2hvcHBpbmdSZWN1cnJlbmNlRmlyZXN0b3JlUmVwb3NpdG9yeSxcclxuICAgIEBJbmplY3QoREVGQVVMVF9TSE9QKSBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFNob3A6IFNob3BzLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXBlbmRlbmNpZXNGYWNhZGU6IENoZWNrb3V0RGVwZW5kZW5jaWVzRmFjYWRlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uRmFjYWRlOiBDb25maWd1cmF0aW9uRmFjYWRlLFxyXG4gICkge1xyXG4gICAgdGhpcy5jaGVja291dFVybCA9IHRoaXMuY29uZmlndXJhdGlvbkZhY2FkZS5nZXRDaGVja291dFVybCgpXHJcbiAgfVxyXG5cclxuICBnZXRSZWN1cnJlbmNlT3JkZXIocmVjdXJyZW5jZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNob3BwaW5nUmVjdXJyZW5jZT4ge1xyXG4gICAgcmV0dXJuIGZyb20odGhpcy5zaG9wcGluZ1JlY3VycmVuY2VSZXBvc2l0b3J5LmdldCh7IGlkOiByZWN1cnJlbmNlSWQgfSkpXHJcbiAgfVxyXG5cclxuICBjcmVhdGVSZWN1cnJlbmNlT3JkZXIocmVjdXJyZW5jZVBheWxvYWQ6IENyZWF0ZVNob3BwaW5nUmVjdXJyZW5jeVBheWxvYWQpOiBPYnNlcnZhYmxlPFNob3BwaW5nUmVjdXJyZW5jZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwZW5kZW5jaWVzRmFjYWRlLmh0dHBDbGllbnQucG9zdDxTaG9wcGluZ1JlY3VycmVuY2U+KGAke3RoaXMuY2hlY2tvdXRVcmx9L2NyZWF0ZVNob3BwaW5nUmVjdXJyZW5jZWAsIHtcclxuICAgICAgZGF0YTogcmVjdXJyZW5jZVBheWxvYWQsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGF5bWVudE1ldGhvZChkYXRhOiB7IHJlY3VycmVuY2VJZDogc3RyaW5nOyBjYXJkczogQ2FyZEZvclBheW1lbnRJbmZvW10gfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwZW5kZW5jaWVzRmFjYWRlLmh0dHBDbGllbnQucG9zdDxTaG9wcGluZ1JlY3VycmVuY2U+KFxyXG4gICAgICBgJHt0aGlzLmNoZWNrb3V0VXJsfS91cGRhdGVTaG9wcGluZ1JlY3VycmVuY2VQYXltZW50TWV0aG9kYCxcclxuICAgICAge1xyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgIH0sXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRSZWN1cnJlbmNlQXZhaWxhYmxlU2hpcHBpbmcoZGF0YTogeyByZWN1cnJlbmNlSWQ6IHN0cmluZzsgc2hpcHBpbmdBZGRyZXNzPzogVXNlckFkZHJlc3MgfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwZW5kZW5jaWVzRmFjYWRlLmh0dHBDbGllbnQucG9zdDxTaGlwcGluZ01ldGhvZFJlc3BvbnNlW10+KFxyXG4gICAgICBgJHt0aGlzLmNoZWNrb3V0VXJsfS9nZXRTaG9wcGluZ1JlY3VycmVuY2VBdmFpbGFibGVTaGlwcGluZ2AsXHJcbiAgICAgIHtcclxuICAgICAgICBkYXRhLFxyXG4gICAgICB9LFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU2hpcHBpbmdBZGRyZXNzKGRhdGE6IHsgcmVjdXJyZW5jZUlkOiBzdHJpbmc7IHNoaXBwaW5nQWRkcmVzczogVXNlckFkZHJlc3M7IHNoaXBwaW5nT3B0aW9uOiBzdHJpbmcgfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwZW5kZW5jaWVzRmFjYWRlLmh0dHBDbGllbnQucG9zdDxTaG9wcGluZ1JlY3VycmVuY2U+KFxyXG4gICAgICBgJHt0aGlzLmNoZWNrb3V0VXJsfS91cGRhdGVTaG9wcGluZ1JlY3VycmVuY2VTaGlwcGluZ0FkZHJlc3NgLFxyXG4gICAgICB7XHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgfSxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGNhbmNlbFJlY3VycmVuY2VPcmRlcihkYXRhOiB7IHJlY3VycmVuY2VJZDogc3RyaW5nIH0pIHtcclxuICAgIHJldHVybiB0aGlzLmRlcGVuZGVuY2llc0ZhY2FkZS5odHRwQ2xpZW50LnBvc3Q8U2hvcHBpbmdSZWN1cnJlbmNlPihgJHt0aGlzLmNoZWNrb3V0VXJsfS9jYW5jZWxTaG9wcGluZ1JlY3VycmVuY2VgLCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZW5hYmxlT3JEaXNhYmxlUmVjdXJyZW5jZU9yZGVyKHJlY3VycmVuY2VJZDogc3RyaW5nLCBhY3RpdmU6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiB0aGlzLmRlcGVuZGVuY2llc0ZhY2FkZS5odHRwQ2xpZW50LnBvc3Q8U2hvcHBpbmdSZWN1cnJlbmNlPihcclxuICAgICAgYCR7dGhpcy5jaGVja291dFVybH0vZW5hYmxlT3JEaXNhYmxlU2hvcHBpbmdSZWN1cnJlbmNlYCxcclxuICAgICAge1xyXG4gICAgICAgIHJlY3VycmVuY2VJZCxcclxuICAgICAgICBhY3RpdmUsXHJcbiAgICAgIH0sXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBza2lwUmVjdXJyZW5jZU9yZGVyKHJlY3VycmVuY2VFZGl0aW9uSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVwZW5kZW5jaWVzRmFjYWRlLmh0dHBDbGllbnQucG9zdDxTaG9wcGluZ1JlY3VycmVuY2U+KFxyXG4gICAgICBgJHt0aGlzLmNoZWNrb3V0VXJsfS9za2lwU2hvcHBpbmdSZWN1cnJlbmNlRWRpdGlvbmAsXHJcbiAgICAgIHtcclxuICAgICAgICByZWN1cnJlbmNlRWRpdGlvbklkLFxyXG4gICAgICB9LFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlRnJlcXVlbmN5KHJlY3VycmVuY2VJZDogc3RyaW5nLCBmcmVxdWVuY3k6IFNob3BwaW5nUmVjdXJyZW5jZUN5Y2xlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXBlbmRlbmNpZXNGYWNhZGUuaHR0cENsaWVudC5wb3N0PFNob3BwaW5nUmVjdXJyZW5jZT4oXHJcbiAgICAgIGAke3RoaXMuY2hlY2tvdXRVcmx9L3VwZGF0ZVNob3BwaW5nUmVjdXJyZW5jZUZyZXF1ZW5jeWAsXHJcbiAgICAgIHtcclxuICAgICAgICByZWN1cnJlbmNlSWQsXHJcbiAgICAgICAgZnJlcXVlbmN5LFxyXG4gICAgICB9LFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlTGluZUl0ZW1zKHJlY3VycmVuY2VJZDogc3RyaW5nLCBsaW5lSXRlbXM6IExpbmVJdGVtW10pIHtcclxuICAgIHJldHVybiB0aGlzLmRlcGVuZGVuY2llc0ZhY2FkZS5odHRwQ2xpZW50LnBvc3Q8U2hvcHBpbmdSZWN1cnJlbmNlPihcclxuICAgICAgYCR7dGhpcy5jaGVja291dFVybH0vdXBkYXRlU2hvcHBpbmdSZWN1cnJlbmNlTGluZUl0ZW1zYCxcclxuICAgICAge1xyXG4gICAgICAgIHJlY3VycmVuY2VJZCxcclxuICAgICAgICBsaW5lSXRlbXMsXHJcbiAgICAgIH0sXHJcbiAgICApXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Injectable, Inject } from '@angular/core';
|
|
2
|
-
import { doc, Firestore, docSnapshots } from '@angular/fire/firestore';
|
|
3
|
-
import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/fire/firestore";
|
|
8
|
-
import * as i2 from "@infrab4a/connect";
|
|
9
|
-
export class OrderService {
|
|
10
|
-
constructor(angularFirestore, orderRepository) {
|
|
11
|
-
this.angularFirestore = angularFirestore;
|
|
12
|
-
this.orderRepository = orderRepository;
|
|
13
|
-
this.orderSubject = new Subject();
|
|
14
|
-
}
|
|
15
|
-
getOrder(id) {
|
|
16
|
-
docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))
|
|
17
|
-
.pipe(map((doc) => Order.toInstance(doc.data())))
|
|
18
|
-
.subscribe((doc) => this.orderSubject.next(doc));
|
|
19
|
-
return this.orderSubject;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
25
|
-
type: Injectable
|
|
26
|
-
}], ctorParameters:
|
|
27
|
-
type: Inject,
|
|
28
|
-
args: ['OrderRepository']
|
|
29
|
-
}] }]
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable, Inject } from '@angular/core';
|
|
2
|
+
import { doc, Firestore, docSnapshots } from '@angular/fire/firestore';
|
|
3
|
+
import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { map } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/fire/firestore";
|
|
8
|
+
import * as i2 from "@infrab4a/connect";
|
|
9
|
+
export class OrderService {
|
|
10
|
+
constructor(angularFirestore, orderRepository) {
|
|
11
|
+
this.angularFirestore = angularFirestore;
|
|
12
|
+
this.orderRepository = orderRepository;
|
|
13
|
+
this.orderSubject = new Subject();
|
|
14
|
+
}
|
|
15
|
+
getOrder(id) {
|
|
16
|
+
docSnapshots(doc(this.angularFirestore, `${this.orderRepository.collectionName}/${id}`))
|
|
17
|
+
.pipe(map((doc) => Order.toInstance(doc.data())))
|
|
18
|
+
.subscribe((doc) => this.orderSubject.next(doc));
|
|
19
|
+
return this.orderSubject;
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService, deps: [{ token: i1.Firestore }, { token: 'OrderRepository' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: OrderService, decorators: [{
|
|
25
|
+
type: Injectable
|
|
26
|
+
}], ctorParameters: () => [{ type: i1.Firestore }, { type: i2.OrderFirestoreRepository, decorators: [{
|
|
27
|
+
type: Inject,
|
|
28
|
+
args: ['OrderRepository']
|
|
29
|
+
}] }] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvb3JkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUFHcEMsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFDbUIsZ0JBQTJCLEVBQ0EsZUFBeUM7UUFEcEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFXO1FBQ0Esb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBSnZGLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQTtJQUtoQyxDQUFDO0lBRUosUUFBUSxDQUFDLEVBQVU7UUFDakIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7OEdBZFUsWUFBWSwyQ0FLYixpQkFBaUI7a0hBTGhCLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgZG9jLCBGaXJlc3RvcmUsIGRvY1NuYXBzaG90cyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJ1xyXG5pbXBvcnQgeyBPcmRlciwgT3JkZXJGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9yZGVyU2VydmljZSB7XHJcbiAgb3JkZXJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8T3JkZXI+KClcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJGaXJlc3RvcmU6IEZpcmVzdG9yZSxcclxuICAgIEBJbmplY3QoJ09yZGVyUmVwb3NpdG9yeScpIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJSZXBvc2l0b3J5OiBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnksXHJcbiAgKSB7fVxyXG5cclxuICBnZXRPcmRlcihpZDogc3RyaW5nKTogU3ViamVjdDxPcmRlcj4ge1xyXG4gICAgZG9jU25hcHNob3RzKGRvYyh0aGlzLmFuZ3VsYXJGaXJlc3RvcmUsIGAke3RoaXMub3JkZXJSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke2lkfWApKVxyXG4gICAgICAucGlwZShtYXAoKGRvYykgPT4gT3JkZXIudG9JbnN0YW5jZShkb2MuZGF0YSgpKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGRvYykgPT4gdGhpcy5vcmRlclN1YmplY3QubmV4dChkb2MpKVxyXG5cclxuICAgIHJldHVybiB0aGlzLm9yZGVyU3ViamVjdFxyXG4gIH1cclxufVxyXG4iXX0=
|