@tomei/finance 0.6.97 → 0.6.99

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 (113) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc.js +72 -72
  3. package/.gitlab-ci.yml +16 -16
  4. package/.husky/commit-msg +4 -4
  5. package/.husky/pre-commit +4 -4
  6. package/.prettierrc +4 -4
  7. package/CONTRIBUTING.md +30 -30
  8. package/LICENSE +21 -21
  9. package/README.md +13 -13
  10. package/configs/config.js +348 -348
  11. package/dist/account/account.js +37 -13
  12. package/dist/account/account.js.map +1 -1
  13. package/dist/customer/customer.js.map +1 -1
  14. package/dist/document/document.d.ts +3 -1
  15. package/dist/document/document.js +29 -2
  16. package/dist/document/document.js.map +1 -1
  17. package/dist/finance-company/finance-company.js +8 -2
  18. package/dist/finance-company/finance-company.js.map +1 -1
  19. package/dist/interfaces/account-system.interface.d.ts +4 -1
  20. package/dist/payment-item/payment-item.js +4 -4
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/invoice-template/assets/css/style.css.map +12 -12
  23. package/invoice-template/assets/css/style.min.css +1 -1
  24. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  25. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  26. package/invoice-template/assets/img/logo_accent.svg +3 -3
  27. package/invoice-template/assets/img/logo_white.svg +4 -4
  28. package/invoice-template/assets/img/sign.svg +12 -12
  29. package/invoice-template/assets/img/tomei-logo.svg +9 -9
  30. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  31. package/invoice-template/assets/js/jquery.min.js +1 -1
  32. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  33. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  34. package/invoice-template/assets/sass/style.scss +12 -12
  35. package/migrations/finance-account-migration.js +97 -97
  36. package/migrations/finance-company-migration.js +29 -29
  37. package/migrations/finance-customer-migration.js +51 -51
  38. package/migrations/finance-document-item-migration.js +111 -111
  39. package/migrations/finance-document-migration.js +122 -122
  40. package/migrations/finance-journal-entry-migration.js +59 -59
  41. package/migrations/finance-ledger-transaction-migration.js +89 -89
  42. package/migrations/finance-payment-item-migration.js +52 -52
  43. package/migrations/finance-payment-method-migration.js +31 -31
  44. package/migrations/finance-payment-method-type-migration.js +55 -55
  45. package/migrations/finance-payment-migration.js +96 -96
  46. package/migrations/finance-post-history-migration.js +45 -45
  47. package/migrations/finance-tax-migration.js +52 -52
  48. package/migrations/refactor-finance-document-migration.js +71 -71
  49. package/migrations/update-document-item.migration.js +87 -87
  50. package/nest-cli.json +19 -19
  51. package/package.json +82 -82
  52. package/sonar-project.properties +12 -12
  53. package/src/account/account.repository.ts +11 -11
  54. package/src/account/account.ts +305 -278
  55. package/src/account/interfaces/account-attr.interface.ts +31 -31
  56. package/src/account-system-entity/account-system-entity.ts +66 -66
  57. package/src/account-system-entity/post-history.repository.ts +11 -11
  58. package/src/config.ts +382 -382
  59. package/src/customer/customer.ts +310 -309
  60. package/src/customer/finance-customer.repository.ts +13 -13
  61. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  62. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  63. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  64. package/src/database.ts +48 -48
  65. package/src/document/document-item.repository.ts +11 -11
  66. package/src/document/document.repository.ts +11 -11
  67. package/src/document/document.ts +60 -11
  68. package/src/document/interfaces/document-attr.interface.ts +28 -28
  69. package/src/document/interfaces/document-item-attr.interface.ts +26 -26
  70. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  71. package/src/enum/collect-payment-type.ts +3 -3
  72. package/src/enum/doc-type.enum.ts +8 -8
  73. package/src/enum/index.ts +19 -19
  74. package/src/enum/payment-method.enum.ts +3 -3
  75. package/src/enum/payment-type.enum.ts +4 -4
  76. package/src/enum/quick-book-client-scopes.enum.ts +14 -14
  77. package/src/finance-company/finance-company.repository.ts +11 -11
  78. package/src/finance-company/finance-company.ts +2436 -2424
  79. package/src/helpers/login-user.ts +38 -38
  80. package/src/helpers/typeof.ts +35 -35
  81. package/src/index.ts +32 -32
  82. package/src/interfaces/account-system.interface.ts +51 -36
  83. package/src/interfaces/index.ts +3 -3
  84. package/src/models/account.entity.ts +206 -206
  85. package/src/models/customer.entity.ts +93 -93
  86. package/src/models/document-item.entity.ts +167 -167
  87. package/src/models/document.entity.ts +211 -211
  88. package/src/models/finance-company.entity.ts +69 -69
  89. package/src/models/journal-entry.entity.ts +110 -110
  90. package/src/models/ledger-transaction.entity.ts +148 -148
  91. package/src/models/payment-item.entity.ts +60 -60
  92. package/src/models/payment-method-type.entity.ts +70 -70
  93. package/src/models/payment-method.entity.ts +51 -51
  94. package/src/models/payment.entity.ts +165 -165
  95. package/src/models/post-history.entity.ts +41 -41
  96. package/src/models/tax.entity.ts +75 -75
  97. package/src/payment/interfaces/payment-attr.interface.ts +23 -23
  98. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  99. package/src/payment/payment.repository.ts +11 -11
  100. package/src/payment/payment.ts +236 -236
  101. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  102. package/src/payment-item/payment-item.repository.ts +11 -11
  103. package/src/payment-item/payment-item.ts +134 -134
  104. package/src/payment-method/payment-method.repository.ts +11 -11
  105. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  106. package/src/tax/interfaces/tax-attr.interface.ts +10 -10
  107. package/src/tax/tax.repository.ts +11 -11
  108. package/src/tax/tax.ts +69 -69
  109. package/src/test-document.ts +25 -25
  110. package/src/test.ts +3 -3
  111. package/tsconfig.build.json +4 -4
  112. package/tsconfig.json +22 -22
  113. 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,36 +1,51 @@
