@tomei/finance 0.6.89 → 0.6.91

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 (112) 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/customer/customer.js +7 -1
  12. package/dist/customer/customer.js.map +1 -1
  13. package/dist/document/document.d.ts +1 -0
  14. package/dist/document/document.js +14 -0
  15. package/dist/document/document.js.map +1 -1
  16. package/dist/finance-company/finance-company.d.ts +1 -1
  17. package/dist/finance-company/finance-company.js +29 -8
  18. package/dist/finance-company/finance-company.js.map +1 -1
  19. package/dist/interfaces/account-system.interface.d.ts +15 -10
  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/nest-cli.json +19 -19
  50. package/package.json +82 -82
  51. package/sonar-project.properties +12 -12
  52. package/src/account/account.repository.ts +11 -11
  53. package/src/account/account.ts +278 -278
  54. package/src/account/interfaces/account-attr.interface.ts +31 -31
  55. package/src/account-system-entity/account-system-entity.ts +66 -66
  56. package/src/account-system-entity/post-history.repository.ts +11 -11
  57. package/src/config.ts +382 -382
  58. package/src/customer/customer.ts +309 -305
  59. package/src/customer/finance-customer.repository.ts +13 -13
  60. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  61. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  62. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  63. package/src/database.ts +48 -48
  64. package/src/document/document-item.repository.ts +11 -11
  65. package/src/document/document.repository.ts +11 -11
  66. package/src/document/document.ts +15 -0
  67. package/src/document/interfaces/document-attr.interface.ts +28 -28
  68. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  69. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  70. package/src/enum/collect-payment-type.ts +3 -3
  71. package/src/enum/doc-type.enum.ts +8 -8
  72. package/src/enum/index.ts +19 -19
  73. package/src/enum/payment-method.enum.ts +3 -3
  74. package/src/enum/payment-type.enum.ts +4 -4
  75. package/src/enum/quick-book-client-scopes.enum.ts +14 -14
  76. package/src/finance-company/finance-company.repository.ts +11 -11
  77. package/src/finance-company/finance-company.ts +2331 -2310
  78. package/src/helpers/login-user.ts +38 -38
  79. package/src/helpers/typeof.ts +35 -35
  80. package/src/index.ts +32 -32
  81. package/src/interfaces/account-system.interface.ts +30 -23
  82. package/src/interfaces/index.ts +3 -3
  83. package/src/models/account.entity.ts +206 -206
  84. package/src/models/customer.entity.ts +93 -93
  85. package/src/models/document-item.entity.ts +143 -143
  86. package/src/models/document.entity.ts +211 -211
  87. package/src/models/finance-company.entity.ts +69 -69
  88. package/src/models/journal-entry.entity.ts +110 -110
  89. package/src/models/ledger-transaction.entity.ts +148 -148
  90. package/src/models/payment-item.entity.ts +60 -60
  91. package/src/models/payment-method-type.entity.ts +70 -70
  92. package/src/models/payment-method.entity.ts +51 -51
  93. package/src/models/payment.entity.ts +165 -165
  94. package/src/models/post-history.entity.ts +41 -41
  95. package/src/models/tax.entity.ts +75 -75
  96. package/src/payment/interfaces/payment-attr.interface.ts +23 -23
  97. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  98. package/src/payment/payment.repository.ts +11 -11
  99. package/src/payment/payment.ts +236 -236
  100. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  101. package/src/payment-item/payment-item.repository.ts +11 -11
  102. package/src/payment-item/payment-item.ts +134 -134
  103. package/src/payment-method/payment-method.repository.ts +11 -11
  104. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  105. package/src/tax/interfaces/tax-attr.interface.ts +10 -10
  106. package/src/tax/tax.repository.ts +11 -11
  107. package/src/tax/tax.ts +69 -69
  108. package/src/test-document.ts +25 -25
  109. package/src/test.ts +3 -3
  110. package/tsconfig.build.json +4 -4
  111. package/tsconfig.json +22 -22
  112. package/tslint.json +18 -18
