@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.
Files changed (168) hide show
  1. package/dist/abstract.repository.d.ts +21 -31
  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 +16 -0
  7. package/dist/account/address/{address.validator.js → request.validator.js} +35 -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 +19 -0
  11. package/dist/account/payment/{payment.validator.js → request.validator.js} +46 -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 +10 -0
  15. package/dist/account/user/{user.validator.js → request.validator.js} +18 -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 +21 -0
  20. package/dist/finance/invoice/{invoice.validator.js → request.validator.js} +41 -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 +6 -6
  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 +14 -0
  27. package/dist/finance/payment/{payment.validator.js → request.validator.js} +24 -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.entity.d.ts +2 -1
  31. package/dist/finance/refund/refund.transition.d.ts +5 -3
  32. package/dist/finance/refund/refund.transition.js +8 -14
  33. package/dist/finance/refund/request.validator.d.ts +16 -0
  34. package/dist/finance/refund/{refund.validator.js → request.validator.js} +32 -14
  35. package/dist/inventory/catalog/attribute/request.validator.d.ts +7 -4
  36. package/dist/inventory/catalog/attribute/request.validator.js +23 -15
  37. package/dist/inventory/catalog/brand/request.validator.d.ts +8 -5
  38. package/dist/inventory/catalog/brand/request.validator.js +17 -11
  39. package/dist/inventory/catalog/category/category.entity.d.ts +3 -1
  40. package/dist/inventory/catalog/category/request.validator.d.ts +8 -5
  41. package/dist/inventory/catalog/category/request.validator.js +17 -11
  42. package/dist/inventory/catalog/collection/request.validator.d.ts +9 -6
  43. package/dist/inventory/catalog/collection/request.validator.js +21 -14
  44. package/dist/inventory/catalog/product/product.entity.d.ts +12 -4
  45. package/dist/inventory/catalog/product/request.validator.d.ts +24 -11
  46. package/dist/inventory/catalog/product/request.validator.js +74 -44
  47. package/dist/inventory/catalog/variant/request.validator.d.ts +9 -7
  48. package/dist/inventory/catalog/variant/request.validator.js +33 -27
  49. package/dist/inventory/catalog/variant/variant.entity.d.ts +6 -4
  50. package/dist/inventory/configuration/measurement/index.d.ts +1 -1
  51. package/dist/inventory/configuration/measurement/index.js +1 -1
  52. package/dist/inventory/configuration/measurement/request.validator.d.ts +21 -0
  53. package/dist/inventory/configuration/measurement/{measurement.validator.js → request.validator.js} +57 -49
  54. package/dist/inventory/stock/balance/balance.entity.d.ts +9 -5
  55. package/dist/inventory/stock/balance/balance.status.enum.d.ts +6 -0
  56. package/dist/inventory/stock/balance/balance.status.enum.js +7 -0
  57. package/dist/inventory/stock/balance/index.d.ts +1 -1
  58. package/dist/inventory/stock/balance/index.js +1 -1
  59. package/dist/inventory/stock/transfer/index.d.ts +3 -2
  60. package/dist/inventory/stock/transfer/index.js +2 -2
  61. package/dist/inventory/stock/transfer/request.validator.d.ts +24 -0
  62. package/dist/inventory/stock/transfer/request.validator.js +111 -0
  63. package/dist/inventory/stock/transfer/transfer.entity.d.ts +9 -16
  64. package/dist/inventory/stock/transfer/{transfer.status.enum.d.ts → transfer.enum.d.ts} +5 -1
  65. package/dist/inventory/stock/transfer/{transfer.status.enum.js → transfer.enum.js} +6 -1
  66. package/dist/inventory/stock/transfer/transfer.item.entity.d.ts +12 -0
  67. package/dist/inventory/stock/transfer/transfer.transition.d.ts +3 -1
  68. package/dist/inventory/stock/transfer/transfer.transition.js +13 -6
  69. package/dist/inventory/stock/warehouse/index.d.ts +1 -1
  70. package/dist/inventory/stock/warehouse/index.js +1 -1
  71. package/dist/inventory/stock/warehouse/request.validator.d.ts +14 -0
  72. package/dist/inventory/stock/warehouse/{warehouse.validator.js → request.validator.js} +40 -44
  73. package/dist/inventory/stock/warehouse/warehouse.entity.d.ts +2 -2
  74. package/dist/order/purchase/item/index.d.ts +1 -1
  75. package/dist/order/purchase/item/index.js +1 -1
  76. package/dist/order/purchase/item/item.entity.d.ts +18 -11
  77. package/dist/order/purchase/item/request.validator.d.ts +12 -0
  78. package/dist/order/{service/item/item.validator.js → purchase/item/request.validator.js} +32 -15
  79. package/dist/order/purchase/transaction/index.d.ts +1 -1
  80. package/dist/order/purchase/transaction/index.js +1 -1
  81. package/dist/order/purchase/transaction/request.validator.d.ts +23 -0
  82. package/dist/order/purchase/transaction/request.validator.js +97 -0
  83. package/dist/order/purchase/transaction/transaction.entity.d.ts +3 -4
  84. package/dist/order/purchase/transaction/transaction.enum.d.ts +0 -1
  85. package/dist/order/purchase/transaction/transaction.enum.js +0 -3
  86. package/dist/order/purchase/transaction/transaction.transition.d.ts +2 -0
  87. package/dist/order/purchase/transaction/transaction.transition.js +10 -3
  88. package/dist/order/purchase/vendor/index.d.ts +1 -1
  89. package/dist/order/purchase/vendor/index.js +1 -1
  90. package/dist/order/purchase/vendor/request.validator.d.ts +16 -0
  91. package/dist/order/purchase/vendor/{vendor.validator.js → request.validator.js} +30 -28
  92. package/dist/order/sale/customer/index.d.ts +1 -1
  93. package/dist/order/sale/customer/index.js +1 -1
  94. package/dist/order/sale/customer/request.validator.d.ts +18 -0
  95. package/dist/order/sale/customer/{customer.validator.js → request.validator.js} +34 -30
  96. package/dist/order/sale/item/index.d.ts +1 -1
  97. package/dist/order/sale/item/index.js +1 -1
  98. package/dist/order/sale/item/item.entity.d.ts +18 -16
  99. package/dist/order/sale/item/request.validator.d.ts +12 -0
  100. package/dist/order/sale/item/{item.validator.js → request.validator.js} +23 -6
  101. package/dist/order/sale/transaction/index.d.ts +1 -1
  102. package/dist/order/sale/transaction/index.js +1 -1
  103. package/dist/order/sale/transaction/request.validator.d.ts +25 -0
  104. package/dist/order/sale/transaction/request.validator.js +104 -0
  105. package/dist/order/sale/transaction/transaction.entity.d.ts +3 -6
  106. package/dist/order/sale/transaction/transaction.enum.d.ts +0 -3
  107. package/dist/order/sale/transaction/transaction.enum.js +0 -9
  108. package/dist/order/sale/transaction/transaction.transition.d.ts +2 -0
  109. package/dist/order/sale/transaction/transaction.transition.js +11 -5
  110. package/dist/repository.types.d.ts +2 -2
  111. package/dist/settings/organization/index.d.ts +0 -1
  112. package/dist/settings/organization/index.js +0 -1
  113. package/dist/transaction.entity.d.ts +14 -5
  114. package/package.json +5 -6
  115. package/dist/account/address/address.validator.d.ts +0 -15
  116. package/dist/account/payment/payment.validator.d.ts +0 -14
  117. package/dist/account/user/user.validator.d.ts +0 -15
  118. package/dist/finance/invoice/invoice.validator.d.ts +0 -19
  119. package/dist/finance/payment/payment.validator.d.ts +0 -14
  120. package/dist/finance/refund/refund.validator.d.ts +0 -14
  121. package/dist/finance/subscription/index.d.ts +0 -3
  122. package/dist/finance/subscription/index.js +0 -2
  123. package/dist/finance/subscription/subscription.entity.d.ts +0 -14
  124. package/dist/finance/subscription/subscription.enum.d.ts +0 -15
  125. package/dist/finance/subscription/subscription.enum.js +0 -17
  126. package/dist/finance/subscription/subscription.validator.d.ts +0 -17
  127. package/dist/finance/subscription/subscription.validator.js +0 -69
  128. package/dist/finance/tax/index.d.ts +0 -3
  129. package/dist/finance/tax/index.js +0 -2
  130. package/dist/finance/tax/tax.entity.d.ts +0 -10
  131. package/dist/finance/tax/tax.enum.d.ts +0 -8
  132. package/dist/finance/tax/tax.enum.js +0 -9
  133. package/dist/finance/tax/tax.validator.d.ts +0 -15
  134. package/dist/finance/tax/tax.validator.js +0 -60
  135. package/dist/inventory/configuration/measurement/measurement.validator.d.ts +0 -20
  136. package/dist/inventory/stock/balance/balance.validator.d.ts +0 -13
  137. package/dist/inventory/stock/balance/balance.validator.js +0 -46
  138. package/dist/inventory/stock/transfer/transfer.validator.d.ts +0 -21
  139. package/dist/inventory/stock/transfer/transfer.validator.js +0 -101
  140. package/dist/inventory/stock/warehouse/warehouse.validator.d.ts +0 -19
  141. package/dist/order/purchase/item/item.validator.d.ts +0 -10
  142. package/dist/order/purchase/item/item.validator.js +0 -50
  143. package/dist/order/purchase/transaction/transaction.validator.d.ts +0 -18
  144. package/dist/order/purchase/transaction/transaction.validator.js +0 -78
  145. package/dist/order/purchase/vendor/vendor.validator.d.ts +0 -17
  146. package/dist/order/sale/customer/customer.validator.d.ts +0 -19
  147. package/dist/order/sale/item/item.validator.d.ts +0 -9
  148. package/dist/order/sale/payment/index.d.ts +0 -1
  149. package/dist/order/sale/payment/index.js +0 -1
  150. package/dist/order/sale/payment/payment.validator.d.ts +0 -7
  151. package/dist/order/sale/payment/payment.validator.js +0 -31
  152. package/dist/order/sale/transaction/transaction.validator.d.ts +0 -18
  153. package/dist/order/sale/transaction/transaction.validator.js +0 -77
  154. package/dist/order/service/item/index.d.ts +0 -2
  155. package/dist/order/service/item/index.js +0 -1
  156. package/dist/order/service/item/item.entity.d.ts +0 -14
  157. package/dist/order/service/item/item.validator.d.ts +0 -9
  158. package/dist/order/service/transaction/index.d.ts +0 -4
  159. package/dist/order/service/transaction/index.js +0 -3
  160. package/dist/order/service/transaction/transaction.entity.d.ts +0 -9
  161. package/dist/order/service/transaction/transaction.enum.d.ts +0 -8
  162. package/dist/order/service/transaction/transaction.enum.js +0 -9
  163. package/dist/order/service/transaction/transaction.transition.d.ts +0 -6
  164. package/dist/order/service/transaction/transaction.transition.js +0 -13
  165. package/dist/order/service/transaction/transaction.validator.d.ts +0 -17
  166. package/dist/order/service/transaction/transaction.validator.js +0 -76
  167. package/dist/settings/organization/organization.validator.d.ts +0 -10
  168. package/dist/settings/organization/organization.validator.js +0 -32
