@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.
- package/bundles/infrab4a-connect.umd.js +202 -650
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/models/category-filter.d.ts +0 -2
- package/domain/catalog/models/category.d.ts +27 -5
- package/domain/catalog/models/index.d.ts +0 -1
- package/domain/catalog/models/kit-product.d.ts +3 -3
- package/domain/catalog/models/product.d.ts +40 -5
- package/domain/catalog/repositories/category-filter.repository.d.ts +0 -1
- package/domain/catalog/repositories/index.d.ts +0 -1
- package/domain/shop-settings/enums/index.d.ts +1 -0
- package/domain/shop-settings/enums/shop-page-name.enum.d.ts +19 -0
- package/domain/shop-settings/models/campaign-banner.d.ts +11 -0
- package/domain/shop-settings/models/campaign.d.ts +10 -0
- package/domain/shop-settings/models/index.d.ts +2 -0
- package/domain/shop-settings/models/shop-settings.d.ts +2 -1
- package/domain/shop-settings/models/types/campaign-page.d.ts +17 -0
- package/domain/shop-settings/models/types/index.d.ts +4 -0
- package/domain/shop-settings/models/types/sections.type.d.ts +17 -0
- package/domain/shop-settings/models/types/shop-gift.type.d.ts +8 -0
- package/domain/shop-settings/models/types/shop-post.type.d.ts +7 -0
- package/domain/shop-settings/models/types/shop-section.type.d.ts +3 -0
- package/domain/shop-settings/repositories/campaign-banner.repository.d.ts +4 -0
- package/domain/shop-settings/repositories/campaign.repository.d.ts +4 -0
- package/domain/shop-settings/repositories/index.d.ts +2 -0
- package/esm2015/domain/catalog/models/category-filter.js +1 -6
- package/esm2015/domain/catalog/models/category.js +10 -6
- package/esm2015/domain/catalog/models/index.js +1 -2
- package/esm2015/domain/catalog/models/kit-product.js +6 -6
- package/esm2015/domain/catalog/models/product.js +24 -6
- package/esm2015/domain/catalog/repositories/category-filter.repository.js +1 -1
- package/esm2015/domain/catalog/repositories/index.js +1 -2
- package/esm2015/domain/shop-settings/enums/index.js +2 -1
- package/esm2015/domain/shop-settings/enums/shop-page-name.enum.js +21 -0
- package/esm2015/domain/shop-settings/models/campaign-banner.js +7 -0
- package/esm2015/domain/shop-settings/models/campaign.js +7 -0
- package/esm2015/domain/shop-settings/models/index.js +3 -1
- package/esm2015/domain/shop-settings/models/shop-settings.js +1 -1
- package/esm2015/domain/shop-settings/models/types/campaign-page.js +2 -0
- package/esm2015/domain/shop-settings/models/types/index.js +5 -1
- package/esm2015/domain/shop-settings/models/types/sections.type.js +2 -0
- package/esm2015/domain/shop-settings/models/types/shop-gift.type.js +2 -0
- package/esm2015/domain/shop-settings/models/types/shop-post.type.js +2 -0
- package/esm2015/domain/shop-settings/models/types/shop-section.type.js +1 -1
- package/esm2015/domain/shop-settings/repositories/campaign-banner.repository.js +2 -0
- package/esm2015/domain/shop-settings/repositories/campaign.repository.js +2 -0
- package/esm2015/domain/shop-settings/repositories/index.js +3 -1
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/campaign-banner-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/campaign-firestore.repository.js +12 -0
- package/esm2015/infra/firebase/firestore/repositories/shop-settings/index.js +3 -1
- package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +2 -2
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +1 -52
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +50 -36
- package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +1 -2
- package/fesm2015/infrab4a-connect.js +140 -424
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/infra/firebase/firestore/repositories/shop-settings/campaign-banner-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shop-settings/campaign-firestore.repository.d.ts +8 -0
- package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +2 -0
- package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +0 -1
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +0 -1
- package/package.json +1 -1
- package/domain/catalog/models/category-base.d.ts +0 -30
- package/domain/catalog/models/category-for-product.d.ts +0 -5
- package/domain/catalog/models/product-base.d.ts +0 -40
- package/domain/catalog/models/product-for-category.d.ts +0 -7
- package/domain/catalog/models/product-for-kit.d.ts +0 -7
- package/domain/catalog/models/wishlist.d.ts +0 -6
- package/domain/catalog/repositories/wishlist.repository.d.ts +0 -6
- package/esm2015/domain/catalog/models/category-base.js +0 -18
- package/esm2015/domain/catalog/models/category-for-product.js +0 -7
- package/esm2015/domain/catalog/models/product-base.js +0 -25
- package/esm2015/domain/catalog/models/product-for-category.js +0 -14
- package/esm2015/domain/catalog/models/product-for-kit.js +0 -14
- package/esm2015/domain/catalog/models/wishlist.js +0 -7
- package/esm2015/domain/catalog/repositories/wishlist.repository.js +0 -2
- package/esm2015/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.js +0 -252
- 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 {};
|
package/infra/firebase/firestore/repositories/shop-settings/campaign-firestore.repository.d.ts
ADDED
|
@@ -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 {};
|
package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts
CHANGED
|
@@ -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,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,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 { 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
|
package/esm2015/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.js
DELETED
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lzaGxpc3QtaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL3JlcG9zaXRvcmllcy9jYXRhbG9nL3dpc2hsaXN0LWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFRTCxLQUFLLEVBQ0wsUUFBUSxHQUVULE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUt2RSxNQUFNLE9BQU8sK0JBQ1gsU0FBUSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBVyxJQUFJLENBQUMsQ0FBQztJQUdoRSxZQUNFLFFBQWdCLEVBQ2hCLFdBQXFDLEVBQ3BCLHdCQUErRDtRQUVoRixLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsVUFBVTtZQUNyQixLQUFLLEVBQUUsUUFBUTtZQUNmLFFBQVE7WUFDUixXQUFXO1lBQ1gsTUFBTSxFQUFFO2dCQUNOLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7Z0JBQ3RGLEVBQUUsV0FBVyxFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFB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LENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsT0FBTTtJQUNSLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVSxFQUFFLFFBQWdCO1FBQ2xDLE9BQU07SUFDUixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDYXRlZ29yeSxcbiAgQ2F0ZWdvcnlNZXRhZGF0YSxcbiAgQ3JlYXRlUmVwb3NpdG9yeVBhcmFtcyxcbiAgR2V0UmVwb3NpdG9yeVBhcmFtcyxcbiAgUHJvZHVjdCxcbiAgU2hvcHMsXG4gIFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXMsXG4gIFdoZXJlLFxuICBXaXNobGlzdCxcbiAgV2lzaGxpc3RSZXBvc2l0b3J5LFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBEdXBsaWNhdGVkUmVzdWx0c0Vycm9yLCBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgQmFzZSwgb21pdCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcydcbmltcG9ydCB7IHdpdGhDcnVkSGFzdXJhR3JhcGhRTCwgd2l0aEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5pbXBvcnQgeyBDYXRlZ29yeUhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9tb2RlbHMnXG5pbXBvcnQgeyBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IENhdGVnb3J5RmlsdGVySGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkgfSBmcm9tICcuL2NhdGVnb3J5LWZpbHRlci1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5J1xuXG5leHBvcnQgY2xhc3MgV2lzaGxpc3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxuICBleHRlbmRzIHdpdGhDcnVkSGFzdXJhR3JhcGhRTCh3aXRoSGFzdXJhR3JhcGhRTDxXaXNobGlzdD4oQmFzZSkpXG4gIGltcGxlbWVudHMgV2lzaGxpc3RSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5RmlsdGVyUmVwb3NpdG9yeTogQ2F0ZWdvcnlGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdGFibGVOYW1lOiAnY2F0ZWdvcnknLFxuICAgICAgbW9kZWw6IFdpc2hsaXN0LFxuICAgICAgZW5kcG9pbnQsXG4gICAgICBhdXRoT3B0aW9ucyxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7IGlkOiB7IGNvbHVtbk5hbWU6ICdpZCcsIHRvOiAodmFsdWUpID0+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 {};
|