@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
@@ -1,17 +1,24 @@
1
1
  import { CatalogProductEntity } from '../../../inventory/catalog/product';
2
2
  import { CatalogVariantEntity } from '../../../inventory/catalog/variant';
3
+ import { StockBalanceEntity } from '../../../inventory/stock/balance';
3
4
  import { StockWarehouseEntity } from '../../../inventory/stock/warehouse';
4
5
  import { AbstractEntity } from '../../..';
5
- import type { MongoEntity } from '../../..';
6
- export declare class PurchaseItemEntity extends AbstractEntity {
7
- product: MongoEntity<CatalogProductEntity>;
8
- variant: MongoEntity<CatalogVariantEntity>;
9
- warehouse: MongoEntity<StockWarehouseEntity>;
10
- priceProduct: number;
11
- priceVariant: number;
12
- quantity: number;
13
- notes?: string;
14
- readonly price: number;
6
+ interface ItemPricing {
7
+ product: number;
15
8
  readonly total: number;
16
- readonly unitCost: number;
9
+ readonly unit: number;
10
+ variant: number;
11
+ }
12
+ export declare class ItemEntity extends AbstractEntity {
13
+ product?: CatalogProductEntity;
14
+ variant: CatalogVariantEntity;
15
+ warehouse: StockWarehouseEntity;
16
+ quantity: number;
17
+ notes: string;
18
+ price: ItemPricing;
19
+ readonly 'price.unit': number;
20
+ readonly 'price.total': number;
21
+ readonly balance?: StockBalanceEntity;
22
+ readonly isProcessable: boolean;
17
23
  }
24
+ export {};
@@ -0,0 +1,12 @@
1
+ import { AbstractRequestValidator } from '../../..';
2
+ import type { ItemEntity } from '../../sale/item';
3
+ export declare class PurchaseItemRequestValidator extends AbstractRequestValidator {
4
+ product: string;
5
+ variant: string;
6
+ warehouse?: string;
7
+ quantity: number;
8
+ price: number;
9
+ notes: string;
10
+ constructor(item?: ItemEntity);
11
+ get total(): number;
12
+ }
@@ -7,45 +7,62 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  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
- import * as class_transformer_1 from "class-transformer";
11
10
  import * as class_validator_1 from "class-validator";
12
- export class ServiceItemValidator {
11
+ import * as abstract_validator_1 from '../../../index.js';
12
+ export class PurchaseItemRequestValidator extends abstract_validator_1.AbstractRequestValidator {
13
13
  product;
14
14
  variant;
15
15
  warehouse;
16
16
  quantity = 1;
17
17
  price = 0;
18
- notes;
18
+ notes = String();
19
+ constructor(item) {
20
+ super();
21
+ if (!item) {
22
+ return;
23
+ }
24
+ this.product = (item.product?._id || item.product);
25
+ this.variant = (item.variant?._id || item.variant);
26
+ this.warehouse = (item.warehouse?._id || item.warehouse);
27
+ if (item.quantity !== undefined) {
28
+ this.quantity = item.quantity;
29
+ }
30
+ this.price = item.price?.unit || item.get?.('price.unit') || this.price;
31
+ if (item.notes !== undefined) {
32
+ this.notes = item.notes;
33
+ }
34
+ }
19
35
  get total() {
20
- return Math.trunc(this.quantity * this.price) || 0;
36
+ return Math.round(this.quantity * this.price);
21
37
  }
22
38
  }
23
39
  __decorate([
24
40
  (0, class_validator_1.IsMongoId)(),
41
+ (0, class_validator_1.IsOptional)(),
25
42
  __metadata("design:type", String)
26
- ], ServiceItemValidator.prototype, "product", void 0);
43
+ ], PurchaseItemRequestValidator.prototype, "product", void 0);
27
44
  __decorate([
28
45
  (0, class_validator_1.IsMongoId)(),
29
46
  __metadata("design:type", String)
30
- ], ServiceItemValidator.prototype, "variant", void 0);
47
+ ], PurchaseItemRequestValidator.prototype, "variant", void 0);
31
48
  __decorate([
32
49
  (0, class_validator_1.IsMongoId)(),
50
+ (0, class_validator_1.IsOptional)(),
33
51
  __metadata("design:type", String)
34
- ], ServiceItemValidator.prototype, "warehouse", void 0);
52
+ ], PurchaseItemRequestValidator.prototype, "warehouse", void 0);
35
53
  __decorate([
54
+ (0, class_validator_1.IsPositive)(),
36
55
  (0, class_validator_1.IsInt)(),
37
- (0, class_validator_1.Min)(1),
38
56
  __metadata("design:type", Object)
39
- ], ServiceItemValidator.prototype, "quantity", void 0);
57
+ ], PurchaseItemRequestValidator.prototype, "quantity", void 0);
40
58
  __decorate([
41
- (0, class_transformer_1.Transform)(({ obj, value }) => value ?? obj?.cost ?? 0),
42
- (0, class_validator_1.IsNumber)(),
43
- (0, class_validator_1.Min)(0),
59
+ (0, class_validator_1.IsPositive)(),
60
+ (0, class_validator_1.IsInt)(),
44
61
  __metadata("design:type", Object)
45
- ], ServiceItemValidator.prototype, "price", void 0);
62
+ ], PurchaseItemRequestValidator.prototype, "price", void 0);
46
63
  __decorate([
47
64
  (0, class_validator_1.IsString)(),
48
65
  (0, class_validator_1.Length)(0, 500),
49
66
  (0, class_validator_1.IsOptional)(),
50
- __metadata("design:type", String)
51
- ], ServiceItemValidator.prototype, "notes", void 0);
67
+ __metadata("design:type", Object)
68
+ ], PurchaseItemRequestValidator.prototype, "notes", void 0);
@@ -1,4 +1,4 @@
1
1
  export * from './transaction.entity';