@@ -9,89 +9,97 @@ 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
+ constructor(unit) {
20
+ super();
21
+ if (!unit) {
22
+ return;
23
+ }
24
+ this.active = unit.active;
25
+ this.description = unit.description;
26
+ this.isBaseUnit = unit.isBaseUnit;
27
+ this.name = unit.name;
28
+ this.symbol = unit.symbol;
29
+ }
19
30
  }
20
31
  __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);
32
+ (0, class_validator_1.IsBoolean)(),
33
+ (0, class_validator_1.IsOptional)(),
34
+ __metadata("design:type", Boolean)
35
+ ], ConfigurationUnitRequestValidator.prototype, "active", void 0);
32
36
  __decorate([
33
37
  (0, class_validator_1.IsString)(),
34
38
  (0, class_validator_1.Length)(0, 1000),
35
39
  (0, class_validator_1.IsOptional)(),
36
40
  __metadata("design:type", String)
37
- ], ConfigurationUnitValidator.prototype, "description", void 0);
41
+ ], ConfigurationUnitRequestValidator.prototype, "description", void 0);
38
42
  __decorate([
39
43
  (0, class_validator_1.IsBoolean)(),
40
44
  (0, class_validator_1.IsOptional)(),
41
45
  __metadata("design:type", Boolean)
42
- ], ConfigurationUnitValidator.prototype, "active", void 0);
46
+ ], ConfigurationUnitRequestValidator.prototype, "isBaseUnit", void 0);
43
47
  __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
