@tomei/finance 0.6.2 → 0.6.4

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 (293) 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/customer/customer.d.ts +1 -1
  11. package/dist/customer/customer.js +5 -17
  12. package/dist/customer/customer.js.map +1 -1
  13. package/dist/document/document.d.ts +6 -0
  14. package/dist/document/document.js +51 -1
  15. package/dist/document/document.js.map +1 -1
  16. package/dist/document/interfaces/document-find-all.interface.d.ts +10 -0
  17. package/dist/{base/owner/owner.interface.js → document/interfaces/document-find-all.interface.js} +1 -1
  18. package/dist/document/interfaces/document-find-all.interface.js.map +1 -0
  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 +116 -116
  39. package/migrations/finance-payment-item-migration.js +52 -52
  40. package/migrations/finance-payment-method-migration.js +31 -31
  41. package/migrations/finance-payment-method-type-migration.js +55 -55
  42. package/migrations/finance-payment-migration.js +96 -96
  43. package/migrations/finance-post-history-migration.js +45 -45
  44. package/nest-cli.json +19 -19
  45. package/package.json +82 -83
  46. package/src/account/account.repository.ts +11 -11
  47. package/src/account/account.ts +271 -271
  48. package/src/account/interfaces/account-attr.interface.ts +31 -31
  49. package/src/account-system-entity/account-system-entity.ts +65 -65
  50. package/src/account-system-entity/post-history.repository.ts +11 -11
  51. package/src/config.ts +382 -382
  52. package/src/customer/customer.ts +299 -313
  53. package/src/customer/finance-customer.repository.ts +13 -13
  54. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  55. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  56. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  57. package/src/database.ts +15 -15
  58. package/src/document/document-item.repository.ts +11 -11
  59. package/src/document/document.repository.ts +11 -11
  60. package/src/document/document.ts +110 -0
  61. package/src/document/interfaces/document-attr.interface.ts +28 -28
  62. package/src/document/interfaces/document-find-all.interface.ts +11 -0
  63. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  64. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  65. package/src/enum/doc-type.enum.ts +8 -8
  66. package/src/enum/index.ts +17 -17
  67. package/src/enum/payment-method.enum.ts +3 -3
  68. package/src/enum/payment-type.enum.ts +4 -4
  69. package/src/finance-company/finance-company.repository.ts +11 -11
  70. package/src/finance-company/finance-company.ts +1754 -1754
  71. package/src/helpers/typeof.ts +29 -29
  72. package/src/index.ts +32 -32
  73. package/src/interfaces/account-system.interface.ts +20 -20
  74. package/src/interfaces/index.ts +3 -3
  75. package/src/models/account.entity.ts +206 -206
  76. package/src/models/customer.entity.ts +93 -93
  77. package/src/models/document-item.entity.ts +143 -143
  78. package/src/models/document.entity.ts +211 -211
  79. package/src/models/finance-company.entity.ts +25 -25
  80. package/src/models/journal-entry.entity.ts +110 -110
  81. package/src/models/ledger-transaction.entity.ts +148 -148
  82. package/src/models/payment-item.entity.ts +60 -60
  83. package/src/models/payment-method-type.entity.ts +70 -70
  84. package/src/models/payment-method.entity.ts +51 -51
  85. package/src/models/payment.entity.ts +161 -161
  86. package/src/models/post-history.entity.ts +41 -41
  87. package/src/payment/interfaces/payment-attr.interface.ts +23 -23
  88. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  89. package/src/payment/payment.repository.ts +11 -11
  90. package/src/payment/payment.ts +217 -217
  91. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  92. package/src/payment-item/payment-item.repository.ts +11 -11
  93. package/src/payment-item/payment-item.ts +125 -125
  94. package/src/payment-method/payment-method.repository.ts +11 -11
  95. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  96. package/src/test-document.ts +25 -25
  97. package/tsconfig.build.json +4 -4
  98. package/tsconfig.json +22 -22
  99. package/tslint.json +18 -18
  100. package/dist/account/entities/account.entity.d.ts +0 -26
  101. package/dist/account/entities/account.entity.js +0 -199
  102. package/dist/account/entities/account.entity.js.map +0 -1
  103. package/dist/account/entities/fee-associated-object.entity.d.ts +0 -6
  104. package/dist/account/entities/fee-associated-object.entity.js +0 -52
  105. package/dist/account/entities/fee-associated-object.entity.js.map +0 -1
  106. package/dist/account/index.d.ts +0 -6
  107. package/dist/account/index.js +0 -10
  108. package/dist/account/index.js.map +0 -1
  109. package/dist/account/interfaces/account.repository.interface.d.ts +0 -3
  110. package/dist/account/interfaces/account.repository.interface.js +0 -3
  111. package/dist/account/interfaces/account.repository.interface.js.map +0 -1
  112. package/dist/account-system-entity/index.d.ts +0 -2
  113. package/dist/account-system-entity/index.js +0 -6
  114. package/dist/account-system-entity/index.js.map +0 -1
  115. package/dist/account-system-entity/post-history.entity.d.ts +0 -11
  116. package/dist/account-system-entity/post-history.entity.js +0 -65
  117. package/dist/account-system-entity/post-history.entity.js.map +0 -1
  118. package/dist/base/account-system.interface.d.ts +0 -7
  119. package/dist/base/account-system.interface.js +0 -3
  120. package/dist/base/account-system.interface.js.map +0 -1
  121. package/dist/base/address.base.abstract.d.ts +0 -4
  122. package/dist/base/address.base.abstract.js +0 -10
  123. package/dist/base/address.base.abstract.js.map +0 -1
  124. package/dist/base/base.address.d.ts +0 -8
  125. package/dist/base/base.address.js +0 -15
  126. package/dist/base/base.address.js.map +0 -1
  127. package/dist/base/base.object.d.ts +0 -7
  128. package/dist/base/base.object.js +0 -14
  129. package/dist/base/base.object.js.map +0 -1
  130. package/dist/base/base.owner.d.ts +0 -23
  131. package/dist/base/base.owner.js +0 -34
  132. package/dist/base/base.owner.js.map +0 -1
  133. package/dist/base/base.repository.abstract.d.ts +0 -12
  134. package/dist/base/base.repository.abstract.js +0 -22
  135. package/dist/base/base.repository.abstract.js.map +0 -1
  136. package/dist/base/base.repository.interface.d.ts +0 -9
  137. package/dist/base/base.repository.interface.js +0 -3
  138. package/dist/base/base.repository.interface.js.map +0 -1
  139. package/dist/base/index.d.ts +0 -4
  140. package/dist/base/index.js +0 -10
  141. package/dist/base/index.js.map +0 -1
  142. package/dist/base/object/base.object.abstract.d.ts +0 -5
  143. package/dist/base/object/base.object.abstract.js +0 -7
  144. package/dist/base/object/base.object.abstract.js.map +0 -1
  145. package/dist/base/object/base.object.d.ts +0 -7
  146. package/dist/base/object/base.object.js +0 -14
  147. package/dist/base/object/base.object.js.map +0 -1
  148. package/dist/base/object/object.interface.d.ts +0 -4
  149. package/dist/base/object/object.interface.js +0 -3
  150. package/dist/base/object/object.interface.js.map +0 -1
  151. package/dist/base/object.base.abstract.d.ts +0 -5
  152. package/dist/base/object.base.abstract.js +0 -11
  153. package/dist/base/object.base.abstract.js.map +0 -1
  154. package/dist/base/owner/base.owner.abstract.d.ts +0 -20
  155. package/dist/base/owner/base.owner.abstract.js +0 -8
  156. package/dist/base/owner/base.owner.abstract.js.map +0 -1
  157. package/dist/base/owner/base.owner.d.ts +0 -22
  158. package/dist/base/owner/base.owner.js +0 -31
  159. package/dist/base/owner/base.owner.js.map +0 -1
  160. package/dist/base/owner/owner.interface.d.ts +0 -19
  161. package/dist/base/owner/owner.interface.js.map +0 -1
  162. package/dist/base/person.base.abstract.d.ts +0 -21
  163. package/dist/base/person.base.abstract.js +0 -17
  164. package/dist/base/person.base.abstract.js.map +0 -1
  165. package/dist/base/repository/base.repository.abstract.d.ts +0 -12
  166. package/dist/base/repository/base.repository.abstract.js +0 -22
  167. package/dist/base/repository/base.repository.abstract.js.map +0 -1
  168. package/dist/base/repository/base.repository.interface.d.ts +0 -9
  169. package/dist/base/repository/base.repository.interface.js +0 -3
  170. package/dist/base/repository/base.repository.interface.js.map +0 -1
  171. package/dist/customer/customer.repository.d.ts +0 -0
  172. package/dist/customer/customer.repository.js +0 -1
  173. package/dist/customer/customer.repository.js.map +0 -1
  174. package/dist/customer/entities/customer.entity.d.ts +0 -13
  175. package/dist/customer/entities/customer.entity.js +0 -111
  176. package/dist/customer/entities/customer.entity.js.map +0 -1
  177. package/dist/customer/index.d.ts +0 -7
  178. package/dist/customer/index.js +0 -10
  179. package/dist/customer/index.js.map +0 -1
  180. package/dist/document/entities/document-item.entity.d.ts +0 -27
  181. package/dist/document/entities/document-item.entity.js +0 -174
  182. package/dist/document/entities/document-item.entity.js.map +0 -1
  183. package/dist/document/entities/document.entity.d.ts +0 -22
  184. package/dist/document/entities/document.entity.js +0 -139
  185. package/dist/document/entities/document.entity.js.map +0 -1
  186. package/dist/document/index.d.ts +0 -11
  187. package/dist/document/index.js +0 -20
  188. package/dist/document/index.js.map +0 -1
  189. package/dist/document/interfaces/document.repository.interface.d.ts +0 -3
  190. package/dist/document/interfaces/document.repository.interface.js +0 -3
  191. package/dist/document/interfaces/document.repository.interface.js.map +0 -1
  192. package/dist/enum/document-type.enum.d.ts +0 -7
  193. package/dist/enum/document-type.enum.js +0 -12
  194. package/dist/enum/document-type.enum.js.map +0 -1
  195. package/dist/enum/intuit-client.enum.d.ts +0 -13
  196. package/dist/enum/intuit-client.enum.js +0 -19
  197. package/dist/enum/intuit-client.enum.js.map +0 -1
  198. package/dist/finance-company/entities/finance-company.entity.d.ts +0 -13
  199. package/dist/finance-company/entities/finance-company.entity.js +0 -113
  200. package/dist/finance-company/entities/finance-company.entity.js.map +0 -1
  201. package/dist/finance-company/finance-company.entity.d.ts +0 -13
  202. package/dist/finance-company/finance-company.entity.js +0 -66
  203. package/dist/finance-company/finance-company.entity.js.map +0 -1
  204. package/dist/finance-company/index.d.ts +0 -3
  205. package/dist/finance-company/index.js +0 -8
  206. package/dist/finance-company/index.js.map +0 -1
  207. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +0 -10
  208. package/dist/finance-company/interfaces/finance-company-attr.interface.js +0 -3
  209. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +0 -1
  210. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +0 -3
  211. package/dist/finance-company/interfaces/finance-company.repository.interface.js +0 -3
  212. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +0 -1
  213. package/dist/interfaces/account-system-entity.interface.d.ts +0 -7
  214. package/dist/interfaces/account-system-entity.interface.js +0 -3
  215. package/dist/interfaces/account-system-entity.interface.js.map +0 -1
  216. package/dist/interfaces/customer.repository.interface.d.ts +0 -3
  217. package/dist/interfaces/customer.repository.interface.js +0 -3
  218. package/dist/interfaces/customer.repository.interface.js.map +0 -1
  219. package/dist/interfaces/finance-customer.repository.interface.d.ts +0 -3
  220. package/dist/interfaces/finance-customer.repository.interface.js +0 -3
  221. package/dist/interfaces/finance-customer.repository.interface.js.map +0 -1
  222. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  223. package/dist/interfaces/systemConfig.interface.js +0 -1
  224. package/dist/interfaces/systemConfig.interface.js.map +0 -1
  225. package/dist/intuit-client/client.d.ts +0 -14
  226. package/dist/intuit-client/client.js +0 -44
  227. package/dist/intuit-client/client.js.map +0 -1
  228. package/dist/journal-entry/entities/journal-entry.entity.d.ts +0 -16
  229. package/dist/journal-entry/entities/journal-entry.entity.js +0 -129
  230. package/dist/journal-entry/entities/journal-entry.entity.js.map +0 -1
  231. package/dist/journal-entry/index.d.ts +0 -6
  232. package/dist/journal-entry/index.js +0 -10
  233. package/dist/journal-entry/index.js.map +0 -1
  234. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +0 -10
  235. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +0 -3
  236. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +0 -1
  237. package/dist/ledger-transaction/entities/ledger-transaction.entity.d.ts +0 -19
  238. package/dist/ledger-transaction/entities/ledger-transaction.entity.js +0 -157
  239. package/dist/ledger-transaction/entities/ledger-transaction.entity.js.map +0 -1
  240. package/dist/ledger-transaction/index.d.ts +0 -6
  241. package/dist/ledger-transaction/index.js +0 -10
  242. package/dist/ledger-transaction/index.js.map +0 -1
  243. package/dist/payment/entities/payment-item.entity.d.ts +0 -10
  244. package/dist/payment/entities/payment-item.entity.js +0 -62
  245. package/dist/payment/entities/payment-item.entity.js.map +0 -1
  246. package/dist/payment/entities/payment.entity.d.ts +0 -25
  247. package/dist/payment/entities/payment.entity.js +0 -152
  248. package/dist/payment/entities/payment.entity.js.map +0 -1
  249. package/dist/payment/index.d.ts +0 -10
  250. package/dist/payment/index.js +0 -18
  251. package/dist/payment/index.js.map +0 -1
  252. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +0 -8
  253. package/dist/payment/interfaces/payment-item-attr.interface.js +0 -7
  254. package/dist/payment/interfaces/payment-item-attr.interface.js.map +0 -1
  255. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +0 -3
  256. package/dist/payment/interfaces/payment-item.repository.interface.js +0 -3
  257. package/dist/payment/interfaces/payment-item.repository.interface.js.map +0 -1
  258. package/dist/payment/interfaces/payment.repository.interface.d.ts +0 -3
  259. package/dist/payment/interfaces/payment.repository.interface.js +0 -3
  260. package/dist/payment/interfaces/payment.repository.interface.js.map +0 -1
  261. package/dist/payment/payment-item.repository.d.ts +0 -5
  262. package/dist/payment/payment-item.repository.js +0 -12
  263. package/dist/payment/payment-item.repository.js.map +0 -1
  264. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +0 -3
  265. package/dist/payment-item/interfaces/payment-item.repository.interface.js +0 -3
  266. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +0 -1
  267. package/dist/quickbook-client/client.d.ts +0 -39
  268. package/dist/quickbook-client/client.js +0 -205
  269. package/dist/quickbook-client/client.js.map +0 -1
  270. package/dist/quickbook-client/constant.d.ts +0 -1
  271. package/dist/quickbook-client/constant.js +0 -5
  272. package/dist/quickbook-client/constant.js.map +0 -1
  273. package/dist/quickbook-client/index.d.ts +0 -5
  274. package/dist/quickbook-client/index.js +0 -6
  275. package/dist/quickbook-client/index.js.map +0 -1
  276. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +0 -6
  277. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +0 -3
  278. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +0 -1
  279. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +0 -9
  280. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +0 -3
  281. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +0 -1
  282. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +0 -7
  283. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +0 -3
  284. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +0 -1
  285. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +0 -8
  286. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +0 -3
  287. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +0 -1
  288. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +0 -2
  289. package/dist/quickbook-client/quickbook-client.module-definition.js +0 -9
  290. package/dist/quickbook-client/quickbook-client.module-definition.js.map +0 -1
  291. package/dist/quickbook-client/quickbook-client.module.d.ts +0 -6
  292. package/dist/quickbook-client/quickbook-client.module.js +0 -34
  293. package/dist/quickbook-client/quickbook-client.module.js.map +0 -1
