@tomei/finance 0.3.58 → 0.3.60

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 (288) 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 +336 -336
  10. package/dist/account/entities/account.entity.d.ts +26 -0
  11. package/dist/account/entities/account.entity.js +199 -0
  12. package/dist/account/entities/account.entity.js.map +1 -0
  13. package/dist/account/entities/fee-associated-object.entity.d.ts +6 -0
  14. package/dist/account/entities/fee-associated-object.entity.js +52 -0
  15. package/dist/account/entities/fee-associated-object.entity.js.map +1 -0
  16. package/dist/account/index.d.ts +6 -0
  17. package/dist/account/index.js +10 -0
  18. package/dist/account/index.js.map +1 -0
  19. package/dist/account/interfaces/account.repository.interface.d.ts +3 -0
  20. package/dist/account/interfaces/account.repository.interface.js +3 -0
  21. package/dist/account/interfaces/account.repository.interface.js.map +1 -0
  22. package/dist/account-system-entity/index.d.ts +2 -0
  23. package/dist/account-system-entity/index.js +6 -0
  24. package/dist/account-system-entity/index.js.map +1 -0
  25. package/dist/account-system-entity/post-history.entity.d.ts +11 -0
  26. package/dist/account-system-entity/post-history.entity.js +65 -0
  27. package/dist/account-system-entity/post-history.entity.js.map +1 -0
  28. package/dist/base/account-system.interface.d.ts +7 -0
  29. package/dist/base/account-system.interface.js +3 -0
  30. package/dist/base/account-system.interface.js.map +1 -0
  31. package/dist/base/address.base.abstract.d.ts +4 -0
  32. package/dist/base/address.base.abstract.js +10 -0
  33. package/dist/base/address.base.abstract.js.map +1 -0
  34. package/dist/base/base.address.d.ts +8 -0
  35. package/dist/base/base.address.js +15 -0
  36. package/dist/base/base.address.js.map +1 -0
  37. package/dist/base/base.object.d.ts +7 -0
  38. package/dist/base/base.object.js +14 -0
  39. package/dist/base/base.object.js.map +1 -0
  40. package/dist/base/base.owner.d.ts +23 -0
  41. package/dist/base/base.owner.js +34 -0
  42. package/dist/base/base.owner.js.map +1 -0
  43. package/dist/base/base.repository.abstract.d.ts +12 -0
  44. package/dist/base/base.repository.abstract.js +22 -0
  45. package/dist/base/base.repository.abstract.js.map +1 -0
  46. package/dist/base/base.repository.interface.d.ts +9 -0
  47. package/dist/base/base.repository.interface.js +3 -0
  48. package/dist/base/base.repository.interface.js.map +1 -0
  49. package/dist/base/index.d.ts +4 -0
  50. package/dist/base/index.js +10 -0
  51. package/dist/base/index.js.map +1 -0
  52. package/dist/base/object/base.object.abstract.d.ts +5 -0
  53. package/dist/base/object/base.object.abstract.js +7 -0
  54. package/dist/base/object/base.object.abstract.js.map +1 -0
  55. package/dist/base/object/base.object.d.ts +7 -0
  56. package/dist/base/object/base.object.js +14 -0
  57. package/dist/base/object/base.object.js.map +1 -0
  58. package/dist/base/object/object.interface.d.ts +4 -0
  59. package/dist/base/object/object.interface.js +3 -0
  60. package/dist/base/object/object.interface.js.map +1 -0
  61. package/dist/base/object.base.abstract.d.ts +5 -0
  62. package/dist/base/object.base.abstract.js +11 -0
  63. package/dist/base/object.base.abstract.js.map +1 -0
  64. package/dist/base/owner/base.owner.abstract.d.ts +20 -0
  65. package/dist/base/owner/base.owner.abstract.js +8 -0
  66. package/dist/base/owner/base.owner.abstract.js.map +1 -0
  67. package/dist/base/owner/base.owner.d.ts +22 -0
  68. package/dist/base/owner/base.owner.js +31 -0
  69. package/dist/base/owner/base.owner.js.map +1 -0
  70. package/dist/base/owner/owner.interface.d.ts +19 -0
  71. package/dist/base/owner/owner.interface.js +3 -0
  72. package/dist/base/owner/owner.interface.js.map +1 -0
  73. package/dist/base/person.base.abstract.d.ts +21 -0
  74. package/dist/base/person.base.abstract.js +17 -0
  75. package/dist/base/person.base.abstract.js.map +1 -0
  76. package/dist/base/repository/base.repository.abstract.d.ts +12 -0
  77. package/dist/base/repository/base.repository.abstract.js +22 -0
  78. package/dist/base/repository/base.repository.abstract.js.map +1 -0
  79. package/dist/base/repository/base.repository.interface.d.ts +9 -0
  80. package/dist/base/repository/base.repository.interface.js +3 -0
  81. package/dist/base/repository/base.repository.interface.js.map +1 -0
  82. package/dist/customer/customer.repository.d.ts +0 -0
  83. package/dist/customer/customer.repository.js +1 -0
  84. package/dist/customer/customer.repository.js.map +1 -0
  85. package/dist/customer/entities/customer.entity.d.ts +13 -0
  86. package/dist/customer/entities/customer.entity.js +111 -0
  87. package/dist/customer/entities/customer.entity.js.map +1 -0
  88. package/dist/customer/index.d.ts +7 -0
  89. package/dist/customer/index.js +10 -0
  90. package/dist/customer/index.js.map +1 -0
  91. package/dist/document/entities/document-item.entity.d.ts +27 -0
  92. package/dist/document/entities/document-item.entity.js +174 -0
  93. package/dist/document/entities/document-item.entity.js.map +1 -0
  94. package/dist/document/entities/document.entity.d.ts +22 -0
  95. package/dist/document/entities/document.entity.js +139 -0
  96. package/dist/document/entities/document.entity.js.map +1 -0
  97. package/dist/document/index.d.ts +11 -0
  98. package/dist/document/index.js +20 -0
  99. package/dist/document/index.js.map +1 -0
  100. package/dist/document/interfaces/document.repository.interface.d.ts +3 -0
  101. package/dist/document/interfaces/document.repository.interface.js +3 -0
  102. package/dist/document/interfaces/document.repository.interface.js.map +1 -0
  103. package/dist/enum/document-type.enum.d.ts +7 -0
  104. package/dist/enum/document-type.enum.js +12 -0
  105. package/dist/enum/document-type.enum.js.map +1 -0
  106. package/dist/enum/intuit-client.enum.d.ts +13 -0
  107. package/dist/enum/intuit-client.enum.js +19 -0
  108. package/dist/enum/intuit-client.enum.js.map +1 -0
  109. package/dist/finance-company/entities/finance-company.entity.d.ts +13 -0
  110. package/dist/finance-company/entities/finance-company.entity.js +113 -0
  111. package/dist/finance-company/entities/finance-company.entity.js.map +1 -0
  112. package/dist/finance-company/finance-company.entity.d.ts +13 -0
  113. package/dist/finance-company/finance-company.entity.js +66 -0
  114. package/dist/finance-company/finance-company.entity.js.map +1 -0
  115. package/dist/finance-company/finance-company.js +13 -1
  116. package/dist/finance-company/finance-company.js.map +1 -1
  117. package/dist/finance-company/index.d.ts +3 -0
  118. package/dist/finance-company/index.js +8 -0
  119. package/dist/finance-company/index.js.map +1 -0
  120. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +10 -0
  121. package/dist/finance-company/interfaces/finance-company-attr.interface.js +3 -0
  122. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +1 -0
  123. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +3 -0
  124. package/dist/finance-company/interfaces/finance-company.repository.interface.js +3 -0
  125. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +1 -0
  126. package/dist/interfaces/account-system-entity.interface.d.ts +7 -0
  127. package/dist/interfaces/account-system-entity.interface.js +3 -0
  128. package/dist/interfaces/account-system-entity.interface.js.map +1 -0
  129. package/dist/interfaces/customer.repository.interface.d.ts +3 -0
  130. package/dist/interfaces/customer.repository.interface.js +3 -0
  131. package/dist/interfaces/customer.repository.interface.js.map +1 -0
  132. package/dist/interfaces/finance-customer.repository.interface.d.ts +3 -0
  133. package/dist/interfaces/finance-customer.repository.interface.js +3 -0
  134. package/dist/interfaces/finance-customer.repository.interface.js.map +1 -0
  135. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  136. package/dist/interfaces/systemConfig.interface.js +1 -0
  137. package/dist/interfaces/systemConfig.interface.js.map +1 -0
  138. package/dist/intuit-client/client.d.ts +14 -0
  139. package/dist/intuit-client/client.js +44 -0
  140. package/dist/intuit-client/client.js.map +1 -0
  141. package/dist/journal-entry/entities/journal-entry.entity.d.ts +16 -0
  142. package/dist/journal-entry/entities/journal-entry.entity.js +129 -0
  143. package/dist/journal-entry/entities/journal-entry.entity.js.map +1 -0
  144. package/dist/journal-entry/index.d.ts +6 -0
  145. package/dist/journal-entry/index.js +10 -0
  146. package/dist/journal-entry/index.js.map +1 -0
  147. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +10 -0
  148. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +3 -0
  149. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +1 -0
  150. package/dist/ledger-transaction/entities/ledger-transaction.entity.d.ts +19 -0
  151. package/dist/ledger-transaction/entities/ledger-transaction.entity.js +157 -0
  152. package/dist/ledger-transaction/entities/ledger-transaction.entity.js.map +1 -0
  153. package/dist/ledger-transaction/index.d.ts +6 -0
  154. package/dist/ledger-transaction/index.js +10 -0
  155. package/dist/ledger-transaction/index.js.map +1 -0
  156. package/dist/ledger-transaction/interfaces/ledger-transaction-attr.interface.d.ts +14 -13
  157. package/dist/ledger-transaction/ledger-transaction.d.ts +1 -0
  158. package/dist/ledger-transaction/ledger-transaction.js +4 -0
  159. package/dist/ledger-transaction/ledger-transaction.js.map +1 -1
  160. package/dist/payment/entities/payment-item.entity.d.ts +10 -0
  161. package/dist/payment/entities/payment-item.entity.js +62 -0
  162. package/dist/payment/entities/payment-item.entity.js.map +1 -0
  163. package/dist/payment/entities/payment.entity.d.ts +25 -0
  164. package/dist/payment/entities/payment.entity.js +152 -0
  165. package/dist/payment/entities/payment.entity.js.map +1 -0
  166. package/dist/payment/index.d.ts +10 -0
  167. package/dist/payment/index.js +18 -0
  168. package/dist/payment/index.js.map +1 -0
  169. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +8 -0
  170. package/dist/payment/interfaces/payment-item-attr.interface.js +7 -0
  171. package/dist/payment/interfaces/payment-item-attr.interface.js.map +1 -0
  172. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +3 -0
  173. package/dist/payment/interfaces/payment-item.repository.interface.js +3 -0
  174. package/dist/payment/interfaces/payment-item.repository.interface.js.map +1 -0
  175. package/dist/payment/interfaces/payment.repository.interface.d.ts +3 -0
  176. package/dist/payment/interfaces/payment.repository.interface.js +3 -0
  177. package/dist/payment/interfaces/payment.repository.interface.js.map +1 -0
  178. package/dist/payment/payment-item.repository.d.ts +5 -0
  179. package/dist/payment/payment-item.repository.js +12 -0
  180. package/dist/payment/payment-item.repository.js.map +1 -0
  181. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +3 -0
  182. package/dist/payment-item/interfaces/payment-item.repository.interface.js +3 -0
  183. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +1 -0
  184. package/dist/quickbook-client/client.d.ts +39 -0
  185. package/dist/quickbook-client/client.js +205 -0
  186. package/dist/quickbook-client/client.js.map +1 -0
  187. package/dist/quickbook-client/constant.d.ts +1 -0
  188. package/dist/quickbook-client/constant.js +5 -0
  189. package/dist/quickbook-client/constant.js.map +1 -0
  190. package/dist/quickbook-client/index.d.ts +5 -0
  191. package/dist/quickbook-client/index.js +6 -0
  192. package/dist/quickbook-client/index.js.map +1 -0
  193. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +6 -0
  194. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +3 -0
  195. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +1 -0
  196. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +9 -0
  197. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +3 -0
  198. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +1 -0
  199. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +7 -0
  200. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +3 -0
  201. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +1 -0
  202. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +8 -0
  203. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +3 -0
  204. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +1 -0
  205. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +2 -0
  206. package/dist/quickbook-client/quickbook-client.module-definition.js +9 -0
  207. package/dist/quickbook-client/quickbook-client.module-definition.js.map +1 -0
  208. package/dist/quickbook-client/quickbook-client.module.d.ts +6 -0
  209. package/dist/quickbook-client/quickbook-client.module.js +34 -0
  210. package/dist/quickbook-client/quickbook-client.module.js.map +1 -0
  211. package/dist/tsconfig.tsbuildinfo +1 -1
  212. package/invoice-template/assets/css/style.css.map +12 -12
  213. package/invoice-template/assets/css/style.min.css +1 -1
  214. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  215. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  216. package/invoice-template/assets/img/logo_accent.svg +3 -3
  217. package/invoice-template/assets/img/logo_white.svg +4 -4
  218. package/invoice-template/assets/img/sign.svg +12 -12
  219. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  220. package/invoice-template/assets/js/jquery.min.js +1 -1
  221. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  222. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  223. package/invoice-template/assets/sass/style.scss +12 -12
  224. package/migrations/finance-account-migration.js +97 -97
  225. package/migrations/finance-company-migration.js +29 -29
  226. package/migrations/finance-customer-migration.js +51 -51
  227. package/migrations/finance-document-item-migration.js +111 -111
  228. package/migrations/finance-document-migration.js +116 -116
  229. package/migrations/finance-payment-item-migration.js +51 -51
  230. package/migrations/finance-payment-method-migration.js +31 -31
  231. package/migrations/finance-payment-method-type-migration.js +55 -55
  232. package/migrations/finance-payment-migration.js +74 -74
  233. package/migrations/finance-post-history-migration.js +45 -45
  234. package/nest-cli.json +19 -19
  235. package/package.json +79 -79
  236. package/src/account/account.repository.ts +11 -11
  237. package/src/account/account.ts +175 -175
  238. package/src/account/interfaces/account-attr.interface.ts +31 -31
  239. package/src/account-system-entity/account-system-entity.ts +65 -65
  240. package/src/account-system-entity/post-history.repository.ts +11 -11
  241. package/src/config.ts +369 -369
  242. package/src/customer/customer.ts +247 -247
  243. package/src/customer/finance-customer.repository.ts +13 -13
  244. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  245. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  246. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  247. package/src/database.ts +15 -15
  248. package/src/document/document-item.repository.ts +11 -11
  249. package/src/document/document.repository.ts +11 -11
  250. package/src/document/interfaces/document-attr.interface.ts +28 -28
  251. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  252. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  253. package/src/enum/doc-type.enum.ts +8 -8
  254. package/src/enum/index.ts +17 -17
  255. package/src/enum/payment-method.enum.ts +3 -3
  256. package/src/enum/payment-type.enum.ts +4 -4
  257. package/src/finance-company/finance-company.repository.ts +11 -11
  258. package/src/finance-company/finance-company.ts +15 -3
  259. package/src/helpers/typeof.ts +29 -29
  260. package/src/index.ts +30 -30
  261. package/src/interfaces/account-system.interface.ts +20 -20
  262. package/src/interfaces/index.ts +3 -3
  263. package/src/ledger-transaction/interfaces/ledger-transaction-attr.interface.ts +14 -13
  264. package/src/ledger-transaction/ledger-transaction.ts +3 -0
  265. package/src/models/account.entity.ts +206 -206
  266. package/src/models/customer.entity.ts +93 -93
  267. package/src/models/document-item.entity.ts +143 -143
  268. package/src/models/document.entity.ts +191 -191
  269. package/src/models/finance-company.entity.ts +25 -25
  270. package/src/models/journal-entry.entity.ts +110 -110
  271. package/src/models/ledger-transaction.entity.ts +148 -148
  272. package/src/models/payment-item.entity.ts +59 -59
  273. package/src/models/payment-method-type.entity.ts +70 -70
  274. package/src/models/payment-method.entity.ts +51 -51
  275. package/src/models/payment.entity.ts +153 -153
  276. package/src/models/post-history.entity.ts +41 -41
  277. package/src/payment/interfaces/payment-attr.interface.ts +19 -19
  278. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  279. package/src/payment/payment.repository.ts +11 -11
  280. package/src/payment/payment.ts +208 -208
  281. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  282. package/src/payment-item/payment-item.repository.ts +11 -11
  283. package/src/payment-item/payment-item.ts +58 -58
  284. package/src/payment-method/payment-method.repository.ts +11 -11
  285. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  286. package/tsconfig.build.json +4 -4
  287. package/tsconfig.json +22 -22
  288. package/tslint.json +18 -18