- }
48
+ (0, class_validator_1.IsString)(),
49
+ (0, class_validator_1.IsNotEmpty)(),
50
+ (0, class_validator_1.Length)(0, 100),
51
+ __metadata("design:type", String)
52
+ ], ConfigurationUnitRequestValidator.prototype, "name", void 0);
53
+ __decorate([
54
+ (0, class_validator_1.IsString)(),
55
+ (0, class_validator_1.IsNotEmpty)(),
56
+ (0, class_validator_1.Length)(0, 20),
57
+ __metadata("design:type", String)
58
+ ], ConfigurationUnitRequestValidator.prototype, "symbol", void 0);
59
+ export class CreateConfigurationMeasurementRequestValidator extends abstract_validator_1.AbstractRequestValidator {
68
60
  name;
69
61
  description;
70
62
  active;
71
- units;
63
+ units = [];
64
+ constructor(measurement) {
65
+ super();
66
+ if (!measurement) {
67
+ return;
68
+ }
69
+ this.name = measurement.name;
70
+ this.description = measurement.description;
71
+ this.active = measurement.active;
72
+ this.units =
73
+ measurement.units?.map((unit) => new ConfigurationUnitRequestValidator(unit)) ?? [];
74
+ }
72
75
  }
73
76
  __decorate([
74
77
  (0, class_validator_1.IsString)(),
75
78
  (0, class_validator_1.IsNotEmpty)(),
76
79
  (0, class_validator_1.Length)(0, 100),
77
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
78
80
  __metadata("design:type", String)
79
- ], SaveConfigurationMeasurementValidator.prototype, "name", void 0);
81
+ ], CreateConfigurationMeasurementRequestValidator.prototype, "name", void 0);
80
82
  __decorate([
81
83
  (0, class_validator_1.IsString)(),
82
84
  (0, class_validator_1.Length)(0, 1000),
83
85
  (0, class_validator_1.IsOptional)(),
84
86
  __metadata("design:type", String)
85
- ], SaveConfigurationMeasurementValidator.prototype, "description", void 0);
87
+ ], CreateConfigurationMeasurementRequestValidator.prototype, "description", void 0);
86
88
  __decorate([
87
89
  (0, class_validator_1.IsBoolean)(),
88
90
  (0, class_validator_1.IsOptional)(),
89
91
  __metadata("design:type", Boolean)
90
- ], SaveConfigurationMeasurementValidator.prototype, "active", void 0);
92
+ ], CreateConfigurationMeasurementRequestValidator.prototype, "active", void 0);
91
93
  __decorate([
92
94
  (0, class_validator_1.IsArray)(),
93
95
  (0, class_validator_1.ValidateNested)({ each: true }),
94
- (0, class_transformer_1.Type)(() => ConfigurationUnitValidator),
96
+ (0, class_transformer_1.Type)(() => ConfigurationUnitRequestValidator),
95
97
  (0, class_validator_1.IsOptional)(),
96
98
  __metadata("design:type", Array)
97
- ], SaveConfigurationMeasurementValidator.prototype, "units", void 0);
99
+ ], CreateConfigurationMeasurementRequestValidator.prototype, "units", void 0);
100
+ export class UpdateConfigurationMeasurementRequestValidator extends CreateConfigurationMeasurementRequestValidator {
101
+ }
102
+ __decorate([
103
+ (0, class_validator_1.IsOptional)(),
104
+ __metadata("design:type", String)
105
+ ], UpdateConfigurationMeasurementRequestValidator.prototype, "name", void 0);
@@ -2,10 +2,14 @@ import { CatalogProductEntity } from '../../catalog/product';
2
2
  import { CatalogVariantEntity } from '../../catalog/variant';