2
- export * from './transaction.validator';
2
+ export * from './request.validator';
3
3
  export * from './transaction.enum';
4
4
  export * from './transaction.transition';
@@ -1,3 +1,3 @@
1
- export * from './transaction.validator.js';
1
+ export * from './request.validator.js';
2
2
  export * from './transaction.enum.js';
3
3
  export * from './transaction.transition.js';
@@ -0,0 +1,23 @@
1
+ import { FinancePaymentStatusEnum, FinancePaymentMethodEnum } from '../../../finance/payment';
2
+ import { PurchaseTransactionStatusEnum } from './';
3
+ import { AbstractRequestValidator } from '../../..';
4
+ import { PurchaseItemRequestValidator } from '../item';
5
+ import type { PurchaseTransactionEntity } from './transaction.entity.js';
6
+ export declare class CreatePurchaseTransactionRequestValidator extends AbstractRequestValidator {
7
+ items: PurchaseItemRequestValidator[];
8
+ method: FinancePaymentMethodEnum;
9
+ notes?: string;
10
+ vendor?: string;
11
+ warehouse?: string;
12
+ payment: FinancePaymentStatusEnum;
13
+ status?: PurchaseTransactionStatusEnum;
14
+ constructor(order?: PurchaseTransactionEntity);
15
+ get total(): {
16
+ units: number;
17
+ price: number;
18
+ };
19
+ }
20
+ export declare class UpdatePurchaseTransactionRequestValidator extends CreatePurchaseTransactionRequestValidator {
21
+ items: PurchaseItemRequestValidator[];
22
+ method: FinancePaymentMethodEnum;
23
+ }
@@ -0,0 +1,97 @@
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 payment_enum_1 from '../../../finance/payment/index.js';
13
+ import * as transaction_enum_1 from './transaction.enum.js';
14
+ import * as abstract_validator_1 from '../../../index.js';
15
+ import * as request_validator_1 from '../item/index.js';
16
+ export class CreatePurchaseTransactionRequestValidator extends abstract_validator_1.AbstractRequestValidator {
17
+ items = [];
18
+ method;
19
+ notes;
20
+ vendor;
21
+ warehouse;
22
+ payment = payment_enum_1.FinancePaymentStatusEnum.PENDING;
23
+ status = transaction_enum_1.PurchaseTransactionStatusEnum.OPEN;
24
+ constructor(order) {
25
+ super();
26
+ if (!order) {
27
+ return;
28
+ }
29
+ this.notes = order.notes;
30
+ this.method = order.payment?.method;
31
+ this.vendor = (order.vendor?._id || order.vendor);
32
+ if (order.status !== undefined) {
33
+ this.status = order.status;
34
+ }
35
+ if (order.payment?.status !== undefined) {
36
+ this.payment = order.payment.status;
37
+ }
38
+ const [warehouse] = [...new Set(order.items?.map((item) => item.warehouse).filter(Boolean))];
39
+ this.warehouse = (warehouse?._id || warehouse);
40
+ this.items = order.items?.map((it) => new request_validator_1.PurchaseItemRequestValidator(it)) ?? this.items;
41
+ }
42
+ get total() {
43
+ return this.items.reduce((acc, item) => {
44
+ acc.units += item.quantity;
45
+ acc.price += item.quantity * item.price;
46
+ return acc;
47
+ }, { units: 0, price: 0 });
48
+ }
49
+ }
50
+ __decorate([
51
+ (0, class_validator_1.IsArray)(),
52
+ (0, class_transformer_1.Type)(() => request_validator_1.PurchaseItemRequestValidator),
53
+ (0, class_validator_1.ValidateNested)({ each: true }),
54
+ __metadata("design:type", Array)
55
+ ], CreatePurchaseTransactionRequestValidator.prototype, "items", void 0);
56
+ __decorate([
57
+ (0, class_validator_1.IsEnum)(payment_enum_1.FinancePaymentMethodEnum),
58
+ __metadata("design:type", String)
59
+ ], CreatePurchaseTransactionRequestValidator.prototype, "method", void 0);
60
+ __decorate([
61
+ (0, class_validator_1.IsString)(),
62
+ (0, class_validator_1.Length)(0, 500),
63
+ (0, class_validator_1.IsOptional)(),
64
+ __metadata("design:type", String)
65
+ ], CreatePurchaseTransactionRequestValidator.prototype, "notes", void 0);
66
+ __decorate([
67
+ (0, class_validator_1.IsMongoId)(),
68
+ (0, class_validator_1.IsOptional)(),
69
+ __metadata("design:type", String)
70
+ ], CreatePurchaseTransactionRequestValidator.prototype, "vendor", void 0);
71
+ __decorate([
72
+ (0, class_validator_1.IsMongoId)(),
73
+ (0, class_validator_1.IsOptional)(),
74
+ __metadata("design:type", String)
75
+ ], CreatePurchaseTransactionRequestValidator.prototype, "warehouse", void 0);
76
+ __decorate([
77
+ (0, class_validator_1.IsEnum)(payment_enum_1.FinancePaymentStatusEnum),
78
+ (0, class_validator_1.IsDefined)(),
79
+ (0, class_validator_1.IsOptional)(),
80
+ __metadata("design:type", String)
81
+ ], CreatePurchaseTransactionRequestValidator.prototype, "payment", void 0);
82
+ __decorate([
83
+ (0, class_validator_1.IsEnum)(transaction_enum_1.PurchaseTransactionStatusEnum),
84
+ (0, class_validator_1.IsDefined)(),
85
+ (0, class_validator_1.IsOptional)(),
86
+ __metadata("design:type", Object)
87
+ ], CreatePurchaseTransactionRequestValidator.prototype, "status", void 0);
88
+ export class UpdatePurchaseTransactionRequestValidator extends CreatePurchaseTransactionRequestValidator {
89
+ }
90
+ __decorate([
91
+ (0, class_validator_1.IsOptional)(),
92
+ __metadata("design:type", Array)
93
+ ], UpdatePurchaseTransactionRequestValidator.prototype, "items", void 0);
94
+ __decorate([
95
+ (0, class_validator_1.IsOptional)(),
96
+ __metadata("design:type", String)
97
+ ], UpdatePurchaseTransactionRequestValidator.prototype, "method", void 0);
@@ -1,9 +1,8 @@
1
+ import { ItemEntity } from '../../sale/item';
1
2
  import { TransactionEntity } from '../../..';