@@ -1,72 +1,72 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- up: async (queryInterface, Sequelize) => {
5
- const transaction = await queryInterface.sequelize.transaction();
6
- try {
7
- //Update column type to string
8
- await queryInterface.changeColumn('finance_Document', 'Status', {
9
- type: Sequelize.STRING(30),
10
- allowNull: false,
11
- }, { transaction });
12
- // Update inconsistent data before changing the enum values
13
- await queryInterface.sequelize.query(`
14
- UPDATE finance_Document
15
- SET Status = 'Settled'
16
- WHERE Status = 'Paid'
17
- `, { transaction });
18
-
19
- await queryInterface.sequelize.query(`
20
- UPDATE finance_Document
21
- SET Status = 'Partial Settled'
22
- WHERE Status = 'Partial Paid'
23
- `, { transaction });
24
-
25
- // Change the column to the new enum values
26
- await queryInterface.changeColumn('finance_Document', 'Status', {
27
- type: Sequelize.ENUM(['Unpaid', 'Settled', 'Partial Settled', 'Cancelled']), // new enum values
28
- allowNull: false,
29
- }, { transaction });
30
-
31
- await transaction.commit();
32
- } catch (error) {
33
- await transaction.rollback();
34
- throw error;
35
- }
36
- },
37
-
38
- down: async (queryInterface, Sequelize) => {
39
- const transaction = await queryInterface.sequelize.transaction();
40
- try {
41
- //Update column type to string
42
- await queryInterface.changeColumn('finance_Document', 'Status', {
43
- type: Sequelize.STRING(30),
44
- allowNull: false,
45
- }, { transaction });
46
-
47
- // Update inconsistent data before changing the enum values
48
- await queryInterface.sequelize.query(`
49
- UPDATE finance_Document
50
- SET Status = 'Paid'
51
- WHERE Status = 'Settled'
52
- `, { transaction });
53
-
54
- await queryInterface.sequelize.query(`
55
- UPDATE finance_Document
56
- SET Status = 'Partial Paid'
57
- WHERE Status = 'Partial Settled'
58
- `, { transaction });
59
-
60
- // Change the column to the new enum values
61
- await queryInterface.changeColumn('finance_Document', 'Status', {
62
- type: Sequelize.ENUM(['Unpaid', 'Paid', 'Partial Paid', 'Cancelled']), // new enum values
63
- allowNull: false,
64
- }, { transaction });
65
-
66
- await transaction.commit();
67
- } catch (error) {
68
- await transaction.rollback();
69
- throw error;
70
- }
71
- }
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ const transaction = await queryInterface.sequelize.transaction();
6
+ try {
7
+ //Update column type to string
8
+ await queryInterface.changeColumn('finance_Document', 'Status', {
9
+ type: Sequelize.STRING(30),
10
+ allowNull: false,
11
+ }, { transaction });
12
+ // Update inconsistent data before changing the enum values
13
+ await queryInterface.sequelize.query(`
14
+ UPDATE finance_Document
15
+ SET Status = 'Settled'
16
+ WHERE Status = 'Paid'
17
+ `, { transaction });
18
+
19
+ await queryInterface.sequelize.query(`
20
+ UPDATE finance_Document
21
+ SET Status = 'Partial Settled'
22
+ WHERE Status = 'Partial Paid'
23
+ `, { transaction });
24
+
25
+ // Change the column to the new enum values
26
+ await queryInterface.changeColumn('finance_Document', 'Status', {
27
+ type: Sequelize.ENUM(['Unpaid', 'Settled', 'Partial Settled', 'Cancelled']), // new enum values
28
+ allowNull: false,
29
+ }, { transaction });
30
+
31
+ await transaction.commit();
32
+ } catch (error) {
33
+ await transaction.rollback();
34
+ throw error;
35
+ }
36
+ },
37
+
38
+ down: async (queryInterface, Sequelize) => {
39
+ const transaction = await queryInterface.sequelize.transaction();
40
+ try {
41
+ //Update column type to string
42
+ await queryInterface.changeColumn('finance_Document', 'Status', {
43
+ type: Sequelize.STRING(30),
44
+ allowNull: false,
45
+ }, { transaction });
46
+
47
+ // Update inconsistent data before changing the enum values
48
+ await queryInterface.sequelize.query(`
49
+ UPDATE finance_Document
50
+ SET Status = 'Paid'
51
+ WHERE Status = 'Settled'
52
+ `, { transaction });
53
+
54
+ await queryInterface.sequelize.query(`
55
+ UPDATE finance_Document
56
+ SET Status = 'Partial Paid'
57
+ WHERE Status = 'Partial Settled'
58
+ `, { transaction });
59
+
60
+ // Change the column to the new enum values
61
+ await queryInterface.changeColumn('finance_Document', 'Status', {
62
+ type: Sequelize.ENUM(['Unpaid', 'Paid', 'Partial Paid', 'Cancelled']), // new enum values
63
+ allowNull: false,
64
+ }, { transaction });
65
+
66
+ await transaction.commit();
67
+ } catch (error) {
68
+ await transaction.rollback();
69
+ throw error;
70
+ }
71
+ }
72
72
  };