3
3
  import { StockWarehouseEntity } from '../warehouse';
4
4
  import { AbstractEntity } from '../../..';
5
- import type { MongoEntity } from '../../..';
6
5
  export declare class StockBalanceEntity extends AbstractEntity {
7
- warehouse: MongoEntity<StockWarehouseEntity>;
8
- product: MongoEntity<CatalogProductEntity>;
9
- variant: MongoEntity<CatalogVariantEntity>;
10
- quantity: number;
6
+ warehouse: StockWarehouseEntity;
7
+ variant: CatalogVariantEntity;
8
+ readonly product: CatalogProductEntity;
9
+ stock: number;
10
+ reserved: number;
11
+ incoming: number;
12
+ readonly available: number;
13
+ readonly expected: number;
14
+ readonly projected: number;
11
15
  }
@@ -0,0 +1,6 @@
1
+ export declare enum StockBalanceStatusEnum {
2
+ HEALTHY = "healthy",
3
+ NOT_CONFIGURED = "not_configured",
4
+ OUT_STOCK = "out_stock",
5
+ LOW_STOCK = "low_stock"
6
+ }
@@ -0,0 +1,7 @@
1
+ export var StockBalanceStatusEnum;
2
+ (function (StockBalanceStatusEnum) {
3
+ StockBalanceStatusEnum["HEALTHY"] = "healthy";
4
+ StockBalanceStatusEnum["NOT_CONFIGURED"] = "not_configured";
5
+ StockBalanceStatusEnum["OUT_STOCK"] = "out_stock";
6
+ StockBalanceStatusEnum["LOW_STOCK"] = "low_stock";
7
+ })(StockBalanceStatusEnum || (StockBalanceStatusEnum = {}));
@@ -1,2 +1,2 @@
1
1
  export * from './balance.entity';
