@merkaly/api 0.5.14 → 0.6.0

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 (178) hide show
  1. package/dist/abstract.repository.d.ts +20 -30
  2. package/dist/abstract.validator.d.ts +10 -17
  3. package/dist/abstract.validator.js +54 -64
  4. package/dist/account/address/index.d.ts +1 -1
  5. package/dist/account/address/index.js +1 -1
  6. package/dist/account/address/request.validator.d.ts +14 -0
  7. package/dist/account/address/{address.validator.js → request.validator.js} +22 -18
  8. package/dist/account/payment/index.d.ts +1 -1
  9. package/dist/account/payment/index.js +1 -1
  10. package/dist/account/payment/request.validator.d.ts +17 -0
  11. package/dist/account/payment/{payment.validator.js → request.validator.js} +34 -18
  12. package/dist/account/user/index.d.ts +1 -1
  13. package/dist/account/user/index.js +1 -1
  14. package/dist/account/user/request.validator.d.ts +8 -0
  15. package/dist/account/user/{user.validator.js → request.validator.js} +7 -23
  16. package/dist/address.validator.d.ts +2 -2
  17. package/dist/finance/invoice/index.d.ts +1 -1
  18. package/dist/finance/invoice/index.js +1 -1
  19. package/dist/finance/invoice/request.validator.d.ts +19 -0
  20. package/dist/finance/invoice/{invoice.validator.js → request.validator.js} +26 -19
  21. package/dist/finance/payment/index.d.ts +1 -1
  22. package/dist/finance/payment/index.js +1 -1
  23. package/dist/finance/payment/payment.entity.d.ts +1 -2
  24. package/dist/finance/payment/payment.transition.d.ts +5 -3
  25. package/dist/finance/payment/payment.transition.js +10 -5
  26. package/dist/finance/payment/request.validator.d.ts +12 -0
  27. package/dist/finance/payment/{payment.validator.js → request.validator.js} +13 -12
  28. package/dist/finance/refund/index.d.ts +1 -1
  29. package/dist/finance/refund/index.js +1 -1
  30. package/dist/finance/refund/refund.transition.d.ts +5 -3
  31. package/dist/finance/refund/refund.transition.js +8 -14
  32. package/dist/finance/refund/request.validator.d.ts +14 -0
  33. package/dist/finance/refund/{refund.validator.js → request.validator.js} +21 -14
  34. package/dist/finance/subscription/index.d.ts +0 -1
  35. package/dist/finance/subscription/index.js +0 -1
  36. package/dist/finance/tax/index.d.ts +0 -1
  37. package/dist/finance/tax/index.js +0 -1
  38. package/dist/inventory/catalog/attribute/index.d.ts +1 -1
  39. package/dist/inventory/catalog/attribute/index.js +1 -1
  40. package/dist/inventory/catalog/attribute/request.validator.d.ts +9 -0
  41. package/dist/inventory/catalog/attribute/{attribute.validator.js → request.validator.js} +12 -19
  42. package/dist/inventory/catalog/brand/brand.entity.d.ts +2 -0
  43. package/dist/inventory/catalog/brand/index.d.ts +1 -1
  44. package/dist/inventory/catalog/brand/index.js +1 -1
  45. package/dist/inventory/catalog/brand/request.validator.d.ts +8 -0
  46. package/dist/{settings/organization/organization.validator.js → inventory/catalog/brand/request.validator.js} +13 -12
  47. package/dist/inventory/catalog/category/category.entity.d.ts +2 -0
  48. package/dist/inventory/catalog/category/index.d.ts +1 -1
  49. package/dist/inventory/catalog/category/index.js +1 -1
  50. package/dist/inventory/catalog/category/request.validator.d.ts +8 -0
  51. package/dist/inventory/catalog/{brand/brand.validator.js → category/request.validator.js} +10 -16
  52. package/dist/inventory/catalog/collection/collection.entity.d.ts +2 -2
  53. package/dist/inventory/catalog/collection/index.d.ts +1 -1
  54. package/dist/inventory/catalog/collection/index.js +1 -1
  55. package/dist/inventory/catalog/collection/request.validator.d.ts +9 -0
  56. package/dist/inventory/catalog/collection/{collection.validator.js → request.validator.js} +11 -18
  57. package/dist/inventory/catalog/product/index.d.ts +1 -1
  58. package/dist/inventory/catalog/product/index.js +1 -1
  59. package/dist/inventory/catalog/product/product.entity.d.ts +14 -8
  60. package/dist/inventory/catalog/product/request.validator.d.ts +29 -0
  61. package/dist/inventory/catalog/product/{product.validator.js → request.validator.js} +46 -39
  62. package/dist/inventory/catalog/variant/index.d.ts +1 -1
  63. package/dist/inventory/catalog/variant/index.js +1 -1
  64. package/dist/inventory/catalog/variant/request.validator.d.ts +16 -0
  65. package/dist/inventory/catalog/variant/{variant.validator.js → request.validator.js} +22 -17
  66. package/dist/inventory/catalog/variant/variant.entity.d.ts +9 -6
  67. package/dist/inventory/configuration/measurement/index.d.ts +1 -1
  68. package/dist/inventory/configuration/measurement/index.js +1 -1
  69. package/dist/inventory/configuration/measurement/request.validator.d.ts +17 -0
  70. package/dist/inventory/configuration/measurement/{measurement.validator.js → request.validator.js} +35 -49
  71. package/dist/inventory/stock/balance/balance.entity.d.ts +8 -6
  72. package/dist/inventory/stock/balance/index.d.ts +0 -1
  73. package/dist/inventory/stock/balance/index.js +1 -1
  74. package/dist/inventory/stock/transfer/index.d.ts +3 -2
  75. package/dist/inventory/stock/transfer/index.js +2 -2
  76. package/dist/inventory/stock/transfer/request.validator.d.ts +20 -0
  77. package/dist/inventory/stock/transfer/{transfer.validator.js → request.validator.js} +32 -44
  78. package/dist/inventory/stock/transfer/transfer.entity.d.ts +9 -16
  79. package/dist/inventory/stock/transfer/{transfer.status.enum.d.ts → transfer.enum.d.ts} +5 -1
  80. package/dist/inventory/stock/transfer/{transfer.status.enum.js → transfer.enum.js} +6 -1
  81. package/dist/inventory/stock/transfer/transfer.item.entity.d.ts +10 -0
  82. package/dist/inventory/stock/transfer/transfer.transition.d.ts +3 -1
  83. package/dist/inventory/stock/transfer/transfer.transition.js +13 -6
  84. package/dist/inventory/stock/warehouse/index.d.ts +1 -1
  85. package/dist/inventory/stock/warehouse/index.js +1 -1
  86. package/dist/inventory/stock/warehouse/request.validator.d.ts +12 -0
  87. package/dist/{finance/tax/tax.validator.js → inventory/stock/warehouse/request.validator.js} +25 -30
  88. package/dist/inventory/stock/warehouse/warehouse.entity.d.ts +2 -2
  89. package/dist/order/purchase/item/index.d.ts +1 -1
  90. package/dist/order/purchase/item/index.js +1 -1
  91. package/dist/order/purchase/item/item.entity.d.ts +16 -11
  92. package/dist/order/purchase/item/request.validator.d.ts +9 -0
  93. package/dist/order/{service/item/item.validator.js → purchase/item/request.validator.js} +14 -19
  94. package/dist/order/purchase/transaction/index.d.ts +1 -1
  95. package/dist/order/purchase/transaction/index.js +1 -1
  96. package/dist/order/purchase/transaction/request.validator.d.ts +20 -0
  97. package/dist/order/purchase/transaction/request.validator.js +75 -0
  98. package/dist/order/purchase/transaction/transaction.entity.d.ts +3 -4
  99. package/dist/order/purchase/transaction/transaction.enum.d.ts +4 -2
  100. package/dist/order/purchase/transaction/transaction.enum.js +9 -2
  101. package/dist/order/purchase/transaction/transaction.transition.d.ts +2 -0
  102. package/dist/order/purchase/transaction/transaction.transition.js +11 -3
  103. package/dist/order/purchase/vendor/index.d.ts +1 -1
  104. package/dist/order/purchase/vendor/index.js +1 -1
  105. package/dist/order/purchase/vendor/request.validator.d.ts +14 -0
  106. package/dist/order/purchase/vendor/{vendor.validator.js → request.validator.js} +16 -15
  107. package/dist/order/sale/customer/index.d.ts +1 -1
  108. package/dist/order/sale/customer/index.js +1 -1
  109. package/dist/order/sale/customer/request.validator.d.ts +16 -0
  110. package/dist/order/sale/customer/{customer.validator.js → request.validator.js} +17 -30
  111. package/dist/order/sale/item/index.d.ts +1 -1
  112. package/dist/order/sale/item/index.js +1 -1
  113. package/dist/order/sale/item/item.entity.d.ts +16 -16
  114. package/dist/order/sale/item/request.validator.d.ts +9 -0
  115. package/dist/order/sale/item/{item.validator.js → request.validator.js} +7 -10
  116. package/dist/order/sale/transaction/index.d.ts +1 -1
  117. package/dist/order/sale/transaction/index.js +1 -1
  118. package/dist/order/sale/transaction/request.validator.d.ts +20 -0
  119. package/dist/order/sale/transaction/request.validator.js +74 -0
  120. package/dist/order/sale/transaction/transaction.entity.d.ts +3 -6
  121. package/dist/order/sale/transaction/transaction.enum.d.ts +4 -2
  122. package/dist/order/sale/transaction/transaction.enum.js +9 -2
  123. package/dist/order/sale/transaction/transaction.transition.d.ts +2 -0
  124. package/dist/order/sale/transaction/transaction.transition.js +11 -3
  125. package/dist/repository.types.d.ts +2 -2
  126. package/dist/settings/organization/index.d.ts +0 -1
  127. package/dist/settings/organization/index.js +0 -1
  128. package/dist/transaction.entity.d.ts +11 -4
  129. package/package.json +5 -6
  130. package/dist/account/address/address.validator.d.ts +0 -15
  131. package/dist/account/payment/payment.validator.d.ts +0 -14
  132. package/dist/account/user/user.validator.d.ts +0 -15
  133. package/dist/finance/invoice/invoice.validator.d.ts +0 -19
  134. package/dist/finance/payment/payment.validator.d.ts +0 -14
  135. package/dist/finance/refund/refund.validator.d.ts +0 -14
  136. package/dist/finance/subscription/subscription.validator.d.ts +0 -17
  137. package/dist/finance/subscription/subscription.validator.js +0 -69
  138. package/dist/finance/tax/tax.validator.d.ts +0 -15
  139. package/dist/inventory/catalog/attribute/attribute.validator.d.ts +0 -12
  140. package/dist/inventory/catalog/brand/brand.validator.d.ts +0 -11
  141. package/dist/inventory/catalog/category/category.validator.d.ts +0 -11
  142. package/dist/inventory/catalog/category/category.validator.js +0 -39
  143. package/dist/inventory/catalog/collection/collection.validator.d.ts +0 -12
  144. package/dist/inventory/catalog/product/product.validator.d.ts +0 -27
  145. package/dist/inventory/catalog/variant/variant.validator.d.ts +0 -18
  146. package/dist/inventory/configuration/measurement/measurement.validator.d.ts +0 -20
  147. package/dist/inventory/stock/balance/balance.validator.d.ts +0 -13
  148. package/dist/inventory/stock/balance/balance.validator.js +0 -46
  149. package/dist/inventory/stock/transfer/transfer.validator.d.ts +0 -21
  150. package/dist/inventory/stock/warehouse/warehouse.validator.d.ts +0 -19
  151. package/dist/inventory/stock/warehouse/warehouse.validator.js +0 -85
  152. package/dist/order/purchase/item/item.validator.d.ts +0 -10
  153. package/dist/order/purchase/item/item.validator.js +0 -50
  154. package/dist/order/purchase/transaction/transaction.validator.d.ts +0 -18
  155. package/dist/order/purchase/transaction/transaction.validator.js +0 -77
  156. package/dist/order/purchase/vendor/vendor.validator.d.ts +0 -16
  157. package/dist/order/sale/customer/customer.validator.d.ts +0 -19
  158. package/dist/order/sale/item/item.validator.d.ts +0 -9
  159. package/dist/order/sale/payment/index.d.ts +0 -1
  160. package/dist/order/sale/payment/index.js +0 -1
  161. package/dist/order/sale/payment/payment.validator.d.ts +0 -7
  162. package/dist/order/sale/payment/payment.validator.js +0 -31
  163. package/dist/order/sale/transaction/transaction.validator.d.ts +0 -18
  164. package/dist/order/sale/transaction/transaction.validator.js +0 -76
  165. package/dist/order/service/item/index.d.ts +0 -2
  166. package/dist/order/service/item/index.js +0 -1
  167. package/dist/order/service/item/item.entity.d.ts +0 -14
  168. package/dist/order/service/item/item.validator.d.ts +0 -9
  169. package/dist/order/service/transaction/index.d.ts +0 -4
  170. package/dist/order/service/transaction/index.js +0 -3
  171. package/dist/order/service/transaction/transaction.entity.d.ts +0 -9
  172. package/dist/order/service/transaction/transaction.enum.d.ts +0 -8
  173. package/dist/order/service/transaction/transaction.enum.js +0 -9
  174. package/dist/order/service/transaction/transaction.transition.d.ts +0 -6
  175. package/dist/order/service/transaction/transaction.transition.js +0 -13
  176. package/dist/order/service/transaction/transaction.validator.d.ts +0 -17
  177. package/dist/order/service/transaction/transaction.validator.js +0 -75
  178. package/dist/settings/organization/organization.validator.d.ts +0 -10
