@tomei/finance 0.1.9 → 0.1.11
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/account/account.d.ts +5 -5
- package/dist/account/account.js +7 -7
- package/dist/account/account.js.map +1 -1
- package/dist/account/interfaces/account-attr.interface.d.ts +3 -3
- package/dist/customer/customer.d.ts +16 -18
- package/dist/customer/customer.js +24 -76
- package/dist/customer/customer.js.map +1 -1
- package/dist/customer/entities/customer.entity.d.ts +4 -1
- package/dist/customer/entities/customer.entity.js +35 -2
- package/dist/customer/entities/customer.entity.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/payment/payment.d.ts +4 -2
- package/dist/payment/payment.js +12 -6
- package/dist/payment/payment.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/migrations/finance-customer-migration.js +13 -1
- package/package.json +4 -3
- package/src/account/account.ts +19 -11
- package/src/account/interfaces/account-attr.interface.ts +3 -3
- package/src/customer/customer.ts +51 -108
- package/src/customer/entities/customer.entity.ts +32 -2
- package/src/index.ts +0 -2
- package/src/payment/payment.ts +18 -8
- package/src/base/base.address.ts +0 -21
- package/src/base/base.object.ts +0 -14
- package/src/base/base.owner.ts +0 -59
- package/src/base/index.ts +0 -4
- package/src/quickbook-client/client.ts +0 -236
- package/src/quickbook-client/index.ts +0 -10
- package/src/quickbook-client/interfaces/quickbook-client-call-options.interface.ts +0 -6
- package/src/quickbook-client/interfaces/quickbook-client-create-account-options.interface.ts +0 -9
- package/src/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.ts +0 -8
- package/src/quickbook-client/interfaces/quickbook-client-options.interface.ts +0 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { RelatedObject, Owner } from '../base';
|
|
2
1
|
import { ICreateAccountAttr } from './interfaces/account-attr.interface';
|
|
3
2
|
import { IAccountRepository } from './interfaces/account.repository.interface';
|
|
4
3
|
import { IAccountSystem } from 'src/interfaces';
|
|
4
|
+
import { ObjectBase, PersonBase } from '@tomei/general';
|
|
5
5
|
export declare class Account {
|
|
6
6
|
accountRepository: IAccountRepository;
|
|
7
7
|
private AccountNo;
|
|
@@ -11,14 +11,14 @@ export declare class Account {
|
|
|
11
11
|
private RelatedObjectType;
|
|
12
12
|
private AccSystemId;
|
|
13
13
|
ParentAccountNo: string;
|
|
14
|
-
Owner:
|
|
15
|
-
RelatedObject:
|
|
14
|
+
Owner: PersonBase;
|
|
15
|
+
RelatedObject: ObjectBase;
|
|
16
16
|
AccountType: string;
|
|
17
17
|
AccountSubType: string;
|
|
18
18
|
AccountingSystem: IAccountSystem;
|
|
19
19
|
isParamsInitialized: boolean;
|
|
20
|
-
constructor(accountRepository: IAccountRepository, accountingSystem: IAccountSystem,
|
|
20
|
+
constructor(accountRepository: IAccountRepository, accountingSystem: IAccountSystem, SystemCode: string, params?: ICreateAccountAttr);
|
|
21
21
|
init(params: ICreateAccountAttr): void;
|
|
22
22
|
getAccountNo(): Promise<string>;
|
|
23
|
-
create(
|
|
23
|
+
create(): Promise<any>;
|
|
24
24
|
}
|
package/dist/account/account.js
CHANGED
|
@@ -6,21 +6,21 @@ const account_entity_1 = require("./entities/account.entity");
|
|
|
6
6
|
const axios_1 = require("axios");
|
|
7
7
|
const config_1 = require("../config");
|
|
8
8
|
class Account {
|
|
9
|
-
constructor(accountRepository, accountingSystem,
|
|
9
|
+
constructor(accountRepository, accountingSystem, SystemCode, params) {
|
|
10
10
|
this.accountRepository = accountRepository;
|
|
11
11
|
this.AccountingSystem = accountingSystem;
|
|
12
|
-
this.AccSystemId = (0, config_1.getConfig)().systemConfig[
|
|
12
|
+
this.AccSystemId = (0, config_1.getConfig)().systemConfig[SystemCode].accountingSystem;
|
|
13
13
|
if (params) {
|
|
14
14
|
this.init(params);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
init(params) {
|
|
18
18
|
this.Owner = params.Owner;
|
|
19
|
-
this.OwnerId = params.Owner.
|
|
19
|
+
this.OwnerId = params.Owner.ObjectId;
|
|
20
20
|
this.OwnerType = typeof params.Owner;
|
|
21
21
|
if (params.RelatedObject) {
|
|
22
22
|
this.RelatedObject = params.RelatedObject;
|
|
23
|
-
this.RelatedObjectId = params.RelatedObject.
|
|
23
|
+
this.RelatedObjectId = params.RelatedObject.ObjectId;
|
|
24
24
|
this.RelatedObjectType = typeof params.RelatedObject;
|
|
25
25
|
}
|
|
26
26
|
if (params.AccountType)
|
|
@@ -59,7 +59,7 @@ class Account {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
async create(
|
|
62
|
+
async create() {
|
|
63
63
|
try {
|
|
64
64
|
if (!this.Owner || !this.RelatedObject) {
|
|
65
65
|
throw new Error('Owner must be set before creating an account." or "RelatedObject must be set before creating an account.');
|
|
@@ -102,9 +102,9 @@ class Account {
|
|
|
102
102
|
RelatedObjectId: this.RelatedObjectId,
|
|
103
103
|
RelatedObjectType: this.RelatedObjectType,
|
|
104
104
|
CreatedAt: new Date(),
|
|
105
|
-
CreatedById:
|
|
105
|
+
CreatedById: 'System',
|
|
106
106
|
UpdatedAt: new Date(),
|
|
107
|
-
UpdatedById:
|
|
107
|
+
UpdatedById: 'System',
|
|
108
108
|
});
|
|
109
109
|
const payload = {
|
|
110
110
|
Action: 'Create',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account/account.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account/account.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ObjectBase, PersonBase } from '@tomei/general';
|
|
2
2
|
export interface IAccountAttr {
|
|
3
3
|
AccountNo: string;
|
|
4
4
|
SystemCode: string;
|
|
@@ -13,8 +13,8 @@ export interface IAccountAttr {
|
|
|
13
13
|
UpdatedById: string;
|
|
14
14
|
}
|
|
15
15
|
export interface ICreateAccountAttr {
|
|
16
|
-
Owner:
|
|
17
|
-
RelatedObject?:
|
|
16
|
+
Owner: PersonBase;
|
|
17
|
+
RelatedObject?: ObjectBase;
|
|
18
18
|
AccountType?: string;
|
|
19
19
|
AccountSubType?: string;
|
|
20
20
|
ParentAccountNo?: string;
|
|
@@ -1,28 +1,26 @@
|
|
|
1
1
|
import { AddressBase, PersonBase } from '@tomei/general';
|
|
2
2
|
import { IAccountSystem } from '../interfaces';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
private
|
|
7
|
-
private
|
|
3
|
+
export declare abstract class Customer extends PersonBase {
|
|
4
|
+
ObjectId: string;
|
|
5
|
+
ObjectName: string;
|
|
6
|
+
private AccSystemCustomerId;
|
|
7
|
+
private CustomerRefId;
|
|
8
|
+
private SystemCode;
|
|
9
|
+
private AccSystemCode;
|
|
8
10
|
FullName: string;
|
|
9
11
|
IDNo: string;
|
|
10
12
|
IDType: string;
|
|
11
13
|
Email: string;
|
|
12
14
|
ContactNo: string;
|
|
13
|
-
|
|
14
|
-
Id: string;
|
|
15
|
-
Name: string;
|
|
16
|
-
financeCustomerRepository: FinanceCustomerRepository;
|
|
17
|
-
customerRepository: ICustomerRepository<any>;
|
|
18
|
-
customerAddressRepository: any;
|
|
15
|
+
DefaultAddress: AddressBase;
|
|
19
16
|
accountingSystem: IAccountSystem;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
constructor(accountingSystem: IAccountSystem, systemCode: string, email: string);
|
|
18
|
+
abstract get BilligAddress(): AddressBase;
|
|
19
|
+
get objectId(): string;
|
|
20
|
+
set objectId(value: string);
|
|
21
|
+
get objectName(): string;
|
|
22
|
+
set objectName(value: string);
|
|
23
23
|
init(person: PersonBase): void;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
getCustomerId(): Promise<any>;
|
|
27
|
-
create(): Promise<any>;
|
|
24
|
+
getCustomerId(): string;
|
|
25
|
+
create(): Promise<void>;
|
|
28
26
|
}
|
|
@@ -2,20 +2,27 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Customer = void 0;
|
|
4
4
|
const general_1 = require("@tomei/general");
|
|
5
|
-
const base_address_1 = require("../base/base.address");
|
|
6
5
|
const config_1 = require("../config");
|
|
6
|
+
const cuid = require("cuid");
|
|
7
7
|
class Customer extends general_1.PersonBase {
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(accountingSystem, systemCode, email) {
|
|
9
9
|
super();
|
|
10
|
-
this.financeCustomerRepository = financeCustomerRepository;
|
|
11
|
-
this.customerRepository = customerRepository;
|
|
12
|
-
this.customerAddressRepository = customerAddressRepository;
|
|
13
10
|
this.accountingSystem = accountingSystem;
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
this.SystemCode = systemCode;
|
|
12
|
+
this.AccSystemCode = (0, config_1.getConfig)().systemConfig[systemCode].accountingSystem;
|
|
13
|
+
this.Email = email;
|
|
14
|
+
}
|
|
15
|
+
get objectId() {
|
|
16
|
+
return this.ObjectId;
|
|
17
|
+
}
|
|
18
|
+
set objectId(value) {
|
|
19
|
+
this.ObjectId = value;
|
|
20
|
+
}
|
|
21
|
+
get objectName() {
|
|
22
|
+
return this.ObjectName;
|
|
23
|
+
}
|
|
24
|
+
set objectName(value) {
|
|
25
|
+
this.ObjectName = value;
|
|
19
26
|
}
|
|
20
27
|
init(person) {
|
|
21
28
|
this.FullName = person.FullName;
|
|
@@ -23,82 +30,23 @@ class Customer extends general_1.PersonBase {
|
|
|
23
30
|
this.IDType = person.IDType;
|
|
24
31
|
this.Email = person.Email;
|
|
25
32
|
this.ContactNo = person.ContactNo;
|
|
26
|
-
this.
|
|
27
|
-
}
|
|
28
|
-
async getDetails() {
|
|
29
|
-
if (!this.FullName ||
|
|
30
|
-
!this.IDNo ||
|
|
31
|
-
!this.IDType ||
|
|
32
|
-
!this.Email ||
|
|
33
|
-
!this.ContactNo ||
|
|
34
|
-
!this.Address) {
|
|
35
|
-
const customerData = await this.customerRepository.findOne({
|
|
36
|
-
where: { IdNo: this.IDNo },
|
|
37
|
-
});
|
|
38
|
-
if (!customerData) {
|
|
39
|
-
throw new Error('Customer must be created first.');
|
|
40
|
-
}
|
|
41
|
-
this.FullName = customerData.FullName;
|
|
42
|
-
this.IDNo = customerData.IDNo;
|
|
43
|
-
this.IDType = customerData.IDType;
|
|
44
|
-
this.Email = customerData.Email;
|
|
45
|
-
this.ContactNo = customerData.ContactNo;
|
|
46
|
-
this.Id = customerData.CustomerId;
|
|
47
|
-
this.Name = customerData.PreferredName;
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
FullName: this.FullName,
|
|
51
|
-
IDNo: this.IDNo,
|
|
52
|
-
IDType: this.IDType,
|
|
53
|
-
Email: this.Email,
|
|
54
|
-
ContactNo: this.ContactNo,
|
|
55
|
-
Address: this.Address,
|
|
56
|
-
Id: this.Id,
|
|
57
|
-
Name: this.Name,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
async getDefaultAddress() {
|
|
61
|
-
if (!this.Address.Line1 ||
|
|
62
|
-
!this.Address.City ||
|
|
63
|
-
!this.Address.PostalCode ||
|
|
64
|
-
!this.Address.Country) {
|
|
65
|
-
const addressData = await this.customerAddressRepository.findOne({
|
|
66
|
-
where: { CustomerId: this.Id, isDefaultYN: 'Y' },
|
|
67
|
-
});
|
|
68
|
-
if (!addressData) {
|
|
69
|
-
throw new Error('Address must be created first.');
|
|
70
|
-
}
|
|
71
|
-
this.Address = new base_address_1.Address(addressData.Address, addressData.City, addressData.PostCode, addressData.Country);
|
|
72
|
-
}
|
|
73
|
-
return {
|
|
74
|
-
Line1: this.Address.Line1,
|
|
75
|
-
City: this.Address.City,
|
|
76
|
-
PostalCode: this.Address.PostalCode,
|
|
77
|
-
Country: this.Address.Country,
|
|
78
|
-
};
|
|
33
|
+
this.DefaultAddress = person.DefaultAddress;
|
|
79
34
|
}
|
|
80
|
-
|
|
81
|
-
if (!this.
|
|
35
|
+
getCustomerId() {
|
|
36
|
+
if (!this.ObjectId) {
|
|
82
37
|
throw new Error('Finance Customer must be created first.');
|
|
83
38
|
}
|
|
84
|
-
return this.
|
|
39
|
+
return this.ObjectId;
|
|
85
40
|
}
|
|
86
41
|
async create() {
|
|
87
42
|
try {
|
|
88
|
-
await this.
|
|
89
|
-
await this.getDefaultAddress();
|
|
90
|
-
this.CustomerId = await this.accountingSystem.createCustomer({
|
|
43
|
+
this.AccSystemCustomerId = await this.accountingSystem.createCustomer({
|
|
91
44
|
FullName: this.FullName,
|
|
92
45
|
Email: this.Email,
|
|
93
46
|
ContractNo: this.ContactNo,
|
|
94
|
-
|
|
95
|
-
});
|
|
96
|
-
this.AccSystemId =
|
|
97
|
-
(0, config_1.getConfig)().systemConfig[this.systemCode].accountingSystem;
|
|
98
|
-
return await this.financeCustomerRepository.create({
|
|
99
|
-
CustomerId: this.CustomerId,
|
|
100
|
-
AccSystemId: this.AccSystemId,
|
|
47
|
+
DefaultAddress: this.DefaultAddress,
|
|
101
48
|
});
|
|
49
|
+
this.ObjectId = cuid();
|
|
102
50
|
}
|
|
103
51
|
catch (error) {
|
|
104
52
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer.js","sourceRoot":"","sources":["../../src/customer/customer.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAEzD,
|
|
1
|
+
{"version":3,"file":"customer.js","sourceRoot":"","sources":["../../src/customer/customer.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAEzD,sCAAsC;AACtC,6BAA6B;AAE7B,MAAsB,QAAS,SAAQ,oBAAU;IAkB/C,YACE,gBAAgC,EAChC,UAAkB,EAClB,KAAa;QAEb,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAA,kBAAS,GAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAOD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK;QAChB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,UAAU,CAAC,KAAK;QAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAkB;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC9C,CAAC;IAMD,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,MAAM;QACV,IAAI;YACF,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;gBACpE,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAC;SACb;IACH,CAAC;CACF;AAzFD,4BAyFC"}
|
|
@@ -26,14 +26,47 @@ __decorate([
|
|
|
26
26
|
__decorate([
|
|
27
27
|
(0, swagger_1.ApiProperty)({
|
|
28
28
|
type: String,
|
|
29
|
-
description: '
|
|
29
|
+
description: 'System Code eg. "EZC", "CRM"',
|
|
30
30
|
}),
|
|
31
31
|
(0, sequelize_typescript_1.Column)({
|
|
32
32
|
allowNull: false,
|
|
33
33
|
type: sequelize_typescript_1.DataType.STRING(30),
|
|
34
34
|
}),
|
|
35
35
|
__metadata("design:type", String)
|
|
36
|
-
], FinanceCustomerModel.prototype, "
|
|
36
|
+
], FinanceCustomerModel.prototype, "SystemCode", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, swagger_1.ApiProperty)({
|
|
39
|
+
type: String,
|
|
40
|
+
description: 'Account System Code eg. "EZC", "CRM"',
|
|
41
|
+
}),
|
|
42
|
+
(0, sequelize_typescript_1.Column)({
|
|
43
|
+
allowNull: false,
|
|
44
|
+
type: sequelize_typescript_1.DataType.STRING(30),
|
|
45
|
+
}),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], FinanceCustomerModel.prototype, "AccSystemCode", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, swagger_1.ApiProperty)({
|
|
50
|
+
type: String,
|
|
51
|
+
description: 'Account Customer Id in Api',
|
|
52
|
+
}),
|
|
53
|
+
(0, sequelize_typescript_1.Column)({
|
|
54
|
+
allowNull: false,
|
|
55
|
+
type: sequelize_typescript_1.DataType.STRING(30),
|
|
56
|
+
}),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], FinanceCustomerModel.prototype, "AccSystemCustomerId", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, swagger_1.ApiProperty)({
|
|
61
|
+
type: String,
|
|
62
|
+
description: 'Custoemr Ref Id',
|
|
63
|
+
}),
|
|
64
|
+
(0, sequelize_typescript_1.Column)({
|
|
65
|
+
allowNull: false,
|
|
66
|
+
type: sequelize_typescript_1.DataType.STRING(30),
|
|
67
|
+
}),
|
|
68
|
+
__metadata("design:type", String)
|
|
69
|
+
], FinanceCustomerModel.prototype, "CustomerRefId", void 0);
|
|
37
70
|
FinanceCustomerModel = __decorate([
|
|
38
71
|
(0, sequelize_typescript_1.Table)({ tableName: 'finance_Customer', createdAt: false, updatedAt: false })
|
|
39
72
|
], FinanceCustomerModel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer.entity.js","sourceRoot":"","sources":["../../../src/customer/entities/customer.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,+DAAsE;AAG/D,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,4BAAK;
|
|
1
|
+
{"version":3,"file":"customer.entity.js","sourceRoot":"","sources":["../../../src/customer/entities/customer.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,+DAAsE;AAG/D,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,4BAAK;CAgD9C,CAAA;AA/CC;IAAC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IACxD,IAAA,6BAAM,EAAC;QACN,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,CAAC;;wDACiB;AAEnB;IAAC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,8BAA8B;KAC5C,CAAC;IACD,IAAA,6BAAM,EAAC;QACN,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,CAAC;;wDACiB;AAEnB;IAAC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,sCAAsC;KACpD,CAAC;IACD,IAAA,6BAAM,EAAC;QACN,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,CAAC;;2DACoB;AAEtB;IAAC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,4BAA4B;KAC1C,CAAC;IACD,IAAA,6BAAM,EAAC;QACN,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,CAAC;;iEAC0B;AAE5B;IAAC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iBAAiB;KAC/B,CAAC;IACD,IAAA,6BAAM,EAAC;QACN,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,CAAC;;2DACoB;AA/CX,oBAAoB;IADhC,IAAA,4BAAK,EAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;GAChE,oBAAoB,CAgDhC;AAhDY,oDAAoB"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -15,10 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.getConfig = void 0;
|
|
18
|
-
__exportStar(require("./base"), exports);
|
|
19
18
|
__exportStar(require("./account"), exports);
|
|
20
19
|
__exportStar(require("./customer"), exports);
|
|
21
|
-
__exportStar(require("./quickbook-client"), exports);
|
|
22
20
|
__exportStar(require("./enum"), exports);
|
|
23
21
|
__exportStar(require("./interfaces"), exports);
|
|
24
22
|
__exportStar(require("./payment"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,+CAA6B;AAC7B,4CAA0B;AAC1B,mCAAqC;AAA5B,mGAAA,SAAS,OAAA"}
|
|
@@ -7,8 +7,8 @@ import { IPaymentItemRepository } from './interfaces/payment-item.repository.int
|
|
|
7
7
|
import { Sequelize } from 'sequelize-typescript';
|
|
8
8
|
import { IPaymentParams } from './interfaces/payment-params.interface';
|
|
9
9
|
export declare class Payment extends ObjectBase {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
ObjectId: string;
|
|
11
|
+
ObjectName: string;
|
|
12
12
|
private Amount;
|
|
13
13
|
private Currency;
|
|
14
14
|
private Method;
|
|
@@ -37,6 +37,8 @@ export declare class Payment extends ObjectBase {
|
|
|
37
37
|
private PaymentItemRepository;
|
|
38
38
|
private sequelize;
|
|
39
39
|
constructor(AccountingSystem: IAccountSystem, PaymentRepository: IPaymentRepository, PaymentItemRepository: IPaymentItemRepository, Customer: Customer, ReceivableAccount: Account, DepositAccount: Account, PaymentItems: PaymentItemBase[], Params?: IPaymentParams, sequelize?: Sequelize);
|
|
40
|
+
get objectId(): string;
|
|
41
|
+
get objectName(): string;
|
|
40
42
|
init(Params: IPaymentParams): void;
|
|
41
43
|
getAmount(): number;
|
|
42
44
|
getCurrency(): string;
|
package/dist/payment/payment.js
CHANGED
|
@@ -21,6 +21,12 @@ class Payment extends general_1.ObjectBase {
|
|
|
21
21
|
this.sequelize = sequelize;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
+
get objectId() {
|
|
25
|
+
return this.ObjectId;
|
|
26
|
+
}
|
|
27
|
+
get objectName() {
|
|
28
|
+
return this.ObjectName;
|
|
29
|
+
}
|
|
24
30
|
init(Params) {
|
|
25
31
|
if (Params.Currency)
|
|
26
32
|
this.Currency = Params.Currency;
|
|
@@ -83,10 +89,10 @@ class Payment extends general_1.ObjectBase {
|
|
|
83
89
|
}
|
|
84
90
|
this.ReceivableAccountNo = await this.ReceivableAccount.getAccountNo();
|
|
85
91
|
this.DepositAccountNo = await this.DepositAccount.getAccountNo();
|
|
86
|
-
this.
|
|
92
|
+
this.ObjectId = await this.AccountingSystem.makePayment(this.Customer, this);
|
|
87
93
|
this.Status = 'Successfull';
|
|
88
94
|
const paymentAttribute = {
|
|
89
|
-
PaymentId: this.
|
|
95
|
+
PaymentId: this.ObjectId,
|
|
90
96
|
AccountNo: this.DepositAccountNo,
|
|
91
97
|
PaymentType: this.PaymentType,
|
|
92
98
|
PaymentDate: new Date(),
|
|
@@ -105,8 +111,8 @@ class Payment extends general_1.ObjectBase {
|
|
|
105
111
|
const paymentItemsData = [];
|
|
106
112
|
this.PaymentItems.forEach(async (paymentItem) => {
|
|
107
113
|
paymentItemsData.push({
|
|
108
|
-
PaymentId: this.
|
|
109
|
-
PayForObjectId: paymentItem.
|
|
114
|
+
PaymentId: this.ObjectId,
|
|
115
|
+
PayForObjectId: paymentItem.ObjectId,
|
|
110
116
|
PayForObjectType: paymentItem.Type,
|
|
111
117
|
Amount: paymentItem.Amount,
|
|
112
118
|
Currency: paymentItem.Currency,
|
|
@@ -118,13 +124,13 @@ class Payment extends general_1.ObjectBase {
|
|
|
118
124
|
const payload = {
|
|
119
125
|
Action: 'Create',
|
|
120
126
|
Activity: 'Payment Created',
|
|
121
|
-
Description: `Account (ID: ${this.
|
|
127
|
+
Description: `Account (ID: ${this.ObjectId}) has been created`,
|
|
122
128
|
EntityType: typeof payment_entity_1.PaymentModel,
|
|
123
129
|
EntityValueBefore: JSON.stringify({}),
|
|
124
130
|
EntityValueAfter: JSON.stringify(payment),
|
|
125
131
|
PerformedById: payment.UpdatedBy,
|
|
126
132
|
PerformedAt: payment.UpdatedAt,
|
|
127
|
-
EntityId: this.
|
|
133
|
+
EntityId: this.ObjectId,
|
|
128
134
|
};
|
|
129
135
|
await axios_1.default.post(`${process.env.COMMON_API_URL}/activity-histories`, payload);
|
|
130
136
|
await transaction.commit();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../src/payment/payment.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../src/payment/payment.ts"],"names":[],"mappings":"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"}
|