2
- export * from './balance.validator';
2
+ export * from './balance.status.enum';
@@ -1 +1 @@
1
- export * from './balance.validator.js';
1
+ export * from './balance.status.enum.js';
@@ -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,24 @@
1
+ import { TransferStatusEnum } from './';
2
+ import { AbstractRequestValidator } from '../../..';
3
+ import type { StockTransferEntity } from './';
4
+ import type { StockTransferItemEntity } from './';
5
+ export declare class StockTransferItemRequestValidator extends AbstractRequestValidator {
6
+ product: string;
7
+ variant: string;
8
+ quantity: number;
9
+ notes?: string;
10
+ constructor(item?: StockTransferItemEntity);
11
+ }
12
+ export declare class CreateStockTransferRequestValidator extends AbstractRequestValidator {
13
+ origin?: string;
14
+ destination?: string;
15
+ items: StockTransferItemRequestValidator[];
16
+ notes?: string;
17
+ status?: TransferStatusEnum;
18
+ constructor(transfer?: StockTransferEntity);
19
+ }
20
+ export declare class UpdateStockTransferRequestValidator extends CreateStockTransferRequestValidator {
21
+ origin: string;
22
+ destination: string;
23
+ items: StockTransferItemRequestValidator[];
24
+ }
@@ -0,0 +1,111 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import * as class_transformer_1 from "class-transformer";
11
+ import * as class_validator_1 from "class-validator";
12
+ import * as transfer_enum_1 from './transfer.enum.js';
13
+ import * as abstract_validator_1 from '../../../index.js';
14
+ import * as not_equal_to_decorator_1 from '../../../index.js';
15
+ export class StockTransferItemRequestValidator extends abstract_validator_1.AbstractRequestValidator {
16
+ product;
17
+ variant;
18
+ quantity;
19
+ notes;
20
+ constructor(item) {
21
+ super();
22
+ if (!item) {
23
+ return;
24
+ }
25
+ this.product = (item.product?._id || item.product);
26
+ this.variant = (item.variant?._id || item.variant);
27
+ this.quantity = item.quantity;
28
+ this.notes = item.notes;
29
+ }
30
+ }
31
+ __decorate([
32
+ (0, class_validator_1.IsMongoId)(),
33
+ __metadata("design:type", String)
34
+ ], StockTransferItemRequestValidator.prototype, "product", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsMongoId)(),
37
+ __metadata("design:type", String)
38
+ ], StockTransferItemRequestValidator.prototype, "variant", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsNumber)(),
41
+ (0, class_validator_1.Min)(1),
42
+ __metadata("design:type", Number)
43
+ ], StockTransferItemRequestValidator.prototype, "quantity", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsString)(),
46
+ (0, class_validator_1.Length)(0, 500),
47
+ (0, class_validator_1.IsOptional)(),
48
+ __metadata("design:type", String)
49
+ ], StockTransferItemRequestValidator.prototype, "notes", void 0);
50
+ export class CreateStockTransferRequestValidator extends abstract_validator_1.AbstractRequestValidator {
51
+ origin;
52
+ destination;
53
+ items;
54
+ notes;
55
+ status;
56
+ constructor(transfer) {
57
+ super();
58
+ if (!transfer) {
59
+ return;
60
+ }
61
+ this.origin = (transfer.origin?._id || transfer.origin);
62
+ this.destination = (transfer.destination?._id || transfer.destination);
63
+ this.notes = transfer.notes;
64
+ this.status = transfer.status;
65
+ this.items =
66
+ transfer.items?.map((item) => new StockTransferItemRequestValidator(item)) ?? this.items;
67
+ }
68
+ }
69
+ __decorate([
70
+ (0, class_validator_1.IsMongoId)(),
71
+ (0, class_validator_1.ValidateIf)((it) => Boolean(it.origin || !it.destination)),
72
+ __metadata("design:type", String)
73
+ ], CreateStockTransferRequestValidator.prototype, "origin", void 0);
74
+ __decorate([
75
+ (0, class_validator_1.IsMongoId)(),
76
+ (0, class_validator_1.ValidateIf)((it) => Boolean(it.destination || !it.origin)),
77
+ (0, not_equal_to_decorator_1.IsNotEqualTo)((it) => it.origin),
78
+ __metadata("design:type", String)
79
+ ], CreateStockTransferRequestValidator.prototype, "destination", void 0);
80
+ __decorate([
81
+ (0, class_validator_1.IsArray)(),
82
+ (0, class_validator_1.ArrayNotEmpty)(),
83
+ (0, class_validator_1.ValidateNested)({ each: true }),
84
+ (0, class_transformer_1.Type)(() => StockTransferItemRequestValidator),
85
+ __metadata("design:type", Array)
86
+ ], CreateStockTransferRequestValidator.prototype, "items", void 0);
87
+ __decorate([
88
+ (0, class_validator_1.IsString)(),
89
+ (0, class_validator_1.Length)(0, 500),
90
+ (0, class_validator_1.IsOptional)(),
91
+ __metadata("design:type", String)
92
+ ], CreateStockTransferRequestValidator.prototype, "notes", void 0);
93
+ __decorate([
94
+ (0, class_validator_1.IsEnum)(transfer_enum_1.TransferStatusEnum),
95
+ (0, class_validator_1.IsOptional)(),
96
+ __metadata("design:type", String)
97
+ ], CreateStockTransferRequestValidator.prototype, "status", void 0);
98
+ export class UpdateStockTransferRequestValidator extends CreateStockTransferRequestValidator {
99
+ }
100
+ __decorate([
101
+ (0, class_validator_1.IsOptional)(),
102
+ __metadata("design:type", String)
103
+ ], UpdateStockTransferRequestValidator.prototype, "origin", void 0);
104
+ __decorate([
105
+ (0, class_validator_1.IsOptional)(),
106
+ __metadata("design:type", String)
107
+ ], UpdateStockTransferRequestValidator.prototype, "destination", void 0);
108
+ __decorate([
109
+ (0, class_validator_1.IsOptional)(),
110
+ __metadata("design:type", Array)
111
+ ], UpdateStockTransferRequestValidator.prototype, "items", void 0);
@@ -1,25 +1,18 @@
1
1
  import { AccountUserEntity } from '../../../account/user';