@@ -8,20 +8,8 @@ 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 SearchCatalogCollectionValidator extends abstract_validator_1.SearchValidator {
13
- }
14
- export class ReadCatalogCollectionValidator extends abstract_validator_1.ReadValidator {
15
- }
16
- export class SaveCatalogCollectionValidator extends abstract_validator_1.AbstractValidator {
17
- constructor(entity) {
18
- super();
19
- if (!entity)
20
- return;
21
- this.name = entity.name;
22
- this.description = entity.description;
23
- this.products = entity.products?.map(abstract_validator_1.toId).filter(Boolean) || [];
24
- }
11
+ import * as abstract_validator_1 from '../../../index.js';
12
+ export class CreateCollectionRequestValidator extends abstract_validator_1.AbstractRequestValidator {
25
13
  name;
26
14
  description;
27
15
  products = [];
@@ -30,17 +18,22 @@ __decorate([
30
18
  (0, class_validator_1.IsString)(),
31
19
  (0, class_validator_1.IsNotEmpty)(),
32
20
  (0, class_validator_1.Length)(0, 100),
33
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
34
21
  __metadata("design:type", String)
35
- ], SaveCatalogCollectionValidator.prototype, "name", void 0);
22
+ ], CreateCollectionRequestValidator.prototype, "name", void 0);
36
23
  __decorate([
37
24
  (0, class_validator_1.IsString)(),
38
25
  (0, class_validator_1.Length)(0, 1000),
39
26
  (0, class_validator_1.IsOptional)(),
40
27
  __metadata("design:type", String)
41
- ], SaveCatalogCollectionValidator.prototype, "description", void 0);
28
+ ], CreateCollectionRequestValidator.prototype, "description", void 0);
42
29
  __decorate([
43
30
  (0, class_validator_1.IsMongoId)({ each: true }),
44
31
  (0, class_validator_1.IsOptional)(),
45
32
  __metadata("design:type", Array)
46
- ], SaveCatalogCollectionValidator.prototype, "products", void 0);
33
+ ], CreateCollectionRequestValidator.prototype, "products", void 0);
34
+ export class UpdateCollectionRequestValidator extends CreateCollectionRequestValidator {
35
+ }
36
+ __decorate([
37
+ (0, class_validator_1.IsOptional)(),
38
+ __metadata("design:type", String)
39
+ ], UpdateCollectionRequestValidator.prototype, "name", void 0);
@@ -1,2 +1,2 @@
1
1
  export * from './product.entity';