1
- import Payment from '../payment/payment';
2
- import FinanceCustomerBase from '../customer/customer';
3
- import Account from '../account/account';
4
- import JournalEntry from '../journal-entry/journal-entry';
5
- import Document from '../document/document';
6
-
7
- export interface IAccountSystem {
8
- createAccount(Account: Account, dbTransaction?: any): Promise<string>;
9
- createInvoice(payload: {
10
- customer: FinanceCustomerBase;
11
- invoice: Document;
12
- paymentMode: "cash" | "credit";
13
- }, dbTransaction?: any): Promise<{
14
- invoiceRefId: string;
15
- invoiceItems: {
16
- name: string;
17
- itemRefId: string;
18
- }[];
19
- }>;
20
- createDebitNote(payload: any, dbTransaction?: any): Promise<any>;
21
- createCreditNote(payload: any, dbTransaction?: any): Promise<any>;
22
- postTransaction(journalEntry: JournalEntry, dbTransaction?: any): Promise<any>;
23
- createCustomer(customer: FinanceCustomerBase, dbTransaction?: any): Promise<string>;
24
- updateCustomer(customer: FinanceCustomerBase, dbTransaction?: any): Promise<any>;
25
- makePayment(
26
- customer: FinanceCustomerBase,
27
- paymentInfo: Payment,
28
- dbTransaction?: any
29
- ): Promise<string>;
30
- collectPayments(
31
- customer: FinanceCustomerBase,
32
- paymentInfo: Payment,
33
- dbTransaction?: any
34
- ): Promise<string>;
35
- postJournalEntry(payload: any): Promise<string>;
36
- }
1
+ import Payment from '../payment/payment';
2
+ import FinanceCustomerBase from '../customer/customer';
3
+ import Account from '../account/account';
4
+ import JournalEntry from '../journal-entry/journal-entry';
5
+ import Document from '../document/document';
6
+ import { DocumentStatus } from '../enum/document-status.enum';
7
+
8
+ export interface IAccountSystem {
9
+ createAccount(Account: Account, dbTransaction?: any): Promise<string>;
10
+ createInvoice(
11
+ payload: {
12
+ customer: FinanceCustomerBase;
13
+ invoice: Document;
14
+ paymentMode: 'cash' | 'credit';
15
+ },
16
+ dbTransaction?: any,
17
+ ): Promise<{
18
+ invoiceRefId: string;
19
+ invoiceItems: {
20
+ name: string;
21
+ itemRefId: string;
22
+ }[];
23
+ invoiceNo: string;
24
+ }>;
25
+ createDebitNote(payload: any, dbTransaction?: any): Promise<any>;
26
+ createCreditNote(payload: any, dbTransaction?: any): Promise<any>;
27
+ postTransaction(
28
+ journalEntry: JournalEntry,
29
+ dbTransaction?: any,
30
+ ): Promise<any>;
31
+ createCustomer(
32
+ customer: FinanceCustomerBase,
33
+ dbTransaction?: any,
34
+ ): Promise<string>;
35
+ updateCustomer(
36
+ customer: FinanceCustomerBase,
37
+ dbTransaction?: any,
38
+ ): Promise<any>;
39
+ makePayment(
40
+ customer: FinanceCustomerBase,
41
+ paymentInfo: Payment,
42
+ dbTransaction?: any,
43
+ ): Promise<string>;
44
+ collectPayments(
45
+ customer: FinanceCustomerBase,
46
+ paymentInfo: Payment,
47
+ dbTransaction?: any,
48
+ ): Promise<string>;
49
+ postJournalEntry(payload: any): Promise<string>;
50
+ getInvoiceStatus(AccSystemRefId: any): Promise<DocumentStatus>;
51
+ }
@@ -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 };