simpo-component-library 1.5.0 → 1.5.4
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/components/hover-elements/hover-elements.component.mjs +7 -5
- package/esm2022/lib/constants/business.constant.mjs +14 -0
- package/esm2022/lib/directive/background-directive.mjs +1 -1
- package/esm2022/lib/directive/border-directive.mjs +23 -11
- package/esm2022/lib/directive/spacing-horizontal.directive.mjs +48 -0
- package/esm2022/lib/directive/wrap-containers.directive.mjs +31 -0
- package/esm2022/lib/ecommerce/sections/address/address.component.mjs +139 -28
- package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +104 -39
- package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +296 -61
- package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +13 -3
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +13 -4
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +212 -42
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +11 -2
- package/esm2022/lib/ecommerce/sections/item-varient/item-varient.component.mjs +11 -0
- package/esm2022/lib/ecommerce/sections/order-details/order-details.component.mjs +77 -10
- package/esm2022/lib/ecommerce/sections/pagnination/pagnination.component.mjs +13 -7
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +272 -39
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +252 -33
- package/esm2022/lib/ecommerce/sections/product-list/product-list.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/user-basic-info/user-basic-info.component.mjs +44 -17
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +301 -28
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +124 -0
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.model.mjs +2 -0
- package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +183 -17
- package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +11 -3
- package/esm2022/lib/ecommerce/styles/cart.modal.mjs +2 -1
- package/esm2022/lib/ecommerce/styles/product.modal.mjs +10 -1
- package/esm2022/lib/ecommerce/styles/user.modal.mjs +1 -1
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
- package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +3 -3
- package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +3 -3
- package/esm2022/lib/pipes/amount.pipe.mjs +35 -0
- package/esm2022/lib/pipes/gender.pipe.mjs +36 -0
- package/esm2022/lib/sections/BaseSection.mjs +1 -1
- package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +3 -3
- package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +9 -4
- package/esm2022/lib/sections/banner-grid-section/banner-grid-section.model.mjs +1 -1
- package/esm2022/lib/sections/banner-section/banner-section.component.mjs +3 -3
- package/esm2022/lib/sections/blog-list/blog-list.component.mjs +3 -3
- package/esm2022/lib/sections/carousel-banner/carousel-banner.component.mjs +12 -12
- package/esm2022/lib/sections/carousel-banner/carousel-banner.model.mjs +1 -1
- package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +2 -2
- package/esm2022/lib/sections/contact-us/contact-us.component.mjs +7 -5
- package/esm2022/lib/sections/faq-section/faq-section.component.mjs +3 -3
- package/esm2022/lib/sections/features-section/features-section.component.mjs +3 -3
- package/esm2022/lib/sections/footer-section/footer-section.component.mjs +3 -3
- package/esm2022/lib/sections/header-text/header-text.component.mjs +3 -3
- package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +3 -3
- package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +3 -3
- package/esm2022/lib/sections/image-section/image-section.component.mjs +3 -3
- package/esm2022/lib/sections/location-section/location-section.component.mjs +2 -2
- package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +3 -3
- package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +42 -18
- package/esm2022/lib/sections/navbar-section/navbar-section.model.mjs +1 -1
- package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +3 -3
- package/esm2022/lib/sections/process-modern/process-modern.component.mjs +3 -3
- package/esm2022/lib/sections/process-section/process-section.component.mjs +3 -3
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +3 -3
- package/esm2022/lib/sections/service-section/service-section.component.mjs +1 -1
- package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +1 -1
- package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +3 -3
- package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +3 -3
- package/esm2022/lib/sections/text-image-section/text-image-section.component.mjs +3 -3
- package/esm2022/lib/sections/text-section/text-section.component.mjs +2 -2
- package/esm2022/lib/sections/video-section/video-section.component.mjs +11 -3
- package/esm2022/lib/sections/view-blog/view-blog.component.mjs +3 -3
- package/esm2022/lib/services/cart.service.mjs +54 -120
- package/esm2022/lib/services/endUser.service.mjs +28 -0
- package/esm2022/lib/services/events.service.mjs +4 -1
- package/esm2022/lib/services/rest.service.mjs +58 -16
- package/esm2022/lib/services/storage.service.mjs +103 -35
- package/esm2022/lib/styles/index.mjs +8 -1
- package/esm2022/lib/styles/style.model.mjs +1 -1
- package/esm2022/lib/styles/types.mjs +1 -1
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/simpo-component-library.mjs +2524 -712
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/components/hover-elements/hover-elements.component.d.ts +2 -1
- package/lib/constants/business.constant.d.ts +11 -0
- package/lib/directive/spacing-horizontal.directive.d.ts +18 -0
- package/lib/directive/wrap-containers.directive.d.ts +14 -0
- package/lib/ecommerce/sections/address/address.component.d.ts +30 -9
- package/lib/ecommerce/sections/authenticate-user/authenticate-user.component.d.ts +31 -6
- package/lib/ecommerce/sections/cart/cart.component.d.ts +26 -11
- package/lib/ecommerce/sections/cart/cart.modal.d.ts +10 -1
- package/lib/ecommerce/sections/checkout/checkout.component.d.ts +2 -0
- package/lib/ecommerce/sections/featured-category/featured-category.component.d.ts +2 -0
- package/lib/ecommerce/sections/featured-products/featured-products.component.d.ts +27 -9
- package/lib/ecommerce/sections/featured-products/featured-products.modal.d.ts +5 -1
- package/lib/ecommerce/sections/item-varient/item-varient.component.d.ts +5 -0
- package/lib/ecommerce/sections/order-details/order-details.component.d.ts +16 -2
- package/lib/ecommerce/sections/pagnination/pagnination.component.d.ts +3 -2
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +33 -4
- package/lib/ecommerce/sections/product-desc/product-desc.modal.d.ts +4 -1
- package/lib/ecommerce/sections/product-list/product-list.component.d.ts +39 -3
- package/lib/ecommerce/sections/product-list/product-list.modal.d.ts +2 -0
- package/lib/ecommerce/sections/user-basic-info/user-basic-info.component.d.ts +11 -1
- package/lib/ecommerce/sections/user-profile/user-profile.component.d.ts +52 -13
- package/lib/ecommerce/sections/user-profile/user-profile.modal.d.ts +6 -8
- package/lib/ecommerce/sections/verify-payment/verify-payment.component.d.ts +34 -0
- package/lib/ecommerce/sections/verify-payment/verify-payment.model.d.ts +23 -0
- package/lib/ecommerce/sections/whislist/whislist.component.d.ts +22 -6
- package/lib/ecommerce/styles/OrderedItems.modal.d.ts +6 -2
- package/lib/ecommerce/styles/cart.modal.d.ts +1 -0
- package/lib/ecommerce/styles/product.modal.d.ts +4 -0
- package/lib/ecommerce/styles/user.modal.d.ts +3 -3
- package/lib/pipes/amount.pipe.d.ts +7 -0
- package/lib/pipes/gender.pipe.d.ts +8 -0
- package/lib/sections/banner-grid-section/banner-grid-section.component.d.ts +1 -0
- package/lib/sections/banner-grid-section/banner-grid-section.model.d.ts +1 -0
- package/lib/sections/carousel-banner/carousel-banner.component.d.ts +7 -5
- package/lib/sections/carousel-banner/carousel-banner.model.d.ts +41 -26
- package/lib/sections/navbar-section/navbar-section.component.d.ts +6 -1
- package/lib/sections/navbar-section/navbar-section.model.d.ts +1 -1
- package/lib/sections/video-section/video-section.component.d.ts +4 -2
- package/lib/services/cart.service.d.ts +13 -8
- package/lib/services/endUser.service.d.ts +13 -0
- package/lib/services/events.service.d.ts +5 -2
- package/lib/services/rest.service.d.ts +16 -2
- package/lib/services/storage.service.d.ts +11 -44
- package/lib/styles/index.d.ts +6 -0
- package/lib/styles/style.model.d.ts +4 -1
- package/lib/styles/types.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/simpo-component-library-1.5.4.tgz +0 -0
- package/esm2022/lib/ecommerce/json/user-cart.json +0 -40
- package/esm2022/lib/ecommerce/json/user-details.json +0 -15
- package/esm2022/lib/ecommerce/json/user-favourite.json +0 -32
- package/simpo-component-library-1.5.0.tgz +0 -0
@@ -1,8 +1,5 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
|
-
import UserCart from "../ecommerce/json/user-cart.json";
|
3
|
-
import UserFavourites from "../ecommerce/json/user-favourite.json";
|
4
2
|
import { OrderedItems } from '../ecommerce/styles/OrderedItems.modal';
|
5
|
-
import { forkJoin } from 'rxjs';
|
6
3
|
import * as i0 from "@angular/core";
|
7
4
|
import * as i1 from "./storage.service";
|
8
5
|
import * as i2 from "./rest.service";
|
@@ -11,154 +8,91 @@ export class CartService {
|
|
11
8
|
this.storageService = storageService;
|
12
9
|
this.restService = restService;
|
13
10
|
}
|
14
|
-
addItemFromCartPage(product) {
|
11
|
+
addItemFromCartPage(product, userCart) {
|
15
12
|
if (product.quantity) {
|
16
|
-
let productIdx = -1;
|
17
|
-
UserCart.orderedItems.forEach((item, idx)
|
18
|
-
|
19
|
-
|
20
|
-
});
|
13
|
+
// let productIdx: number = -1;
|
14
|
+
// UserCart.orderedItems.forEach((item: OrderedItems, idx)=> {
|
15
|
+
// if (item.itemId == product.itemId)
|
16
|
+
// productIdx = idx;
|
17
|
+
// });
|
21
18
|
this.storageService.addProductToCart(product);
|
22
|
-
return this.restService.addItemToDB(
|
19
|
+
return this.restService.addItemToDB(userCart);
|
23
20
|
}
|
24
21
|
else {
|
25
22
|
// remove item from cart
|
26
23
|
this.removeItemFromCart(product);
|
27
|
-
return this.restService.addItemToDB(
|
24
|
+
return this.restService.addItemToDB(userCart);
|
28
25
|
}
|
29
26
|
}
|
30
|
-
|
27
|
+
addItemFromWishlistPage(product, userWishlist) {
|
28
|
+
this.storageService.addProductToWishlist(product);
|
29
|
+
return this.restService.addItemToDB(userWishlist);
|
30
|
+
}
|
31
|
+
removeItemFromWishlistPage(product, userWishlist) {
|
32
|
+
this.storageService.removeProductFromWishlist(product.varientId);
|
33
|
+
return this.restService.addItemToDB(userWishlist);
|
34
|
+
}
|
35
|
+
addItemToCart(product, varientId) {
|
31
36
|
if (product.quantity) {
|
32
|
-
const orderedItem =
|
33
|
-
|
34
|
-
UserCart.orderedItems.forEach((item, idx) => {
|
35
|
-
if (item.itemId == product.itemId)
|
36
|
-
productIdx = idx;
|
37
|
-
});
|
38
|
-
if (productIdx >= 0) {
|
39
|
-
UserCart.orderedItems[productIdx].quantity = product.quantity;
|
40
|
-
}
|
41
|
-
else {
|
42
|
-
UserCart.orderedItems.push(orderedItem);
|
43
|
-
}
|
44
|
-
console.log(UserCart);
|
45
|
-
this.storageService.addProductToCart(orderedItem);
|
37
|
+
const orderedItem = this.objectMapper(product, varientId);
|
38
|
+
return this.storageService.addProductToCart(orderedItem);
|
46
39
|
}
|
47
40
|
else {
|
48
|
-
|
49
|
-
this.removeItemFromCart(product);
|
41
|
+
return this.removeItemFromCart(product);
|
50
42
|
}
|
51
43
|
}
|
52
|
-
addItemToFavourite(product) {
|
53
|
-
const orderedItem = this.objectMapper(product);
|
54
|
-
let productIdx = -1;
|
55
|
-
UserFavourites.orderedItems.forEach((item, idx) => {
|
56
|
-
if (item.itemId == product.itemId)
|
57
|
-
productIdx = idx;
|
58
|
-
});
|
59
|
-
if (productIdx >= 0) {
|
60
|
-
UserFavourites.orderedItems[productIdx].quantity = product.quantity;
|
61
|
-
}
|
62
|
-
else {
|
63
|
-
UserFavourites.orderedItems.push(orderedItem);
|
64
|
-
}
|
44
|
+
addItemToFavourite(product, varientId) {
|
45
|
+
const orderedItem = this.objectMapper(product, varientId);
|
65
46
|
this.storageService.addProductToWishlist(orderedItem);
|
66
47
|
}
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
48
|
+
addItemToFavFromCart(product) {
|
49
|
+
this.storageService.addProductToWishlist(product);
|
50
|
+
}
|
51
|
+
addOrderedItemToFavourite(orderedItem) {
|
52
|
+
this.storageService.addProductToWishlist(orderedItem);
|
53
|
+
}
|
54
|
+
removeItemFromFavourite(varientId) {
|
55
|
+
this.storageService.removeProductFromWishlist(varientId);
|
74
56
|
}
|
75
57
|
removeItemFromCart(product) {
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
this.storageService.removeProductFromCart(product.itemId);
|
81
|
-
}
|
58
|
+
this.storageService.removeProductFromCart(product.varientId);
|
59
|
+
}
|
60
|
+
getItemIdxJSON(id, type) {
|
61
|
+
return this.storageService.getProductFromCart(id);
|
82
62
|
}
|
83
|
-
// public convertFavToCart(product: OrderedItems) {
|
84
|
-
// const index = this.getItemIdxJSON(product.getItemId, UserFavourites);
|
85
|
-
// if (index >= 0) {
|
86
|
-
// const item = UserFavourites.orderedItems.splice(index, 1)[0];
|
87
|
-
// UserCart.orderedItems.push(item as never);
|
88
|
-
// }
|
89
|
-
// }
|
90
|
-
// public convertCartToFav(product: OrderedItems) {
|
91
|
-
// const index = this.getItemIdxJSON(product.getItemId, UserCart);
|
92
|
-
// if (index >= 0) {
|
93
|
-
// const item = UserCart.orderedItems.splice(index, 1)[0];
|
94
|
-
// UserFavourites.orderedItems.push(item as never);
|
95
|
-
// }
|
96
|
-
// }
|
97
63
|
storeItemToDB(product, type) {
|
98
64
|
if (type == "CART") {
|
99
|
-
const orderProduct = this.objectMapper(this.storageService.getProductFromCart(product.
|
65
|
+
const orderProduct = this.objectMapper(this.storageService.getProductFromCart(product.varientId));
|
100
66
|
if (orderProduct) {
|
101
67
|
this.storageService.addProductToCart(orderProduct);
|
102
|
-
UserCart.orderedItems.push(orderProduct);
|
103
68
|
}
|
104
69
|
}
|
105
70
|
else {
|
106
|
-
const orderProduct = this.objectMapper(this.storageService.getProductFromWishlist(product.
|
71
|
+
const orderProduct = this.objectMapper(this.storageService.getProductFromWishlist(product.varientId));
|
107
72
|
if (orderProduct) {
|
108
73
|
this.storageService.addProductToWishlist(orderProduct);
|
109
|
-
UserFavourites.orderedItems.push(orderProduct);
|
110
74
|
}
|
111
75
|
}
|
112
76
|
}
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
return productIndex;
|
121
|
-
}
|
122
|
-
getItemByIdx(itemId, type) {
|
123
|
-
const productIdx = this.getItemIdxJSON(itemId, type);
|
124
|
-
console.log(type, productIdx);
|
125
|
-
const json = (type == "FAVOURITE") ? UserFavourites : UserCart;
|
126
|
-
if (productIdx >= 0)
|
127
|
-
return json.orderedItems[productIdx];
|
128
|
-
return null;
|
129
|
-
}
|
130
|
-
objectMapper(product) {
|
131
|
-
return new OrderedItems(product);
|
77
|
+
objectMapper(product, variantId) {
|
78
|
+
return new OrderedItems(product, variantId);
|
79
|
+
}
|
80
|
+
storeCartDataToServer(cart) {
|
81
|
+
}
|
82
|
+
clearCartItems() {
|
83
|
+
this.storageService.clearUserCart();
|
132
84
|
}
|
133
85
|
storeDataToServer() {
|
134
|
-
const userCart = UserCart;
|
135
|
-
const userWishlist = UserFavourites;
|
136
|
-
if (userCart.cartId?.length == 0)
|
137
|
-
|
138
|
-
if (userWishlist.cartId?.length == 0)
|
139
|
-
|
140
|
-
return forkJoin([
|
141
|
-
|
142
|
-
|
143
|
-
]);
|
144
|
-
}
|
145
|
-
storeDBToJSON() {
|
146
|
-
// this.storageService.getUserCart().then((response)=> {
|
147
|
-
//
|
148
|
-
// })
|
149
|
-
// const userId = UserDetails.user?.userId;
|
150
|
-
// if (!userId)
|
151
|
-
// return;
|
152
|
-
// this.restService.getUserItems(userId, "CART").subscribe((response: any)=> {
|
153
|
-
// UserCart.orderedItems = response.data.orderedItems;
|
154
|
-
// UserCart.billdetails = response.data.billdetails;
|
155
|
-
// UserCart.totalAmount = response.totalAmount;
|
156
|
-
// })
|
157
|
-
// this.restService.getUserItems(userId, "WISHLIST").subscribe((response: any)=> {
|
158
|
-
// UserFavourites.orderedItems = response.data.orderedItems;
|
159
|
-
// UserFavourites.billdetails = response.data.billdetails;
|
160
|
-
// UserFavourites.totalAmount = response.totalAmount;
|
161
|
-
// })
|
86
|
+
// const userCart = UserCart as never as Cart;
|
87
|
+
// const userWishlist = UserFavourites as never as Cart;
|
88
|
+
// if (userCart.cartId?.length == 0)
|
89
|
+
// delete userCart.cartId;
|
90
|
+
// if (userWishlist.cartId?.length == 0)
|
91
|
+
// delete userWishlist.cartId;
|
92
|
+
// return forkJoin([
|
93
|
+
// this.restService.addItemToDB(UserCart),
|
94
|
+
// this.restService.addItemToDB(UserFavourites)
|
95
|
+
// ]);
|
162
96
|
}
|
163
97
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, deps: [{ token: i1.StorageServiceService }, { token: i2.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
164
98
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, providedIn: 'root' }); }
|
@@ -169,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
169
103
|
providedIn: 'root',
|
170
104
|
}]
|
171
105
|
}], ctorParameters: () => [{ type: i1.StorageServiceService }, { type: i2.RestService }] });
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxRQUFRLE1BQU0sa0NBQWtDLENBQUM7QUFDeEQsT0FBTyxjQUFjLE1BQU0sdUNBQXVDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSXRFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFPaEMsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDbUIsY0FBcUMsRUFDckMsV0FBd0I7UUFEeEIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQ3hDLENBQUM7SUFFRyxtQkFBbUIsQ0FBQyxPQUFxQjtRQUM5QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixJQUFJLFVBQVUsR0FBVyxDQUFDLENBQUMsQ0FBQztZQUM1QixRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWtCLEVBQUUsR0FBRyxFQUFDLEVBQUU7Z0JBQ3ZELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTTtvQkFDL0IsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsT0FBdUIsQ0FBQyxDQUFDO1lBQzlELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDTix3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8s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TSxZQUFZLEdBQUcsY0FBK0IsQ0FBQztRQUNyRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7WUFDOUIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3pCLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztZQUNsQyxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFFN0IsT0FBTyxRQUFRLENBQUM7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1NBQzdDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTSxhQUFhO1FBRWxCLHdEQUF3RDtRQUN4RCxLQUFLO1FBQ0wsS0FBSztRQUNMLDJDQUEyQztRQUMzQyxlQUFlO1FBQ2YsWUFBWTtRQUNaLDhFQUE4RTtRQUM5RSx3REFBd0Q7UUFDeEQsc0RBQXNEO1FBQ3RELGlEQUFpRDtRQUNqRCxLQUFLO1FBQ0wsa0ZBQWtGO1FBQ2xGLDhEQUE4RDtRQUM5RCw0REFBNEQ7UUFDNUQsdURBQXVEO1FBQ3ZELEtBQUs7SUFDUCxDQUFDOzhHQXBLVSxXQUFXO2tIQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgVXNlckNhcnQgZnJvbSBcIi4uL2Vjb21tZXJjZS9qc29uL3VzZXItY2FydC5qc29uXCI7XHJcbmltcG9ydCBVc2VyRmF2b3VyaXRlcyBmcm9tIFwiLi4vZWNvbW1lcmNlL2pzb24vdXNlci1mYXZvdXJpdGUuanNvblwiO1xyXG5pbXBvcnQgVXNlckRldGFpbHMgZnJvbSBcIi4uL2Vjb21tZXJjZS9qc29uL3VzZXItZGV0YWlscy5qc29uXCI7XHJcbmltcG9ydCB7IE9yZGVyZWRJdGVtcyB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvT3JkZXJlZEl0ZW1zLm1vZGFsJztcclxuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvcHJvZHVjdC5tb2RhbCc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VXNlcn0gZnJvbSBcIi4uL2Vjb21tZXJjZS9zdHlsZXMvdXNlci5tb2RhbFwiO1xyXG5pbXBvcnQgeyBDYXJ0IH0gZnJvbSAnLi4vZWNvbW1lcmNlL3N0eWxlcy9jYXJ0Lm1vZGFsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJ0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGFkZEl0ZW1Gcm9tQ2FydFBhZ2UocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICBpZiAocHJvZHVjdC5xdWFudGl0eSkge1xyXG4gICAgICBsZXQgcHJvZHVjdElkeDogbnVtYmVyID0gLTE7XHJcbiAgICAgIFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBPcmRlcmVkSXRlbXMsIGlkeCk9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0uaXRlbUlkID09IHByb2R1Y3QuaXRlbUlkKVxyXG4gICAgICAgICAgcHJvZHVjdElkeCA9IGlkeDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvQ2FydChwcm9kdWN0IGFzIE9yZGVyZWRJdGVtcyk7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKFVzZXJDYXJ0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIHJlbW92ZSBpdGVtIGZyb20gY2FydFxyXG4gICAgICB0aGlzLnJlbW92ZUl0ZW1Gcm9tQ2FydChwcm9kdWN0KTtcclxuICAgICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIoVXNlckNhcnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZEl0ZW1Ub0NhcnQocHJvZHVjdDogUHJvZHVjdCB8IE9yZGVyZWRJdGVtcywgaXNGcm9tQ2FydDogYm9vbGVhbiA9IGZhbHNlKSB7XHJcblxyXG4gICAgaWYgKHByb2R1Y3QucXVhbnRpdHkpIHtcclxuXHJcbiAgICAgIGNvbnN0IG9yZGVyZWRJdGVtID0gIWlzRnJvbUNhcnQgPyB0aGlzLm9iamVjdE1hcHBlcihwcm9kdWN0IGFzIFByb2R1Y3QpIDogcHJvZHVjdDtcclxuICAgICAgbGV0IHByb2R1Y3RJZHg6IG51bWJlciA9IC0xO1xyXG4gICAgICBVc2VyQ2FydC5vcmRlcmVkSXRlbXMuZm9yRWFjaCgoaXRlbTogT3JkZXJlZEl0ZW1zLCBpZHgpPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLml0ZW1JZCA9PSBwcm9kdWN0Lml0ZW1JZClcclxuICAgICAgICAgIHByb2R1Y3RJZHggPSBpZHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAocHJvZHVjdElkeCA+PSAwKSB7XHJcbiAgICAgICAgKFVzZXJDYXJ0Lm9yZGVyZWRJdGVtc1twcm9kdWN0SWR4XSBhcyBPcmRlcmVkSXRlbXMpLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBVc2VyQ2FydC5vcmRlcmVkSXRlbXMucHVzaChvcmRlcmVkSXRlbSBhcyBuZXZlcik7XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2coVXNlckNhcnQpO1xyXG5cclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KG9yZGVyZWRJdGVtIGFzIE9yZGVyZWRJdGVtcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyByZW1vdmUgaXRlbSBmcm9tIGNhcnRcclxuICAgICAgdGhpcy5yZW1vdmVJdGVtRnJvbUNhcnQocHJvZHVjdCBhcyBQcm9kdWN0KTtcclxuICAgIH1cclxuICB9XHJcbiAgcHVibGljIGFkZEl0ZW1Ub0Zhdm91cml0ZShwcm9kdWN0OiBQcm9kdWN0KSB7XHJcblxyXG4gICAgICBjb25zdCBvcmRlcmVkSXRlbSA9IHRoaXMub2JqZWN0TWFwcGVyKHByb2R1Y3QpO1xyXG5cclxuICAgICAgbGV0IHByb2R1Y3RJZHg6IG51bWJlciA9IC0xO1xyXG4gICAgICBVc2VyRmF2b3VyaXRlcy5vcmRlcmVkSXRlbXMuZm9yRWFjaCgoaXRlbTogT3JkZXJlZEl0ZW1zLCBpZHgpPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLml0ZW1JZCA9PSBwcm9kdWN0Lml0ZW1JZClcclxuICAgICAgICAgIHByb2R1Y3RJZHggPSBpZHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAocHJvZHVjdElkeCA+PSAwKSB7XHJcbiAgICAgICAgKFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtc1twcm9kdWN0SWR4XSBhcyBPcmRlcmVkSXRlbXMpLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBVc2VyRmF2b3VyaXRlcy5vcmRlcmVkSXRlbXMucHVzaChvcmRlcmVkSXRlbSBhcyBuZXZlcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvV2lzaGxpc3Qob3JkZXJlZEl0ZW0pOyBcclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW1Gcm9tRmF2b3VyaXRlKHByb2R1Y3Q6IFByb2R1Y3QpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJdGVtSWR4SlNPTihwcm9kdWN0Lml0ZW1JZCwgJ0ZBVk9VUklURScpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgY29uc3QgaXRlbSA9IFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xyXG4gICAgICAvLyBVc2VyRmF2b3VyaXRlcy5vcmRlcmVkSXRlbXMucHVzaChpdGVtIGFzIG5ldmVyKTtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVQcm9kdWN0RnJvbVdpc2hsaXN0KHByb2R1Y3QuaXRlbUlkKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW1Gcm9tQ2FydChwcm9kdWN0OiBQcm9kdWN0IHwgT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0SXRlbUlkeEpTT04ocHJvZHVjdC5pdGVtSWQsICdDQVJUJyk7XHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICBjb25zdCBpdGVtID0gVXNlckNhcnQub3JkZXJlZEl0ZW1zLnNwbGljZShpbmRleCwgMSlbMF07XHJcbiAgICAgIC8vIFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5wdXNoKGl0ZW0gYXMgbmV2ZXIpO1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZVByb2R1Y3RGcm9tQ2FydChwcm9kdWN0Lml0ZW1JZCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIHB1YmxpYyBjb252ZXJ0RmF2VG9DYXJ0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gIC8vICAgY29uc3QgaW5kZXggPSB0aGlzLmdldEl0ZW1JZHhKU09OKHByb2R1Y3QuZ2V0SXRlbUlkLCBVc2VyRmF2b3VyaXRlcyk7XHJcbiAgLy8gICBpZiAoaW5kZXggPj0gMCkge1xyXG4gIC8vICAgICBjb25zdCBpdGVtID0gVXNlckZhdm91cml0ZXMub3JkZXJlZEl0ZW1zLnNwbGljZShpbmRleCwgMSlbMF07XHJcbiAgLy8gICAgIFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5wdXNoKGl0ZW0gYXMgbmV2ZXIpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuICAvLyBwdWJsaWMgY29udmVydENhcnRUb0Zhdihwcm9kdWN0OiBPcmRlcmVkSXRlbXMpIHtcclxuICAvLyAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJdGVtSWR4SlNPTihwcm9kdWN0LmdldEl0ZW1JZCwgVXNlckNhcnQpO1xyXG4gIC8vICAgaWYgKGluZGV4ID49IDApIHtcclxuICAvLyAgICAgY29uc3QgaXRlbSA9IFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xyXG4gIC8vICAgICBVc2VyRmF2b3VyaXRlcy5vcmRlcmVkSXRlbXMucHVzaChpdGVtIGFzIG5ldmVyKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBzdG9yZUl0ZW1Ub0RCKHByb2R1Y3Q6IFByb2R1Y3QsIHR5cGU6ICdDQVJUJyB8ICdXSVNITElTVCcpIHtcclxuICAgIGlmICh0eXBlID09IFwiQ0FSVFwiKSB7XHJcbiAgICAgIGNvbnN0IG9yZGVyUHJvZHVjdDogT3JkZXJlZEl0ZW1zID0gdGhpcy5vYmplY3RNYXBwZXIodGhpcy5zdG9yYWdlU2VydmljZS5nZXRQcm9kdWN0RnJvbUNhcnQocHJvZHVjdC5pdGVtSWQpIGFzIHVua25vd24gYXMgUHJvZHVjdCk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAob3JkZXJQcm9kdWN0KSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KG9yZGVyUHJvZHVjdCk7XHJcbiAgICAgICAgVXNlckNhcnQub3JkZXJlZEl0ZW1zLnB1c2gob3JkZXJQcm9kdWN0IGFzIG5ldmVyKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgb3JkZXJQcm9kdWN0OiBPcmRlcmVkSXRlbXMgPSB0aGlzLm9iamVjdE1hcHBlcih0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFByb2R1Y3RGcm9tV2lzaGxpc3QocHJvZHVjdC5pdGVtSWQpIGFzIHVua25vd24gYXMgUHJvZHVjdCk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAob3JkZXJQcm9kdWN0KSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9XaXNobGlzdChvcmRlclByb2R1Y3QpO1xyXG4gICAgICAgIFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtcy5wdXNoKG9yZGVyUHJvZHVjdCBhcyBuZXZlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJdGVtSWR4SlNPTihpdGVtSWQ6IHN0cmluZywgdHlwZTogJ0ZBVk9VUklURScgfCAnQ0FSVCcpIHtcclxuICAgIGNvbnN0IGpzb24gPSAodHlwZSA9PSBcIkZBVk9VUklURVwiKSA/IFVzZXJGYXZvdXJpdGVzIDogVXNlckNhcnQ7XHJcbiAgICBsZXQgcHJvZHVjdEluZGV4OiBudW1iZXIgPSAtMTtcclxuICAgIGpzb24ub3JkZXJlZEl0ZW1zLmZvckVhY2goKHA6IGFueSwgaWR4OiBudW1iZXIpPT4ge1xyXG4gICAgICAgIGlmIChwLml0ZW1JZCA9PSBpdGVtSWQpXHJcbiAgICAgICAgICAgIHByb2R1Y3RJbmRleCA9IGlkeDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHByb2R1Y3RJbmRleDtcclxuICB9XHJcbiAgcHVibGljIGdldEl0ZW1CeUlkeChpdGVtSWQ6IHN0cmluZywgdHlwZTogJ0ZBVk9VUklURScgfCAnQ0FSVCcpOiBPcmRlcmVkSXRlbXMgfCBudWxsIHtcclxuICAgIGNvbnN0IHByb2R1Y3RJZHggPSB0aGlzLmdldEl0ZW1JZHhKU09OKGl0ZW1JZCwgdHlwZSk7XHJcbiAgICBjb25zb2xlLmxvZyh0eXBlLCBwcm9kdWN0SWR4KTtcclxuICAgIGNvbnN0IGpzb24gPSAodHlwZSA9PSBcIkZBVk9VUklURVwiKSA/IFVzZXJGYXZvdXJpdGVzIDogVXNlckNhcnQ7XHJcbiAgICBpZiAocHJvZHVjdElkeCA+PSAwKVxyXG4gICAgICByZXR1cm4ganNvbi5vcmRlcmVkSXRlbXNbcHJvZHVjdElkeF07XHJcbiAgICByZXR1cm4gbnVsbFxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvYmplY3RNYXBwZXIocHJvZHVjdDogUHJvZHVjdCk6IE9yZGVyZWRJdGVtcyB7XHJcbiAgICByZXR1cm4gbmV3IE9yZGVyZWRJdGVtcyhwcm9kdWN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9yZURhdGFUb1NlcnZlcigpIHtcclxuICAgIGNvbnN0IHVzZXJDYXJ0ID0gVXNlckNhcnQgYXMgbmV2ZXIgYXMgQ2FydDtcclxuICAgIGNvbnN0IHVzZXJXaXNobGlzdCA9IFVzZXJGYXZvdXJpdGVzIGFzIG5ldmVyIGFzIENhcnQ7XHJcbiAgICBpZiAodXNlckNhcnQuY2FydElkPy5sZW5ndGggPT0gMClcclxuICAgICAgZGVsZXRlIHVzZXJDYXJ0LmNhcnRJZDtcclxuICAgIGlmICh1c2VyV2lzaGxpc3QuY2FydElkPy5sZW5ndGggPT0gMClcclxuICAgICAgZGVsZXRlIHVzZXJXaXNobGlzdC5jYXJ0SWQ7XHJcblxyXG4gICAgcmV0dXJuIGZvcmtKb2luKFtcclxuICAgICAgdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQihVc2VyQ2FydCksXHJcbiAgICAgIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIoVXNlckZhdm91cml0ZXMpXHJcbiAgICBdKTtcclxuICB9XHJcbiAgcHVibGljIHN0b3JlREJUb0pTT04oKSB7XHJcbiAgICBcclxuICAgIC8vIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlckNhcnQoKS50aGVuKChyZXNwb25zZSk9PiB7XHJcbiAgICAvLyAgIFxyXG4gICAgLy8gfSlcclxuICAgIC8vIGNvbnN0IHVzZXJJZCA9IFVzZXJEZXRhaWxzLnVzZXI/LnVzZXJJZDtcclxuICAgIC8vIGlmICghdXNlcklkKVxyXG4gICAgLy8gICByZXR1cm47XHJcbiAgICAvLyB0aGlzLnJlc3RTZXJ2aWNlLmdldFVzZXJJdGVtcyh1c2VySWQsIFwiQ0FSVFwiKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgLy8gICBVc2VyQ2FydC5vcmRlcmVkSXRlbXMgPSByZXNwb25zZS5kYXRhLm9yZGVyZWRJdGVtcztcclxuICAgIC8vICAgVXNlckNhcnQuYmlsbGRldGFpbHMgPSByZXNwb25zZS5kYXRhLmJpbGxkZXRhaWxzO1xyXG4gICAgLy8gICBVc2VyQ2FydC50b3RhbEFtb3VudCA9IHJlc3BvbnNlLnRvdGFsQW1vdW50O1xyXG4gICAgLy8gfSlcclxuICAgIC8vIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlckl0ZW1zKHVzZXJJZCwgXCJXSVNITElTVFwiKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgLy8gICBVc2VyRmF2b3VyaXRlcy5vcmRlcmVkSXRlbXMgPSByZXNwb25zZS5kYXRhLm9yZGVyZWRJdGVtcztcclxuICAgIC8vICAgVXNlckZhdm91cml0ZXMuYmlsbGRldGFpbHMgPSByZXNwb25zZS5kYXRhLmJpbGxkZXRhaWxzO1xyXG4gICAgLy8gICBVc2VyRmF2b3VyaXRlcy50b3RhbEFtb3VudCA9IHJlc3BvbnNlLnRvdGFsQW1vdW50O1xyXG4gICAgLy8gfSlcclxuICB9XHJcbn0iXX0=
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7O0FBU3RFLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ21CLGNBQXFDLEVBQ3JDLFdBQXdCO1FBRHhCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUUzQyxDQUFDO0lBR00sbUJBQW1CLENBQUMsT0FBcUIsRUFBRSxRQUFhO1FBQzdELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLCtCQUErQjtZQUMvQiw4REFBOEQ7WUFDOUQsdUNBQXVDO1lBQ3ZDLHdCQUF3QjtZQUN4QixNQUFNO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUF1QixDQUFDLENBQUM7WUFDOUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUNNLHVCQUF1QixDQUFDLE9BQXFCLEVBQUUsWUFBaUI7UUFDckUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDTSwwQkFBMEIsQ0FBQyxPQUFxQixFQUFFLFlBQWlCO1FBQ3hFLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUErQixFQUFFLFNBQWtCO1FBRXRFLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXJCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBa0IsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNyRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsV0FBMkIsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBa0IsQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDSCxDQUFDO0lBQ00sa0JBQWtCLENBQUMsT0FBZ0IsRUFBRSxTQUFrQjtRQUU1RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDTSxvQkFBb0IsQ0FBQyxPQUFxQjtRQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDTSx5QkFBeUIsQ0FBQyxXQUF5QjtRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDTSx1QkFBdUIsQ0FBQyxTQUFpQjtRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDTSxrQkFBa0IsQ0FBQyxPQUErQjtRQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ00sY0FBYyxDQUFDLEVBQVUsRUFBRSxJQUEwQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUFnQixFQUFFLElBQXlCO1FBQzlELElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE1BQU0sWUFBWSxHQUFpQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBdUIsQ0FBQyxDQUFDO1lBRXRJLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxZQUFZLEdBQWlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUF1QixDQUFDLENBQUM7WUFFMUksSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN6RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDTyxZQUFZLENBQUMsT0FBZ0IsRUFBRSxTQUFrQjtRQUN2RCxPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0scUJBQXFCLENBQUMsSUFBVTtJQUV2QyxDQUFDO0lBQ00sY0FBYztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsOENBQThDO1FBQzlDLHdEQUF3RDtRQUN4RCxvQ0FBb0M7UUFDcEMsNEJBQTRCO1FBQzVCLHdDQUF3QztRQUN4QyxnQ0FBZ0M7UUFFaEMsb0JBQW9CO1FBQ3BCLDRDQUE0QztRQUM1QyxpREFBaUQ7UUFDakQsTUFBTTtJQUNSLENBQUM7OEdBckdVLFdBQVc7a0hBQVgsV0FBVyxjQUZWLE1BQU07OzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3JkZXJlZEl0ZW1zIH0gZnJvbSAnLi4vZWNvbW1lcmNlL3N0eWxlcy9PcmRlcmVkSXRlbXMubW9kYWwnO1xyXG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi4vZWNvbW1lcmNlL3N0eWxlcy9wcm9kdWN0Lm1vZGFsJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FydCB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvY2FydC5tb2RhbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FydFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYWRkSXRlbUZyb21DYXJ0UGFnZShwcm9kdWN0OiBPcmRlcmVkSXRlbXMsIHVzZXJDYXJ0OiBhbnkpIHtcclxuICAgIGlmIChwcm9kdWN0LnF1YW50aXR5KSB7XHJcbiAgICAgIC8vIGxldCBwcm9kdWN0SWR4OiBudW1iZXIgPSAtMTtcclxuICAgICAgLy8gVXNlckNhcnQub3JkZXJlZEl0ZW1zLmZvckVhY2goKGl0ZW06IE9yZGVyZWRJdGVtcywgaWR4KT0+IHtcclxuICAgICAgLy8gICBpZiAoaXRlbS5pdGVtSWQgPT0gcHJvZHVjdC5pdGVtSWQpXHJcbiAgICAgIC8vICAgICBwcm9kdWN0SWR4ID0gaWR4O1xyXG4gICAgICAvLyB9KTtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KHByb2R1Y3QgYXMgT3JkZXJlZEl0ZW1zKTtcclxuICAgICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodXNlckNhcnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gcmVtb3ZlIGl0ZW0gZnJvbSBjYXJ0XHJcbiAgICAgIHRoaXMucmVtb3ZlSXRlbUZyb21DYXJ0KHByb2R1Y3QpO1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih1c2VyQ2FydCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHB1YmxpYyBhZGRJdGVtRnJvbVdpc2hsaXN0UGFnZShwcm9kdWN0OiBPcmRlcmVkSXRlbXMsIHVzZXJXaXNobGlzdDogYW55KSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb1dpc2hsaXN0KHByb2R1Y3QpO1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodXNlcldpc2hsaXN0KTtcclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW1Gcm9tV2lzaGxpc3RQYWdlKHByb2R1Y3Q6IE9yZGVyZWRJdGVtcywgdXNlcldpc2hsaXN0OiBhbnkpIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0LnZhcmllbnRJZCk7XHJcbiAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih1c2VyV2lzaGxpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZEl0ZW1Ub0NhcnQocHJvZHVjdDogUHJvZHVjdCB8IE9yZGVyZWRJdGVtcywgdmFyaWVudElkPzogc3RyaW5nKSB7XHJcblxyXG4gICAgaWYgKHByb2R1Y3QucXVhbnRpdHkpIHtcclxuXHJcbiAgICAgIGNvbnN0IG9yZGVyZWRJdGVtID0gdGhpcy5vYmplY3RNYXBwZXIocHJvZHVjdCBhcyBQcm9kdWN0LCB2YXJpZW50SWQpO1xyXG4gICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KG9yZGVyZWRJdGVtIGFzIE9yZGVyZWRJdGVtcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZW1vdmVJdGVtRnJvbUNhcnQocHJvZHVjdCBhcyBQcm9kdWN0KTtcclxuICAgIH1cclxuICB9XHJcbiAgcHVibGljIGFkZEl0ZW1Ub0Zhdm91cml0ZShwcm9kdWN0OiBQcm9kdWN0LCB2YXJpZW50SWQ/OiBzdHJpbmcpIHtcclxuXHJcbiAgICBjb25zdCBvcmRlcmVkSXRlbSA9IHRoaXMub2JqZWN0TWFwcGVyKHByb2R1Y3QsIHZhcmllbnRJZCk7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb1dpc2hsaXN0KG9yZGVyZWRJdGVtKTsgXHJcbiAgfVxyXG4gIHB1YmxpYyBhZGRJdGVtVG9GYXZGcm9tQ2FydChwcm9kdWN0OiBPcmRlcmVkSXRlbXMpIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvV2lzaGxpc3QocHJvZHVjdCk7IFxyXG4gIH1cclxuICBwdWJsaWMgYWRkT3JkZXJlZEl0ZW1Ub0Zhdm91cml0ZShvcmRlcmVkSXRlbTogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb1dpc2hsaXN0KG9yZGVyZWRJdGVtKTsgXHJcbiAgfVxyXG4gIHB1YmxpYyByZW1vdmVJdGVtRnJvbUZhdm91cml0ZSh2YXJpZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVQcm9kdWN0RnJvbVdpc2hsaXN0KHZhcmllbnRJZCk7XHJcbiAgfVxyXG4gIHB1YmxpYyByZW1vdmVJdGVtRnJvbUNhcnQocHJvZHVjdDogUHJvZHVjdCB8IE9yZGVyZWRJdGVtcykge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZVByb2R1Y3RGcm9tQ2FydChwcm9kdWN0LnZhcmllbnRJZCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRJdGVtSWR4SlNPTihpZDogc3RyaW5nLCB0eXBlOiAnRkFWT1VSSVRFJyB8ICdDQVJUJykge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0UHJvZHVjdEZyb21DYXJ0KGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9yZUl0ZW1Ub0RCKHByb2R1Y3Q6IFByb2R1Y3QsIHR5cGU6ICdDQVJUJyB8ICdXSVNITElTVCcpIHtcclxuICAgIGlmICh0eXBlID09IFwiQ0FSVFwiKSB7XHJcbiAgICAgIGNvbnN0IG9yZGVyUHJvZHVjdDogT3JkZXJlZEl0ZW1zID0gdGhpcy5vYmplY3RNYXBwZXIodGhpcy5zdG9yYWdlU2VydmljZS5nZXRQcm9kdWN0RnJvbUNhcnQocHJvZHVjdC52YXJpZW50SWQpIGFzIHVua25vd24gYXMgUHJvZHVjdCk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAob3JkZXJQcm9kdWN0KSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KG9yZGVyUHJvZHVjdCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IG9yZGVyUHJvZHVjdDogT3JkZXJlZEl0ZW1zID0gdGhpcy5vYmplY3RNYXBwZXIodGhpcy5zdG9yYWdlU2VydmljZS5nZXRQcm9kdWN0RnJvbVdpc2hsaXN0KHByb2R1Y3QudmFyaWVudElkKSBhcyB1bmtub3duIGFzIFByb2R1Y3QpO1xyXG4gICAgICBcclxuICAgICAgaWYgKG9yZGVyUHJvZHVjdCkge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvV2lzaGxpc3Qob3JkZXJQcm9kdWN0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIG9iamVjdE1hcHBlcihwcm9kdWN0OiBQcm9kdWN0LCB2YXJpYW50SWQ/OiBzdHJpbmcpOiBPcmRlcmVkSXRlbXMge1xyXG4gICAgcmV0dXJuIG5ldyBPcmRlcmVkSXRlbXMocHJvZHVjdCwgdmFyaWFudElkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9yZUNhcnREYXRhVG9TZXJ2ZXIoY2FydDogQ2FydCkge1xyXG4gICAgXHJcbiAgfVxyXG4gIHB1YmxpYyBjbGVhckNhcnRJdGVtcygpIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXJVc2VyQ2FydCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0b3JlRGF0YVRvU2VydmVyKCkge1xyXG4gICAgLy8gY29uc3QgdXNlckNhcnQgPSBVc2VyQ2FydCBhcyBuZXZlciBhcyBDYXJ0O1xyXG4gICAgLy8gY29uc3QgdXNlcldpc2hsaXN0ID0gVXNlckZhdm91cml0ZXMgYXMgbmV2ZXIgYXMgQ2FydDtcclxuICAgIC8vIGlmICh1c2VyQ2FydC5jYXJ0SWQ/Lmxlbmd0aCA9PSAwKVxyXG4gICAgLy8gICBkZWxldGUgdXNlckNhcnQuY2FydElkO1xyXG4gICAgLy8gaWYgKHVzZXJXaXNobGlzdC5jYXJ0SWQ/Lmxlbmd0aCA9PSAwKVxyXG4gICAgLy8gICBkZWxldGUgdXNlcldpc2hsaXN0LmNhcnRJZDtcclxuXHJcbiAgICAvLyByZXR1cm4gZm9ya0pvaW4oW1xyXG4gICAgLy8gICB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKFVzZXJDYXJ0KSxcclxuICAgIC8vICAgdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQihVc2VyRmF2b3VyaXRlcylcclxuICAgIC8vIF0pO1xyXG4gIH1cclxufSJdfQ==
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { EventEmitter, Injectable } from "@angular/core";
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "./storage.service";
|
4
|
+
export class EndUserService {
|
5
|
+
constructor(storageService) {
|
6
|
+
this.storageService = storageService;
|
7
|
+
this.paymentStatusEvent = new EventEmitter();
|
8
|
+
this.eventRef = null;
|
9
|
+
}
|
10
|
+
ngOnInit() {
|
11
|
+
this.eventRef = this.paymentStatusEvent.subscribe((response) => {
|
12
|
+
if (response)
|
13
|
+
this.storageService.clearUserCart();
|
14
|
+
});
|
15
|
+
}
|
16
|
+
ngOnDestroy() {
|
17
|
+
this.eventRef?.unsubscribe();
|
18
|
+
}
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: EndUserService, deps: [{ token: i1.StorageServiceService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: EndUserService, providedIn: 'root' }); }
|
21
|
+
}
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: EndUserService, decorators: [{
|
23
|
+
type: Injectable,
|
24
|
+
args: [{
|
25
|
+
providedIn: 'root',
|
26
|
+
}]
|
27
|
+
}], ctorParameters: () => [{ type: i1.StorageServiceService }] });
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kVXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9lbmRVc2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7QUFPNUUsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFDcUIsY0FBcUM7UUFBckMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBR25ELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDaEQsYUFBUSxHQUF3QixJQUFJLENBQUM7SUFIekMsQ0FBQztJQUlMLFFBQVE7UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMzRCxJQUFJLFFBQVE7Z0JBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzhHQWZRLGNBQWM7a0hBQWQsY0FBYyxjQUZYLE1BQU07OzJGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gXCIuL3N0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW5kVXNlclNlcnZpY2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2VcclxuICAgICkgeyB9XHJcblxyXG4gICAgcHVibGljIHBheW1lbnRTdGF0dXNFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIHByaXZhdGUgZXZlbnRSZWY6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ldmVudFJlZiA9IHRoaXMucGF5bWVudFN0YXR1c0V2ZW50LnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhclVzZXJDYXJ0KCk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZXZlbnRSZWY/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn0gICJdfQ==
|
@@ -43,7 +43,10 @@ export class EventsService {
|
|
43
43
|
this.environmentType = new EventEmitter();
|
44
44
|
this.showLoadingScreen = new EventEmitter();
|
45
45
|
this.cashFreeEvent = new EventEmitter();
|
46
|
+
this.addressAddedIdx = new EventEmitter();
|
47
|
+
this.showBagIcon = new EventEmitter();
|
46
48
|
}
|
49
|
+
ngOnInit() { }
|
47
50
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: EventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
48
51
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: EventsService, providedIn: 'root' }); }
|
49
52
|
}
|
@@ -53,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
53
56
|
providedIn: 'root',
|
54
57
|
}]
|
55
58
|
}], ctorParameters: () => [] });
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQUtqRSxNQUFNLE9BQU8sYUFBYTtJQUN4QjtRQU1BLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDOUMsb0JBQW9CO1FBRXBCLCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN2RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbkQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN0RCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hELGdDQUEyQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4RCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFFN0Msc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1QywwQkFBMEI7UUFDMUIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3pDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTdDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFaEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFsRHZDLENBQUM7SUFFSixRQUFRLEtBQVUsQ0FBQzs4R0FMUixhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZlbnRzU2VydmljZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgZWRpdFNlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgZHVwbGljYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjaGFuZ2VQb3NpdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBhZGROZXdTZWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY2hhbmdlQ29udGVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICByZXN0eWxlU2VjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBwYWdlUmVkaXJlY3Rpb25CdXR0b24gPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYnV0dG9uUmVkaXJlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY29udGFjdEZvcm1EYXRhID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIC8vcmVmZXJlbmNlIHNlcnZpY2VzXHJcblxyXG4gIGJhY2tncm91bmRJbWFnZUNoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNvbG9yT3ZlcmxheUNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBhbGlnbm1lbnRDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYW5pbWF0aW9uQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHNwYWNpbmdDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYm9yZGVyQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNhcmRTaXplQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGltYWdlU3R5bGVDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY29ybmVyQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHRleHRCYWNrZ3JvdW5kQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGJ1dHRvblN0eWxlQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHBvc3Rpb25MYXlvdXRDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY29udGVudEFsaWdubWVudENoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIG9iamVjdFBvc2l0aW9uQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgbG9jYXRpb25DaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBtYXBTdHlsZUNoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHRleHRTaXplQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYmxvZ0J5SWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBvcGVuQmxvZ0xpc3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICB0b2dnbGVFZGl0b3JFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBjbG9zZUVkaXRvckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxmYWxzZT4oKTtcclxuXHJcbiAgc3RvcENhcm91c2VsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvLyBFY29tbWVyY2UgZXZlbnQgZW1pdHRlclxyXG4gIHJlZGlyZWN0VG9QYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFkZFRvQ2FydCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBwbGFjZU9yZGVyID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGZlYXR1cmVDb2xsZWN0aW9uTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBlbnZpcm9ubWVudFR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgc2hvd0xvYWRpbmdTY3JlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIGNhc2hGcmVlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYWRkcmVzc0FkZGVkSWR4ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgc2hvd0JhZ0ljb24gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbn1cclxuIl19
|
@@ -24,26 +24,26 @@ export class RestService {
|
|
24
24
|
this.environmentTypeSubscriber?.unsubscribe();
|
25
25
|
}
|
26
26
|
getFeaturedProduct(collectionId) {
|
27
|
-
let subIndustryId = localStorage.getItem("
|
27
|
+
let subIndustryId = localStorage.getItem("subIndustryId");
|
28
28
|
if (!subIndustryId)
|
29
|
-
subIndustryId = "
|
30
|
-
|
29
|
+
subIndustryId = "";
|
30
|
+
// collectionId = "1ef5b924-66ad-68f5-b931-2bd654300b1f"
|
31
|
+
return this.http.get(this.BASE_URL + `ecommerce/product/collection/id?collectionId=${collectionId || ''}&subIndustryId=${subIndustryId || ''}&isEndUser=true`).pipe(map((response) => response.data?.map((product) => new Product(product))));
|
31
32
|
}
|
32
33
|
getProductDetails(productId = null) {
|
33
34
|
const payload = {
|
34
35
|
pageNo: 0,
|
35
36
|
pageSize: 1,
|
36
|
-
itemId: productId
|
37
|
+
itemId: productId,
|
38
|
+
subIndustryId: localStorage.getItem("subIndustryId"),
|
39
|
+
request: "USER"
|
37
40
|
};
|
38
41
|
return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload).pipe(map((response) => response.data.data.map((product) => new Product(product))));
|
39
42
|
}
|
40
43
|
getAllCategories() {
|
41
|
-
const
|
42
|
-
|
43
|
-
|
44
|
-
businessId: localStorage.getItem("bId") ?? localStorage.getItem("businessId")
|
45
|
-
};
|
46
|
-
return this.http.put(this.BASE_URL + 'ecommerce/inventory/get/category', payload).pipe(map((response) => response.data.data?.map((category) => new Category(category))));
|
44
|
+
const businessId = localStorage.getItem("bId") ?? localStorage.getItem("businessId") ?? "";
|
45
|
+
const subIndustryId = localStorage.getItem("subIndustryId") ?? "";
|
46
|
+
return this.http.get(this.BASE_URL + `ecommerce/inventory/featured?businessId=${'1ef5b91d-b93b-6083-856d-cf26973b5761'}&subId=${'1eecee93-a389-61f9-b7b5-45f683df8191'}`).pipe(map((response) => response.data?.map((category) => new Category(category))));
|
47
47
|
}
|
48
48
|
getAllCollections() {
|
49
49
|
const payload = {
|
@@ -56,6 +56,7 @@ export class RestService {
|
|
56
56
|
getFilteredProduct(collectionIds, categoryIds, searchText, minPrice, maxPrice, sortBy, pageNo, size) {
|
57
57
|
const payload = {
|
58
58
|
"businessId": localStorage.getItem("bId") ?? localStorage.getItem("businessId"),
|
59
|
+
"subIndustryId": localStorage.getItem("subIndustryId"),
|
59
60
|
"collectionId": collectionIds,
|
60
61
|
"categoryId": categoryIds,
|
61
62
|
"searchText": searchText,
|
@@ -63,18 +64,47 @@ export class RestService {
|
|
63
64
|
"maxPrice": maxPrice ?? 0,
|
64
65
|
"sortBy": sortBy,
|
65
66
|
"pageNo": pageNo,
|
66
|
-
"pageSize": size
|
67
|
+
"pageSize": size,
|
68
|
+
request: "USER"
|
67
69
|
};
|
68
|
-
return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload)
|
70
|
+
return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload).pipe(map((response) => {
|
71
|
+
return {
|
72
|
+
count: response.data.count,
|
73
|
+
data: response.data.data?.map((product) => new Product(product))
|
74
|
+
};
|
75
|
+
}));
|
69
76
|
}
|
70
77
|
getProductByCategoryId(categoryId) {
|
71
78
|
const payload = {
|
72
|
-
"businessId":
|
79
|
+
"businessId": "1ef5b91d-b93b-6083-856d-cf26973b5761",
|
73
80
|
"categoryId": [categoryId],
|
81
|
+
"subIndustryId": "1eecee93-a389-61f9-b7b5-45f683df8191",
|
82
|
+
"pageNo": 0,
|
83
|
+
"pageSize": 10,
|
84
|
+
request: "USER"
|
85
|
+
};
|
86
|
+
return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload).pipe(map((response) => {
|
87
|
+
return {
|
88
|
+
count: response.count,
|
89
|
+
data: response.data.data?.map((product) => new Product(product))
|
90
|
+
};
|
91
|
+
}));
|
92
|
+
}
|
93
|
+
getProductByCollectionId(collectionId) {
|
94
|
+
const payload = {
|
95
|
+
"businessId": localStorage.getItem("bId") ?? localStorage.getItem("businessId"),
|
96
|
+
"collectionId": [collectionId],
|
97
|
+
"subIndustryId": localStorage.getItem("subIndustryId"),
|
74
98
|
"pageNo": 0,
|
75
|
-
"pageSize": 10
|
99
|
+
"pageSize": 10,
|
100
|
+
request: "USER"
|
76
101
|
};
|
77
|
-
return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload)
|
102
|
+
return this.http.put(this.BASE_URL + `ecommerce/product/item/search`, payload).pipe(map((response) => {
|
103
|
+
return {
|
104
|
+
count: response.count,
|
105
|
+
data: response.data.data?.map((product) => new Product(product))
|
106
|
+
};
|
107
|
+
}));
|
78
108
|
}
|
79
109
|
generateOTP(mobile, countryCode) {
|
80
110
|
const businessId = localStorage.getItem("bId") ?? localStorage.getItem("businessId") ?? "1ef4fe51-6dfc-6199-b966-0f9244067fd0";
|
@@ -106,8 +136,20 @@ export class RestService {
|
|
106
136
|
updateProfile(payload) {
|
107
137
|
return this.http.put(this.BASE_URL + `ecommerce/user/update/user`, payload);
|
108
138
|
}
|
139
|
+
getUserOrders(payload) {
|
140
|
+
return this.http.put(this.BASE_URL + `ecommerce/order/user/order`, payload);
|
141
|
+
}
|
109
142
|
toggleItemCartToFav() {
|
110
143
|
}
|
144
|
+
moveWishlistToCart() {
|
145
|
+
return this.http.get(this.BASE_URL + `ecommerce/update/cart`);
|
146
|
+
}
|
147
|
+
getUserWishlist(userId) {
|
148
|
+
return this.http.get(this.BASE_URL + `ecommerce/order/cart?userId=${userId}&cartType=WISHLIST`);
|
149
|
+
}
|
150
|
+
moveItemToCart(userId, payload) {
|
151
|
+
return this.http.put(this.BASE_URL + `ecommerce/order/update/cart?userId=${userId}`, payload);
|
152
|
+
}
|
111
153
|
// Payment
|
112
154
|
createPaymentToken(payload) {
|
113
155
|
return this.http.post(this.BASE_URL + `ecommerce/payment/order`, payload);
|
@@ -127,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
127
169
|
providedIn: 'root',
|
128
170
|
}]
|
129
171
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.EventsService }] });
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUF3QyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFpQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLaEYsTUFBTSxPQUFPLFdBQVc7SUFLcEIsWUFDcUIsSUFBZ0IsRUFDaEIsWUFBMkI7UUFEM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUx4QyxhQUFRLEdBQVcsMkJBQTJCLENBQUM7UUFDL0MsOEJBQXlCLEdBQXdCLElBQUksQ0FBQztRQU0zRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUU7WUFDcEYsSUFBSSxRQUFRLElBQUksS0FBSztnQkFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRywyQkFBMkIsQ0FBQztpQkFDM0MsSUFBSSxRQUFRLElBQUksT0FBTztnQkFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQzs7Z0JBRTlDLElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLHlCQUF5QjtZQUM5QixJQUFJLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLFlBQXVDO1FBQ3RELElBQUksYUFBYSxHQUFrQixZQUFZLENB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QUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxrQ0FBa0MsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELGNBQWMsQ0FBQyxJQUFTO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBQ0QsYUFBYSxDQUFDLE9BQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFDRCxtQkFBbUI7SUFFbkIsQ0FBQztJQUVELFVBQVU7SUFDVixrQkFBa0IsQ0FBQyxPQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyx5QkFBeUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsYUFBYSxDQUFDLE9BQWUsRUFBRSxPQUFZO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyx5Q0FBeUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUNELGtCQUFrQixDQUFDLE9BQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9FLENBQUM7OEdBN0hRLFdBQVc7a0hBQVgsV0FBVyxjQUZSLE1BQU07OzJGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmliZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IENhdGVnb3J5LCBFdmVudHNTZXJ2aWNlLCBQcm9kdWN0LCBDb2xsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL3B1YmxpYy1hcGlcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3RTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgICBwcml2YXRlIEJBU0VfVVJMOiBzdHJpbmcgPSBcImh0dHBzOi8vZGV2LWFwaS5zaW1wby5haS9cIjtcclxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRUeXBlU3Vic2NyaWJlcjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlXHJcbiAgICApIHsgXHJcbiAgICAgICB0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXIgPSB0aGlzLmV2ZW50U2VydmljZS5lbnZpcm9ubWVudFR5cGUuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXNwb25zZSA9PSBcIkRFVlwiKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5CQVNFX1VSTCA9IFwiaHR0cHM6Ly9kZXYtYXBpLnNpbXBvLmFpL1wiO1xyXG4gICAgICAgICAgICBlbHNlIGlmIChyZXNwb25zZSA9PSBcIlNUQUdFXCIpXHJcbiAgICAgICAgICAgICAgICB0aGlzLkJBU0VfVVJMID0gXCJodHRwczovL3N0YXRlLWFwaS5zaW1wby5haS9cIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5CQVNFX1VSTCA9IFwiaHR0cHM6Ly9hcGkuc2ltcG8uYWkvXCI7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXIpXHJcbiAgICAgICAgICAgIHRoaXMuZW52aXJvbm1lbnRUeXBlU3Vic2NyaWJlcj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRGZWF0dXJlZFByb2R1Y3QoY29sbGVjdGlvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7XHJcbiAgICAgICAgbGV0IHN1YkluZHVzdHJ5SWQ6IHN0cmluZyB8IG51bGwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInN1YmluZHVzdHJ5SWRcIik7XHJcbiAgICAgICAgaWYgKCFzdWJJbmR1c3RyeUlkKVxyXG4gICAgICAgICAgICBzdWJJbmR1c3RyeUlkID0gXCIxZWVjZWU4ZC1lZmJhLTYyZjgtYjdiNS1iOTc0MmZjZWIxN2ZcIjtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvcHJvZHVjdC9jb2xsZWN0aW9uL2lkP2NvbGxlY3Rpb25JZD0ke2NvbGxlY3Rpb25JZCB8fCAnJ30mc3ViSW5kdXN0cnlJZD0ke3N1YkluZHVzdHJ5SWQgfHwgJyd9YCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YT8ubWFwKChwcm9kdWN0OiBhbnkpPT4gbmV3IFByb2R1Y3QocHJvZHVjdCkpKSk7XHJcbiAgICB9XHJcbiAgICBnZXRQcm9kdWN0RGV0YWlscyhwcm9kdWN0SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xyXG4gICAgICAgICAgICBwYWdlTm86IDAsXHJcbiAgICAgICAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICAgICAgICBpdGVtSWQ6IHByb2R1Y3RJZFxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YS5kYXRhLm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFsbENhdGVnb3JpZXMoKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcclxuICAgICAgICAgICAgcGFnZU5vOiAwLFxyXG4gICAgICAgICAgICBwYWdlU2l6ZTogMTAsXHJcbiAgICAgICAgICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgJ2Vjb21tZXJjZS9pbnZlbnRvcnkvZ2V0L2NhdGVnb3J5JywgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4gcmVzcG9uc2UuZGF0YS5kYXRhPy5tYXAoKGNhdGVnb3J5OiBhbnkpPT4gbmV3IENhdGVnb3J5KGNhdGVnb3J5KSkpKTtcclxuICAgIH1cclxuICAgIGdldEFsbENvbGxlY3Rpb25zKCkge1xyXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcclxuICAgICAgICAgICAgcGFnZU5vOiAwLFxyXG4gICAgICAgICAgICBwYWdlU2l6ZTogMTAsXHJcbiAgICAgICAgICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgJ2Vjb21tZXJjZS9pbnZlbnRvcnkvZ2V0L2NvbGxlY3Rpb24nLCBwYXlsb2FkKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSk9PiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgoY29sbGVjdGlvbjogYW55KT0+IG5ldyBDb2xsZWN0aW9uKGNvbGxlY3Rpb24pKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpbHRlcmVkUHJvZHVjdChjb2xsZWN0aW9uSWRzOiBzdHJpbmdbXSwgY2F0ZWdvcnlJZHM6IHN0cmluZ1tdLCBzZWFyY2hUZXh0OiBzdHJpbmcsIG1pblByaWNlOiBudW1iZXIsIG1heFByaWNlOiBudW1iZXIsIHNvcnRCeTogc3RyaW5nLCBwYWdlTm86IG51bWJlciwgc2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xyXG4gICAgICAgICAgICBcImJ1c2luZXNzSWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpLFxyXG4gICAgICAgICAgICBcImNvbGxlY3Rpb25JZFwiOiBjb2xsZWN0aW9uSWRzLFxyXG4gICAgICAgICAgICBcImNhdGVnb3J5SWRcIjogY2F0ZWdvcnlJZHMsXHJcbiAgICAgICAgICAgIFwic2VhcmNoVGV4dFwiOiBzZWFyY2hUZXh0LFxyXG4gICAgICAgICAgICBcIm1pblByaWNlXCI6IG1pblByaWNlID8/IDAsXHJcbiAgICAgICAgICAgIFwibWF4UHJpY2VcIjogbWF4UHJpY2UgPz8gMCxcclxuICAgICAgICAgICAgXCJzb3J0QnlcIjogc29ydEJ5LFxyXG4gICAgICAgICAgICBcInBhZ2VOb1wiOiBwYWdlTm8sXHJcbiAgICAgICAgICAgIFwicGFnZVNpemVcIjogc2l6ZVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgICBnZXRQcm9kdWN0QnlDYXRlZ29yeUlkKGNhdGVnb3J5SWQ6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcclxuICAgICAgICAgICAgXCJidXNpbmVzc0lkXCI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSxcclxuICAgICAgICAgICAgXCJjYXRlZ29yeUlkXCI6IFtjYXRlZ29yeUlkXSxcclxuICAgICAgICAgICAgXCJwYWdlTm9cIjogMCxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOiAxMFxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2VuZXJhdGVPVFAobW9iaWxlOiBzdHJpbmcsIGNvdW50cnlDb2RlOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCIxZWY0ZmU1MS02ZGZjLTYxOTktYjk2Ni0wZjkyNDQwNjdmZDBcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9vdHAvdHJpZ2dlcj9tb2JpbGU9JHttb2JpbGV9JmNvdW50cnlDb2RlPSR7Y291bnRyeUNvZGV9JmJ1c2luZXNzSWQ9JHtidXNpbmVzc0lkfWAsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgdmVyaWZ5T1RQKG1vYmlsZTogc3RyaW5nLCBvdHA6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGJ1c2luZXNzSWQ6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSA/PyBcIjFlZjRmZTUxLTZkZmMtNjE5OS1iOTY2LTBmOTI0NDA2N2ZkMFwiO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvYXV0aGVudGljYXRlP21vYmlsZT0ke21vYmlsZX0mb3RwPSR7b3RwfSZidXNpbmVzc0lkPSR7YnVzaW5lc3NJZH1gLCBudWxsKTtcclxuICAgIH1cclxuICAgIHJlc2VuZE9UUChtb2JpbGU6IHN0cmluZywgY291bnRyeUNvZGU6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGJ1c2luZXNzSWQ6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSA/PyBcIjFlZjRmZTUxLTZkZmMtNjE5OS1iOTY2LTBmOTI0NDA2N2ZkMFwiO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91c2VyL3Jlc2VuZD9tb2JpbGU9JHttb2JpbGV9JmNvdW50cnlDb2RlPSR7Y291bnRyeUNvZGV9JmJ1c2luZXNzSWQ9JHtidXNpbmVzc0lkfWAsIG51bGwpOyBcclxuICAgIH1cclxuXHJcbiAgICBhZGRJdGVtVG9EQih1c2VyQ2FydDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL29yZGVyL2NhcnRgLCB1c2VyQ2FydCk7XHJcbiAgICB9XHJcbiAgICBnZXRVc2VySXRlbXModXNlcklkOiBzdHJpbmcsIGNhcnRUeXBlOiAnQ0FSVCcgfCAnV0lTSExJU1QnKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvY2FydD91c2VySWQ9JHt1c2VySWR9JmNhcnRUeXBlPSR7Y2FydFR5cGV9YCk7XHJcbiAgICB9XHJcbiAgICBwbGFjZU9yZGVyKGNhcnRJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL29yZGVyL29yZGVyP2NhcnRJZD0ke2NhcnRJZH1gLCBudWxsKTtcclxuICAgIH1cclxuICAgIGdldFVzZXJJbmZvKHVzZXJJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9nZXQvdXNlcj91c2VySWQ9JHt1c2VySWR9YCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgICBhZGRVc2VyQWRkcmVzcyh1c2VyOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91c2VyL3VwZGF0ZS91c2VyYCwgdXNlcik7XHJcbiAgICB9XHJcbiAgICB1cGRhdGVQcm9maWxlKHBheWxvYWQ6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvdXBkYXRlL3VzZXJgLCBwYXlsb2FkKTtcclxuICAgIH1cclxuICAgIHRvZ2dsZUl0ZW1DYXJ0VG9GYXYoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8vIFBheW1lbnRcclxuICAgIGNyZWF0ZVBheW1lbnRUb2tlbihwYXlsb2FkOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvcGF5bWVudC9vcmRlcmAsIHBheWxvYWQpO1xyXG4gICAgfVxyXG4gICAgcmVmdW5kUGF5bWVudChvcmRlcklkOiBzdHJpbmcsIHBheWxvYWQ6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wYXltZW50L3JlZnVuZC9iYW5rP29yZGVySWQ9JHtvcmRlcklkfWAsIHBheWxvYWQpO1xyXG4gICAgfVxyXG4gICAgY2hlY2tQYXltZW50U3RhdHVzKHBheWxvYWQ6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wYXltZW50L3N0YXR1c2AsIHBheWxvYWQpO1xyXG4gICAgfVxyXG59Il19
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUF3QyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFpQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLaEYsTUFBTSxPQUFPLFdBQVc7SUFLcEIsWUFDcUIsSUFBZ0IsRUFDaEIsWUFBMkI7UUFEM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUx4QyxhQUFRLEdBQVcsMkJBQTJCLENBQUM7UUFDL0MsOEJBQXlCLEdBQXdCLElBQUksQ0FBQztRQU0zRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUU7WUFDcEYsSUFBSSxRQUFRLElBQUksS0FBSztnQkFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRywyQkFBMkIsQ0FBQztpQkFDM0MsSUFBSSxRQUFRLElBQUksT0FBTztnQkFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQzs7Z0JBRTlDLElBQUksQ0FBQyxRQUFRLEdBQUcsdUJBQXVCLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLHlCQUF5QjtZQUM5QixJQUFJLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLFlBQXVDO1FBQ3RELElBQUksYUFBYSxHQUFrQixZQUFZLENB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TyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLCtCQUErQixNQUFNLG9CQUFvQixDQUFDLENBQUE7SUFDbkcsQ0FBQztJQUNELGNBQWMsQ0FBQyxNQUFjLEVBQUUsT0FBWTtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsc0NBQXNDLE1BQU0sRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxVQUFVO0lBQ1Ysa0JBQWtCLENBQUMsT0FBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcseUJBQXlCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELGFBQWEsQ0FBQyxPQUFlLEVBQUUsT0FBWTtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcseUNBQXlDLE9BQU8sRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxPQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRywwQkFBMEIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRSxDQUFDOzhHQXRLUSxXQUFXO2tIQUFYLFdBQVcsY0FGUixNQUFNOzsyRkFFVCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBDYXRlZ29yeSwgRXZlbnRzU2VydmljZSwgUHJvZHVjdCwgQ29sbGVjdGlvbiB9IGZyb20gXCIuLi8uLi9wdWJsaWMtYXBpXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXN0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHJpdmF0ZSBCQVNFX1VSTDogc3RyaW5nID0gXCJodHRwczovL2Rldi1hcGkuc2ltcG8uYWkvXCI7XHJcbiAgICBwcml2YXRlIGVudmlyb25tZW50VHlwZVN1YnNjcmliZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50U2VydmljZTogRXZlbnRzU2VydmljZVxyXG4gICAgKSB7IFxyXG4gICAgICAgdGhpcy5lbnZpcm9ubWVudFR5cGVTdWJzY3JpYmVyID0gdGhpcy5ldmVudFNlcnZpY2UuZW52aXJvbm1lbnRUeXBlLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgPT0gXCJERVZcIilcclxuICAgICAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgPSBcImh0dHBzOi8vZGV2LWFwaS5zaW1wby5haS9cIjtcclxuICAgICAgICAgICAgZWxzZSBpZiAocmVzcG9uc2UgPT0gXCJTVEFHRVwiKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5CQVNFX1VSTCA9IFwiaHR0cHM6Ly9zdGF0ZS1hcGkuc2ltcG8uYWkvXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMuQkFTRV9VUkwgPSBcImh0dHBzOi8vYXBpLnNpbXBvLmFpL1wiO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5lbnZpcm9ubWVudFR5cGVTdWJzY3JpYmVyKVxyXG4gICAgICAgICAgICB0aGlzLmVudmlyb25tZW50VHlwZVN1YnNjcmliZXI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmVhdHVyZWRQcm9kdWN0KGNvbGxlY3Rpb25JZDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xyXG4gICAgICAgIGxldCBzdWJJbmR1c3RyeUlkOiBzdHJpbmcgfCBudWxsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzdWJJbmR1c3RyeUlkXCIpO1xyXG4gICAgICAgIGlmICghc3ViSW5kdXN0cnlJZClcclxuICAgICAgICAgICAgc3ViSW5kdXN0cnlJZCA9IFwiXCI7XHJcbiAgICAgICAgLy8gY29sbGVjdGlvbklkID0gXCIxZWY1YjkyNC02NmFkLTY4ZjUtYjkzMS0yYmQ2NTQzMDBiMWZcIlxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3Byb2R1Y3QvY29sbGVjdGlvbi9pZD9jb2xsZWN0aW9uSWQ9JHtjb2xsZWN0aW9uSWQgfHwgJyd9JnN1YkluZHVzdHJ5SWQ9JHtzdWJJbmR1c3RyeUlkIHx8ICcnfSZpc0VuZFVzZXI9dHJ1ZWApLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHJlc3BvbnNlLmRhdGE/Lm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKSkpO1xyXG4gICAgfVxyXG4gICAgZ2V0UHJvZHVjdERldGFpbHMocHJvZHVjdElkOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcclxuICAgICAgICAgICAgcGFnZU5vOiAwLFxyXG4gICAgICAgICAgICBwYWdlU2l6ZTogMSxcclxuICAgICAgICAgICAgaXRlbUlkOiBwcm9kdWN0SWQsXHJcbiAgICAgICAgICAgIHN1YkluZHVzdHJ5SWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3ViSW5kdXN0cnlJZFwiKSxcclxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvcHJvZHVjdC9pdGVtL3NlYXJjaGAsIHBheWxvYWQpLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHJlc3BvbnNlLmRhdGEuZGF0YS5tYXAoKHByb2R1Y3Q6IGFueSk9PiBuZXcgUHJvZHVjdChwcm9kdWN0KSkpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBbGxDYXRlZ29yaWVzKCkge1xyXG5cclxuICAgICAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcclxuICAgICAgICBjb25zdCBzdWJJbmR1c3RyeUlkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInN1YkluZHVzdHJ5SWRcIikgPz8gXCJcIjtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9pbnZlbnRvcnkvZmVhdHVyZWQ/YnVzaW5lc3NJZD0keycxZWY1YjkxZC1iOTNiLTYwODMtODU2ZC1jZjI2OTczYjU3NjEnfSZzdWJJZD0keycxZWVjZWU5My1hMzg5LTYxZjktYjdiNS00NWY2ODNkZjgxOTEnfWApLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHJlc3BvbnNlLmRhdGE/Lm1hcCgoY2F0ZWdvcnk6IGFueSk9PiBuZXcgQ2F0ZWdvcnkoY2F0ZWdvcnkpKSkpO1xyXG4gICAgfVxyXG4gICAgZ2V0QWxsQ29sbGVjdGlvbnMoKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogYW55ID0ge1xyXG4gICAgICAgICAgICBwYWdlTm86IDAsXHJcbiAgICAgICAgICAgIHBhZ2VTaXplOiAxMCxcclxuICAgICAgICAgICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyAnZWNvbW1lcmNlL2ludmVudG9yeS9nZXQvY29sbGVjdGlvbicsIHBheWxvYWQpLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHJlc3BvbnNlLmRhdGEuZGF0YT8ubWFwKChjb2xsZWN0aW9uOiBhbnkpPT4gbmV3IENvbGxlY3Rpb24oY29sbGVjdGlvbikpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmlsdGVyZWRQcm9kdWN0KGNvbGxlY3Rpb25JZHM6IHN0cmluZ1tdLCBjYXRlZ29yeUlkczogc3RyaW5nW10sIHNlYXJjaFRleHQ6IHN0cmluZywgbWluUHJpY2U6IG51bWJlciwgbWF4UHJpY2U6IG51bWJlciwgc29ydEJ5OiBzdHJpbmcsIHBhZ2VObzogbnVtYmVyLCBzaXplOiBudW1iZXIpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XHJcbiAgICAgICAgICAgIFwiYnVzaW5lc3NJZFwiOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXHJcbiAgICAgICAgICAgIFwic3ViSW5kdXN0cnlJZFwiOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInN1YkluZHVzdHJ5SWRcIiksXHJcbiAgICAgICAgICAgIFwiY29sbGVjdGlvbklkXCI6IGNvbGxlY3Rpb25JZHMsXHJcbiAgICAgICAgICAgIFwiY2F0ZWdvcnlJZFwiOiBjYXRlZ29yeUlkcyxcclxuICAgICAgICAgICAgXCJzZWFyY2hUZXh0XCI6IHNlYXJjaFRleHQsXHJcbiAgICAgICAgICAgIFwibWluUHJpY2VcIjogbWluUHJpY2UgPz8gMCxcclxuICAgICAgICAgICAgXCJtYXhQcmljZVwiOiBtYXhQcmljZSA/PyAwLFxyXG4gICAgICAgICAgICBcInNvcnRCeVwiOiBzb3J0QnksXHJcbiAgICAgICAgICAgIFwicGFnZU5vXCI6IHBhZ2VObyxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOiBzaXplLFxyXG4gICAgICAgICAgICByZXF1ZXN0OiBcIlVTRVJcIlxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgY291bnQ6IHJlc3BvbnNlLmRhdGEuY291bnQsXHJcbiAgICAgICAgICAgICAgICBkYXRhOiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgocHJvZHVjdDogYW55KT0+IG5ldyBQcm9kdWN0KHByb2R1Y3QpKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG4gICAgZ2V0UHJvZHVjdEJ5Q2F0ZWdvcnlJZChjYXRlZ29yeUlkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XHJcbiAgICAgICAgICAgIFwiYnVzaW5lc3NJZFwiOiBcIjFlZjViOTFkLWI5M2ItNjA4My04NTZkLWNmMjY5NzNiNTc2MVwiLFxyXG4gICAgICAgICAgICBcImNhdGVnb3J5SWRcIjogW2NhdGVnb3J5SWRdLFxyXG4gICAgICAgICAgICBcInN1YkluZHVzdHJ5SWRcIjogXCIxZWVjZWU5My1hMzg5LTYxZjktYjdiNS00NWY2ODNkZjgxOTFcIixcclxuICAgICAgICAgICAgXCJwYWdlTm9cIjogMCxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOiAxMCxcclxuICAgICAgICAgICAgcmVxdWVzdDogXCJVU0VSXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvcHJvZHVjdC9pdGVtL3NlYXJjaGAsIHBheWxvYWQpLnBpcGUobWFwKChyZXNwb25zZTogYW55KT0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGNvdW50OiByZXNwb25zZS5jb3VudCxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmRhdGEuZGF0YT8ubWFwKChwcm9kdWN0OiBhbnkpPT4gbmV3IFByb2R1Y3QocHJvZHVjdCkpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICBnZXRQcm9kdWN0QnlDb2xsZWN0aW9uSWQoY29sbGVjdGlvbklkOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XHJcbiAgICAgICAgICAgIFwiYnVzaW5lc3NJZFwiOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIiksXHJcbiAgICAgICAgICAgIFwiY29sbGVjdGlvbklkXCI6IFtjb2xsZWN0aW9uSWRdLFxyXG4gICAgICAgICAgICBcInN1YkluZHVzdHJ5SWRcIjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzdWJJbmR1c3RyeUlkXCIpLFxyXG4gICAgICAgICAgICBcInBhZ2VOb1wiOiAwLFxyXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6IDEwLFxyXG4gICAgICAgICAgICByZXF1ZXN0OiBcIlVTRVJcIlxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wcm9kdWN0L2l0ZW0vc2VhcmNoYCwgcGF5bG9hZCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgY291bnQ6IHJlc3BvbnNlLmNvdW50LFxyXG4gICAgICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UuZGF0YS5kYXRhPy5tYXAoKHByb2R1Y3Q6IGFueSk9PiBuZXcgUHJvZHVjdChwcm9kdWN0KSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBnZW5lcmF0ZU9UUChtb2JpbGU6IHN0cmluZywgY291bnRyeUNvZGU6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGJ1c2luZXNzSWQ6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKSA/PyBcIjFlZjRmZTUxLTZkZmMtNjE5OS1iOTY2LTBmOTI0NDA2N2ZkMFwiO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91c2VyL290cC90cmlnZ2VyP21vYmlsZT0ke21vYmlsZX0mY291bnRyeUNvZGU9JHtjb3VudHJ5Q29kZX0mYnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9YCwgbnVsbCk7XHJcbiAgICB9XHJcbiAgICB2ZXJpZnlPVFAobW9iaWxlOiBzdHJpbmcsIG90cDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgYnVzaW5lc3NJZDogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpID8/IFwiMWVmNGZlNTEtNmRmYy02MTk5LWI5NjYtMGY5MjQ0MDY3ZmQwXCI7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci9hdXRoZW50aWNhdGU/bW9iaWxlPSR7bW9iaWxlfSZvdHA9JHtvdHB9JmJ1c2luZXNzSWQ9JHtidXNpbmVzc0lkfWAsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgcmVzZW5kT1RQKG1vYmlsZTogc3RyaW5nLCBjb3VudHJ5Q29kZTogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgYnVzaW5lc3NJZDogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpID8/IFwiMWVmNGZlNTEtNmRmYy02MTk5LWI5NjYtMGY5MjQ0MDY3ZmQwXCI7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvcmVzZW5kP21vYmlsZT0ke21vYmlsZX0mY291bnRyeUNvZGU9JHtjb3VudHJ5Q29kZX0mYnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9YCwgbnVsbCk7IFxyXG4gICAgfVxyXG5cclxuICAgIGFkZEl0ZW1Ub0RCKHVzZXJDYXJ0OiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvY2FydGAsIHVzZXJDYXJ0KTtcclxuICAgIH1cclxuICAgIGdldFVzZXJJdGVtcyh1c2VySWQ6IHN0cmluZywgY2FydFR5cGU6ICdDQVJUJyB8ICdXSVNITElTVCcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci9jYXJ0P3VzZXJJZD0ke3VzZXJJZH0mY2FydFR5cGU9JHtjYXJ0VHlwZX1gKTtcclxuICAgIH1cclxuICAgIHBsYWNlT3JkZXIoY2FydElkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvb3JkZXI/Y2FydElkPSR7Y2FydElkfWAsIG51bGwpO1xyXG4gICAgfVxyXG4gICAgZ2V0VXNlckluZm8odXNlcklkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91c2VyL2dldC91c2VyP3VzZXJJZD0ke3VzZXJJZH1gLCBudWxsKTtcclxuICAgIH1cclxuICAgIGFkZFVzZXJBZGRyZXNzKHVzZXI6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3VzZXIvdXBkYXRlL3VzZXJgLCB1c2VyKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZVByb2ZpbGUocGF5bG9hZDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvdXNlci91cGRhdGUvdXNlcmAsIHBheWxvYWQpO1xyXG4gICAgfVxyXG4gICAgZ2V0VXNlck9yZGVycyhwYXlsb2FkOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci91c2VyL29yZGVyYCwgcGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgICB0b2dnbGVJdGVtQ2FydFRvRmF2KCkge1xyXG5cclxuICAgIH1cclxuICAgIG1vdmVXaXNobGlzdFRvQ2FydCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS91cGRhdGUvY2FydGApO1xyXG4gICAgfVxyXG4gICAgZ2V0VXNlcldpc2hsaXN0KHVzZXJJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2Uvb3JkZXIvY2FydD91c2VySWQ9JHt1c2VySWR9JmNhcnRUeXBlPVdJU0hMSVNUYClcclxuICAgIH1cclxuICAgIG1vdmVJdGVtVG9DYXJ0KHVzZXJJZDogc3RyaW5nLCBwYXlsb2FkOiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9vcmRlci91cGRhdGUvY2FydD91c2VySWQ9JHt1c2VySWR9YCwgcGF5bG9hZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUGF5bWVudFxyXG4gICAgY3JlYXRlUGF5bWVudFRva2VuKHBheWxvYWQ6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9wYXltZW50L29yZGVyYCwgcGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgICByZWZ1bmRQYXltZW50KG9yZGVySWQ6IHN0cmluZywgcGF5bG9hZDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3BheW1lbnQvcmVmdW5kL2Jhbms/b3JkZXJJZD0ke29yZGVySWR9YCwgcGF5bG9hZCk7XHJcbiAgICB9XHJcbiAgICBjaGVja1BheW1lbnRTdGF0dXMocGF5bG9hZDogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuQkFTRV9VUkwgKyBgZWNvbW1lcmNlL3BheW1lbnQvc3RhdHVzYCwgcGF5bG9hZCk7XHJcbiAgICB9XHJcbn0iXX0=
|