@infrab4a/connect 3.14.3-beta.1 → 3.14.3-beta.3

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.
@@ -1,7 +1,7 @@
1
1
  import { BaseModel, GenericIdentifier } from '../../generic/model';
2
2
  import { Shops } from './enums';
3
3
  import { Filter } from './filter';
4
- import { Product } from './product';
4
+ import { ProductForCategory } from './product-for-category';
5
5
  import { CategoryCondition, CategoryMetadata } from './types';
6
6
  export declare class Category extends BaseModel<Category> {
7
7
  id: string;
@@ -26,6 +26,6 @@ export declare class Category extends BaseModel<Category> {
26
26
  parentId?: number;
27
27
  parent?: Category;
28
28
  filters?: Filter[];
29
- childrenProducts?: Product[];
29
+ childrenProducts?: ProductForCategory[];
30
30
  static get identifiersFields(): GenericIdentifier[];
31
31
  }
@@ -0,0 +1,44 @@
1
+ import { BaseModel, GenericIdentifier, ModelBaseStructure } from '../../generic/model';
2
+ import { Category } from './category';
3
+ import { KitProduct } from './kit-product';
4
+ import { ProductEvaluation, ProductGender, ProductMetadata, ProductReview, ShopDescription, ShopPrice, Stock } from './types';
5
+ import { Variant } from './variant';
6
+ export declare class ProductBase<ChildProduct extends ModelBaseStructure<ChildProduct, Identifiers>, Identifiers = ChildProduct['identifiersFields']> extends BaseModel<ChildProduct, Identifiers> {
7
+ id: string;
8
+ name: string;
9
+ slug: string;
10
+ description: ShopDescription;
11
+ sku: string;
12
+ price: ShopPrice;
13
+ hasVariants: boolean;
14
+ NCM: string;
15
+ EAN: string;
16
+ CEST: string;
17
+ weight: number;
18
+ stock: Stock;
19
+ costPrice: number;
20
+ images?: string[];
21
+ miniatures?: string[];
22
+ published: boolean;
23
+ createdAt?: Date;
24
+ updatedAt?: Date;
25
+ brand: string;
26
+ tags?: string[];
27
+ filters?: string[];
28
+ type?: string;
29
+ categories?: string[];
30
+ reviews?: ProductReview[];
31
+ variant?: Variant;
32
+ video?: string;
33
+ isKit?: boolean;
34
+ rate?: number;
35
+ gender?: ProductGender;
36
+ shoppingCount?: number;
37
+ metadata: ProductMetadata;
38
+ category: Category;
39
+ kitProducts?: KitProduct[];
40
+ private reviewsTotal?;
41
+ get evaluation(): ProductEvaluation;
42
+ set evaluation(evaluation: ProductEvaluation);
43
+ static get identifiersFields(): GenericIdentifier[];
44
+ }
@@ -0,0 +1,5 @@
1
+ import { GenericIdentifier } from '../../generic/model';
2
+ import { ProductBase } from './product-base';
3
+ export declare class ProductForCategory extends ProductBase<ProductForCategory, GenericIdentifier> {
4
+ static get identifiersFields(): GenericIdentifier[];
5
+ }
@@ -1,44 +1,5 @@
1
- import { BaseModel, GenericIdentifier } from '../../generic/model';
2
- import { Category } from './category';
3
- import { KitProduct } from './kit-product';
4
- import { ProductEvaluation, ProductGender, ProductMetadata, ProductReview, ShopDescription, ShopPrice, Stock } from './types';
5
- import { Variant } from './variant';
6
- export declare class Product extends BaseModel<Product> {
7
- id: string;
8
- name: string;
9
- slug: string;
10
- description: ShopDescription;
11
- sku: string;
12
- price: ShopPrice;
13
- hasVariants: boolean;
14
- NCM: string;
15
- EAN: string;
16
- CEST: string;
17
- weight: number;
18
- stock: Stock;
19
- costPrice: number;
20
- images?: string[];
21
- miniatures?: string[];
22
- published: boolean;
23
- createdAt?: Date;
24
- updatedAt?: Date;
25
- brand: string;
26
- tags?: string[];
27
- filters?: string[];
28
- type?: string;
29
- categories?: string[];
30
- reviews?: ProductReview[];
31
- variant?: Variant;
32
- video?: string;
33
- isKit?: boolean;
34
- rate?: number;
35
- gender?: ProductGender;
36
- shoppingCount?: number;
37
- metadata: ProductMetadata;
38
- category: Category;
39
- kitProducts?: KitProduct[];
40
- private reviewsTotal?;
41
- get evaluation(): ProductEvaluation;
42
- set evaluation(evaluation: ProductEvaluation);
1
+ import { GenericIdentifier } from '../../generic/model';
2
+ import { ProductBase } from './product-base';
3
+ export declare class Product extends ProductBase<Product, GenericIdentifier> {
43
4
  static get identifiersFields(): GenericIdentifier[];
44
5
  }
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { Type } from 'class-transformer';
3
3
  import { BaseModel } from '../../generic/model';
4
4
  import { Filter } from './filter';
5
- import { Product } from './product';
5
+ import { ProductForCategory } from './product-for-category';
6
6
  export class Category extends BaseModel {
7
7
  static get identifiersFields() {
8
8
  return ['id'];
@@ -17,7 +17,7 @@ __decorate([
17
17
  __metadata("design:type", Array)
18
18
  ], Category.prototype, "filters", void 0);
19
19
  __decorate([
20
- Type(() => Product),
20
+ Type(() => ProductForCategory),
21
21
  __metadata("design:type", Array)
22
22
  ], Category.prototype, "childrenProducts", void 0);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLHFCQUFxQixDQUFBO0FBRWxFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUduQyxNQUFNLE9BQU8sUUFBUyxTQUFRLFNBQW1CO0lBK0IvQyxNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQVhDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs4QkFDWixRQUFRO3dDQUFBO0FBR2pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzs7eUNBQ0Q7QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDOztrREFDUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcbmltcG9ydCB7IEJhc2VNb2RlbCwgR2VuZXJpY0lkZW50aWZpZXIgfSBmcm9tICcuLi8uLi9nZW5lcmljL21vZGVsJ1xuaW1wb3J0IHsgU2hvcHMgfSBmcm9tICcuL2VudW1zJ1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXInXG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0J1xuaW1wb3J0IHsgQ2F0ZWdvcnlDb25kaXRpb24sIENhdGVnb3J5TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnkgZXh0ZW5kcyBCYXNlTW9kZWw8Q2F0ZWdvcnk+IHtcbiAgaWQ6IHN0cmluZ1xuICBicmFuZENhdGVnb3J5OiBib29sZWFuXG4gIGJyYW5kTG9nbz86IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgc2x1Zzogc3RyaW5nXG4gIGltYWdlPzogc3RyaW5nXG4gIGJyYW5kQ2F0ZWdvcnlCYW5uZXI/OiBzdHJpbmdcbiAgYnJhbmRDYXRlZ29yeUJhbm5lck1vYmlsZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGNvbmRpdGlvbnM/OiBDYXRlZ29yeUNvbmRpdGlvblxuICBwcm9kdWN0cz86IHN0cmluZ1tdXG4gIGNyZWF0ZWRBdD86IERhdGVcbiAgdXBkYXRlZEF0PzogRGF0ZVxuICBzaG9wPzogU2hvcHNcbiAgc2hvcHM/OiBzdHJpbmdbXVxuICBwdWJsaXNoZWQ6IGJvb2xlYW5cbiAgbWV0YWRhdGE6IENhdGVnb3J5TWV0YWRhdGFcbiAgaXNDb2xsZWN0aW9uPzogYm9vbGVhblxuICByZWZlcmVuY2U/OiBzdHJpbmdcbiAgcGFyZW50SWQ/OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBDYXRlZ29yeSlcbiAgcGFyZW50PzogQ2F0ZWdvcnlcblxuICBAVHlwZSgoKSA9PiBGaWx0ZXIpXG4gIGZpbHRlcnM/OiBGaWx0ZXJbXVxuXG4gIEBUeXBlKCgpID0+IFByb2R1Y3QpXG4gIGNoaWxkcmVuUHJvZHVjdHM/OiBQcm9kdWN0W11cblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLHFCQUFxQixDQUFBO0FBRWxFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFHM0QsTUFBTSxPQUFPLFFBQVMsU0FBUSxTQUFtQjtJQStCL0MsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBQ0Y7QUFYQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7OEJBQ1osUUFBUTt3Q0FBQTtBQUdqQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7O3lDQUNEO0FBR2xCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDOztrREFDUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcbmltcG9ydCB7IEJhc2VNb2RlbCwgR2VuZXJpY0lkZW50aWZpZXIgfSBmcm9tICcuLi8uLi9nZW5lcmljL21vZGVsJ1xuaW1wb3J0IHsgU2hvcHMgfSBmcm9tICcuL2VudW1zJ1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXInXG5pbXBvcnQgeyBQcm9kdWN0Rm9yQ2F0ZWdvcnkgfSBmcm9tICcuL3Byb2R1Y3QtZm9yLWNhdGVnb3J5J1xuaW1wb3J0IHsgQ2F0ZWdvcnlDb25kaXRpb24sIENhdGVnb3J5TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnkgZXh0ZW5kcyBCYXNlTW9kZWw8Q2F0ZWdvcnk+IHtcbiAgaWQ6IHN0cmluZ1xuICBicmFuZENhdGVnb3J5OiBib29sZWFuXG4gIGJyYW5kTG9nbz86IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgc2x1Zzogc3RyaW5nXG4gIGltYWdlPzogc3RyaW5nXG4gIGJyYW5kQ2F0ZWdvcnlCYW5uZXI/OiBzdHJpbmdcbiAgYnJhbmRDYXRlZ29yeUJhbm5lck1vYmlsZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGNvbmRpdGlvbnM/OiBDYXRlZ29yeUNvbmRpdGlvblxuICBwcm9kdWN0cz86IHN0cmluZ1tdXG4gIGNyZWF0ZWRBdD86IERhdGVcbiAgdXBkYXRlZEF0PzogRGF0ZVxuICBzaG9wPzogU2hvcHNcbiAgc2hvcHM/OiBzdHJpbmdbXVxuICBwdWJsaXNoZWQ6IGJvb2xlYW5cbiAgbWV0YWRhdGE6IENhdGVnb3J5TWV0YWRhdGFcbiAgaXNDb2xsZWN0aW9uPzogYm9vbGVhblxuICByZWZlcmVuY2U/OiBzdHJpbmdcbiAgcGFyZW50SWQ/OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBDYXRlZ29yeSlcbiAgcGFyZW50PzogQ2F0ZWdvcnlcblxuICBAVHlwZSgoKSA9PiBGaWx0ZXIpXG4gIGZpbHRlcnM/OiBGaWx0ZXJbXVxuXG4gIEBUeXBlKCgpID0+IFByb2R1Y3RGb3JDYXRlZ29yeSlcbiAgY2hpbGRyZW5Qcm9kdWN0cz86IFByb2R1Y3RGb3JDYXRlZ29yeVtdXG5cbiAgc3RhdGljIGdldCBpZGVudGlmaWVyc0ZpZWxkcygpOiBHZW5lcmljSWRlbnRpZmllcltdIHtcbiAgICByZXR1cm4gWydpZCddXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Type } from 'class-transformer';
3
+ import { BaseModel } from '../../generic/model';
4
+ import { Category } from './category';
5
+ import { KitProduct } from './kit-product';
6
+ export class ProductBase extends BaseModel {
7
+ get evaluation() {
8
+ return {
9
+ reviews: this.reviews,
10
+ count: this.reviewsTotal,
11
+ rating: this.rate,
12
+ };
13
+ }
14
+ set evaluation(evaluation) {
15
+ if (!evaluation) {
16
+ this.reviews = null;
17
+ this.reviewsTotal = null;
18
+ this.rate = null;
19
+ return;
20
+ }
21
+ this.reviews = evaluation.reviews || this.reviews;
22
+ this.reviewsTotal = evaluation.count || this.reviewsTotal;
23
+ this.rate = evaluation.rating || this.rate;
24
+ }
25
+ static get identifiersFields() {
26
+ return ['id'];
27
+ }
28
+ }
29
+ __decorate([
30
+ Type(() => Category),
31
+ __metadata("design:type", Category)
32
+ ], ProductBase.prototype, "category", void 0);
33
+ __decorate([
34
+ Type(() => KitProduct),
35
+ __metadata("design:type", Array)
36
+ ], ProductBase.prototype, "kitProducts", void 0);
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvZG9tYWluL2NhdGFsb2cvbW9kZWxzL3Byb2R1Y3QtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQXlDLE1BQU0scUJBQXFCLENBQUE7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBWTFDLE1BQU0sT0FBTyxXQUdYLFNBQVEsU0FBb0M7SUF5QzVDLElBQUksVUFBVTtRQUNaLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFVBQTZCO1FBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtZQUVoQixPQUFNO1NBQ1A7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQTtRQUN6RCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQTtJQUM1QyxDQUFDO0lBRUQsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBQ0Y7QUFoQ0M7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDOzhCQUNYLFFBQVE7NkNBQUE7QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDOztnREFDRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcbmltcG9ydCB7IEJhc2VNb2RlbCwgR2VuZXJpY0lkZW50aWZpZXIsIE1vZGVsQmFzZVN0cnVjdHVyZSB9IGZyb20gJy4uLy4uL2dlbmVyaWMvbW9kZWwnXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4vY2F0ZWdvcnknXG5pbXBvcnQgeyBLaXRQcm9kdWN0IH0gZnJvbSAnLi9raXQtcHJvZHVjdCdcbmltcG9ydCB7XG4gIFByb2R1Y3RFdmFsdWF0aW9uLFxuICBQcm9kdWN0R2VuZGVyLFxuICBQcm9kdWN0TWV0YWRhdGEsXG4gIFByb2R1Y3RSZXZpZXcsXG4gIFNob3BEZXNjcmlwdGlvbixcbiAgU2hvcFByaWNlLFxuICBTdG9jayxcbn0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IFZhcmlhbnQgfSBmcm9tICcuL3ZhcmlhbnQnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0QmFzZTxcbiAgQ2hpbGRQcm9kdWN0IGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPENoaWxkUHJvZHVjdCwgSWRlbnRpZmllcnM+LFxuICBJZGVudGlmaWVycyA9IENoaWxkUHJvZHVjdFsnaWRlbnRpZmllcnNGaWVsZHMnXSxcbj4gZXh0ZW5kcyBCYXNlTW9kZWw8Q2hpbGRQcm9kdWN0LCBJZGVudGlmaWVycz4ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzbHVnOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IFNob3BEZXNjcmlwdGlvblxuICBza3U6IHN0cmluZ1xuICBwcmljZTogU2hvcFByaWNlXG4gIGhhc1ZhcmlhbnRzOiBib29sZWFuXG4gIE5DTTogc3RyaW5nXG4gIEVBTjogc3RyaW5nXG4gIENFU1Q6IHN0cmluZ1xuICB3ZWlnaHQ6IG51bWJlclxuICBzdG9jazogU3RvY2tcbiAgY29zdFByaWNlOiBudW1iZXJcbiAgaW1hZ2VzPzogc3RyaW5nW11cbiAgbWluaWF0dXJlcz86IHN0cmluZ1tdXG4gIHB1Ymxpc2hlZDogYm9vbGVhblxuICBjcmVhdGVkQXQ/OiBEYXRlXG4gIHVwZGF0ZWRBdD86IERhdGVcbiAgYnJhbmQ6IHN0cmluZ1xuICB0YWdzPzogc3RyaW5nW11cbiAgZmlsdGVycz86IHN0cmluZ1tdXG4gIHR5cGU/OiBzdHJpbmdcbiAgY2F0ZWdvcmllcz86IHN0cmluZ1tdXG4gIHJldmlld3M/OiBQcm9kdWN0UmV2aWV3W11cbiAgdmFyaWFudD86IFZhcmlhbnRcbiAgdmlkZW8/OiBzdHJpbmdcbiAgaXNLaXQ/OiBib29sZWFuXG4gIHJhdGU/OiBudW1iZXJcbiAgZ2VuZGVyPzogUHJvZHVjdEdlbmRlclxuICBzaG9wcGluZ0NvdW50PzogbnVtYmVyXG4gIG1ldGFkYXRhOiBQcm9kdWN0TWV0YWRhdGFcblxuICBAVHlwZSgoKSA9PiBDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IENhdGVnb3J5XG5cbiAgQFR5cGUoKCkgPT4gS2l0UHJvZHVjdClcbiAga2l0UHJvZHVjdHM/OiBLaXRQcm9kdWN0W11cblxuICBwcml2YXRlIHJldmlld3NUb3RhbD86IG51bWJlclxuXG4gIGdldCBldmFsdWF0aW9uKCk6IFByb2R1Y3RFdmFsdWF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmV2aWV3czogdGhpcy5yZXZpZXdzLFxuICAgICAgY291bnQ6IHRoaXMucmV2aWV3c1RvdGFsLFxuICAgICAgcmF0aW5nOiB0aGlzLnJhdGUsXG4gICAgfVxuICB9XG5cbiAgc2V0IGV2YWx1YXRpb24oZXZhbHVhdGlvbjogUHJvZHVjdEV2YWx1YXRpb24pIHtcbiAgICBpZiAoIWV2YWx1YXRpb24pIHtcbiAgICAgIHRoaXMucmV2aWV3cyA9IG51bGxcbiAgICAgIHRoaXMucmV2aWV3c1RvdGFsID0gbnVsbFxuICAgICAgdGhpcy5yYXRlID0gbnVsbFxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLnJldmlld3MgPSBldmFsdWF0aW9uLnJldmlld3MgfHwgdGhpcy5yZXZpZXdzXG4gICAgdGhpcy5yZXZpZXdzVG90YWwgPSBldmFsdWF0aW9uLmNvdW50IHx8IHRoaXMucmV2aWV3c1RvdGFsXG4gICAgdGhpcy5yYXRlID0gZXZhbHVhdGlvbi5yYXRpbmcgfHwgdGhpcy5yYXRlXG4gIH1cblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ import { ProductBase } from './product-base';
2
+ export class ProductForCategory extends ProductBase {
3
+ static get identifiersFields() {
4
+ return ['id'];
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1mb3ItY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vY2F0YWxvZy9tb2RlbHMvcHJvZHVjdC1mb3ItY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTVDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUFrRDtJQUN4RixNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNJZGVudGlmaWVyIH0gZnJvbSAnLi4vLi4vZ2VuZXJpYy9tb2RlbCdcbmltcG9ydCB7IFByb2R1Y3RCYXNlIH0gZnJvbSAnLi9wcm9kdWN0LWJhc2UnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0Rm9yQ2F0ZWdvcnkgZXh0ZW5kcyBQcm9kdWN0QmFzZTxQcm9kdWN0Rm9yQ2F0ZWdvcnksIEdlbmVyaWNJZGVudGlmaWVyPiB7XG4gIHN0YXRpYyBnZXQgaWRlbnRpZmllcnNGaWVsZHMoKTogR2VuZXJpY0lkZW50aWZpZXJbXSB7XG4gICAgcmV0dXJuIFsnaWQnXVxuICB9XG59XG4iXX0=
@@ -1,37 +1,7 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Type } from 'class-transformer';
3
- import { BaseModel } from '../../generic/model';
4
- import { Category } from './category';
5
- import { KitProduct } from './kit-product';
6
- export class Product extends BaseModel {
7
- get evaluation() {
8
- return {
9
- reviews: this.reviews,
10
- count: this.reviewsTotal,
11
- rating: this.rate,
12
- };
13
- }
14
- set evaluation(evaluation) {
15
- if (!evaluation) {
16
- this.reviews = null;
17
- this.reviewsTotal = null;
18
- this.rate = null;
19
- return;
20
- }
21
- this.reviews = evaluation.reviews || this.reviews;
22
- this.reviewsTotal = evaluation.count || this.reviewsTotal;
23
- this.rate = evaluation.rating || this.rate;
24
- }
1
+ import { ProductBase } from './product-base';
2
+ export class Product extends ProductBase {
25
3
  static get identifiersFields() {
26
4
  return ['id'];
27
5
  }
28
6
  }
29
- __decorate([
30
- Type(() => Category),
31
- __metadata("design:type", Category)
32
- ], Product.prototype, "category", void 0);
33
- __decorate([
34
- Type(() => KitProduct),
35
- __metadata("design:type", Array)
36
- ], Product.prototype, "kitProducts", void 0);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9jYXRhbG9nL21vZGVscy9wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxxQkFBcUIsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFZMUMsTUFBTSxPQUFPLE9BQVEsU0FBUSxTQUFrQjtJQXlDN0MsSUFBSSxVQUFVO1FBQ1osT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2xCLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsVUFBNkI7UUFDMUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1lBRWhCLE9BQU07U0FDUDtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFBO0lBQzVDLENBQUM7SUFFRCxNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQWhDQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7OEJBQ1gsUUFBUTt5Q0FBQTtBQUdsQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7OzRDQUNHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuaW1wb3J0IHsgQmFzZU1vZGVsLCBHZW5lcmljSWRlbnRpZmllciB9IGZyb20gJy4uLy4uL2dlbmVyaWMvbW9kZWwnXG5cbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi9jYXRlZ29yeSdcbmltcG9ydCB7IEtpdFByb2R1Y3QgfSBmcm9tICcuL2tpdC1wcm9kdWN0J1xuaW1wb3J0IHtcbiAgUHJvZHVjdEV2YWx1YXRpb24sXG4gIFByb2R1Y3RHZW5kZXIsXG4gIFByb2R1Y3RNZXRhZGF0YSxcbiAgUHJvZHVjdFJldmlldyxcbiAgU2hvcERlc2NyaXB0aW9uLFxuICBTaG9wUHJpY2UsXG4gIFN0b2NrLFxufSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgVmFyaWFudCB9IGZyb20gJy4vdmFyaWFudCdcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3QgZXh0ZW5kcyBCYXNlTW9kZWw8UHJvZHVjdD4ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzbHVnOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IFNob3BEZXNjcmlwdGlvblxuICBza3U6IHN0cmluZ1xuICBwcmljZTogU2hvcFByaWNlXG4gIGhhc1ZhcmlhbnRzOiBib29sZWFuXG4gIE5DTTogc3RyaW5nXG4gIEVBTjogc3RyaW5nXG4gIENFU1Q6IHN0cmluZ1xuICB3ZWlnaHQ6IG51bWJlclxuICBzdG9jazogU3RvY2tcbiAgY29zdFByaWNlOiBudW1iZXJcbiAgaW1hZ2VzPzogc3RyaW5nW11cbiAgbWluaWF0dXJlcz86IHN0cmluZ1tdXG4gIHB1Ymxpc2hlZDogYm9vbGVhblxuICBjcmVhdGVkQXQ/OiBEYXRlXG4gIHVwZGF0ZWRBdD86IERhdGVcbiAgYnJhbmQ6IHN0cmluZ1xuICB0YWdzPzogc3RyaW5nW11cbiAgZmlsdGVycz86IHN0cmluZ1tdXG4gIHR5cGU/OiBzdHJpbmdcbiAgY2F0ZWdvcmllcz86IHN0cmluZ1tdXG4gIHJldmlld3M/OiBQcm9kdWN0UmV2aWV3W11cbiAgdmFyaWFudD86IFZhcmlhbnRcbiAgdmlkZW8/OiBzdHJpbmdcbiAgaXNLaXQ/OiBib29sZWFuXG4gIHJhdGU/OiBudW1iZXJcbiAgZ2VuZGVyPzogUHJvZHVjdEdlbmRlclxuICBzaG9wcGluZ0NvdW50PzogbnVtYmVyXG4gIG1ldGFkYXRhOiBQcm9kdWN0TWV0YWRhdGFcblxuICBAVHlwZSgoKSA9PiBDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IENhdGVnb3J5XG5cbiAgQFR5cGUoKCkgPT4gS2l0UHJvZHVjdClcbiAga2l0UHJvZHVjdHM/OiBLaXRQcm9kdWN0W11cblxuICBwcml2YXRlIHJldmlld3NUb3RhbD86IG51bWJlclxuXG4gIGdldCBldmFsdWF0aW9uKCk6IFByb2R1Y3RFdmFsdWF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmV2aWV3czogdGhpcy5yZXZpZXdzLFxuICAgICAgY291bnQ6IHRoaXMucmV2aWV3c1RvdGFsLFxuICAgICAgcmF0aW5nOiB0aGlzLnJhdGUsXG4gICAgfVxuICB9XG5cbiAgc2V0IGV2YWx1YXRpb24oZXZhbHVhdGlvbjogUHJvZHVjdEV2YWx1YXRpb24pIHtcbiAgICBpZiAoIWV2YWx1YXRpb24pIHtcbiAgICAgIHRoaXMucmV2aWV3cyA9IG51bGxcbiAgICAgIHRoaXMucmV2aWV3c1RvdGFsID0gbnVsbFxuICAgICAgdGhpcy5yYXRlID0gbnVsbFxuXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLnJldmlld3MgPSBldmFsdWF0aW9uLnJldmlld3MgfHwgdGhpcy5yZXZpZXdzXG4gICAgdGhpcy5yZXZpZXdzVG90YWwgPSBldmFsdWF0aW9uLmNvdW50IHx8IHRoaXMucmV2aWV3c1RvdGFsXG4gICAgdGhpcy5yYXRlID0gZXZhbHVhdGlvbi5yYXRpbmcgfHwgdGhpcy5yYXRlXG4gIH1cblxuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9jYXRhbG9nL21vZGVscy9wcm9kdWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU1QyxNQUFNLE9BQU8sT0FBUSxTQUFRLFdBQXVDO0lBQ2xFLE1BQU0sS0FBSyxpQkFBaUI7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY0lkZW50aWZpZXIgfSBmcm9tICcuLi8uLi9nZW5lcmljL21vZGVsJ1xuaW1wb3J0IHsgUHJvZHVjdEJhc2UgfSBmcm9tICcuL3Byb2R1Y3QtYmFzZSdcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3QgZXh0ZW5kcyBQcm9kdWN0QmFzZTxQcm9kdWN0LCBHZW5lcmljSWRlbnRpZmllcj4ge1xuICBzdGF0aWMgZ2V0IGlkZW50aWZpZXJzRmllbGRzKCk6IEdlbmVyaWNJZGVudGlmaWVyW10ge1xuICAgIHJldHVybiBbJ2lkJ11cbiAgfVxufVxuIl19
@@ -1193,6 +1193,12 @@ class Filter extends BaseModel {
1193
1193
  }
1194
1194
  }
1195
1195
 
1196
+ class Product extends ProductBase {
1197
+ static get identifiersFields() {
1198
+ return ['id'];
1199
+ }
1200
+ }
1201
+
1196
1202
  class KitProduct extends BaseModel {
1197
1203
  static get identifiersFields() {
1198
1204
  return ['productId', 'kitProductId'];
@@ -1207,7 +1213,7 @@ __decorate([
1207
1213
  __metadata("design:type", Product)
1208
1214
  ], KitProduct.prototype, "product", void 0);
1209
1215
 
1210
- class Product extends BaseModel {
1216
+ class ProductBase extends BaseModel {
1211
1217
  get evaluation() {
1212
1218
  return {
1213
1219
  reviews: this.reviews,
@@ -1233,11 +1239,17 @@ class Product extends BaseModel {
1233
1239
  __decorate([
1234
1240
  Type(() => Category),
1235
1241
  __metadata("design:type", Category)
1236
- ], Product.prototype, "category", void 0);
1242
+ ], ProductBase.prototype, "category", void 0);
1237
1243
  __decorate([
1238
1244
  Type(() => KitProduct),
1239
1245
  __metadata("design:type", Array)
1240
- ], Product.prototype, "kitProducts", void 0);
1246
+ ], ProductBase.prototype, "kitProducts", void 0);
1247
+
1248
+ class ProductForCategory extends ProductBase {
1249
+ static get identifiersFields() {
1250
+ return ['id'];
1251
+ }
1252
+ }
1241
1253
 
1242
1254
  class Category extends BaseModel {
1243
1255
  static get identifiersFields() {
@@ -1253,7 +1265,7 @@ __decorate([
1253
1265
  __metadata("design:type", Array)
1254
1266
  ], Category.prototype, "filters", void 0);
1255
1267
  __decorate([
1256
- Type(() => Product),
1268
+ Type(() => ProductForCategory),
1257
1269
  __metadata("design:type", Array)
1258
1270
  ], Category.prototype, "childrenProducts", void 0);
1259
1271