@infrab4a/connect 3.14.4 → 3.15.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/bundles/infrab4a-connect.umd.js +202 -650
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category-filter.d.ts +0 -2
  4. package/domain/catalog/models/category.d.ts +27 -5
  5. package/domain/catalog/models/index.d.ts +0 -1
  6. package/domain/catalog/models/kit-product.d.ts +3 -3
  7. package/domain/catalog/models/product.d.ts +40 -5
  8. package/domain/catalog/repositories/category-filter.repository.d.ts +0 -1
  9. package/domain/catalog/repositories/index.d.ts +0 -1
  10. package/domain/shop-settings/enums/index.d.ts +1 -0
  11. package/domain/shop-settings/enums/shop-page-name.enum.d.ts +19 -0
  12. package/domain/shop-settings/models/campaign-banner.d.ts +11 -0
  13. package/domain/shop-settings/models/campaign.d.ts +10 -0
  14. package/domain/shop-settings/models/index.d.ts +2 -0
  15. package/domain/shop-settings/models/shop-settings.d.ts +2 -1
  16. package/domain/shop-settings/models/types/campaign-page.d.ts +17 -0
  17. package/domain/shop-settings/models/types/index.d.ts +4 -0
  18. package/domain/shop-settings/models/types/sections.type.d.ts +17 -0
  19. package/domain/shop-settings/models/types/shop-gift.type.d.ts +8 -0
  20. package/domain/shop-settings/models/types/shop-post.type.d.ts +7 -0
  21. package/domain/shop-settings/models/types/shop-section.type.d.ts +3 -0
  22. package/domain/shop-settings/repositories/campaign-banner.repository.d.ts +4 -0
  23. package/domain/shop-settings/repositories/campaign.repository.d.ts +4 -0
  24. package/domain/shop-settings/repositories/index.d.ts +2 -0
  25. package/esm2015/domain/catalog/models/category-filter.js +1 -6
  26. package/esm2015/domain/catalog/models/category.js +10 -6
  27. package/esm2015/domain/catalog/models/index.js +1 -2
  28. package/esm2015/domain/catalog/models/kit-product.js +6 -6
  29. package/esm2015/domain/catalog/models/product.js +24 -6
  30. package/esm2015/domain/catalog/repositories/category-filter.repository.js +1 -1
  31. package/esm2015/domain/catalog/repositories/index.js +1 -2
  32. package/esm2015/domain/shop-settings/enums/index.js +2 -1
  33. package/esm2015/domain/shop-settings/enums/shop-page-name.enum.js +21 -0
  34. package/esm2015/domain/shop-settings/models/campaign-banner.js +7 -0
  35. package/esm2015/domain/shop-settings/models/campaign.js +7 -0
  36. package/esm2015/domain/shop-settings/models/index.js +3 -1
  37. package/esm2015/domain/shop-settings/models/shop-settings.js +1 -1
  38. package/esm2015/domain/shop-settings/models/types/campaign-page.js +2 -0
  39. package/esm2015/domain/shop-settings/models/types/index.js +5 -1
  40. package/esm2015/domain/shop-settings/models/types/sections.type.js +2 -0
  41. package/esm2015/domain/shop-settings/models/types/shop-gift.type.js +2 -0
  42. package/esm2015/domain/shop-settings/models/types/shop-post.type.js +2 -0
  43. package/esm2015/domain/shop-settings/models/types/shop-section.type.js +1 -1
  44. package/esm2015/domain/shop-settings/repositories/campaign-banner.repository.js +2 -0
  45. package/esm2015/domain/shop-settings/repositories/campaign.repository.js +2 -0
  46. package/esm2015/domain/shop-settings/repositories/index.js +3 -1
  47. package/esm2015/infra/firebase/firestore/repositories/shop-settings/campaign-banner-firestore.repository.js +12 -0
  48. package/esm2015/infra/firebase/firestore/repositories/shop-settings/campaign-firestore.repository.js +12 -0
  49. package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +3 -1
  50. package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +2 -2
  51. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +1 -52
  52. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +50 -36
  53. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +1 -2
  54. package/fesm2015/infrab4a-connect.js +140 -424
  55. package/fesm2015/infrab4a-connect.js.map +1 -1
  56. package/infra/firebase/firestore/repositories/shop-settings/campaign-banner-firestore.repository.d.ts +8 -0
  57. package/infra/firebase/firestore/repositories/shop-settings/campaign-firestore.repository.d.ts +8 -0
  58. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +2 -0
  59. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +0 -1
  60. package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -1
  61. package/package.json +1 -1
  62. package/domain/catalog/models/category-base.d.ts +0 -30
  63. package/domain/catalog/models/category-for-product.d.ts +0 -5
  64. package/domain/catalog/models/product-base.d.ts +0 -40
  65. package/domain/catalog/models/product-for-category.d.ts +0 -7
  66. package/domain/catalog/models/product-for-kit.d.ts +0 -7
  67. package/domain/catalog/models/wishlist.d.ts +0 -6
  68. package/domain/catalog/repositories/wishlist.repository.d.ts +0 -6
  69. package/esm2015/domain/catalog/models/category-base.js +0 -18
  70. package/esm2015/domain/catalog/models/category-for-product.js +0 -7
  71. package/esm2015/domain/catalog/models/product-base.js +0 -25
  72. package/esm2015/domain/catalog/models/product-for-category.js +0 -14
  73. package/esm2015/domain/catalog/models/product-for-kit.js +0 -14
  74. package/esm2015/domain/catalog/models/wishlist.js +0 -7
  75. package/esm2015/domain/catalog/repositories/wishlist.repository.js +0 -2
  76. package/esm2015/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.js +0 -252
  77. package/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +0 -27
@@ -0,0 +1,8 @@
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
+ import { CampaignBanner, CampaignBannerRepository } from '../../../../../domain';
3
+ declare const CampaignBannerFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("@infrab4a/connect").FirestoreRepository<CampaignBanner> & import("../../../../../domain").CrudRepository<CampaignBanner, import("../../../../../domain").CrudParams<CampaignBanner>> & import("@infrab4a/connect").FirestoreHelpers, []>;
4
+ export declare class CampaignBannerFirestoreRepository extends CampaignBannerFirestoreRepository_base implements CampaignBannerRepository {
5
+ readonly firestore: FirebaseFirestore;
6
+ constructor(firestore: FirebaseFirestore);
7
+ }
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { FirebaseFirestore } from '@firebase/firestore-types';
2
+ import { Campaign, CampaignRepository } from '../../../../../domain';
3
+ declare const CampaignFirestoreRepository_base: import("../../../../../utils").MixinCtor<import("@infrab4a/connect").FirestoreRepository<Campaign> & import("../../../../../domain").CrudRepository<Campaign, import("../../../../../domain").CrudParams<Campaign>> & import("@infrab4a/connect").FirestoreHelpers, []>;
4
+ export declare class CampaignFirestoreRepository extends CampaignFirestoreRepository_base implements CampaignRepository {
5
+ readonly firestore: FirebaseFirestore;
6
+ constructor(firestore: FirebaseFirestore);
7
+ }
8
+ export {};
@@ -1,3 +1,5 @@
1
+ export * from './campaign-banner-firestore.repository';
2
+ export * from './campaign-firestore.repository';
1
3
  export * from './home-firestore.repository';
2
4
  export * from './shop-menu-firestore.repository';
3
5
  export * from './shop-settings-firestore.repository';
