@tomei/finance 0.6.3 → 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 (290) 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/document/document.d.ts +6 -0
  11. package/dist/document/document.js +50 -0
  12. package/dist/document/document.js.map +1 -1
  13. package/dist/document/interfaces/document-find-all.interface.d.ts +10 -0
  14. package/dist/{base/owner/owner.interface.js → document/interfaces/document-find-all.interface.js} +1 -1
  15. package/dist/document/interfaces/document-find-all.interface.js.map +1 -0
  16. package/dist/payment-item/payment-item.js +4 -4
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/invoice-template/assets/css/style.css.map +12 -12
  19. package/invoice-template/assets/css/style.min.css +1 -1
  20. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  21. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  22. package/invoice-template/assets/img/logo_accent.svg +3 -3
  23. package/invoice-template/assets/img/logo_white.svg +4 -4
  24. package/invoice-template/assets/img/sign.svg +12 -12
  25. package/invoice-template/assets/img/tomei-logo.svg +9 -9
  26. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  27. package/invoice-template/assets/js/jquery.min.js +1 -1
  28. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  29. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  30. package/invoice-template/assets/sass/style.scss +12 -12
  31. package/migrations/finance-account-migration.js +97 -97
  32. package/migrations/finance-company-migration.js +29 -29
  33. package/migrations/finance-customer-migration.js +51 -51
  34. package/migrations/finance-document-item-migration.js +111 -111
  35. package/migrations/finance-document-migration.js +116 -116
  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/nest-cli.json +19 -19
  42. package/package.json +82 -83
  43. package/src/account/account.repository.ts +11 -11
  44. package/src/account/account.ts +271 -271
  45. package/src/account/interfaces/account-attr.interface.ts +31 -31
  46. package/src/account-system-entity/account-system-entity.ts +65 -65
  47. package/src/account-system-entity/post-history.repository.ts +11 -11
  48. package/src/config.ts +382 -382
  49. package/src/customer/customer.ts +299 -299
  50. package/src/customer/finance-customer.repository.ts +13 -13
  51. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  52. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  53. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  54. package/src/database.ts +15 -15
  55. package/src/document/document-item.repository.ts +11 -11
  56. package/src/document/document.repository.ts +11 -11
  57. package/src/document/document.ts +109 -0
  58. package/src/document/interfaces/document-attr.interface.ts +28 -28
  59. package/src/document/interfaces/document-find-all.interface.ts +11 -0
  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 +1754 -1754
  68. package/src/helpers/typeof.ts +29 -29
  69. package/src/index.ts +32 -32
  70. package/src/interfaces/account-system.interface.ts +20 -20
  71. package/src/interfaces/index.ts +3 -3
  72. package/src/models/account.entity.ts +206 -206
  73. package/src/models/customer.entity.ts +93 -93
  74. package/src/models/document-item.entity.ts +143 -143
  75. package/src/models/document.entity.ts +211 -211
  76. package/src/models/finance-company.entity.ts +25 -25
  77. package/src/models/journal-entry.entity.ts +110 -110
  78. package/src/models/ledger-transaction.entity.ts +148 -148
  79. package/src/models/payment-item.entity.ts +60 -60
  80. package/src/models/payment-method-type.entity.ts +70 -70
  81. package/src/models/payment-method.entity.ts +51 -51
  82. package/src/models/payment.entity.ts +161 -161
  83. package/src/models/post-history.entity.ts +41 -41
  84. package/src/payment/interfaces/payment-attr.interface.ts +23 -23
  85. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  86. package/src/payment/payment.repository.ts +11 -11
  87. package/src/payment/payment.ts +217 -217
  88. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  89. package/src/payment-item/payment-item.repository.ts +11 -11
  90. package/src/payment-item/payment-item.ts +125 -125
  91. package/src/payment-method/payment-method.repository.ts +11 -11
  92. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  93. package/src/test-document.ts +25 -25
  94. package/tsconfig.build.json +4 -4
  95. package/tsconfig.json +22 -22
  96. package/tslint.json +18 -18
  97. package/dist/account/entities/account.entity.d.ts +0 -26
  98. package/dist/account/entities/account.entity.js +0 -199
  99. package/dist/account/entities/account.entity.js.map +0 -1
  100. package/dist/account/entities/fee-associated-object.entity.d.ts +0 -6
  101. package/dist/account/entities/fee-associated-object.entity.js +0 -52
  102. package/dist/account/entities/fee-associated-object.entity.js.map +0 -1
  103. package/dist/account/index.d.ts +0 -6
  104. package/dist/account/index.js +0 -10
  105. package/dist/account/index.js.map +0 -1
  106. package/dist/account/interfaces/account.repository.interface.d.ts +0 -3
  107. package/dist/account/interfaces/account.repository.interface.js +0 -3
  108. package/dist/account/interfaces/account.repository.interface.js.map +0 -1
  109. package/dist/account-system-entity/index.d.ts +0 -2
  110. package/dist/account-system-entity/index.js +0 -6
  111. package/dist/account-system-entity/index.js.map +0 -1
  112. package/dist/account-system-entity/post-history.entity.d.ts +0 -11
  113. package/dist/account-system-entity/post-history.entity.js +0 -65
  114. package/dist/account-system-entity/post-history.entity.js.map +0 -1
  115. package/dist/base/account-system.interface.d.ts +0 -7
  116. package/dist/base/account-system.interface.js +0 -3
  117. package/dist/base/account-system.interface.js.map +0 -1
  118. package/dist/base/address.base.abstract.d.ts +0 -4
  119. package/dist/base/address.base.abstract.js +0 -10
  120. package/dist/base/address.base.abstract.js.map +0 -1
  121. package/dist/base/base.address.d.ts +0 -8
  122. package/dist/base/base.address.js +0 -15
  123. package/dist/base/base.address.js.map +0 -1
  124. package/dist/base/base.object.d.ts +0 -7
  125. package/dist/base/base.object.js +0 -14
  126. package/dist/base/base.object.js.map +0 -1
  127. package/dist/base/base.owner.d.ts +0 -23
  128. package/dist/base/base.owner.js +0 -34
  129. package/dist/base/base.owner.js.map +0 -1
  130. package/dist/base/base.repository.abstract.d.ts +0 -12
  131. package/dist/base/base.repository.abstract.js +0 -22
  132. package/dist/base/base.repository.abstract.js.map +0 -1
  133. package/dist/base/base.repository.interface.d.ts +0 -9
  134. package/dist/base/base.repository.interface.js +0 -3
  135. package/dist/base/base.repository.interface.js.map +0 -1
  136. package/dist/base/index.d.ts +0 -4
  137. package/dist/base/index.js +0 -10
  138. package/dist/base/index.js.map +0 -1
  139. package/dist/base/object/base.object.abstract.d.ts +0 -5
  140. package/dist/base/object/base.object.abstract.js +0 -7
  141. package/dist/base/object/base.object.abstract.js.map +0 -1
  142. package/dist/base/object/base.object.d.ts +0 -7
  143. package/dist/base/object/base.object.js +0 -14
  144. package/dist/base/object/base.object.js.map +0 -1
  145. package/dist/base/object/object.interface.d.ts +0 -4
  146. package/dist/base/object/object.interface.js +0 -3
  147. package/dist/base/object/object.interface.js.map +0 -1
  148. package/dist/base/object.base.abstract.d.ts +0 -5
  149. package/dist/base/object.base.abstract.js +0 -11
  150. package/dist/base/object.base.abstract.js.map +0 -1
  151. package/dist/base/owner/base.owner.abstract.d.ts +0 -20
  152. package/dist/base/owner/base.owner.abstract.js +0 -8
  153. package/dist/base/owner/base.owner.abstract.js.map +0 -1
  154. package/dist/base/owner/base.owner.d.ts +0 -22
  155. package/dist/base/owner/base.owner.js +0 -31
  156. package/dist/base/owner/base.owner.js.map +0 -1
  157. package/dist/base/owner/owner.interface.d.ts +0 -19
  158. package/dist/base/owner/owner.interface.js.map +0 -1
  159. package/dist/base/person.base.abstract.d.ts +0 -21
  160. package/dist/base/person.base.abstract.js +0 -17
  161. package/dist/base/person.base.abstract.js.map +0 -1
  162. package/dist/base/repository/base.repository.abstract.d.ts +0 -12
  163. package/dist/base/repository/base.repository.abstract.js +0 -22
  164. package/dist/base/repository/base.repository.abstract.js.map +0 -1
  165. package/dist/base/repository/base.repository.interface.d.ts +0 -9
  166. package/dist/base/repository/base.repository.interface.js +0 -3
  167. package/dist/base/repository/base.repository.interface.js.map +0 -1
  168. package/dist/customer/customer.repository.d.ts +0 -0
  169. package/dist/customer/customer.repository.js +0 -1
  170. package/dist/customer/customer.repository.js.map +0 -1
  171. package/dist/customer/entities/customer.entity.d.ts +0 -13
  172. package/dist/customer/entities/customer.entity.js +0 -111
  173. package/dist/customer/entities/customer.entity.js.map +0 -1
  174. package/dist/customer/index.d.ts +0 -7
  175. package/dist/customer/index.js +0 -10
  176. package/dist/customer/index.js.map +0 -1
  177. package/dist/document/entities/document-item.entity.d.ts +0 -27
  178. package/dist/document/entities/document-item.entity.js +0 -174
  179. package/dist/document/entities/document-item.entity.js.map +0 -1
  180. package/dist/document/entities/document.entity.d.ts +0 -22
  181. package/dist/document/entities/document.entity.js +0 -139
  182. package/dist/document/entities/document.entity.js.map +0 -1
  183. package/dist/document/index.d.ts +0 -11
  184. package/dist/document/index.js +0 -20
  185. package/dist/document/index.js.map +0 -1
  186. package/dist/document/interfaces/document.repository.interface.d.ts +0 -3
  187. package/dist/document/interfaces/document.repository.interface.js +0 -3
  188. package/dist/document/interfaces/document.repository.interface.js.map +0 -1
  189. package/dist/enum/document-type.enum.d.ts +0 -7
  190. package/dist/enum/document-type.enum.js +0 -12
  191. package/dist/enum/document-type.enum.js.map +0 -1
  192. package/dist/enum/intuit-client.enum.d.ts +0 -13
  193. package/dist/enum/intuit-client.enum.js +0 -19
  194. package/dist/enum/intuit-client.enum.js.map +0 -1
  195. package/dist/finance-company/entities/finance-company.entity.d.ts +0 -13
  196. package/dist/finance-company/entities/finance-company.entity.js +0 -113
  197. package/dist/finance-company/entities/finance-company.entity.js.map +0 -1
  198. package/dist/finance-company/finance-company.entity.d.ts +0 -13
  199. package/dist/finance-company/finance-company.entity.js +0 -66
  200. package/dist/finance-company/finance-company.entity.js.map +0 -1
  201. package/dist/finance-company/index.d.ts +0 -3
  202. package/dist/finance-company/index.js +0 -8
  203. package/dist/finance-company/index.js.map +0 -1
  204. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +0 -10
  205. package/dist/finance-company/interfaces/finance-company-attr.interface.js +0 -3
  206. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +0 -1
  207. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +0 -3
  208. package/dist/finance-company/interfaces/finance-company.repository.interface.js +0 -3
  209. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +0 -1
  210. package/dist/interfaces/account-system-entity.interface.d.ts +0 -7
  211. package/dist/interfaces/account-system-entity.interface.js +0 -3
  212. package/dist/interfaces/account-system-entity.interface.js.map +0 -1
  213. package/dist/interfaces/customer.repository.interface.d.ts +0 -3
  214. package/dist/interfaces/customer.repository.interface.js +0 -3
  215. package/dist/interfaces/customer.repository.interface.js.map +0 -1
  216. package/dist/interfaces/finance-customer.repository.interface.d.ts +0 -3
  217. package/dist/interfaces/finance-customer.repository.interface.js +0 -3
  218. package/dist/interfaces/finance-customer.repository.interface.js.map +0 -1
  219. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  220. package/dist/interfaces/systemConfig.interface.js +0 -1
  221. package/dist/interfaces/systemConfig.interface.js.map +0 -1
  222. package/dist/intuit-client/client.d.ts +0 -14
  223. package/dist/intuit-client/client.js +0 -44
  224. package/dist/intuit-client/client.js.map +0 -1
  225. package/dist/journal-entry/entities/journal-entry.entity.d.ts +0 -16
  226. package/dist/journal-entry/entities/journal-entry.entity.js +0 -129
  227. package/dist/journal-entry/entities/journal-entry.entity.js.map +0 -1
  228. package/dist/journal-entry/index.d.ts +0 -6
  229. package/dist/journal-entry/index.js +0 -10
  230. package/dist/journal-entry/index.js.map +0 -1
  231. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +0 -10
  232. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +0 -3
  233. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +0 -1
  234. package/dist/ledger-transaction/entities/ledger-transaction.entity.d.ts +0 -19
  235. package/dist/ledger-transaction/entities/ledger-transaction.entity.js +0 -157
  236. package/dist/ledger-transaction/entities/ledger-transaction.entity.js.map +0 -1
  237. package/dist/ledger-transaction/index.d.ts +0 -6
  238. package/dist/ledger-transaction/index.js +0 -10
  239. package/dist/ledger-transaction/index.js.map +0 -1
  240. package/dist/payment/entities/payment-item.entity.d.ts +0 -10
  241. package/dist/payment/entities/payment-item.entity.js +0 -62
  242. package/dist/payment/entities/payment-item.entity.js.map +0 -1
  243. package/dist/payment/entities/payment.entity.d.ts +0 -25
  244. package/dist/payment/entities/payment.entity.js +0 -152
  245. package/dist/payment/entities/payment.entity.js.map +0 -1
  246. package/dist/payment/index.d.ts +0 -10
  247. package/dist/payment/index.js +0 -18
  248. package/dist/payment/index.js.map +0 -1
  249. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +0 -8
  250. package/dist/payment/interfaces/payment-item-attr.interface.js +0 -7
  251. package/dist/payment/interfaces/payment-item-attr.interface.js.map +0 -1
  252. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +0 -3
  253. package/dist/payment/interfaces/payment-item.repository.interface.js +0 -3
  254. package/dist/payment/interfaces/payment-item.repository.interface.js.map +0 -1
  255. package/dist/payment/interfaces/payment.repository.interface.d.ts +0 -3
  256. package/dist/payment/interfaces/payment.repository.interface.js +0 -3
  257. package/dist/payment/interfaces/payment.repository.interface.js.map +0 -1
  258. package/dist/payment/payment-item.repository.d.ts +0 -5
  259. package/dist/payment/payment-item.repository.js +0 -12
  260. package/dist/payment/payment-item.repository.js.map +0 -1
  261. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +0 -3
  262. package/dist/payment-item/interfaces/payment-item.repository.interface.js +0 -3
  263. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +0 -1
  264. package/dist/quickbook-client/client.d.ts +0 -39
  265. package/dist/quickbook-client/client.js +0 -205
  266. package/dist/quickbook-client/client.js.map +0 -1
  267. package/dist/quickbook-client/constant.d.ts +0 -1
  268. package/dist/quickbook-client/constant.js +0 -5
  269. package/dist/quickbook-client/constant.js.map +0 -1
  270. package/dist/quickbook-client/index.d.ts +0 -5
  271. package/dist/quickbook-client/index.js +0 -6
  272. package/dist/quickbook-client/index.js.map +0 -1
  273. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +0 -6
  274. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +0 -3
  275. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +0 -1
  276. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +0 -9
  277. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +0 -3
  278. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +0 -1
  279. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +0 -7
  280. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +0 -3
  281. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +0 -1
  282. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +0 -8
  283. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +0 -3
  284. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +0 -1
  285. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +0 -2
  286. package/dist/quickbook-client/quickbook-client.module-definition.js +0 -9
  287. package/dist/quickbook-client/quickbook-client.module-definition.js.map +0 -1
  288. package/dist/quickbook-client/quickbook-client.module.d.ts +0 -6
  289. package/dist/quickbook-client/quickbook-client.module.js +0 -34
  290. package/dist/quickbook-client/quickbook-client.module.js.map +0 -1
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';
@@ -1007,4 +1011,109 @@ export default class Document extends AccountSystemEntity {
1007
1011
  order: [['CreatedAt', 'DESC']],
1008
1012
  });
1009
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
+ }
1010
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
+ }