@merkaly/api 0.7.1 → 0.9.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.
- package/dist/app.schemas.d.ts +10 -16
- package/dist/contact/customer/customer.entity.d.ts +5 -0
- package/dist/contact/customer/customer.enum.d.ts +4 -0
- package/dist/contact/customer/customer.enum.js +5 -0
- package/dist/contact/customer/request.validator.d.ts +18 -0
- package/dist/{order/sale → contact}/customer/request.validator.js +15 -15
- package/dist/contact/vendor/index.d.ts +1 -0
- package/dist/contact/vendor/index.js +1 -0
- package/dist/contact/vendor/vendor.entity.d.ts +6 -0
- package/dist/contact.entity.d.ts +11 -0
- package/dist/finance/payment/payment.entity.d.ts +3 -3
- package/dist/index.d.ts +7 -8
- package/dist/index.js +6 -8
- package/dist/integration/supplier/index.d.ts +4 -0
- package/dist/{order/sale/item → integration/supplier}/index.js +1 -0
- package/dist/{supplier/product/product.preview.d.ts → integration/supplier/product.d.ts} +11 -5
- package/dist/{supplier/source/source.entity.d.ts → integration/supplier/supplier.entity.d.ts} +1 -1
- package/dist/inventory/catalog/product/product.entity.d.ts +5 -3
- package/dist/inventory/catalog/variant/variant.entity.d.ts +2 -2
- package/dist/order/item/index.d.ts +1 -0
- package/dist/order/item/index.js +1 -0
- package/dist/order/{sale/item → item}/item.entity.d.ts +3 -3
- package/dist/order/purchase/index.d.ts +5 -0
- package/dist/order/purchase/index.js +4 -0
- package/dist/order/purchase/{item/request.validator.d.ts → item.request.validator.d.ts} +2 -2
- package/dist/order/purchase/{item/request.validator.js → item.request.validator.js} +1 -1
- package/dist/order/purchase/purchase.entity.d.ts +10 -0
- package/dist/order/purchase/purchase.enum.d.ts +8 -0
- package/dist/order/purchase/purchase.enum.js +14 -0
- package/dist/order/purchase/purchase.transition.d.ts +8 -0
- package/dist/order/purchase/purchase.transition.js +19 -0
- package/dist/order/purchase/request.validator.d.ts +23 -0
- package/dist/order/purchase/{transaction/request.validator.js → request.validator.js} +25 -18
- package/dist/order/sale/index.d.ts +5 -0
- package/dist/order/sale/index.js +4 -0
- package/dist/order/sale/{item/request.validator.d.ts → item.request.validator.d.ts} +2 -2
- package/dist/order/sale/{item/request.validator.js → item.request.validator.js} +1 -1
- package/dist/order/sale/request.validator.d.ts +24 -0
- package/dist/order/sale/{transaction/request.validator.js → request.validator.js} +19 -19
- package/dist/order/sale/sale.entity.d.ts +10 -0
- package/dist/order/sale/sale.enum.d.ts +9 -0
- package/dist/order/sale/sale.enum.js +15 -0
- package/dist/order/sale/sale.transition.d.ts +8 -0
- package/dist/order/sale/sale.transition.js +20 -0
- package/dist/transaction.entity.d.ts +1 -1
- package/package.json +1 -1
- package/dist/order/purchase/item/index.d.ts +0 -2
- package/dist/order/purchase/item/index.js +0 -1
- package/dist/order/purchase/item/item.entity.d.ts +0 -19
- package/dist/order/purchase/transaction/index.d.ts +0 -4
- package/dist/order/purchase/transaction/index.js +0 -3
- package/dist/order/purchase/transaction/request.validator.d.ts +0 -22
- package/dist/order/purchase/transaction/transaction.entity.d.ts +0 -8
- package/dist/order/purchase/transaction/transaction.enum.d.ts +0 -8
- package/dist/order/purchase/transaction/transaction.enum.js +0 -14
- package/dist/order/purchase/transaction/transaction.transition.d.ts +0 -8
- package/dist/order/purchase/transaction/transaction.transition.js +0 -19
- package/dist/order/purchase/vendor/index.d.ts +0 -2
- package/dist/order/purchase/vendor/index.js +0 -1
- package/dist/order/purchase/vendor/request.validator.d.ts +0 -16
- package/dist/order/purchase/vendor/request.validator.js +0 -93
- package/dist/order/purchase/vendor/vendor.entity.d.ts +0 -11
- package/dist/order/sale/customer/customer.entity.d.ts +0 -13
- package/dist/order/sale/customer/customer.enum.d.ts +0 -4
- package/dist/order/sale/customer/customer.enum.js +0 -5
- package/dist/order/sale/customer/request.validator.d.ts +0 -18
- package/dist/order/sale/item/index.d.ts +0 -2
- package/dist/order/sale/transaction/index.d.ts +0 -4
- package/dist/order/sale/transaction/index.js +0 -3
- package/dist/order/sale/transaction/request.validator.d.ts +0 -24
- package/dist/order/sale/transaction/transaction.entity.d.ts +0 -8
- package/dist/order/sale/transaction/transaction.enum.d.ts +0 -9
- package/dist/order/sale/transaction/transaction.enum.js +0 -15
- package/dist/order/sale/transaction/transaction.transition.d.ts +0 -8
- package/dist/order/sale/transaction/transaction.transition.js +0 -20
- package/dist/supplier/product/index.d.ts +0 -2
- package/dist/supplier/product/index.js +0 -1
- package/dist/supplier/source/index.d.ts +0 -2
- package/dist/supplier/source/index.js +0 -1
- /package/dist/{order/sale → contact}/customer/index.d.ts +0 -0
- /package/dist/{order/sale → contact}/customer/index.js +0 -0
- /package/dist/{supplier/source → integration/supplier}/provider.enum.d.ts +0 -0
- /package/dist/{supplier/source → integration/supplier}/provider.enum.js +0 -0
- /package/dist/{supplier/product → integration/supplier}/request.validator.d.ts +0 -0
- /package/dist/{supplier/product → integration/supplier}/request.validator.js +0 -0
package/dist/app.schemas.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ export declare abstract class AppSchemas {
|
|
|
5
5
|
static get assets(): {
|
|
6
6
|
files: string;
|
|
7
7
|
};
|
|
8
|
+
static get contact(): {
|
|
9
|
+
customers: string;
|
|
10
|
+
vendors: string;
|
|
11
|
+
};
|
|
8
12
|
static get finance(): {
|
|
9
13
|
payments: string;
|
|
10
14
|
subscriptions: string;
|
|
@@ -19,23 +23,13 @@ export declare abstract class AppSchemas {
|
|
|
19
23
|
};
|
|
20
24
|
};
|
|
21
25
|
static get order(): {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
27
|
-
sale: {
|
|
28
|
-
customers: string;
|
|
29
|
-
items: string;
|
|
30
|
-
transactions: string;
|
|
31
|
-
};
|
|
32
|
-
service: {
|
|
33
|
-
items: string;
|
|
34
|
-
transactions: string;
|
|
35
|
-
};
|
|
26
|
+
purchaseItems: string;
|
|
27
|
+
purchases: string;
|
|
28
|
+
saleItems: string;
|
|
29
|
+
sales: string;
|
|
36
30
|
};
|
|
37
|
-
static get
|
|
38
|
-
|
|
31
|
+
static get integration(): {
|
|
32
|
+
suppliers: string;
|
|
39
33
|
};
|
|
40
34
|
static get settings(): {
|
|
41
35
|
organizations: string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ContactCustomerTypeEnum } from './customer.enum.js';
|
|
2
|
+
import { AbstractRequestValidator } from '../../abstract.validator.js';
|
|
3
|
+
import type { ContactCustomerEntity } from './customer.entity.js';
|
|
4
|
+
export declare class CreateContactCustomerRequestValidator extends AbstractRequestValidator {
|
|
5
|
+
name: string;
|
|
6
|
+
type: ContactCustomerTypeEnum;
|
|
7
|
+
description?: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
logo?: string;
|
|
10
|
+
phone?: string;
|
|
11
|
+
website?: string;
|
|
12
|
+
taxId?: string;
|
|
13
|
+
active?: boolean;
|
|
14
|
+
constructor(customer?: ContactCustomerEntity);
|
|
15
|
+
}
|
|
16
|
+
export declare class UpdateContactCustomerRequestValidator extends CreateContactCustomerRequestValidator {
|
|
17
|
+
name: string;
|
|
18
|
+
}
|
|
@@ -10,10 +10,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
import * as class_validator_1 from "class-validator";
|
|
12
12
|
import * as customer_enum_1 from './customer.enum.js';
|
|
13
|
-
import * as abstract_validator_1 from '
|
|
14
|
-
export class
|
|
13
|
+
import * as abstract_validator_1 from '../../abstract.validator.js';
|
|
14
|
+
export class CreateContactCustomerRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
15
15
|
name;
|
|
16
|
-
type = customer_enum_1.
|
|
16
|
+
type = customer_enum_1.ContactCustomerTypeEnum.B2C;
|
|
17
17
|
description;
|
|
18
18
|
email;
|
|
19
19
|
logo;
|
|
@@ -44,58 +44,58 @@ __decorate([
|
|
|
44
44
|
(0, class_validator_1.IsNotEmpty)(),
|
|
45
45
|
(0, class_validator_1.Length)(0, 100),
|
|
46
46
|
__metadata("design:type", String)
|
|
47
|
-
],
|
|
47
|
+
], CreateContactCustomerRequestValidator.prototype, "name", void 0);
|
|
48
48
|
__decorate([
|
|
49
|
-
(0, class_validator_1.IsEnum)(customer_enum_1.
|
|
49
|
+
(0, class_validator_1.IsEnum)(customer_enum_1.ContactCustomerTypeEnum),
|
|
50
50
|
(0, class_validator_1.IsOptional)(),
|
|
51
51
|
__metadata("design:type", String)
|
|
52
|
-
],
|
|
52
|
+
], CreateContactCustomerRequestValidator.prototype, "type", void 0);
|
|
53
53
|
__decorate([
|
|
54
54
|
(0, class_validator_1.IsString)(),
|
|
55
55
|
(0, class_validator_1.Length)(0, 1000),
|
|
56
56
|
(0, class_validator_1.IsOptional)(),
|
|
57
57
|
__metadata("design:type", String)
|
|
58
|
-
],
|
|
58
|
+
], CreateContactCustomerRequestValidator.prototype, "description", void 0);
|
|
59
59
|
__decorate([
|
|
60
60
|
(0, class_validator_1.IsEmail)(),
|
|
61
61
|
(0, class_validator_1.Length)(0, 254),
|
|
62
62
|
(0, class_validator_1.IsOptional)(),
|
|
63
63
|
(0, class_validator_1.ValidateIf)((o) => o.email),
|
|
64
64
|
__metadata("design:type", String)
|
|
65
|
-
],
|
|
65
|
+
], CreateContactCustomerRequestValidator.prototype, "email", void 0);
|
|
66
66
|
__decorate([
|
|
67
67
|
(0, class_validator_1.IsUrl)(),
|
|
68
68
|
(0, class_validator_1.Length)(0, 2048),
|
|
69
69
|
(0, class_validator_1.IsOptional)(),
|
|
70
70
|
(0, class_validator_1.ValidateIf)((o) => o.logo),
|
|
71
71
|
__metadata("design:type", String)
|
|
72
|
-
],
|
|
72
|
+
], CreateContactCustomerRequestValidator.prototype, "logo", void 0);
|
|
73
73
|
__decorate([
|
|
74
74
|
(0, class_validator_1.IsString)(),
|
|
75
75
|
(0, class_validator_1.Length)(0, 20),
|
|
76
76
|
(0, class_validator_1.IsOptional)(),
|
|
77
77
|
__metadata("design:type", String)
|
|
78
|
-
],
|
|
78
|
+
], CreateContactCustomerRequestValidator.prototype, "phone", void 0);
|
|
79
79
|
__decorate([
|
|
80
80
|
(0, class_validator_1.IsString)(),
|
|
81
81
|
(0, class_validator_1.Length)(0, 2048),
|
|
82
82
|
(0, class_validator_1.IsOptional)(),
|
|
83
83
|
__metadata("design:type", String)
|
|
84
|
-
],
|
|
84
|
+
], CreateContactCustomerRequestValidator.prototype, "website", void 0);
|
|
85
85
|
__decorate([
|
|
86
86
|
(0, class_validator_1.IsString)(),
|
|
87
87
|
(0, class_validator_1.Length)(0, 20),
|
|
88
88
|
(0, class_validator_1.IsOptional)(),
|
|
89
89
|
__metadata("design:type", String)
|
|
90
|
-
],
|
|
90
|
+
], CreateContactCustomerRequestValidator.prototype, "taxId", void 0);
|
|
91
91
|
__decorate([
|
|
92
92
|
(0, class_validator_1.IsBoolean)(),
|
|
93
93
|
(0, class_validator_1.IsOptional)(),
|
|
94
94
|
__metadata("design:type", Boolean)
|
|
95
|
-
],
|
|
96
|
-
export class
|
|
95
|
+
], CreateContactCustomerRequestValidator.prototype, "active", void 0);
|
|
96
|
+
export class UpdateContactCustomerRequestValidator extends CreateContactCustomerRequestValidator {
|
|
97
97
|
}
|
|
98
98
|
__decorate([
|
|
99
99
|
(0, class_validator_1.IsOptional)(),
|
|
100
100
|
__metadata("design:type", String)
|
|
101
|
-
],
|
|
101
|
+
], UpdateContactCustomerRequestValidator.prototype, "name", void 0);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './vendor.entity';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AbstractEntity } from './abstract.entity.js';
|
|
2
|
+
export declare abstract class ContactEntity extends AbstractEntity {
|
|
3
|
+
name: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
email?: string;
|
|
6
|
+
phone?: string;
|
|
7
|
+
website?: string;
|
|
8
|
+
logo?: string;
|
|
9
|
+
taxId?: string;
|
|
10
|
+
active: boolean;
|
|
11
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { OrderPurchaseEntity } from '../../order/purchase';
|
|
2
|
+
import { OrderSaleEntity } from '../../order/sale';
|
|
3
3
|
import { AbstractEntity } from '../../abstract.entity.js';
|
|
4
4
|
import { StatusEntity } from '../../status.plugin.js';
|
|
5
5
|
import { ITransitionable } from '../../transitionable.interface.js';
|
|
6
6
|
import { FinancePaymentMethodEnum, FinancePaymentStatusEnum, FinancePaymentTypeEnum } from './payment.enum.js';
|
|
7
|
-
export type OrderEntity =
|
|
7
|
+
export type OrderEntity = OrderSaleEntity | OrderPurchaseEntity;
|
|
8
8
|
export declare class FinancePaymentEntity extends AbstractEntity implements ITransitionable<FinancePaymentStatusEnum> {
|
|
9
9
|
type: FinancePaymentTypeEnum;
|
|
10
10
|
target: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './not-equal-to.decorator';
|
|
|
5
5
|
export * from './address.validator';
|
|
6
6
|
export * from './address.entity';
|
|
7
7
|
export * from './transaction.entity';
|
|
8
|
+
export * from './contact.entity';
|
|
8
9
|
export * from './transitionable.interface';
|
|
9
10
|
export * from './abstract.entity';
|
|
10
11
|
export * from './abstract.transition';
|
|
@@ -12,18 +13,16 @@ export * from './abstract.validator';
|
|
|
12
13
|
export * from './relation.status.enum';
|
|
13
14
|
export * from './account/user';
|
|
14
15
|
export * from './assets/asset';
|
|
16
|
+
export * from './contact/customer';
|
|
17
|
+
export * from './contact/vendor';
|
|
15
18
|
export * from './finance/payment';
|
|
19
|
+
export * from './integration/supplier';
|
|
16
20
|
export * from './inventory/catalog/brand';
|
|
17
21
|
export * from './inventory/catalog/category';
|
|
18
22
|
export * from './inventory/catalog/product';
|
|
19
23
|
export * from './inventory/catalog/variant';
|
|
20
|
-
export * from './order/purchase
|
|
21
|
-
export * from './order/
|
|
22
|
-
export * from './order/
|
|
23
|
-
export * from './order/sale/customer';
|
|
24
|
-
export * from './order/sale/item';
|
|
25
|
-
export * from './order/sale/transaction';
|
|
24
|
+
export * from './order/purchase';
|
|
25
|
+
export * from './order/sale';
|
|
26
|
+
export * from './order/item';
|
|
26
27
|
export * from './settings/organization';
|
|
27
|
-
export * from './supplier/product';
|
|
28
|
-
export * from './supplier/source';
|
|
29
28
|
export type { SaveEntityArgs } from './repository.types';
|
package/dist/index.js
CHANGED
|
@@ -5,17 +5,15 @@ export * from './abstract.validator.js';
|
|
|
5
5
|
export * from './relation.status.enum.js';
|
|
6
6
|
export * from './account/user/index.js';
|
|
7
7
|
export * from './assets/asset/index.js';
|
|
8
|
+
export * from './contact/customer/index.js';
|
|
9
|
+
export * from './contact/vendor/index.js';
|
|
8
10
|
export * from './finance/payment/index.js';
|
|
11
|
+
export * from './integration/supplier/index.js';
|
|
9
12
|
export * from './inventory/catalog/brand/index.js';
|
|
10
13
|
export * from './inventory/catalog/category/index.js';
|
|
11
14
|
export * from './inventory/catalog/product/index.js';
|
|
12
15
|
export * from './inventory/catalog/variant/index.js';
|
|
13
|
-
export * from './order/purchase/
|
|
14
|
-
export * from './order/
|
|
15
|
-
export * from './order/
|
|
16
|
-
export * from './order/sale/customer/index.js';
|
|
17
|
-
export * from './order/sale/item/index.js';
|
|
18
|
-
export * from './order/sale/transaction/index.js';
|
|
16
|
+
export * from './order/purchase/index.js';
|
|
17
|
+
export * from './order/sale/index.js';
|
|
18
|
+
export * from './order/item/index.js';
|
|
19
19
|
export * from './settings/organization/index.js';
|
|
20
|
-
export * from './supplier/product/index.js';
|
|
21
|
-
export * from './supplier/source/index.js';
|
|
@@ -1,23 +1,29 @@
|
|
|
1
|
-
import type { SupplierProviderEnum } from '
|
|
2
|
-
|
|
1
|
+
import type { SupplierProviderEnum } from './provider.enum.js';
|
|
2
|
+
import type { AssetType } from '../../assets/asset';
|
|
3
|
+
export interface SupplierProductAsset {
|
|
4
|
+
type: AssetType;
|
|
5
|
+
url: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SupplierProductVariant {
|
|
3
8
|
externalVariantId: string;
|
|
4
9
|
name: string;
|
|
5
10
|
supplierPrice: number;
|
|
6
11
|
stock: number;
|
|
7
12
|
picture?: string;
|
|
8
13
|
}
|
|
9
|
-
export interface
|
|
14
|
+
export interface SupplierProduct {
|
|
10
15
|
provider: SupplierProviderEnum;
|
|
11
16
|
externalProductId: string;
|
|
12
17
|
name: string;
|
|
13
18
|
description: string;
|
|
14
|
-
|
|
19
|
+
assets: SupplierProductAsset[];
|
|
15
20
|
currency: string;
|
|
16
21
|
deliveryDays?: number;
|
|
17
22
|
store?: {
|
|
23
|
+
externalId: string;
|
|
18
24
|
name: string;
|
|
19
25
|
rating?: string;
|
|
20
26
|
};
|
|
21
|
-
variants:
|
|
27
|
+
variants: SupplierProductVariant[];
|
|
22
28
|
importedProduct?: string;
|
|
23
29
|
}
|
package/dist/{supplier/source/source.entity.d.ts → integration/supplier/supplier.entity.d.ts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AbstractEntity } from '../../abstract.entity.js';
|
|
2
2
|
import { SupplierProviderEnum } from './provider.enum.js';
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class IntegrationSupplierEntity extends AbstractEntity {
|
|
4
4
|
provider: SupplierProviderEnum;
|
|
5
5
|
}
|
|
@@ -3,13 +3,15 @@ import { AbstractEntity } from '../../../abstract.entity.js';
|
|
|
3
3
|
import type { CatalogBrandEntity } from '../brand';
|
|
4
4
|
import type { CatalogCategoryEntity } from '../category';
|
|
5
5
|
import type { CatalogVariantEntity } from '../variant';
|
|
6
|
-
import type {
|
|
6
|
+
import type { ContactVendorEntity } from '../../../contact/vendor';
|
|
7
|
+
import type { IntegrationSupplierEntity } from '../../../integration/supplier';
|
|
7
8
|
export declare class CatalogProductEntity extends AbstractEntity {
|
|
8
9
|
sku?: string;
|
|
9
10
|
name: string;
|
|
10
11
|
description?: string;
|
|
11
12
|
active: boolean;
|
|
12
|
-
|
|
13
|
+
supplier?: IntegrationSupplierEntity;
|
|
14
|
+
vendor?: ContactVendorEntity;
|
|
13
15
|
externalProductId?: string;
|
|
14
16
|
variant: CatalogVariantEntity;
|
|
15
17
|
readonly supplierPrice: number;
|
|
@@ -18,6 +20,6 @@ export declare class CatalogProductEntity extends AbstractEntity {
|
|
|
18
20
|
brand?: CatalogBrandEntity;
|
|
19
21
|
hashtags: string[];
|
|
20
22
|
readonly picture: AssetEntity;
|
|
21
|
-
readonly
|
|
23
|
+
readonly assets: AssetEntity[];
|
|
22
24
|
readonly variants: CatalogVariantEntity[];
|
|
23
25
|
}
|
|
@@ -6,7 +6,7 @@ export declare class CatalogVariantEntity extends AbstractEntity {
|
|
|
6
6
|
supplierPrice: number;
|
|
7
7
|
retailPrice: number;
|
|
8
8
|
active: boolean;
|
|
9
|
-
|
|
9
|
+
picture?: AssetEntity;
|
|
10
|
+
assets: AssetEntity[];
|
|
10
11
|
externalVariantId?: string;
|
|
11
|
-
readonly picture: AssetEntity;
|
|
12
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './item.entity';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CatalogProductEntity } from '
|
|
2
|
-
import { CatalogVariantEntity } from '
|
|
3
|
-
import { AbstractEntity } from '
|
|
1
|
+
import { CatalogProductEntity } from '../../inventory/catalog/product';
|
|
2
|
+
import { CatalogVariantEntity } from '../../inventory/catalog/variant';
|
|
3
|
+
import { AbstractEntity } from '../../abstract.entity.js';
|
|
4
4
|
interface ItemPricing {
|
|
5
5
|
product: number;
|
|
6
6
|
readonly total: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractRequestValidator } from '
|
|
2
|
-
import type { ItemEntity } from '
|
|
1
|
+
import { AbstractRequestValidator } from '../../abstract.validator.js';
|
|
2
|
+
import type { ItemEntity } from '../item';
|
|
3
3
|
export declare class PurchaseItemRequestValidator extends AbstractRequestValidator {
|
|
4
4
|
_id?: string;
|
|
5
5
|
product: string;
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
import * as class_validator_1 from "class-validator";
|
|
12
|
-
import * as abstract_validator_1 from '
|
|
12
|
+
import * as abstract_validator_1 from '../../abstract.validator.js';
|
|
13
13
|
export class PurchaseItemRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
14
14
|
_id;
|
|
15
15
|
product;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ContactVendorEntity } from '../../contact/vendor';
|
|
2
|
+
import { ItemEntity } from '../item';
|
|
3
|
+
import { TransactionEntity } from '../../transaction.entity.js';
|
|
4
|
+
import { OrderPurchaseStatusEnum } from './purchase.enum.js';
|
|
5
|
+
import type { OrderSaleEntity } from '../sale';
|
|
6
|
+
export declare class OrderPurchaseEntity extends TransactionEntity<OrderPurchaseStatusEnum> {
|
|
7
|
+
vendor?: ContactVendorEntity;
|
|
8
|
+
customerOrder?: OrderSaleEntity;
|
|
9
|
+
items: ItemEntity[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare enum OrderPurchaseStatusEnum {
|
|
2
|
+
OPEN = "OPEN",
|
|
3
|
+
ORDERED = "ORDERED",
|
|
4
|
+
RECEIVED = "RECEIVED",
|
|
5
|
+
CANCELLED = "CANCELLED"
|
|
6
|
+
}
|
|
7
|
+
export declare const PURCHASE_OPEN_STATUSES: readonly OrderPurchaseStatusEnum[];
|
|
8
|
+
export declare const PURCHASE_INCOMING_STATUSES: readonly OrderPurchaseStatusEnum[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export var OrderPurchaseStatusEnum;
|
|
2
|
+
(function (OrderPurchaseStatusEnum) {
|
|
3
|
+
OrderPurchaseStatusEnum["OPEN"] = "OPEN";
|
|
4
|
+
OrderPurchaseStatusEnum["ORDERED"] = "ORDERED";
|
|
5
|
+
OrderPurchaseStatusEnum["RECEIVED"] = "RECEIVED";
|
|
6
|
+
OrderPurchaseStatusEnum["CANCELLED"] = "CANCELLED";
|
|
7
|
+
})(OrderPurchaseStatusEnum || (OrderPurchaseStatusEnum = {}));
|
|
8
|
+
export const PURCHASE_OPEN_STATUSES = [
|
|
9
|
+
OrderPurchaseStatusEnum.OPEN,
|
|
10
|
+
OrderPurchaseStatusEnum.ORDERED,
|
|
11
|
+
];
|
|
12
|
+
export const PURCHASE_INCOMING_STATUSES = [
|
|
13
|
+
OrderPurchaseStatusEnum.ORDERED,
|
|
14
|
+
];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractTransition } from '../../abstract.transition.js';
|
|
2
|
+
import { OrderPurchaseStatusEnum as Status } from './purchase.enum.js';
|
|
3
|
+
|
|
4
|
+
export declare class OrderPurchaseTransition extends AbstractTransition<Status, unknown> {
|
|
5
|
+
protected readonly $states: Readonly<Record<Status, readonly Status[]>>;
|
|
6
|
+
constructor(status?: Status);
|
|
7
|
+
readonly initialStates: readonly Status[];
|
|
8
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AbstractTransition } from '../../abstract.transition.js';
|
|
2
|
+
import * as purchase_enum_1 from './purchase.enum.js';
|
|
3
|
+
|
|
4
|
+
export class OrderPurchaseTransition extends AbstractTransition {
|
|
5
|
+
$states = {
|
|
6
|
+
[purchase_enum_1.OrderPurchaseStatusEnum.OPEN]: [],
|
|
7
|
+
[purchase_enum_1.OrderPurchaseStatusEnum.ORDERED]: [],
|
|
8
|
+
[purchase_enum_1.OrderPurchaseStatusEnum.RECEIVED]: [],
|
|
9
|
+
[purchase_enum_1.OrderPurchaseStatusEnum.CANCELLED]: [],
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
constructor(status = purchase_enum_1.OrderPurchaseStatusEnum.OPEN) {
|
|
13
|
+
super(status);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
get initialStates() {
|
|
17
|
+
return [purchase_enum_1.OrderPurchaseStatusEnum.OPEN];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { FinancePaymentStatusEnum, FinancePaymentMethodEnum } from '../../finance/payment';
|
|
2
|
+
import { OrderPurchaseStatusEnum } from './purchase.enum.js';
|
|
3
|
+
import { AbstractRequestValidator } from '../../abstract.validator.js';
|
|
4
|
+
import { PurchaseItemRequestValidator } from './item.request.validator.js';
|
|
5
|
+
import type { OrderPurchaseEntity } from './purchase.entity.js';
|
|
6
|
+
export declare class CreatePurchaseRequestValidator extends AbstractRequestValidator {
|
|
7
|
+
items: PurchaseItemRequestValidator[];
|
|
8
|
+
method: FinancePaymentMethodEnum;
|
|
9
|
+
notes?: string;
|
|
10
|
+
vendor?: string;
|
|
11
|
+
customerOrder?: string;
|
|
12
|
+
payment: FinancePaymentStatusEnum;
|
|
13
|
+
status?: OrderPurchaseStatusEnum;
|
|
14
|
+
constructor(order?: OrderPurchaseEntity);
|
|
15
|
+
get total(): {
|
|
16
|
+
units: number;
|
|
17
|
+
price: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare class UpdatePurchaseRequestValidator extends CreatePurchaseRequestValidator {
|
|
21
|
+
items: PurchaseItemRequestValidator[];
|
|
22
|
+
method: FinancePaymentMethodEnum;
|
|
23
|
+
}
|
|
@@ -10,17 +10,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
import * as class_transformer_1 from "class-transformer";
|
|
12
12
|
import * as class_validator_1 from "class-validator";
|
|
13
|
-
import * as payment_enum_1 from '
|
|
14
|
-
import * as
|
|
15
|
-
import * as abstract_validator_1 from '
|
|
16
|
-
import * as
|
|
17
|
-
export class
|
|
13
|
+
import * as payment_enum_1 from '../../finance/payment/index.js';
|
|
14
|
+
import * as purchase_enum_1 from './purchase.enum.js';
|
|
15
|
+
import * as abstract_validator_1 from '../../abstract.validator.js';
|
|
16
|
+
import * as item_request_validator_1 from './item.request.validator.js';
|
|
17
|
+
export class CreatePurchaseRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
18
18
|
items = [];
|
|
19
19
|
method;
|
|
20
20
|
notes;
|
|
21
21
|
vendor;
|
|
22
|
+
customerOrder;
|
|
22
23
|
payment = payment_enum_1.FinancePaymentStatusEnum.PENDING;
|
|
23
|
-
status =
|
|
24
|
+
status = purchase_enum_1.OrderPurchaseStatusEnum.OPEN;
|
|
24
25
|
constructor(order) {
|
|
25
26
|
super();
|
|
26
27
|
if (!order) {
|
|
@@ -29,13 +30,14 @@ export class CreatePurchaseTransactionRequestValidator extends abstract_validato
|
|
|
29
30
|
this.notes = order.notes;
|
|
30
31
|
this.method = order.payment?.method;
|
|
31
32
|
this.vendor = (order.vendor?._id || order.vendor);
|
|
33
|
+
this.customerOrder = (order.customerOrder?._id || order.customerOrder);
|
|
32
34
|
if (order.status !== undefined) {
|
|
33
35
|
this.status = order.status;
|
|
34
36
|
}
|
|
35
37
|
if (order.payment?.status !== undefined) {
|
|
36
38
|
this.payment = order.payment.status;
|
|
37
39
|
}
|
|
38
|
-
this.items = order.items?.map((it) => new
|
|
40
|
+
this.items = order.items?.map((it) => new item_request_validator_1.PurchaseItemRequestValidator(it)) ?? this.items;
|
|
39
41
|
}
|
|
40
42
|
get total() {
|
|
41
43
|
return this.items.reduce((acc, item) => {
|
|
@@ -47,44 +49,49 @@ export class CreatePurchaseTransactionRequestValidator extends abstract_validato
|
|
|
47
49
|
}
|
|
48
50
|
__decorate([
|
|
49
51
|
(0, class_validator_1.IsArray)(),
|
|
50
|
-
(0, class_transformer_1.Type)(() =>
|
|
52
|
+
(0, class_transformer_1.Type)(() => item_request_validator_1.PurchaseItemRequestValidator),
|
|
51
53
|
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
52
54
|
__metadata("design:type", Array)
|
|
53
|
-
],
|
|
55
|
+
], CreatePurchaseRequestValidator.prototype, "items", void 0);
|
|
54
56
|
__decorate([
|
|
55
57
|
(0, class_validator_1.IsEnum)(payment_enum_1.FinancePaymentMethodEnum),
|
|
56
58
|
__metadata("design:type", String)
|
|
57
|
-
],
|
|
59
|
+
], CreatePurchaseRequestValidator.prototype, "method", void 0);
|
|
58
60
|
__decorate([
|
|
59
61
|
(0, class_validator_1.IsString)(),
|
|
60
62
|
(0, class_validator_1.Length)(0, 500),
|
|
61
63
|
(0, class_validator_1.IsOptional)(),
|
|
62
64
|
__metadata("design:type", String)
|
|
63
|
-
],
|
|
65
|
+
], CreatePurchaseRequestValidator.prototype, "notes", void 0);
|
|
64
66
|
__decorate([
|
|
65
67
|
(0, class_validator_1.IsMongoId)(),
|
|
66
68
|
(0, class_validator_1.IsOptional)(),
|
|
67
69
|
__metadata("design:type", String)
|
|
68
|
-
],
|
|
70
|
+
], CreatePurchaseRequestValidator.prototype, "vendor", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, class_validator_1.IsMongoId)(),
|
|
73
|
+
(0, class_validator_1.IsOptional)(),
|
|
74
|
+
__metadata("design:type", String)
|
|
75
|
+
], CreatePurchaseRequestValidator.prototype, "customerOrder", void 0);
|
|
69
76
|
__decorate([
|
|
70
77
|
(0, class_validator_1.IsEnum)(payment_enum_1.FinancePaymentStatusEnum),
|
|
71
78
|
(0, class_validator_1.IsDefined)(),
|
|
72
79
|
(0, class_validator_1.IsOptional)(),
|
|
73
80
|
__metadata("design:type", String)
|
|
74
|
-
],
|
|
81
|
+
], CreatePurchaseRequestValidator.prototype, "payment", void 0);
|
|
75
82
|
__decorate([
|
|
76
|
-
(0, class_validator_1.IsEnum)(
|
|
83
|
+
(0, class_validator_1.IsEnum)(purchase_enum_1.OrderPurchaseStatusEnum),
|
|
77
84
|
(0, class_validator_1.IsDefined)(),
|
|
78
85
|
(0, class_validator_1.IsOptional)(),
|
|
79
86
|
__metadata("design:type", Object)
|
|
80
|
-
],
|
|
81
|
-
export class
|
|
87
|
+
], CreatePurchaseRequestValidator.prototype, "status", void 0);
|
|
88
|
+
export class UpdatePurchaseRequestValidator extends CreatePurchaseRequestValidator {
|
|
82
89
|
}
|
|
83
90
|
__decorate([
|
|
84
91
|
(0, class_validator_1.IsOptional)(),
|
|
85
92
|
__metadata("design:type", Array)
|
|
86
|
-
],
|
|
93
|
+
], UpdatePurchaseRequestValidator.prototype, "items", void 0);
|
|
87
94
|
__decorate([
|
|
88
95
|
(0, class_validator_1.IsOptional)(),
|
|
89
96
|
__metadata("design:type", String)
|
|
90
|
-
],
|
|
97
|
+
], UpdatePurchaseRequestValidator.prototype, "method", void 0);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractRequestValidator } from '
|
|
2
|
-
import type { ItemEntity } from '
|
|
1
|
+
import { AbstractRequestValidator } from '../../abstract.validator.js';
|
|
2
|
+
import type { ItemEntity } from '../item';
|
|
3
3
|
export declare class SaleItemRequestValidator extends AbstractRequestValidator {
|
|
4
4
|
_id?: string;
|
|
5
5
|
product: string;
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
import * as class_validator_1 from "class-validator";
|
|
12
|
-
import * as abstract_validator_1 from '
|
|
12
|
+
import * as abstract_validator_1 from '../../abstract.validator.js';
|
|
13
13
|
export class SaleItemRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
14
14
|
_id;
|
|
15
15
|
product;
|