@@ -6,7 +6,6 @@ declare const CategoryFilterHasuraGraphQLRepository_base: import("../../../../ut
6
6
  }, [import("../../mixins").ConstructorParams<CategoryFilter> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
7
7
  export declare class CategoryFilterHasuraGraphQLRepository extends CategoryFilterHasuraGraphQLRepository_base implements CategoryFilterRepository {
8
8
  constructor(endpoint: string, authOptions: HasuraGraphQLAuthOptions);
9
- deleteByCategory(categoryId: number): Promise<any>;
10
9
  deleteByCategoryAndFilter(categoryId: number, filterId: number): Promise<any>;
11
10
  }
12
11
  export {};
@@ -5,4 +5,3 @@ export * from './filter-hasura-graphql.repository';
5
5
  export * from './filter-option-hasura-graphql.repository';
6
6
  export * from './product-hasura-graphql.repository';
7
7
  export * from './variant-hasura-graphql.repository';
8
- export * from './wishlist-hasura-graphql.repository';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "3.14.4",
3
+ "version": "3.15.0-beta.1",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -1,30 +0,0 @@
1
- import { BaseModel, GenericIdentifier, ModelBaseStructure } from '../../generic/model';
2
- import { Shops } from './enums';
3
- import { Filter } from './filter';
4
- import { CategoryCondition, CategoryMetadata } from './types';
5
- export declare class CategoryBase<ChildCategory extends ModelBaseStructure<ChildCategory, Identifiers> = ModelBaseStructure<any, any>, Identifiers = ChildCategory['identifiersFields']> extends BaseModel<ChildCategory, Identifiers> {
6
- id: string;
7
- brandCategory: boolean;
8
- brandLogo?: string;
9
- name: string;
10
- slug: string;
11
- image?: string;
12
- brandCategoryBanner?: string;
13
- brandCategoryBannerMobile?: string;
14
- description: string;
15
- conditions?: CategoryCondition;
16
- products?: string[];
17
- createdAt?: Date;
18
- updatedAt?: Date;
19
- shop?: Shops;
20
- shops?: string[];
21
- published: boolean;
22
- metadata: CategoryMetadata;
23
- isCollection?: boolean;
24
- isWishlist?: boolean;
25
- reference?: string;
26
- parentId?: number;
27
- parent?: CategoryBase;
28
- filters?: Filter[];
29
- static get identifiersFields(): GenericIdentifier[];
30
- }
@@ -1,5 +0,0 @@
1
- import { GenericIdentifier } from '../../generic/model';
2
- import { CategoryBase } from './category-base';
3
- export declare class CategoryForProduct extends CategoryBase<CategoryForProduct, GenericIdentifier> {
4
- static get identifiersFields(): GenericIdentifier[];
5
- }
@@ -1,40 +0,0 @@
1
- import { BaseModel, GenericIdentifier, ModelBaseStructure } from '../../generic/model';
2
- import { ProductEvaluation, ProductGender, ProductMetadata, ProductReview, ShopDescription, ShopPrice, Stock } from './types';
3
- import { Variant } from './variant';
4
- export declare class ProductBase<ChildProduct extends ModelBaseStructure<ChildProduct, Identifiers>, Identifiers = ChildProduct['identifiersFields']> extends BaseModel<ChildProduct, Identifiers> {
5
- id: string;
6
- name: string;
7
- slug: string;
8
- description: ShopDescription;
9
- sku: string;
10
- price: ShopPrice;
11
- hasVariants: boolean;
12
- NCM: string;
13
- EAN: string;
14
- CEST: string;
15
- weight: number;
16
- stock: Stock;
17
- costPrice: number;
18
- images?: string[];
19
- miniatures?: string[];
20
- published: boolean;
21
- createdAt?: Date;
22
- updatedAt?: Date;
23
- brand: string;
24
- tags?: string[];
25
- filters?: string[];
26
- type?: string;
27
- categories?: string[];
28
- reviews?: ProductReview[];
29
- variant?: Variant;
30
- video?: string;
31
- isKit?: boolean;
32
- rate?: number;
33
- gender?: ProductGender;
34
- shoppingCount?: number;
35
- metadata: ProductMetadata;
36
- private reviewsTotal?;
37
- get evaluation(): ProductEvaluation;
38
- set evaluation(evaluation: ProductEvaluation);
39
- static get identifiersFields(): GenericIdentifier[];
40
- }
@@ -1,7 +0,0 @@
1
- import { GenericIdentifier } from '../../generic/model';
2
- import { KitProduct } from './kit-product';
3
- import { ProductBase } from './product-base';
4
- export declare class ProductForCategory extends ProductBase<ProductForCategory, GenericIdentifier> {
5
- kitProducts?: KitProduct[];
6
- static get identifiersFields(): GenericIdentifier[];
7
- }
@@ -1,7 +0,0 @@
1
- import { GenericIdentifier } from '../../generic/model';
2
- import { CategoryForProduct } from './category-for-product';
3
- import { ProductBase } from './product-base';
4
- export declare class ProductForKit extends ProductBase<ProductForKit, GenericIdentifier> {
5
- category: CategoryForProduct;
6
- static get identifiersFields(): GenericIdentifier[];
7
- }
@@ -1,6 +0,0 @@
1
- import { GenericIdentifier } from '../../generic/model';
2
- import { Category } from './category';
3
- export declare class Wishlist extends Category {
4
- personId?: string;
5
- static get identifiersFields(): GenericIdentifier[];
6
- }
@@ -1,6 +0,0 @@
1
- import { CategoryRepository } from '.';
2
- import { Wishlist } from '../models/wishlist';
3
- export interface WishlistRepository extends CategoryRepository {
4
- getWishlistBySlug(slug: string): Promise<Wishlist>;
5
- getWishlistByPerson(personId: string): Promise<Wishlist[]>;
6
- }
@@ -1,18 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Type } from 'class-transformer';
3
- import { BaseModel } from '../../generic/model';
4
- import { Filter } from './filter';
5
- export class CategoryBase extends BaseModel {
6
- static get identifiersFields() {
7
- return ['id'];
8
- }
9
- }
10
- __decorate([
11
- Type(() => CategoryBase),
12
- __metadata("design:type", CategoryBase)
13
- ], CategoryBase.prototype, "parent", void 0);
14
- __decorate([
15
- Type(() => Filter),
16
- __metadata("design:type", Array)
17
- ], CategoryBase.prototype, "filters", void 0);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9jYXRhbG9nL21vZGVscy9jYXRlZ29yeS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBeUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUV0RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBR2pDLE1BQU0sT0FBTyxZQUdYLFNBQVEsU0FBcUM7SUE2QjdDLE1BQU0sS0FBSyxpQkFBaUI7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztDQUNGO0FBUkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDOzhCQUNoQixZQUFZOzRDQUFBO0FBR3JCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzs7NkNBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInXG5pbXBvcnQgeyBCYXNlTW9kZWwsIEdlbmVyaWNJZGVudGlmaWVyLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi9nZW5lcmljL21vZGVsJ1xuaW1wb3J0IHsgU2hvcHMgfSBmcm9tICcuL2VudW1zJ1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXInXG5pbXBvcnQgeyBDYXRlZ29yeUNvbmRpdGlvbiwgQ2F0ZWdvcnlNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUJhc2U8XG4gIENoaWxkQ2F0ZWdvcnkgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8Q2hpbGRDYXRlZ29yeSwgSWRlbnRpZmllcnM+ID0gTW9kZWxCYXNlU3RydWN0dXJlPGFueSwgYW55PixcbiAgSWRlbnRpZmllcnMgPSBDaGlsZENhdGVnb3J5WydpZGVudGlmaWVyc0ZpZWxkcyddLFxuPiBleHRlbmRzIEJhc2VNb2RlbDxDaGlsZENhdGVnb3J5LCBJZGVudGlmaWVycz4ge1xuICBpZDogc3RyaW5nXG4gIGJyYW5kQ2F0ZWdvcnk6IGJvb2xlYW5cbiAgYnJhbmRMb2dvPzogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzbHVnOiBzdHJpbmdcbiAgaW1hZ2U/OiBzdHJpbmdcbiAgYnJhbmRDYXRlZ29yeUJhbm5lcj86IHN0cmluZ1xuICBicmFuZENhdGVnb3J5QmFubmVyTW9iaWxlPzogc3RyaW5nXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgY29uZGl0aW9ucz86IENhdGVnb3J5Q29uZGl0aW9uXG4gIHByb2R1Y3RzPzogc3RyaW5nW11cbiAgY3JlYXRlZEF0PzogRGF0ZVxuICB1cGRhdGVkQXQ/OiBEYXRlXG4gIHNob3A/OiBTaG9wc1xuICBzaG9wcz86IHN0cmluZ1tdXG4gIHB1Ymxpc2hlZDogYm9vbGVhblxuICBtZXRhZGF0YTogQ2F0ZWdvcnlNZXRhZGF0YVxuICBpc0NvbGxlY3Rpb24/OiBib29sZWFuXG4gIGlzV2lzaGxpc3Q/OiBib29sZWFuXG4gIHJlZmVyZW5jZT86IHN0cmluZ1xuICBwYXJlbnRJZD86IG51bWJlclxuXG4gIEBUeXBlKCgpID0+IENhdGVnb3J5QmFzZSlcbiAgcGFyZW50PzogQ2F0ZWdvcnlCYXNlXG5cbiAgQFR5cGUoKCkgPT4gRmlsdGVyKVxuICBmaWx0ZXJzPzogRmlsdGVyW11cblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
@@ -1,7 +0,0 @@
1
- import { CategoryBase } from './category-base';
2
- export class CategoryForProduct extends CategoryBase {
3
- static get identifiersFields() {
4
- return ['id'];
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZm9yLXByb2R1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvY2F0ZWdvcnktZm9yLXByb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFtRDtJQUN6RixNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNJZGVudGlmaWVyIH0gZnJvbSAnLi4vLi4vZ2VuZXJpYy9tb2RlbCdcbmltcG9ydCB7IENhdGVnb3J5QmFzZSB9IGZyb20gJy4vY2F0ZWdvcnktYmFzZSdcblxuZXhwb3J0IGNsYXNzIENhdGVnb3J5Rm9yUHJvZHVjdCBleHRlbmRzIENhdGVnb3J5QmFzZTxDYXRlZ29yeUZvclByb2R1Y3QsIEdlbmVyaWNJZGVudGlmaWVyPiB7XG4gIHN0YXRpYyBnZXQgaWRlbnRpZmllcnNGaWVsZHMoKTogR2VuZXJpY0lkZW50aWZpZXJbXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- import { BaseModel } from '../../generic/model';
2
- export class ProductBase extends BaseModel {
3
- get evaluation() {
4
- return {
5
- reviews: this.reviews,
6
- count: this.reviewsTotal,
7
- rating: this.rate,
8
- };
9
- }
10
- set evaluation(evaluation) {
11
- if (!evaluation) {
12
- this.reviews = null;
13
- this.reviewsTotal = null;
14
- this.rate = null;
15
- return;
16
- }
17
- this.reviews = evaluation.reviews || this.reviews;
18
- this.reviewsTotal = evaluation.count || this.reviewsTotal;
19
- this.rate = evaluation.rating || this.rate;
20
- }
21
- static get identifiersFields() {
22
- return ['id'];
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvZG9tYWluL2NhdGFsb2cvbW9kZWxzL3Byb2R1Y3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QyxNQUFNLHFCQUFxQixDQUFBO0FBWXRGLE1BQU0sT0FBTyxXQUdYLFNBQVEsU0FBb0M7SUFtQzVDLElBQUksVUFBVTtRQUNaLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFVBQTZCO1FBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtZQUVoQixPQUFNO1NBQ1A7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQTtRQUN6RCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQTtJQUM1QyxDQUFDO0lBRUQsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWwsIEdlbmVyaWNJZGVudGlmaWVyLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi9nZW5lcmljL21vZGVsJ1xuaW1wb3J0IHtcbiAgUHJvZHVjdEV2YWx1YXRpb24sXG4gIFByb2R1Y3RHZW5kZXIsXG4gIFByb2R1Y3RNZXRhZGF0YSxcbiAgUHJvZHVjdFJldmlldyxcbiAgU2hvcERlc2NyaXB0aW9uLFxuICBTaG9wUHJpY2UsXG4gIFN0b2NrLFxufSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgVmFyaWFudCB9IGZyb20gJy4vdmFyaWFudCdcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3RCYXNlPFxuICBDaGlsZFByb2R1Y3QgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8Q2hpbGRQcm9kdWN0LCBJZGVudGlmaWVycz4sXG4gIElkZW50aWZpZXJzID0gQ2hpbGRQcm9kdWN0WydpZGVudGlmaWVyc0ZpZWxkcyddLFxuPiBleHRlbmRzIEJhc2VNb2RlbDxDaGlsZFByb2R1Y3QsIElkZW50aWZpZXJzPiB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNsdWc6IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogU2hvcERlc2NyaXB0aW9uXG4gIHNrdTogc3RyaW5nXG4gIHByaWNlOiBTaG9wUHJpY2VcbiAgaGFzVmFyaWFudHM6IGJvb2xlYW5cbiAgTkNNOiBzdHJpbmdcbiAgRUFOOiBzdHJpbmdcbiAgQ0VTVDogc3RyaW5nXG4gIHdlaWdodDogbnVtYmVyXG4gIHN0b2NrOiBTdG9ja1xuICBjb3N0UHJpY2U6IG51bWJlclxuICBpbWFnZXM/OiBzdHJpbmdbXVxuICBtaW5pYXR1cmVzPzogc3RyaW5nW11cbiAgcHVibGlzaGVkOiBib29sZWFuXG4gIGNyZWF0ZWRBdD86IERhdGVcbiAgdXBkYXRlZEF0PzogRGF0ZVxuICBicmFuZDogc3RyaW5nXG4gIHRhZ3M/OiBzdHJpbmdbXVxuICBmaWx0ZXJzPzogc3RyaW5nW11cbiAgdHlwZT86IHN0cmluZ1xuICBjYXRlZ29yaWVzPzogc3RyaW5nW11cbiAgcmV2aWV3cz86IFByb2R1Y3RSZXZpZXdbXVxuICB2YXJpYW50PzogVmFyaWFudFxuICB2aWRlbz86IHN0cmluZ1xuICBpc0tpdD86IGJvb2xlYW5cbiAgcmF0ZT86IG51bWJlclxuICBnZW5kZXI/OiBQcm9kdWN0R2VuZGVyXG4gIHNob3BwaW5nQ291bnQ/OiBudW1iZXJcbiAgbWV0YWRhdGE6IFByb2R1Y3RNZXRhZGF0YVxuXG4gIHByaXZhdGUgcmV2aWV3c1RvdGFsPzogbnVtYmVyXG5cbiAgZ2V0IGV2YWx1YXRpb24oKTogUHJvZHVjdEV2YWx1YXRpb24ge1xuICAgIHJldHVybiB7XG4gICAgICByZXZpZXdzOiB0aGlzLnJldmlld3MsXG4gICAgICBjb3VudDogdGhpcy5yZXZpZXdzVG90YWwsXG4gICAgICByYXRpbmc6IHRoaXMucmF0ZSxcbiAgICB9XG4gIH1cblxuICBzZXQgZXZhbHVhdGlvbihldmFsdWF0aW9uOiBQcm9kdWN0RXZhbHVhdGlvbikge1xuICAgIGlmICghZXZhbHVhdGlvbikge1xuICAgICAgdGhpcy5yZXZpZXdzID0gbnVsbFxuICAgICAgdGhpcy5yZXZpZXdzVG90YWwgPSBudWxsXG4gICAgICB0aGlzLnJhdGUgPSBudWxsXG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMucmV2aWV3cyA9IGV2YWx1YXRpb24ucmV2aWV3cyB8fCB0aGlzLnJldmlld3NcbiAgICB0aGlzLnJldmlld3NUb3RhbCA9IGV2YWx1YXRpb24uY291bnQgfHwgdGhpcy5yZXZpZXdzVG90YWxcbiAgICB0aGlzLnJhdGUgPSBldmFsdWF0aW9uLnJhdGluZyB8fCB0aGlzLnJhdGVcbiAgfVxuXG4gIHN0YXRpYyBnZXQgaWRlbnRpZmllcnNGaWVsZHMoKTogR2VuZXJpY0lkZW50aWZpZXJbXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Type } from 'class-transformer';
3
- import { KitProduct } from './kit-product';
4
- import { ProductBase } from './product-base';
5
- export class ProductForCategory extends ProductBase {
6
- static get identifiersFields() {
7
- return ['id'];
8
- }
9
- }
10
- __decorate([
11
- Type(() => KitProduct),
12
- __metadata("design:type", Array)
13
- ], ProductForCategory.prototype, "kitProducts", void 0);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1mb3ItY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvcHJvZHVjdC1mb3ItY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU1QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBa0Q7SUFJeEYsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBQ0Y7QUFMQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7O3VEQUNHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuaW1wb3J0IHsgR2VuZXJpY0lkZW50aWZpZXIgfSBmcm9tICcuLi8uLi9nZW5lcmljL21vZGVsJ1xuaW1wb3J0IHsgS2l0UHJvZHVjdCB9IGZyb20gJy4va2l0LXByb2R1Y3QnXG5pbXBvcnQgeyBQcm9kdWN0QmFzZSB9IGZyb20gJy4vcHJvZHVjdC1iYXNlJ1xuXG5leHBvcnQgY2xhc3MgUHJvZHVjdEZvckNhdGVnb3J5IGV4dGVuZHMgUHJvZHVjdEJhc2U8UHJvZHVjdEZvckNhdGVnb3J5LCBHZW5lcmljSWRlbnRpZmllcj4ge1xuICBAVHlwZSgoKSA9PiBLaXRQcm9kdWN0KVxuICBraXRQcm9kdWN0cz86IEtpdFByb2R1Y3RbXVxuXG4gIHN0YXRpYyBnZXQgaWRlbnRpZmllcnNGaWVsZHMoKTogR2VuZXJpY0lkZW50aWZpZXJbXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Type } from 'class-transformer';
3
- import { CategoryForProduct } from './category-for-product';
4
- import { ProductBase } from './product-base';
5
- export class ProductForKit extends ProductBase {
6
- static get identifiersFields() {
7
- return ['id'];
8
- }
9
- }
10
- __decorate([
11
- Type(() => CategoryForProduct),
12
- __metadata("design:type", CategoryForProduct)
13
- ], ProductForKit.prototype, "category", void 0);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1mb3Ita2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvZG9tYWluL2NhdGFsb2cvbW9kZWxzL3Byb2R1Y3QtZm9yLWtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU1QyxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQTZDO0lBSTlFLE1BQU0sS0FBSyxpQkFBaUI7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztDQUNGO0FBTEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7OEJBQ3JCLGtCQUFrQjsrQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcbmltcG9ydCB7IEdlbmVyaWNJZGVudGlmaWVyIH0gZnJvbSAnLi4vLi4vZ2VuZXJpYy9tb2RlbCdcbmltcG9ydCB7IENhdGVnb3J5Rm9yUHJvZHVjdCB9IGZyb20gJy4vY2F0ZWdvcnktZm9yLXByb2R1Y3QnXG5pbXBvcnQgeyBQcm9kdWN0QmFzZSB9IGZyb20gJy4vcHJvZHVjdC1iYXNlJ1xuXG5leHBvcnQgY2xhc3MgUHJvZHVjdEZvcktpdCBleHRlbmRzIFByb2R1Y3RCYXNlPFByb2R1Y3RGb3JLaXQsIEdlbmVyaWNJZGVudGlmaWVyPiB7XG4gIEBUeXBlKCgpID0+IENhdGVnb3J5Rm9yUHJvZHVjdClcbiAgY2F0ZWdvcnk6IENhdGVnb3J5Rm9yUHJvZHVjdFxuXG4gIHN0YXRpYyBnZXQgaWRlbnRpZmllcnNGaWVsZHMoKTogR2VuZXJpY0lkZW50aWZpZXJbXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- import { Category } from './category';
2
- export class Wishlist extends Category {
3
- static get identifiersFields() {
4
- return ['id'];
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvd2lzaGxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVyQyxNQUFNLE9BQU8sUUFBUyxTQUFRLFFBQVE7SUFHcEMsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljSWRlbnRpZmllciB9IGZyb20gJy4uLy4uL2dlbmVyaWMvbW9kZWwnXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4vY2F0ZWdvcnknXG5cbmV4cG9ydCBjbGFzcyBXaXNobGlzdCBleHRlbmRzIENhdGVnb3J5IHtcbiAgcGVyc29uSWQ/OiBzdHJpbmdcblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3QucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9jYXRhbG9nL3JlcG9zaXRvcmllcy93aXNobGlzdC5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXRlZ29yeVJlcG9zaXRvcnkgfSBmcm9tICcuJ1xuaW1wb3J0IHsgV2lzaGxpc3QgfSBmcm9tICcuLi9tb2RlbHMvd2lzaGxpc3QnXG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lzaGxpc3RSZXBvc2l0b3J5IGV4dGVuZHMgQ2F0ZWdvcnlSZXBvc2l0b3J5IHtcbiAgZ2V0V2lzaGxpc3RCeVNsdWcoc2x1Zzogc3RyaW5nKTogUHJvbWlzZTxXaXNobGlzdD5cbiAgZ2V0V2lzaGxpc3RCeVBlcnNvbihwZXJzb25JZDogc3RyaW5nKTogUHJvbWlzZTxXaXNobGlzdFtdPlxufVxuIl19
@@ -1,252 +0,0 @@
1
- import { __awaiter, __rest } from "tslib";
2
- import { Where, Wishlist, } from '../../../../domain';
3
- import { DuplicatedResultsError, NotFoundError } from '../../../../errors';
4
- import { Base, omit } from '../../../../utils';
5
- import { HasuraGraphQLColumnType } from '../../enums';
6
- import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
7
- export class WishlistHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
8
- constructor(endpoint, authOptions, categoryFilterRepository) {
9
- super({
10
- tableName: 'category',
11
- model: Wishlist,
12
- endpoint,
13
- authOptions,
14
- fields: [
15
- { id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
16
- { firestoreId: { columnName: 'firestore_id' } },
17
- 'name',
18
- 'description',
19
- 'image',
20
- 'published',
21
- 'shop',
22
- { shops: { columnName: 'shops', type: HasuraGraphQLColumnType.Jsonb } },
23
- 'slug',
24
- { brandCategory: { columnName: 'brand_category' } },
25
- { brandCategoryBanner: { columnName: 'brand_banner' } },
26
- { brandCategoryBannerMobile: { columnName: 'brand_banner_mobile' } },
27
- { brandLogo: { columnName: 'brand_logo' } },
28
- { brandCondition: { columnName: 'brand_condition' } },
29
- {
30
- conditions: {
31
- columnName: 'tag_condition',
32
- type: HasuraGraphQLColumnType.Jsonb,
33
- from: (tags, row) => ({ brand: row.brand_condition, tags: Array.isArray(tags) ? tags : [] }),
34
- bindPersistData: (value) => {
35
- return {
36
- brand_condition: value.brand,
37
- tag_condition: (value === null || value === void 0 ? void 0 : value.tags) || [],
38
- };
39
- },
40
- bindFindFilter: (sentence) => {
41
- return Object.assign(Object.assign({}, (sentence.brand ? { brand_condition: sentence.brand } : {})), (sentence.tags ? { tag_condition: sentence.tags } : {}));
42
- },
43
- },
44
- },
45
- {
46
- filters: {
47
- columnName: 'filters',
48
- foreignKeyColumn: { filter_id: 'id' },
49
- fields: [{ filter: ['id', 'description', 'slug', 'enabled'] }],
50
- bindPersistData: (value) => ({
51
- filters: { data: value.map((filter) => ({ filter_id: filter.id })) },
52
- }),
53
- from: (filters) => (filters === null || filters === void 0 ? void 0 : filters.map((filter) => filter === null || filter === void 0 ? void 0 : filter.filter)) || [],
54
- },
55
- },
56
- { createdAt: { columnName: 'created_at' } },
57
- { updatedAt: { columnName: 'updated_at' } },
58
- {
59
- products: {
60
- columnName: 'products',
61
- fields: ['product_id'],
62
- from: (value) => value.map((product) => product.product_id.toString()),
63
- to: (productIds) => productIds.map((productId) => ({
64
- product_id: +productId,
65
- })),
66
- },
67
- },
68
- {
69
- metadata: {
70
- columnName: 'metadata',
71
- fields: ['title', 'description'],
72
- bindPersistData: (value) => ({
73
- metadata: { data: value },
74
- }),
75
- },
76
- },
77
- { isCollection: { columnName: 'is_collection' } },
78
- { isWishlist: { columnName: 'is_wishlist' } },
79
- 'reference',
80
- { parentId: { columnName: 'parent_id' } },
81
- {
82
- parent: {
83
- columnName: 'parent',
84
- foreignKeyColumn: { id: 'parentId' },
85
- fields: ['id', 'name', 'reference', 'slug'],
86
- },
87
- },
88
- { personId: { columnName: 'person_id' } },
89
- ],
90
- });
91
- this.categoryFilterRepository = categoryFilterRepository;
92
- }
93
- create(params) {
94
- const _super = Object.create(null, {
95
- create: { get: () => super.create }
96
- });
97
- return __awaiter(this, void 0, void 0, function* () {
98
- const { metadata } = params, data = __rest(params, ["metadata"]);
99
- return _super.create.call(this, Object.assign(Object.assign({}, data), { isWishlist: true, isCollection: true, brandCategory: false, metadata: metadata || { description: data.description, title: data.name } }));
100
- });
101
- }
102
- get(identifiers) {
103
- const _super = Object.create(null, {
104
- get: { get: () => super.get }
105
- });
106
- return __awaiter(this, void 0, void 0, function* () {
107
- const data = yield _super.get.call(this, identifiers);
108
- if (!data.isWishlist)
109
- throw new NotFoundError(`Category with id ${identifiers.id} is not a wishlist`);
110
- return data;
111
- });
112
- }
113
- update(params) {
114
- const _super = Object.create(null, {
115
- update: { get: () => super.update }
116
- });
117
- return __awaiter(this, void 0, void 0, function* () {
118
- const { products, id: checkId, metadata, filters } = params, data = __rest(params, ["products", "id", "metadata", "filters"]);
119
- const plainData = this.paramsToPlain({ id: checkId });
120
- const id = plainData.id;
121
- const category = yield _super.update.call(this, Object.assign(Object.assign({ id }, data), { isWishlist: true, isCollection: true, brandCategory: false }));
122
- category.products = products && (yield this.updateProducts(+id, { products }));
123
- category.metadata = metadata && (yield this.updateMetadata(+id, { metadata }));
124
- return category;
125
- });
126
- }
127
- getWishlistBySlug(slug) {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- if (!slug)
130
- return;
131
- const { data } = yield this.find({
132
- filters: {
133
- slug,
134
- isWishlist: { operator: Where.EQUALS, value: true },
135
- },
136
- options: {
137
- enableCount: false,
138
- },
139
- });
140
- if (!data.length)
141
- throw new NotFoundError(`Wishlist with slug ${slug} not found`);
142
- if (data.length > 1)
143
- throw new DuplicatedResultsError('Query returned duplicated values');
144
- return data.shift();
145
- });
146
- }
147
- getWishlistByPerson(personId) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- if (!personId)
150
- return;
151
- const { data } = yield this.find({
152
- filters: {
153
- personId: { operator: Where.EQUALS, value: personId },
154
- isWishlist: { operator: Where.EQUALS, value: true },
155
- },
156
- options: {
157
- enableCount: false,
158
- },
159
- });
160
- if (!data.length)
161
- throw new NotFoundError(`Wishlists from person ${personId} not found`);
162
- return data;
163
- });
164
- }
165
- updateProducts(categoryId, { products }) {
166
- return __awaiter(this, void 0, void 0, function* () {
167
- if ('action' in products && products.action === 'remove') {
168
- yield this.mutation('delete_category_product', ['affected_rows'], {
169
- where: {
170
- type: 'category_product_bool_exp',
171
- required: true,
172
- value: { category_id: { _eq: categoryId } },
173
- },
174
- });
175
- yield this.categoryFilterRepository.deleteByCategory(categoryId);
176
- return [];
177
- }
178
- const plainData = this.paramsToPlain({ products });
179
- if (!plainData.products || plainData.products.length <= 0)
180
- return [];
181
- yield this.mutation('delete_category_product', ['affected_rows'], {
182
- where: {
183
- type: 'category_product_bool_exp',
184
- required: true,
185
- value: { category_id: { _eq: categoryId } },
186
- },
187
- });
188
- yield this.categoryFilterRepository.deleteByCategory(categoryId);
189
- yield this.mutation('insert_category_product', ['affected_rows'], {
190
- objects: {
191
- type: '[category_product_insert_input!]',
192
- required: true,
193
- value: plainData.products.map((productId) => ({ category_id: categoryId, product_id: productId })),
194
- },
195
- });
196
- return plainData.products;
197
- });
198
- }
199
- updateMetadata(categoryId, { metadata }) {
200
- return __awaiter(this, void 0, void 0, function* () {
201
- const plainData = this.paramsToPlain({ metadata });
202
- if (!plainData.metadata)
203
- return;
204
- yield this.mutation('update_category_metadata_by_pk', ['category_id'], {
205
- pk_columns: {
206
- value: { category_id: categoryId },
207
- type: 'category_metadata_pk_columns_input',
208
- required: true,
209
- },
210
- _set: {
211
- value: omit(metadata, ['category_id']),
212
- type: 'category_metadata_set_input',
213
- required: true,
214
- },
215
- });
216
- return plainData.metadata;
217
- });
218
- }
219
- getCategoryBySlug(slug, _shop) {
220
- return this.getWishlistBySlug(slug);
221
- }
222
- getCategoryByShop(shop) {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- if (!shop)
225
- return;
226
- const { data } = yield this.find({
227
- filters: {
228
- shops: { operator: Where.IN, value: [shop] },
229
- published: { operator: Where.EQUALS, value: true },
230
- isWishlist: { operator: Where.EQUALS, value: true },
231
- },
232
- options: {
233
- enableCount: false,
234
- },
235
- });
236
- return data;
237
- });
238
- }
239
- getCategoriesForHome(categoryIds, limit, gender) {
240
- return;
241
- }
242
- mountCategory(category, options) {
243
- return;
244
- }
245
- getChildren(parentId) {
246
- return;
247
- }
248
- isChild(id, parentId) {
249
- return;
250
- }
251
- }
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3QtaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL3JlcG9zaXRvcmllcy9jYXRhbG9nL3dpc2hsaXN0LWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFRTCxLQUFLLEVBQ0wsUUFBUSxHQUVULE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUt2RSxNQUFNLE9BQU8sK0JBQ1gsU0FBUSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBVyxJQUFJLENBQUMsQ0FBQztJQUdoRSxZQUNFLFFBQWdCLEVBQ2hCLFdBQXFDLEVBQ3BCLHdCQUErRDtRQUVoRixLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsVUFBVTtZQUNyQixLQUFLLEVBQUUsUUFBUTtZQUNmLFFBQVE7WUFDUixXQUFXO1lBQ1gsTUFBTSxFQUFFO2dCQUNOLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7Z0JBQ3RGLEVBQUUsV0FBVyxFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxFQUFFO2dCQUMvQyxNQUFNO2dCQUNOLGFBQWE7Z0JBQ2IsT0FBTztnQkFDUCxXQUFXO2dCQUNYLE1BQU07Z0JBQ04sRUFBRSxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDdkUsTUFBTTtnQkFDTixFQUFFLGFBQWEsRUFBRSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO2dCQUNuRCxFQUFFLG1CQUFtQixFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxFQUFFO2dCQUN2RCxFQUFFLHlCQUF5QixFQUFFLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLEVBQUU7Z0JBQ3BFLEVBQUUsU0FBUyxFQUFFLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxFQUFFO2dCQUMzQyxFQUFFLGNBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFO2dCQUNyRDtvQkFDRSxVQUFVLEVBQUU7d0JBQ1YsVUFBVSxFQUFFLGVBQWU7d0JBQzNCLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxLQUFLO3dCQUNuQyxJQUFJLEVBQUUsQ0FBQyxJQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQ3JHLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFOzRCQUN6QixPQUFPO2dDQUNMLGVBQWUsRUFBRSxLQUFLLENBQUMsS0FBSztnQ0FDNUIsYUFBYSxFQUFFLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLElBQUksS0FBSSxFQUFFOzZCQUNqQyxDQUFBO3dCQUNILENBQUM7d0JBQ0QsY0FBYyxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7NEJBQ2hDLHVDQUNLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FDM0QsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUMzRDt3QkFDSCxDQUFDO3FCQUNGO2lCQUNGO2dCQUNEO29CQUNFLE9BQU8sRUFBRTt3QkFDUCxVQUFVLEVBQUUsU0FBUzt3QkFDckIsZ0JBQWdCLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO3dCQUNyQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7d0JBQzlELGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs0QkFDM0IsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTt5QkFDckUsQ0FBQzt3QkFDRixJQUFJLEVBQUUsQ0FBQyxPQUEwRixFQUFFLEVBQUUsQ0FDbkcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxDQUFDLEtBQUksRUFBRTtxQkFDakQ7aUJBQ0Y7Z0JBQ0QsRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUU7Z0JBQzNDLEVBQUUsU0FBUyxFQUFFLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxFQUFFO2dCQUMzQztvQkFDRSxRQUFRLEVBQUU7d0JBQ1IsVUFBVSxFQUFFLFVBQVU7d0JBQ3RCLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQzt3QkFDdEIsSUFBSSxFQUFFLENBQUMsS0FBK0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDaEcsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDakIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQzs0QkFDN0IsVUFBVSxFQUFFLENBQUMsU0FBUzt5QkFDdkIsQ0FBQyxDQUFDO3FCQUNOO2lCQUNGO2dCQUNEO29CQUNFLFFBQVEsRUFBRTt3QkFDUixVQUFVLEVBQUUsVUFBVTt3QkFDdEIsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQzt3QkFDaEMsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUMzQixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO3lCQUMxQixDQUFDO3FCQUNIO2lCQUNGO2dCQUNELEVBQUUsWUFBWSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxFQUFFO2dCQUNqRCxFQUFFLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsRUFBRTtnQkFDN0MsV0FBVztnQkFDWCxFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDekM7b0JBQ0UsTUFBTSxFQUFFO3dCQUNOLFVBQVUsRUFBRSxRQUFRO3dCQUNwQixnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUU7d0JBQ3BDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQztxQkFDNUM7aUJBQ0Y7Z0JBQ0QsRUFBRSxRQUFRLEVBQUUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEVBQUU7YUFDMUM7U0FDRixDQUFDLENBQUE7UUF4RmUsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF1QztJQXlGbEYsQ0FBQztJQUVLLE1BQU0sQ0FBQyxNQUF3Qzs7Ozs7WUFDbkQsTUFBTSxFQUFFLFFBQVEsS0FBYyxNQUFNLEVBQWYsSUFBSSxVQUFLLE1BQU0sRUFBOUIsWUFBcUIsQ0FBUyxDQUFBO1lBRXBDLE9BQU8sT0FBTSxNQUFNLDRDQUNkLElBQUksS0FDUCxVQUFVLEVBQUUsSUFBSSxFQUNoQixZQUFZLEVBQUUsSUFBSSxFQUNsQixhQUFhLEVBQUUsS0FBSyxFQUNwQixRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FDekU7UUFDSixDQUFDO0tBQUE7SUFFSyxHQUFHLENBQUMsV0FBMEM7Ozs7O1lBQ2xELE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTSxHQUFHLFlBQUMsV0FBVyxDQUFDLENBQUE7WUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO2dCQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsb0JBQW9CLFdBQVcsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUE7WUFFckcsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO0tBQUE7SUFFSyxNQUFNLENBQUMsTUFBd0M7Ozs7O1lBQ25ELE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxLQUFjLE1BQU0sRUFBZixJQUFJLFVBQUssTUFBTSxFQUE5RCx5Q0FBcUQsQ0FBUyxDQUFBO1lBQ3BFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUNyRCxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFBO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTSxNQUFNLDBDQUFHLEVBQUUsSUFBSyxJQUFJLEtBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLElBQUcsQ0FBQTtZQUVoSCxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUM5RSxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUU5RSxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO0tBQUE7SUFFSyxpQkFBaUIsQ0FBQyxJQUFZOztZQUNsQyxJQUFJLENBQUMsSUFBSTtnQkFBRSxPQUFNO1lBRWpCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLE9BQU8sRUFBRTtvQkFDUCxJQUFJO29CQUNKLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7aUJBQ3BEO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxXQUFXLEVBQUUsS0FBSztpQkFDbkI7YUFDRixDQUFDLENBQUE7WUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07Z0JBQUUsTUFBTSxJQUFJLGFBQWEsQ0FBQyxzQkFBc0IsSUFBSSxZQUFZLENBQUMsQ0FBQTtZQUNqRixJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFBRSxNQUFNLElBQUksc0JBQXNCLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtZQUV6RixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNyQixDQUFDO0tBQUE7SUFFSyxtQkFBbUIsQ0FBQyxRQUFnQjs7WUFDeEMsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTTtZQUVyQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMvQixPQUFPLEVBQUU7b0JBQ1AsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtvQkFDckQsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtpQkFDcEQ7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFdBQVcsRUFBRSxLQUFLO2lCQUNuQjthQUNGLENBQUMsQ0FBQTtZQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtnQkFBRSxNQUFNLElBQUksYUFBYSxDQUFDLHlCQUF5QixRQUFRLFlBQVksQ0FBQyxDQUFBO1lBRXhGLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztLQUFBO0lBRWEsY0FBYyxDQUMxQixVQUFrQixFQUNsQixFQUFFLFFBQVEsRUFBbUU7O1lBRTdFLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFFBQVEsRUFBRTtnQkFDeEQsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUU7b0JBQ2hFLEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsMkJBQTJCO3dCQUNqQyxRQUFRLEVBQUUsSUFBSTt3QkFDZCxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUU7cUJBQzVDO2lCQUNGLENBQUMsQ0FBQTtnQkFFRixNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtnQkFFaEUsT0FBTyxFQUFFLENBQUE7YUFDVjtZQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBRWxELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUM7Z0JBQUUsT0FBTyxFQUFFLENBQUE7WUFFcEUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ2hFLEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsMkJBQTJCO29CQUNqQyxRQUFRLEVBQUUsSUFBSTtvQkFDZCxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUU7aUJBQzVDO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUE7WUFFaEUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ2hFLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsa0NBQWtDO29CQUN4QyxRQUFRLEVBQUUsSUFBSTtvQkFDZCxLQUFLLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO2lCQUNuRzthQUNGLENBQUMsQ0FBQTtZQUVGLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQTtRQUMzQixDQUFDO0tBQUE7SUFFYSxjQUFjLENBQzFCLFVBQWtCLEVBQ2xCLEVBQUUsUUFBUSxFQUFtRTs7WUFFN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFFbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2dCQUFFLE9BQU07WUFFL0IsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3JFLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFO29CQUNsQyxJQUFJLEVBQUUsb0NBQW9DO29CQUMxQyxRQUFRLEVBQUUsSUFBSTtpQkFDZjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDdEMsSUFBSSxFQUFFLDZCQUE2QjtvQkFDbkMsUUFBUSxFQUFFLElBQUk7aUJBQ2Y7YUFDRixDQUFDLENBQUE7WUFFRixPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUE7UUFDM0IsQ0FBQztLQUFBO0lBRUQsaUJBQWlCLENBQUMsSUFBWSxFQUFFLEtBQVk7UUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVLLGlCQUFpQixDQUFDLElBQVk7O1lBQ2xDLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU07WUFFakIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDL0IsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUM1QyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO29CQUNsRCxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUNwRDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsV0FBVyxFQUFFLEtBQUs7aUJBQ25CO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO0tBQUE7SUFFRCxvQkFBb0IsQ0FBQyxXQUFxQixFQUFFLEtBQWMsRUFBRSxNQUFlO1FBQ3pFLE9BQU07SUFDUixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWtCLEVBQUUsT0FBZ0Q7UUFDaEYsT0FBTTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsT0FBTTtJQUNSLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVSxFQUFFLFFBQWdCO1FBQ2xDLE9BQU07SUFDUixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDYXRlZ29yeSxcbiAgQ2F0ZWdvcnlNZXRhZGF0YSxcbiAgQ3JlYXRlUmVwb3NpdG9yeVBhcmFtcyxcbiAgR2V0UmVwb3NpdG9yeVBhcmFtcyxcbiAgUHJvZHVjdCxcbiAgU2hvcHMsXG4gIFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXMsXG4gIFdoZXJlLFxuICBXaXNobGlzdCxcbiAgV2lzaGxpc3RSZXBvc2l0b3J5LFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBEdXBsaWNhdGVkUmVzdWx0c0Vycm9yLCBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgQmFzZSwgb21pdCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcydcbmltcG9ydCB7IHdpdGhDcnVkSGFzdXJhR3JhcGhRTCwgd2l0aEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5pbXBvcnQgeyBDYXRlZ29yeUhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9tb2RlbHMnXG5pbXBvcnQgeyBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IENhdGVnb3J5RmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkgfSBmcm9tICcuL2NhdGVnb3J5LWZpbHRlci1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5J1xuXG5leHBvcnQgY2xhc3MgV2lzaGxpc3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxuICBleHRlbmRzIHdpdGhDcnVkSGFzdXJhR3JhcGhRTCh3aXRoSGFzdXJhR3JhcGhRTDxXaXNobGlzdD4oQmFzZSkpXG4gIGltcGxlbWVudHMgV2lzaGxpc3RSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeTogQ2F0ZWdvcnlGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdGFibGVOYW1lOiAnY2F0ZWdvcnknLFxuICAgICAgbW9kZWw6IFdpc2hsaXN0LFxuICAgICAgZW5kcG9pbnQsXG4gICAgICBhdXRoT3B0aW9ucyxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7IGlkOiB7IGNvbHVtbk5hbWU6ICdpZCcsIHRvOiAodmFsdWUpID0+ICt2YWx1ZSwgZnJvbTogKHZhbHVlKSA9PiB2YWx1ZS50b1N0cmluZygpIH0gfSxcbiAgICAgICAgeyBmaXJlc3RvcmVJZDogeyBjb2x1bW5OYW1lOiAnZmlyZXN0b3JlX2lkJyB9IH0sXG4gICAgICAgICduYW1lJyxcbiAgICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgJ2ltYWdlJyxcbiAgICAgICAgJ3B1Ymxpc2hlZCcsXG4gICAgICAgICdzaG9wJyxcbiAgICAgICAgeyBzaG9wczogeyBjb2x1bW5OYW1lOiAnc2hvcHMnLCB0eXBlOiBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZS5Kc29uYiB9IH0sXG4gICAgICAgICdzbHVnJyxcbiAgICAgICAgeyBicmFuZENhdGVnb3J5OiB7IGNvbHVtbk5hbWU6ICdicmFuZF9jYXRlZ29yeScgfSB9LFxuICAgICAgICB7IGJyYW5kQ2F0ZWdvcnlCYW5uZXI6IHsgY29sdW1uTmFtZTogJ2JyYW5kX2Jhbm5lcicgfSB9LFxuICAgICAgICB7IGJyYW5kQ2F0ZWdvcnlCYW5uZXJNb2JpbGU6IHsgY29sdW1uTmFtZTogJ2JyYW5kX2Jhbm5lcl9tb2JpbGUnIH0gfSxcbiAgICAgICAgeyBicmFuZExvZ286IHsgY29sdW1uTmFtZTogJ2JyYW5kX2xvZ28nIH0gfSxcbiAgICAgICAgeyBicmFuZENvbmRpdGlvbjogeyBjb2x1bW5OYW1lOiAnYnJhbmRfY29uZGl0aW9uJyB9IH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAndGFnX2NvbmRpdGlvbicsXG4gICAgICAgICAgICB0eXBlOiBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZS5Kc29uYixcbiAgICAgICAgICAgIGZyb206ICh0YWdzOiB1bmtub3duLCByb3cpID0+ICh7IGJyYW5kOiByb3cuYnJhbmRfY29uZGl0aW9uLCB0YWdzOiBBcnJheS5pc0FycmF5KHRhZ3MpID8gdGFncyA6IFtdIH0pLFxuICAgICAgICAgICAgYmluZFBlcnNpc3REYXRhOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBicmFuZF9jb25kaXRpb246IHZhbHVlLmJyYW5kLFxuICAgICAgICAgICAgICAgIHRhZ19jb25kaXRpb246IHZhbHVlPy50YWdzIHx8IFtdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYmluZEZpbmRGaWx0ZXI6IChzZW50ZW5jZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uKHNlbnRlbmNlLmJyYW5kID8geyBicmFuZF9jb25kaXRpb246IHNlbnRlbmNlLmJyYW5kIH0gOiB7fSksXG4gICAgICAgICAgICAgICAgLi4uKHNlbnRlbmNlLnRhZ3MgPyB7IHRhZ19jb25kaXRpb246IHNlbnRlbmNlLnRhZ3MgfSA6IHt9KSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgZm9yZWlnbktleUNvbHVtbjogeyBmaWx0ZXJfaWQ6ICdpZCcgfSxcbiAgICAgICAgICAgIGZpZWxkczogW3sgZmlsdGVyOiBbJ2lkJywgJ2Rlc2NyaXB0aW9uJywgJ3NsdWcnLCAnZW5hYmxlZCddIH1dLFxuICAgICAgICAgICAgYmluZFBlcnNpc3REYXRhOiAodmFsdWUpID0+ICh7XG4gICAgICAgICAgICAgIGZpbHRlcnM6IHsgZGF0YTogdmFsdWUubWFwKChmaWx0ZXIpID0+ICh7IGZpbHRlcl9pZDogZmlsdGVyLmlkIH0pKSB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmcm9tOiAoZmlsdGVyczogeyBmaWx0ZXI6IHsgaWQ6IG51bWJlcjsgZGVzY3JpcHRpb246IHN0cmluZzsgc2x1Zzogc3RyaW5nOyBlbmFibGVkOiBib29sZWFuIH0gfVtdKSA9PlxuICAgICAgICAgICAgICBmaWx0ZXJzPy5tYXAoKGZpbHRlcikgPT4gZmlsdGVyPy5maWx0ZXIpIHx8IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgY3JlYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICdjcmVhdGVkX2F0JyB9IH0sXG4gICAgICAgIHsgdXBkYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICd1cGRhdGVkX2F0JyB9IH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm9kdWN0czoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ3Byb2R1Y3RzJyxcbiAgICAgICAgICAgIGZpZWxkczogWydwcm9kdWN0X2lkJ10sXG4gICAgICAgICAgICBmcm9tOiAodmFsdWU6IHsgcHJvZHVjdF9pZDogbnVtYmVyIH1bXSkgPT4gdmFsdWUubWFwKChwcm9kdWN0KSA9PiBwcm9kdWN0LnByb2R1Y3RfaWQudG9TdHJpbmcoKSksXG4gICAgICAgICAgICB0bzogKHByb2R1Y3RJZHMpID0+XG4gICAgICAgICAgICAgIHByb2R1Y3RJZHMubWFwKChwcm9kdWN0SWQpID0+ICh7XG4gICAgICAgICAgICAgICAgcHJvZHVjdF9pZDogK3Byb2R1Y3RJZCxcbiAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ21ldGFkYXRhJyxcbiAgICAgICAgICAgIGZpZWxkczogWyd0aXRsZScsICdkZXNjcmlwdGlvbiddLFxuICAgICAgICAgICAgYmluZFBlcnNpc3REYXRhOiAodmFsdWUpID0+ICh7XG4gICAgICAgICAgICAgIG1ldGFkYXRhOiB7IGRhdGE6IHZhbHVlIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7IGlzQ29sbGVjdGlvbjogeyBjb2x1bW5OYW1lOiAnaXNfY29sbGVjdGlvbicgfSB9LFxuICAgICAgICB7IGlzV2lzaGxpc3Q6IHsgY29sdW1uTmFtZTogJ2lzX3dpc2hsaXN0JyB9IH0sXG4gICAgICAgICdyZWZlcmVuY2UnLFxuICAgICAgICB7IHBhcmVudElkOiB7IGNvbHVtbk5hbWU6ICdwYXJlbnRfaWQnIH0gfSxcbiAgICAgICAge1xuICAgICAgICAgIHBhcmVudDoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ3BhcmVudCcsXG4gICAgICAgICAgICBmb3JlaWduS2V5Q29sdW1uOiB7IGlkOiAncGFyZW50SWQnIH0sXG4gICAgICAgICAgICBmaWVsZHM6IFsnaWQnLCAnbmFtZScsICdyZWZlcmVuY2UnLCAnc2x1ZyddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgcGVyc29uSWQ6IHsgY29sdW1uTmFtZTogJ3BlcnNvbl9pZCcgfSB9LFxuICAgICAgXSxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlKHBhcmFtczogQ3JlYXRlUmVwb3NpdG9yeVBhcmFtczxXaXNobGlzdD4pOiBQcm9taXNlPFdpc2hsaXN0PiB7XG4gICAgY29uc3QgeyBtZXRhZGF0YSwgLi4uZGF0YSB9ID0gcGFyYW1zXG5cbiAgICByZXR1cm4gc3VwZXIuY3JlYXRlKHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICBpc1dpc2hsaXN0OiB0cnVlLFxuICAgICAgaXNDb2xsZWN0aW9uOiB0cnVlLFxuICAgICAgYnJhbmRDYXRlZ29yeTogZmFsc2UsXG4gICAgICBtZXRhZGF0YTogbWV0YWRhdGEgfHwgeyBkZXNjcmlwdGlvbjogZGF0YS5kZXNjcmlwdGlvbiwgdGl0bGU6IGRhdGEubmFtZSB9LFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXQoaWRlbnRpZmllcnM6IEdldFJlcG9zaXRvcnlQYXJhbXM8V2lzaGxpc3Q+KTogUHJvbWlzZTxXaXNobGlzdD4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBzdXBlci5nZXQoaWRlbnRpZmllcnMpXG5cbiAgICBpZiAoIWRhdGEuaXNXaXNobGlzdCkgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYENhdGVnb3J5IHdpdGggaWQgJHtpZGVudGlmaWVycy5pZH0gaXMgbm90IGEgd2lzaGxpc3RgKVxuXG4gICAgcmV0dXJuIGRhdGFcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShwYXJhbXM6IFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXM8V2lzaGxpc3Q+KTogUHJvbWlzZTxXaXNobGlzdD4ge1xuICAgIGNvbnN0IHsgcHJvZHVjdHMsIGlkOiBjaGVja0lkLCBtZXRhZGF0YSwgZmlsdGVycywgLi4uZGF0YSB9ID0gcGFyYW1zXG4gICAgY29uc3QgcGxhaW5EYXRhID0gdGhpcy5wYXJhbXNUb1BsYWluKHsgaWQ6IGNoZWNrSWQgfSlcbiAgICBjb25zdCBpZCA9IHBsYWluRGF0YS5pZFxuICAgIGNvbnN0IGNhdGVnb3J5ID0gYXdhaXQgc3VwZXIudXBkYXRlKHsgaWQsIC4uLmRhdGEsIGlzV2lzaGxpc3Q6IHRydWUsIGlzQ29sbGVjdGlvbjogdHJ1ZSwgYnJhbmRDYXRlZ29yeTogZmFsc2UgfSlcblxuICAgIGNhdGVnb3J5LnByb2R1Y3RzID0gcHJvZHVjdHMgJiYgKGF3YWl0IHRoaXMudXBkYXRlUHJvZHVjdHMoK2lkLCB7IHByb2R1Y3RzIH0pKVxuICAgIGNhdGVnb3J5Lm1ldGFkYXRhID0gbWV0YWRhdGEgJiYgKGF3YWl0IHRoaXMudXBkYXRlTWV0YWRhdGEoK2lkLCB7IG1ldGFkYXRhIH0pKVxuXG4gICAgcmV0dXJuIGNhdGVnb3J5XG4gIH1cblxuICBhc3luYyBnZXRXaXNobGlzdEJ5U2x1ZyhzbHVnOiBzdHJpbmcpOiBQcm9taXNlPFdpc2hsaXN0PiB7XG4gICAgaWYgKCFzbHVnKSByZXR1cm5cblxuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5maW5kKHtcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgc2x1ZyxcbiAgICAgICAgaXNXaXNobGlzdDogeyBvcGVyYXRvcjogV2hlcmUuRVFVQUxTLCB2YWx1ZTogdHJ1ZSB9LFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZW5hYmxlQ291bnQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgaWYgKCFkYXRhLmxlbmd0aCkgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYFdpc2hsaXN0IHdpdGggc2x1ZyAke3NsdWd9IG5vdCBmb3VuZGApXG4gICAgaWYgKGRhdGEubGVuZ3RoID4gMSkgdGhyb3cgbmV3IER1cGxpY2F0ZWRSZXN1bHRzRXJyb3IoJ1F1ZXJ5IHJldHVybmVkIGR1cGxpY2F0ZWQgdmFsdWVzJylcblxuICAgIHJldHVybiBkYXRhLnNoaWZ0KClcbiAgfVxuXG4gIGFzeW5jIGdldFdpc2hsaXN0QnlQZXJzb24ocGVyc29uSWQ6IHN0cmluZyk6IFByb21pc2U8V2lzaGxpc3RbXT4ge1xuICAgIGlmICghcGVyc29uSWQpIHJldHVyblxuXG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmZpbmQoe1xuICAgICAgZmlsdGVyczoge1xuICAgICAgICBwZXJzb25JZDogeyBvcGVyYXRvcjogV2hlcmUuRVFVQUxTLCB2YWx1ZTogcGVyc29uSWQgfSxcbiAgICAgICAgaXNXaXNobGlzdDogeyBvcGVyYXRvcjogV2hlcmUuRVFVQUxTLCB2YWx1ZTogdHJ1ZSB9LFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZW5hYmxlQ291bnQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgaWYgKCFkYXRhLmxlbmd0aCkgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYFdpc2hsaXN0cyBmcm9tIHBlcnNvbiAke3BlcnNvbklkfSBub3QgZm91bmRgKVxuXG4gICAgcmV0dXJuIGRhdGFcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlUHJvZHVjdHMoXG4gICAgY2F0ZWdvcnlJZDogbnVtYmVyLFxuICAgIHsgcHJvZHVjdHMgfTogUGljazxVcGRhdGVSZXBvc2l0b3J5UGFyYW1zPENhdGVnb3J5SGFzdXJhR3JhcGhRTD4sICdwcm9kdWN0cyc+LFxuICApOiBQcm9taXNlPENhdGVnb3J5SGFzdXJhR3JhcGhRTFsncHJvZHVjdHMnXT4ge1xuICAgIGlmICgnYWN0aW9uJyBpbiBwcm9kdWN0cyAmJiBwcm9kdWN0cy5hY3Rpb24gPT09ICdyZW1vdmUnKSB7XG4gICAgICBhd2FpdCB0aGlzLm11dGF0aW9uKCdkZWxldGVfY2F0ZWdvcnlfcHJvZHVjdCcsIFsnYWZmZWN0ZWRfcm93cyddLCB7XG4gICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgdHlwZTogJ2NhdGVnb3J5X3Byb2R1Y3RfYm9vbF9leHAnLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIHZhbHVlOiB7IGNhdGVnb3J5X2lkOiB7IF9lcTogY2F0ZWdvcnlJZCB9IH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuXG4gICAgICBhd2FpdCB0aGlzLmNhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeS5kZWxldGVCeUNhdGVnb3J5KGNhdGVnb3J5SWQpXG5cbiAgICAgIHJldHVybiBbXVxuICAgIH1cblxuICAgIGNvbnN0IHBsYWluRGF0YSA9IHRoaXMucGFyYW1zVG9QbGFpbih7IHByb2R1Y3RzIH0pXG5cbiAgICBpZiAoIXBsYWluRGF0YS5wcm9kdWN0cyB8fCBwbGFpbkRhdGEucHJvZHVjdHMubGVuZ3RoIDw9IDApIHJldHVybiBbXVxuXG4gICAgYXdhaXQgdGhpcy5tdXRhdGlvbignZGVsZXRlX2NhdGVnb3J5X3Byb2R1Y3QnLCBbJ2FmZmVjdGVkX3Jvd3MnXSwge1xuICAgICAgd2hlcmU6IHtcbiAgICAgICAgdHlwZTogJ2NhdGVnb3J5X3Byb2R1Y3RfYm9vbF9leHAnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IHsgY2F0ZWdvcnlfaWQ6IHsgX2VxOiBjYXRlZ29yeUlkIH0gfSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGF3YWl0IHRoaXMuY2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5LmRlbGV0ZUJ5Q2F0ZWdvcnkoY2F0ZWdvcnlJZClcblxuICAgIGF3YWl0IHRoaXMubXV0YXRpb24oJ2luc2VydF9jYXRlZ29yeV9wcm9kdWN0JywgWydhZmZlY3RlZF9yb3dzJ10sIHtcbiAgICAgIG9iamVjdHM6IHtcbiAgICAgICAgdHlwZTogJ1tjYXRlZ29yeV9wcm9kdWN0X2luc2VydF9pbnB1dCFdJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHZhbHVlOiBwbGFpbkRhdGEucHJvZHVjdHMubWFwKChwcm9kdWN0SWQpID0+ICh7IGNhdGVnb3J5X2lkOiBjYXRlZ29yeUlkLCBwcm9kdWN0X2lkOiBwcm9kdWN0SWQgfSkpLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHBsYWluRGF0YS5wcm9kdWN0c1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVNZXRhZGF0YShcbiAgICBjYXRlZ29yeUlkOiBudW1iZXIsXG4gICAgeyBtZXRhZGF0YSB9OiBQaWNrPFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXM8Q2F0ZWdvcnlIYXN1cmFHcmFwaFFMPiwgJ21ldGFkYXRhJz4sXG4gICk6IFByb21pc2U8Q2F0ZWdvcnlNZXRhZGF0YT4ge1xuICAgIGNvbnN0IHBsYWluRGF0YSA9IHRoaXMucGFyYW1zVG9QbGFpbih7IG1ldGFkYXRhIH0pXG5cbiAgICBpZiAoIXBsYWluRGF0YS5tZXRhZGF0YSkgcmV0dXJuXG5cbiAgICBhd2FpdCB0aGlzLm11dGF0aW9uKCd1cGRhdGVfY2F0ZWdvcnlfbWV0YWRhdGFfYnlfcGsnLCBbJ2NhdGVnb3J5X2lkJ10sIHtcbiAgICAgIHBrX2NvbHVtbnM6IHtcbiAgICAgICAgdmFsdWU6IHsgY2F0ZWdvcnlfaWQ6IGNhdGVnb3J5SWQgfSxcbiAgICAgICAgdHlwZTogJ2NhdGVnb3J5X21ldGFkYXRhX3BrX2NvbHVtbnNfaW5wdXQnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBfc2V0OiB7XG4gICAgICAgIHZhbHVlOiBvbWl0KG1ldGFkYXRhLCBbJ2NhdGVnb3J5X2lkJ10pLFxuICAgICAgICB0eXBlOiAnY2F0ZWdvcnlfbWV0YWRhdGFfc2V0X2lucHV0JyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICByZXR1cm4gcGxhaW5EYXRhLm1ldGFkYXRhXG4gIH1cblxuICBnZXRDYXRlZ29yeUJ5U2x1ZyhzbHVnOiBzdHJpbmcsIF9zaG9wOiBTaG9wcyk6IFByb21pc2U8V2lzaGxpc3Q+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRXaXNobGlzdEJ5U2x1ZyhzbHVnKVxuICB9XG5cbiAgYXN5bmMgZ2V0Q2F0ZWdvcnlCeVNob3Aoc2hvcDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoIXNob3ApIHJldHVyblxuXG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmZpbmQoe1xuICAgICAgZmlsdGVyczoge1xuICAgICAgICBzaG9wczogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBbc2hvcF0gfSxcbiAgICAgICAgcHVibGlzaGVkOiB7IG9wZXJhdG9yOiBXaGVyZS5FUVVBTFMsIHZhbHVlOiB0cnVlIH0sXG4gICAgICAgIGlzV2lzaGxpc3Q6IHsgb3BlcmF0b3I6IFdoZXJlLkVRVUFMUywgdmFsdWU6IHRydWUgfSxcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGVuYWJsZUNvdW50OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIHJldHVybiBkYXRhXG4gIH1cblxuICBnZXRDYXRlZ29yaWVzRm9ySG9tZShjYXRlZ29yeUlkczogc3RyaW5nW10sIGxpbWl0PzogbnVtYmVyLCBnZW5kZXI/OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVyblxuICB9XG5cbiAgbW91bnRDYXRlZ29yeShjYXRlZ29yeTogQ2F0ZWdvcnksIG9wdGlvbnM/OiB7IGxpbWl0PzogbnVtYmVyOyBoYXNTdG9jaz86IGJvb2xlYW4gfSk6IFByb21pc2U8UHJvZHVjdFtdPiB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBnZXRDaGlsZHJlbihwYXJlbnRJZDogbnVtYmVyKTogUHJvbWlzZTxDYXRlZ29yeVtdPiB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBpc0NoaWxkKGlkOiBudW1iZXIsIHBhcmVudElkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm5cbiAgfVxufVxuIl19
@@ -1,27 +0,0 @@
1
- import { Category, CreateRepositoryParams, GetRepositoryParams, Product, Shops, UpdateRepositoryParams, Wishlist, WishlistRepository } from '../../../../domain';
2
- import { HasuraGraphQLAuthOptions } from '../../types';
3
- import { CategoryFilterHasuraGraphQLRepository } from './category-filter-hasura-graphql.repository';
4
- declare const WishlistHasuraGraphQLRepository_base: import("../../../../utils").MixinCtor<import("../../types").GraphQLRepository<Wishlist> & import("../../../../domain").CrudRepository<Wishlist, import("../../../../domain").CrudParams<Wishlist>> & import("../../../../domain").UpdateRepository<Wishlist, import("../../../../domain").RepositoryUpdateParams<Wishlist>> & {
5
- paramsToPlain(params: import("../../../../domain").RepositoryUpdateParams<Wishlist>): Partial<Wishlist>;
6
- }, [import("../../mixins").ConstructorParams<Wishlist> & import("../../mixins").CreateConstructorParams & import("../../mixins").DeleteConstructorParams & import("../../mixins").GetConstructorParams & import("../../mixins").UpdateConstructorParams, ...any[]]>;
7
- export declare class WishlistHasuraGraphQLRepository extends WishlistHasuraGraphQLRepository_base implements WishlistRepository {
8
- private readonly categoryFilterRepository;
9
- constructor(endpoint: string, authOptions: HasuraGraphQLAuthOptions, categoryFilterRepository: CategoryFilterHasuraGraphQLRepository);
10
- create(params: CreateRepositoryParams<Wishlist>): Promise<Wishlist>;
11
- get(identifiers: GetRepositoryParams<Wishlist>): Promise<Wishlist>;
12
- update(params: UpdateRepositoryParams<Wishlist>): Promise<Wishlist>;
13
- getWishlistBySlug(slug: string): Promise<Wishlist>;
14
- getWishlistByPerson(personId: string): Promise<Wishlist[]>;
15
- private updateProducts;
16
- private updateMetadata;
17
- getCategoryBySlug(slug: string, _shop: Shops): Promise<Wishlist>;
18
- getCategoryByShop(shop: string): Promise<any>;
19
- getCategoriesForHome(categoryIds: string[], limit?: number, gender?: string): any;
20
- mountCategory(category: Category, options?: {
21
- limit?: number;
22
- hasStock?: boolean;
23
- }): Promise<Product[]>;
24
- getChildren(parentId: number): Promise<Category[]>;
25
- isChild(id: number, parentId: number): Promise<boolean>;
26
- }
27
- export {};