@tomei/finance 0.6.48 → 0.6.50

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 (101) 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/document/document.js +9 -9
  11. package/dist/document/document.js.map +1 -1
  12. package/dist/finance-company/finance-company.js +48 -32
  13. package/dist/finance-company/finance-company.js.map +1 -1
  14. package/dist/payment-item/payment-item.js +4 -4
  15. package/dist/tsconfig.tsbuildinfo +1 -1
  16. package/invoice-template/assets/css/style.css.map +12 -12
  17. package/invoice-template/assets/css/style.min.css +1 -1
  18. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  19. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  20. package/invoice-template/assets/img/logo_accent.svg +3 -3
  21. package/invoice-template/assets/img/logo_white.svg +4 -4
  22. package/invoice-template/assets/img/sign.svg +12 -12
  23. package/invoice-template/assets/img/tomei-logo.svg +9 -9
  24. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  25. package/invoice-template/assets/js/jquery.min.js +1 -1
  26. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  27. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  28. package/invoice-template/assets/sass/style.scss +12 -12
  29. package/migrations/finance-account-migration.js +97 -97
  30. package/migrations/finance-company-migration.js +29 -29
  31. package/migrations/finance-customer-migration.js +51 -51
  32. package/migrations/finance-document-item-migration.js +111 -111
  33. package/migrations/finance-document-migration.js +122 -122
  34. package/migrations/finance-journal-entry-migration.js +59 -59
  35. package/migrations/finance-ledger-transaction-migration.js +89 -89
  36. package/migrations/finance-payment-item-migration.js +52 -52
  37. package/migrations/finance-payment-method-migration.js +31 -31
  38. package/migrations/finance-payment-method-type-migration.js +55 -55
  39. package/migrations/finance-payment-migration.js +96 -96
  40. package/migrations/finance-post-history-migration.js +45 -45
  41. package/migrations/finance-tax-migration.js +52 -52
  42. package/nest-cli.json +19 -19
  43. package/package.json +82 -82
  44. package/src/account/account.repository.ts +11 -11
  45. package/src/account/account.ts +276 -276
  46. package/src/account/interfaces/account-attr.interface.ts +31 -31
  47. package/src/account-system-entity/account-system-entity.ts +66 -66
  48. package/src/account-system-entity/post-history.repository.ts +11 -11
  49. package/src/config.ts +382 -382
  50. package/src/customer/customer.ts +300 -300
  51. package/src/customer/finance-customer.repository.ts +13 -13
  52. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  53. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  54. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  55. package/src/database.ts +48 -48
  56. package/src/document/document-item.repository.ts +11 -11
  57. package/src/document/document.repository.ts +11 -11
  58. package/src/document/document.ts +11 -10
  59. package/src/document/interfaces/document-attr.interface.ts +28 -28
  60. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  61. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  62. package/src/enum/doc-type.enum.ts +8 -8
  63. package/src/enum/index.ts +17 -17
  64. package/src/enum/payment-method.enum.ts +3 -3
  65. package/src/enum/payment-type.enum.ts +4 -4
  66. package/src/finance-company/finance-company.repository.ts +11 -11
  67. package/src/finance-company/finance-company.ts +2085 -2066
  68. package/src/helpers/login-user.ts +38 -38
  69. package/src/helpers/typeof.ts +35 -35
  70. package/src/index.ts +32 -32
  71. package/src/interfaces/account-system.interface.ts +20 -20
  72. package/src/interfaces/index.ts +3 -3
  73. package/src/models/account.entity.ts +206 -206
  74. package/src/models/customer.entity.ts +93 -93
  75. package/src/models/document-item.entity.ts +143 -143
  76. package/src/models/document.entity.ts +211 -211
  77. package/src/models/finance-company.entity.ts +29 -29
  78. package/src/models/journal-entry.entity.ts +110 -110
  79. package/src/models/ledger-transaction.entity.ts +148 -148
  80. package/src/models/payment-item.entity.ts +60 -60
  81. package/src/models/payment-method-type.entity.ts +70 -70
  82. package/src/models/payment-method.entity.ts +51 -51
  83. package/src/models/payment.entity.ts +165 -165
  84. package/src/models/post-history.entity.ts +41 -41
  85. package/src/models/tax.entity.ts +75 -75
  86. package/src/payment/interfaces/payment-attr.interface.ts +23 -23
  87. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  88. package/src/payment/payment.repository.ts +11 -11
  89. package/src/payment/payment.ts +236 -236
  90. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  91. package/src/payment-item/payment-item.repository.ts +11 -11
  92. package/src/payment-item/payment-item.ts +133 -133
  93. package/src/payment-method/payment-method.repository.ts +11 -11
  94. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  95. package/src/tax/interfaces/tax-attr.interface.ts +10 -10
  96. package/src/tax/tax.repository.ts +11 -11
  97. package/src/tax/tax.ts +61 -61
  98. package/src/test-document.ts +25 -25
  99. package/tsconfig.build.json +4 -4
  100. package/tsconfig.json +22 -22
  101. package/tslint.json +18 -18