2
3
  import { PurchaseTransactionStatusEnum } from './transaction.enum.js';
3
- import { PurchaseItemEntity } from '../item';
4
4
  import { PurchaseVendorEntity } from '../vendor';
5
- import type { MongoEntity } from '../../..';
6
5
  export declare class PurchaseTransactionEntity extends TransactionEntity<PurchaseTransactionStatusEnum> {
7
- vendor: MongoEntity<PurchaseVendorEntity>;
8
- items: PurchaseItemEntity[];
6
+ vendor: PurchaseVendorEntity;
7
+ items: ItemEntity[];
9
8
  }
@@ -1,7 +1,6 @@
1
1
  export declare enum PurchaseTransactionStatusEnum {
2
2
  OPEN = "OPEN",
3
3
  ORDERED = "ORDERED",
4
- PAUSED = "PAUSED",
5
4
  RECEIVED = "RECEIVED",
6
5
  CANCELLED = "CANCELLED"
7
6
  }
@@ -2,16 +2,13 @@ export var PurchaseTransactionStatusEnum;
2
2
  (function (PurchaseTransactionStatusEnum) {
3
3
  PurchaseTransactionStatusEnum["OPEN"] = "OPEN";
4
4
  PurchaseTransactionStatusEnum["ORDERED"] = "ORDERED";
5
- PurchaseTransactionStatusEnum["PAUSED"] = "PAUSED";
6
5
  PurchaseTransactionStatusEnum["RECEIVED"] = "RECEIVED";
7
6
  PurchaseTransactionStatusEnum["CANCELLED"] = "CANCELLED";
8
7
  })(PurchaseTransactionStatusEnum || (PurchaseTransactionStatusEnum = {}));