package/nest-cli.json CHANGED
@@ -1,19 +1,19 @@
1
- {
2
- "language": "ts",
3
- "collection": "@nestjs/schematics",
4
- "sourceRoot": "src",
5
- "projects": {
6
- "media": {
7
- "type": "library",
8
- "root": "libs/finance",
9
- "entryFile": "index",
10
- "sourceRoot": "libs/finance/src",
11
- "compilerOptions": {
12
- "tsConfigPath": "libs/finance/tsconfig.lib.json"
13
- }
14
- }
15
- },
16
- "compilerOptions": {
17
- "webpack": true
18
- }
19
- }
1
+ {
2
+ "language": "ts",
3
+ "collection": "@nestjs/schematics",
4
+ "sourceRoot": "src",
5
+ "projects": {
6
+ "media": {
7
+ "type": "library",
8
+ "root": "libs/finance",
9
+ "entryFile": "index",
10
+ "sourceRoot": "libs/finance/src",
11
+ "compilerOptions": {
12
+ "tsConfigPath": "libs/finance/tsconfig.lib.json"
13
+ }
14
+ }
15
+ },
16
+ "compilerOptions": {
17
+ "webpack": true
18
+ }
19
+ }
package/package.json CHANGED
@@ -1,82 +1,82 @@
1
- {
2
- "name": "@tomei/finance",
3
- "version": "0.6.89",
4
- "description": "NestJS package for finance module",
5
- "main": "dist/index.js",
6
- "scripts": {
7
- "start:dev": "tsc -w",
8
- "build": "tsc",
9
- "prepare": "npm run build",
10
- "format": "prettier --write \"src/**/*.ts\"",
11
- "lint": "tslint -p tsconfig.json -c tslint.json",
12
- "test": "jest",
13
- "test:watch": "jest --watch",
14
- "test:cov": "jest --coverage",
15
- "test:e2e": "jest --config ./test/jest-e2e.json"
16
- },
17
- "keywords": [
18
- "nestjs",
19
- "tomei",
20
- "finance"
21
- ],
22
- "author": "Fadhil Muhammad <fadhil@tomei.com.my>",
23
- "license": "ISC",
24
- "repository": {
25
- "type": "git",
26
- "url": "https://gitlab.com/tomei-package/finance.git"
27
- },
28
- "publishConfig": {
29
- "access": "public"
30
- },
31
- "peerDependencies": {
32
- "@nestjs/common": ">=9.0.5",
33
- "@nestjs/config": ">=2.2.0",
34
- "@nestjs/core": ">=9.0.8",
35
- "@nestjs/platform-express": ">=9.0.8",
36
- "@nestjs/sequelize": ">=9.0.0",
37
- "@nestjs/swagger": ">=6.1.4",
38
- "@tomei/activity-history": "^0.2.15",
39
- "@tomei/config": "^0.3.10",
40
- "@tomei/general": "^0.11.8",
41
- "@tomei/media": "^0.7.0",
42
- "@tomei/sso": "^0.21.13",
43
- "axios": "^1.6.0",
44
- "class-transformer": "^0.5.1",
45
- "class-validator": "^0.14.0",
46
- "cuid": "^3.0.0",
47
- "dotenv": "^16.0.3",
48
- "intuit-oauth": "^4.0.0",
49
- "mariadb": "^3.0.2",
50
- "puppeteer": "^18.1.0",
51
- "sequelize-typescript": "^2.1.5",
52
- "uniqid": "^5.4.0"
53
- },
54
- "devDependencies": {
55
- "@types/multer": "^1.4.7",
56
- "@types/node": "^18.0.6",
57
- "@types/sequelize": "^4.28.14",
58
- "@types/uniqid": "^5.3.2",
59
- "@typescript-eslint/eslint-plugin": "^5.33.0",
60
- "eslint": "^8.21.0",
61
- "eslint-config-prettier": "^8.5.0",
62
- "eslint-plugin-prettier": "^4.2.1",
63
- "husky": "^8.0.3",
64
- "lint-staged": "^11.1.2",
65
- "mariadb": "^3.0.2",
66
- "prettier": "^2.7.1",
67
- "ts-node": "^10.9.1",
68
- "tsc-watch": "^5.0.3",
69
- "tsconfig-paths": "^4.0.0",
70
- "tslint": "^6.1.3",
71
- "typescript": "^4.7.4"
72
- },
73
- "lint-staged": {
74
- "*/**/*.{js,ts,tsx}": [
75
- "npm run lint",
76
- "npm run eslint",
77
- "npm run format",
78
- "npm run build",
79
- "git add ."
80
- ]
81
- }
82
- }
1
+ {
2
+ "name": "@tomei/finance",
3
+ "version": "0.6.91",
4
+ "description": "NestJS package for finance module",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "start:dev": "tsc -w",
8
+ "build": "tsc",
9
+ "prepare": "npm run build",
10
+ "format": "prettier --write \"src/**/*.ts\"",
11
+ "lint": "tslint -p tsconfig.json -c tslint.json",
12
+ "test": "jest",
13
+ "test:watch": "jest --watch",
14
+ "test:cov": "jest --coverage",
15
+ "test:e2e": "jest --config ./test/jest-e2e.json"
16
+ },
17
+ "keywords": [
18
+ "nestjs",
19
+ "tomei",
20
+ "finance"
21
+ ],
22
+ "author": "Fadhil Muhammad <fadhil@tomei.com.my>",
23
+ "license": "ISC",
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://gitlab.com/tomei-package/finance.git"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "peerDependencies": {
32
+ "@nestjs/common": ">=9.0.5",
33
+ "@nestjs/config": ">=2.2.0",
34
+ "@nestjs/core": ">=9.0.8",
35
+ "@nestjs/platform-express": ">=9.0.8",
36
+ "@nestjs/sequelize": ">=9.0.0",
37
+ "@nestjs/swagger": ">=6.1.4",
38
+ "@tomei/activity-history": "^0.2.15",
39
+ "@tomei/config": "^0.3.10",
40
+ "@tomei/general": "^0.11.8",
41
+ "@tomei/media": "^0.7.0",
42
+ "@tomei/sso": "^0.21.13",
43
+ "axios": "^1.6.0",
44
+ "class-transformer": "^0.5.1",
45
+ "class-validator": "^0.14.0",
46
+ "cuid": "^3.0.0",
47
+ "dotenv": "^16.0.3",
48
+ "intuit-oauth": "^4.0.0",
49
+ "mariadb": "^3.0.2",
50
+ "puppeteer": "^18.1.0",
51
+ "sequelize-typescript": "^2.1.5",
52
+ "uniqid": "^5.4.0"
53
+ },
54
+ "devDependencies": {
55
+ "@types/multer": "^1.4.7",
56
+ "@types/node": "^18.0.6",
57
+ "@types/sequelize": "^4.28.14",
58
+ "@types/uniqid": "^5.3.2",
59
+ "@typescript-eslint/eslint-plugin": "^5.33.0",
60
+ "eslint": "^8.21.0",
61
+ "eslint-config-prettier": "^8.5.0",
62
+ "eslint-plugin-prettier": "^4.2.1",
63
+ "husky": "^8.0.3",
64
+ "lint-staged": "^11.1.2",
65
+ "mariadb": "^3.0.2",
66
+ "prettier": "^2.7.1",
67
+ "ts-node": "^10.9.1",
68
+ "tsc-watch": "^5.0.3",
69
+ "tsconfig-paths": "^4.0.0",
70
+ "tslint": "^6.1.3",
71
+ "typescript": "^4.7.4"
72
+ },
73
+ "lint-staged": {
74
+ "*/**/*.{js,ts,tsx}": [
75
+ "npm run lint",
76
+ "npm run eslint",
77
+ "npm run format",
78
+ "npm run build",
79
+ "git add ."
80
+ ]
81
+ }
82
+ }
@@ -1,13 +1,13 @@
1
- sonar.projectKey=all-tomei-projects_finance
2
- sonar.organization=all-tomei-projects
3
-
4
- # This is the name and version displayed in the SonarCloud UI.
5
- #sonar.projectName=Finance
6
- #sonar.projectVersion=1.0
7
-
8
-
9
- # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
10
- #sonar.sources=.
11
-
12
- # Encoding of the source code. Default is default system encoding
1
+ sonar.projectKey=all-tomei-projects_finance
2
+ sonar.organization=all-tomei-projects
3
+
4
+ # This is the name and version displayed in the SonarCloud UI.
5
+ #sonar.projectName=Finance
6
+ #sonar.projectVersion=1.0
7
+
8
+
9
+ # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
10
+ #sonar.sources=.
11
+
12
+ # Encoding of the source code. Default is default system encoding
13
13
  #sonar.sourceEncoding=UTF-8
@@ -1,11 +1,11 @@
1
- import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
- import AccountModel from '../models/account.entity';
3
-
4
- export class AccountRepository
5
- extends RepositoryBase<AccountModel>
6
- implements IRepositoryBase<AccountModel>
7
- {
8
- constructor() {
9
- super(AccountModel);
10
- }
11
- }
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import AccountModel from '../models/account.entity';
3
+
4
+ export class AccountRepository
5
+ extends RepositoryBase<AccountModel>
6
+ implements IRepositoryBase<AccountModel>
7
+ {
8
+ constructor() {
9
+ super(AccountModel);
10
+ }
11
+ }