package/src/database.ts CHANGED
@@ -1,48 +1,48 @@
1
- import { Sequelize, SequelizeOptions } from 'sequelize-typescript';
2
- import AccountModel from './models/account.entity';
3
- import FinanceCustomerModel from './models/customer.entity';
4
- import DocumentItemModel from './models/document-item.entity';
5
- import DocumentModel from './models/document.entity';
6
- import FinanceCompanyModel from './models/finance-company.entity';
7
- import JournalEntryModel from './models/journal-entry.entity';
8
- import LedgerTransactionModel from './models/ledger-transaction.entity';
9
- import PaymentItemModel from './models/payment-item.entity';
10
- import PaymentMethodTypeModel from './models/payment-method-type.entity';
11
- import PaymentMethodModel from './models/payment-method.entity';
12
- import PaymentPaidWithModel from './models/payment-paid-with.entity';
13
- import PaymentModel from './models/payment.entity';
14
- import FinancePostHistoryModel from './models/post-history.entity';
15
- import { MediasModel } from '@tomei/media';
16
- import ActivityHistoryModel from '@tomei/activity-history/dist/src/models/activity-history.entity';
17
- import FinanceTaxModel from './models/tax.entity';
18
-
19
- let sequelize: Sequelize;
20
-
21
- function init(sequelizeOptions: SequelizeOptions) {
22
- sequelize = new Sequelize(sequelizeOptions);
23
-
24
- sequelize.addModels([
25
- AccountModel,
26
- FinanceCustomerModel,
27
- DocumentItemModel,
28
- DocumentModel,
29
- FinanceCompanyModel,
30
- JournalEntryModel,
31
- LedgerTransactionModel,
32
- PaymentItemModel,
33
- PaymentMethodTypeModel,
34
- PaymentMethodModel,
35
- PaymentPaidWithModel,
36
- PaymentModel,
37
- FinancePostHistoryModel,
38
- MediasModel,
39
- ActivityHistoryModel,
40
- FinanceTaxModel,
41
- ]);
42
- }
43
-
44
- function getConnection() {
45
- return sequelize;
46
- }
47
-
48
- export { init, getConnection };
1
+ import { Sequelize, SequelizeOptions } from 'sequelize-typescript';
2
+ import AccountModel from './models/account.entity';
3
+ import FinanceCustomerModel from './models/customer.entity';
4
+ import DocumentItemModel from './models/document-item.entity';
5
+ import DocumentModel from './models/document.entity';
6
+ import FinanceCompanyModel from './models/finance-company.entity';
7
+ import JournalEntryModel from './models/journal-entry.entity';
8
+ import LedgerTransactionModel from './models/ledger-transaction.entity';
9
+ import PaymentItemModel from './models/payment-item.entity';
10
+ import PaymentMethodTypeModel from './models/payment-method-type.entity';
11
+ import PaymentMethodModel from './models/payment-method.entity';
12
+ import PaymentPaidWithModel from './models/payment-paid-with.entity';
13
+ import PaymentModel from './models/payment.entity';
14
+ import FinancePostHistoryModel from './models/post-history.entity';
15
+ import { MediasModel } from '@tomei/media';
16
+ import ActivityHistoryModel from '@tomei/activity-history/dist/src/models/activity-history.entity';
17
+ import FinanceTaxModel from './models/tax.entity';
18
+
19
+ let sequelize: Sequelize;
20
+
21
+ function init(sequelizeOptions: SequelizeOptions) {
22
+ sequelize = new Sequelize(sequelizeOptions);
23
+
24
+ sequelize.addModels([
25
+ AccountModel,
26
+ FinanceCustomerModel,
27
+ DocumentItemModel,
28
+ DocumentModel,
29
+ FinanceCompanyModel,
30
+ JournalEntryModel,
31
+ LedgerTransactionModel,
32
+ PaymentItemModel,
33
+ PaymentMethodTypeModel,
34
+ PaymentMethodModel,
35
+ PaymentPaidWithModel,
36
+ PaymentModel,
37
+ FinancePostHistoryModel,
38
+ MediasModel,
39
+ ActivityHistoryModel,
40
+ FinanceTaxModel,
41
+ ]);
42
+ }
43
+
44
+ function getConnection() {
45
+ return sequelize;
46
+ }
47
+
48
+ export { init, getConnection };
@@ -1,11 +1,11 @@
1
- import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
- import DocumentItemModel from '../models/document-item.entity';
3
-
4
- export class DocumentItemRepository
5
- extends RepositoryBase<DocumentItemModel>
6
- implements IRepositoryBase<DocumentItemModel>
7
- {
8
- constructor() {
9
- super(DocumentItemModel);
10
- }
11
- }
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import DocumentItemModel from '../models/document-item.entity';
3
+
4
+ export class DocumentItemRepository
5
+ extends RepositoryBase<DocumentItemModel>
6
+ implements IRepositoryBase<DocumentItemModel>
7
+ {
8
+ constructor() {
9
+ super(DocumentItemModel);
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
- import DocumentModel from '../models/document.entity';
3
-
4
- export class DocumentRepository
5
- extends RepositoryBase<DocumentModel>
6
- implements IRepositoryBase<DocumentModel>
7
- {
8
- constructor() {
9
- super(DocumentModel);
10
- }
11
- }
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import DocumentModel from '../models/document.entity';
3
+
4
+ export class DocumentRepository
5
+ extends RepositoryBase<DocumentModel>
6
+ implements IRepositoryBase<DocumentModel>
7
+ {
8
+ constructor() {
9
+ super(DocumentModel);
10
+ }
11
+ }
@@ -208,7 +208,8 @@ export default class Document extends AccountSystemEntity {
208
208
  model: DocumentItemModel,
209
209
  },
210
210
  ],
211
- transaction: dbTransaction, });
211
+ transaction: dbTransaction,
212
+ });
212
213
  if (documentData) {
213
214
  const document = new Document(dbTransaction, {
214
215
  DocNo: documentData.DocNo,
@@ -1044,44 +1045,44 @@ export default class Document extends AccountSystemEntity {
1044
1045
  const searchObj: IDocumentFindAll | any = {};
1045
1046
 
1046
1047
  /*Apply search filters if they are provided*/
1047
- if (search.DocNo) {
1048
+ if (search?.DocNo) {
1048
1049
  searchObj.DocNo = search.DocNo;
1049
1050
  }
1050
1051
 
1051
- if (search.DocType) {
1052
+ if (search?.DocType) {
1052
1053
  searchObj.DocType = search.DocType;
1053
1054
  }
1054
1055
 
1055
- if (search.StartDate) {
1056
+ if (search?.StartDate) {
1056
1057
  searchObj.DocDate = {
1057
1058
  ...searchObj.DocDate,
1058
1059
  [Op.gte]: new Date(search.StartDate).toISOString(),
1059
1060
  };
1060
1061
  }
1061
1062
 
1062
- if (search.EndDate) {
1063
+ if (search?.EndDate) {
1063
1064
  searchObj.DocDate = {
1064
1065
  ...searchObj.DocDate,
1065
1066
  [Op.lte]: new Date(search.EndDate).toISOString(),
1066
1067
  };
1067
1068
  }
1068
1069
 
1069
- if (search.IssuedToId) {
1070
+ if (search?.IssuedToId) {
1070
1071
  searchObj.IssuedToId = search.IssuedToId;
1071
1072
  }
1072
1073
 
1073
- if (search.IssuedToType) {
1074
+ if (search?.IssuedToType) {
1074
1075
  searchObj.IssuedToType = search.IssuedToType;
1075
1076
  }
1076
1077
 
1077
- if (search.Status) {
1078
+ if (search?.Status) {
1078
1079
  searchObj.Status = search.Status;
1079
1080
  }
1080
1081
 
1081
- if (search.RelatedObjectId) {
1082
+ if (search?.RelatedObjectId) {
1082
1083
  searchObj.RelatedObjectId = search.RelatedObjectId;
1083
1084
  }
1084
- if (search.RelatedObjectType) {
1085
+ if (search?.RelatedObjectType) {
1085
1086
  searchObj.RelatedObjectType = search.RelatedObjectType;
1086
1087
  }
1087
1088
 
@@ -1,28 +1,28 @@
1
- import { DocType, DocumentStatus } from '../../enum';
2
-
3
- export class IDocumentAttr {
4
- DocNo: string;
5
- DocType: DocType;
6
- DocDate: Date;
7
- CompanyId: string;
8
- Currency: string;
9
- Amount: number;
10
- Description: string;
11
- Status: DocumentStatus;
12
- IssuedById: string;
13
- IssuedToId: string;
14
- IssuedToType: string;
15
- RelatedObjectId?: string;
16
- RelatedObjectType?: string;
17
- CreatedById: string;
18
- CreatedAt: Date;
19
- UpdatedById?: string;
20
- UpdatedAt?: Date;
21
- DocPDFFileMediaId?: string;
22
- DocHTMLFileMediaId?: string;
23
- AccSystemRefId?: string;
24
- PostedToAccSystemYN: string;
25
- PostedById?: string;
26
- PostedDateTime?: Date;
27
- UseAccSystemDocYN: string;
28
- }
1
+ import { DocType, DocumentStatus } from '../../enum';
2
+
3
+ export class IDocumentAttr {
4
+ DocNo: string;
5
+ DocType: DocType;
6
+ DocDate: Date;
7
+ CompanyId: string;
8
+ Currency: string;
9
+ Amount: number;
10
+ Description: string;
11
+ Status: DocumentStatus;
12
+ IssuedById: string;
13
+ IssuedToId: string;
14
+ IssuedToType: string;
15
+ RelatedObjectId?: string;
16
+ RelatedObjectType?: string;
17
+ CreatedById: string;
18
+ CreatedAt: Date;
19
+ UpdatedById?: string;
20
+ UpdatedAt?: Date;
21
+ DocPDFFileMediaId?: string;
22
+ DocHTMLFileMediaId?: string;
23
+ AccSystemRefId?: string;
24
+ PostedToAccSystemYN: string;
25
+ PostedById?: string;
26
+ PostedDateTime?: Date;
27
+ UseAccSystemDocYN: string;
28
+ }
@@ -1,22 +1,22 @@
1
- export class IDocumentItemAttr {
2
- DocumentItemId: string;
3
- DocNo: string;
4
- Name: string;
5
- NameBM: string;
6
- Description?: string;
7
- ItemId?: string;
8
- ItemType?: string;
9
- ItemSKU?: string;
10
- ItemSerialNo?: string;
11
- Currency: string;
12
- UnitPrice?: number;
13
- Quantity?: number;
14
- QuantityUOM?: string;
15
- Amount: number;
16
- TaxCode?: string;
17
- TaxAmount?: number;
18
- TaxRate?: number;
19
- TaxInclusiveYN?: string;
20
- DtAccountNo?: string;
21
- CtAccountNo?: string;
22
- }
1
+ export class IDocumentItemAttr {
2
+ DocumentItemId: string;
3
+ DocNo: string;
4
+ Name: string;
5
+ NameBM: string;
6
+ Description?: string;
7
+ ItemId?: string;
8
+ ItemType?: string;
9
+ ItemSKU?: string;
10
+ ItemSerialNo?: string;
11
+ Currency: string;
12
+ UnitPrice?: number;
13
+ Quantity?: number;
14
+ QuantityUOM?: string;
15
+ Amount: number;
16
+ TaxCode?: string;
17
+ TaxAmount?: number;
18
+ TaxRate?: number;
19
+ TaxInclusiveYN?: string;
20
+ DtAccountNo?: string;
21
+ CtAccountNo?: string;
22
+ }
@@ -1,4 +1,4 @@
1
- import { IRepositoryBase } from '@tomei/general';
2
- import DocumentItemModel from '../../models/document-item.entity';
3
-
4
- export type IDocumentItemRepository = IRepositoryBase<DocumentItemModel>;
1
+ import { IRepositoryBase } from '@tomei/general';
2
+ import DocumentItemModel from '../../models/document-item.entity';
3
+
4
+ export type IDocumentItemRepository = IRepositoryBase<DocumentItemModel>;
@@ -1,8 +1,8 @@
1
- export enum DocType {
2
- INVOICE = 'Invoice',
3
- DEBIT_NOTE = 'Debit Note',
4
- CREDIT_NOTE = 'Credit Note',
5
- QUOTATION = 'Quotation',
6
- PURCHASEORDER = 'Purchase Order',
7
- RECEIPT = 'Receipt',
8
- }
1
+ export enum DocType {
2
+ INVOICE = 'Invoice',
3
+ DEBIT_NOTE = 'Debit Note',
4
+ CREDIT_NOTE = 'Credit Note',
5
+ QUOTATION = 'Quotation',
6
+ PURCHASEORDER = 'Purchase Order',
7
+ RECEIPT = 'Receipt',
8
+ }
package/src/enum/index.ts CHANGED
@@ -1,17 +1,17 @@
1
- import { ClientScopes } from './quick-book-client-scopes.enum';
2
- import { PaymentType } from './payment-type.enum';
3
- import { PaymentMethod } from './payment-method.enum';
4
- import { TransactionTypeOptions } from './transaction-type.enum';
5
- import { DocType } from './doc-type.enum';
6
- import { DocumentStatus } from './document-status.enum';
7
- import { PaymentStatus } from './payment-status.enum';
8
-
9
- export {
10
- ClientScopes,
11
- PaymentType,
12
- PaymentMethod,
13
- TransactionTypeOptions,
14
- DocType,
15
- DocumentStatus,
16
- PaymentStatus,
17
- };
1
+ import { ClientScopes } from './quick-book-client-scopes.enum';
2
+ import { PaymentType } from './payment-type.enum';
3
+ import { PaymentMethod } from './payment-method.enum';
4
+ import { TransactionTypeOptions } from './transaction-type.enum';
5
+ import { DocType } from './doc-type.enum';
6
+ import { DocumentStatus } from './document-status.enum';
7
+ import { PaymentStatus } from './payment-status.enum';
8
+
9
+ export {
10
+ ClientScopes,
11
+ PaymentType,
12
+ PaymentMethod,
13
+ TransactionTypeOptions,
14
+ DocType,
15
+ DocumentStatus,
16
+ PaymentStatus,
17
+ };
@@ -1,3 +1,3 @@
1
- export enum PaymentMethod {
2
- Cash = 'Cash', // example
3
- }
1
+ export enum PaymentMethod {
2
+ Cash = 'Cash', // example
3
+ }
@@ -1,4 +1,4 @@
1
- export enum PaymentType {
2
- PAYMENT_RECEIVED = 'Payment Received',
3
- PAYOUT = 'Payout',
4
- }
1
+ export enum PaymentType {
2
+ PAYMENT_RECEIVED = 'Payment Received',
3
+ PAYOUT = 'Payout',
4
+ }
@@ -1,11 +1,11 @@
1
- import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
- import FinanceCompanyModel from '../models/finance-company.entity';
3
-
4
- export class FinanceCompanyRepository
5
- extends RepositoryBase<FinanceCompanyModel>
6
- implements IRepositoryBase<FinanceCompanyModel>
7
- {
8
- constructor() {
9
- super(FinanceCompanyModel);
10
- }
11
- }
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import FinanceCompanyModel from '../models/finance-company.entity';
3
+
4
+ export class FinanceCompanyRepository
5
+ extends RepositoryBase<FinanceCompanyModel>
6
+ implements IRepositoryBase<FinanceCompanyModel>
7
+ {
8
+ constructor() {
9
+ super(FinanceCompanyModel);
10
+ }
11
+ }