@merkaly/api 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/account/address/address.validator.js +4 -0
  2. package/dist/account/payment/payment.validator.js +3 -0
  3. package/dist/account/user/user.validator.js +4 -1
  4. package/dist/address.validator.js +8 -0
  5. package/dist/finance/invoice/invoice.validator.js +1 -0
  6. package/dist/finance/payment/payment.validator.js +1 -0
  7. package/dist/finance/refund/refund.validator.js +1 -0
  8. package/dist/finance/subscription/subscription.validator.js +2 -0
  9. package/dist/finance/tax/tax.validator.js +3 -0
  10. package/dist/inventory/catalog/attribute/attribute.validator.js +4 -1
  11. package/dist/inventory/catalog/brand/brand.validator.js +2 -0
  12. package/dist/inventory/catalog/category/category.validator.js +2 -0
  13. package/dist/inventory/catalog/collection/collection.validator.js +2 -0
  14. package/dist/inventory/catalog/product/product.validator.js +6 -1
  15. package/dist/inventory/catalog/variant/variant.entity.d.ts +1 -1
  16. package/dist/inventory/catalog/variant/variant.validator.d.ts +1 -1
  17. package/dist/inventory/catalog/variant/variant.validator.js +4 -2
  18. package/dist/inventory/configuration/measurement/measurement.validator.js +5 -0
  19. package/dist/inventory/stock/transfer/transfer.validator.js +10 -2
  20. package/dist/inventory/stock/warehouse/warehouse.validator.d.ts +1 -1
  21. package/dist/inventory/stock/warehouse/warehouse.validator.js +5 -3
  22. package/dist/order/purchase/item/item.entity.d.ts +1 -1
  23. package/dist/order/purchase/item/item.validator.d.ts +2 -1
  24. package/dist/order/purchase/item/item.validator.js +10 -6
  25. package/dist/order/purchase/transaction/transaction.validator.d.ts +2 -0
  26. package/dist/order/purchase/transaction/transaction.validator.js +21 -0
  27. package/dist/order/purchase/vendor/vendor.validator.js +7 -0
  28. package/dist/order/sale/customer/customer.validator.js +7 -0
  29. package/dist/order/sale/item/item.validator.d.ts +2 -0
  30. package/dist/order/sale/item/item.validator.js +7 -2
  31. package/dist/order/sale/transaction/transaction.validator.d.ts +1 -0
  32. package/dist/order/sale/transaction/transaction.validator.js +4 -0
  33. package/dist/settings/organization/organization.validator.js +2 -0
  34. package/package.json +6 -5
@@ -25,17 +25,20 @@ export class SaveAddressValidator extends abstract_validator_1.AbstractValidator
25
25
  __decorate([
26
26
  (0, class_validator_1.IsString)(),
27
27
  (0, class_validator_1.IsNotEmpty)(),
28
+ (0, class_validator_1.Length)(0, 255),
28
29
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
29
30
  __metadata("design:type", String)
30
31
  ], SaveAddressValidator.prototype, "street", void 0);
31
32
  __decorate([
32
33
  (0, class_validator_1.IsString)(),
33
34
  (0, class_validator_1.IsNotEmpty)(),
35
+ (0, class_validator_1.Length)(0, 100),
34
36
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
35
37
  __metadata("design:type", String)
36
38
  ], SaveAddressValidator.prototype, "name", void 0);
37
39
  __decorate([
38
40
  (0, class_validator_1.IsString)(),
41
+ (0, class_validator_1.Length)(0, 255),
39
42
  (0, class_validator_1.IsOptional)(),
40
43
  __metadata("design:type", String)
41
44
  ], SaveAddressValidator.prototype, "complement", void 0);
@@ -47,6 +50,7 @@ __decorate([
47
50
  ], SaveAddressValidator.prototype, "country", void 0);
48
51
  __decorate([
49
52
  (0, class_validator_1.IsString)(),
53
+ (0, class_validator_1.Length)(0, 10),
50
54
  (0, class_validator_1.IsOptional)(),
51
55
  __metadata("design:type", String)
52
56
  ], SaveAddressValidator.prototype, "code", void 0);
@@ -24,12 +24,14 @@ export class SavePaymentValidator extends abstract_validator_1.AbstractValidator
24
24
  __decorate([
25
25
  (0, class_validator_1.IsString)(),
26
26
  (0, class_validator_1.IsNotEmpty)(),
27
+ (0, class_validator_1.Length)(0, 100),
27
28
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
28
29
  __metadata("design:type", String)
29
30
  ], SavePaymentValidator.prototype, "holder", void 0);
30
31
  __decorate([
31
32
  (0, class_validator_1.IsString)(),
32
33
  (0, class_validator_1.IsNotEmpty)(),
34
+ (0, class_validator_1.Length)(0, 255),
33
35
  (0, class_validator_1.ValidateIf)(() => false, { groups: ['update'] }),
34
36
  __metadata("design:type", String)
35
37
  ], SavePaymentValidator.prototype, "hash", void 0);
