@tomei/finance 0.6.52 → 0.6.54

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 (108) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc.js +72 -72
  3. package/.husky/commit-msg +4 -4
  4. package/.husky/pre-commit +4 -4
  5. package/.prettierrc +4 -4
  6. package/CONTRIBUTING.md +30 -30
  7. package/LICENSE +21 -21
  8. package/README.md +13 -13
  9. package/configs/config.js +348 -348
  10. package/dist/enum/payment-status.enum.d.ts +3 -1
  11. package/dist/enum/payment-status.enum.js +3 -1
  12. package/dist/enum/payment-status.enum.js.map +1 -1
  13. package/dist/finance-company/finance-company.d.ts +3 -1
  14. package/dist/finance-company/finance-company.js +178 -177
  15. package/dist/finance-company/finance-company.js.map +1 -1
  16. package/dist/payment/payment.d.ts +2 -2
  17. package/dist/payment/payment.js +4 -4
  18. package/dist/payment/payment.js.map +1 -1
  19. package/dist/payment-item/payment-item.js +4 -4
  20. package/dist/tsconfig.tsbuildinfo +1 -1
  21. package/invoice-template/assets/css/style.css.map +12 -12
  22. package/invoice-template/assets/css/style.min.css +1 -1
  23. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  24. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  25. package/invoice-template/assets/img/logo_accent.svg +3 -3
  26. package/invoice-template/assets/img/logo_white.svg +4 -4
  27. package/invoice-template/assets/img/sign.svg +12 -12
  28. package/invoice-template/assets/img/tomei-logo.svg +9 -9
  29. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  30. package/invoice-template/assets/js/jquery.min.js +1 -1
  31. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  32. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  33. package/invoice-template/assets/sass/style.scss +12 -12
  34. package/migrations/finance-account-migration.js +97 -97
  35. package/migrations/finance-company-migration.js +29 -29
  36. package/migrations/finance-customer-migration.js +51 -51
  37. package/migrations/finance-document-item-migration.js +111 -111
  38. package/migrations/finance-document-migration.js +122 -122
  39. package/migrations/finance-journal-entry-migration.js +59 -59
  40. package/migrations/finance-ledger-transaction-migration.js +89 -89
  41. package/migrations/finance-payment-item-migration.js +52 -52
  42. package/migrations/finance-payment-method-migration.js +31 -31
  43. package/migrations/finance-payment-method-type-migration.js +55 -55
  44. package/migrations/finance-payment-migration.js +96 -96
  45. package/migrations/finance-post-history-migration.js +45 -45
  46. package/migrations/finance-tax-migration.js +52 -52
  47. package/nest-cli.json +19 -19
  48. package/package.json +82 -82
  49. package/src/account/account.repository.ts +11 -11
  50. package/src/account/account.ts +276 -276
  51. package/src/account/interfaces/account-attr.interface.ts +31 -31
  52. package/src/account-system-entity/account-system-entity.ts +66 -66
  53. package/src/account-system-entity/post-history.repository.ts +11 -11
  54. package/src/config.ts +382 -382
  55. package/src/customer/customer.ts +300 -300
  56. package/src/customer/finance-customer.repository.ts +13 -13
  57. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  58. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  59. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  60. package/src/database.ts +48 -48
  61. package/src/document/document-item.repository.ts +11 -11
  62. package/src/document/document.repository.ts +11 -11
  63. package/src/document/interfaces/document-attr.interface.ts +28 -28
  64. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  65. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  66. package/src/enum/doc-type.enum.ts +8 -8
  67. package/src/enum/index.ts +17 -17
  68. package/src/enum/payment-method.enum.ts +3 -3
  69. package/src/enum/payment-status.enum.ts +3 -1
  70. package/src/enum/payment-type.enum.ts +4 -4
  71. package/src/enum/quick-book-client-scopes.enum.ts +14 -14
  72. package/src/finance-company/finance-company.repository.ts +11 -11
  73. package/src/finance-company/finance-company.ts +2176 -2094
  74. package/src/helpers/login-user.ts +38 -38
  75. package/src/helpers/typeof.ts +35 -35
  76. package/src/index.ts +32 -32
  77. package/src/interfaces/account-system.interface.ts +20 -20
  78. package/src/interfaces/index.ts +3 -3
  79. package/src/models/account.entity.ts +206 -206
  80. package/src/models/customer.entity.ts +93 -93
  81. package/src/models/document-item.entity.ts +143 -143
  82. package/src/models/document.entity.ts +211 -211
  83. package/src/models/finance-company.entity.ts +29 -29
  84. package/src/models/journal-entry.entity.ts +110 -110
  85. package/src/models/ledger-transaction.entity.ts +148 -148
  86. package/src/models/payment-item.entity.ts +60 -60
  87. package/src/models/payment-method-type.entity.ts +70 -70
  88. package/src/models/payment-method.entity.ts +51 -51
  89. package/src/models/payment.entity.ts +165 -165
  90. package/src/models/post-history.entity.ts +41 -41
  91. package/src/models/tax.entity.ts +75 -75
  92. package/src/payment/interfaces/payment-attr.interface.ts +23 -23
  93. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  94. package/src/payment/payment.repository.ts +11 -11
  95. package/src/payment/payment.ts +240 -236
  96. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  97. package/src/payment-item/payment-item.repository.ts +11 -11
  98. package/src/payment-item/payment-item.ts +133 -133
  99. package/src/payment-method/payment-method.repository.ts +11 -11
  100. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  101. package/src/tax/interfaces/tax-attr.interface.ts +10 -10
  102. package/src/tax/tax.repository.ts +11 -11
  103. package/src/tax/tax.ts +61 -61
  104. package/src/test-document.ts +25 -25
  105. package/src/test.ts +3 -3
  106. package/tsconfig.build.json +4 -4
  107. package/tsconfig.json +22 -22
  108. package/tslint.json +18 -18
