@infrab4a/connect-angular 5.5.0-alpha.3 → 5.5.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular-connect.module.d.ts +36 -33
- package/angular-elastic-search.module.d.ts +9 -9
- package/angular-firebase-auth.module.d.ts +11 -10
- package/angular-firestore.module.d.ts +17 -16
- 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/esm2020/angular-connect.module.mjs +291 -0
- package/esm2020/angular-elastic-search.module.mjs +34 -0
- package/esm2020/angular-firebase-auth.module.mjs +141 -0
- package/esm2020/angular-firestore.module.mjs +541 -0
- package/esm2020/angular-hasura-graphql.module.mjs +355 -0
- package/esm2020/angular-vertex-search.module.mjs +34 -0
- package/{esm2022 → esm2020}/consts/backend-url.const.mjs +2 -2
- package/{esm2022 → esm2020}/consts/category-structure.mjs +2 -2
- package/{esm2022 → esm2020}/consts/default-shop.const.mjs +2 -2
- package/{esm2022 → esm2020}/consts/es-config.const.mjs +2 -2
- package/{esm2022 → esm2020}/consts/firebase-const.mjs +5 -5
- package/{esm2022 → esm2020}/consts/hasura-options.const.mjs +2 -2
- package/{esm2022 → esm2020}/consts/index.mjs +9 -9
- package/{esm2022 → esm2020}/consts/persistence.const.mjs +2 -2
- package/{esm2022 → esm2020}/consts/storage-base-url.const.mjs +2 -2
- package/{esm2022 → esm2020}/consts/vertex-config.const.mjs +2 -2
- package/{esm2022 → esm2020}/helpers/index.mjs +2 -2
- package/{esm2022 → esm2020}/helpers/mobile-operation-system-checker.helper.mjs +7 -7
- package/{esm2022 → esm2020}/index.mjs +7 -7
- package/{esm2022 → esm2020}/infrab4a-connect-angular.mjs +4 -4
- package/esm2020/interfaces/catalog-strategies.interface.mjs +2 -0
- package/{esm2022 → esm2020}/interfaces/category-facades.interface.mjs +2 -2
- package/{esm2022 → esm2020}/interfaces/index.mjs +3 -3
- package/{esm2022 → esm2020}/persistence/cookie-data-persistence.mjs +22 -22
- package/{esm2022 → esm2020}/persistence/data-persistence.mjs +2 -2
- package/{esm2022 → esm2020}/persistence/index.mjs +3 -3
- package/{esm2022 → esm2020}/services/auth.service.mjs +37 -37
- package/{esm2022 → esm2020}/services/cart/cart-services.facade.mjs +21 -21
- package/{esm2022 → esm2020}/services/cart/index.mjs +2 -2
- package/{esm2022 → esm2020}/services/cart.service.mjs +73 -73
- package/{esm2022 → esm2020}/services/catalog/adapters/category-structure.adapter.mjs +2 -2
- package/{esm2022 → esm2020}/services/catalog/adapters/index.mjs +4 -4
- package/{esm2022 → esm2020}/services/catalog/adapters/new-category-structure.adapter.mjs +43 -43
- package/{esm2022 → esm2020}/services/catalog/adapters/old-category-structure.adapter.mjs +23 -23
- package/esm2020/services/catalog/catalog.service.mjs +111 -0
- package/{esm2022 → esm2020}/services/catalog/category.service.mjs +42 -42
- package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -0
- package/{esm2022 → esm2020}/services/catalog/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/services/catalog/enums/product-sorts.enum.mjs +11 -11
- package/{esm2022 → esm2020}/services/catalog/facades/catalog-service.facade.mjs +32 -32
- package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
- package/esm2020/services/catalog/facades/category-repository.facade.mjs +20 -0
- package/{esm2022 → esm2020}/services/catalog/facades/category-service.facade.mjs +30 -30
- package/{esm2022 → esm2020}/services/catalog/facades/index.mjs +6 -6
- package/esm2020/services/catalog/facades/product-catalog.facade.mjs +21 -0
- package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +57 -0
- package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
- package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
- package/{esm2022 → esm2020}/services/catalog/helpers/index.mjs +5 -5
- package/{esm2022 → esm2020}/services/catalog/helpers/product-fields.helper.mjs +40 -40
- package/{esm2022 → esm2020}/services/catalog/index.mjs +8 -8
- package/{esm2022 → esm2020}/services/catalog/models/category-with-tree.model.mjs +10 -10
- package/{esm2022 → esm2020}/services/catalog/models/index.mjs +2 -2
- package/esm2020/services/catalog/services/catalog-helpers.service.mjs +33 -0
- package/{esm2022 → esm2020}/services/catalog/services/catalog-operations.facade.mjs +26 -26
- package/esm2020/services/catalog/services/catalog-repository.service.mjs +25 -0
- package/{esm2022 → esm2020}/services/catalog/services/index.mjs +5 -5
- package/esm2020/services/catalog/services/product-management.facade.mjs +25 -0
- package/esm2020/services/catalog/strategies/category-search.strategy.mjs +133 -0
- package/{esm2022 → esm2020}/services/catalog/strategies/index.mjs +4 -4
- package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +42 -0
- package/esm2020/services/catalog/strategies/term-search.strategy.mjs +123 -0
- package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
- package/{esm2022 → esm2020}/services/catalog/types/fetch-products-options.type.mjs +2 -2
- package/esm2020/services/catalog/types/fetch-products-params.type.mjs +2 -0
- package/{esm2022 → esm2020}/services/catalog/types/fetch-products-response.type.mjs +2 -2
- package/{esm2022 → esm2020}/services/catalog/types/index.mjs +6 -6
- package/esm2020/services/catalog/types/method-params.type.mjs +2 -0
- package/{esm2022 → esm2020}/services/catalog/types/product-sort.type.mjs +2 -2
- package/esm2020/services/catalog/wishlist.service.mjs +254 -0
- package/esm2020/services/checkout/checkout-dependencies.facade.mjs +20 -0
- package/esm2020/services/checkout/checkout-repositories.facade.mjs +20 -0
- package/{esm2022 → esm2020}/services/checkout/index.mjs +3 -3
- package/{esm2022 → esm2020}/services/checkout-subscription.service.mjs +55 -55
- package/{esm2022 → esm2020}/services/checkout.service.mjs +106 -106
- package/{esm2022 → esm2020}/services/coupon/coupon-repositories.facade.mjs +24 -24
- package/{esm2022 → esm2020}/services/coupon/index.mjs +2 -2
- package/esm2020/services/coupon/types/coupon-params.type.mjs +2 -0
- package/esm2020/services/coupon.service.mjs +248 -0
- package/{esm2022 → esm2020}/services/helpers/index.mjs +2 -2
- package/{esm2022 → esm2020}/services/helpers/util.helper.mjs +18 -18
- package/{esm2022 → esm2020}/services/home-shop/home-shop-repositories.facade.mjs +24 -24
- package/{esm2022 → esm2020}/services/home-shop/index.mjs +2 -2
- package/{esm2022 → esm2020}/services/home-shop.service.mjs +119 -119
- package/{esm2022 → esm2020}/services/index.mjs +11 -11
- package/esm2020/services/order-product-review.service.mjs +110 -0
- package/{esm2022 → esm2020}/services/order.service.mjs +30 -30
- package/{esm2022 → esm2020}/services/shared/configuration.facade.mjs +29 -29
- package/{esm2022 → esm2020}/services/shared/index.mjs +2 -2
- package/{esm2022 → esm2020}/services/types/index.mjs +5 -5
- package/{esm2022 → esm2020}/services/types/pending-product-review.type.mjs +2 -2
- package/{esm2022 → esm2020}/services/types/product-review-create.type.mjs +2 -2
- package/{esm2022 → esm2020}/services/types/required-checkout-data.type.mjs +2 -2
- package/{esm2022 → esm2020}/services/types/required-checkout-subscription-data.type.mjs +2 -2
- package/{esm2022 → esm2020}/types/firebase-app-config.type.mjs +2 -2
- package/{esm2022 → esm2020}/types/index.mjs +2 -2
- package/fesm2015/infrab4a-connect-angular.mjs +3513 -0
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/infrab4a-connect-angular.mjs +3311 -3284
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -0
- 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 +15 -9
- 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 +58 -58
- 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 +59 -59
- 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 +10 -10
- package/services/order-product-review.service.d.ts +16 -16
- 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/esm2022/angular-connect.module.mjs +0 -288
- package/esm2022/angular-elastic-search.module.mjs +0 -34
- package/esm2022/angular-firebase-auth.module.mjs +0 -140
- package/esm2022/angular-firestore.module.mjs +0 -538
- package/esm2022/angular-hasura-graphql.module.mjs +0 -333
- package/esm2022/angular-vertex-search.module.mjs +0 -34
- package/esm2022/interfaces/catalog-strategies.interface.mjs +0 -2
- package/esm2022/services/catalog/catalog.service.mjs +0 -111
- package/esm2022/services/catalog/context/catalog-search.context.mjs +0 -40
- package/esm2022/services/catalog/facades/catalog-strategies.facade.mjs +0 -17
- package/esm2022/services/catalog/facades/category-repository.facade.mjs +0 -20
- package/esm2022/services/catalog/facades/product-catalog.facade.mjs +0 -21
- package/esm2022/services/catalog/helpers/brand-manager.helper.mjs +0 -57
- package/esm2022/services/catalog/helpers/catalog-filter.helper.mjs +0 -44
- package/esm2022/services/catalog/helpers/catalog-sort.helper.mjs +0 -52
- package/esm2022/services/catalog/services/catalog-helpers.service.mjs +0 -33
- package/esm2022/services/catalog/services/catalog-repository.service.mjs +0 -25
- package/esm2022/services/catalog/services/product-management.facade.mjs +0 -25
- package/esm2022/services/catalog/strategies/category-search.strategy.mjs +0 -133
- package/esm2022/services/catalog/strategies/profile-search.strategy.mjs +0 -42
- package/esm2022/services/catalog/strategies/term-search.strategy.mjs +0 -123
- package/esm2022/services/catalog/strategies/types/strategy-params.type.mjs +0 -2
- package/esm2022/services/catalog/types/fetch-products-params.type.mjs +0 -2
- package/esm2022/services/catalog/types/method-params.type.mjs +0 -2
- package/esm2022/services/catalog/wishlist.service.mjs +0 -254
- package/esm2022/services/checkout/checkout-dependencies.facade.mjs +0 -20
- package/esm2022/services/checkout/checkout-repositories.facade.mjs +0 -20
- package/esm2022/services/coupon/types/coupon-params.type.mjs +0 -2
- package/esm2022/services/coupon.service.mjs +0 -248
- package/esm2022/services/order-product-review.service.mjs +0 -110
- package/fesm2022/infrab4a-connect-angular.mjs.map +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { OrderFirestoreRepository, ProductReview, ProductReviewRepository, VariantRepository } from '@infrab4a/connect';
|
|
2
|
-
import { PendingProductReview, ProductReviewCreate } from './types';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class OrderProductReviewService {
|
|
5
|
-
private readonly orderRepository;
|
|
6
|
-
private readonly productReviewRepository;
|
|
7
|
-
private readonly variantRepository;
|
|
8
|
-
constructor(orderRepository: OrderFirestoreRepository, productReviewRepository: ProductReviewRepository, variantRepository: VariantRepository);
|
|
9
|
-
getPendingReviewsByEmail(email: string): Promise<PendingProductReview[]>;
|
|
10
|
-
private getOrdersByEmail;
|
|
11
|
-
private getProductReview;
|
|
12
|
-
private buildProductReview;
|
|
13
|
-
createReview(review: ProductReviewCreate): Promise<ProductReview>;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<OrderProductReviewService, never>;
|
|
15
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<OrderProductReviewService>;
|
|
16
|
-
}
|
|
1
|
+
import { OrderFirestoreRepository, ProductReview, ProductReviewRepository, VariantRepository } from '@infrab4a/connect';
|
|
2
|
+
import { PendingProductReview, ProductReviewCreate } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class OrderProductReviewService {
|
|
5
|
+
private readonly orderRepository;
|
|
6
|
+
private readonly productReviewRepository;
|
|
7
|
+
private readonly variantRepository;
|
|
8
|
+
constructor(orderRepository: OrderFirestoreRepository, productReviewRepository: ProductReviewRepository, variantRepository: VariantRepository);
|
|
9
|
+
getPendingReviewsByEmail(email: string): Promise<PendingProductReview[]>;
|
|
10
|
+
private getOrdersByEmail;
|
|
11
|
+
private getProductReview;
|
|
12
|
+
private buildProductReview;
|
|
13
|
+
createReview(review: ProductReviewCreate): Promise<ProductReview>;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OrderProductReviewService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OrderProductReviewService>;
|
|
16
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Firestore } from '@angular/fire/firestore';
|
|
2
|
-
import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class OrderService {
|
|
6
|
-
private readonly angularFirestore;
|
|
7
|
-
private readonly orderRepository;
|
|
8
|
-
orderSubject: Subject<Order>;
|
|
9
|
-
constructor(angularFirestore: Firestore, orderRepository: OrderFirestoreRepository);
|
|
10
|
-
getOrder(id: string): Subject<Order>;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<OrderService, never>;
|
|
12
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<OrderService>;
|
|
13
|
-
}
|
|
1
|
+
import { Firestore } from '@angular/fire/firestore';
|
|
2
|
+
import { Order, OrderFirestoreRepository } from '@infrab4a/connect';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class OrderService {
|
|
6
|
+
private readonly angularFirestore;
|
|
7
|
+
private readonly orderRepository;
|
|
8
|
+
orderSubject: Subject<Order>;
|
|
9
|
+
constructor(angularFirestore: Firestore, orderRepository: OrderFirestoreRepository);
|
|
10
|
+
getOrder(id: string): Subject<Order>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OrderService, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OrderService>;
|
|
13
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { FirebaseOptions } from '@angular/fire/app';
|
|
2
|
-
import { Shops } from '@infrab4a/connect';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class ConfigurationFacade {
|
|
5
|
-
readonly defaultShop: Shops;
|
|
6
|
-
readonly firebaseOptions: FirebaseOptions;
|
|
7
|
-
constructor(defaultShop: Shops, firebaseOptions: FirebaseOptions);
|
|
8
|
-
getCheckoutUrl(): string;
|
|
9
|
-
getProjectId(): string;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationFacade, never>;
|
|
11
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationFacade>;
|
|
12
|
-
}
|
|
1
|
+
import { FirebaseOptions } from '@angular/fire/app';
|
|
2
|
+
import { Shops } from '@infrab4a/connect';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ConfigurationFacade {
|
|
5
|
+
readonly defaultShop: Shops;
|
|
6
|
+
readonly firebaseOptions: FirebaseOptions;
|
|
7
|
+
constructor(defaultShop: Shops, firebaseOptions: FirebaseOptions);
|
|
8
|
+
getCheckoutUrl(): string;
|
|
9
|
+
getProjectId(): string;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationFacade, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationFacade>;
|
|
12
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ConfigurationFacade } from './configuration.facade';
|
|
1
|
+
export { ConfigurationFacade } from './configuration.facade';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './pending-product-review.type';
|
|
2
|
-
export * from './product-review-create.type';
|
|
3
|
-
export * from './required-checkout-data.type';
|
|
4
|
-
export * from './required-checkout-subscription-data.type';
|
|
1
|
+
export * from './pending-product-review.type';
|
|
2
|
+
export * from './product-review-create.type';
|
|
3
|
+
export * from './required-checkout-data.type';
|
|
4
|
+
export * from './required-checkout-subscription-data.type';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export type PendingProductReview = {
|
|
2
|
-
id: string;
|
|
3
|
-
isEdition: boolean;
|
|
4
|
-
orderId: string;
|
|
5
|
-
orderNumber: string;
|
|
6
|
-
name: string;
|
|
7
|
-
image: string;
|
|
8
|
-
deliveryDate: string;
|
|
9
|
-
evaluationInAnalysis: boolean;
|
|
10
|
-
rating?: number;
|
|
11
|
-
shopProductSlug: string;
|
|
12
|
-
};
|
|
1
|
+
export type PendingProductReview = {
|
|
2
|
+
id: string;
|
|
3
|
+
isEdition: boolean;
|
|
4
|
+
orderId: string;
|
|
5
|
+
orderNumber: string;
|
|
6
|
+
name: string;
|
|
7
|
+
image: string;
|
|
8
|
+
deliveryDate: string;
|
|
9
|
+
evaluationInAnalysis: boolean;
|
|
10
|
+
rating?: number;
|
|
11
|
+
shopProductSlug: string;
|
|
12
|
+
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Shops } from '@infrab4a/connect/src';
|
|
2
|
-
export type ProductReviewCreate = {
|
|
3
|
-
productId: string;
|
|
4
|
-
shop: Shops;
|
|
5
|
-
rate: number;
|
|
6
|
-
author: string;
|
|
7
|
-
email: string;
|
|
8
|
-
location: string;
|
|
9
|
-
comment: string;
|
|
10
|
-
title: string;
|
|
11
|
-
personId: number;
|
|
12
|
-
points: number;
|
|
13
|
-
orderId: string;
|
|
14
|
-
};
|
|
1
|
+
import { Shops } from '@infrab4a/connect/src';
|
|
2
|
+
export type ProductReviewCreate = {
|
|
3
|
+
productId: string;
|
|
4
|
+
shop: Shops;
|
|
5
|
+
rate: number;
|
|
6
|
+
author: string;
|
|
7
|
+
email: string;
|
|
8
|
+
location: string;
|
|
9
|
+
comment: string;
|
|
10
|
+
title: string;
|
|
11
|
+
personId: number;
|
|
12
|
+
points: number;
|
|
13
|
+
orderId: string;
|
|
14
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Checkout } from '@infrab4a/connect';
|
|
2
|
-
export type RequiredCheckoutData = Partial<Pick<Checkout, 'id' | 'user' | 'shop' | 'lineItems'>>;
|
|
1
|
+
import { Checkout } from '@infrab4a/connect';
|
|
2
|
+
export type RequiredCheckoutData = Partial<Pick<Checkout, 'id' | 'user' | 'shop' | 'lineItems'>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CheckoutSubscription } from '@infrab4a/connect';
|
|
2
|
-
export type RequiredCheckoutSubscriptionData = Partial<Pick<CheckoutSubscription, 'id'>>;
|
|
1
|
+
import { CheckoutSubscription } from '@infrab4a/connect';
|
|
2
|
+
export type RequiredCheckoutSubscriptionData = Partial<Pick<CheckoutSubscription, 'id'>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type FirebaseAppConfig = Record<string, any>;
|
|
1
|
+
export type FirebaseAppConfig = Record<string, any>;
|
package/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './firebase-app-config.type';
|
|
1
|
+
export * from './firebase-app-config.type';
|
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
|
|
3
|
-
import { initializeAppCheck, provideAppCheck } from '@angular/fire/app-check';
|
|
4
|
-
import { getStorage, provideStorage, Storage } from '@angular/fire/storage';
|
|
5
|
-
import { FirebaseFileUploaderService, isNil, ProductsVertexSearch, UpdateUserImage, } from '@infrab4a/connect';
|
|
6
|
-
import { AngularElasticSeachModule } from './angular-elastic-search.module';
|
|
7
|
-
import { AngularFirebaseAuthModule } from './angular-firebase-auth.module';
|
|
8
|
-
import { AngularFirestoreModule } from './angular-firestore.module';
|
|
9
|
-
import { AngularHasuraGraphQLModule } from './angular-hasura-graphql.module';
|
|
10
|
-
import { AngularVertexSeachModule } from './angular-vertex-search.module';
|
|
11
|
-
import { APP_CHECK_PROVIDER, BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS, HASURA_OPTIONS, PERSISTENCE_PROVIDER, VERTEX_CONFIG, } from './consts';
|
|
12
|
-
import { STORAGE_BASE_URL } from './consts/storage-base-url.const';
|
|
13
|
-
import { CookieDataPersistence } from './persistence';
|
|
14
|
-
import { AuthService, CartService, CatalogService, CategoryService, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, OrderProductReviewService, OrderService, WishlistService, } from './services';
|
|
15
|
-
import { CartServicesFacade } from './services/cart';
|
|
16
|
-
import { NewCategoryStructureAdapter, OldCategoryStructureAdapter } from './services/catalog/adapters';
|
|
17
|
-
import { CatalogSearchContext } from './services/catalog/context/catalog-search.context';
|
|
18
|
-
import { CatalogServiceFacade, CatalogStrategiesFacade, CategoryRepositoryFacade, CategoryServiceFacade, ProductCatalogFacade, } from './services/catalog/facades';
|
|
19
|
-
import { BrandManagerHelper, CatalogFilterHelper, CatalogSortHelper, ProductFieldsHelper, } from './services/catalog/helpers';
|
|
20
|
-
import { CatalogHelpersService, CatalogOperationsFacade, CatalogRepositoryService, ProductManagementFacade, } from './services/catalog/services';
|
|
21
|
-
import { CategorySearchStrategy, ProfileSearchStrategy, TermSearchStrategy } from './services/catalog/strategies';
|
|
22
|
-
import { CheckoutDependenciesFacade, CheckoutRepositoriesFacade } from './services/checkout';
|
|
23
|
-
import { CouponRepositoriesFacade } from './services/coupon';
|
|
24
|
-
import { HomeShopRepositoriesFacade } from './services/home-shop';
|
|
25
|
-
import { ConfigurationFacade } from './services/shared';
|
|
26
|
-
import * as i0 from "@angular/core";
|
|
27
|
-
export class AngularConnectModule {
|
|
28
|
-
static initializeApp(defaultShop, options, nameOrConfig) {
|
|
29
|
-
return {
|
|
30
|
-
ngModule: AngularConnectModule,
|
|
31
|
-
providers: [
|
|
32
|
-
...this.buildCoreProviders(nameOrConfig, options),
|
|
33
|
-
...this.buildConditionalProviders(defaultShop, options),
|
|
34
|
-
],
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
static buildCoreProviders(nameOrConfig, options) {
|
|
38
|
-
return [
|
|
39
|
-
{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
|
|
40
|
-
{ provide: APP_CHECK_PROVIDER, useValue: options.appCheckProvider },
|
|
41
|
-
{
|
|
42
|
-
provide: CATEGORY_STRUCTURE,
|
|
43
|
-
useClass: this.selectCategoryStructureAdapter(options.oldCategoryStructure),
|
|
44
|
-
},
|
|
45
|
-
{ provide: PERSISTENCE_PROVIDER, useClass: options?.persistenceProvider || CookieDataPersistence },
|
|
46
|
-
];
|
|
47
|
-
}
|
|
48
|
-
static buildConditionalProviders(defaultShop, options) {
|
|
49
|
-
return [
|
|
50
|
-
...this.createProviderIfExists(DEFAULT_SHOP, defaultShop),
|
|
51
|
-
...this.createProviderIfExists(FIREBASE_OPTIONS, options.firebase),
|
|
52
|
-
...this.createProviderIfExists(ES_CONFIG, options.elasticSearch),
|
|
53
|
-
...this.createProviderIfExists(VERTEX_CONFIG, options.vertexConfig),
|
|
54
|
-
...this.createProviderIfExists(HASURA_OPTIONS, options.hasura),
|
|
55
|
-
...this.createProviderIfExists(BACKEND_URL, options.backendUrl),
|
|
56
|
-
...this.createProviderIfExists(STORAGE_BASE_URL, options.storageBaseUrl),
|
|
57
|
-
];
|
|
58
|
-
}
|
|
59
|
-
static selectCategoryStructureAdapter(oldCategoryStructure) {
|
|
60
|
-
return isNil(oldCategoryStructure) || oldCategoryStructure
|
|
61
|
-
? OldCategoryStructureAdapter
|
|
62
|
-
: NewCategoryStructureAdapter;
|
|
63
|
-
}
|
|
64
|
-
static createProviderIfExists(token, value) {
|
|
65
|
-
return isNil(value) ? [] : [{ provide: token, useValue: value }];
|
|
66
|
-
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
68
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AngularConnectModule, imports: [AngularElasticSeachModule,
|
|
69
|
-
AngularVertexSeachModule,
|
|
70
|
-
AngularFirebaseAuthModule,
|
|
71
|
-
AngularFirestoreModule,
|
|
72
|
-
AngularHasuraGraphQLModule] }); }
|
|
73
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AngularConnectModule, providers: [
|
|
74
|
-
provideFirebaseApp((injector) => {
|
|
75
|
-
const appName = injector.get(FIREBASE_APP_NAME);
|
|
76
|
-
try {
|
|
77
|
-
const app = appName ? getApp(appName) : getApp();
|
|
78
|
-
return app;
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
console.warn('Firebase app not found, initializing new app');
|
|
82
|
-
if (error instanceof Error)
|
|
83
|
-
console.error(error.message);
|
|
84
|
-
return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
|
|
85
|
-
}
|
|
86
|
-
}),
|
|
87
|
-
provideAppCheck((injector) => {
|
|
88
|
-
const app = injector.get(FirebaseApp);
|
|
89
|
-
try {
|
|
90
|
-
const provider = injector.get(APP_CHECK_PROVIDER);
|
|
91
|
-
if (provider)
|
|
92
|
-
return initializeAppCheck(app, {
|
|
93
|
-
provider,
|
|
94
|
-
isTokenAutoRefreshEnabled: true,
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
if (error instanceof Error)
|
|
99
|
-
console.error(error.message);
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
}),
|
|
103
|
-
provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
|
|
104
|
-
AuthService,
|
|
105
|
-
CartService,
|
|
106
|
-
CatalogService,
|
|
107
|
-
CategoryService,
|
|
108
|
-
CheckoutService,
|
|
109
|
-
CheckoutSubscriptionService,
|
|
110
|
-
CouponService,
|
|
111
|
-
HomeShopService,
|
|
112
|
-
OrderService,
|
|
113
|
-
WishlistService,
|
|
114
|
-
ConfigurationFacade,
|
|
115
|
-
CartServicesFacade,
|
|
116
|
-
CheckoutRepositoriesFacade,
|
|
117
|
-
CheckoutDependenciesFacade,
|
|
118
|
-
CategoryRepositoryFacade,
|
|
119
|
-
ProductCatalogFacade,
|
|
120
|
-
CatalogServiceFacade,
|
|
121
|
-
CategoryServiceFacade,
|
|
122
|
-
CatalogStrategiesFacade,
|
|
123
|
-
CatalogOperationsFacade,
|
|
124
|
-
ProductManagementFacade,
|
|
125
|
-
{
|
|
126
|
-
provide: 'ProductServicesFacade',
|
|
127
|
-
useFactory: (productStockNotificationRepository, categoryRepository, productSearch) => ({
|
|
128
|
-
productStockNotificationRepository,
|
|
129
|
-
categoryRepository,
|
|
130
|
-
productSearch,
|
|
131
|
-
}),
|
|
132
|
-
deps: ['ProductStockNotificationRepository', 'CategoryRepository', 'ProductSearch'],
|
|
133
|
-
},
|
|
134
|
-
CatalogFilterHelper,
|
|
135
|
-
CatalogSortHelper,
|
|
136
|
-
ProductFieldsHelper,
|
|
137
|
-
BrandManagerHelper,
|
|
138
|
-
CatalogRepositoryService,
|
|
139
|
-
CatalogHelpersService,
|
|
140
|
-
CategorySearchStrategy,
|
|
141
|
-
TermSearchStrategy,
|
|
142
|
-
ProfileSearchStrategy,
|
|
143
|
-
{
|
|
144
|
-
provide: CatalogSearchContext,
|
|
145
|
-
useFactory: (categoryStrategy, termStrategy, profileStrategy) => {
|
|
146
|
-
return new CatalogSearchContext(categoryStrategy, termStrategy, profileStrategy);
|
|
147
|
-
},
|
|
148
|
-
deps: [CategorySearchStrategy, TermSearchStrategy, ProfileSearchStrategy],
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
provide: UpdateUserImage,
|
|
152
|
-
useFactory: (userRepository, fileUploader) => {
|
|
153
|
-
return new UpdateUserImage(userRepository, fileUploader);
|
|
154
|
-
},
|
|
155
|
-
deps: ['UserRepository', 'FileUploaderService'],
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
provide: 'FileUploaderService',
|
|
159
|
-
useFactory: (storage, baseUrl) => {
|
|
160
|
-
return new FirebaseFileUploaderService(storage, baseUrl);
|
|
161
|
-
},
|
|
162
|
-
deps: [Storage, STORAGE_BASE_URL],
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
provide: 'ProductSearch',
|
|
166
|
-
useExisting: ProductsVertexSearch,
|
|
167
|
-
},
|
|
168
|
-
CouponRepositoriesFacade,
|
|
169
|
-
HomeShopRepositoriesFacade,
|
|
170
|
-
OrderProductReviewService,
|
|
171
|
-
], imports: [AngularElasticSeachModule,
|
|
172
|
-
AngularVertexSeachModule,
|
|
173
|
-
AngularFirebaseAuthModule,
|
|
174
|
-
AngularFirestoreModule,
|
|
175
|
-
AngularHasuraGraphQLModule] }); }
|
|
176
|
-
}
|
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AngularConnectModule, decorators: [{
|
|
178
|
-
type: NgModule,
|
|
179
|
-
args: [{
|
|
180
|
-
imports: [
|
|
181
|
-
AngularElasticSeachModule,
|
|
182
|
-
AngularVertexSeachModule,
|
|
183
|
-
AngularFirebaseAuthModule,
|
|
184
|
-
AngularFirestoreModule,
|
|
185
|
-
AngularHasuraGraphQLModule,
|
|
186
|
-
],
|
|
187
|
-
providers: [
|
|
188
|
-
provideFirebaseApp((injector) => {
|
|
189
|
-
const appName = injector.get(FIREBASE_APP_NAME);
|
|
190
|
-
try {
|
|
191
|
-
const app = appName ? getApp(appName) : getApp();
|
|
192
|
-
return app;
|
|
193
|
-
}
|
|
194
|
-
catch (error) {
|
|
195
|
-
console.warn('Firebase app not found, initializing new app');
|
|
196
|
-
if (error instanceof Error)
|
|
197
|
-
console.error(error.message);
|
|
198
|
-
return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
|
|
199
|
-
}
|
|
200
|
-
}),
|
|
201
|
-
provideAppCheck((injector) => {
|
|
202
|
-
const app = injector.get(FirebaseApp);
|
|
203
|
-
try {
|
|
204
|
-
const provider = injector.get(APP_CHECK_PROVIDER);
|
|
205
|
-
if (provider)
|
|
206
|
-
return initializeAppCheck(app, {
|
|
207
|
-
provider,
|
|
208
|
-
isTokenAutoRefreshEnabled: true,
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
catch (error) {
|
|
212
|
-
if (error instanceof Error)
|
|
213
|
-
console.error(error.message);
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
}),
|
|
217
|
-
provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
|
|
218
|
-
AuthService,
|
|
219
|
-
CartService,
|
|
220
|
-
CatalogService,
|
|
221
|
-
CategoryService,
|
|
222
|
-
CheckoutService,
|
|
223
|
-
CheckoutSubscriptionService,
|
|
224
|
-
CouponService,
|
|
225
|
-
HomeShopService,
|
|
226
|
-
OrderService,
|
|
227
|
-
WishlistService,
|
|
228
|
-
ConfigurationFacade,
|
|
229
|
-
CartServicesFacade,
|
|
230
|
-
CheckoutRepositoriesFacade,
|
|
231
|
-
CheckoutDependenciesFacade,
|
|
232
|
-
CategoryRepositoryFacade,
|
|
233
|
-
ProductCatalogFacade,
|
|
234
|
-
CatalogServiceFacade,
|
|
235
|
-
CategoryServiceFacade,
|
|
236
|
-
CatalogStrategiesFacade,
|
|
237
|
-
CatalogOperationsFacade,
|
|
238
|
-
ProductManagementFacade,
|
|
239
|
-
{
|
|
240
|
-
provide: 'ProductServicesFacade',
|
|
241
|
-
useFactory: (productStockNotificationRepository, categoryRepository, productSearch) => ({
|
|
242
|
-
productStockNotificationRepository,
|
|
243
|
-
categoryRepository,
|
|
244
|
-
productSearch,
|
|
245
|
-
}),
|
|
246
|
-
deps: ['ProductStockNotificationRepository', 'CategoryRepository', 'ProductSearch'],
|
|
247
|
-
},
|
|
248
|
-
CatalogFilterHelper,
|
|
249
|
-
CatalogSortHelper,
|
|
250
|
-
ProductFieldsHelper,
|
|
251
|
-
BrandManagerHelper,
|
|
252
|
-
CatalogRepositoryService,
|
|
253
|
-
CatalogHelpersService,
|
|
254
|
-
CategorySearchStrategy,
|
|
255
|
-
TermSearchStrategy,
|
|
256
|
-
ProfileSearchStrategy,
|
|
257
|
-
{
|
|
258
|
-
provide: CatalogSearchContext,
|
|
259
|
-
useFactory: (categoryStrategy, termStrategy, profileStrategy) => {
|
|
260
|
-
return new CatalogSearchContext(categoryStrategy, termStrategy, profileStrategy);
|
|
261
|
-
},
|
|
262
|
-
deps: [CategorySearchStrategy, TermSearchStrategy, ProfileSearchStrategy],
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
provide: UpdateUserImage,
|
|
266
|
-
useFactory: (userRepository, fileUploader) => {
|
|
267
|
-
return new UpdateUserImage(userRepository, fileUploader);
|
|
268
|
-
},
|
|
269
|
-
deps: ['UserRepository', 'FileUploaderService'],
|
|
270
|
-
},
|
|
271
|
-
{
|
|
272
|
-
provide: 'FileUploaderService',
|
|
273
|
-
useFactory: (storage, baseUrl) => {
|
|
274
|
-
return new FirebaseFileUploaderService(storage, baseUrl);
|
|
275
|
-
},
|
|
276
|
-
deps: [Storage, STORAGE_BASE_URL],
|
|
277
|
-
},
|
|
278
|
-
{
|
|
279
|
-
provide: 'ProductSearch',
|
|
280
|
-
useExisting: ProductsVertexSearch,
|
|
281
|
-
},
|
|
282
|
-
CouponRepositoriesFacade,
|
|
283
|
-
HomeShopRepositoriesFacade,
|
|
284
|
-
OrderProductReviewService,
|
|
285
|
-
],
|
|
286
|
-
}]
|
|
287
|
-
}] });
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0csT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM5RixPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBR0wsMkJBQTJCLEVBQzNCLEtBQUssRUFDTCxvQkFBb0IsRUFFcEIsZUFBZSxHQUdoQixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN6RSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FB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QixXQUFXLEVBQUUsb0JBQW9CO3lCQUNsQzt3QkFDRCx3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VPcHRpb25zLCBnZXRBcHAsIGluaXRpYWxpemVBcHAsIHByb3ZpZGVGaXJlYmFzZUFwcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xuaW1wb3J0IHsgQXBwQ2hlY2tPcHRpb25zLCBpbml0aWFsaXplQXBwQ2hlY2ssIHByb3ZpZGVBcHBDaGVjayB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwLWNoZWNrJ1xuaW1wb3J0IHsgZ2V0U3RvcmFnZSwgcHJvdmlkZVN0b3JhZ2UsIFN0b3JhZ2UgfSBmcm9tICdAYW5ndWxhci9maXJlL3N0b3JhZ2UnXG5pbXBvcnQge1xuICBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsXG4gIEZpbGVVcGxvYWRlclNlcnZpY2UsXG4gIEZpcmViYXNlRmlsZVVwbG9hZGVyU2VydmljZSxcbiAgaXNOaWwsXG4gIFByb2R1Y3RzVmVydGV4U2VhcmNoLFxuICBTaG9wcyxcbiAgVXBkYXRlVXNlckltYWdlLFxuICBVc2VyUmVwb3NpdG9yeSxcbiAgVmVydGV4U2VhcmNoQ29uZmlnLFxufSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuaW1wb3J0IHsgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmViYXNlLWF1dGgubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1maXJlc3RvcmUubW9kdWxlJ1xuaW1wb3J0IHsgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsIEhhc3VyYUdyYXBoUUxPcHRpb25zIH0gZnJvbSAnLi9hbmd1bGFyLWhhc3VyYS1ncmFwaHFsLm1vZHVsZSdcbmltcG9ydCB7IEFuZ3VsYXJWZXJ0ZXhTZWFjaE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci12ZXJ0ZXgtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7XG4gIEFQUF9DSEVDS19QUk9WSURFUixcbiAgQkFDS0VORF9VUkwsXG4gIENBVEVHT1JZX1NUUlVDVFVSRSxcbiAgREVGQVVMVF9TSE9QLFxuICBFU19DT05GSUcsXG4gIEZJUkVCQVNFX0FQUF9OQU1FLFxuICBGSVJFQkFTRV9PUFRJT05TLFxuICBIQVNVUkFfT1BUSU9OUyxcbiAgUEVSU0lTVEVOQ0VfUFJPVklERVIsXG4gIFZFUlRFWF9DT05GSUcsXG59IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHsgU1RPUkFHRV9CQVNFX1VSTCB9IGZyb20gJy4vY29uc3RzL3N0b3JhZ2UtYmFzZS11cmwuY29uc3QnXG5pbXBvcnQgeyBDb29raWVEYXRhUGVyc2lzdGVuY2UsIERhdGFQZXJzaXN0ZW5jZSB9IGZyb20gJy4vcGVyc2lzdGVuY2UnXG5pbXBvcnQge1xuICBBdXRoU2VydmljZSxcbiAgQ2FydFNlcnZpY2UsXG4gIENhdGFsb2dTZXJ2aWNlLFxuICBDYXRlZ29yeVNlcnZpY2UsXG4gIENoZWNrb3V0U2VydmljZSxcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICBDb3Vwb25TZXJ2aWNlLFxuICBIb21lU2hvcFNlcnZpY2UsXG4gIE9yZGVyUHJvZHVjdFJldmlld1NlcnZpY2UsXG4gIE9yZGVyU2VydmljZSxcbiAgV2lzaGxpc3RTZXJ2aWNlLFxufSBmcm9tICcuL3NlcnZpY2VzJ1xuaW1wb3J0IHsgQ2FydFNlcnZpY2VzRmFjYWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jYXJ0J1xuaW1wb3J0IHsgTmV3Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLCBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgfSBmcm9tICcuL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMnXG5pbXBvcnQgeyBDYXRhbG9nU2VhcmNoQ29udGV4dCB9IGZyb20gJy4vc2VydmljZXMvY2F0YWxvZy9jb250ZXh0L2NhdGFsb2ctc2VhcmNoLmNvbnRleHQnXG5pbXBvcnQge1xuICBDYXRhbG9nU2VydmljZUZhY2FkZSxcbiAgQ2F0YWxvZ1N0cmF0ZWdpZXNGYWNhZGUsXG4gIENhdGVnb3J5UmVwb3NpdG9yeUZhY2FkZSxcbiAgQ2F0ZWdvcnlTZXJ2aWNlRmFjYWRlLFxuICBQcm9kdWN0Q2F0YWxvZ0ZhY2FkZSxcbn0gZnJvbSAnLi9zZXJ2aWNlcy9jYXRhbG9nL2ZhY2FkZXMnXG5pbXBvcnQge1xuICBCcmFuZE1hbmFnZXJIZWxwZXIsXG4gIENhdGFsb2dGaWx0ZXJIZWxwZXIsXG4gIENhdGFsb2dTb3J0SGVscGVyLFxuICBQcm9kdWN0RmllbGRzSGVscGVyLFxufSBmcm9tICcuL3NlcnZpY2VzL2NhdGFsb2cvaGVscGVycydcbmltcG9ydCB7XG4gIENhdGFsb2dIZWxwZXJzU2VydmljZSxcbiAgQ2F0YWxvZ09wZXJhdGlvbnNGYWNhZGUsXG4gIENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSxcbiAgUHJvZHVjdE1hbmFnZW1lbnRGYWNhZGUsXG59IGZyb20gJy4vc2VydmljZXMvY2F0YWxvZy9zZXJ2aWNlcydcbmltcG9ydCB7IENhdGVnb3J5U2VhcmNoU3RyYXRlZ3ksIFByb2ZpbGVTZWFyY2hTdHJhdGVneSwgVGVybVNlYXJjaFN0cmF0ZWd5IH0gZnJvbSAnLi9zZXJ2aWNlcy9jYXRhbG9nL3N0cmF0ZWdpZXMnXG5pbXBvcnQgeyBDaGVja291dERlcGVuZGVuY2llc0ZhY2FkZSwgQ2hlY2tvdXRSZXBvc2l0b3JpZXNGYWNhZGUgfSBmcm9tICcuL3NlcnZpY2VzL2NoZWNrb3V0J1xuaW1wb3J0IHsgQ291cG9uUmVwb3NpdG9yaWVzRmFjYWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb3Vwb24nXG5pbXBvcnQgeyBIb21lU2hvcFJlcG9zaXRvcmllc0ZhY2FkZSB9IGZyb20gJy4vc2VydmljZXMvaG9tZS1zaG9wJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkZhY2FkZSB9IGZyb20gJy4vc2VydmljZXMvc2hhcmVkJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcbiAgICBBbmd1bGFyVmVydGV4U2VhY2hNb2R1bGUsXG4gICAgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSxcbiAgICBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlLFxuICAgIEFuZ3VsYXJIYXN1cmFHcmFwaFFMTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgYXBwTmFtZSA9IGluamVjdG9yLmdldDxzdHJpbmc+KEZJUkVCQVNFX0FQUF9OQU1FKVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBhcHAgPSBhcHBOYW1lID8gZ2V0QXBwKGFwcE5hbWUpIDogZ2V0QXBwKClcblxuICAgICAgICByZXR1cm4gYXBwXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0ZpcmViYXNlIGFwcCBub3QgZm91bmQsIGluaXRpYWxpemluZyBuZXcgYXBwJylcblxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikgY29uc29sZS5lcnJvcihlcnJvci5tZXNzYWdlKVxuXG4gICAgICAgIHJldHVybiBpbml0aWFsaXplQXBwKGluamVjdG9yLmdldChGSVJFQkFTRV9PUFRJT05TKSwgYXBwTmFtZSlcbiAgICAgIH1cbiAgICB9KSxcbiAgICBwcm92aWRlQXBwQ2hlY2soKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwcm92aWRlciA9IGluamVjdG9yLmdldDxBcHBDaGVja09wdGlvbnNbJ3Byb3ZpZGVyJ10+KEFQUF9DSEVDS19QUk9WSURFUilcblxuICAgICAgICBpZiAocHJvdmlkZXIpXG4gICAgICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHBDaGVjayhhcHAsIHtcbiAgICAgICAgICAgIHByb3ZpZGVyLFxuICAgICAgICAgICAgaXNUb2tlbkF1dG9SZWZyZXNoRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIGNvbnNvbGUuZXJyb3IoZXJyb3IubWVzc2FnZSlcblxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9KSxcbiAgICBwcm92aWRlU3RvcmFnZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBnZXRTdG9yYWdlKGluamVjdG9yLmdldChGaXJlYmFzZUFwcCkpKSxcbiAgICBBdXRoU2VydmljZSxcbiAgICBDYXJ0U2VydmljZSxcbiAgICBDYXRhbG9nU2VydmljZSxcbiAgICBDYXRlZ29yeVNlcnZpY2UsXG4gICAgQ2hlY2tvdXRTZXJ2aWNlLFxuICAgIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICBDb3Vwb25TZXJ2aWNlLFxuICAgIEhvbWVTaG9wU2VydmljZSxcbiAgICBPcmRlclNlcnZpY2UsXG4gICAgV2lzaGxpc3RTZXJ2aWNlLFxuICAgIENvbmZpZ3VyYXRpb25GYWNhZGUsXG4gICAgQ2FydFNlcnZpY2VzRmFjYWRlLFxuICAgIENoZWNrb3V0UmVwb3NpdG9yaWVzRmFjYWRlLFxuICAgIENoZWNrb3V0RGVwZW5kZW5jaWVzRmFjYWRlLFxuICAgIENhdGVnb3J5UmVwb3NpdG9yeUZhY2FkZSxcbiAgICBQcm9kdWN0Q2F0YWxvZ0ZhY2FkZSxcbiAgICBDYXRhbG9nU2VydmljZUZhY2FkZSxcbiAgICBDYXRlZ29yeVNlcnZpY2VGYWNhZGUsXG4gICAgQ2F0YWxvZ1N0cmF0ZWdpZXNGYWNhZGUsXG4gICAgQ2F0YWxvZ09wZXJhdGlvbnNGYWNhZGUsXG4gICAgUHJvZHVjdE1hbmFnZW1lbnRGYWNhZGUsXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1Byb2R1Y3RTZXJ2aWNlc0ZhY2FkZScsXG4gICAgICB1c2VGYWN0b3J5OiAocHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uUmVwb3NpdG9yeTogYW55LCBjYXRlZ29yeVJlcG9zaXRvcnk6IGFueSwgcHJvZHVjdFNlYXJjaDogYW55KSA9PiAoe1xuICAgICAgICBwcm9kdWN0U3RvY2tOb3RpZmljYXRpb25SZXBvc2l0b3J5LFxuICAgICAgICBjYXRlZ29yeVJlcG9zaXRvcnksXG4gICAgICAgIHByb2R1Y3RTZWFyY2gsXG4gICAgICB9KSxcbiAgICAgIGRlcHM6IFsnUHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uUmVwb3NpdG9yeScsICdDYXRlZ29yeVJlcG9zaXRvcnknLCAnUHJvZHVjdFNlYXJjaCddLFxuICAgIH0sXG4gICAgQ2F0YWxvZ0ZpbHRlckhlbHBlcixcbiAgICBDYXRhbG9nU29ydEhlbHBlcixcbiAgICBQcm9kdWN0RmllbGRzSGVscGVyLFxuICAgIEJyYW5kTWFuYWdlckhlbHBlcixcbiAgICBDYXRhbG9nUmVwb3NpdG9yeVNlcnZpY2UsXG4gICAgQ2F0YWxvZ0hlbHBlcnNTZXJ2aWNlLFxuICAgIENhdGVnb3J5U2VhcmNoU3RyYXRlZ3ksXG4gICAgVGVybVNlYXJjaFN0cmF0ZWd5LFxuICAgIFByb2ZpbGVTZWFyY2hTdHJhdGVneSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDYXRhbG9nU2VhcmNoQ29udGV4dCxcbiAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgY2F0ZWdvcnlTdHJhdGVneTogQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneSxcbiAgICAgICAgdGVybVN0cmF0ZWd5OiBUZXJtU2VhcmNoU3RyYXRlZ3ksXG4gICAgICAgIHByb2ZpbGVTdHJhdGVneTogUHJvZmlsZVNlYXJjaFN0cmF0ZWd5LFxuICAgICAgKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQ2F0YWxvZ1NlYXJjaENvbnRleHQoY2F0ZWdvcnlTdHJhdGVneSwgdGVybVN0cmF0ZWd5LCBwcm9maWxlU3RyYXRlZ3kpXG4gICAgICB9LFxuICAgICAgZGVwczogW0NhdGVnb3J5U2VhcmNoU3RyYXRlZ3ksIFRlcm1TZWFyY2hTdHJhdGVneSwgUHJvZmlsZVNlYXJjaFN0cmF0ZWd5XSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFVwZGF0ZVVzZXJJbWFnZSxcbiAgICAgIHVzZUZhY3Rvcnk6ICh1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnksIGZpbGVVcGxvYWRlcjogRmlsZVVwbG9hZGVyU2VydmljZSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFVwZGF0ZVVzZXJJbWFnZSh1c2VyUmVwb3NpdG9yeSwgZmlsZVVwbG9hZGVyKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnVXNlclJlcG9zaXRvcnknLCAnRmlsZVVwbG9hZGVyU2VydmljZSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0ZpbGVVcGxvYWRlclNlcnZpY2UnLFxuICAgICAgdXNlRmFjdG9yeTogKHN0b3JhZ2U6IFN0b3JhZ2UsIGJhc2VVcmw6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEZpcmViYXNlRmlsZVVwbG9hZGVyU2VydmljZShzdG9yYWdlLCBiYXNlVXJsKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtTdG9yYWdlLCBTVE9SQUdFX0JBU0VfVVJMXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0U2VhcmNoJyxcbiAgICAgIHVzZUV4aXN0aW5nOiBQcm9kdWN0c1ZlcnRleFNlYXJjaCxcbiAgICB9LFxuICAgIENvdXBvblJlcG9zaXRvcmllc0ZhY2FkZSxcbiAgICBIb21lU2hvcFJlcG9zaXRvcmllc0ZhY2FkZSxcbiAgICBPcmRlclByb2R1Y3RSZXZpZXdTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29ubmVjdE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKFxuICAgIGRlZmF1bHRTaG9wOiBTaG9wcyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBmaXJlYmFzZT86IEZpcmViYXNlT3B0aW9uc1xuICAgICAgZWxhc3RpY1NlYXJjaD86IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZ1xuICAgICAgdmVydGV4Q29uZmlnPzogVmVydGV4U2VhcmNoQ29uZmlnXG4gICAgICBoYXN1cmE6IEhhc3VyYUdyYXBoUUxPcHRpb25zXG4gICAgICBiYWNrZW5kVXJsOiBzdHJpbmdcbiAgICAgIG9sZENhdGVnb3J5U3RydWN0dXJlPzogYm9vbGVhblxuICAgICAgc3RvcmFnZUJhc2VVcmw/OiBzdHJpbmdcbiAgICAgIHBlcnNpc3RlbmNlUHJvdmlkZXI/OiBUeXBlPERhdGFQZXJzaXN0ZW5jZT5cbiAgICAgIGFwcENoZWNrUHJvdmlkZXI/OiBBcHBDaGVja09wdGlvbnNbJ3Byb3ZpZGVyJ11cbiAgICB9LFxuICAgIG5hbWVPckNvbmZpZz86IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJDb25uZWN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyQ29ubmVjdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi50aGlzLmJ1aWxkQ29yZVByb3ZpZGVycyhuYW1lT3JDb25maWcsIG9wdGlvbnMpLFxuICAgICAgICAuLi50aGlzLmJ1aWxkQ29uZGl0aW9uYWxQcm92aWRlcnMoZGVmYXVsdFNob3AsIG9wdGlvbnMpLFxuICAgICAgXSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBidWlsZENvcmVQcm92aWRlcnMoXG4gICAgbmFtZU9yQ29uZmlnOiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBhcHBDaGVja1Byb3ZpZGVyPzogQXBwQ2hlY2tPcHRpb25zWydwcm92aWRlciddXG4gICAgICBvbGRDYXRlZ29yeVN0cnVjdHVyZT86IGJvb2xlYW5cbiAgICAgIHBlcnNpc3RlbmNlUHJvdmlkZXI/OiBUeXBlPERhdGFQZXJzaXN0ZW5jZT5cbiAgICB9LFxuICApIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9LFxuICAgICAgeyBwcm92aWRlOiBBUFBfQ0hFQ0tfUFJPVklERVIsIHVzZVZhbHVlOiBvcHRpb25zLmFwcENoZWNrUHJvdmlkZXIgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogQ0FURUdPUllfU1RSVUNUVVJFLFxuICAgICAgICB1c2VDbGFzczogdGhpcy5zZWxlY3RDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIob3B0aW9ucy5vbGRDYXRlZ29yeVN0cnVjdHVyZSksXG4gICAgICB9LFxuICAgICAgeyBwcm92aWRlOiBQRVJTSVNURU5DRV9QUk9WSURFUiwgdXNlQ2xhc3M6IG9wdGlvbnM/LnBlcnNpc3RlbmNlUHJvdmlkZXIgfHwgQ29va2llRGF0YVBlcnNpc3RlbmNlIH0sXG4gICAgXVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVpbGRDb25kaXRpb25hbFByb3ZpZGVycyhcbiAgICBkZWZhdWx0U2hvcDogU2hvcHMsXG4gICAgb3B0aW9uczoge1xuICAgICAgZmlyZWJhc2U/OiBGaXJlYmFzZU9wdGlvbnNcbiAgICAgIGVsYXN0aWNTZWFyY2g/OiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWdcbiAgICAgIHZlcnRleENvbmZpZz86IFZlcnRleFNlYXJjaENvbmZpZ1xuICAgICAgaGFzdXJhOiBIYXN1cmFHcmFwaFFMT3B0aW9uc1xuICAgICAgYmFja2VuZFVybDogc3RyaW5nXG4gICAgICBzdG9yYWdlQmFzZVVybD86IHN0cmluZ1xuICAgIH0sXG4gICkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi50aGlzLmNyZWF0ZVByb3ZpZGVySWZFeGlzdHMoREVGQVVMVF9TSE9QLCBkZWZhdWx0U2hvcCksXG4gICAgICAuLi50aGlzLmNyZWF0ZVByb3ZpZGVySWZFeGlzdHMoRklSRUJBU0VfT1BUSU9OUywgb3B0aW9ucy5maXJlYmFzZSksXG4gICAgICAuLi50aGlzLmNyZWF0ZVByb3ZpZGVySWZFeGlzdHMoRVNfQ09ORklHLCBvcHRpb25zLmVsYXN0aWNTZWFyY2gpLFxuICAgICAgLi4udGhpcy5jcmVhdGVQcm92aWRlcklmRXhpc3RzKFZFUlRFWF9DT05GSUcsIG9wdGlvbnMudmVydGV4Q29uZmlnKSxcbiAgICAgIC4uLnRoaXMuY3JlYXRlUHJvdmlkZXJJZkV4aXN0cyhIQVNVUkFfT1BUSU9OUywgb3B0aW9ucy5oYXN1cmEpLFxuICAgICAgLi4udGhpcy5jcmVhdGVQcm92aWRlcklmRXhpc3RzKEJBQ0tFTkRfVVJMLCBvcHRpb25zLmJhY2tlbmRVcmwpLFxuICAgICAgLi4udGhpcy5jcmVhdGVQcm92aWRlcklmRXhpc3RzKFNUT1JBR0VfQkFTRV9VUkwsIG9wdGlvbnMuc3RvcmFnZUJhc2VVcmwpLFxuICAgIF1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHNlbGVjdENhdGVnb3J5U3RydWN0dXJlQWRhcHRlcihvbGRDYXRlZ29yeVN0cnVjdHVyZT86IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gaXNOaWwob2xkQ2F0ZWdvcnlTdHJ1Y3R1cmUpIHx8IG9sZENhdGVnb3J5U3RydWN0dXJlXG4gICAgICA/IE9sZENhdGVnb3J5U3RydWN0dXJlQWRhcHRlclxuICAgICAgOiBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXJcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVByb3ZpZGVySWZFeGlzdHModG9rZW46IGFueSwgdmFsdWU6IGFueSkge1xuICAgIHJldHVybiBpc05pbCh2YWx1ZSkgPyBbXSA6IFt7IHByb3ZpZGU6IHRva2VuLCB1c2VWYWx1ZTogdmFsdWUgfV1cbiAgfVxufVxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { AxiosAdapter, ProductsIndex } from '@infrab4a/connect';
|
|
3
|
-
import { ES_CONFIG } from './consts/es-config.const';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class AngularElasticSeachModule {
|
|
6
|
-
static initializeApp(options) {
|
|
7
|
-
return {
|
|
8
|
-
ngModule: AngularElasticSeachModule,
|
|
9
|
-
providers: [{ provide: ES_CONFIG, useValue: options }],
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AngularElasticSeachModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AngularElasticSeachModule }); }
|
|
14
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AngularElasticSeachModule, providers: [
|
|
15
|
-
{
|
|
16
|
-
provide: ProductsIndex,
|
|
17
|
-
useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
|
|
18
|
-
deps: [ES_CONFIG],
|
|
19
|
-
},
|
|
20
|
-
] }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AngularElasticSeachModule, decorators: [{
|
|
23
|
-
type: NgModule,
|
|
24
|
-
args: [{
|
|
25
|
-
providers: [
|
|
26
|
-
{
|
|
27
|
-
provide: ProductsIndex,
|
|
28
|
-
useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
|
|
29
|
-
deps: [ES_CONFIG],
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
}]
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQTRCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFZcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWlDO1FBQ3BELE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDdkQsQ0FBQTtJQUNILENBQUM7K0dBTlUseUJBQXlCO2dIQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QixhQVR6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixVQUFVLEVBQUUsQ0FBQyxhQUF1QyxFQUFpQixFQUFFLENBQ3JFLElBQUksYUFBYSxDQUFDLElBQUksWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7U0FDRjs7NEZBRVUseUJBQXlCO2tCQVZyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBaUIsRUFBRSxDQUNyRSxJQUFJLGFBQWEsQ0FBQyxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFDcEQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO3lCQUNsQjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEF4aW9zQWRhcHRlciwgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnLCBQcm9kdWN0c0luZGV4IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IEVTX0NPTkZJRyB9IGZyb20gJy4vY29uc3RzL2VzLWNvbmZpZy5jb25zdCdcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUHJvZHVjdHNJbmRleCxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWd1cmF0aW9uOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcpOiBQcm9kdWN0c0luZGV4ID0+XG4gICAgICAgIG5ldyBQcm9kdWN0c0luZGV4KG5ldyBBeGlvc0FkYXB0ZXIoY29uZmlndXJhdGlvbikpLFxuICAgICAgZGVwczogW0VTX0NPTkZJR10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKG9wdGlvbnM6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucyB9XSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|