9
8
  export const PURCHASE_OPEN_TRANSACTION_STATUSES = [
10
9
  PurchaseTransactionStatusEnum.OPEN,
11
10
  PurchaseTransactionStatusEnum.ORDERED,
12
- PurchaseTransactionStatusEnum.PAUSED,
13
11
  ];
14
12
  export const PURCHASE_INCOMING_TRANSACTION_STATUSES = [
15
13
  PurchaseTransactionStatusEnum.ORDERED,
16
- PurchaseTransactionStatusEnum.PAUSED,
17
14
  ];
@@ -3,4 +3,6 @@ import { PurchaseTransactionStatusEnum as Status } from './transaction.enum.js';
3
3
 
4
4
  export declare class PurchaseTransactionTransition 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,12 +1,19 @@
1
- import { AbstractTransition } from '../../../abstract.transition.js';
1
+ import { AbstractTransition } from '../../../index.js';
2
2
  import * as transaction_enum_1 from './transaction.enum.js';
3
3
 
4
4
  export class PurchaseTransactionTransition extends AbstractTransition {
5
5
  $states = {
6
6
  [transaction_enum_1.PurchaseTransactionStatusEnum.OPEN]: [transaction_enum_1.PurchaseTransactionStatusEnum.ORDERED, transaction_enum_1.PurchaseTransactionStatusEnum.RECEIVED, transaction_enum_1.PurchaseTransactionStatusEnum.CANCELLED],
7
- [transaction_enum_1.PurchaseTransactionStatusEnum.ORDERED]: [transaction_enum_1.PurchaseTransactionStatusEnum.PAUSED, transaction_enum_1.PurchaseTransactionStatusEnum.RECEIVED, transaction_enum_1.PurchaseTransactionStatusEnum.CANCELLED],
8
- [transaction_enum_1.PurchaseTransactionStatusEnum.PAUSED]: [transaction_enum_1.PurchaseTransactionStatusEnum.ORDERED, transaction_enum_1.PurchaseTransactionStatusEnum.CANCELLED],
7
+ [transaction_enum_1.PurchaseTransactionStatusEnum.ORDERED]: [transaction_enum_1.PurchaseTransactionStatusEnum.RECEIVED, transaction_enum_1.PurchaseTransactionStatusEnum.CANCELLED],
9
8
  [transaction_enum_1.PurchaseTransactionStatusEnum.RECEIVED]: [],
10
9
  [transaction_enum_1.PurchaseTransactionStatusEnum.CANCELLED]: [],
11
10
  };
11
+
12
+ constructor(status = transaction_enum_1.PurchaseTransactionStatusEnum.OPEN) {
13
+ super(status);
14
+ }
15
+
16
+ get initialStates() {
17
+ return [transaction_enum_1.PurchaseTransactionStatusEnum.OPEN, transaction_enum_1.PurchaseTransactionStatusEnum.ORDERED, transaction_enum_1.PurchaseTransactionStatusEnum.RECEIVED];
18
+ }
12
19
  }
@@ -1,2 +1,2 @@
1
1
  export * from './vendor.entity';