@@ -43,6 +45,7 @@ __decorate([
43
45
  __decorate([
44
46
  (0, class_validator_1.IsString)(),
45
47
  (0, class_validator_1.IsNotEmpty)(),
48
+ (0, class_validator_1.Length)(0, 50),
46
49
  (0, class_validator_1.ValidateIf)(() => false, { groups: ['update'] }),
47
50
  __metadata("design:type", String)
48
51
  ], SavePaymentValidator.prototype, "brand", void 0);
@@ -25,22 +25,25 @@ export class SaveUserValidator extends abstract_validator_1.AbstractValidator {
25
25
  __decorate([
26
26
  (0, class_validator_1.IsString)(),
27
27
  (0, class_validator_1.IsNotEmpty)(),
28
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
28
+ (0, class_validator_1.Length)(0, 100),
29
29
  __metadata("design:type", String)
30
30
  ], SaveUserValidator.prototype, "name", void 0);
31
31
  __decorate([
32
32
  (0, class_validator_1.IsString)(),
33
33
  (0, class_validator_1.IsOptional)(),
34
+ (0, class_validator_1.Length)(0, 2048),
34
35
  __metadata("design:type", String)
35
36
  ], SaveUserValidator.prototype, "picture", void 0);
36
37
  __decorate([
37
38
  (0, class_validator_1.IsEmail)(),
38
39
  (0, class_validator_1.IsOptional)(),
40
+ (0, class_validator_1.Length)(0, 254),
39
41
  __metadata("design:type", String)
40
42
  ], SaveUserValidator.prototype, "email", void 0);
41
43
  __decorate([
42
44
  (0, class_validator_1.IsString)(),
43
45
  (0, class_validator_1.IsOptional)(),
46
+ (0, class_validator_1.Length)(0, 20),
44
47
  __metadata("design:type", String)
45
48
  ], SaveUserValidator.prototype, "phone", void 0);
46
49
  __decorate([
@@ -22,36 +22,44 @@ export class AddressValidator {
22
22
  }
23
23
  __decorate([
24
24
  (0, class_validator_1.IsString)(),
25
+ (0, class_validator_1.Length)(0, 255),
25
26
  __metadata("design:type", String)
26
27
  ], AddressValidator.prototype, "line1", void 0);
27
28
  __decorate([
28
29
  (0, class_validator_1.IsString)(),
30
+ (0, class_validator_1.Length)(0, 255),
29
31
  (0, class_validator_1.IsOptional)(),
30
32
  __metadata("design:type", String)
31
33
  ], AddressValidator.prototype, "line2", void 0);
32
34
  __decorate([
33
35
  (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.Length)(0, 100),
34
37
  __metadata("design:type", String)
35
38
  ], AddressValidator.prototype, "name", void 0);
36
39
  __decorate([
37
40
  (0, class_validator_1.IsString)(),
41
+ (0, class_validator_1.Length)(0, 100),
38
42
  __metadata("design:type", String)
39
43
  ], AddressValidator.prototype, "city", void 0);
40
44
  __decorate([
41
45
  (0, class_validator_1.IsString)(),
46
+ (0, class_validator_1.Length)(0, 100),
42
47
  __metadata("design:type", String)
43
48
  ], AddressValidator.prototype, "state", void 0);
44
49
  __decorate([
45
50
  (0, class_validator_1.IsString)(),
51
+ (0, class_validator_1.Length)(0, 100),
46
52
  (0, class_validator_1.IsOptional)(),
47
53
  __metadata("design:type", String)
48
54
  ], AddressValidator.prototype, "locality", void 0);
49
55
  __decorate([
50
56
  (0, class_validator_1.IsString)(),
57
+ (0, class_validator_1.Length)(0, 100),
51
58
  __metadata("design:type", String)
52
59
  ], AddressValidator.prototype, "country", void 0);
53
60
  __decorate([
54
61
  (0, class_validator_1.IsString)(),
62
+ (0, class_validator_1.Length)(0, 10),
55
63
  __metadata("design:type", String)
56
64
  ], AddressValidator.prototype, "code", void 0);
57
65
  __decorate([
@@ -69,6 +69,7 @@ __decorate([
69
69
  ], SaveFinanceInvoiceValidator.prototype, "dueDate", void 0);
70
70
  __decorate([
71
71
  (0, class_validator_1.IsString)(),
72
+ (0, class_validator_1.Length)(0, 500),
72
73
  (0, class_validator_1.IsOptional)(),
73
74
  __metadata("design:type", String)
74
75
  ], SaveFinanceInvoiceValidator.prototype, "notes", void 0);
@@ -29,6 +29,7 @@ __decorate([
29
29
  ], SaveFinancePaymentValidator.prototype, "orderType", void 0);
30
30
  __decorate([
31
31
  (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.Length)(0, 255),
32
33
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
33
34
  __metadata("design:type", String)
34
35
  ], SaveFinancePaymentValidator.prototype, "target", void 0);
@@ -39,6 +39,7 @@ __decorate([
39
39
  ], SaveFinanceRefundValidator.prototype, "amount", void 0);
40
40
  __decorate([
41
41
  (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.Length)(0, 500),
42
43
  (0, class_validator_1.IsOptional)(),
43
44
  __metadata("design:type", String)
44
45
  ], SaveFinanceRefundValidator.prototype, "notes", void 0);
@@ -27,11 +27,13 @@ export class SaveFinanceSubscriptionValidator extends abstract_validator_1.Abstr
27
27
  __decorate([
28
28
  (0, class_validator_1.IsString)(),
29
29
  (0, class_validator_1.IsNotEmpty)(),
30
+ (0, class_validator_1.Length)(0, 100),
30
31
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
31
32
  __metadata("design:type", String)
32
33
  ], SaveFinanceSubscriptionValidator.prototype, "name", void 0);
33
34
  __decorate([
34
35
  (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.Length)(0, 1000),
35
37
  (0, class_validator_1.IsOptional)(),
36
38
  __metadata("design:type", String)
37
39
  ], SaveFinanceSubscriptionValidator.prototype, "description", void 0);
@@ -25,11 +25,13 @@ export class SaveFinanceTaxValidator extends abstract_validator_1.AbstractValida
25
25
  __decorate([
26
26
  (0, class_validator_1.IsString)(),
27
27
  (0, class_validator_1.IsNotEmpty)(),
28
+ (0, class_validator_1.Length)(0, 100),
28
29
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
29
30
  __metadata("design:type", String)
30
31
  ], SaveFinanceTaxValidator.prototype, "name", void 0);
31
32
  __decorate([
32
33
  (0, class_validator_1.IsString)(),
34
+ (0, class_validator_1.Length)(0, 1000),
33
35
  (0, class_validator_1.IsOptional)(),
34
36
  __metadata("design:type", String)
35
37
  ], SaveFinanceTaxValidator.prototype, "description", void 0);
@@ -47,6 +49,7 @@ __decorate([
47
49
  ], SaveFinanceTaxValidator.prototype, "type", void 0);
48
50
  __decorate([
49
51
  (0, class_validator_1.IsString)(),
52
+ (0, class_validator_1.Length)(0, 20),
50
53
  (0, class_validator_1.IsOptional)(),
51
54
  __metadata("design:type", String)
52
55
  ], SaveFinanceTaxValidator.prototype, "code", void 0);
@@ -29,13 +29,16 @@ export class SaveCatalogAttributeValidator extends abstract_validator_1.Abstract
29
29
  __decorate([
30
30
  (0, class_validator_1.IsString)(),
31
31
  (0, class_validator_1.IsNotEmpty)(),
32
+ (0, class_validator_1.Length)(0, 100),
32
33
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
33
34
  __metadata("design:type", String)
34
35
  ], SaveCatalogAttributeValidator.prototype, "name", void 0);
35
36
  __decorate([
36
37
  (0, class_validator_1.IsArray)(),
38
+ (0, class_validator_1.ArrayNotEmpty)(),
37
39
  (0, class_validator_1.IsString)({ each: true }),
38
- (0, class_validator_1.IsOptional)(),
40
+ (0, class_validator_1.Length)(0, 100, { each: true }),
41
+ (0, class_validator_1.IsOptional)({ groups: ['update'] }),
39
42
  __metadata("design:type", Array)
40
43
  ], SaveCatalogAttributeValidator.prototype, "values", void 0);
41
44
  __decorate([
@@ -27,11 +27,13 @@ export class SaveCatalogBrandValidator extends abstract_validator_1.AbstractVali
27
27
  __decorate([
28
28
  (0, class_validator_1.IsString)(),
29
29
  (0, class_validator_1.IsNotEmpty)(),
30
+ (0, class_validator_1.Length)(0, 100),
30
31
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
31
32
  __metadata("design:type", String)
32
33
  ], SaveCatalogBrandValidator.prototype, "name", void 0);
33
34
  __decorate([
34
35
  (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.Length)(0, 1000),
35
37
  (0, class_validator_1.IsOptional)(),
36
38
  __metadata("design:type", String)
37
39
  ], SaveCatalogBrandValidator.prototype, "description", void 0);
@@ -27,11 +27,13 @@ export class SaveCatalogCategoryValidator extends abstract_validator_1.AbstractV
27
27
  __decorate([
28
28
  (0, class_validator_1.IsString)(),
29
29
  (0, class_validator_1.IsNotEmpty)(),
30
+ (0, class_validator_1.Length)(0, 100),
30
31
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
31
32
  __metadata("design:type", String)
32
33
  ], SaveCatalogCategoryValidator.prototype, "name", void 0);
33
34
  __decorate([
34
35
  (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.Length)(0, 1000),
35
37
  (0, class_validator_1.IsOptional)(),
36
38
  __metadata("design:type", String)
37
39
  ], SaveCatalogCategoryValidator.prototype, "description", void 0);
@@ -29,11 +29,13 @@ export class SaveCatalogCollectionValidator extends abstract_validator_1.Abstrac
29
29
  __decorate([
30
30
  (0, class_validator_1.IsString)(),
31
31
  (0, class_validator_1.IsNotEmpty)(),
32
+ (0, class_validator_1.Length)(0, 100),
32
33
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
33
34
  __metadata("design:type", String)
34
35
  ], SaveCatalogCollectionValidator.prototype, "name", void 0);
35
36
  __decorate([
36
37
  (0, class_validator_1.IsString)(),
38
+ (0, class_validator_1.Length)(0, 1000),
37
39
  (0, class_validator_1.IsOptional)(),
38
40
  __metadata("design:type", String)
39
41
  ], SaveCatalogCollectionValidator.prototype, "description", void 0);
@@ -26,6 +26,7 @@ __decorate([
26
26
  __decorate([
27
27
  (0, class_validator_1.IsArray)(),
28
28
  (0, class_validator_1.IsString)({ each: true }),
29
+ (0, class_validator_1.Length)(0, 100, { each: true }),
29
30
  __metadata("design:type", Array)
30
31
  ], ProductAttributeValidator.prototype, "values", void 0);
31
32
  export class SaveCatalogProductValidator extends abstract_validator_1.AbstractValidator {
@@ -59,16 +60,19 @@ export class SaveCatalogProductValidator extends abstract_validator_1.AbstractVa
59
60
  __decorate([
60
61
  (0, class_validator_1.IsString)(),
61
62
  (0, class_validator_1.IsNotEmpty)(),
63
+ (0, class_validator_1.Length)(0, 100),
62
64
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
63
65
  __metadata("design:type", String)
64
66
  ], SaveCatalogProductValidator.prototype, "name", void 0);
65
67
  __decorate([
66
68
  (0, class_validator_1.IsString)(),
69
+ (0, class_validator_1.Length)(0, 50),
67
70
  (0, class_validator_1.IsOptional)(),
68
71
  __metadata("design:type", String)
69
72
  ], SaveCatalogProductValidator.prototype, "sku", void 0);
70
73
  __decorate([
71
74
  (0, class_validator_1.IsString)(),
75
+ (0, class_validator_1.Length)(0, 1000),
72
76
  (0, class_validator_1.IsOptional)(),
73
77
  __metadata("design:type", String)
74
78
  ], SaveCatalogProductValidator.prototype, "description", void 0);
@@ -78,7 +82,7 @@ __decorate([
78
82
  __metadata("design:type", Number)
79
83
  ], SaveCatalogProductValidator.prototype, "price", void 0);
80
84
  __decorate([
81
- (0, class_validator_1.IsNotEmptyObject)(),
85
+ (0, class_validator_1.IsObject)(),
82
86
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
83
87
  __metadata("design:type", Object)
84
88
  ], SaveCatalogProductValidator.prototype, "measure", void 0);
@@ -101,6 +105,7 @@ __decorate([
101
105
  __decorate([
102
106
  (0, class_validator_1.IsArray)(),
103
107
  (0, class_validator_1.IsString)({ each: true }),
108
+ (0, class_validator_1.Length)(0, 50, { each: true }),
104
109
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
105
110
  __metadata("design:type", Array)
106
111
  ], SaveCatalogProductValidator.prototype, "hashtags", void 0);
@@ -5,7 +5,7 @@ import type { CatalogProductEntity } from '../product';
5
5
  import type { MongoEntity } from '../../..';
6
6
  export declare class CatalogVariantEntity extends AbstractEntity {
7
7
  product?: MongoEntity<CatalogProductEntity>;
8
- sku: string;
8
+ sku?: string;
9
9
  price: number;
10
10
  stock: number;
11
11
  options: {
@@ -10,7 +10,7 @@ export declare class ReadCatalogVariantValidator extends ReadValidator<CatalogVa
10
10
  }
11
11
  export declare class SaveCatalogVariantValidator extends AbstractValidator {
12
12
  product?: string;
13
- sku: string;
13
+ sku?: string;
14
14
  price?: number;
15
15
  stock?: number;
16
16
  options?: VariantOptionValidator[];
@@ -21,6 +21,7 @@ __decorate([
21
21
  __decorate([
22
22
  (0, class_validator_1.IsString)(),
23
23
  (0, class_validator_1.IsNotEmpty)(),
24
+ (0, class_validator_1.Length)(0, 100),
24
25
  __metadata("design:type", String)
25
26
  ], VariantOptionValidator.prototype, "value", void 0);
26
27
  export class SearchCatalogVariantValidator extends abstract_validator_1.SearchValidator {
@@ -43,8 +44,8 @@ __decorate([
43
44
  ], SaveCatalogVariantValidator.prototype, "product", void 0);
44
45
  __decorate([
45
46
  (0, class_validator_1.IsString)(),
46
- (0, class_validator_1.IsNotEmpty)(),
47
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
47
+ (0, class_validator_1.Length)(0, 50),
48
+ (0, class_validator_1.IsOptional)(),
48
49
  __metadata("design:type", String)
49
50
  ], SaveCatalogVariantValidator.prototype, "sku", void 0);
50
51
  __decorate([
@@ -72,6 +73,7 @@ __decorate([
72
73
  ], SaveCatalogVariantValidator.prototype, "active", void 0);
73
74
  __decorate([
74
75
  (0, class_validator_1.IsString)(),
76
+ (0, class_validator_1.Length)(0, 50),
75
77
  (0, class_validator_1.IsOptional)(),
76
78
  __metadata("design:type", String)
77
79
  ], SaveCatalogVariantValidator.prototype, "barcode", void 0);
@@ -20,15 +20,18 @@ export class ConfigurationUnitValidator extends abstract_validator_1.AbstractVal
20
20
  __decorate([
21
21
  (0, class_validator_1.IsString)(),
22
22
  (0, class_validator_1.IsNotEmpty)(),
23
+ (0, class_validator_1.Length)(0, 100),
23
24
  __metadata("design:type", String)
24
25
  ], ConfigurationUnitValidator.prototype, "name", void 0);
25
26
  __decorate([
26
27
  (0, class_validator_1.IsString)(),
27
28
  (0, class_validator_1.IsNotEmpty)(),
29
+ (0, class_validator_1.Length)(0, 10),
28
30
  __metadata("design:type", String)
29
31
  ], ConfigurationUnitValidator.prototype, "symbol", void 0);
30
32
  __decorate([
31
33
  (0, class_validator_1.IsString)(),
34
+ (0, class_validator_1.Length)(0, 1000),
32
35
  (0, class_validator_1.IsOptional)(),
33
36
  __metadata("design:type", String)
34
37
  ], ConfigurationUnitValidator.prototype, "description", void 0);
@@ -70,11 +73,13 @@ export class SaveConfigurationMeasurementValidator extends abstract_validator_1.
70
73
  __decorate([
71
74
  (0, class_validator_1.IsString)(),
72
75
  (0, class_validator_1.IsNotEmpty)(),
76
+ (0, class_validator_1.Length)(0, 100),
73
77
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
74
78
  __metadata("design:type", String)
75
79
  ], SaveConfigurationMeasurementValidator.prototype, "name", void 0);
76
80
  __decorate([
77
81
  (0, class_validator_1.IsString)(),
82
+ (0, class_validator_1.Length)(0, 1000),
78
83
  (0, class_validator_1.IsOptional)(),
79
84
  __metadata("design:type", String)
80
85
  ], SaveConfigurationMeasurementValidator.prototype, "description", void 0);
@@ -11,6 +11,7 @@ import * as class_transformer_1 from "class-transformer";
11
11
  import * as class_validator_1 from "class-validator";
12
12
  import * as transfer_status_enum_1 from './transfer.status.enum.js';
13
13
  import * as abstract_validator_1 from '../../..';
14
+ import * as not_equal_to_decorator_1 from '../../..';
14
15
  export class StockTransferItemValidator {
15
16
  product;
16
17
  quantity;
@@ -27,6 +28,7 @@ __decorate([
27
28
  ], StockTransferItemValidator.prototype, "quantity", void 0);
28
29
  __decorate([
29
30
  (0, class_validator_1.IsString)(),
31
+ (0, class_validator_1.Length)(0, 500),
30
32
  (0, class_validator_1.IsOptional)(),
31
33
  __metadata("design:type", String)
32
34
  ], StockTransferItemValidator.prototype, "notes", void 0);
@@ -57,13 +59,18 @@ export class SaveStockTransferValidator extends abstract_validator_1.AbstractVal
57
59
  }
58
60
  __decorate([
59
61
  (0, class_validator_1.IsMongoId)(),
60
- (0, class_validator_1.ValidateIf)((it) => !it.destination, { groups: ['create'] }),
62
+ (0, class_validator_1.ValidateIf)((it) => Boolean(it.origin || !it.destination), {
63
+ groups: ['create'],
64
+ }),
61
65
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
62
66
  __metadata("design:type", String)
63
67
  ], SaveStockTransferValidator.prototype, "origin", void 0);
64
68
  __decorate([
65
69
  (0, class_validator_1.IsMongoId)(),
66
- (0, class_validator_1.ValidateIf)((it) => !it.origin, { groups: ['create'] }),
70
+ (0, class_validator_1.ValidateIf)((it) => Boolean(it.destination || !it.origin), {
71
+ groups: ['create'],
72
+ }),
73
+ (0, not_equal_to_decorator_1.IsNotEqualTo)((it) => it.origin),
67
74
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
68
75
  __metadata("design:type", String)
69
76
  ], SaveStockTransferValidator.prototype, "destination", void 0);
@@ -77,6 +84,7 @@ __decorate([
77
84
  ], SaveStockTransferValidator.prototype, "items", void 0);
78
85
  __decorate([
79
86
  (0, class_validator_1.IsString)(),
87
+ (0, class_validator_1.Length)(0, 500),
80
88
  (0, class_validator_1.IsOptional)(),
81
89
  __metadata("design:type", String)
82
90
  ], SaveStockTransferValidator.prototype, "notes", void 0);
@@ -8,7 +8,7 @@ export declare class ReadStockWarehouseValidator extends ReadValidator<StockWare
8
8
  export declare class SaveStockWarehouseValidator extends AbstractValidator {
9
9
  constructor(entity?: StockWarehouseEntity);
10
10
  name: string;
11
- code: string;
11
+ code?: string;
12
12
  description?: string;
13
13
  address: AddressValidator;
14
14
  isDefault?: boolean;
@@ -48,22 +48,24 @@ export class SaveStockWarehouseValidator extends abstract_validator_1.AbstractVa
48
48
  __decorate([
49
49
  (0, class_validator_1.IsString)(),
50
50
  (0, class_validator_1.IsNotEmpty)(),
51
+ (0, class_validator_1.Length)(0, 100),
51
52
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
52
53
  __metadata("design:type", String)
53
54
  ], SaveStockWarehouseValidator.prototype, "name", void 0);
54
55
  __decorate([
55
56
  (0, class_validator_1.IsString)(),
56
- (0, class_validator_1.IsNotEmpty)(),
57
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
57
+ (0, class_validator_1.Length)(0, 20),
58
+ (0, class_validator_1.IsOptional)(),
58
59
  __metadata("design:type", String)
59
60
  ], SaveStockWarehouseValidator.prototype, "code", void 0);
60
61
  __decorate([
61
62
  (0, class_validator_1.IsString)(),
63
+ (0, class_validator_1.Length)(0, 1000),
62
64
  (0, class_validator_1.IsOptional)(),
63
65
  __metadata("design:type", String)
64
66
  ], SaveStockWarehouseValidator.prototype, "description", void 0);
65
67
  __decorate([
66
- (0, class_validator_1.IsObject)(),
68
+ (0, class_validator_1.IsNotEmptyObject)({}, { message: 'Address is required' }),
67
69
  (0, class_validator_1.ValidateNested)(),
68
70
  (0, class_transformer_1.Type)(() => address_validator_1.AddressValidator),
69
71
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
@@ -5,7 +5,7 @@ import type { MongoEntity } from '../../..';
5
5
  export declare class PurchaseItemEntity extends AbstractEntity {
6
6
  product: MongoEntity<CatalogProductEntity>;
7
7
  variant: MongoEntity<CatalogVariantEntity>;
8
- cost: number;
8
+ price: number;
9
9
  quantity: number;
10
10
  notes?: string;
11
11
  readonly total: number;
@@ -2,7 +2,8 @@ import { AbstractValidator } from '../../..';
2
2
  export declare class PurchaseItemValidator extends AbstractValidator {
3
3
  product: string;
4
4
  variant: string;
5
- cost: number;
6
5
  quantity: number;
6
+ price: number;
7
7
  notes: string;
8
+ get total(): number;
8
9
  }
@@ -12,9 +12,12 @@ import * as abstract_validator_1 from '../../..';
12
12
  export class PurchaseItemValidator extends abstract_validator_1.AbstractValidator {
13
13
  product = String();
14
14
  variant = String();
15
- cost = 0;
16
15
  quantity = 1;
16
+ price = 0;
17
17
  notes = String();
18
+ get total() {
19
+ return Math.trunc(this.quantity * this.price);
20
+ }
18
21
  }
19
22
  __decorate([
20
23
  (0, class_validator_1.IsMongoId)(),
@@ -24,18 +27,19 @@ __decorate([
24
27
  (0, class_validator_1.IsMongoId)(),
25
28
  __metadata("design:type", Object)
26
29
  ], PurchaseItemValidator.prototype, "variant", void 0);
27
- __decorate([
28
- (0, class_validator_1.IsNumber)(),
29
- (0, class_validator_1.Min)(0),
30
- __metadata("design:type", Object)
31
- ], PurchaseItemValidator.prototype, "cost", void 0);
32
30
  __decorate([
33
31
  (0, class_validator_1.IsNumber)(),
34
32
  (0, class_validator_1.Min)(1),
35
33
  __metadata("design:type", Object)
36
34
  ], PurchaseItemValidator.prototype, "quantity", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsPositive)(),
37
+ (0, class_validator_1.IsInt)(),
38
+ __metadata("design:type", Object)
39
+ ], PurchaseItemValidator.prototype, "price", void 0);
37
40
  __decorate([
38
41
  (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.Length)(0, 500),
39
43
  (0, class_validator_1.IsOptional)(),
40
44
  __metadata("design:type", Object)
41
45
  ], PurchaseItemValidator.prototype, "notes", void 0);
@@ -7,9 +7,11 @@ export declare class SearchPurchaseTransactionValidator extends SearchValidator<
7
7
  export declare class ReadPurchaseTransactionValidator extends ReadValidator<PurchaseTransactionEntity> {
8
8
  }
9
9
  export declare class SavePurchaseTransactionValidator extends AbstractValidator {
10
+ constructor(entity?: PurchaseTransactionEntity);
10
11
  items: PurchaseItemValidator[];
11
12
  notes: string;
12
13
  user: string;
13
14
  vendor?: string;
14
15
  status: PurchaseTransactionStatusEnum;
16
+ get total(): number;
15
17
  }
@@ -17,11 +17,31 @@ export class SearchPurchaseTransactionValidator extends abstract_validator_1.Sea
17
17
  export class ReadPurchaseTransactionValidator extends abstract_validator_1.ReadValidator {
18
18
  }
19
19
  export class SavePurchaseTransactionValidator extends abstract_validator_1.AbstractValidator {
20
+ constructor(entity) {
21
+ super();
22
+ if (!entity)
23
+ return;
24
+ this.items = (entity.items || []).map((item) => ({
25
+ notes: item.notes,
26
+ price: item.price,
27
+ product: (0, abstract_validator_1.toId)(item.product),
28
+ quantity: item.quantity,
29
+ total: item.total,
30
+ variant: (0, abstract_validator_1.toId)(item.variant),
31
+ }));
32
+ this.notes = entity.notes;
33
+ this.vendor = (0, abstract_validator_1.toId)(entity.vendor);
34
+ this.user = (0, abstract_validator_1.toId)(entity.user);
35
+ this.status = entity.status;
36
+ }
20
37
  items = [];
21
38
  notes;
22
39
  user;
23
40
  vendor;
24
41
  status = transaction_enum_1.PurchaseTransactionStatusEnum.DRAFT;
42
+ get total() {
43
+ return this.items.reduce((sum, item) => sum + item.total, 0);
44
+ }
25
45
  }
26
46
  __decorate([
27
47
  (0, class_validator_1.IsArray)(),
@@ -33,6 +53,7 @@ __decorate([
33
53
  ], SavePurchaseTransactionValidator.prototype, "items", void 0);
34
54
  __decorate([
35
55
  (0, class_validator_1.IsString)(),
56
+ (0, class_validator_1.Length)(0, 500),
36
57
  (0, class_validator_1.IsOptional)(),
37
58
  __metadata("design:type", String)
38
59
  ], SavePurchaseTransactionValidator.prototype, "notes", void 0);
@@ -26,36 +26,43 @@ export class SavePurchaseVendorValidator extends abstract_validator_1.AbstractVa
26
26
  __decorate([
27
27
  (0, class_validator_1.IsString)(),
28
28
  (0, class_validator_1.IsNotEmpty)(),
29
+ (0, class_validator_1.Length)(0, 100),
29
30
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
30
31
  __metadata("design:type", String)
31
32
  ], SavePurchaseVendorValidator.prototype, "name", void 0);
32
33
  __decorate([
33
34
  (0, class_validator_1.IsString)(),
35
+ (0, class_validator_1.Length)(0, 1000),
34
36
  (0, class_validator_1.IsOptional)(),
35
37
  __metadata("design:type", String)
36
38
  ], SavePurchaseVendorValidator.prototype, "description", void 0);
37
39
  __decorate([
38
40
  (0, class_validator_1.IsEmail)(),
41
+ (0, class_validator_1.Length)(0, 254),
39
42
  (0, class_validator_1.IsOptional)(),
40
43
  __metadata("design:type", String)
41
44
  ], SavePurchaseVendorValidator.prototype, "email", void 0);
42
45
  __decorate([
43
46
  (0, class_validator_1.IsUrl)(),
47
+ (0, class_validator_1.Length)(0, 2048),
44
48
  (0, class_validator_1.IsOptional)(),
45
49
  __metadata("design:type", String)
46
50
  ], SavePurchaseVendorValidator.prototype, "logo", void 0);
47
51
  __decorate([
48
52
  (0, class_validator_1.IsString)(),
53
+ (0, class_validator_1.Length)(0, 20),
49
54
  (0, class_validator_1.IsOptional)(),
50
55
  __metadata("design:type", String)
51
56
  ], SavePurchaseVendorValidator.prototype, "phone", void 0);
52
57
  __decorate([
53
58
  (0, class_validator_1.IsString)(),
59
+ (0, class_validator_1.Length)(0, 2048),
54
60
  (0, class_validator_1.IsOptional)(),
55
61
  __metadata("design:type", String)
56
62
  ], SavePurchaseVendorValidator.prototype, "website", void 0);
57
63
  __decorate([
58
64
  (0, class_validator_1.IsString)(),
65
+ (0, class_validator_1.Length)(0, 20),
59
66
  (0, class_validator_1.IsOptional)(),
60
67
  __metadata("design:type", String)
61
68
  ], SavePurchaseVendorValidator.prototype, "taxId", void 0);
@@ -28,6 +28,7 @@ export class SaveSaleCustomerValidator extends abstract_validator_1.AbstractVali
28
28
  __decorate([
29
29
  (0, class_validator_1.IsString)(),
30
30
  (0, class_validator_1.IsNotEmpty)(),
31
+ (0, class_validator_1.Length)(0, 100),
31
32
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
32
33
  __metadata("design:type", String)
33
34
  ], SaveSaleCustomerValidator.prototype, "name", void 0);
@@ -38,33 +39,39 @@ __decorate([
38
39
  ], SaveSaleCustomerValidator.prototype, "type", void 0);
39
40
  __decorate([
40
41
  (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.Length)(0, 1000),
41
43
  (0, class_validator_1.IsOptional)(),
42
44
  __metadata("design:type", String)
43
45
  ], SaveSaleCustomerValidator.prototype, "description", void 0);
44
46
  __decorate([
45
47
  (0, class_validator_1.IsEmail)(),
48
+ (0, class_validator_1.Length)(0, 254),
46
49
  (0, class_validator_1.IsOptional)(),
47
50
  (0, class_validator_1.ValidateIf)((o) => o.email),
48
51
  __metadata("design:type", String)
49
52
  ], SaveSaleCustomerValidator.prototype, "email", void 0);
50
53
  __decorate([
51
54
  (0, class_validator_1.IsUrl)(),
55
+ (0, class_validator_1.Length)(0, 2048),
52
56
  (0, class_validator_1.IsOptional)(),
53
57
  (0, class_validator_1.ValidateIf)((o) => o.logo),
54
58
  __metadata("design:type", String)
55
59
  ], SaveSaleCustomerValidator.prototype, "logo", void 0);
56
60
  __decorate([
57
61
  (0, class_validator_1.IsString)(),
62
+ (0, class_validator_1.Length)(0, 20),
58
63
  (0, class_validator_1.IsOptional)(),
59
64
  __metadata("design:type", String)
60
65
  ], SaveSaleCustomerValidator.prototype, "phone", void 0);
61
66
  __decorate([
62
67
  (0, class_validator_1.IsString)(),
68
+ (0, class_validator_1.Length)(0, 2048),
63
69
  (0, class_validator_1.IsOptional)(),
64
70
  __metadata("design:type", String)
65
71
  ], SaveSaleCustomerValidator.prototype, "website", void 0);
66
72
  __decorate([
67
73
  (0, class_validator_1.IsString)(),
74
+ (0, class_validator_1.Length)(0, 20),
68
75
  (0, class_validator_1.IsOptional)(),
69
76
  __metadata("design:type", String)
70
77
  ], SaveSaleCustomerValidator.prototype, "taxId", void 0);
@@ -3,4 +3,6 @@ export declare class SaleItemValidator {
3
3
  variant: string;
4
4
  quantity: number;
5
5
  notes?: string;
6
+ price: number;
7
+ get total(): number;
6
8
  }
@@ -11,8 +11,12 @@ import * as class_validator_1 from "class-validator";
11
11
  export class SaleItemValidator {
12
12
  product;
13
13
  variant;
14
- quantity;
14
+ quantity = 1;
15
15
  notes;
16
+ price = 0;
17
+ get total() {
18
+ return Math.trunc(this.quantity * this.price);
19
+ }
16
20
  }
17
21
  __decorate([
18
22
  (0, class_validator_1.IsMongoId)(),
@@ -25,10 +29,11 @@ __decorate([
25
29
  __decorate([
26
30
  (0, class_validator_1.IsPositive)(),
27
31
  (0, class_validator_1.IsInt)(),
28
- __metadata("design:type", Number)
32
+ __metadata("design:type", Object)
29
33
  ], SaleItemValidator.prototype, "quantity", void 0);
30
34
  __decorate([
31
35
  (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.Length)(0, 500),
32
37
  (0, class_validator_1.IsOptional)(),
33
38
  __metadata("design:type", String)
34
39
  ], SaleItemValidator.prototype, "notes", void 0);
@@ -17,4 +17,5 @@ export declare class SaveSaleTransactionValidator extends AbstractValidator {
17
17
  user: string;
18
18
  customer?: string;
19
19
  status?: SaleTransactionStatusEnum;
20
+ get total(): number;
20
21
  }
@@ -42,6 +42,9 @@ export class SaveSaleTransactionValidator extends abstract_validator_1.AbstractV
42
42
  user;
43
43
  customer;
44
44
  status;
45
+ get total() {
46
+ return this.items.reduce((sum, item) => sum + item.total, 0);
47
+ }
45
48
  }
46
49
  __decorate([
47
50
  (0, class_validator_1.IsArray)(),
@@ -53,6 +56,7 @@ __decorate([
53
56
  ], SaveSaleTransactionValidator.prototype, "items", void 0);
54
57
  __decorate([
55
58
  (0, class_validator_1.IsString)(),
59
+ (0, class_validator_1.Length)(0, 500),
56
60
  (0, class_validator_1.IsOptional)(),
57
61
  __metadata("design:type", String)
58
62
  ], SaveSaleTransactionValidator.prototype, "notes", void 0);
@@ -20,11 +20,13 @@ export class SaveSettingValidator extends abstract_validator_1.AbstractValidator
20
20
  __decorate([
21
21
  (0, class_validator_1.IsString)(),
22
22
  (0, class_validator_1.IsNotEmpty)(),
23
+ (0, class_validator_1.Length)(0, 100),
23
24
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
24
25
  __metadata("design:type", String)
25
26
  ], SaveSettingValidator.prototype, "key", void 0);
26
27
  __decorate([
27
28
  (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.Length)(0, 1000),
28
30
  (0, class_validator_1.IsOptional)({ groups: ['update'] }),
29
31
  __metadata("design:type", String)
30
32
  ], SaveSettingValidator.prototype, "value", void 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkaly/api",
3
- "version": "0.4.4",
3
+ "version": "0.4.6",
4
4
  "type": "module",
5
5
  "description": "Shared TypeScript interfaces and enums for Merkaly API",
6
6
  "exports": {
@@ -104,6 +104,10 @@
104
104
  "files": [
105
105
  "dist"
106
106
  ],
107
+ "scripts": {
108
+ "build": "tsx build.ts",
109
+ "prepack": "pnpm build"
110
+ },
107
111
  "dependencies": {
108
112
  "class-transformer": "^0.5.1",
109
113
  "class-validator": "^0.14.2",
@@ -114,8 +118,5 @@
114
118
  },
115
119
  "publishConfig": {
116
120
  "access": "public"
117
- },
118
- "scripts": {
119
- "build": "tsx build.ts"
120
121
  }
121
- }
122
+ }