2
- export * from './product.validator';
2
+ export * from './request.validator';
@@ -1 +1 @@
1
- export * from './product.validator.js';
1
+ export * from './request.validator.js';
@@ -1,30 +1,36 @@
1
1
  import { AssetEntity } from '../../../assets/asset';
2
+ import { StockBalanceStatusEnum } from '../../..';
2
3
  import { AbstractEntity } from '../../..';
4
+ import { StockBalanceEntity } from '../../stock/balance';
3
5
  import { CatalogAttributeEntity } from '../attribute';
4
6
  import type { CatalogBrandEntity } from '../brand';
5
7
  import type { CatalogCategoryEntity } from '../category';
6
8
  import type { CatalogVariantEntity } from '../variant';
7
9
  import type { ConfigurationMeasurementEntity } from '../../configuration/measurement';
8
- import type { MongoEntity } from '../../..';
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
- pictures: MongoEntity<AssetEntity>[];
15
- category?: MongoEntity<CatalogCategoryEntity>;
16
- brand?: MongoEntity<CatalogBrandEntity>;
16
+ minStockLevel: number;
17
+ pictures: AssetEntity[];
18
+ category?: CatalogCategoryEntity;
19
+ brand?: CatalogBrandEntity;
17
20
  attributes: {
18
- type: MongoEntity<CatalogAttributeEntity>;
21
+ type: CatalogAttributeEntity;
19
22
  values: string[];
20
23
  }[];