2
- export * from './vendor.validator';
2
+ export * from './request.validator';
@@ -1 +1 @@
1
- export * from './vendor.validator.js';
1
+ export * from './request.validator.js';
@@ -0,0 +1,16 @@
1
+ import { AbstractRequestValidator } from '../../..';
2
+ import type { PurchaseVendorEntity } from './';
3
+ export declare class CreatePurchaseVendorRequestValidator extends AbstractRequestValidator {
4
+ name: string;
5
+ description?: string;
6
+ email?: string;
7
+ logo?: string;
8
+ phone?: string;
9
+ website?: string;
10
+ taxId?: string;
11
+ active?: boolean;
12
+ constructor(vendor?: PurchaseVendorEntity);
13
+ }
14
+ export declare class UpdatePurchaseVendorRequestValidator extends CreatePurchaseVendorRequestValidator {
15
+ name: string;
16
+ }
@@ -8,25 +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 SearchPurchaseVendorValidator extends abstract_validator_1.SearchValidator {
13
- }
14
- export class ReadPurchaseVendorValidator extends abstract_validator_1.ReadValidator {
15
- }
16
- export class SavePurchaseVendorValidator 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.email = entity.email;
24
- this.logo = entity.logo;
25
- this.phone = entity.phone;
26
- this.website = entity.website;
27
- this.taxId = entity.taxId;
28
- this.active = entity.active;
29
- }
11
+ import * as abstract_validator_1 from '../../../index.js';
12
+ export class CreatePurchaseVendorRequestValidator extends abstract_validator_1.AbstractRequestValidator {
30
13
  name;
31
14
  description;
32
15
  email;
@@ -35,52 +18,71 @@ export class SavePurchaseVendorValidator extends abstract_validator_1.AbstractVa
35
18
  website;
36
19
  taxId;
37
20
  active;
21
+ constructor(vendor) {
22
+ super();
23
+ if (!vendor) {
24
+ return;
25
+ }
26
+ this.name = vendor.name;
27
+ this.description = vendor.description;
28
+ this.email = vendor.email;
29
+ this.logo = vendor.logo;
30
+ this.phone = vendor.phone;
31
+ this.website = vendor.website;
32
+ this.taxId = vendor.taxId;
33
+ this.active = vendor.active;
34
+ }
38
35
  }
39
36
  __decorate([
40
37
  (0, class_validator_1.IsString)(),
41
38
  (0, class_validator_1.IsNotEmpty)(),
42
39
  (0, class_validator_1.Length)(0, 100),
43
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
44
40
  __metadata("design:type", String)
45
- ], SavePurchaseVendorValidator.prototype, "name", void 0);
41
+ ], CreatePurchaseVendorRequestValidator.prototype, "name", void 0);
46
42
  __decorate([
47
43
  (0, class_validator_1.IsString)(),
48
44
  (0, class_validator_1.Length)(0, 1000),
49
45
  (0, class_validator_1.IsOptional)(),
50
46
  __metadata("design:type", String)
51
- ], SavePurchaseVendorValidator.prototype, "description", void 0);
47
+ ], CreatePurchaseVendorRequestValidator.prototype, "description", void 0);
52
48
  __decorate([
53
49
  (0, class_validator_1.IsEmail)(),
54
50
  (0, class_validator_1.Length)(0, 254),
55
51
  (0, class_validator_1.IsOptional)(),
56
52
  __metadata("design:type", String)
57
- ], SavePurchaseVendorValidator.prototype, "email", void 0);
53
+ ], CreatePurchaseVendorRequestValidator.prototype, "email", void 0);
58
54
  __decorate([
59
55
  (0, class_validator_1.IsUrl)(),
60
56
  (0, class_validator_1.Length)(0, 2048),
61
57
  (0, class_validator_1.IsOptional)(),
62
58
  __metadata("design:type", String)
63
- ], SavePurchaseVendorValidator.prototype, "logo", void 0);
59
+ ], CreatePurchaseVendorRequestValidator.prototype, "logo", void 0);
64
60
  __decorate([
65
61
  (0, class_validator_1.IsString)(),
66
62
  (0, class_validator_1.Length)(0, 20),
67
63
  (0, class_validator_1.IsOptional)(),
68
64
  __metadata("design:type", String)
69
- ], SavePurchaseVendorValidator.prototype, "phone", void 0);
65
+ ], CreatePurchaseVendorRequestValidator.prototype, "phone", void 0);
70
66
  __decorate([
71
67
  (0, class_validator_1.IsString)(),
72
68
  (0, class_validator_1.Length)(0, 2048),
73
69
  (0, class_validator_1.IsOptional)(),
74
70
  __metadata("design:type", String)
75
- ], SavePurchaseVendorValidator.prototype, "website", void 0);
71
+ ], CreatePurchaseVendorRequestValidator.prototype, "website", void 0);
76
72
  __decorate([
77
73
  (0, class_validator_1.IsString)(),
78
74
  (0, class_validator_1.Length)(0, 20),
79
75
  (0, class_validator_1.IsOptional)(),
80
76
  __metadata("design:type", String)
81
- ], SavePurchaseVendorValidator.prototype, "taxId", void 0);
77
+ ], CreatePurchaseVendorRequestValidator.prototype, "taxId", void 0);
82
78
  __decorate([
83
79
  (0, class_validator_1.IsBoolean)(),
84
80
  (0, class_validator_1.IsOptional)(),
85
81
  __metadata("design:type", Boolean)
86
- ], SavePurchaseVendorValidator.prototype, "active", void 0);
82
+ ], CreatePurchaseVendorRequestValidator.prototype, "active", void 0);
83
+ export class UpdatePurchaseVendorRequestValidator extends CreatePurchaseVendorRequestValidator {
84
+ }
85
+ __decorate([
86
+ (0, class_validator_1.IsOptional)(),
87
+ __metadata("design:type", String)
88
+ ], UpdatePurchaseVendorRequestValidator.prototype, "name", void 0);
@@ -1,3 +1,3 @@
1
1
  export * from './customer.entity';