@@ -1,10 +1,10 @@
1
- export interface IFinanceCustomerAttr {
2
- CustomerId: string;
3
- CompanyId: string;
4
- CustSystemCode: string;
5
- CustSystemRefId: string;
6
- AccSystemRefId: string;
7
- PostedToAccSystemYN: string;
8
- PostedById: string;
9
- PostedDateTime?: Date;
10
- }
1
+ export interface IFinanceCustomerAttr {
2
+ CustomerId: string;
3
+ CompanyId: string;
4
+ CustSystemCode: string;
5
+ CustSystemRefId: string;
6
+ AccSystemRefId: string;
7
+ PostedToAccSystemYN: string;
8
+ PostedById: string;
9
+ PostedDateTime?: Date;
10
+ }
@@ -1,4 +1,4 @@
1
- import { IRepositoryBase } from '@tomei/general';
2
- import FinanceCustomerModel from '../../models/customer.entity';
3
-
4
- export type IFinanceCustomerRepository = IRepositoryBase<FinanceCustomerModel>;
1
+ import { IRepositoryBase } from '@tomei/general';
2
+ import FinanceCustomerModel from '../../models/customer.entity';
3
+
4
+ export type IFinanceCustomerRepository = IRepositoryBase<FinanceCustomerModel>;
package/src/database.ts CHANGED
@@ -1,15 +1,15 @@
1
- import { Sequelize, SequelizeOptions } from 'sequelize-typescript';
2
-
3
- let sequelize: Sequelize;
4
-
5
- function init(sequelizeOptions: SequelizeOptions) {
6
- sequelize = new Sequelize(sequelizeOptions);
7
-
8
- sequelize.addModels([__dirname + '/models']);
9
- }
10
-
11
- function getConnection() {
12
- return sequelize;
13
- }
14
-
15
- export { init, getConnection };
1
+ import { Sequelize, SequelizeOptions } from 'sequelize-typescript';
2
+
3
+ let sequelize: Sequelize;
4
+
5
+ function init(sequelizeOptions: SequelizeOptions) {
6
+ sequelize = new Sequelize(sequelizeOptions);
7
+
8
+ sequelize.addModels([__dirname + '/models']);
9
+ }
10
+
11
+ function getConnection() {
12
+ return sequelize;
13
+ }
14
+
15
+ 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
+ }
@@ -12,6 +12,7 @@ import {
12
12
  } from '@tomei/media';