2
- import { CatalogProductEntity } from '../../catalog/product';
3
- import { CatalogVariantEntity } from '../../catalog/variant';
4
2
  import { StockWarehouseEntity } from '../warehouse';
5
- import { TransferStatusEnum } from './';
3
+ import { TransferStatusEnum, TransferTypeEnum } from './';
6
4
  import { AbstractEntity } from '../../..';
7
- import { StatusEntity } from '../../..';
8
- import type { MongoEntity } from '../../..';
9
- export declare class StockTransferItemEntity {
10
- product: MongoEntity<CatalogProductEntity>;
11
- variant: MongoEntity<CatalogVariantEntity>;
12
- quantity: number;
13
- notes?: string;
14
- }
5
+ import { StockTransferItemEntity } from './transfer.item.entity.js';
6
+ import type { StatusEntity } from '../../..';
15
7
  export declare class StockTransferEntity extends AbstractEntity {
16
- origin: MongoEntity<StockWarehouseEntity>;
17
- destination: MongoEntity<StockWarehouseEntity>;
8
+ origin: StockWarehouseEntity;
9
+ destination: StockWarehouseEntity;
18
10
  items: StockTransferItemEntity[];
19
- status: TransferStatusEnum;
20
11
  notes?: string;
12
+ user: AccountUserEntity;
21
13
  history: StatusEntity<TransferStatusEnum>[];
22
- user: MongoEntity<AccountUserEntity>;
23
- readonly type: 'in' | 'out';
14
+ status: TransferStatusEnum;
15
+ readonly type: TransferTypeEnum;
24
16
  readonly number: string;
17
+ readonly isProcessable: boolean;
25
18
  }
@@ -1,6 +1,10 @@
1
1
  export declare enum TransferStatusEnum {
2
2
  PENDING = "PENDING",
3
- PAUSED = "PAUSED",
4
3
  COMPLETED = "COMPLETED",
5
4
  CANCELLED = "CANCELLED"
6
5
  }
6
+ export declare enum TransferTypeEnum {
7
+ ENTRY = "ENTRY",
8
+ EXIT = "EXIT",
9
+ INTERNAL = "INTERNAL"
10
+ }
@@ -1,7 +1,12 @@
1
1
  export var TransferStatusEnum;
2
2
  (function (TransferStatusEnum) {
3
3
  TransferStatusEnum["PENDING"] = "PENDING";
4
- TransferStatusEnum["PAUSED"] = "PAUSED";
5
4
  TransferStatusEnum["COMPLETED"] = "COMPLETED";
6
5
  TransferStatusEnum["CANCELLED"] = "CANCELLED";
7
6
  })(TransferStatusEnum || (TransferStatusEnum = {}));
7
+ export var TransferTypeEnum;
8
+ (function (TransferTypeEnum) {
9
+ TransferTypeEnum["ENTRY"] = "ENTRY";
10
+ TransferTypeEnum["EXIT"] = "EXIT";
11
+ TransferTypeEnum["INTERNAL"] = "INTERNAL";
12
+ })(TransferTypeEnum || (TransferTypeEnum = {}));
@@ -0,0 +1,12 @@
1
+ import { CatalogProductEntity } from '../../catalog/product';
2
+ import { CatalogVariantEntity } from '../../catalog/variant';
3
+ import { AbstractEntity } from '../../..';
4
+ import type { StockBalanceEntity } from '../balance';
5
+ export declare class StockTransferItemEntity extends AbstractEntity {
6
+ product: CatalogProductEntity;
7
+ variant: CatalogVariantEntity;
8
+ quantity: number;
9
+ notes?: string;
10
+ readonly balance: StockBalanceEntity;
11
+ readonly isProcessable: boolean;
12
+ }
@@ -1,6 +1,8 @@
1
1
  import { AbstractTransition } from '../../../abstract.transition.js';