21
24
  measure?: {
22
25
  amount: number;
23
- kind: MongoEntity<ConfigurationMeasurementEntity>;
26
+ kind: ConfigurationMeasurementEntity;
24
27
  unit: string;
28
+ selected?: ConfigurationUnitEntity;
25
29
  };
26
30
  hashtags: string[];
27
- readonly variants: MongoEntity<CatalogVariantEntity>[];
31
+ readonly variants: CatalogVariantEntity[];
28
32
  readonly stock: number;
29
- readonly image: MongoEntity<AssetEntity>;
33
+ readonly status: StockBalanceStatusEnum;
34
+ readonly balance: StockBalanceEntity;
35
+ readonly image: AssetEntity;
30
36
  }
@@ -0,0 +1,29 @@
1
+ import { AbstractRequestValidator } from '../../..';
2
+ export declare class ProductAttributeRequestValidator extends AbstractRequestValidator {
3
+ type: string;
4
+ values: string[];
5
+ }
6
+ export declare class CreateProductRequestValidator extends AbstractRequestValidator {
7
+ name: string;
8
+ sku?: string;
9
+ description?: string;
10
+ price: number;
11
+ minStockLevel?: number;
12
+ measure: {
13
+ amount: any;
14
+ kind: any;
15
+ unit: any;
16
+ };
17
+ pictures?: string[];
18
+ category?: string;
19
+ brand?: string;
20
+ hashtags: string[];
21
+ attributes: ProductAttributeRequestValidator[];
22
+ }
23
+ export declare class UpdateProductRequestValidator extends CreateProductRequestValidator {
24
+ name: string;
25
+ price: number;
26
+ measure: CreateProductRequestValidator['measure'];
27
+ hashtags: string[];
28
+ attributes: ProductAttributeRequestValidator[];
29
+ }
@@ -9,44 +9,27 @@ 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 SearchCatalogProductValidator extends abstract_validator_1.SearchValidator {
14
- }
15
- export class ReadCatalogProductValidator extends abstract_validator_1.ReadValidator {
16
- }
17
- export class ProductAttributeValidator extends abstract_validator_1.AbstractValidator {
12
+ import * as abstract_validator_1 from '../../../index.js';
13
+ export class ProductAttributeRequestValidator extends abstract_validator_1.AbstractRequestValidator {
18
14
  type;
19
15
  values = [];
20
16
  }
21
17
  __decorate([
22
18
  (0, class_validator_1.IsMongoId)(),
23
19
  __metadata("design:type", String)
24
- ], ProductAttributeValidator.prototype, "type", void 0);
20
+ ], ProductAttributeRequestValidator.prototype, "type", void 0);
25
21
  __decorate([
26
22
  (0, class_validator_1.IsArray)(),
27
23
  (0, class_validator_1.IsString)({ each: true }),
28
24
  (0, class_validator_1.Length)(0, 100, { each: true }),
29
25
  __metadata("design:type", Array)
30
- ], ProductAttributeValidator.prototype, "values", void 0);
31
- export class SaveCatalogProductValidator extends abstract_validator_1.AbstractValidator {
32
- constructor(entity) {
33
- super();
34
- if (!entity)
35
- return;
36
- this.sku = entity.sku;
37
- this.name = entity.name;
38
- this.description = entity.description;
39
- this.price = entity.price;
40
- this.category = (0, abstract_validator_1.toId)(entity.category);
41
- this.brand = (0, abstract_validator_1.toId)(entity.brand);
42
- this.measure.amount = entity.measure?.amount;
43
- this.measure.kind = (0, abstract_validator_1.toId)(entity.measure?.kind);
44
- this.measure.unit = entity.measure?.unit;
45
- }
26
+ ], ProductAttributeRequestValidator.prototype, "values", void 0);
27
+ export class CreateProductRequestValidator extends abstract_validator_1.AbstractRequestValidator {
46
28
  name;
47
29
  sku;
48
30
  description;
49
31
  price;
32
+ minStockLevel;
50
33
  measure = { amount: undefined, kind: undefined, unit: undefined };
51
34
  pictures = [];
52
35
  category;
@@ -58,58 +41,82 @@ __decorate([
58
41
  (0, class_validator_1.IsString)(),
59
42
  (0, class_validator_1.IsNotEmpty)(),
60
43
  (0, class_validator_1.Length)(0, 100),
61
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
62
44
  __metadata("design:type", String)
63
- ], SaveCatalogProductValidator.prototype, "name", void 0);
45
+ ], CreateProductRequestValidator.prototype, "name", void 0);
64
46
  __decorate([
65
47
  (0, class_validator_1.IsString)(),
66
48
  (0, class_validator_1.Length)(0, 50),
67
49
  (0, class_validator_1.IsOptional)(),
68
50
  __metadata("design:type", String)
69
- ], SaveCatalogProductValidator.prototype, "sku", void 0);
51
+ ], CreateProductRequestValidator.prototype, "sku", void 0);
70
52
  __decorate([
71
53
  (0, class_validator_1.IsString)(),
72
54
  (0, class_validator_1.Length)(0, 1000),
73
55
  (0, class_validator_1.IsOptional)(),
74
56
  __metadata("design:type", String)
75
- ], SaveCatalogProductValidator.prototype, "description", void 0);
57
+ ], CreateProductRequestValidator.prototype, "description", void 0);
76
58
  __decorate([
59
+ (0, class_validator_1.IsInt)(),
77
60
  (0, class_validator_1.IsPositive)(),
78
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
79
61
  __metadata("design:type", Number)
80
- ], SaveCatalogProductValidator.prototype, "price", void 0);
62
+ ], CreateProductRequestValidator.prototype, "price", void 0);
63
+ __decorate([
64
+ (0, class_validator_1.IsInt)(),
65
+ (0, class_validator_1.Min)(0),
66
+ (0, class_validator_1.IsOptional)(),
67
+ __metadata("design:type", Number)
68
+ ], CreateProductRequestValidator.prototype, "minStockLevel", void 0);
81
69
  __decorate([
82
70
  (0, class_validator_1.IsObject)(),
83
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
84
71
  __metadata("design:type", Object)
85
- ], SaveCatalogProductValidator.prototype, "measure", void 0);
72
+ ], CreateProductRequestValidator.prototype, "measure", void 0);
86
73
  __decorate([
87
74
  (0, class_validator_1.IsMongoId)({ each: true }),
88
75
  (0, class_validator_1.IsArray)(),
89
76
  (0, class_validator_1.IsOptional)(),
90
77
  __metadata("design:type", Array)
91
- ], SaveCatalogProductValidator.prototype, "pictures", void 0);
78
+ ], CreateProductRequestValidator.prototype, "pictures", void 0);
92
79
  __decorate([
93
80
  (0, class_validator_1.IsMongoId)(),
94
81
  (0, class_validator_1.IsOptional)(),
95
82
  __metadata("design:type", String)
96
- ], SaveCatalogProductValidator.prototype, "category", void 0);
83
+ ], CreateProductRequestValidator.prototype, "category", void 0);
97
84
  __decorate([
98
85
  (0, class_validator_1.IsMongoId)(),
99
86
  (0, class_validator_1.IsOptional)(),
100
87
  __metadata("design:type", String)
101
- ], SaveCatalogProductValidator.prototype, "brand", void 0);
88
+ ], CreateProductRequestValidator.prototype, "brand", void 0);
102
89
  __decorate([
103
90
  (0, class_validator_1.IsArray)(),
104
91
  (0, class_validator_1.IsString)({ each: true }),
105
92
  (0, class_validator_1.Length)(0, 50, { each: true }),
106
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
107
93
  __metadata("design:type", Array)
108
- ], SaveCatalogProductValidator.prototype, "hashtags", void 0);
94
+ ], CreateProductRequestValidator.prototype, "hashtags", void 0);
109
95
  __decorate([
110
96
  (0, class_validator_1.IsArray)(),
111
- (0, class_transformer_1.Type)(() => ProductAttributeValidator),
97
+ (0, class_transformer_1.Type)(() => ProductAttributeRequestValidator),
112
98
  (0, class_validator_1.ValidateNested)({ each: true }),
113
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
114
99
  __metadata("design:type", Array)
115
- ], SaveCatalogProductValidator.prototype, "attributes", void 0);
100
+ ], CreateProductRequestValidator.prototype, "attributes", void 0);
101
+ export class UpdateProductRequestValidator extends CreateProductRequestValidator {
102
+ }
103
+ __decorate([
104
+ (0, class_validator_1.IsOptional)(),
105
+ __metadata("design:type", String)
106
+ ], UpdateProductRequestValidator.prototype, "name", void 0);
107
+ __decorate([
108
+ (0, class_validator_1.IsOptional)(),
109
+ __metadata("design:type", Number)
110
+ ], UpdateProductRequestValidator.prototype, "price", void 0);
111
+ __decorate([
112
+ (0, class_validator_1.IsOptional)(),
113
+ __metadata("design:type", Object)
114
+ ], UpdateProductRequestValidator.prototype, "measure", void 0);
115
+ __decorate([
116
+ (0, class_validator_1.IsOptional)(),
117
+ __metadata("design:type", Array)
118
+ ], UpdateProductRequestValidator.prototype, "hashtags", void 0);
119
+ __decorate([
120
+ (0, class_validator_1.IsOptional)(),
121
+ __metadata("design:type", Array)
122
+ ], UpdateProductRequestValidator.prototype, "attributes", void 0);
@@ -1,2 +1,2 @@
1
1
  export * from './variant.entity';