13
13
  import { DocumentStatus, DocType } from '../enum';
14
14
  import { IDocumentAttr } from './interfaces/document-attr.interface';
15
+ import { IDocumentFindAll } from './interfaces/document-find-all.interface';
15
16
  import { DocumentItemRepository } from './document-item.repository';
16
17
  import DocumentItem from './document-item';
17
18
  import { AccountSystemEntity } from '../account-system-entity/account-system-entity';
@@ -19,6 +20,9 @@ import { DocumentRepository } from './document.repository';
19
20
  import FinanceCustomerBase from '../customer/customer';
20
21
  import DocumentModel from '../models/document.entity';
21
22
  import * as path from 'path';
23
+ import { ClassError, LoginUserBase } from '@tomei/general';
24
+ import { ApplicationConfig } from '@tomei/config';
25
+ import { Op } from 'sequelize';
22
26
 
23
27
  export default class Document extends AccountSystemEntity {
24
28
  DocNo = 'New';
@@ -873,6 +877,7 @@ export default class Document extends AccountSystemEntity {
873
877
  await this.DEFAULT_INVOICE_TEMPLATE_PDF(customer),
874
878
  pdfPayload,
875
879
  userId ?? 'System',
880
+ dbTransaction,
876
881
  );
877
882
 
878
883
  /*Below is commented because the current implentation flow does not add up (PLEASE DON'T DELETE)*/
@@ -1006,4 +1011,109 @@ export default class Document extends AccountSystemEntity {
1006
1011
  order: [['CreatedAt', 'DESC']],
1007
1012
  });