2
- import { TransferStatusEnum as Status } from './transfer.status.enum.js';
2
+ import { TransferStatusEnum as Status } from './transfer.enum.js';
3
3
 
4
4
  export declare class StockTransferTransition extends AbstractTransition<Status, unknown> {
5
5
  protected readonly $states: Readonly<Record<Status, readonly Status[]>>;
6
+ constructor(status?: Status);
7
+ readonly initialStates: readonly Status[];
6
8
  }
@@ -1,11 +1,18 @@
1
- import { AbstractTransition } from '../../../abstract.transition.js';
2
- import * as transfer_status_enum_1 from './transfer.status.enum.js';
1
+ import { AbstractTransition } from '../../../index.js';
2
+ import * as transfer_enum_1 from './transfer.enum.js';
3
3
 
4
4
  export class StockTransferTransition extends AbstractTransition {
5
5
  $states = {
6
- [transfer_status_enum_1.TransferStatusEnum.PENDING]: [transfer_status_enum_1.TransferStatusEnum.PAUSED, transfer_status_enum_1.TransferStatusEnum.COMPLETED, transfer_status_enum_1.TransferStatusEnum.CANCELLED],
7
- [transfer_status_enum_1.TransferStatusEnum.PAUSED]: [transfer_status_enum_1.TransferStatusEnum.PENDING, transfer_status_enum_1.TransferStatusEnum.COMPLETED, transfer_status_enum_1.TransferStatusEnum.CANCELLED],
8
- [transfer_status_enum_1.TransferStatusEnum.COMPLETED]: [],
9
- [transfer_status_enum_1.TransferStatusEnum.CANCELLED]: [],
6
+ [transfer_enum_1.TransferStatusEnum.PENDING]: [transfer_enum_1.TransferStatusEnum.COMPLETED, transfer_enum_1.TransferStatusEnum.CANCELLED],
7
+ [transfer_enum_1.TransferStatusEnum.COMPLETED]: [],
8
+ [transfer_enum_1.TransferStatusEnum.CANCELLED]: [],
10
9
  };
10
+
11
+ constructor(status = transfer_enum_1.TransferStatusEnum.PENDING) {
12
+ super(status);
13
+ }
14
+
15
+ get initialStates() {
16
+ return [transfer_enum_1.TransferStatusEnum.PENDING, transfer_enum_1.TransferStatusEnum.COMPLETED];
17
+ }
11
18
  }
@@ -1,2 +1,2 @@
1
1
  export * from './warehouse.entity';