2
- export * from './variant.validator';
2
+ export * from './request.validator';
@@ -1 +1 @@
1
- export * from './variant.validator.js';
1
+ export * from './request.validator.js';
@@ -0,0 +1,16 @@
1
+ import { AbstractRequestValidator } from '../../..';
2
+ export declare class VariantOptionRequestValidator extends AbstractRequestValidator {
3
+ type: string;
4
+ value: string;
5
+ }
6
+ export declare class CreateVariantRequestValidator extends AbstractRequestValidator {
7
+ product?: string;
8
+ sku?: string;
9
+ price?: number;
10
+ minStockLevel?: number;
11
+ options?: VariantOptionRequestValidator[];
12
+ active?: boolean;
13
+ gtin?: string;
14
+ }
15
+ export declare class UpdateVariantRequestValidator extends CreateVariantRequestValidator {
16
+ }
@@ -9,64 +9,69 @@ 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 VariantOptionValidator {
12
+ import * as abstract_validator_1 from '../../../index.js';
13
+ export class VariantOptionRequestValidator extends abstract_validator_1.AbstractRequestValidator {
14
14
  type;
15
15
  value;
16
16
  }
17
17
  __decorate([
18
18
  (0, class_validator_1.IsMongoId)(),
19
19
  __metadata("design:type", String)
20
- ], VariantOptionValidator.prototype, "type", void 0);
20
+ ], VariantOptionRequestValidator.prototype, "type", void 0);
21
21
  __decorate([
22
22
  (0, class_validator_1.IsString)(),
23
23
  (0, class_validator_1.IsNotEmpty)(),
24
24
  (0, class_validator_1.Length)(0, 100),
25
25
  __metadata("design:type", String)
26
- ], VariantOptionValidator.prototype, "value", void 0);
27
- export class SearchCatalogVariantValidator extends abstract_validator_1.SearchValidator {
28
- }
29
- export class ReadCatalogVariantValidator extends abstract_validator_1.ReadValidator {
30
- }
31
- export class SaveCatalogVariantValidator extends abstract_validator_1.AbstractValidator {
26
+ ], VariantOptionRequestValidator.prototype, "value", void 0);
27
+ export class CreateVariantRequestValidator extends abstract_validator_1.AbstractRequestValidator {
32
28
  product;
33
29
  sku;
34
30
  price;
31
+ minStockLevel;
35
32
  options = [];
36
33
  active;
37
- barcode;
34
+ gtin;
38
35
  }
