@merkaly/api 0.4.9 → 0.5.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.
- package/dist/abstract.repository.d.ts +10 -4
- package/dist/finance/invoice/invoice.entity.d.ts +1 -1
- package/dist/finance/payment/payment.entity.d.ts +1 -1
- package/dist/finance/refund/refund.entity.d.ts +1 -1
- package/dist/inventory/catalog/product/product.entity.d.ts +1 -0
- package/dist/inventory/stock/transfer/transfer.entity.d.ts +6 -2
- package/dist/inventory/stock/transfer/transfer.status.enum.d.ts +1 -0
- package/dist/inventory/stock/transfer/transfer.status.enum.js +1 -0
- package/dist/inventory/stock/transfer/transfer.validator.d.ts +1 -0
- package/dist/inventory/stock/transfer/transfer.validator.js +7 -1
- package/dist/order/purchase/item/item.entity.d.ts +3 -1
- package/dist/order/purchase/transaction/transaction.entity.d.ts +3 -1
- package/dist/order/purchase/transaction/transaction.enum.d.ts +2 -3
- package/dist/order/purchase/transaction/transaction.enum.js +2 -3
- package/dist/order/purchase/transaction/transaction.validator.d.ts +1 -3
- package/dist/order/purchase/transaction/transaction.validator.js +3 -13
- package/dist/order/sale/item/item.entity.d.ts +3 -1
- package/dist/order/sale/transaction/transaction.entity.d.ts +3 -3
- package/dist/order/sale/transaction/transaction.enum.d.ts +2 -3
- package/dist/order/sale/transaction/transaction.enum.js +2 -3
- package/dist/order/sale/transaction/transaction.validator.d.ts +1 -6
- package/dist/order/sale/transaction/transaction.validator.js +4 -24
- package/dist/settings/organization/organization.enum.d.ts +5 -4
- package/dist/settings/organization/organization.enum.js +5 -4
- package/package.json +1 -5
- package/dist/order/sale/shipping/index.d.ts +0 -3
- package/dist/order/sale/shipping/index.js +0 -2
- package/dist/order/sale/shipping/shipping.entity.d.ts +0 -18
- package/dist/order/sale/shipping/shipping.enum.d.ts +0 -16
- package/dist/order/sale/shipping/shipping.enum.js +0 -18
- package/dist/order/sale/shipping/shipping.validator.d.ts +0 -14
- package/dist/order/sale/shipping/shipping.validator.js +0 -56
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
1
2
|
import { LoggerService } from './';
|
|
2
3
|
import { MongoService } from './mongo.service.js';
|
|
3
4
|
import { AbstractEntity } from './abstract.entity.js';
|
|
4
5
|
import { AbstractSchema } from './abstract.schema.js';
|
|
5
6
|
import { AbstractValidator, ReadValidator, SearchValidator } from './abstract.validator.js';
|
|
6
|
-
import type { Document, FilterQuery,
|
|
7
|
+
import type { ClientSession, Document, FilterQuery, Model, RootFilterQuery, UpdateQuery } from 'mongoose';
|
|
7
8
|
type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false;
|
|
8
9
|
type SystemKeys = '_id' | 'createdAt' | 'updatedAt' | 'deletedAt' | keyof Document;
|
|
9
10
|
export type CreateEntityArgs<T> = {
|
|
@@ -13,6 +14,10 @@ export type CreateEntityArgs<T> = {
|
|
|
13
14
|
-readonly [Q in K]: T[K];
|
|
14
15
|
}> extends true ? K : never]: T[K] extends AbstractEntity ? CreateEntityArgs<T[K]> : T[K];
|
|
15
16
|
};
|
|
17
|
+
export interface ReadOptions<E extends AbstractEntity = AbstractEntity> {
|
|
18
|
+
validator?: ReadValidator<E>;
|
|
19
|
+
session?: ClientSession;
|
|
20
|
+
}
|
|
16
21
|
export interface SaveOptions<E extends AbstractEntity> {
|
|
17
22
|
param?: string | RootFilterQuery<E>;
|
|
18
23
|
payload: UpdateQuery<E>;
|
|
@@ -22,6 +27,7 @@ export declare abstract class AbstractRepository<E extends AbstractEntity = Abst
|
|
|
22
27
|
protected abstract readonly $schema: AbstractSchema<E>;
|
|
23
28
|
protected readonly $logger: LoggerService;
|
|
24
29
|
protected readonly $mongo: MongoService<E>;
|
|
30
|
+
protected readonly $event: EventEmitter2;
|
|
25
31
|
protected readonly $joins: Record<string, AbstractSchema<any> | null>;
|
|
26
32
|
get $builder(): Model<E>;
|
|
27
33
|
get $user(): any;
|
|
@@ -40,15 +46,15 @@ export declare abstract class AbstractRepository<E extends AbstractEntity = Abst
|
|
|
40
46
|
pages: number;
|
|
41
47
|
total: number;
|
|
42
48
|
}>;
|
|
43
|
-
read(param: string | RootFilterQuery<E>,
|
|
49
|
+
read(param: string | RootFilterQuery<E>, options?: ReadOptions<E>): Promise<E>;
|
|
44
50
|
private hasUpdateOperators;
|
|
45
51
|
protected save({ param, payload, validator }: SaveOptions<E>): Promise<import("mongoose").IfAny<E, any, Document<unknown, {}, E, {}, {}> & (import("mongoose").Require_id<E> extends infer T ? T extends import("mongoose").Require_id<E> ? T extends {
|
|
46
52
|
__v?: infer U;
|
|
47
53
|
} ? T : T & {
|
|
48
54
|
__v: number;
|
|
49
55
|
} : never : never)>>;
|
|
50
|
-
abstract create(payload: AbstractValidator, validator?: ReadValidator, doc?: Document<string, object, E>): Promise<
|
|
51
|
-
abstract update(param: string | RootFilterQuery<E>, payload: AbstractValidator, validator?: ReadValidator): Promise<
|
|
56
|
+
abstract create(payload: AbstractValidator, validator?: ReadValidator, doc?: Document<string, object, E>): Promise<E>;
|
|
57
|
+
abstract update(param: string | RootFilterQuery<E>, payload: AbstractValidator, validator?: ReadValidator): Promise<E>;
|
|
52
58
|
delete(param: string | RootFilterQuery<E>): Promise<void>;
|
|
53
59
|
}
|
|
54
60
|
export {};
|
|
@@ -8,8 +8,8 @@ export declare class FinanceInvoiceEntity extends AbstractEntity {
|
|
|
8
8
|
tax: number;
|
|
9
9
|
status: FinanceInvoiceStatusEnum;
|
|
10
10
|
type: FinanceInvoiceTypeEnum;
|
|
11
|
-
sequence: number;
|
|
12
11
|
dueDate?: Date;
|
|
13
12
|
notes?: string;
|
|
13
|
+
sequence: number;
|
|
14
14
|
readonly number: string;
|
|
15
15
|
}
|
|
@@ -12,8 +12,8 @@ export declare class FinancePaymentEntity extends AbstractEntity {
|
|
|
12
12
|
total: number;
|
|
13
13
|
fee: number;
|
|
14
14
|
method: FinancePaymentMethodEnum;
|
|
15
|
-
sequence: number;
|
|
16
15
|
refunds: MongoEntity<FinanceRefundEntity>[];
|
|
16
|
+
sequence: number;
|
|
17
17
|
readonly number: string;
|
|
18
18
|
readonly refundedTotal: number;
|
|
19
19
|
}
|
|
@@ -2,9 +2,12 @@ import { AccountUserEntity } from '../../../account/user';
|
|
|
2
2
|
import { CatalogProductEntity } from '../../catalog/product';
|
|
3
3
|
import { StockWarehouseEntity } from '../warehouse';
|
|
4
4
|
import { TransferStatusEnum } from './';
|
|
5
|
-
import { AbstractEntity
|
|
5
|
+
import { AbstractEntity } from '../../..';
|
|
6
|
+
import { CatalogVariantEntity } from '../../catalog/variant';
|
|
7
|
+
import type { MongoEntity } from '../../..';
|
|
6
8
|
export declare class StockTransferItemEntity {
|
|
7
9
|
product: MongoEntity<CatalogProductEntity>;
|
|
10
|
+
variant: MongoEntity<CatalogVariantEntity>;
|
|
8
11
|
quantity: number;
|
|
9
12
|
notes?: string;
|
|
10
13
|
}
|
|
@@ -12,9 +15,10 @@ export declare class StockTransferEntity extends AbstractEntity {
|
|
|
12
15
|
origin: MongoEntity<StockWarehouseEntity>;
|
|
13
16
|
destination: MongoEntity<StockWarehouseEntity>;
|
|
14
17
|
items: StockTransferItemEntity[];
|
|
15
|
-
sequence: number;
|
|
16
18
|
status: TransferStatusEnum;
|
|
17
19
|
notes?: string;
|
|
18
20
|
user: MongoEntity<AccountUserEntity>;
|
|
21
|
+
readonly type: 'in' | 'out';
|
|
19
22
|
readonly number: string;
|
|
23
|
+
sequence: number;
|
|
20
24
|
}
|
|
@@ -2,6 +2,7 @@ export var TransferStatusEnum;
|
|
|
2
2
|
(function (TransferStatusEnum) {
|
|
3
3
|
TransferStatusEnum["PENDING"] = "PENDING";
|
|
4
4
|
TransferStatusEnum["IN_TRANSIT"] = "IN_TRANSIT";
|
|
5
|
+
TransferStatusEnum["PAUSED"] = "PAUSED";
|
|
5
6
|
TransferStatusEnum["COMPLETED"] = "COMPLETED";
|
|
6
7
|
TransferStatusEnum["CANCELLED"] = "CANCELLED";
|
|
7
8
|
})(TransferStatusEnum || (TransferStatusEnum = {}));
|
|
@@ -14,6 +14,7 @@ import * as abstract_validator_1 from '../../..';
|
|
|
14
14
|
import * as not_equal_to_decorator_1 from '../../..';
|
|
15
15
|
export class StockTransferItemValidator {
|
|
16
16
|
product;
|
|
17
|
+
variant;
|
|
17
18
|
quantity;
|
|
18
19
|
notes;
|
|
19
20
|
}
|
|
@@ -21,6 +22,10 @@ __decorate([
|
|
|
21
22
|
(0, class_validator_1.IsMongoId)(),
|
|
22
23
|
__metadata("design:type", String)
|
|
23
24
|
], StockTransferItemValidator.prototype, "product", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_validator_1.IsMongoId)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], StockTransferItemValidator.prototype, "variant", void 0);
|
|
24
29
|
__decorate([
|
|
25
30
|
(0, class_validator_1.IsNumber)(),
|
|
26
31
|
(0, class_validator_1.Min)(1),
|
|
@@ -45,6 +50,7 @@ export class SaveStockTransferValidator extends abstract_validator_1.AbstractVal
|
|
|
45
50
|
this.destination = (0, abstract_validator_1.toId)(entity.destination);
|
|
46
51
|
this.items = (entity.items || []).map((item) => ({
|
|
47
52
|
product: (0, abstract_validator_1.toId)(item.product),
|
|
53
|
+
variant: (0, abstract_validator_1.toId)(item.variant),
|
|
48
54
|
quantity: item.quantity || 1,
|
|
49
55
|
notes: item.notes,
|
|
50
56
|
}));
|
|
@@ -53,7 +59,7 @@ export class SaveStockTransferValidator extends abstract_validator_1.AbstractVal
|
|
|
53
59
|
}
|
|
54
60
|
origin;
|
|
55
61
|
destination;
|
|
56
|
-
items
|
|
62
|
+
items;
|
|
57
63
|
notes;
|
|
58
64
|
status;
|
|
59
65
|
}
|
|
@@ -5,9 +5,11 @@ import type { MongoEntity } from '../../..';
|
|
|
5
5
|
export declare class PurchaseItemEntity extends AbstractEntity {
|
|
6
6
|
product: MongoEntity<CatalogProductEntity>;
|
|
7
7
|
variant: MongoEntity<CatalogVariantEntity>;
|
|
8
|
-
|
|
8
|
+
priceProduct: number;
|
|
9
|
+
priceVariant: number;
|
|
9
10
|
quantity: number;
|
|
10
11
|
notes?: string;
|
|
12
|
+
readonly price: number;
|
|
11
13
|
readonly total: number;
|
|
12
14
|
readonly unitCost: number;
|
|
13
15
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AccountUserEntity } from '../../../account/user';
|
|
2
2
|
import { FinancePaymentEntity } from '../../../finance/payment';
|
|
3
|
+
import { StockTransferEntity } from '../../../inventory/stock/transfer';
|
|
3
4
|
import { AbstractEntity } from '../../..';
|
|
4
5
|
import { PurchaseTransactionStatusEnum } from './transaction.enum.js';
|
|
5
6
|
import { PurchaseItemEntity } from '../item';
|
|
@@ -8,10 +9,11 @@ import type { MongoEntity } from '../../..';
|
|
|
8
9
|
export declare class PurchaseTransactionEntity extends AbstractEntity {
|
|
9
10
|
user: MongoEntity<AccountUserEntity>;
|
|
10
11
|
vendor: MongoEntity<PurchaseVendorEntity>;
|
|
12
|
+
transfer: MongoEntity<StockTransferEntity>;
|
|
11
13
|
items: PurchaseItemEntity[];
|
|
12
|
-
sequence: number;
|
|
13
14
|
notes?: string;
|
|
14
15
|
status: PurchaseTransactionStatusEnum;
|
|
16
|
+
sequence: number;
|
|
15
17
|
readonly number: string;
|
|
16
18
|
readonly total: number;
|
|
17
19
|
readonly payment: FinancePaymentEntity;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
export var PurchaseTransactionStatusEnum;
|
|
2
2
|
(function (PurchaseTransactionStatusEnum) {
|
|
3
3
|
PurchaseTransactionStatusEnum["DRAFT"] = "DRAFT";
|
|
4
|
-
PurchaseTransactionStatusEnum["
|
|
5
|
-
PurchaseTransactionStatusEnum["
|
|
6
|
-
PurchaseTransactionStatusEnum["SHIPPED"] = "SHIPPED";
|
|
4
|
+
PurchaseTransactionStatusEnum["REQUESTED"] = "REQUESTED";
|
|
5
|
+
PurchaseTransactionStatusEnum["PAUSED"] = "PAUSED";
|
|
7
6
|
PurchaseTransactionStatusEnum["RECEIVED"] = "RECEIVED";
|
|
8
7
|
PurchaseTransactionStatusEnum["CANCELLED"] = "CANCELLED";
|
|
9
8
|
})(PurchaseTransactionStatusEnum || (PurchaseTransactionStatusEnum = {}));
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { PurchaseTransactionEntity } from './';
|
|
2
|
-
import { PurchaseTransactionStatusEnum } from './';
|
|
3
2
|
import { AbstractValidator, ReadValidator, SearchValidator } from '../../..';
|
|
4
3
|
import { PurchaseItemValidator } from '../item';
|
|
5
4
|
export declare class SearchPurchaseTransactionValidator extends SearchValidator<PurchaseTransactionEntity> {
|
|
@@ -10,8 +9,7 @@ export declare class SavePurchaseTransactionValidator extends AbstractValidator
|
|
|
10
9
|
constructor(entity?: PurchaseTransactionEntity);
|
|
11
10
|
items: PurchaseItemValidator[];
|
|
12
11
|
notes: string;
|
|
13
|
-
user: string;
|
|
14
12
|
vendor?: string;
|
|
15
|
-
|
|
13
|
+
warehouse: string;
|
|
16
14
|
get total(): number;
|
|
17
15
|
}
|
|
@@ -9,7 +9,6 @@ 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 transaction_enum_1 from './transaction.enum.js';
|
|
13
12
|
import * as abstract_validator_1 from '../../..';
|
|
14
13
|
import * as item_validator_1 from '../item';
|
|
15
14
|
export class SearchPurchaseTransactionValidator extends abstract_validator_1.SearchValidator {
|
|
@@ -31,14 +30,11 @@ export class SavePurchaseTransactionValidator extends abstract_validator_1.Abstr
|
|
|
31
30
|
}));
|
|
32
31
|
this.notes = entity.notes;
|
|
33
32
|
this.vendor = (0, abstract_validator_1.toId)(entity.vendor);
|
|
34
|
-
this.user = (0, abstract_validator_1.toId)(entity.user);
|
|
35
|
-
this.status = entity.status;
|
|
36
33
|
}
|
|
37
34
|
items = [];
|
|
38
35
|
notes;
|
|
39
|
-
user;
|
|
40
36
|
vendor;
|
|
41
|
-
|
|
37
|
+
warehouse;
|
|
42
38
|
get total() {
|
|
43
39
|
return this.items.reduce((sum, item) => sum + item.total, 0);
|
|
44
40
|
}
|
|
@@ -57,18 +53,12 @@ __decorate([
|
|
|
57
53
|
(0, class_validator_1.IsOptional)(),
|
|
58
54
|
__metadata("design:type", String)
|
|
59
55
|
], SavePurchaseTransactionValidator.prototype, "notes", void 0);
|
|
60
|
-
__decorate([
|
|
61
|
-
(0, class_validator_1.IsString)(),
|
|
62
|
-
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
63
|
-
__metadata("design:type", String)
|
|
64
|
-
], SavePurchaseTransactionValidator.prototype, "user", void 0);
|
|
65
56
|
__decorate([
|
|
66
57
|
(0, class_validator_1.IsMongoId)(),
|
|
67
58
|
(0, class_validator_1.IsOptional)(),
|
|
68
59
|
__metadata("design:type", String)
|
|
69
60
|
], SavePurchaseTransactionValidator.prototype, "vendor", void 0);
|
|
70
61
|
__decorate([
|
|
71
|
-
(0, class_validator_1.
|
|
72
|
-
(0, class_validator_1.IsOptional)(),
|
|
62
|
+
(0, class_validator_1.IsMongoId)(),
|
|
73
63
|
__metadata("design:type", String)
|
|
74
|
-
], SavePurchaseTransactionValidator.prototype, "
|
|
64
|
+
], SavePurchaseTransactionValidator.prototype, "warehouse", void 0);
|
|
@@ -6,12 +6,14 @@ import type { MongoEntity } from '../../..';
|
|
|
6
6
|
export declare class SaleItemEntity extends AbstractEntity {
|
|
7
7
|
product: MongoEntity<CatalogProductEntity>;
|
|
8
8
|
variant: MongoEntity<CatalogVariantEntity>;
|
|
9
|
-
|
|
9
|
+
priceProduct: number;
|
|
10
|
+
priceVariant: number;
|
|
10
11
|
quantity: number;
|
|
11
12
|
notes?: string;
|
|
12
13
|
options: {
|
|
13
14
|
type: MongoEntity<CatalogAttributeEntity>;
|
|
14
15
|
value: string;
|
|
15
16
|
}[];
|
|
17
|
+
readonly price: number;
|
|
16
18
|
readonly total: number;
|
|
17
19
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AccountUserEntity } from '../../../account/user';
|
|
2
2
|
import { FinancePaymentEntity } from '../../../finance/payment';
|
|
3
|
-
import {
|
|
3
|
+
import { StockTransferEntity } from '../../../inventory/stock/transfer';
|
|
4
4
|
import { AbstractEntity } from '../../..';
|
|
5
5
|
import { SaleTransactionStatusEnum } from './transaction.enum.js';
|
|
6
6
|
import { SaleCustomerEntity } from '../customer';
|
|
@@ -9,13 +9,13 @@ import type { MongoEntity } from '../../..';
|
|
|
9
9
|
export declare class SaleTransactionEntity extends AbstractEntity {
|
|
10
10
|
user: MongoEntity<AccountUserEntity>;
|
|
11
11
|
customer: MongoEntity<SaleCustomerEntity>;
|
|
12
|
+
transfer: MongoEntity<StockTransferEntity>;
|
|
12
13
|
items: SaleItemEntity[];
|
|
13
|
-
sequence: number;
|
|
14
14
|
notes?: string;
|
|
15
15
|
status: SaleTransactionStatusEnum;
|
|
16
|
+
sequence: number;
|
|
16
17
|
readonly number: string;
|
|
17
18
|
readonly subtotal: number;
|
|
18
19
|
readonly total: number;
|
|
19
|
-
readonly shipping?: MongoEntity<SaleShippingEntity>;
|
|
20
20
|
readonly payment?: MongoEntity<FinancePaymentEntity>;
|
|
21
21
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
export var SaleTransactionStatusEnum;
|
|
2
2
|
(function (SaleTransactionStatusEnum) {
|
|
3
3
|
SaleTransactionStatusEnum["PENDING"] = "PENDING";
|
|
4
|
-
SaleTransactionStatusEnum["
|
|
5
|
-
SaleTransactionStatusEnum["
|
|
6
|
-
SaleTransactionStatusEnum["ON_HOLD"] = "ON_HOLD";
|
|
4
|
+
SaleTransactionStatusEnum["PROCESSING"] = "PROCESSING";
|
|
5
|
+
SaleTransactionStatusEnum["PAUSED"] = "PAUSED";
|
|
7
6
|
SaleTransactionStatusEnum["COMPLETED"] = "COMPLETED";
|
|
8
7
|
SaleTransactionStatusEnum["CANCELLED"] = "CANCELLED";
|
|
9
8
|
})(SaleTransactionStatusEnum || (SaleTransactionStatusEnum = {}));
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { SaleTransactionEntity } from './';
|
|
2
|
-
import { SaleTransactionStatusEnum } from './';
|
|
3
|
-
import { SaveShippingValidator } from '../shipping';
|
|
4
2
|
import { AbstractValidator, ReadValidator, SearchValidator } from '../../..';
|
|
5
3
|
import { SaleItemValidator } from '../item';
|
|
6
|
-
import { SalePaymentValidator } from '../payment';
|
|
7
4
|
export declare class SearchSaleTransactionValidator extends SearchValidator<SaleTransactionEntity> {
|
|
8
5
|
}
|
|
9
6
|
export declare class ReadSaleTransactionValidator extends ReadValidator<SaleTransactionEntity> {
|
|
@@ -12,10 +9,8 @@ export declare class SaveSaleTransactionValidator extends AbstractValidator {
|
|
|
12
9
|
constructor(entity?: SaleTransactionEntity);
|
|
13
10
|
items: SaleItemValidator[];
|
|
14
11
|
notes: string;
|
|
15
|
-
shipping?: SaveShippingValidator;
|
|
16
|
-
payment: SalePaymentValidator;
|
|
17
12
|
user: string;
|
|
18
13
|
customer?: string;
|
|
19
|
-
|
|
14
|
+
warehouse: string;
|
|
20
15
|
get total(): number;
|
|
21
16
|
}
|
|
@@ -9,11 +9,8 @@ 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 transaction_enum_1 from './transaction.enum.js';
|
|
13
|
-
import * as shipping_validator_1 from '../shipping';
|
|
14
12
|
import * as abstract_validator_1 from '../../..';
|
|
15
13
|
import * as item_validator_1 from '../item';
|
|
16
|
-
import * as payment_validator_1 from '../payment';
|
|
17
14
|
export class SearchSaleTransactionValidator extends abstract_validator_1.SearchValidator {
|
|
18
15
|
}
|
|
19
16
|
export class ReadSaleTransactionValidator extends abstract_validator_1.ReadValidator {
|
|
@@ -33,15 +30,12 @@ export class SaveSaleTransactionValidator extends abstract_validator_1.AbstractV
|
|
|
33
30
|
this.notes = entity.notes;
|
|
34
31
|
this.customer = (0, abstract_validator_1.toId)(entity.customer);
|
|
35
32
|
this.user = (0, abstract_validator_1.toId)(entity.user);
|
|
36
|
-
this.status = entity.status;
|
|
37
33
|
}
|
|
38
34
|
items = [];
|
|
39
35
|
notes;
|
|
40
|
-
shipping;
|
|
41
|
-
payment;
|
|
42
36
|
user;
|
|
43
37
|
customer;
|
|
44
|
-
|
|
38
|
+
warehouse;
|
|
45
39
|
get total() {
|
|
46
40
|
return this.items.reduce((sum, item) => sum + item.total, 0);
|
|
47
41
|
}
|
|
@@ -60,20 +54,6 @@ __decorate([
|
|
|
60
54
|
(0, class_validator_1.IsOptional)(),
|
|
61
55
|
__metadata("design:type", String)
|
|
62
56
|
], SaveSaleTransactionValidator.prototype, "notes", void 0);
|
|
63
|
-
__decorate([
|
|
64
|
-
(0, class_transformer_1.Type)(() => shipping_validator_1.SaveShippingValidator),
|
|
65
|
-
(0, class_validator_1.ValidateNested)(),
|
|
66
|
-
(0, class_validator_1.IsObject)(),
|
|
67
|
-
(0, class_validator_1.IsOptional)(),
|
|
68
|
-
__metadata("design:type", shipping_validator_1.SaveShippingValidator)
|
|
69
|
-
], SaveSaleTransactionValidator.prototype, "shipping", void 0);
|
|
70
|
-
__decorate([
|
|
71
|
-
(0, class_transformer_1.Type)(() => payment_validator_1.SalePaymentValidator),
|
|
72
|
-
(0, class_validator_1.ValidateNested)(),
|
|
73
|
-
(0, class_validator_1.IsObject)(),
|
|
74
|
-
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
75
|
-
__metadata("design:type", payment_validator_1.SalePaymentValidator)
|
|
76
|
-
], SaveSaleTransactionValidator.prototype, "payment", void 0);
|
|
77
57
|
__decorate([
|
|
78
58
|
(0, class_validator_1.IsMongoId)(),
|
|
79
59
|
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
@@ -85,7 +65,7 @@ __decorate([
|
|
|
85
65
|
__metadata("design:type", String)
|
|
86
66
|
], SaveSaleTransactionValidator.prototype, "customer", void 0);
|
|
87
67
|
__decorate([
|
|
88
|
-
(0, class_validator_1.
|
|
89
|
-
(0, class_validator_1.IsOptional)(),
|
|
68
|
+
(0, class_validator_1.IsMongoId)(),
|
|
69
|
+
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
90
70
|
__metadata("design:type", String)
|
|
91
|
-
], SaveSaleTransactionValidator.prototype, "
|
|
71
|
+
], SaveSaleTransactionValidator.prototype, "warehouse", void 0);
|
|
@@ -3,11 +3,12 @@ export declare enum SettingsOrganizationEnum {
|
|
|
3
3
|
APP_CONTACT = "app.contact",
|
|
4
4
|
APP_REGIONAL = "app.regional",
|
|
5
5
|
APP_ADDRESS = "app.address",
|
|
6
|
-
|
|
6
|
+
ORDER_SALE_TRANSACTION_SEQUENCE = "order.sale.transaction.sequence",
|
|
7
7
|
ORDER_SALE_PAYMENT_SEQUENCE = "order.sale.payment.sequence",
|
|
8
|
-
|
|
9
|
-
ORDER_PURCHASE_SEQUENCE = "order.purchase.sequence",
|
|
8
|
+
ORDER_PURCHASE_TRANSACTION_SEQUENCE = "order.purchase.transaction.sequence",
|
|
10
9
|
INVENTORY_STOCK_TRANSFER_SEQUENCE = "inventory.stock.transfer.sequence",
|
|
10
|
+
FINANCE_INVOICE_SEQUENCE = "finance.invoice.sequence",
|
|
11
|
+
FINANCE_PAYMENT_SEQUENCE = "finance.payment.sequence",
|
|
11
12
|
FINANCE_REFUND_SEQUENCE = "finance.refund.sequence",
|
|
12
|
-
|
|
13
|
+
FINANCE_SUBSCRIPTION_SEQUENCE = "finance.subscription.sequence"
|
|
13
14
|
}
|
|
@@ -4,11 +4,12 @@ export var SettingsOrganizationEnum;
|
|
|
4
4
|
SettingsOrganizationEnum["APP_CONTACT"] = "app.contact";
|
|
5
5
|
SettingsOrganizationEnum["APP_REGIONAL"] = "app.regional";
|
|
6
6
|
SettingsOrganizationEnum["APP_ADDRESS"] = "app.address";
|
|
7
|
-
SettingsOrganizationEnum["
|
|
7
|
+
SettingsOrganizationEnum["ORDER_SALE_TRANSACTION_SEQUENCE"] = "order.sale.transaction.sequence";
|
|
8
8
|
SettingsOrganizationEnum["ORDER_SALE_PAYMENT_SEQUENCE"] = "order.sale.payment.sequence";
|
|
9
|
-
SettingsOrganizationEnum["
|
|
10
|
-
SettingsOrganizationEnum["ORDER_PURCHASE_SEQUENCE"] = "order.purchase.sequence";
|
|
9
|
+
SettingsOrganizationEnum["ORDER_PURCHASE_TRANSACTION_SEQUENCE"] = "order.purchase.transaction.sequence";
|
|
11
10
|
SettingsOrganizationEnum["INVENTORY_STOCK_TRANSFER_SEQUENCE"] = "inventory.stock.transfer.sequence";
|
|
12
|
-
SettingsOrganizationEnum["FINANCE_REFUND_SEQUENCE"] = "finance.refund.sequence";
|
|
13
11
|
SettingsOrganizationEnum["FINANCE_INVOICE_SEQUENCE"] = "finance.invoice.sequence";
|
|
12
|
+
SettingsOrganizationEnum["FINANCE_PAYMENT_SEQUENCE"] = "finance.payment.sequence";
|
|
13
|
+
SettingsOrganizationEnum["FINANCE_REFUND_SEQUENCE"] = "finance.refund.sequence";
|
|
14
|
+
SettingsOrganizationEnum["FINANCE_SUBSCRIPTION_SEQUENCE"] = "finance.subscription.sequence";
|
|
14
15
|
})(SettingsOrganizationEnum || (SettingsOrganizationEnum = {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkaly/api",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Shared TypeScript interfaces and enums for Merkaly API",
|
|
6
6
|
"exports": {
|
|
@@ -68,10 +68,6 @@
|
|
|
68
68
|
"types": "./dist/order/purchase/item/index.d.ts",
|
|
69
69
|
"default": "./dist/order/purchase/item/index.js"
|
|
70
70
|
},
|
|
71
|
-
"./order/sale/shipping": {
|
|
72
|
-
"types": "./dist/order/sale/shipping/index.d.ts",
|
|
73
|
-
"default": "./dist/order/sale/shipping/index.js"
|
|
74
|
-
},
|
|
75
71
|
"./finance/payment": {
|
|
76
72
|
"types": "./dist/finance/payment/index.d.ts",
|
|
77
73
|
"default": "./dist/finance/payment/index.js"
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { SaleTransactionEntity } from '../transaction';
|
|
2
|
-
import { AbstractEntity } from '../../..';
|
|
3
|
-
import { CreateEntityArgs } from '../../..';
|
|
4
|
-
import { AddressEntity } from '../../..';
|
|
5
|
-
import { SaleShippingStatusEnum, SaleShippingTypeEnum } from './shipping.enum.js';
|
|
6
|
-
import type { MongoEntity } from '../../..';
|
|
7
|
-
export declare class SaleShippingEntity extends AbstractEntity {
|
|
8
|
-
order: MongoEntity<SaleTransactionEntity>;
|
|
9
|
-
status: SaleShippingStatusEnum;
|
|
10
|
-
date: Date;
|
|
11
|
-
destinationAddress: CreateEntityArgs<AddressEntity>;
|
|
12
|
-
originAddress: AddressEntity;
|
|
13
|
-
cost: number;
|
|
14
|
-
distance: number;
|
|
15
|
-
type: SaleShippingTypeEnum;
|
|
16
|
-
sequence: number;
|
|
17
|
-
readonly number: string;
|
|
18
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare enum SaleShippingStatusEnum {
|
|
2
|
-
OPEN = "OPEN",
|
|
3
|
-
NOT_REQUIRED = "NOT_REQUIRED",
|
|
4
|
-
PROCESSING = "PROCESSING",
|
|
5
|
-
SHIPPED = "SHIPPED",
|
|
6
|
-
IN_TRANSIT = "IN_TRANSIT",
|
|
7
|
-
DELIVERED = "DELIVERED",
|
|
8
|
-
FAILED = "FAILED",
|
|
9
|
-
RETURNED = "RETURNED",
|
|
10
|
-
CANCELLED = "CANCELLED"
|
|
11
|
-
}
|
|
12
|
-
export declare enum SaleShippingTypeEnum {
|
|
13
|
-
PICKUP = "PICKUP",
|
|
14
|
-
DELIVERY = "DELIVERY",
|
|
15
|
-
DROPOFF = "DROPOFF"
|
|
16
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export var SaleShippingStatusEnum;
|
|
2
|
-
(function (SaleShippingStatusEnum) {
|
|
3
|
-
SaleShippingStatusEnum["OPEN"] = "OPEN";
|
|
4
|
-
SaleShippingStatusEnum["NOT_REQUIRED"] = "NOT_REQUIRED";
|
|
5
|
-
SaleShippingStatusEnum["PROCESSING"] = "PROCESSING";
|
|
6
|
-
SaleShippingStatusEnum["SHIPPED"] = "SHIPPED";
|
|
7
|
-
SaleShippingStatusEnum["IN_TRANSIT"] = "IN_TRANSIT";
|
|
8
|
-
SaleShippingStatusEnum["DELIVERED"] = "DELIVERED";
|
|
9
|
-
SaleShippingStatusEnum["FAILED"] = "FAILED";
|
|
10
|
-
SaleShippingStatusEnum["RETURNED"] = "RETURNED";
|
|
11
|
-
SaleShippingStatusEnum["CANCELLED"] = "CANCELLED";
|
|
12
|
-
})(SaleShippingStatusEnum || (SaleShippingStatusEnum = {}));
|
|
13
|
-
export var SaleShippingTypeEnum;
|
|
14
|
-
(function (SaleShippingTypeEnum) {
|
|
15
|
-
SaleShippingTypeEnum["PICKUP"] = "PICKUP";
|
|
16
|
-
SaleShippingTypeEnum["DELIVERY"] = "DELIVERY";
|
|
17
|
-
SaleShippingTypeEnum["DROPOFF"] = "DROPOFF";
|
|
18
|
-
})(SaleShippingTypeEnum || (SaleShippingTypeEnum = {}));
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SaleShippingStatusEnum, SaleShippingTypeEnum } from './';
|
|
2
|
-
import { AbstractValidator, ReadValidator } from '../../..';
|
|
3
|
-
import { AddressValidator } from '../../..';
|
|
4
|
-
import type { SaleShippingEntity } from './';
|
|
5
|
-
export declare class SaveShippingValidator extends AbstractValidator {
|
|
6
|
-
order?: string;
|
|
7
|
-
warehouse?: string;
|
|
8
|
-
type: SaleShippingTypeEnum;
|
|
9
|
-
address: AddressValidator;
|
|
10
|
-
cost?: number;
|
|
11
|
-
status: SaleShippingStatusEnum;
|
|
12
|
-
}
|
|
13
|
-
export declare class ReadShippingValidator extends ReadValidator<SaleShippingEntity> {
|
|
14
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
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 shipping_enum_1 from './shipping.enum.js';
|
|
13
|
-
import * as abstract_validator_1 from '../../..';
|
|
14
|
-
import * as address_validator_1 from '../../..';
|
|
15
|
-
export class SaveShippingValidator extends abstract_validator_1.AbstractValidator {
|
|
16
|
-
order;
|
|
17
|
-
warehouse;
|
|
18
|
-
type;
|
|
19
|
-
address;
|
|
20
|
-
cost;
|
|
21
|
-
status;
|
|
22
|
-
}
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, class_validator_1.IsMongoId)(),
|
|
25
|
-
(0, class_validator_1.IsOptional)(),
|
|
26
|
-
__metadata("design:type", String)
|
|
27
|
-
], SaveShippingValidator.prototype, "order", void 0);
|
|
28
|
-
__decorate([
|
|
29
|
-
(0, class_validator_1.IsMongoId)(),
|
|
30
|
-
(0, class_validator_1.IsOptional)(),
|
|
31
|
-
__metadata("design:type", String)
|
|
32
|
-
], SaveShippingValidator.prototype, "warehouse", void 0);
|
|
33
|
-
__decorate([
|
|
34
|
-
(0, class_validator_1.IsEnum)(shipping_enum_1.SaleShippingTypeEnum),
|
|
35
|
-
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
36
|
-
__metadata("design:type", String)
|
|
37
|
-
], SaveShippingValidator.prototype, "type", void 0);
|
|
38
|
-
__decorate([
|
|
39
|
-
(0, class_transformer_1.Type)(() => address_validator_1.AddressValidator),
|
|
40
|
-
(0, class_validator_1.ValidateNested)(),
|
|
41
|
-
(0, class_validator_1.IsObject)(),
|
|
42
|
-
(0, class_validator_1.IsOptional)({ groups: ['update'] }),
|
|
43
|
-
__metadata("design:type", address_validator_1.AddressValidator)
|
|
44
|
-
], SaveShippingValidator.prototype, "address", void 0);
|
|
45
|
-
__decorate([
|
|
46
|
-
(0, class_validator_1.IsPositive)(),
|
|
47
|
-
(0, class_validator_1.IsOptional)(),
|
|
48
|
-
__metadata("design:type", Number)
|
|
49
|
-
], SaveShippingValidator.prototype, "cost", void 0);
|
|
50
|
-
__decorate([
|
|
51
|
-
(0, class_validator_1.IsEnum)(shipping_enum_1.SaleShippingStatusEnum),
|
|
52
|
-
(0, class_validator_1.IsDefined)({ groups: ['update:status'] }),
|
|
53
|
-
__metadata("design:type", String)
|
|
54
|
-
], SaveShippingValidator.prototype, "status", void 0);
|
|
55
|
-
export class ReadShippingValidator extends abstract_validator_1.ReadValidator {
|
|
56
|
-
}
|