1008
1013
  }
1014
+
1015
+ /**
1016
+ * Retrieve a list of documents from the database.
1017
+ *
1018
+ * @param loginUser - The user who is issuing the request.
1019
+ * @param dbTransaction - The database transaction to be used, if any.
1020
+ * @param page - Optional. The page number for paginated results.
1021
+ * @param row - Optional. The number of rows to retrieve per page.
1022
+ * @param search - Optional. An object containing search criteria.
1023
+ *
1024
+ * @returns {count: number, rows: DocumentModel[]} - An object containing the count of matching documents and an array of DocumentModel objects.
1025
+ * @throws {Error} - If the user does not have the required privilege or if an error occurs during the operation.
1026
+ */
1027
+ async findAll(
1028
+ loginUser: LoginUserBase,
1029
+ dbTransaction: any,
1030
+ page?: number,
1031
+ row?: number,
1032
+ search?: IDocumentFindAll,
1033
+ ): Promise<{ count: number; rows: DocumentModel[] }> {
1034
+ try {
1035
+ const systemCode =
1036
+ ApplicationConfig.getComponentConfigValue('system-code');
1037
+
1038
+ const isPrivileged = await loginUser.checkPrivileges(
1039
+ systemCode,
1040
+ 'Invoice - View',
1041
+ );
1042
+ if (!isPrivileged) {
1043
+ throw new ClassError(
1044
+ 'Document',
1045
+ 'DocumentFindAllErrMsg00',
1046
+ `You do not have 'Invoice - View' privilege.`,
1047
+ );
1048
+ }
1049
+
1050
+ let options: any = {
1051
+ transaction: dbTransaction,
1052
+ };
1053
+
1054
+ /*Create an object to store search criteria*/
1055
+ const searchObj: IDocumentFindAll | any = {};
1056
+
1057
+ /*Apply search filters if they are provided*/
1058
+ if (search.DocNo) {
1059
+ searchObj.DocNo = search.DocNo;
1060
+ }
1061
+
1062
+ if (search.DocType) {
1063
+ searchObj.DocType = search.DocType;
1064
+ }
1065
+
1066
+ if (search.StartDate) {
1067
+ searchObj.DocDate = {
1068
+ ...searchObj.DocDate,
1069
+ [Op.gte]: new Date(search.StartDate).toISOString(),
1070
+ };
1071
+ }
1072
+
1073
+ if (search.EndDate) {
1074
+ searchObj.DocDate = {
1075
+ ...searchObj.DocDate,
1076
+ [Op.lte]: new Date(search.EndDate).toISOString(),
1077
+ };
1078
+ }
1079
+
1080
+ if (search.IssuedToId) {
1081
+ searchObj.IssuedToId = search.IssuedToId;
1082
+ }
1083
+
1084
+ if (search.IssuedToType) {
1085
+ searchObj.IssuedToType = search.IssuedToType;
1086
+ }
1087
+
1088
+ if (search.Status) {
1089
+ searchObj.Status = search.Status;
1090
+ }
1091
+
1092
+ /*If pagination is requested, update query options*/
1093
+ if (page && row) {
1094
+ options = {
1095
+ ...options,
1096
+ limit: row,
1097
+ offset: row * (page - 1),
1098
+ order: [['CreatedAt', 'DESC']],
1099
+ };
1100
+ }
1101
+
1102
+ /*If search criteria exist, add them to the query options*/
1103
+ if (Object.keys(searchObj).length) {
1104
+ options = {
1105
+ ...options,
1106
+ where: searchObj,
1107
+ };
1108
+ }
1109
+
1110
+ /*Retrieve documents from the database with pagination and search filters applied*/
1111
+ const documents = await this.RepositoryBase.findAllWithPagination(
1112
+ options,
1113
+ );
1114
+ return documents;
1115
+ } catch (error) {
1116
+ throw error;
1117
+ }
1118
+ }
1009
1119
  }
@@ -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
+ }
@@ -0,0 +1,11 @@
1
+ import { DocType, DocumentStatus } from '../../enum';
2
+
3
+ export interface IDocumentFindAll {
4
+ DocNo?: string;
5
+ DocType?: DocType;
6
+ StartDate?: Date;
7
+ EndDate?: Date;
8
+ IssuedToId?: string;
9
+ IssuedToType?: string;
10
+ Status?: DocumentStatus;
11
+ }
@@ -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
+ }