39
36
  __decorate([
40
37
  (0, class_validator_1.IsMongoId)(),
41
38
  (0, class_validator_1.IsOptional)(),
42
39
  __metadata("design:type", String)
43
- ], SaveCatalogVariantValidator.prototype, "product", void 0);
40
+ ], CreateVariantRequestValidator.prototype, "product", void 0);
44
41
  __decorate([
45
42
  (0, class_validator_1.IsString)(),
46
43
  (0, class_validator_1.Length)(0, 50),
47
44
  (0, class_validator_1.IsOptional)(),
48
45
  __metadata("design:type", String)
49
- ], SaveCatalogVariantValidator.prototype, "sku", void 0);
46
+ ], CreateVariantRequestValidator.prototype, "sku", void 0);
50
47
  __decorate([
51
48
  (0, class_validator_1.IsNumber)(),
52
49
  (0, class_validator_1.IsOptional)(),
53
50
  __metadata("design:type", Number)
54
- ], SaveCatalogVariantValidator.prototype, "price", void 0);
51
+ ], CreateVariantRequestValidator.prototype, "price", void 0);
52
+ __decorate([
53
+ (0, class_validator_1.IsInt)(),
54
+ (0, class_validator_1.Min)(0),
55
+ (0, class_validator_1.IsOptional)(),
56
+ __metadata("design:type", Number)
57
+ ], CreateVariantRequestValidator.prototype, "minStockLevel", void 0);
55
58
  __decorate([
56
59
  (0, class_validator_1.IsArray)(),
57
60
  (0, class_validator_1.IsOptional)(),
58
- (0, class_transformer_1.Type)(() => VariantOptionValidator),
61
+ (0, class_transformer_1.Type)(() => VariantOptionRequestValidator),
59
62
  (0, class_validator_1.ValidateNested)({ each: true }),
60
63
  __metadata("design:type", Array)
61
- ], SaveCatalogVariantValidator.prototype, "options", void 0);
64
+ ], CreateVariantRequestValidator.prototype, "options", void 0);
62
65
  __decorate([
63
66
  (0, class_validator_1.IsBoolean)(),
64
67
  (0, class_validator_1.IsOptional)(),
65
68
  __metadata("design:type", Boolean)
66
- ], SaveCatalogVariantValidator.prototype, "active", void 0);
69
+ ], CreateVariantRequestValidator.prototype, "active", void 0);
67
70
  __decorate([
68
71
  (0, class_validator_1.IsString)(),
69
72
  (0, class_validator_1.Length)(0, 50),
70
73
  (0, class_validator_1.IsOptional)(),
71
74
  __metadata("design:type", String)
72
- ], SaveCatalogVariantValidator.prototype, "barcode", void 0);
75
+ ], CreateVariantRequestValidator.prototype, "gtin", void 0);
76
+ export class UpdateVariantRequestValidator extends CreateVariantRequestValidator {
77
+ }
@@ -1,21 +1,24 @@
1
1
  import { AssetEntity } from '../../../assets/asset';
2
+ import { StockBalanceStatusEnum } from '../../..';
2
3
  import { AbstractEntity } from '../../..';
3
4
  import type { CatalogAttributeEntity } from '../attribute';