2
2
  export * from './customer.enum';
3
- export * from './customer.validator';
3
+ export * from './request.validator';
@@ -1,2 +1,2 @@
1
1
  export * from './customer.enum.js';
2
- export * from './customer.validator.js';
2
+ export * from './request.validator.js';
@@ -0,0 +1,18 @@
1
+ import { SaleCustomerTypeEnum } from './';
2
+ import { AbstractRequestValidator } from '../../..';
3
+ import type { SaleCustomerEntity } from './';
4
+ export declare class CreateSaleCustomerRequestValidator extends AbstractRequestValidator {
5
+ name: string;
6
+ type: SaleCustomerTypeEnum;
7
+ description?: string;
8
+ email?: string;
9
+ logo?: string;
10
+ phone?: string;
11
+ website?: string;
12
+ taxId?: string;
13
+ active?: boolean;
14
+ constructor(customer?: SaleCustomerEntity);
15
+ }
16
+ export declare class UpdateSaleCustomerRequestValidator extends CreateSaleCustomerRequestValidator {
17
+ name: string;
18
+ }
@@ -9,26 +9,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import * as class_validator_1 from "class-validator";
11
11
  import * as customer_enum_1 from './customer.enum.js';
12
- import * as abstract_validator_1 from '../../..';
13
- export class SearchSaleCustomerValidator extends abstract_validator_1.SearchValidator {
14
- }
15
- export class ReadSaleCustomerValidator extends abstract_validator_1.ReadValidator {
16
- }
17
- export class SaveSaleCustomerValidator extends abstract_validator_1.AbstractValidator {
18
- constructor(entity) {
19
- super();
20
- if (!entity)
21
- return;
22
- this.name = entity.name;
23
- this.type = entity.type;
24
- this.description = entity.description;
25
- this.email = entity.email;
26
- this.phone = entity.phone;
27
- this.website = entity.website;
28
- this.logo = entity.logo;
29
- this.taxId = entity.taxId;
30
- this.active = entity.active;
31
- }
12
+ import * as abstract_validator_1 from '../../../index.js';
13
+ export class CreateSaleCustomerRequestValidator extends abstract_validator_1.AbstractRequestValidator {
32
14
  name;
33
15
  type = customer_enum_1.SaleCustomerTypeEnum.B2C;
34
16
  description;
@@ -38,59 +20,81 @@ export class SaveSaleCustomerValidator extends abstract_validator_1.AbstractVali
38
20
  website;
39
21
  taxId;
40
22
  active;
23
+ constructor(customer) {
24
+ super();
25
+ if (!customer) {
26
+ return;
27
+ }
28
+ this.name = customer.name;
29
+ this.description = customer.description;
30
+ this.email = customer.email;
31
+ this.logo = customer.logo;
32
+ this.phone = customer.phone;
33
+ this.website = customer.website;
34
+ this.taxId = customer.taxId;
35
+ this.active = customer.active;
36
+ if (customer.type !== undefined) {
37
+ this.type = customer.type;
38
+ }
39
+ }
41
40
  }
42
41
  __decorate([
43
42
  (0, class_validator_1.IsString)(),
44
43
  (0, class_validator_1.IsNotEmpty)(),
45
44
  (0, class_validator_1.Length)(0, 100),
46
- (0, class_validator_1.IsOptional)({ groups: ['update'] }),
47
45
  __metadata("design:type", String)
48
- ], SaveSaleCustomerValidator.prototype, "name", void 0);
46
+ ], CreateSaleCustomerRequestValidator.prototype, "name", void 0);
49
47
  __decorate([
50
48
  (0, class_validator_1.IsEnum)(customer_enum_1.SaleCustomerTypeEnum),
51
49
  (0, class_validator_1.IsOptional)(),
52
50
  __metadata("design:type", String)
53
- ], SaveSaleCustomerValidator.prototype, "type", void 0);
51
+ ], CreateSaleCustomerRequestValidator.prototype, "type", void 0);
54
52
  __decorate([
55
53
  (0, class_validator_1.IsString)(),
56
54
  (0, class_validator_1.Length)(0, 1000),
57
55
  (0, class_validator_1.IsOptional)(),
58
56
  __metadata("design:type", String)
59
- ], SaveSaleCustomerValidator.prototype, "description", void 0);
57
+ ], CreateSaleCustomerRequestValidator.prototype, "description", void 0);
60
58
  __decorate([
61
59
  (0, class_validator_1.IsEmail)(),
62
60
  (0, class_validator_1.Length)(0, 254),
63
61
  (0, class_validator_1.IsOptional)(),
64
62
  (0, class_validator_1.ValidateIf)((o) => o.email),
65
63
  __metadata("design:type", String)
66
- ], SaveSaleCustomerValidator.prototype, "email", void 0);
64
+ ], CreateSaleCustomerRequestValidator.prototype, "email", void 0);
67
65
  __decorate([
68
66
  (0, class_validator_1.IsUrl)(),
69
67
  (0, class_validator_1.Length)(0, 2048),
70
68
  (0, class_validator_1.IsOptional)(),
71
69
  (0, class_validator_1.ValidateIf)((o) => o.logo),
72
70
  __metadata("design:type", String)
73
- ], SaveSaleCustomerValidator.prototype, "logo", void 0);
71
+ ], CreateSaleCustomerRequestValidator.prototype, "logo", void 0);
74
72
  __decorate([
75
73
  (0, class_validator_1.IsString)(),
76
74
  (0, class_validator_1.Length)(0, 20),
77
75
  (0, class_validator_1.IsOptional)(),
78
76
  __metadata("design:type", String)
79
- ], SaveSaleCustomerValidator.prototype, "phone", void 0);
77
+ ], CreateSaleCustomerRequestValidator.prototype, "phone", void 0);
80
78
  __decorate([
81
79
  (0, class_validator_1.IsString)(),
82
80
  (0, class_validator_1.Length)(0, 2048),
83
81
  (0, class_validator_1.IsOptional)(),
84
82
  __metadata("design:type", String)
85
- ], SaveSaleCustomerValidator.prototype, "website", void 0);
83
+ ], CreateSaleCustomerRequestValidator.prototype, "website", void 0);
86
84
  __decorate([
87
85
  (0, class_validator_1.IsString)(),
88
86
  (0, class_validator_1.Length)(0, 20),
89
87
  (0, class_validator_1.IsOptional)(),
90
88
  __metadata("design:type", String)
91
- ], SaveSaleCustomerValidator.prototype, "taxId", void 0);
89
+ ], CreateSaleCustomerRequestValidator.prototype, "taxId", void 0);
92
90
  __decorate([
93
91
  (0, class_validator_1.IsBoolean)(),
94
92
  (0, class_validator_1.IsOptional)(),
95
93
  __metadata("design:type", Boolean)
96
- ], SaveSaleCustomerValidator.prototype, "active", void 0);
94
+ ], CreateSaleCustomerRequestValidator.prototype, "active", void 0);
95
+ export class UpdateSaleCustomerRequestValidator extends CreateSaleCustomerRequestValidator {
96
+ }
97
+ __decorate([
98
+ (0, class_validator_1.IsOptional)(),
99
+ __metadata("design:type", String)
100
+ ], UpdateSaleCustomerRequestValidator.prototype, "name", void 0);
@@ -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';