@@ -1,45 +1,45 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- async up(queryInterface, Sequelize) {
5
- await queryInterface.createTable('finance_PostHistory', {
6
- PostId: {
7
- type: Sequelize.STRING(30),
8
- primaryKey: true,
9
- allowNull: false,
10
- },
11
- DateTime: {
12
- type: Sequelize.DATE,
13
- allowNull: false,
14
- },
15
- ItemId: {
16
- type: Sequelize.STRING(30),
17
- allowNull: false,
18
- },
19
- ItemType: {
20
- type: Sequelize.STRING(200),
21
- allowNull: false,
22
- },
23
- ItemValue: {
24
- type: Sequelize.JSON(),
25
- allowNull: false,
26
- },
27
- PostedById: {
28
- type: Sequelize.STRING(30),
29
- allowNull: false,
30
- },
31
- AccSystemCode: {
32
- type: Sequelize.STRING(10),
33
- allowNull: false,
34
- },
35
- AccSystemRefId: {
36
- type: Sequelize.STRING(30),
37
- allowNull: false,
38
- },
39
- });
40
- },
41
-
42
- async down(queryInterface) {
43
- await queryInterface.dropTable('finance_PostHistory');
44
- },
45
- };
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ async up(queryInterface, Sequelize) {
5
+ await queryInterface.createTable('finance_PostHistory', {
6
+ PostId: {
7
+ type: Sequelize.STRING(30),
8
+ primaryKey: true,
9
+ allowNull: false,
10
+ },
11
+ DateTime: {
12
+ type: Sequelize.DATE,
13
+ allowNull: false,
14
+ },
15
+ ItemId: {
16
+ type: Sequelize.STRING(30),
17
+ allowNull: false,
18
+ },
19
+ ItemType: {
20
+ type: Sequelize.STRING(200),
21
+ allowNull: false,
22
+ },
23
+ ItemValue: {
24
+ type: Sequelize.JSON(),
25
+ allowNull: false,
26
+ },
27
+ PostedById: {
28
+ type: Sequelize.STRING(30),
29
+ allowNull: false,
30
+ },
31
+ AccSystemCode: {
32
+ type: Sequelize.STRING(10),
33
+ allowNull: false,
34
+ },
35
+ AccSystemRefId: {
36
+ type: Sequelize.STRING(30),
37
+ allowNull: false,
38
+ },
39
+ });
40
+ },
41
+
42
+ async down(queryInterface) {
43
+ await queryInterface.dropTable('finance_PostHistory');
44
+ },
45
+ };
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,79 +1,79 @@
1
- {
2
- "name": "@tomei/finance",
3
- "version": "0.3.58",
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/general": "^0.0.26",
39
- "@tomei/media": "^0.4.0",
40
- "axios": "^1.1.3",
41
- "class-transformer": "^0.5.1",
42
- "class-validator": "^0.13.2",
43
- "cuid": "^2.1.8",
44
- "dotenv": "^16.0.3",
45
- "intuit-oauth": "^4.0.0",
46
- "mariadb": "^3.0.2",
47
- "puppeteer": "^19.4.0",
48
- "sequelize-typescript": "^2.1.3",
49
- "uniqid": "^5.4.0"
50
- },
51
- "devDependencies": {
52
- "@types/multer": "^1.4.7",
53
- "@types/node": "^18.0.6",
54
- "@types/sequelize": "^4.28.14",
55
- "@types/uniqid": "^5.3.2",
56
- "@typescript-eslint/eslint-plugin": "^5.33.0",
57
- "eslint": "^8.21.0",
58
- "eslint-config-prettier": "^8.5.0",
59
- "eslint-plugin-prettier": "^4.2.1",
60
- "husky": "^7.0.2",
61
- "lint-staged": "^11.1.2",
62
- "mariadb": "^3.0.2",
63
- "prettier": "^2.7.1",
64
- "ts-node": "^10.9.1",
65
- "tsc-watch": "^5.0.3",
66
- "tsconfig-paths": "^4.0.0",
67
- "tslint": "^6.1.3",
68
- "typescript": "^4.7.4"
69
- },
70
- "lint-staged": {
71
- "*/**/*.{js,ts,tsx}": [
72
- "npm run lint",
73
- "npm run eslint",
74
- "npm run format",
75
- "npm run build",
76
- "git add ."
77
- ]
78
- }
79
- }
1
+ {
2
+ "name": "@tomei/finance",
3
+ "version": "0.3.60",
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/general": "^0.0.26",
39
+ "@tomei/media": "^0.4.0",
40
+ "axios": "^1.1.3",
41
+ "class-transformer": "^0.5.1",
42
+ "class-validator": "^0.13.2",
43
+ "cuid": "^2.1.8",
44
+ "dotenv": "^16.0.3",
45
+ "intuit-oauth": "^4.0.0",
46
+ "mariadb": "^3.0.2",
47
+ "puppeteer": "^19.4.0",
48
+ "sequelize-typescript": "^2.1.3",
49
+ "uniqid": "^5.4.0"
50
+ },
51
+ "devDependencies": {
52
+ "@types/multer": "^1.4.7",
53
+ "@types/node": "^18.0.6",
54
+ "@types/sequelize": "^4.28.14",
55
+ "@types/uniqid": "^5.3.2",
56
+ "@typescript-eslint/eslint-plugin": "^5.33.0",
57
+ "eslint": "^8.21.0",
58
+ "eslint-config-prettier": "^8.5.0",
59
+ "eslint-plugin-prettier": "^4.2.1",
60
+ "husky": "^7.0.2",
61
+ "lint-staged": "^11.1.2",
62
+ "mariadb": "^3.0.2",
63
+ "prettier": "^2.7.1",
64
+ "ts-node": "^10.9.1",
65
+ "tsc-watch": "^5.0.3",
66
+ "tsconfig-paths": "^4.0.0",
67
+ "tslint": "^6.1.3",
68
+ "typescript": "^4.7.4"
69
+ },
70
+ "lint-staged": {
71
+ "*/**/*.{js,ts,tsx}": [
72
+ "npm run lint",
73
+ "npm run eslint",
74
+ "npm run format",
75
+ "npm run build",
76
+ "git add ."
77
+ ]
78
+ }
79
+ }
@@ -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
+ }
@@ -1,175 +1,175 @@
1
- import { RecordNotFoundError } from '@tomei/general';
2
- import { AccountSystemEntity } from '../account-system-entity/account-system-entity';
3
- import AccountModel from '../models/account.entity';
4
- import { AccountRepository } from './account.repository';
5
-
6
- // eslint-disable-next-line @typescript-eslint/no-var-requires
7
- const getConfig = require('../config');
8
-
9
- export default class Account extends AccountSystemEntity {
10
- AccountNo = 'New';
11
- ParentAccountNo? = '';
12
- Name = '';
13
- Description = '';
14
- AccountType = '';
15
- AccountSubtype = '';
16
- OwnerId = '';
17
- OwnerType = '';
18
- RelatedObjectId = '';
19
- RelatedObjectType = '';
20
- CreatedById = '';
21
- CreatedAt: Date;
22
- UpdatedById = '';
23
- UpdatedAt: Date;
24
-
25
- private static _RepositoryBase = new AccountRepository();
26
-
27
- private _DbTransaction: any;
28
- private _IsNewRecord = true;
29
-
30
- private get IsNewRecord() {
31
- return this._IsNewRecord;
32
- }
33
-
34
- private set IsNewRecord(record: boolean) {
35
- this._IsNewRecord = record;
36
- }
37
-
38
- /* AccountSystemEntity Implementation */
39
- get RepositoryBase() {
40
- return Account._RepositoryBase;
41
- }
42
-
43
- /* ObjectBase Implementation */
44
- get ObjectId() {
45
- return this.AccountNo;
46
- }
47
-
48
- get ObjectName() {
49
- return this.Name;
50
- }
51
-
52
- get TableName() {
53
- return 'finance_Account';
54
- }
55
-
56
- constructor(dbTransaction?: any, accountNo?: string) {
57
- super();
58
- if (dbTransaction) {
59
- this._DbTransaction = dbTransaction;
60
- }
61
- if (accountNo) {
62
- this.RepositoryBase.findOne({
63
- where: {
64
- AccountNo: accountNo,
65
- },
66
- transaction: dbTransaction,
67
- })
68
- .then((accountData) => {
69
- if (accountData) {
70
- this.IsNewRecord = false;
71
- this.CompanyId = accountData.CompanyId;
72
- this.ParentAccountNo = accountData.ParentAccountNo;
73
- this.Name = accountData.Name;
74
- this.Description = accountData.Description;
75
- this.AccountType = accountData.AccountType;
76
- this.AccountSubtype = accountData.AccountSubType;
77
- this.OwnerId = accountData.OwnerId;
78
- this.OwnerType = accountData.OwnerType;
79
- this.RelatedObjectId = accountData.RelatedObjectId;
80
- this.RelatedObjectType = accountData.RelatedObjectType;
81
- this.CreatedById = accountData.CreatedById;
82
- this.CreatedAt = accountData.CreatedAt;
83
- this.UpdatedById = accountData.UpdatedById;
84
- this.UpdatedAt = accountData.UpdatedAt;
85
- this.AccSystemRefId = accountData.AccSystemRefId;
86
- this.PostedToAccSystemYN = accountData.PostedToAccSystemYN;
87
- this.PostedById = accountData.PostedById;
88
- this.PostedDateTime = accountData.PostedDateTime;
89
- } else {
90
- const notFoundError = new RecordNotFoundError('No Record Found.');
91
- throw notFoundError;
92
- }
93
- })
94
- .catch((err) => {
95
- // tslint:disable-next-line:no-console
96
- console.log('Account Class constructor err: ', err);
97
- });
98
- }
99
- }
100
-
101
- /**
102
- * Account static constructor
103
- *
104
- * Create the Customer Account Receivable (AR) and Customer Account Payable (AP) default accounts.
105
- * The static constructor is to run once each time the program loads and check if the default accounts have been created.
106
- * If it has not, it will create the accounts.
107
- */
108
- static initialize(): void {
109
- const dbTransaction = null;
110
- let defaultAccountReceivable: Account;
111
- let defaultAccountPayable: Account;
112
-
113
- // const config = getConfig();
114
- // config.systemConfig['EZC']
115
-
116
- try {
117
- defaultAccountReceivable = new Account(dbTransaction, 'EZC-AR');
118
- } catch (err) {
119
- defaultAccountReceivable = new Account(dbTransaction);
120
- defaultAccountReceivable.AccountNo = null;
121
- defaultAccountReceivable.AccountType = 'Account Receivable';
122
- defaultAccountReceivable.OwnerId = 'System';
123
- defaultAccountReceivable.OwnerType = '';
124
- }
125
-
126
- try {
127
- defaultAccountPayable = new Account(dbTransaction, 'EZC-AP');
128
- } catch (err) {
129
- defaultAccountPayable = new Account(dbTransaction);
130
- defaultAccountPayable.AccountNo = null;
131
- defaultAccountPayable.AccountType = 'Account Payable';
132
- defaultAccountPayable.OwnerId = 'System';
133
- }
134
- }
135
-
136
- validateAccountValue() {
137
- if (!this.AccSystemRefId) {
138
- throw new Error('AccSystemAccountId is required.');
139
- }
140
- if (!this.AccountType) {
141
- throw new Error('AccountType is required.');
142
- }
143
- }
144
-
145
- isParentAccountExists() {
146
- if (this.ParentAccountNo) return true;
147
- return false;
148
- }
149
-
150
- async save(
151
- AccSystemRefId: string,
152
- userId: string,
153
- dbTransaction?: any,
154
- ): Promise<AccountModel> {
155
- this.AccSystemRefId = AccSystemRefId;
156
- const data = await this.RepositoryBase.create(
157
- {
158
- AccountNo: this.AccountNo,
159
- AccSystemRefId: this.AccSystemRefId,
160
- Name: this.Name,
161
- Description: this.Description,
162
- AccountType: this.AccountType,
163
- AccountSubtype: this.AccountSubtype,
164
- OwnerId: this.OwnerId,
165
- OwnerType: this.OwnerType,
166
- RelatedObjectId: this.RelatedObjectId,
167
- RelatedObjectType: this.RelatedObjectType,
168
- CreatedAt: new Date(),
169
- CreatedById: userId,
170
- },
171
- dbTransaction,
172
- );
173
- return data;
174
- }
175
- }
1
+ import { RecordNotFoundError } from '@tomei/general';
2
+ import { AccountSystemEntity } from '../account-system-entity/account-system-entity';
3
+ import AccountModel from '../models/account.entity';
4
+ import { AccountRepository } from './account.repository';
5
+
6
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
7
+ const getConfig = require('../config');
8
+
9
+ export default class Account extends AccountSystemEntity {
10
+ AccountNo = 'New';
11
+ ParentAccountNo? = '';
12
+ Name = '';
13
+ Description = '';
14
+ AccountType = '';
15
+ AccountSubtype = '';
16
+ OwnerId = '';
17
+ OwnerType = '';
18
+ RelatedObjectId = '';
19
+ RelatedObjectType = '';
20
+ CreatedById = '';
21
+ CreatedAt: Date;
22
+ UpdatedById = '';
23
+ UpdatedAt: Date;
24
+
25
+ private static _RepositoryBase = new AccountRepository();
26
+
27
+ private _DbTransaction: any;
28
+ private _IsNewRecord = true;
29
+
30
+ private get IsNewRecord() {
31
+ return this._IsNewRecord;
32
+ }
33
+
34
+ private set IsNewRecord(record: boolean) {
35
+ this._IsNewRecord = record;
36
+ }
37
+
38
+ /* AccountSystemEntity Implementation */
39
+ get RepositoryBase() {
40
+ return Account._RepositoryBase;
41
+ }
42
+
43
+ /* ObjectBase Implementation */
44
+ get ObjectId() {
45
+ return this.AccountNo;
46
+ }
47
+
48
+ get ObjectName() {
49
+ return this.Name;
50
+ }
51
+
52
+ get TableName() {
53
+ return 'finance_Account';
54
+ }
55
+
56
+ constructor(dbTransaction?: any, accountNo?: string) {
57
+ super();
58
+ if (dbTransaction) {
59
+ this._DbTransaction = dbTransaction;
60
+ }
61
+ if (accountNo) {
62
+ this.RepositoryBase.findOne({
63
+ where: {
64
+ AccountNo: accountNo,
65
+ },
66
+ transaction: dbTransaction,
67
+ })
68
+ .then((accountData) => {
69
+ if (accountData) {
70
+ this.IsNewRecord = false;
71
+ this.CompanyId = accountData.CompanyId;
72
+ this.ParentAccountNo = accountData.ParentAccountNo;
73
+ this.Name = accountData.Name;
74
+ this.Description = accountData.Description;
75
+ this.AccountType = accountData.AccountType;
76
+ this.AccountSubtype = accountData.AccountSubType;
77
+ this.OwnerId = accountData.OwnerId;
78
+ this.OwnerType = accountData.OwnerType;
79
+ this.RelatedObjectId = accountData.RelatedObjectId;
80
+ this.RelatedObjectType = accountData.RelatedObjectType;
81
+ this.CreatedById = accountData.CreatedById;
82
+ this.CreatedAt = accountData.CreatedAt;
83
+ this.UpdatedById = accountData.UpdatedById;
84
+ this.UpdatedAt = accountData.UpdatedAt;
85
+ this.AccSystemRefId = accountData.AccSystemRefId;
86
+ this.PostedToAccSystemYN = accountData.PostedToAccSystemYN;
87
+ this.PostedById = accountData.PostedById;
88
+ this.PostedDateTime = accountData.PostedDateTime;
89
+ } else {
90
+ const notFoundError = new RecordNotFoundError('No Record Found.');
91
+ throw notFoundError;
92
+ }
93
+ })
94
+ .catch((err) => {
95
+ // tslint:disable-next-line:no-console
96
+ console.log('Account Class constructor err: ', err);
97
+ });
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Account static constructor
103
+ *
104
+ * Create the Customer Account Receivable (AR) and Customer Account Payable (AP) default accounts.
105
+ * The static constructor is to run once each time the program loads and check if the default accounts have been created.
106
+ * If it has not, it will create the accounts.
107
+ */
108
+ static initialize(): void {
109
+ const dbTransaction = null;
110
+ let defaultAccountReceivable: Account;
111
+ let defaultAccountPayable: Account;
112
+
113
+ // const config = getConfig();
114
+ // config.systemConfig['EZC']
115
+
116
+ try {
117
+ defaultAccountReceivable = new Account(dbTransaction, 'EZC-AR');
118
+ } catch (err) {
119
+ defaultAccountReceivable = new Account(dbTransaction);
120
+ defaultAccountReceivable.AccountNo = null;
121
+ defaultAccountReceivable.AccountType = 'Account Receivable';
122
+ defaultAccountReceivable.OwnerId = 'System';
123
+ defaultAccountReceivable.OwnerType = '';
124
+ }
125
+
126
+ try {
127
+ defaultAccountPayable = new Account(dbTransaction, 'EZC-AP');
128
+ } catch (err) {
129
+ defaultAccountPayable = new Account(dbTransaction);
130
+ defaultAccountPayable.AccountNo = null;
131
+ defaultAccountPayable.AccountType = 'Account Payable';
132
+ defaultAccountPayable.OwnerId = 'System';
133
+ }
134
+ }
135
+
136
+ validateAccountValue() {
137
+ if (!this.AccSystemRefId) {
138
+ throw new Error('AccSystemAccountId is required.');
139
+ }
140
+ if (!this.AccountType) {
141
+ throw new Error('AccountType is required.');
142
+ }
143
+ }
144
+
145
+ isParentAccountExists() {
146
+ if (this.ParentAccountNo) return true;
147
+ return false;
148
+ }
149
+
150
+ async save(
151
+ AccSystemRefId: string,
152
+ userId: string,
153
+ dbTransaction?: any,
154
+ ): Promise<AccountModel> {
155
+ this.AccSystemRefId = AccSystemRefId;
156
+ const data = await this.RepositoryBase.create(
157
+ {
158
+ AccountNo: this.AccountNo,
159
+ AccSystemRefId: this.AccSystemRefId,
160
+ Name: this.Name,
161
+ Description: this.Description,
162
+ AccountType: this.AccountType,
163
+ AccountSubtype: this.AccountSubtype,
164
+ OwnerId: this.OwnerId,
165
+ OwnerType: this.OwnerType,
166
+ RelatedObjectId: this.RelatedObjectId,
167
+ RelatedObjectType: this.RelatedObjectType,
168
+ CreatedAt: new Date(),
169
+ CreatedById: userId,
170
+ },
171
+ dbTransaction,
172
+ );
173
+ return data;
174
+ }
175
+ }