4
5
  import type { CatalogProductEntity } from '../product';
5
6
  import type { StockBalanceEntity } from '../../stock/balance';
6
- import type { MongoEntity } from '../../..';
7
7
  export declare class CatalogVariantEntity extends AbstractEntity {
8
- product?: MongoEntity<CatalogProductEntity>;
8
+ product?: CatalogProductEntity;
9
9
  sku?: string;
10
10
  price: number;
11
+ minStockLevel: number;
11
12
  options: {
12
- type: MongoEntity<CatalogAttributeEntity>;
13
+ type: CatalogAttributeEntity;
13
14
  value: string;
14
15
  }[];
15
16
  active: boolean;
16
- barcode?: string;
17
- pictures: MongoEntity<AssetEntity>[];
17
+ gtin?: string;
18
+ pictures: AssetEntity[];
18
19
  readonly total: number;
19
20
  readonly stock: number;
20
- readonly balances: MongoEntity<StockBalanceEntity>[];
21
+ readonly status: StockBalanceStatusEnum;
22
+ readonly balance: StockBalanceEntity;
23
+ readonly balances: StockBalanceEntity[];
21
24
  }
@@ -1,2 +1,2 @@
1
1
  export * from './measurement.entity';
2
- export * from './measurement.validator';
2
+ export * from './request.validator';
@@ -1 +1 @@
1
- export * from './measurement.validator.js';
1
+ export * from './request.validator.js';
@@ -0,0 +1,17 @@
1
+ import { AbstractRequestValidator } from '../../..';
2
+ export declare class ConfigurationUnitRequestValidator extends AbstractRequestValidator {
3
+ active?: boolean;
4
+ description?: string;
5
+ isBaseUnit?: boolean;
6
+ name: string;
7
+ symbol: string;
8
+ }
9
+ export declare class CreateConfigurationMeasurementRequestValidator extends AbstractRequestValidator {
10
+ name: string;
11
+ description?: string;
12
+ active?: boolean;
13
+ units?: ConfigurationUnitRequestValidator[];
14
+ }
15
+ export declare class UpdateConfigurationMeasurementRequestValidator extends CreateConfigurationMeasurementRequestValidator {
16
+ name: string;
17
+ }
@@ -9,89 +9,75 @@ 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 ConfigurationUnitValidator extends abstract_validator_1.AbstractValidator {
14
- name;
15
- symbol;
16
- description;
12
+ import * as abstract_validator_1 from '../../../index.js';
13
+ export class ConfigurationUnitRequestValidator extends abstract_validator_1.AbstractRequestValidator {
17
14
  active;
15
+ description;
18
16
  isBaseUnit;
17
+ name;
18
+ symbol;
19
19
  }
20
20
  __decorate([
21
- (0, class_validator_1.IsString)(),
22
- (0, class_validator_1.IsNotEmpty)(),
23
- (0, class_validator_1.Length)(0, 100),
24
- __metadata("design:type", String)
25
- ], ConfigurationUnitValidator.prototype, "name", void 0);
26
- __decorate([
27
- (0, class_validator_1.IsString)(),
28
- (0, class_validator_1.IsNotEmpty)(),
29
- (0, class_validator_1.Length)(0, 10),
30
- __metadata("design:type", String)
31
- ], ConfigurationUnitValidator.prototype, "symbol", void 0);
21
+ (0, class_validator_1.IsBoolean)(),
22
+ (0, class_validator_1.IsOptional)(),
23
+ __metadata("design:type", Boolean)
24
+ ], ConfigurationUnitRequestValidator.prototype, "active", void 0);
32
25
  __decorate([
33
26
  (0, class_validator_1.IsString)(),
34
27
  (0, class_validator_1.Length)(0, 1000),
35
28
  (0, class_validator_1.IsOptional)(),
36
29
  __metadata("design:type", String)
37
- ], ConfigurationUnitValidator.prototype, "description", void 0);
30
+ ], ConfigurationUnitRequestValidator.prototype, "description", void 0);
38
31
  __decorate([
39
32
  (0, class_validator_1.IsBoolean)(),
40
33
  (0, class_validator_1.IsOptional)(),
41
34
  __metadata("design:type", Boolean)
42
- ], ConfigurationUnitValidator.prototype, "active", void 0);
35
+ ], ConfigurationUnitRequestValidator.prototype, "isBaseUnit", void 0);
43
36
  __decorate([
44
- (0, class_validator_1.IsBoolean)(),
45
- (0, class_validator_1.IsOptional)(),
46
- __metadata("design:type", Boolean)
47
- ], ConfigurationUnitValidator.prototype, "isBaseUnit", void 0);
48
- export class SearchConfigurationMeasurementValidator extends abstract_validator_1.SearchValidator {
49
- }
50
- export class ReadConfigurationMeasurementValidator extends abstract_validator_1.ReadValidator {
51
- }
52
- export class SaveConfigurationMeasurementValidator extends abstract_validator_1.AbstractValidator {
53
- constructor(entity) {
54
- super();
55
- if (!entity)
56
- return;
57
- this.name = entity.name;
58
- this.description = entity.description;
59
- this.active = entity.active;
60
- this.units = entity.units?.map((unit) => ({
61
- name: unit.name,
62
- symbol: unit.symbol,
63
- description: unit.description,
64
- active: unit.active,
65
- isBaseUnit: unit.isBaseUnit,
66
- }));
67
- }
37
+ (0, class_validator_1.IsString)(),
38
+ (0, class_validator_1.IsNotEmpty)(),
39
+ (0, class_validator_1.Length)(0, 100),
40
+ __metadata("design:type", String)
41
+ ], ConfigurationUnitRequestValidator.prototype, "name", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsString)(),
44
+ (0, class_validator_1.IsNotEmpty)(),
45
+ (0, class_validator_1.Length)(0, 20),
46
+ __metadata("design:type", String)
47
+ ], ConfigurationUnitRequestValidator.prototype, "symbol", void 0);
48
+ export class CreateConfigurationMeasurementRequestValidator extends abstract_validator_1.AbstractRequestValidator {
68
49
  name;
69
50
  description;
70
51
  active;
71
- units;
52
+ units = [];
72
53
  }