2
- export * from './warehouse.validator';
2
+ export * from './request.validator';
@@ -1 +1 @@
1
- export * from './warehouse.validator.js';
1
+ export * from './request.validator.js';
@@ -0,0 +1,14 @@
1
+ import { AbstractRequestValidator } from '../../..';
2
+ import { AddressValidator } from '../../..';
3
+ import type { StockWarehouseEntity } from './';
4
+ export declare class CreateStockWarehouseRequestValidator extends AbstractRequestValidator {
5
+ name: string;
6
+ description?: string;
7
+ address?: AddressValidator;
8
+ isDefault?: boolean;
9
+ active?: boolean;
10
+ constructor(warehouse?: StockWarehouseEntity);
11
+ }
12
+ export declare class UpdateStockWarehouseRequestValidator extends CreateStockWarehouseRequestValidator {
13
+ name: string;
14
+ }
@@ -9,77 +9,73 @@ 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
- import * as address_validator_1 from '../../..';
14
- export class SearchStockWarehouseValidator extends abstract_validator_1.SearchValidator {
15
- }
16
- export class SearchStockWarehouseProductsValidator extends abstract_validator_1.SearchValidator {
17
- }
18
- export class ReadStockWarehouseValidator extends abstract_validator_1.ReadValidator {
19
- }
20
- export class SaveStockWarehouseValidator extends abstract_validator_1.AbstractValidator {
21
- constructor(entity) {
22
- super();
23
- if (!entity)
24
- return;
25
- this.name = entity.name;
26
- this.code = entity.code;
27
- this.description = entity.description;
28
- this.address = {
29
- name: entity.address?.name,
30
- line1: entity.address?.line1,
31
- line2: entity.address?.line2,
32
- city: entity.address?.city,
33
- state: entity.address?.state,
34
- locality: entity.address?.locality,
35
- country: entity.address?.country,
36
- code: entity.address?.code,
37
- latitude: entity.address?.location?.lat,
38
- longitude: entity.address?.location?.lng,
39
- };
40
- this.isDefault = entity.isDefault;
41
- this.active = entity.active ?? true;
42
- }
12
+ import * as abstract_validator_1 from '../../../index.js';
13
+ import * as address_validator_1 from '../../../index.js';
14
+ export class CreateStockWarehouseRequestValidator extends abstract_validator_1.AbstractRequestValidator {
43
15
  name;
44
- code;
45
16
  description;
46
17
  address;
47
18
  isDefault;
48
19
  active;
20
+ constructor(warehouse) {
21
+ super();
22
+ if (!warehouse) {
23
+ return;
24
+ }
25
+ this.name = warehouse.name;
26
+ this.description = warehouse.description;
27
+ this.isDefault = warehouse.isDefault;
28
+ this.active = warehouse.active;
29
+ const address = warehouse.address;
30
+ const location = address?.location;
31
+ this.address = address
32
+ ? Object.assign(new address_validator_1.AddressValidator(), {
33
+ line1: address.line1,
34
+ line2: address.line2,
35
+ name: address.name,
36
+ city: address.city,
37
+ state: address.state,
38
+ locality: address.locality,
39
+ country: address.country,
40
+ code: address.code,
41
+ latitude: location?.lat,
42
+ longitude: location?.lng,
43
+ })
44
+ : undefined;
45
+ }
49
46
  }
50
47
  __decorate([
51
48
  (0, class_validator_1.IsString)(),
52
49
  (0, class_validator_1.IsNotEmpty)(),
53
50
  (0, class_validator_1.Length)(0, 100),
54
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
55
51
  __metadata("design:type", String)
56
- ], SaveStockWarehouseValidator.prototype, "name", void 0);
57
- __decorate([
58
- (0, class_validator_1.IsString)(),
59
- (0, class_validator_1.Length)(0, 20),
60
- (0, class_validator_1.IsOptional)(),
61
- __metadata("design:type", String)
62
- ], SaveStockWarehouseValidator.prototype, "code", void 0);
52
+ ], CreateStockWarehouseRequestValidator.prototype, "name", void 0);
63
53
  __decorate([
64
54
  (0, class_validator_1.IsString)(),
65
55
  (0, class_validator_1.Length)(0, 1000),
66
56
  (0, class_validator_1.IsOptional)(),
67
57
  __metadata("design:type", String)
68
- ], SaveStockWarehouseValidator.prototype, "description", void 0);
58
+ ], CreateStockWarehouseRequestValidator.prototype, "description", void 0);
69
59
  __decorate([
70
60
  (0, class_validator_1.IsNotEmptyObject)({}, { message: 'Address is required' }),
71
61
  (0, class_validator_1.ValidateNested)(),
72
62
  (0, class_transformer_1.Type)(() => address_validator_1.AddressValidator),
73
63
  (0, class_validator_1.IsOptional)(),
74
64
  __metadata("design:type", address_validator_1.AddressValidator)
75
- ], SaveStockWarehouseValidator.prototype, "address", void 0);
65
+ ], CreateStockWarehouseRequestValidator.prototype, "address", void 0);
76
66
  __decorate([
77
67
  (0, class_validator_1.IsBoolean)(),
78
68
  (0, class_validator_1.IsOptional)(),
79
69
  __metadata("design:type", Boolean)
80
- ], SaveStockWarehouseValidator.prototype, "isDefault", void 0);
70
+ ], CreateStockWarehouseRequestValidator.prototype, "isDefault", void 0);
81
71
  __decorate([
82
72
  (0, class_validator_1.IsBoolean)(),
83
73
  (0, class_validator_1.IsOptional)(),
84
74
  __metadata("design:type", Boolean)
85
- ], SaveStockWarehouseValidator.prototype, "active", void 0);
75
+ ], CreateStockWarehouseRequestValidator.prototype, "active", void 0);
76
+ export class UpdateStockWarehouseRequestValidator extends CreateStockWarehouseRequestValidator {
77
+ }
78
+ __decorate([
79
+ (0, class_validator_1.IsOptional)(),
80
+ __metadata("design:type", String)
81
+ ], UpdateStockWarehouseRequestValidator.prototype, "name", void 0);
@@ -1,11 +1,11 @@
1
1
  import { AbstractEntity } from '../../..';
2
- import { CreateEntityArgs } from '../../..';
2
+ import { SaveEntityArgs } from '../../..';
3
3
  import { AddressEntity } from '../../..';
4
4
  export declare class StockWarehouseEntity extends AbstractEntity {
5
5
  name: string;
6
6
  code: string;
7
7
  description: string;
8
- address: CreateEntityArgs<AddressEntity>;
8
+ address: SaveEntityArgs<AddressEntity>;
9
9
  isDefault: boolean;
10
10
  active: boolean;
11
11
  }
@@ -1,2 +1,2 @@
1
1
  export * from './item.entity';
2
- export * from './item.validator';
2
+ export * from './request.validator';
@@ -1 +1 @@
1
- export * from './item.validator.js';
1
+ export * from './request.validator.js';