@merkaly/api 0.5.15 → 0.6.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/dist/abstract.repository.d.ts +21 -31
- package/dist/abstract.validator.d.ts +10 -17
- package/dist/abstract.validator.js +54 -64
- package/dist/account/address/index.d.ts +1 -1
- package/dist/account/address/index.js +1 -1
- package/dist/account/address/request.validator.d.ts +16 -0
- package/dist/account/address/{address.validator.js → request.validator.js} +35 -18
- package/dist/account/payment/index.d.ts +1 -1
- package/dist/account/payment/index.js +1 -1
- package/dist/account/payment/request.validator.d.ts +19 -0
- package/dist/account/payment/{payment.validator.js → request.validator.js} +46 -18
- package/dist/account/user/index.d.ts +1 -1
- package/dist/account/user/index.js +1 -1
- package/dist/account/user/request.validator.d.ts +10 -0
- package/dist/account/user/{user.validator.js → request.validator.js} +18 -23
- package/dist/address.validator.d.ts +2 -2
- package/dist/finance/invoice/index.d.ts +1 -1
- package/dist/finance/invoice/index.js +1 -1
- package/dist/finance/invoice/request.validator.d.ts +21 -0
- package/dist/finance/invoice/{invoice.validator.js → request.validator.js} +41 -19
- package/dist/finance/payment/index.d.ts +1 -1
- package/dist/finance/payment/index.js +1 -1
- package/dist/finance/payment/payment.entity.d.ts +6 -6
- package/dist/finance/payment/payment.transition.d.ts +5 -3
- package/dist/finance/payment/payment.transition.js +10 -5
- package/dist/finance/payment/request.validator.d.ts +14 -0
- package/dist/finance/payment/{payment.validator.js → request.validator.js} +24 -12
- package/dist/finance/refund/index.d.ts +1 -1
- package/dist/finance/refund/index.js +1 -1
- package/dist/finance/refund/refund.entity.d.ts +2 -1
- package/dist/finance/refund/refund.transition.d.ts +5 -3
- package/dist/finance/refund/refund.transition.js +8 -14
- package/dist/finance/refund/request.validator.d.ts +16 -0
- package/dist/finance/refund/{refund.validator.js → request.validator.js} +32 -14
- package/dist/inventory/catalog/attribute/request.validator.d.ts +7 -4
- package/dist/inventory/catalog/attribute/request.validator.js +23 -15
- package/dist/inventory/catalog/brand/request.validator.d.ts +8 -5
- package/dist/inventory/catalog/brand/request.validator.js +17 -11
- package/dist/inventory/catalog/category/category.entity.d.ts +3 -1
- package/dist/inventory/catalog/category/request.validator.d.ts +8 -5
- package/dist/inventory/catalog/category/request.validator.js +17 -11
- package/dist/inventory/catalog/collection/request.validator.d.ts +9 -6
- package/dist/inventory/catalog/collection/request.validator.js +21 -14
- package/dist/inventory/catalog/product/product.entity.d.ts +12 -4
- package/dist/inventory/catalog/product/request.validator.d.ts +24 -11
- package/dist/inventory/catalog/product/request.validator.js +74 -44
- package/dist/inventory/catalog/variant/request.validator.d.ts +9 -7
- package/dist/inventory/catalog/variant/request.validator.js +33 -27
- package/dist/inventory/catalog/variant/variant.entity.d.ts +6 -4
- package/dist/inventory/configuration/measurement/index.d.ts +1 -1
- package/dist/inventory/configuration/measurement/index.js +1 -1
- package/dist/inventory/configuration/measurement/request.validator.d.ts +21 -0
- package/dist/inventory/configuration/measurement/{measurement.validator.js → request.validator.js} +57 -49
- package/dist/inventory/stock/balance/balance.entity.d.ts +9 -5
- package/dist/inventory/stock/balance/balance.status.enum.d.ts +6 -0
- package/dist/inventory/stock/balance/balance.status.enum.js +7 -0
- package/dist/inventory/stock/balance/index.d.ts +1 -1
- package/dist/inventory/stock/balance/index.js +1 -1
- package/dist/inventory/stock/transfer/index.d.ts +3 -2
- package/dist/inventory/stock/transfer/index.js +2 -2
- package/dist/inventory/stock/transfer/request.validator.d.ts +24 -0
- package/dist/inventory/stock/transfer/request.validator.js +111 -0
- package/dist/inventory/stock/transfer/transfer.entity.d.ts +9 -16
- package/dist/inventory/stock/transfer/{transfer.status.enum.d.ts → transfer.enum.d.ts} +5 -1
- package/dist/inventory/stock/transfer/{transfer.status.enum.js → transfer.enum.js} +6 -1
- package/dist/inventory/stock/transfer/transfer.item.entity.d.ts +12 -0
- package/dist/inventory/stock/transfer/transfer.transition.d.ts +3 -1
- package/dist/inventory/stock/transfer/transfer.transition.js +13 -6
- package/dist/inventory/stock/warehouse/index.d.ts +1 -1
- package/dist/inventory/stock/warehouse/index.js +1 -1
- package/dist/inventory/stock/warehouse/request.validator.d.ts +14 -0
- package/dist/inventory/stock/warehouse/{warehouse.validator.js → request.validator.js} +40 -44
- package/dist/inventory/stock/warehouse/warehouse.entity.d.ts +2 -2
- package/dist/order/purchase/item/index.d.ts +1 -1
- package/dist/order/purchase/item/index.js +1 -1
- package/dist/order/purchase/item/item.entity.d.ts +18 -11
- package/dist/order/purchase/item/request.validator.d.ts +12 -0
- package/dist/order/{service/item/item.validator.js → purchase/item/request.validator.js} +32 -15
- package/dist/order/purchase/transaction/index.d.ts +1 -1
- package/dist/order/purchase/transaction/index.js +1 -1
- package/dist/order/purchase/transaction/request.validator.d.ts +23 -0
- package/dist/order/purchase/transaction/request.validator.js +97 -0
- package/dist/order/purchase/transaction/transaction.entity.d.ts +3 -4
- package/dist/order/purchase/transaction/transaction.enum.d.ts +0 -1
- package/dist/order/purchase/transaction/transaction.enum.js +0 -3
- package/dist/order/purchase/transaction/transaction.transition.d.ts +2 -0
- package/dist/order/purchase/transaction/transaction.transition.js +10 -3
- package/dist/order/purchase/vendor/index.d.ts +1 -1
- package/dist/order/purchase/vendor/index.js +1 -1
- package/dist/order/purchase/vendor/request.validator.d.ts +16 -0
- package/dist/order/purchase/vendor/{vendor.validator.js → request.validator.js} +30 -28
- package/dist/order/sale/customer/index.d.ts +1 -1
- package/dist/order/sale/customer/index.js +1 -1
- package/dist/order/sale/customer/request.validator.d.ts +18 -0
- package/dist/order/sale/customer/{customer.validator.js → request.validator.js} +34 -30
- package/dist/order/sale/item/index.d.ts +1 -1
- package/dist/order/sale/item/index.js +1 -1
- package/dist/order/sale/item/item.entity.d.ts +18 -16
- package/dist/order/sale/item/request.validator.d.ts +12 -0
- package/dist/order/sale/item/{item.validator.js → request.validator.js} +23 -6
- package/dist/order/sale/transaction/index.d.ts +1 -1
- package/dist/order/sale/transaction/index.js +1 -1
- package/dist/order/sale/transaction/request.validator.d.ts +25 -0
- package/dist/order/sale/transaction/request.validator.js +104 -0
- package/dist/order/sale/transaction/transaction.entity.d.ts +3 -6
- package/dist/order/sale/transaction/transaction.enum.d.ts +0 -3
- package/dist/order/sale/transaction/transaction.enum.js +0 -9
- package/dist/order/sale/transaction/transaction.transition.d.ts +2 -0
- package/dist/order/sale/transaction/transaction.transition.js +11 -5
- package/dist/repository.types.d.ts +2 -2
- package/dist/settings/organization/index.d.ts +0 -1
- package/dist/settings/organization/index.js +0 -1
- package/dist/transaction.entity.d.ts +14 -5
- package/package.json +5 -6
- package/dist/account/address/address.validator.d.ts +0 -15
- package/dist/account/payment/payment.validator.d.ts +0 -14
- package/dist/account/user/user.validator.d.ts +0 -15
- package/dist/finance/invoice/invoice.validator.d.ts +0 -19
- package/dist/finance/payment/payment.validator.d.ts +0 -14
- package/dist/finance/refund/refund.validator.d.ts +0 -14
- package/dist/finance/subscription/index.d.ts +0 -3
- package/dist/finance/subscription/index.js +0 -2
- package/dist/finance/subscription/subscription.entity.d.ts +0 -14
- package/dist/finance/subscription/subscription.enum.d.ts +0 -15
- package/dist/finance/subscription/subscription.enum.js +0 -17
- package/dist/finance/subscription/subscription.validator.d.ts +0 -17
- package/dist/finance/subscription/subscription.validator.js +0 -69
- package/dist/finance/tax/index.d.ts +0 -3
- package/dist/finance/tax/index.js +0 -2
- package/dist/finance/tax/tax.entity.d.ts +0 -10
- package/dist/finance/tax/tax.enum.d.ts +0 -8
- package/dist/finance/tax/tax.enum.js +0 -9
- package/dist/finance/tax/tax.validator.d.ts +0 -15
- package/dist/finance/tax/tax.validator.js +0 -60
- package/dist/inventory/configuration/measurement/measurement.validator.d.ts +0 -20
- package/dist/inventory/stock/balance/balance.validator.d.ts +0 -13
- package/dist/inventory/stock/balance/balance.validator.js +0 -46
- package/dist/inventory/stock/transfer/transfer.validator.d.ts +0 -21
- package/dist/inventory/stock/transfer/transfer.validator.js +0 -101
- package/dist/inventory/stock/warehouse/warehouse.validator.d.ts +0 -19
- package/dist/order/purchase/item/item.validator.d.ts +0 -10
- package/dist/order/purchase/item/item.validator.js +0 -50
- package/dist/order/purchase/transaction/transaction.validator.d.ts +0 -18
- package/dist/order/purchase/transaction/transaction.validator.js +0 -78
- package/dist/order/purchase/vendor/vendor.validator.d.ts +0 -17
- package/dist/order/sale/customer/customer.validator.d.ts +0 -19
- package/dist/order/sale/item/item.validator.d.ts +0 -9
- package/dist/order/sale/payment/index.d.ts +0 -1
- package/dist/order/sale/payment/index.js +0 -1
- package/dist/order/sale/payment/payment.validator.d.ts +0 -7
- package/dist/order/sale/payment/payment.validator.js +0 -31
- package/dist/order/sale/transaction/transaction.validator.d.ts +0 -18
- package/dist/order/sale/transaction/transaction.validator.js +0 -77
- package/dist/order/service/item/index.d.ts +0 -2
- package/dist/order/service/item/index.js +0 -1
- package/dist/order/service/item/item.entity.d.ts +0 -14
- package/dist/order/service/item/item.validator.d.ts +0 -9
- package/dist/order/service/transaction/index.d.ts +0 -4
- package/dist/order/service/transaction/index.js +0 -3
- package/dist/order/service/transaction/transaction.entity.d.ts +0 -9
- package/dist/order/service/transaction/transaction.enum.d.ts +0 -8
- package/dist/order/service/transaction/transaction.enum.js +0 -9
- package/dist/order/service/transaction/transaction.transition.d.ts +0 -6
- package/dist/order/service/transaction/transaction.transition.js +0 -13
- package/dist/order/service/transaction/transaction.validator.d.ts +0 -17
- package/dist/order/service/transaction/transaction.validator.js +0 -76
- package/dist/settings/organization/organization.validator.d.ts +0 -10
- package/dist/settings/organization/organization.validator.js +0 -32
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare class
|
|
4
|
-
|
|
1
|
+
import { AbstractRequestValidator } from '../../..';
|
|
2
|
+
import type { CatalogCollectionEntity } from './';
|
|
3
|
+
export declare class CreateCollectionRequestValidator extends AbstractRequestValidator {
|
|
4
|
+
name: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
products?: string[];
|
|
7
|
+
constructor(collection?: CatalogCollectionEntity);
|
|
8
|
+
}
|
|
9
|
+
export declare class UpdateCollectionRequestValidator extends CreateCollectionRequestValidator {
|
|
5
10
|
name: string;
|
|
6
|
-
description: string;
|
|
7
|
-
products: string[];
|
|
8
11
|
}
|
|
@@ -8,35 +8,42 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import * as class_validator_1 from "class-validator";
|
|
11
|
-
import * as abstract_validator_1 from '
|
|
12
|
-
export class
|
|
13
|
-
constructor(entity) {
|
|
14
|
-
super();
|
|
15
|
-
if (!entity)
|
|
16
|
-
return;
|
|
17
|
-
this.name = entity.name;
|
|
18
|
-
this.description = entity.description;
|
|
19
|
-
this.products = entity.products?.map(abstract_validator_1.toId).filter(Boolean) || [];
|
|
20
|
-
}
|
|
11
|
+
import * as abstract_validator_1 from '../../../index.js';
|
|
12
|
+
export class CreateCollectionRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
21
13
|
name;
|
|
22
14
|
description;
|
|
23
15
|
products = [];
|
|
16
|
+
constructor(collection) {
|
|
17
|
+
super();
|
|
18
|
+
if (!collection) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
this.name = collection.name;
|
|
22
|
+
this.description = collection.description;
|
|
23
|
+
this.products =
|
|
24
|
+
collection.products?.map((product) => (product?._id || product)) ?? [];
|
|
25
|
+
}
|
|
24
26
|
}
|
|
25
27
|
__decorate([
|
|
26
28
|
(0, class_validator_1.IsString)(),
|
|
27
29
|
(0, class_validator_1.IsNotEmpty)(),
|
|
28
30
|
(0, class_validator_1.Length)(0, 100),
|
|
29
|
-
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
30
31
|
__metadata("design:type", String)
|
|
31
|
-
],
|
|
32
|
+
], CreateCollectionRequestValidator.prototype, "name", void 0);
|
|
32
33
|
__decorate([
|
|
33
34
|
(0, class_validator_1.IsString)(),
|
|
34
35
|
(0, class_validator_1.Length)(0, 1000),
|
|
35
36
|
(0, class_validator_1.IsOptional)(),
|
|
36
37
|
__metadata("design:type", String)
|
|
37
|
-
],
|
|
38
|
+
], CreateCollectionRequestValidator.prototype, "description", void 0);
|
|
38
39
|
__decorate([
|
|
39
40
|
(0, class_validator_1.IsMongoId)({ each: true }),
|
|
40
41
|
(0, class_validator_1.IsOptional)(),
|
|
41
42
|
__metadata("design:type", Array)
|
|
42
|
-
],
|
|
43
|
+
], CreateCollectionRequestValidator.prototype, "products", void 0);
|
|
44
|
+
export class UpdateCollectionRequestValidator extends CreateCollectionRequestValidator {
|
|
45
|
+
}
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, class_validator_1.IsOptional)(),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], UpdateCollectionRequestValidator.prototype, "name", void 0);
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { AssetEntity } from '../../../assets/asset';
|
|
2
|
-
import {
|
|
2
|
+
import { StockBalanceEntity } from '../../stock/balance';
|
|
3
|
+
import { StockBalanceStatusEnum } from '../../stock/balance';
|
|
3
4
|
import { AbstractEntity } from '../../..';
|
|
4
5
|
import { CatalogAttributeEntity } from '../attribute';
|
|
5
6
|
import type { CatalogBrandEntity } from '../brand';
|
|
6
7
|
import type { CatalogCategoryEntity } from '../category';
|
|
7
8
|
import type { CatalogVariantEntity } from '../variant';
|
|
8
9
|
import type { ConfigurationMeasurementEntity } from '../../configuration/measurement';
|
|
10
|
+
import type { ConfigurationUnitEntity } from '../../configuration/unit';
|
|
9
11
|
export declare class CatalogProductEntity extends AbstractEntity {
|
|
10
12
|
sku?: string;
|
|
11
13
|
name: string;
|
|
12
14
|
description?: string;
|
|
13
15
|
price: number;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
sellPrice: number;
|
|
17
|
+
cost: number;
|
|
18
|
+
buyPrice: number;
|
|
16
19
|
category?: CatalogCategoryEntity;
|
|
17
20
|
brand?: CatalogBrandEntity;
|
|
18
21
|
attributes: {
|
|
@@ -23,10 +26,15 @@ export declare class CatalogProductEntity extends AbstractEntity {
|
|
|
23
26
|
amount: number;
|
|
24
27
|
kind: ConfigurationMeasurementEntity;
|
|
25
28
|
unit: string;
|
|
29
|
+
selected?: ConfigurationUnitEntity;
|
|
26
30
|
};
|
|
27
31
|
hashtags: string[];
|
|
32
|
+
readonly picture: AssetEntity;
|
|
33
|
+
readonly pictures: AssetEntity[];
|
|
28
34
|
readonly variants: CatalogVariantEntity[];
|
|
29
35
|
readonly stock: number;
|
|
30
36
|
readonly status: StockBalanceStatusEnum;
|
|
31
|
-
readonly
|
|
37
|
+
readonly balance: StockBalanceEntity;
|
|
38
|
+
readonly balances: StockBalanceEntity[];
|
|
39
|
+
readonly 'measure.selected': ConfigurationUnitEntity;
|
|
32
40
|
}
|
|
@@ -1,24 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { AbstractRequestValidator } from '../../..';
|
|
2
|
+
import type { CatalogProductEntity } from './';
|
|
3
|
+
type CatalogProductRequestSource = CatalogProductEntity & {
|
|
4
|
+
minStockLevel?: number;
|
|
5
|
+
policy?: {
|
|
6
|
+
minStock?: number;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
export declare class ProductAttributeRequestValidator extends AbstractRequestValidator {
|
|
4
10
|
type: string;
|
|
5
11
|
values: string[];
|
|
12
|
+
constructor(attribute?: CatalogProductEntity['attributes'][number]);
|
|
6
13
|
}
|
|
7
|
-
export declare class
|
|
8
|
-
constructor(entity?: CatalogProductEntity);
|
|
14
|
+
export declare class CreateProductRequestValidator extends AbstractRequestValidator {
|
|
9
15
|
name: string;
|
|
10
|
-
sku
|
|
11
|
-
description
|
|
12
|
-
|
|
16
|
+
sku?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
sellPrice?: number;
|
|
19
|
+
buyPrice?: number;
|
|
13
20
|
minStockLevel?: number;
|
|
14
21
|
measure: {
|
|
15
22
|
amount: any;
|
|
16
23
|
kind: any;
|
|
17
24
|
unit: any;
|
|
18
25
|
};
|
|
19
|
-
pictures
|
|
20
|
-
category
|
|
21
|
-
brand
|
|
26
|
+
pictures?: string[];
|
|
27
|
+
category?: string;
|
|
28
|
+
brand?: string;
|
|
22
29
|
hashtags: string[];
|
|
23
30
|
attributes: ProductAttributeRequestValidator[];
|
|
31
|
+
constructor(product?: CatalogProductRequestSource);
|
|
32
|
+
}
|
|
33
|
+
export declare class UpdateProductRequestValidator extends CreateProductRequestValidator {
|
|
34
|
+
name: string;
|
|
35
|
+
measure: CreateProductRequestValidator['measure'];
|
|
24
36
|
}
|
|
37
|
+
export {};
|
|
@@ -9,10 +9,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import * as class_transformer_1 from "class-transformer";
|
|
11
11
|
import * as class_validator_1 from "class-validator";
|
|
12
|
-
import * as abstract_validator_1 from '
|
|
13
|
-
export class ProductAttributeRequestValidator extends abstract_validator_1.
|
|
12
|
+
import * as abstract_validator_1 from '../../../index.js';
|
|
13
|
+
export class ProductAttributeRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
14
14
|
type;
|
|
15
15
|
values = [];
|
|
16
|
+
constructor(attribute) {
|
|
17
|
+
super();
|
|
18
|
+
if (!attribute) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
this.type = (attribute.type?._id || attribute.type);
|
|
22
|
+
this.values = attribute.values ?? [];
|
|
23
|
+
}
|
|
16
24
|
}
|
|
17
25
|
__decorate([
|
|
18
26
|
(0, class_validator_1.IsMongoId)(),
|
|
@@ -24,103 +32,125 @@ __decorate([
|
|
|
24
32
|
(0, class_validator_1.Length)(0, 100, { each: true }),
|
|
25
33
|
__metadata("design:type", Array)
|
|
26
34
|
], ProductAttributeRequestValidator.prototype, "values", void 0);
|
|
27
|
-
export class
|
|
28
|
-
constructor(entity) {
|
|
29
|
-
super();
|
|
30
|
-
if (!entity)
|
|
31
|
-
return;
|
|
32
|
-
this.sku = entity.sku;
|
|
33
|
-
this.name = entity.name;
|
|
34
|
-
this.description = entity.description;
|
|
35
|
-
this.price = entity.price;
|
|
36
|
-
this.minStockLevel = entity.minStockLevel;
|
|
37
|
-
this.category = (0, abstract_validator_1.toId)(entity.category);
|
|
38
|
-
this.brand = (0, abstract_validator_1.toId)(entity.brand);
|
|
39
|
-
this.measure.amount = entity.measure?.amount;
|
|
40
|
-
this.measure.kind = (0, abstract_validator_1.toId)(entity.measure?.kind);
|
|
41
|
-
this.measure.unit = entity.measure?.unit;
|
|
42
|
-
this.pictures = entity.pictures?.map(abstract_validator_1.toId).filter(Boolean) || [];
|
|
43
|
-
this.hashtags = entity.hashtags || [];
|
|
44
|
-
this.attributes =
|
|
45
|
-
entity.attributes?.map((attribute) => ({
|
|
46
|
-
type: (0, abstract_validator_1.toId)(attribute.type),
|
|
47
|
-
values: attribute.values || [],
|
|
48
|
-
})) || [];
|
|
49
|
-
}
|
|
35
|
+
export class CreateProductRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
50
36
|
name;
|
|
51
37
|
sku;
|
|
52
38
|
description;
|
|
53
|
-
|
|
39
|
+
sellPrice;
|
|
40
|
+
buyPrice;
|
|
54
41
|
minStockLevel;
|
|
55
|
-
measure = { amount:
|
|
42
|
+
measure = { amount: null, kind: null, unit: null };
|
|
56
43
|
pictures = [];
|
|
57
44
|
category;
|
|
58
45
|
brand;
|
|
59
46
|
hashtags = [];
|
|
60
47
|
attributes = [];
|
|
48
|
+
constructor(product) {
|
|
49
|
+
super();
|
|
50
|
+
if (!product) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.name = product.name;
|
|
54
|
+
this.sku = product.sku;
|
|
55
|
+
this.description = product.description;
|
|
56
|
+
this.sellPrice = product.sellPrice ?? product.price;
|
|
57
|
+
this.buyPrice = product.buyPrice ?? product.cost;
|
|
58
|
+
this.minStockLevel = product.minStockLevel ?? product.policy?.minStock;
|
|
59
|
+
this.category = (product.category?._id || product.category);
|
|
60
|
+
this.brand = (product.brand?._id || product.brand);
|
|
61
|
+
this.hashtags = product.hashtags ?? [];
|
|
62
|
+
if (product.measure !== undefined) {
|
|
63
|
+
const measureUnit = product.measure?.unit;
|
|
64
|
+
this.measure = {
|
|
65
|
+
amount: product.measure?.amount ?? null,
|
|
66
|
+
kind: (product.measure?.kind?._id || product.measure?.kind),
|
|
67
|
+
unit: (measureUnit?._id || measureUnit),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
this.pictures =
|
|
71
|
+
product.pictures?.map((picture) => (picture?._id || picture)) ?? this.pictures;
|
|
72
|
+
this.attributes =
|
|
73
|
+
product.attributes?.map((attribute) => new ProductAttributeRequestValidator(attribute)) ??
|
|
74
|
+
this.attributes;
|
|
75
|
+
}
|
|
61
76
|
}
|
|
62
77
|
__decorate([
|
|
63
78
|
(0, class_validator_1.IsString)(),
|
|
64
79
|
(0, class_validator_1.IsNotEmpty)(),
|
|
65
80
|
(0, class_validator_1.Length)(0, 100),
|
|
66
|
-
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
67
81
|
__metadata("design:type", String)
|
|
68
|
-
],
|
|
82
|
+
], CreateProductRequestValidator.prototype, "name", void 0);
|
|
69
83
|
__decorate([
|
|
70
84
|
(0, class_validator_1.IsString)(),
|
|
71
85
|
(0, class_validator_1.Length)(0, 50),
|
|
72
86
|
(0, class_validator_1.IsOptional)(),
|
|
73
87
|
__metadata("design:type", String)
|
|
74
|
-
],
|
|
88
|
+
], CreateProductRequestValidator.prototype, "sku", void 0);
|
|
75
89
|
__decorate([
|
|
76
90
|
(0, class_validator_1.IsString)(),
|
|
77
91
|
(0, class_validator_1.Length)(0, 1000),
|
|
78
92
|
(0, class_validator_1.IsOptional)(),
|
|
79
93
|
__metadata("design:type", String)
|
|
80
|
-
],
|
|
94
|
+
], CreateProductRequestValidator.prototype, "description", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, class_validator_1.IsInt)(),
|
|
97
|
+
(0, class_validator_1.Min)(0),
|
|
98
|
+
(0, class_validator_1.IsOptional)(),
|
|
99
|
+
__metadata("design:type", Number)
|
|
100
|
+
], CreateProductRequestValidator.prototype, "sellPrice", void 0);
|
|
81
101
|
__decorate([
|
|
82
|
-
(0, class_validator_1.
|
|
83
|
-
(0, class_validator_1.
|
|
102
|
+
(0, class_validator_1.IsInt)(),
|
|
103
|
+
(0, class_validator_1.Min)(0),
|
|
104
|
+
(0, class_validator_1.IsOptional)(),
|
|
84
105
|
__metadata("design:type", Number)
|
|
85
|
-
],
|
|
106
|
+
], CreateProductRequestValidator.prototype, "buyPrice", void 0);
|
|
86
107
|
__decorate([
|
|
87
108
|
(0, class_validator_1.IsInt)(),
|
|
88
109
|
(0, class_validator_1.Min)(0),
|
|
89
110
|
(0, class_validator_1.IsOptional)(),
|
|
90
111
|
__metadata("design:type", Number)
|
|
91
|
-
],
|
|
112
|
+
], CreateProductRequestValidator.prototype, "minStockLevel", void 0);
|
|
92
113
|
__decorate([
|
|
93
114
|
(0, class_validator_1.IsObject)(),
|
|
94
|
-
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
95
115
|
__metadata("design:type", Object)
|
|
96
|
-
],
|
|
116
|
+
], CreateProductRequestValidator.prototype, "measure", void 0);
|
|
97
117
|
__decorate([
|
|
98
118
|
(0, class_validator_1.IsMongoId)({ each: true }),
|
|
99
119
|
(0, class_validator_1.IsArray)(),
|
|
100
120
|
(0, class_validator_1.IsOptional)(),
|
|
101
121
|
__metadata("design:type", Array)
|
|
102
|
-
],
|
|
122
|
+
], CreateProductRequestValidator.prototype, "pictures", void 0);
|
|
103
123
|
__decorate([
|
|
104
124
|
(0, class_validator_1.IsMongoId)(),
|
|
105
125
|
(0, class_validator_1.IsOptional)(),
|
|
106
126
|
__metadata("design:type", String)
|
|
107
|
-
],
|
|
127
|
+
], CreateProductRequestValidator.prototype, "category", void 0);
|
|
108
128
|
__decorate([
|
|
109
129
|
(0, class_validator_1.IsMongoId)(),
|
|
110
130
|
(0, class_validator_1.IsOptional)(),
|
|
111
131
|
__metadata("design:type", String)
|
|
112
|
-
],
|
|
132
|
+
], CreateProductRequestValidator.prototype, "brand", void 0);
|
|
113
133
|
__decorate([
|
|
114
134
|
(0, class_validator_1.IsArray)(),
|
|
115
135
|
(0, class_validator_1.IsString)({ each: true }),
|
|
116
136
|
(0, class_validator_1.Length)(0, 50, { each: true }),
|
|
117
|
-
(0, class_validator_1.IsOptional)(
|
|
137
|
+
(0, class_validator_1.IsOptional)(),
|
|
118
138
|
__metadata("design:type", Array)
|
|
119
|
-
],
|
|
139
|
+
], CreateProductRequestValidator.prototype, "hashtags", void 0);
|
|
120
140
|
__decorate([
|
|
121
141
|
(0, class_validator_1.IsArray)(),
|
|
122
142
|
(0, class_transformer_1.Type)(() => ProductAttributeRequestValidator),
|
|
123
143
|
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
124
|
-
(0, class_validator_1.IsOptional)(
|
|
144
|
+
(0, class_validator_1.IsOptional)(),
|
|
125
145
|
__metadata("design:type", Array)
|
|
126
|
-
],
|
|
146
|
+
], CreateProductRequestValidator.prototype, "attributes", void 0);
|
|
147
|
+
export class UpdateProductRequestValidator extends CreateProductRequestValidator {
|
|
148
|
+
}
|
|
149
|
+
__decorate([
|
|
150
|
+
(0, class_validator_1.IsOptional)(),
|
|
151
|
+
__metadata("design:type", String)
|
|
152
|
+
], UpdateProductRequestValidator.prototype, "name", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
(0, class_validator_1.IsOptional)(),
|
|
155
|
+
__metadata("design:type", Object)
|
|
156
|
+
], UpdateProductRequestValidator.prototype, "measure", void 0);
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare class VariantOptionRequestValidator {
|
|
4
|
-
constructor(option?: CatalogVariantEntity['options'][number]);
|
|
1
|
+
import { AbstractRequestValidator } from '../../..';
|
|
2
|
+
import type { CatalogVariantEntity } from './';
|
|
3
|
+
export declare class VariantOptionRequestValidator extends AbstractRequestValidator {
|
|
5
4
|
type: string;
|
|
6
5
|
value: string;
|
|
6
|
+
constructor(option?: CatalogVariantEntity['options'][number]);
|
|
7
7
|
}
|
|
8
|
-
export declare class
|
|
9
|
-
constructor(entity?: CatalogVariantEntity);
|
|
8
|
+
export declare class CreateVariantRequestValidator extends AbstractRequestValidator {
|
|
10
9
|
product?: string;
|
|
11
10
|
sku?: string;
|
|
12
11
|
price?: number;
|
|
13
12
|
minStockLevel?: number;
|
|
14
13
|
options?: VariantOptionRequestValidator[];
|
|
15
14
|
active?: boolean;
|
|
16
|
-
|
|
15
|
+
gtin?: string;
|
|
16
|
+
constructor(variant?: CatalogVariantEntity);
|
|
17
|
+
}
|
|
18
|
+
export declare class UpdateVariantRequestValidator extends CreateVariantRequestValidator {
|
|
17
19
|
}
|
|
@@ -9,16 +9,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import * as class_transformer_1 from "class-transformer";
|
|
11
11
|
import * as class_validator_1 from "class-validator";
|
|
12
|
-
import * as abstract_validator_1 from '
|
|
13
|
-
export class VariantOptionRequestValidator {
|
|
12
|
+
import * as abstract_validator_1 from '../../../index.js';
|
|
13
|
+
export class VariantOptionRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
14
|
+
type;
|
|
15
|
+
value;
|
|
14
16
|
constructor(option) {
|
|
15
|
-
|
|
17
|
+
super();
|
|
18
|
+
if (!option) {
|
|
16
19
|
return;
|
|
17
|
-
|
|
20
|
+
}
|
|
21
|
+
this.type = (option.type?._id || option.type);
|
|
18
22
|
this.value = option.value;
|
|
19
23
|
}
|
|
20
|
-
type;
|
|
21
|
-
value;
|
|
22
24
|
}
|
|
23
25
|
__decorate([
|
|
24
26
|
(0, class_validator_1.IsMongoId)(),
|
|
@@ -30,64 +32,68 @@ __decorate([
|
|
|
30
32
|
(0, class_validator_1.Length)(0, 100),
|
|
31
33
|
__metadata("design:type", String)
|
|
32
34
|
], VariantOptionRequestValidator.prototype, "value", void 0);
|
|
33
|
-
export class
|
|
34
|
-
constructor(entity) {
|
|
35
|
-
super();
|
|
36
|
-
if (!entity)
|
|
37
|
-
return;
|
|
38
|
-
this.product = (0, abstract_validator_1.toId)(entity.product);
|
|
39
|
-
this.sku = entity.sku;
|
|
40
|
-
this.price = entity.price;
|
|
41
|
-
this.minStockLevel = entity.minStockLevel;
|
|
42
|
-
this.options = entity.options?.map((option) => new VariantOptionRequestValidator(option)) || [];
|
|
43
|
-
this.active = entity.active;
|
|
44
|
-
this.barcode = entity.barcode;
|
|
45
|
-
}
|
|
35
|
+
export class CreateVariantRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
46
36
|
product;
|
|
47
37
|
sku;
|
|
48
38
|
price;
|
|
49
39
|
minStockLevel;
|
|
50
40
|
options = [];
|
|
51
41
|
active;
|
|
52
|
-
|
|
42
|
+
gtin;
|
|
43
|
+
constructor(variant) {
|
|
44
|
+
super();
|
|
45
|
+
if (!variant) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this.product = (variant.product?._id || variant.product);
|
|
49
|
+
this.sku = variant.identifier?.sku;
|
|
50
|
+
this.price = variant.price;
|
|
51
|
+
this.minStockLevel = variant.policy?.minStock;
|
|
52
|
+
this.active = variant.active;
|
|
53
|
+
this.gtin = variant.identifier?.gtin;
|
|
54
|
+
this.options =
|
|
55
|
+
variant.options?.map((option) => new VariantOptionRequestValidator(option)) ?? this.options;
|
|
56
|
+
}
|
|
53
57
|
}
|
|
54
58
|
__decorate([
|
|
55
59
|
(0, class_validator_1.IsMongoId)(),
|
|
56
60
|
(0, class_validator_1.IsOptional)(),
|
|
57
61
|
__metadata("design:type", String)
|
|
58
|
-
],
|
|
62
|
+
], CreateVariantRequestValidator.prototype, "product", void 0);
|
|
59
63
|
__decorate([
|
|
60
64
|
(0, class_validator_1.IsString)(),
|
|
61
65
|
(0, class_validator_1.Length)(0, 50),
|
|
62
66
|
(0, class_validator_1.IsOptional)(),
|
|
63
67
|
__metadata("design:type", String)
|
|
64
|
-
],
|
|
68
|
+
], CreateVariantRequestValidator.prototype, "sku", void 0);
|
|
65
69
|
__decorate([
|
|
66
70
|
(0, class_validator_1.IsNumber)(),
|
|
67
71
|
(0, class_validator_1.IsOptional)(),
|
|
68
72
|
__metadata("design:type", Number)
|
|
69
|
-
],
|
|
73
|
+
], CreateVariantRequestValidator.prototype, "price", void 0);
|
|
70
74
|
__decorate([
|
|
71
75
|
(0, class_validator_1.IsInt)(),
|
|
72
76
|
(0, class_validator_1.Min)(0),
|
|
73
77
|
(0, class_validator_1.IsOptional)(),
|
|
74
78
|
__metadata("design:type", Number)
|
|
75
|
-
],
|
|
79
|
+
], CreateVariantRequestValidator.prototype, "minStockLevel", void 0);
|
|
76
80
|
__decorate([
|
|
77
81
|
(0, class_validator_1.IsArray)(),
|
|
78
82
|
(0, class_validator_1.IsOptional)(),
|
|
79
83
|
(0, class_transformer_1.Type)(() => VariantOptionRequestValidator),
|
|
80
84
|
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
81
85
|
__metadata("design:type", Array)
|
|
82
|
-
],
|
|
86
|
+
], CreateVariantRequestValidator.prototype, "options", void 0);
|
|
83
87
|
__decorate([
|
|
84
88
|
(0, class_validator_1.IsBoolean)(),
|
|
85
89
|
(0, class_validator_1.IsOptional)(),
|
|
86
90
|
__metadata("design:type", Boolean)
|
|
87
|
-
],
|
|
91
|
+
], CreateVariantRequestValidator.prototype, "active", void 0);
|
|
88
92
|
__decorate([
|
|
89
93
|
(0, class_validator_1.IsString)(),
|
|
90
94
|
(0, class_validator_1.Length)(0, 50),
|
|
91
95
|
(0, class_validator_1.IsOptional)(),
|
|
92
96
|
__metadata("design:type", String)
|
|
93
|
-
],
|
|
97
|
+
], CreateVariantRequestValidator.prototype, "gtin", void 0);
|
|
98
|
+
export class UpdateVariantRequestValidator extends CreateVariantRequestValidator {
|
|
99
|
+
}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import { AssetEntity } from '../../../assets/asset';
|
|
2
|
-
import { StockBalanceStatusEnum } from '
|
|
2
|
+
import { StockBalanceStatusEnum } from '../../stock/balance';
|
|
3
3
|
import { AbstractEntity } from '../../..';
|
|
4
|
+
import { VariantIdentifierEntity } from '../../..';
|
|
5
|
+
import { VariantPolicyEntity } from '../../..';
|
|
4
6
|
import type { CatalogAttributeEntity } from '../attribute';
|
|
5
7
|
import type { CatalogProductEntity } from '../product';
|
|
6
8
|
import type { StockBalanceEntity } from '../../stock/balance';
|
|
7
9
|
export declare class CatalogVariantEntity extends AbstractEntity {
|
|
8
10
|
product?: CatalogProductEntity;
|
|
9
|
-
sku?: string;
|
|
10
11
|
price: number;
|
|
11
|
-
|
|
12
|
+
policy: VariantPolicyEntity;
|
|
13
|
+
identifier: VariantIdentifierEntity;
|
|
12
14
|
options: {
|
|
13
15
|
type: CatalogAttributeEntity;
|
|
14
16
|
value: string;
|
|
15
17
|
}[];
|
|
16
18
|
active: boolean;
|
|
17
|
-
barcode?: string;
|
|
18
19
|
pictures: AssetEntity[];
|
|
19
20
|
readonly total: number;
|
|
20
21
|
readonly stock: number;
|
|
21
22
|
readonly status: StockBalanceStatusEnum;
|
|
23
|
+
readonly balance: StockBalanceEntity;
|
|
22
24
|
readonly balances: StockBalanceEntity[];
|
|
23
25
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './measurement.entity';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './request.validator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './request.validator.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AbstractRequestValidator } from '../../..';
|
|
2
|
+
import type { ConfigurationMeasurementEntity } from './';
|
|
3
|
+
import type { ConfigurationUnitEntity } from '../unit';
|
|
4
|
+
export declare class ConfigurationUnitRequestValidator extends AbstractRequestValidator {
|
|
5
|
+
active?: boolean;
|
|
6
|
+
description?: string;
|
|
7
|
+
isBaseUnit?: boolean;
|
|
8
|
+
name: string;
|
|
9
|
+
symbol: string;
|
|
10
|
+
constructor(unit?: ConfigurationUnitEntity);
|
|
11
|
+
}
|
|
12
|
+
export declare class CreateConfigurationMeasurementRequestValidator extends AbstractRequestValidator {
|
|
13
|
+
name: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
active?: boolean;
|
|
16
|
+
units?: ConfigurationUnitRequestValidator[];
|
|
17
|
+
constructor(measurement?: ConfigurationMeasurementEntity);
|
|
18
|
+
}
|
|
19
|
+
export declare class UpdateConfigurationMeasurementRequestValidator extends CreateConfigurationMeasurementRequestValidator {
|
|
20
|
+
name: string;
|
|
21
|
+
}
|