73
54
  __decorate([
74
55
  (0, class_validator_1.IsString)(),
75
56
  (0, class_validator_1.IsNotEmpty)(),
76
57
  (0, class_validator_1.Length)(0, 100),
77
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
78
58
  __metadata("design:type", String)
79
- ], SaveConfigurationMeasurementValidator.prototype, "name", void 0);
59
+ ], CreateConfigurationMeasurementRequestValidator.prototype, "name", void 0);
80
60
  __decorate([
81
61
  (0, class_validator_1.IsString)(),
82
62
  (0, class_validator_1.Length)(0, 1000),
83
63
  (0, class_validator_1.IsOptional)(),
84
64
  __metadata("design:type", String)
85
- ], SaveConfigurationMeasurementValidator.prototype, "description", void 0);
65
+ ], CreateConfigurationMeasurementRequestValidator.prototype, "description", void 0);
86
66
  __decorate([
87
67
  (0, class_validator_1.IsBoolean)(),
88
68
  (0, class_validator_1.IsOptional)(),
89
69
  __metadata("design:type", Boolean)
90
- ], SaveConfigurationMeasurementValidator.prototype, "active", void 0);
70
+ ], CreateConfigurationMeasurementRequestValidator.prototype, "active", void 0);
91
71
  __decorate([
92
72
  (0, class_validator_1.IsArray)(),
93
73
  (0, class_validator_1.ValidateNested)({ each: true }),
94
- (0, class_transformer_1.Type)(() => ConfigurationUnitValidator),
74
+ (0, class_transformer_1.Type)(() => ConfigurationUnitRequestValidator),
95
75
  (0, class_validator_1.IsOptional)(),
96
76
  __metadata("design:type", Array)
97
- ], SaveConfigurationMeasurementValidator.prototype, "units", void 0);
77
+ ], CreateConfigurationMeasurementRequestValidator.prototype, "units", void 0);
78
+ export class UpdateConfigurationMeasurementRequestValidator extends CreateConfigurationMeasurementRequestValidator {
79
+ }
80
+ __decorate([
81
+ (0, class_validator_1.IsOptional)(),
82
+ __metadata("design:type", String)
83
+ ], UpdateConfigurationMeasurementRequestValidator.prototype, "name", void 0);
@@ -1,11 +1,13 @@
1
- import { CatalogProductEntity } from '../../catalog/product';
2
1
  import { CatalogVariantEntity } from '../../catalog/variant';
3
2
  import { StockWarehouseEntity } from '../warehouse';
4
3
  import { AbstractEntity } from '../../..';
5
- import type { MongoEntity } from '../../..';
6
4
  export declare class StockBalanceEntity extends AbstractEntity {
7
- warehouse: MongoEntity<StockWarehouseEntity>;
8
- product: MongoEntity<CatalogProductEntity>;
9
- variant: MongoEntity<CatalogVariantEntity>;
10
- quantity: number;
5
+ warehouse: StockWarehouseEntity;
6
+ variant: CatalogVariantEntity;
7
+ stock: number;
8
+ reserved: number;
9
+ incoming: number;
10
+ readonly available: number;
11
+ readonly expected: number;
12
+ readonly projected: number;
11
13
  }
@@ -1,2 +1 @@
1
1
  export * from './balance.entity';
2
- export * from './balance.validator';
@@ -1 +1 @@
1
- export * from './balance.validator.js';
1
+
@@ -1,4 +1,5 @@
1
1
  export * from './transfer.entity';
2
- export * from './transfer.status.enum';
3
- export * from './transfer.validator';
2
+ export * from './transfer.item.entity';
3
+ export * from './transfer.enum';
4
+ export * from './request.validator';
4
5
  export * from './transfer.transition';
@@ -1,3 +1,3 @@
1
- export * from './transfer.status.enum.js';
2
- export * from './transfer.validator.js';
1
+ export * from './transfer.enum.js';
2
+ export * from './request.validator.js';
3
3
  export * from './transfer.transition.js';
@@ -0,0 +1,20 @@
1
+ import { TransferStatusEnum } from './';
2
+ import { AbstractRequestValidator } from '../../..';
3
+ export declare class StockTransferItemRequestValidator extends AbstractRequestValidator {
4
+ product: string;
5
+ variant: string;
6
+ quantity: number;
7
+ notes?: string;
8
+ }
9
+ export declare class CreateStockTransferRequestValidator extends AbstractRequestValidator {
10
+ origin: string;
11
+ destination: string;
12
+ items: StockTransferItemRequestValidator[];
13
+ notes?: string;
14
+ status?: TransferStatusEnum;
15
+ }
16
+ export declare class UpdateStockTransferRequestValidator extends CreateStockTransferRequestValidator {
17
+ origin: string;
18
+ destination: string;
19
+ items: StockTransferItemRequestValidator[];
20
+ }