@@ -1,38 +1,38 @@
1
- import { LoginUserBase } from '@tomei/general';
2
-
3
- export class LoginUser extends LoginUserBase {
4
- ObjectId: string;
5
- ObjectName: string;
6
- TableName: string;
7
- Roles: string[];
8
- Privileges: string[];
9
- private _ObjectType: 'LoginUser';
10
-
11
- get ObjectType() {
12
- return this._ObjectType;
13
- }
14
-
15
- checkPrivileges(
16
- SystemCode: string,
17
- PrivilegeName: string,
18
- ): boolean | Promise<boolean> {
19
- if (this.Privileges.includes(PrivilegeName)) {
20
- return true;
21
- }
22
- return false;
23
- }
24
-
25
- CheckRole(SystemCode: string, RoleName: string): boolean | Promise<boolean> {
26
- if (this.Roles.includes(RoleName)) {
27
- return true;
28
- }
29
- return false;
30
- }
31
-
32
- constructor(objectId: string, objectName: string, tableName: string) {
33
- super();
34
- this.ObjectId = objectId;
35
- this.ObjectName = objectName;
36
- this.TableName = tableName;
37
- }
38
- }
1
+ import { LoginUserBase } from '@tomei/general';
2
+
3
+ export class LoginUser extends LoginUserBase {
4
+ ObjectId: string;
5
+ ObjectName: string;
6
+ TableName: string;
7
+ Roles: string[];
8
+ Privileges: string[];
9
+ private _ObjectType: 'LoginUser';
10
+
11
+ get ObjectType() {
12
+ return this._ObjectType;
13
+ }
14
+
15
+ checkPrivileges(
16
+ SystemCode: string,
17
+ PrivilegeName: string,
18
+ ): boolean | Promise<boolean> {
19
+ if (this.Privileges.includes(PrivilegeName)) {
20
+ return true;
21
+ }
22
+ return false;
23
+ }
24
+
25
+ CheckRole(SystemCode: string, RoleName: string): boolean | Promise<boolean> {
26
+ if (this.Roles.includes(RoleName)) {
27
+ return true;
28
+ }
29
+ return false;
30
+ }
31
+
32
+ constructor(objectId: string, objectName: string, tableName: string) {
33
+ super();
34
+ this.ObjectId = objectId;
35
+ this.ObjectName = objectName;
36
+ this.TableName = tableName;
37
+ }
38
+ }
@@ -1,35 +1,35 @@
1
- export function type(value: any): string {
2
- if (value === null) {
3
- return 'null';
4
- }
5
-
6
- const baseType = typeof value;
7
-
8
- if (!['object', 'function'].includes(baseType)) {
9
- return baseType;
10
- }
11
-
12
- // if value is object and have propery ObjectType: string return ObjectType instead.
13
- if (baseType === 'object' && value.ObjectType) {
14
- return value.ObjectType;
15
- }
16
-
17
- const tag = value[Symbol.toStringTag];
18
- if (typeof tag === 'string') {
19
- return tag;
20
- }
21
-
22
- if (
23
- baseType === 'function' &&
24
- Function.prototype.toString.call(value).startsWith('class')
25
- ) {
26
- return Function.prototype.toString.call(value).split(' ')[1];
27
- }
28
-
29
- const className = value.constructor.name;
30
- if (typeof className === 'string' && className !== '') {
31
- return className;
32
- }
33
-
34
- return baseType;
35
- }
1
+ export function type(value: any): string {
2
+ if (value === null) {
3
+ return 'null';
4
+ }
5
+
6
+ const baseType = typeof value;
7
+
8
+ if (!['object', 'function'].includes(baseType)) {
9
+ return baseType;
10
+ }
11
+
12
+ // if value is object and have propery ObjectType: string return ObjectType instead.
13
+ if (baseType === 'object' && value.ObjectType) {
14
+ return value.ObjectType;
15
+ }
16
+
17
+ const tag = value[Symbol.toStringTag];
18
+ if (typeof tag === 'string') {
19
+ return tag;
20
+ }
21
+
22
+ if (
23
+ baseType === 'function' &&
24
+ Function.prototype.toString.call(value).startsWith('class')
25
+ ) {
26
+ return Function.prototype.toString.call(value).split(' ')[1];
27
+ }
28
+
29
+ const className = value.constructor.name;
30
+ if (typeof className === 'string' && className !== '') {
31
+ return className;
32
+ }
33
+
34
+ return baseType;
35
+ }
package/src/index.ts CHANGED
@@ -1,32 +1,32 @@
1
- import Account from './account/account';
2
- import FinanceCompany from './finance-company/finance-company';
3
- import FinanceCustomerBase from './customer/customer';
4
- import Document from './document/document';
5
- import DocumentItem from './document/document-item';
6
- import JournalEntry from './journal-entry/journal-entry';
7
- import LedgerTransaction from './ledger-transaction/ledger-transaction';
8
- import Payment from './payment/payment';
9
- import PaymentItem from './payment-item/payment-item';
10
- import PaymentMethod from './payment-method/payment-method';
11
- import PaymentMethodType from './payment-method-type/payment-method-type';
12
- import PaymentPaidWith from './payment-paid-with/payment-paid-with';
13
- import { TestDocument } from './test-document';
14
-
15
- export {
16
- FinanceCompany,
17
- Account,
18
- FinanceCustomerBase,
19
- Document,
20
- DocumentItem,
21
- JournalEntry,
22
- LedgerTransaction,
23
- Payment,
24
- PaymentItem,
25
- PaymentMethod,
26
- PaymentMethodType,
27
- PaymentPaidWith,
28
- TestDocument,
29
- };
30
- export * as FinanceEnum from './enum';
31
- export * as FinanceInterfaces from './interfaces';
32
- export * as FinanceDb from './database';
1
+ import Account from './account/account';
2
+ import FinanceCompany from './finance-company/finance-company';
3
+ import FinanceCustomerBase from './customer/customer';
4
+ import Document from './document/document';
5
+ import DocumentItem from './document/document-item';
6
+ import JournalEntry from './journal-entry/journal-entry';
7
+ import LedgerTransaction from './ledger-transaction/ledger-transaction';
8
+ import Payment from './payment/payment';
9
+ import PaymentItem from './payment-item/payment-item';
10
+ import PaymentMethod from './payment-method/payment-method';
11
+ import PaymentMethodType from './payment-method-type/payment-method-type';
12
+ import PaymentPaidWith from './payment-paid-with/payment-paid-with';
13
+ import { TestDocument } from './test-document';
14
+
15
+ export {
16
+ FinanceCompany,
17
+ Account,
18
+ FinanceCustomerBase,
19
+ Document,
20
+ DocumentItem,
21
+ JournalEntry,
22
+ LedgerTransaction,
23
+ Payment,
24
+ PaymentItem,
25
+ PaymentMethod,
26
+ PaymentMethodType,
27
+ PaymentPaidWith,
28
+ TestDocument,
29
+ };
30
+ export * as FinanceEnum from './enum';
31
+ export * as FinanceInterfaces from './interfaces';
32
+ export * as FinanceDb from './database';
@@ -1,20 +1,20 @@
1
- import Payment from '../payment/payment';
2
- import FinanceCustomerBase from '../customer/customer';
3
-
4
- export interface IAccountSystem {
5
- createAccount(payload: any): Promise<any>;
6
- createInvoice(payload: any): Promise<any>;
7
- createDebitNote(payload: any): Promise<any>;
8
- createCreditNote(payload: any): Promise<any>;
9
- postTransaction(payload: any): Promise<any>;
10
- createCustomer(payload: any): Promise<any>;
11
- makePayment(
12
- customer: FinanceCustomerBase,
13
- paymentInfo: Payment,
14
- ): Promise<any>;
15
- collectPayments(
16
- customer: FinanceCustomerBase,
17
- paymentInfo: Payment,
18
- ): Promise<any>;
19
- postJournalEntry(payload: any): Promise<any>;
20
- }
1
+ import Payment from '../payment/payment';
2
+ import FinanceCustomerBase from '../customer/customer';
3
+
4
+ export interface IAccountSystem {
5
+ createAccount(payload: any): Promise<any>;
6
+ createInvoice(payload: any): Promise<any>;
7
+ createDebitNote(payload: any): Promise<any>;
8
+ createCreditNote(payload: any): Promise<any>;
9
+ postTransaction(payload: any): Promise<any>;
10
+ createCustomer(payload: any): Promise<any>;
11
+ makePayment(
12
+ customer: FinanceCustomerBase,
13
+ paymentInfo: Payment,
14
+ ): Promise<any>;
15
+ collectPayments(
16
+ customer: FinanceCustomerBase,
17
+ paymentInfo: Payment,
18
+ ): Promise<any>;
19
+ postJournalEntry(payload: any): Promise<any>;
20
+ }
@@ -1,3 +1,3 @@
1
- import { IAccountSystem } from '../interfaces/account-system.interface';
2
-
3
- export { IAccountSystem };
1
+ import { IAccountSystem } from '../interfaces/account-system.interface';
2
+
3
+ export { IAccountSystem };
@@ -1,206 +1,206 @@
1
- import { ApiProperty } from '@nestjs/swagger';
2
- import {
3
- ForeignKey,
4
- BelongsTo,
5
- Column,
6
- CreatedAt,
7
- Model,
8
- Table,
9
- DataType,
10
- UpdatedAt,
11
- HasMany,
12
- } from 'sequelize-typescript';
13
- import LedgerTransactionModel from './ledger-transaction.entity';
14
- import DocumentItemModel from './document-item.entity';
15
- import FinanceCompanyModel from './finance-company.entity';
16
- import PaymentMethodTypeModel from './payment-method-type.entity';
17
-
18
- @Table({ tableName: 'finance_Account' })
19
- export default class AccountModel extends Model {
20
- @ApiProperty({ type: String, description: 'AccountNo' })
21
- @Column({
22
- primaryKey: true,
23
- allowNull: false,
24
- type: DataType.STRING(30),
25
- })
26
- AccountNo: string;
27
-
28
- @ApiProperty({
29
- example: 'cl6nzvo780000qcw38ihpd8w6',
30
- description: 'CompanyId',
31
- })
32
- @ForeignKey(() => FinanceCompanyModel)
33
- @Column({
34
- allowNull: false,
35
- type: DataType.STRING(30),
36
- })
37
- CompanyId: string;
38
-
39
- //copy from finance account migration table
40
- @ApiProperty({ type: String, description: 'Parent account of this object' })
41
- @Column({
42
- type: DataType.STRING(30),
43
- allowNull: true,
44
- })
45
- ParentAccountNo: string;
46
-
47
- @ApiProperty({
48
- type: String,
49
- description: 'Name of the account',
50
- })
51
- @Column({
52
- allowNull: false,
53
- type: DataType.STRING(200),
54
- })
55
- Name: string;
56
-
57
- @ApiProperty({
58
- type: String,
59
- description: 'Account description',
60
- })
61
- @Column({
62
- allowNull: true,
63
- type: DataType.STRING(2000),
64
- })
65
- Description: string;
66
-
67
- @ApiProperty({
68
- type: String,
69
- description: 'Account Type',
70
- })
71
- @Column({
72
- allowNull: false,
73
- type: DataType.STRING(100),
74
- })
75
- AccountType: string;
76
-
77
- @ApiProperty({
78
- type: String,
79
- description: 'Account Sub Type',
80
- })
81
- @Column({
82
- allowNull: true,
83
- type: DataType.STRING(100),
84
- })
85
- AccountSubType: string;
86
-
87
- @ApiProperty({
88
- type: String,
89
- description: 'Owner id of the account',
90
- })
91
- @Column({
92
- allowNull: true,
93
- type: DataType.STRING(30),
94
- })
95
- OwnerId: string;
96
-
97
- @ApiProperty({
98
- type: String,
99
- description: 'Owner type',
100
- })
101
- @Column({
102
- allowNull: true,
103
- type: DataType.STRING(200),
104
- })
105
- OwnerType: string;
106
-
107
- @ApiProperty({ type: String, description: 'Associated Object id' })
108
- @Column({
109
- allowNull: true,
110
- type: DataType.STRING(30),
111
- })
112
- RelatedObjectId: string;
113
-
114
- @ApiProperty({ type: String, description: 'Associated Object type' })
115
- @Column({
116
- allowNull: true,
117
- type: DataType.STRING(200),
118
- })
119
- RelatedObjectType: string;
120
-
121
- @ApiProperty({
122
- example: new Date(),
123
- description: 'Timestamp for data creation.',
124
- })
125
- @CreatedAt
126
- CreatedAt: Date;
127
-
128
- @ApiProperty({
129
- example: '138140891dd211b288d34bc7b4312a49',
130
- description: 'The CreatedById for Media.',
131
- })
132
- @Column({
133
- allowNull: false,
134
- type: DataType.STRING(30),
135
- })
136
- CreatedById: string;
137
-
138
- @ApiProperty({
139
- example: new Date(),
140
- description: 'Timestamp for latest data modification',
141
- })
142
- @UpdatedAt
143
- UpdatedAt: Date;
144
-
145
- @ApiProperty({
146
- example: '138140891dd211b288d34bc7b4312a49',
147
- description: 'The UpdatedById for Media.',
148
- })
149
- @Column({
150
- allowNull: true,
151
- type: DataType.STRING(30),
152
- })
153
- UpdatedById: string;
154
-
155
- @ApiProperty({
156
- type: String,
157
- description: 'Account id in finance system',
158
- })
159
- @Column({
160
- allowNull: false,
161
- type: DataType.STRING(10),
162
- })
163
- AccSystemRefId: string;
164
-
165
- @ApiProperty({
166
- example: 'N',
167
- description: 'PostedToAccSystemYN',
168
- })
169
- @Column({
170
- allowNull: false,
171
- type: DataType.ENUM('Y', 'N'),
172
- })
173
- PostedToAccSystemYN: string;
174
-
175
- @ApiProperty({
176
- example: '138140891dd211b288',
177
- description: 'PostedById',
178
- })
179
- @Column({
180
- allowNull: true,
181
- type: DataType.STRING(30),
182
- })
183
- PostedById: string;
184
-
185
- @ApiProperty({
186
- example: new Date(),
187
- description: 'PostedToAccSystem Date',
188
- })
189
- @Column({
190
- allowNull: true,
191
- type: DataType.DATE,
192
- })
193
- PostedDateTime: Date;
194
-
195
- @HasMany(() => PaymentMethodTypeModel)
196
- PaymentMethodTypes: PaymentMethodTypeModel[];
197
-
198
- @HasMany(() => DocumentItemModel)
199
- DocumentItems: DocumentItemModel[];
200
-
201
- @HasMany(() => LedgerTransactionModel)
202
- LedgerTransactions: LedgerTransactionModel[];
203
-
204
- @BelongsTo(() => FinanceCompanyModel)
205
- FinanceCompany: FinanceCompanyModel;
206
- }
1
+ import { ApiProperty } from '@nestjs/swagger';
2
+ import {
3
+ ForeignKey,
4
+ BelongsTo,
5
+ Column,
6
+ CreatedAt,
7
+ Model,
8
+ Table,
9
+ DataType,
10
+ UpdatedAt,
11
+ HasMany,
12
+ } from 'sequelize-typescript';
13
+ import LedgerTransactionModel from './ledger-transaction.entity';
14
+ import DocumentItemModel from './document-item.entity';
15
+ import FinanceCompanyModel from './finance-company.entity';
16
+ import PaymentMethodTypeModel from './payment-method-type.entity';
17
+
18
+ @Table({ tableName: 'finance_Account' })
19
+ export default class AccountModel extends Model {
20
+ @ApiProperty({ type: String, description: 'AccountNo' })
21
+ @Column({
22
+ primaryKey: true,
23
+ allowNull: false,
24
+ type: DataType.STRING(30),
25
+ })
26
+ AccountNo: string;
27
+
28
+ @ApiProperty({
29
+ example: 'cl6nzvo780000qcw38ihpd8w6',
30
+ description: 'CompanyId',
31
+ })
32
+ @ForeignKey(() => FinanceCompanyModel)
33
+ @Column({
34
+ allowNull: false,
35
+ type: DataType.STRING(30),
36
+ })
37
+ CompanyId: string;
38
+
39
+ //copy from finance account migration table
40
+ @ApiProperty({ type: String, description: 'Parent account of this object' })
41
+ @Column({
42
+ type: DataType.STRING(30),
43
+ allowNull: true,
44
+ })
45
+ ParentAccountNo: string;
46
+
47
+ @ApiProperty({
48
+ type: String,
49
+ description: 'Name of the account',
50
+ })
51
+ @Column({
52
+ allowNull: false,
53
+ type: DataType.STRING(200),
54
+ })
55
+ Name: string;
56
+
57
+ @ApiProperty({
58
+ type: String,
59
+ description: 'Account description',
60
+ })
61
+ @Column({
62
+ allowNull: true,
63
+ type: DataType.STRING(2000),
64
+ })
65
+ Description: string;
66
+
67
+ @ApiProperty({
68
+ type: String,
69
+ description: 'Account Type',
70
+ })
71
+ @Column({
72
+ allowNull: false,
73
+ type: DataType.STRING(100),
74
+ })
75
+ AccountType: string;
76
+
77
+ @ApiProperty({
78
+ type: String,
79
+ description: 'Account Sub Type',
80
+ })
81
+ @Column({
82
+ allowNull: true,
83
+ type: DataType.STRING(100),
84
+ })
85
+ AccountSubType: string;
86
+
87
+ @ApiProperty({
88
+ type: String,
89
+ description: 'Owner id of the account',
90
+ })
91
+ @Column({
92
+ allowNull: true,
93
+ type: DataType.STRING(30),
94
+ })
95
+ OwnerId: string;
96
+
97
+ @ApiProperty({
98
+ type: String,
99
+ description: 'Owner type',
100
+ })
101
+ @Column({
102
+ allowNull: true,
103
+ type: DataType.STRING(200),
104
+ })
105
+ OwnerType: string;
106
+
107
+ @ApiProperty({ type: String, description: 'Associated Object id' })
108
+ @Column({
109
+ allowNull: true,
110
+ type: DataType.STRING(30),
111
+ })
112
+ RelatedObjectId: string;
113
+
114
+ @ApiProperty({ type: String, description: 'Associated Object type' })
115
+ @Column({
116
+ allowNull: true,
117
+ type: DataType.STRING(200),
118
+ })
119
+ RelatedObjectType: string;
120
+
121
+ @ApiProperty({
122
+ example: new Date(),
123
+ description: 'Timestamp for data creation.',
124
+ })
125
+ @CreatedAt
126
+ CreatedAt: Date;
127
+
128
+ @ApiProperty({
129
+ example: '138140891dd211b288d34bc7b4312a49',
130
+ description: 'The CreatedById for Media.',
131
+ })
132
+ @Column({
133
+ allowNull: false,
134
+ type: DataType.STRING(30),
135
+ })
136
+ CreatedById: string;
137
+
138
+ @ApiProperty({
139
+ example: new Date(),
140
+ description: 'Timestamp for latest data modification',
141
+ })
142
+ @UpdatedAt
143
+ UpdatedAt: Date;
144
+
145
+ @ApiProperty({
146
+ example: '138140891dd211b288d34bc7b4312a49',
147
+ description: 'The UpdatedById for Media.',
148
+ })
149
+ @Column({
150
+ allowNull: true,
151
+ type: DataType.STRING(30),
152
+ })
153
+ UpdatedById: string;
154
+
155
+ @ApiProperty({
156
+ type: String,
157
+ description: 'Account id in finance system',
158
+ })
159
+ @Column({
160
+ allowNull: false,
161
+ type: DataType.STRING(10),
162
+ })
163
+ AccSystemRefId: string;
164
+
165
+ @ApiProperty({
166
+ example: 'N',
167
+ description: 'PostedToAccSystemYN',
168
+ })
169
+ @Column({
170
+ allowNull: false,
171
+ type: DataType.ENUM('Y', 'N'),
172
+ })
173
+ PostedToAccSystemYN: string;
174
+
175
+ @ApiProperty({
176
+ example: '138140891dd211b288',
177
+ description: 'PostedById',
178
+ })
179
+ @Column({
180
+ allowNull: true,
181
+ type: DataType.STRING(30),
182
+ })
183
+ PostedById: string;
184
+
185
+ @ApiProperty({
186
+ example: new Date(),
187
+ description: 'PostedToAccSystem Date',
188
+ })
189
+ @Column({
190
+ allowNull: true,
191
+ type: DataType.DATE,
192
+ })
193
+ PostedDateTime: Date;
194
+
195
+ @HasMany(() => PaymentMethodTypeModel)
196
+ PaymentMethodTypes: PaymentMethodTypeModel[];
197
+
198
+ @HasMany(() => DocumentItemModel)
199
+ DocumentItems: DocumentItemModel[];
200
+
201
+ @HasMany(() => LedgerTransactionModel)
202
+ LedgerTransactions: LedgerTransactionModel[];
203
+
204
+ @BelongsTo(() => FinanceCompanyModel)
205
+ FinanceCompany: FinanceCompanyModel;
206
+ }