taxtank-core 0.33.115 → 0.33.116

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 (1067) hide show
  1. package/README.md +5 -5
  2. package/esm2022/common/public-api.mjs +4 -0
  3. package/esm2022/common/src/common.module.mjs +38 -0
  4. package/esm2022/common/src/db/enums/index.mjs +2 -0
  5. package/esm2022/common/src/db/enums/user/index.mjs +2 -0
  6. package/esm2022/common/src/db/enums/user/user-roles.enum.mjs +18 -0
  7. package/esm2022/common/src/db/index.mjs +2 -0
  8. package/esm2022/common/src/interceptors/interceptors.module.mjs +28 -0
  9. package/esm2022/common/src/interceptors/jwt-interceptor.mjs +138 -0
  10. package/esm2022/common/src/services/auth/auth-messages.enum.mjs +5 -0
  11. package/esm2022/common/src/services/auth/auth-tokens.interface.mjs +2 -0
  12. package/esm2022/common/src/services/auth/auth.service.mjs +56 -0
  13. package/esm2022/common/src/services/auth/index.mjs +6 -0
  14. package/esm2022/common/src/services/auth/jwt-decoded.interface.mjs +2 -0
  15. package/esm2022/common/src/services/auth/jwt.service.mjs +52 -0
  16. package/esm2022/common/src/services/index.mjs +3 -0
  17. package/esm2022/common/src/services/mixpanel.service.mjs +60 -0
  18. package/esm2022/common/taxtank-core-common.mjs +5 -0
  19. package/esm2022/public-api.mjs +188 -0
  20. package/esm2022/src/lib/collections/account-setup-item.collection.mjs +12 -0
  21. package/esm2022/src/lib/collections/allocation-group.collection.mjs +9 -0
  22. package/esm2022/src/lib/collections/allocation-rule.collection.mjs +26 -0
  23. package/esm2022/src/lib/collections/asset-sale.collection.mjs +59 -0
  24. package/esm2022/src/lib/collections/bank-account.collection.mjs +120 -0
  25. package/esm2022/src/lib/collections/bank-transaction.collection.mjs +131 -0
  26. package/esm2022/src/lib/collections/chart-accounts/chart-accounts-value.collection.mjs +20 -0
  27. package/esm2022/src/lib/collections/chart-accounts/index.mjs +2 -0
  28. package/esm2022/src/lib/collections/chart-accounts.collection.mjs +26 -0
  29. package/esm2022/src/lib/collections/chat/chat.collection.mjs +8 -0
  30. package/esm2022/src/lib/collections/chat/index.mjs +4 -0
  31. package/esm2022/src/lib/collections/chat/message-document.collection.mjs +13 -0
  32. package/esm2022/src/lib/collections/chat/message.collection.mjs +31 -0
  33. package/esm2022/src/lib/collections/client-invite.collection.mjs +7 -0
  34. package/esm2022/src/lib/collections/client-movement.collection.mjs +48 -0
  35. package/esm2022/src/lib/collections/client-portfolio-report.collection.mjs +40 -0
  36. package/esm2022/src/lib/collections/client.collection.mjs +4 -0
  37. package/esm2022/src/lib/collections/collection-dictionary.mjs +124 -0
  38. package/esm2022/src/lib/collections/collection.mjs +176 -0
  39. package/esm2022/src/lib/collections/depreciation-forecast.collection.mjs +19 -0
  40. package/esm2022/src/lib/collections/depreciation.collection.mjs +112 -0
  41. package/esm2022/src/lib/collections/exportable.collection.mjs +19 -0
  42. package/esm2022/src/lib/collections/firm/employee-invite.collection.mjs +10 -0
  43. package/esm2022/src/lib/collections/firm/employee.collection.mjs +18 -0
  44. package/esm2022/src/lib/collections/firm/index.mjs +3 -0
  45. package/esm2022/src/lib/collections/holding/holding-sale.collection.mjs +41 -0
  46. package/esm2022/src/lib/collections/holding/holding-trade.collection.mjs +81 -0
  47. package/esm2022/src/lib/collections/holding/holding-type.collection.mjs +13 -0
  48. package/esm2022/src/lib/collections/holding/holding.collection.mjs +43 -0
  49. package/esm2022/src/lib/collections/holding/index.mjs +5 -0
  50. package/esm2022/src/lib/collections/home-office/home-office-claim.collection.mjs +7 -0
  51. package/esm2022/src/lib/collections/home-office/index.mjs +2 -0
  52. package/esm2022/src/lib/collections/income-source/income-source-forecast.collection.mjs +11 -0
  53. package/esm2022/src/lib/collections/income-source/income-source.collection.mjs +43 -0
  54. package/esm2022/src/lib/collections/income-source/index.mjs +3 -0
  55. package/esm2022/src/lib/collections/index.mjs +37 -0
  56. package/esm2022/src/lib/collections/loan/index.mjs +3 -0
  57. package/esm2022/src/lib/collections/loan/loan-payment.collection.mjs +40 -0
  58. package/esm2022/src/lib/collections/loan/loan.collection.mjs +46 -0
  59. package/esm2022/src/lib/collections/property/index.mjs +7 -0
  60. package/esm2022/src/lib/collections/property/property-category-movement.collection.mjs +23 -0
  61. package/esm2022/src/lib/collections/property/property-sale/index.mjs +3 -0
  62. package/esm2022/src/lib/collections/property/property-sale/property-sale-tax-exemption-meta-field.collection.mjs +17 -0
  63. package/esm2022/src/lib/collections/property/property-sale/property-sale.collection.mjs +13 -0
  64. package/esm2022/src/lib/collections/property/property-share.collection.mjs +20 -0
  65. package/esm2022/src/lib/collections/property/property-valuation.collection.mjs +14 -0
  66. package/esm2022/src/lib/collections/property/property.collection.mjs +113 -0
  67. package/esm2022/src/lib/collections/property/tax-exemption.collection.mjs +11 -0
  68. package/esm2022/src/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.mjs +12 -0
  69. package/esm2022/src/lib/collections/report/depreciation/depreciation-report-item.collection.mjs +12 -0
  70. package/esm2022/src/lib/collections/report/income-expense/transaction-report-item.collection.mjs +30 -0
  71. package/esm2022/src/lib/collections/report/index.mjs +8 -0
  72. package/esm2022/src/lib/collections/report/property/property-report-item-depreciation.collection.mjs +21 -0
  73. package/esm2022/src/lib/collections/report/property/property-report-item-transaction.collection.mjs +21 -0
  74. package/esm2022/src/lib/collections/report/property/property-report-item.collection.mjs +13 -0
  75. package/esm2022/src/lib/collections/report/vehicle-expense/vehicle-expense.collection.mjs +17 -0
  76. package/esm2022/src/lib/collections/sole/index.mjs +4 -0
  77. package/esm2022/src/lib/collections/sole/sole-business-loss.collection.mjs +41 -0
  78. package/esm2022/src/lib/collections/sole/sole-invoice-item.collection.mjs +10 -0
  79. package/esm2022/src/lib/collections/sole/sole-invoice.collection.mjs +40 -0
  80. package/esm2022/src/lib/collections/subscription/index.mjs +5 -0
  81. package/esm2022/src/lib/collections/subscription/service-price.collection.mjs +50 -0
  82. package/esm2022/src/lib/collections/subscription/service-product.collection.mjs +11 -0
  83. package/esm2022/src/lib/collections/subscription/service-subscription.collection.mjs +58 -0
  84. package/esm2022/src/lib/collections/subscription/subscription-item.collection.mjs +17 -0
  85. package/esm2022/src/lib/collections/tax-review.collection.mjs +47 -0
  86. package/esm2022/src/lib/collections/tax-summary/index.mjs +3 -0
  87. package/esm2022/src/lib/collections/tax-summary/report-item.collection.mjs +101 -0
  88. package/esm2022/src/lib/collections/tax-summary/tax-return-categories.const.mjs +113 -0
  89. package/esm2022/src/lib/collections/transaction/index.mjs +4 -0
  90. package/esm2022/src/lib/collections/transaction/transaction-allocation.collection.mjs +39 -0
  91. package/esm2022/src/lib/collections/transaction/transaction-base.collection.mjs +4 -0
  92. package/esm2022/src/lib/collections/transaction/transaction.collection.mjs +235 -0
  93. package/esm2022/src/lib/collections/user/user.collection.mjs +4 -0
  94. package/esm2022/src/lib/collections/user-event-setting.collection.mjs +10 -0
  95. package/esm2022/src/lib/collections/user-event-type-collection.mjs +11 -0
  96. package/esm2022/src/lib/collections/vehicle/best-vehicle-logbook.collection.mjs +94 -0
  97. package/esm2022/src/lib/collections/vehicle/index.mjs +4 -0
  98. package/esm2022/src/lib/collections/vehicle/vehicle-claim.collection.mjs +25 -0
  99. package/esm2022/src/lib/collections/vehicle/vehicle-logbook.collection.mjs +43 -0
  100. package/esm2022/src/lib/core.module.mjs +25 -0
  101. package/esm2022/src/lib/db/Enums/address-type.enum.mjs +6 -0
  102. package/esm2022/src/lib/db/Enums/annual-frequency.enum.mjs +9 -0
  103. package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-comparison-operator.enum.mjs +9 -0
  104. package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-field.enum.mjs +6 -0
  105. package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-operator.enum.mjs +6 -0
  106. package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-type.enum.mjs +7 -0
  107. package/esm2022/src/lib/db/Enums/bank/allocation-rule/index.mjs +5 -0
  108. package/esm2022/src/lib/db/Enums/bank/bank-account-status.enum.mjs +6 -0
  109. package/esm2022/src/lib/db/Enums/bank/bank-account-type.enum.mjs +13 -0
  110. package/esm2022/src/lib/db/Enums/bank/bank-connection-status.enum.mjs +8 -0
  111. package/esm2022/src/lib/db/Enums/bank/bank-popular.enum.mjs +14 -0
  112. package/esm2022/src/lib/db/Enums/bank/bank-provider.enum.mjs +7 -0
  113. package/esm2022/src/lib/db/Enums/bank/bank-transaction-type.enum.mjs +6 -0
  114. package/esm2022/src/lib/db/Enums/bank/index.mjs +8 -0
  115. package/esm2022/src/lib/db/Enums/bank/loan/index.mjs +11 -0
  116. package/esm2022/src/lib/db/Enums/bank/loan/loan-bank-type.enum.mjs +12 -0
  117. package/esm2022/src/lib/db/Enums/bank/loan/loan-frequency.enum.mjs +8 -0
  118. package/esm2022/src/lib/db/Enums/bank/loan/loan-interest-type-label.enum.mjs +6 -0
  119. package/esm2022/src/lib/db/Enums/bank/loan/loan-interest-type.enum.mjs +6 -0
  120. package/esm2022/src/lib/db/Enums/bank/loan/loan-payout-type.enum.mjs +6 -0
  121. package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-frequency.enum.mjs +7 -0
  122. package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-type-label.enum.mjs +6 -0
  123. package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-type.enum.mjs +6 -0
  124. package/esm2022/src/lib/db/Enums/bank/loan/loan-type.enum.mjs +14 -0
  125. package/esm2022/src/lib/db/Enums/bank/loan/loan-vehicle-type.enum.mjs +7 -0
  126. package/esm2022/src/lib/db/Enums/chart-accounts/business-chart-accounts.enum.mjs +48 -0
  127. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-adjustment-included-list.enum.mjs +19 -0
  128. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-category.enum.mjs +20 -0
  129. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-etp.enum.mjs +9 -0
  130. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-list.enum.mjs +50 -0
  131. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-tax-deductible.enum.mjs +8 -0
  132. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-taxable.enum.mjs +8 -0
  133. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-vehicle-list.enum.mjs +8 -0
  134. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-holding-untaxed-income-list.enum.mjs +11 -0
  135. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-keep-sign.enum.mjs +10 -0
  136. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-list.enum.mjs +62 -0
  137. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-meta-field-list.enum.mjs +19 -0
  138. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-meta-field-type.enum.mjs +6 -0
  139. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-property-adjustments-list.enum.mjs +50 -0
  140. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-salary-adjustments-list.enum.mjs +17 -0
  141. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-type.enum.mjs +6 -0
  142. package/esm2022/src/lib/db/Enums/chart-accounts/index.mjs +17 -0
  143. package/esm2022/src/lib/db/Enums/chat-status.enum.mjs +6 -0
  144. package/esm2022/src/lib/db/Enums/client/client-details-medicare-exemption.enum.mjs +7 -0
  145. package/esm2022/src/lib/db/Enums/client/client-details-work-depreciation-calculation.enum.mjs +6 -0
  146. package/esm2022/src/lib/db/Enums/client/client-details-working-holiday-maker.enum.mjs +7 -0
  147. package/esm2022/src/lib/db/Enums/client/client-invite-status.enum.mjs +6 -0
  148. package/esm2022/src/lib/db/Enums/client/client-invite-type.enum.mjs +6 -0
  149. package/esm2022/src/lib/db/Enums/client/index.mjs +7 -0
  150. package/esm2022/src/lib/db/Enums/client/timezone.enum.mjs +11 -0
  151. package/esm2022/src/lib/db/Enums/depreciation-calculation-percent.enum.mjs +9 -0
  152. package/esm2022/src/lib/db/Enums/depreciation-calculation.enum.mjs +10 -0
  153. package/esm2022/src/lib/db/Enums/depreciation-type.enum.mjs +8 -0
  154. package/esm2022/src/lib/db/Enums/depreciation-write-off-amount.enum.mjs +6 -0
  155. package/esm2022/src/lib/db/Enums/document-type.enum.mjs +5 -0
  156. package/esm2022/src/lib/db/Enums/file-type.enum.mjs +14 -0
  157. package/esm2022/src/lib/db/Enums/firm/employee-invite-role.enum.mjs +6 -0
  158. package/esm2022/src/lib/db/Enums/firm/firm-type.enum.mjs +6 -0
  159. package/esm2022/src/lib/db/Enums/firm/index.mjs +3 -0
  160. package/esm2022/src/lib/db/Enums/holding/holding-trade-type.enum.mjs +6 -0
  161. package/esm2022/src/lib/db/Enums/holding/holding-type-category.enum.mjs +18 -0
  162. package/esm2022/src/lib/db/Enums/holding/holding-type-exchange-list.enum.mjs +11 -0
  163. package/esm2022/src/lib/db/Enums/holding/index.mjs +4 -0
  164. package/esm2022/src/lib/db/Enums/home-office/home-office-claim-method.enum.mjs +7 -0
  165. package/esm2022/src/lib/db/Enums/home-office/index.mjs +2 -0
  166. package/esm2022/src/lib/db/Enums/income-source/income-source-forecast-trust-type.enum.mjs +15 -0
  167. package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-holding.enum.mjs +9 -0
  168. package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-other.enum.mjs +9 -0
  169. package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-sole.enum.mjs +5 -0
  170. package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-work.enum.mjs +10 -0
  171. package/esm2022/src/lib/db/Enums/income-source/income-source-type.enum.mjs +11 -0
  172. package/esm2022/src/lib/db/Enums/income-source/index.mjs +7 -0
  173. package/esm2022/src/lib/db/Enums/index.mjs +13 -0
  174. package/esm2022/src/lib/db/Enums/invite-status.enum.mjs +7 -0
  175. package/esm2022/src/lib/db/Enums/phone-type.enum.mjs +6 -0
  176. package/esm2022/src/lib/db/Enums/property/property-category-list.enum.mjs +7 -0
  177. package/esm2022/src/lib/db/Enums/property/property-depreciation-calculation.enum.mjs +6 -0
  178. package/esm2022/src/lib/db/Enums/property/property-sale/tax-exemption-meta-field.enum.mjs +9 -0
  179. package/esm2022/src/lib/db/Enums/property/property-sale/tax-exemption.enum.mjs +12 -0
  180. package/esm2022/src/lib/db/Enums/property/property-share-access.enum.mjs +6 -0
  181. package/esm2022/src/lib/db/Enums/property/property-share-status.enum.mjs +7 -0
  182. package/esm2022/src/lib/db/Enums/registration-invite-status.enum.mjs +6 -0
  183. package/esm2022/src/lib/db/Enums/salary-forecast-frequency.enum.mjs +8 -0
  184. package/esm2022/src/lib/db/Enums/service-notification-status.enum.mjs +7 -0
  185. package/esm2022/src/lib/db/Enums/service-notification-type.enum.mjs +6 -0
  186. package/esm2022/src/lib/db/Enums/setup-item-type.enum.mjs +6 -0
  187. package/esm2022/src/lib/db/Enums/sole/index.mjs +6 -0
  188. package/esm2022/src/lib/db/Enums/sole/sole-depreciation-method.enum.mjs +6 -0
  189. package/esm2022/src/lib/db/Enums/sole/sole-invoice-state.enum.mjs +10 -0
  190. package/esm2022/src/lib/db/Enums/sole/sole-invoice-statuses.enum.mjs +7 -0
  191. package/esm2022/src/lib/db/Enums/sole/sole-invoice-tax-type.enum.mjs +7 -0
  192. package/esm2022/src/lib/db/Enums/sole/sole-invoice-template-tax-type.enum.mjs +7 -0
  193. package/esm2022/src/lib/db/Enums/spare-document-spare-type.enum.mjs +6 -0
  194. package/esm2022/src/lib/db/Enums/subscription/index.mjs +2 -0
  195. package/esm2022/src/lib/db/Enums/subscription/service-payment-method-card-brand.enum.mjs +12 -0
  196. package/esm2022/src/lib/db/Enums/subscription/service-payment-method-type.enum.mjs +6 -0
  197. package/esm2022/src/lib/db/Enums/subscription/service-payment-status.enum.mjs +6 -0
  198. package/esm2022/src/lib/db/Enums/subscription/service-price-list.enum.mjs +8 -0
  199. package/esm2022/src/lib/db/Enums/subscription/service-price-recurring-interval.enum.mjs +8 -0
  200. package/esm2022/src/lib/db/Enums/subscription/service-price-type.enum.mjs +9 -0
  201. package/esm2022/src/lib/db/Enums/subscription/service-product-id.enum.mjs +11 -0
  202. package/esm2022/src/lib/db/Enums/subscription/service-product-status.enum.mjs +6 -0
  203. package/esm2022/src/lib/db/Enums/subscription/service-subscription-status.enum.mjs +10 -0
  204. package/esm2022/src/lib/db/Enums/tank-type.enum.mjs +10 -0
  205. package/esm2022/src/lib/db/Enums/tax-calculation-medicare-exemption.enum.mjs +6 -0
  206. package/esm2022/src/lib/db/Enums/tax-calculation-type.enum.mjs +14 -0
  207. package/esm2022/src/lib/db/Enums/tax-return/index.mjs +4 -0
  208. package/esm2022/src/lib/db/Enums/tax-return/tax-return-category-list.enum.mjs +66 -0
  209. package/esm2022/src/lib/db/Enums/tax-return/tax-return-category-section.enum.mjs +9 -0
  210. package/esm2022/src/lib/db/Enums/tax-return/tax-return-item.enum.mjs +20 -0
  211. package/esm2022/src/lib/db/Enums/tax-review-status.enum.mjs +13 -0
  212. package/esm2022/src/lib/db/Enums/tax-summary-list.enum.mjs +17 -0
  213. package/esm2022/src/lib/db/Enums/tax-summary-section.enum.mjs +9 -0
  214. package/esm2022/src/lib/db/Enums/tax-summary-tax-summary.enum.mjs +17 -0
  215. package/esm2022/src/lib/db/Enums/ticket-feedback.enum.mjs +6 -0
  216. package/esm2022/src/lib/db/Enums/ticket-status.enum.mjs +9 -0
  217. package/esm2022/src/lib/db/Enums/ticket-types.enum.mjs +5 -0
  218. package/esm2022/src/lib/db/Enums/transaction-operation.enum.mjs +8 -0
  219. package/esm2022/src/lib/db/Enums/transaction-source.enum.mjs +6 -0
  220. package/esm2022/src/lib/db/Enums/transaction-type.enum.mjs +6 -0
  221. package/esm2022/src/lib/db/Enums/user/gender.enum.mjs +14 -0
  222. package/esm2022/src/lib/db/Enums/user/index.mjs +2 -0
  223. package/esm2022/src/lib/db/Enums/user-event-status.enum.mjs +9 -0
  224. package/esm2022/src/lib/db/Enums/user-event-type-client-type.enum.mjs +29 -0
  225. package/esm2022/src/lib/db/Enums/user-event-type-employee-type.enum.mjs +17 -0
  226. package/esm2022/src/lib/db/Enums/user-event-type-frequency.enum.mjs +7 -0
  227. package/esm2022/src/lib/db/Enums/user-event-type-type.enum.mjs +53 -0
  228. package/esm2022/src/lib/db/Enums/user-event-type-user-type.enum.mjs +7 -0
  229. package/esm2022/src/lib/db/Enums/user-medicare-exemption.enum.mjs +7 -0
  230. package/esm2022/src/lib/db/Enums/user-status.enum.mjs +7 -0
  231. package/esm2022/src/lib/db/Enums/user-title.enum.mjs +9 -0
  232. package/esm2022/src/lib/db/Enums/user-work-depreciation-calculation.enum.mjs +6 -0
  233. package/esm2022/src/lib/db/Enums/user-working-holiday-maker.enum.mjs +7 -0
  234. package/esm2022/src/lib/db/Enums/vehicle-claim-details-method.enum.mjs +6 -0
  235. package/esm2022/src/lib/db/Enums/vehicle-logbook-purpose.enum.mjs +6 -0
  236. package/esm2022/src/lib/db/Json/chart-accounts/chart-accounts-value.json +530 -0
  237. package/esm2022/src/lib/db/Json/holding/holding-type-exchange.json +79 -0
  238. package/esm2022/src/lib/db/Json/income-source/income_source_type.json +62 -0
  239. package/esm2022/src/lib/db/Json/property/tax-exemption.json +47 -0
  240. package/esm2022/src/lib/db/Json/tax-return/tax-return-item.json +1778 -0
  241. package/esm2022/src/lib/db/Models/abstract-model.mjs +17 -0
  242. package/esm2022/src/lib/db/Models/address.mjs +4 -0
  243. package/esm2022/src/lib/db/Models/bank/bank-account-balance.mjs +9 -0
  244. package/esm2022/src/lib/db/Models/bank/bank-account-property.mjs +9 -0
  245. package/esm2022/src/lib/db/Models/bank/bank-account.mjs +10 -0
  246. package/esm2022/src/lib/db/Models/bank/bank-connection.mjs +5 -0
  247. package/esm2022/src/lib/db/Models/bank/bank-transaction-import.mjs +4 -0
  248. package/esm2022/src/lib/db/Models/bank/bank-transaction.mjs +5 -0
  249. package/esm2022/src/lib/db/Models/bank/bank.mjs +4 -0
  250. package/esm2022/src/lib/db/Models/bank/basiq-job-step.enum.mjs +8 -0
  251. package/esm2022/src/lib/db/Models/bank/basiq-job.mjs +4 -0
  252. package/esm2022/src/lib/db/Models/budget/budget-rule.mjs +4 -0
  253. package/esm2022/src/lib/db/Models/budget/budget.mjs +4 -0
  254. package/esm2022/src/lib/db/Models/budget/index.mjs +3 -0
  255. package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-depreciation.mjs +4 -0
  256. package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-heading.mjs +4 -0
  257. package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-meta-field.mjs +4 -0
  258. package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-value.mjs +4 -0
  259. package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts.mjs +4 -0
  260. package/esm2022/src/lib/db/Models/client/annual-client-details.mjs +3 -0
  261. package/esm2022/src/lib/db/Models/client/client-details.mjs +4 -0
  262. package/esm2022/src/lib/db/Models/client/index.mjs +4 -0
  263. package/esm2022/src/lib/db/Models/client/occupation.mjs +4 -0
  264. package/esm2022/src/lib/db/Models/country.mjs +4 -0
  265. package/esm2022/src/lib/db/Models/depreciation/depreciation-capital-project.mjs +4 -0
  266. package/esm2022/src/lib/db/Models/depreciation/depreciation-forecast.mjs +4 -0
  267. package/esm2022/src/lib/db/Models/depreciation/depreciation.mjs +10 -0
  268. package/esm2022/src/lib/db/Models/document/document-folder.mjs +4 -0
  269. package/esm2022/src/lib/db/Models/document/folder-document.mjs +4 -0
  270. package/esm2022/src/lib/db/Models/document/property-document.mjs +4 -0
  271. package/esm2022/src/lib/db/Models/file.mjs +4 -0
  272. package/esm2022/src/lib/db/Models/firm/accountant/tax-review.mjs +4 -0
  273. package/esm2022/src/lib/db/Models/firm/accountant/ticket.mjs +4 -0
  274. package/esm2022/src/lib/db/Models/firm/chat.mjs +4 -0
  275. package/esm2022/src/lib/db/Models/firm/client-invite.mjs +5 -0
  276. package/esm2022/src/lib/db/Models/firm/client-movement.mjs +5 -0
  277. package/esm2022/src/lib/db/Models/firm/employee-invite.mjs +4 -0
  278. package/esm2022/src/lib/db/Models/firm/firm-invite.mjs +4 -0
  279. package/esm2022/src/lib/db/Models/firm/firm.mjs +4 -0
  280. package/esm2022/src/lib/db/Models/firm/message-document.mjs +4 -0
  281. package/esm2022/src/lib/db/Models/firm/message.mjs +5 -0
  282. package/esm2022/src/lib/db/Models/holding/holding-sale.mjs +3 -0
  283. package/esm2022/src/lib/db/Models/holding/holding-trade-import.mjs +3 -0
  284. package/esm2022/src/lib/db/Models/holding/holding-trade.mjs +3 -0
  285. package/esm2022/src/lib/db/Models/holding/holding-type-exchange.mjs +3 -0
  286. package/esm2022/src/lib/db/Models/holding/holding-type.mjs +3 -0
  287. package/esm2022/src/lib/db/Models/holding/index.mjs +5 -0
  288. package/esm2022/src/lib/db/Models/incomeSource/income-source-forecast.mjs +4 -0
  289. package/esm2022/src/lib/db/Models/incomeSource/income-source-type.mjs +4 -0
  290. package/esm2022/src/lib/db/Models/incomeSource/income-source.mjs +4 -0
  291. package/esm2022/src/lib/db/Models/incomeSource/salary-forecast.mjs +4 -0
  292. package/esm2022/src/lib/db/Models/index.mjs +96 -0
  293. package/esm2022/src/lib/db/Models/loan/borrowing-expense-loan.mjs +4 -0
  294. package/esm2022/src/lib/db/Models/loan/borrowing-expense.mjs +4 -0
  295. package/esm2022/src/lib/db/Models/loan/loan-payout.mjs +13 -0
  296. package/esm2022/src/lib/db/Models/loan/loan.mjs +22 -0
  297. package/esm2022/src/lib/db/Models/observable-model.mjs +14 -0
  298. package/esm2022/src/lib/db/Models/phone.mjs +4 -0
  299. package/esm2022/src/lib/db/Models/property/borrowing-report.mjs +4 -0
  300. package/esm2022/src/lib/db/Models/property/property-category-movement.mjs +5 -0
  301. package/esm2022/src/lib/db/Models/property/property-category.mjs +5 -0
  302. package/esm2022/src/lib/db/Models/property/property-forecast.mjs +4 -0
  303. package/esm2022/src/lib/db/Models/property/property-sale/property-sale-tax-exemption-meta-field.mjs +4 -0
  304. package/esm2022/src/lib/db/Models/property/property-sale/property-sale.mjs +5 -0
  305. package/esm2022/src/lib/db/Models/property/property-sale/tax-exemption-meta-field.mjs +4 -0
  306. package/esm2022/src/lib/db/Models/property/property-sale/tax-exemption.mjs +4 -0
  307. package/esm2022/src/lib/db/Models/property/property-share.mjs +10 -0
  308. package/esm2022/src/lib/db/Models/property/property-subscription.mjs +4 -0
  309. package/esm2022/src/lib/db/Models/property/property-valuation.mjs +5 -0
  310. package/esm2022/src/lib/db/Models/property/property.mjs +30 -0
  311. package/esm2022/src/lib/db/Models/service-notification.mjs +4 -0
  312. package/esm2022/src/lib/db/Models/setup-item.mjs +4 -0
  313. package/esm2022/src/lib/db/Models/sole/bas-report.mjs +4 -0
  314. package/esm2022/src/lib/db/Models/sole/sole-business-activity.mjs +4 -0
  315. package/esm2022/src/lib/db/Models/sole/sole-business-allocation.mjs +4 -0
  316. package/esm2022/src/lib/db/Models/sole/sole-business-loss-offset-rule.mjs +4 -0
  317. package/esm2022/src/lib/db/Models/sole/sole-business-loss.mjs +4 -0
  318. package/esm2022/src/lib/db/Models/sole/sole-business.mjs +5 -0
  319. package/esm2022/src/lib/db/Models/sole/sole-contact.mjs +4 -0
  320. package/esm2022/src/lib/db/Models/sole/sole-depreciation-method.mjs +4 -0
  321. package/esm2022/src/lib/db/Models/sole/sole-details.mjs +5 -0
  322. package/esm2022/src/lib/db/Models/sole/sole-forecast.mjs +4 -0
  323. package/esm2022/src/lib/db/Models/sole/sole-invoice-item.mjs +4 -0
  324. package/esm2022/src/lib/db/Models/sole/sole-invoice-template.mjs +4 -0
  325. package/esm2022/src/lib/db/Models/sole/sole-invoice.mjs +4 -0
  326. package/esm2022/src/lib/db/Models/spare/spare-document-category.mjs +4 -0
  327. package/esm2022/src/lib/db/Models/spare/spare-document.mjs +4 -0
  328. package/esm2022/src/lib/db/Models/subscription/service-payment-method.mjs +4 -0
  329. package/esm2022/src/lib/db/Models/subscription/service-payment.mjs +4 -0
  330. package/esm2022/src/lib/db/Models/subscription/service-price.mjs +4 -0
  331. package/esm2022/src/lib/db/Models/subscription/service-product.mjs +4 -0
  332. package/esm2022/src/lib/db/Models/subscription/service-subscription-item.mjs +4 -0
  333. package/esm2022/src/lib/db/Models/subscription/service-subscription.mjs +5 -0
  334. package/esm2022/src/lib/db/Models/tax-calculation.mjs +4 -0
  335. package/esm2022/src/lib/db/Models/tax-return/index.mjs +4 -0
  336. package/esm2022/src/lib/db/Models/tax-return/tax-return-category.mjs +4 -0
  337. package/esm2022/src/lib/db/Models/tax-return/tax-return-item.mjs +4 -0
  338. package/esm2022/src/lib/db/Models/tax-return/tax-return.mjs +4 -0
  339. package/esm2022/src/lib/db/Models/transaction/allocation-rule-condition.mjs +4 -0
  340. package/esm2022/src/lib/db/Models/transaction/allocation-rule-transaction-meta-field.mjs +4 -0
  341. package/esm2022/src/lib/db/Models/transaction/allocation-rule-transaction.mjs +5 -0
  342. package/esm2022/src/lib/db/Models/transaction/allocation-rule.mjs +4 -0
  343. package/esm2022/src/lib/db/Models/transaction/transaction-allocation.mjs +4 -0
  344. package/esm2022/src/lib/db/Models/transaction/transaction-base.mjs +88 -0
  345. package/esm2022/src/lib/db/Models/transaction/transaction-meta-field.mjs +4 -0
  346. package/esm2022/src/lib/db/Models/transaction/transaction.mjs +5 -0
  347. package/esm2022/src/lib/db/Models/user/employee-details.mjs +4 -0
  348. package/esm2022/src/lib/db/Models/user/registration-invite.mjs +4 -0
  349. package/esm2022/src/lib/db/Models/user/user-event-setting.mjs +4 -0
  350. package/esm2022/src/lib/db/Models/user/user-event-type-category.mjs +4 -0
  351. package/esm2022/src/lib/db/Models/user/user-event-type.mjs +4 -0
  352. package/esm2022/src/lib/db/Models/user/user-event.mjs +4 -0
  353. package/esm2022/src/lib/db/Models/user/user.mjs +5 -0
  354. package/esm2022/src/lib/db/Models/vehicle/vehicle-claim-details.mjs +4 -0
  355. package/esm2022/src/lib/db/Models/vehicle/vehicle-claim.mjs +5 -0
  356. package/esm2022/src/lib/db/Models/vehicle/vehicle-logbook.mjs +4 -0
  357. package/esm2022/src/lib/db/Models/vehicle/vehicle.mjs +4 -0
  358. package/esm2022/src/lib/db-static/chart-accounts/chart-accounts-values.mjs +9 -0
  359. package/esm2022/src/lib/forms/abstract.form.mjs +163 -0
  360. package/esm2022/src/lib/forms/address/address.form.mjs +188 -0
  361. package/esm2022/src/lib/forms/address/index.mjs +2 -0
  362. package/esm2022/src/lib/forms/aussie/aussie-appointment.form.mjs +19 -0
  363. package/esm2022/src/lib/forms/aussie/aussie-confirmation.form.mjs +12 -0
  364. package/esm2022/src/lib/forms/aussie/aussie-store.form.mjs +27 -0
  365. package/esm2022/src/lib/forms/aussie/index.mjs +4 -0
  366. package/esm2022/src/lib/forms/bank/bank-account/bank-account-add-manual.form.mjs +45 -0
  367. package/esm2022/src/lib/forms/bank/bank-account/bank-account-allocation.form.mjs +45 -0
  368. package/esm2022/src/lib/forms/bank/bank-account/bank-account-import.form.mjs +24 -0
  369. package/esm2022/src/lib/forms/bank/bank-account/bank-account-properties.form.mjs +63 -0
  370. package/esm2022/src/lib/forms/bank/bank-account/bank-accounts-import.form.mjs +50 -0
  371. package/esm2022/src/lib/forms/budget/budget.form.mjs +69 -0
  372. package/esm2022/src/lib/forms/budget/index.mjs +2 -0
  373. package/esm2022/src/lib/forms/chart-accounts/chart-accounts.form.mjs +14 -0
  374. package/esm2022/src/lib/forms/chart-accounts/index.mjs +2 -0
  375. package/esm2022/src/lib/forms/chat/chat-filter.form.mjs +36 -0
  376. package/esm2022/src/lib/forms/chat/index.mjs +2 -0
  377. package/esm2022/src/lib/forms/client/annual-client-details.form.mjs +38 -0
  378. package/esm2022/src/lib/forms/client/capital-loss.form.mjs +13 -0
  379. package/esm2022/src/lib/forms/client/index.mjs +3 -0
  380. package/esm2022/src/lib/forms/collection.form.mjs +29 -0
  381. package/esm2022/src/lib/forms/depreciation/depreciation.form.mjs +48 -0
  382. package/esm2022/src/lib/forms/depreciation/index.mjs +2 -0
  383. package/esm2022/src/lib/forms/document-folder/document-folder.form.mjs +11 -0
  384. package/esm2022/src/lib/forms/document-folder/document.form.mjs +11 -0
  385. package/esm2022/src/lib/forms/document-folder/index.mjs +3 -0
  386. package/esm2022/src/lib/forms/firm/client-invite-put.form.mjs +13 -0
  387. package/esm2022/src/lib/forms/firm/client-invite.form.mjs +18 -0
  388. package/esm2022/src/lib/forms/firm/client-movement.form.mjs +22 -0
  389. package/esm2022/src/lib/forms/firm/employee-details.form.mjs +21 -0
  390. package/esm2022/src/lib/forms/firm/employee-invite.form.mjs +24 -0
  391. package/esm2022/src/lib/forms/firm/firm-branch.form.mjs +13 -0
  392. package/esm2022/src/lib/forms/firm/firm-invite.form.mjs +18 -0
  393. package/esm2022/src/lib/forms/firm/firm.form.mjs +18 -0
  394. package/esm2022/src/lib/forms/firm/index.mjs +9 -0
  395. package/esm2022/src/lib/forms/form-validations.enum.mjs +12 -0
  396. package/esm2022/src/lib/forms/holding/holding-reinvest.form.mjs +85 -0
  397. package/esm2022/src/lib/forms/holding/holding-trade/holding-trade-filter.form.mjs +44 -0
  398. package/esm2022/src/lib/forms/holding/holding-trade/holding-trade.form.mjs +30 -0
  399. package/esm2022/src/lib/forms/holding/holding-trade/index.mjs +3 -0
  400. package/esm2022/src/lib/forms/holding/holding-trade-import.form.mjs +25 -0
  401. package/esm2022/src/lib/forms/holding/holding-type.form.mjs +16 -0
  402. package/esm2022/src/lib/forms/holding/index.mjs +5 -0
  403. package/esm2022/src/lib/forms/home-office/home-office-calculator.form.mjs +32 -0
  404. package/esm2022/src/lib/forms/home-office/home-office-claim.form.mjs +43 -0
  405. package/esm2022/src/lib/forms/home-office/home-office-log.form.mjs +15 -0
  406. package/esm2022/src/lib/forms/home-office/index.mjs +4 -0
  407. package/esm2022/src/lib/forms/index.mjs +32 -0
  408. package/esm2022/src/lib/forms/loan/index.mjs +2 -0
  409. package/esm2022/src/lib/forms/loan/loan.form.mjs +86 -0
  410. package/esm2022/src/lib/forms/login/login.form.mjs +11 -0
  411. package/esm2022/src/lib/forms/phone/index.mjs +2 -0
  412. package/esm2022/src/lib/forms/phone/phone.form.mjs +18 -0
  413. package/esm2022/src/lib/forms/property/borrowing-report.form.mjs +32 -0
  414. package/esm2022/src/lib/forms/property/index.mjs +10 -0
  415. package/esm2022/src/lib/forms/property/property-add.form.mjs +58 -0
  416. package/esm2022/src/lib/forms/property/property-category-movement-form.mjs +21 -0
  417. package/esm2022/src/lib/forms/property/property-document.form.mjs +14 -0
  418. package/esm2022/src/lib/forms/property/property-edit.form.mjs +17 -0
  419. package/esm2022/src/lib/forms/property/property-forecast.form.mjs +28 -0
  420. package/esm2022/src/lib/forms/property/property-sale/index.mjs +4 -0
  421. package/esm2022/src/lib/forms/property/property-sale/property-sale-cost-base.form.mjs +38 -0
  422. package/esm2022/src/lib/forms/property/property-sale/property-sale-cost-sale.form.mjs +66 -0
  423. package/esm2022/src/lib/forms/property/property-sale/property-sale-exemptions.form.mjs +107 -0
  424. package/esm2022/src/lib/forms/property/property-share.form.mjs +16 -0
  425. package/esm2022/src/lib/forms/property/property-valuation.form.mjs +40 -0
  426. package/esm2022/src/lib/forms/register/register-client.form.mjs +22 -0
  427. package/esm2022/src/lib/forms/register/register-firm.form.mjs +22 -0
  428. package/esm2022/src/lib/forms/report/my-tax/index.mjs +17 -0
  429. package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.form.mjs +31 -0
  430. package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.form.mjs +81 -0
  431. package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.mjs +14 -0
  432. package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.form.mjs +79 -0
  433. package/esm2022/src/lib/forms/report/my-tax/my-tax-cgt.form.mjs +30 -0
  434. package/esm2022/src/lib/forms/report/my-tax/my-tax-deductions.form.mjs +85 -0
  435. package/esm2022/src/lib/forms/report/my-tax/my-tax-dividends.form.mjs +23 -0
  436. package/esm2022/src/lib/forms/report/my-tax/my-tax-income-statements.form.mjs +108 -0
  437. package/esm2022/src/lib/forms/report/my-tax/my-tax-income-tests.form.mjs +10 -0
  438. package/esm2022/src/lib/forms/report/my-tax/my-tax-interest.form.mjs +12 -0
  439. package/esm2022/src/lib/forms/report/my-tax/my-tax-losses.form.mjs +11 -0
  440. package/esm2022/src/lib/forms/report/my-tax/my-tax-medicare.form.mjs +38 -0
  441. package/esm2022/src/lib/forms/report/my-tax/my-tax-offsets.form.mjs +10 -0
  442. package/esm2022/src/lib/forms/report/my-tax/my-tax-other-income.form.mjs +43 -0
  443. package/esm2022/src/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.mjs +37 -0
  444. package/esm2022/src/lib/forms/report/my-tax/my-tax-rent.form.mjs +13 -0
  445. package/esm2022/src/lib/forms/sole/bas-report.form.mjs +63 -0
  446. package/esm2022/src/lib/forms/sole/index.mjs +12 -0
  447. package/esm2022/src/lib/forms/sole/invoice-payment.form.mjs +14 -0
  448. package/esm2022/src/lib/forms/sole/sole-business-allocations.form.mjs +64 -0
  449. package/esm2022/src/lib/forms/sole/sole-business-loss.form.mjs +24 -0
  450. package/esm2022/src/lib/forms/sole/sole-business.form.mjs +70 -0
  451. package/esm2022/src/lib/forms/sole/sole-contact.form.mjs +20 -0
  452. package/esm2022/src/lib/forms/sole/sole-depreciation-method.form.mjs +10 -0
  453. package/esm2022/src/lib/forms/sole/sole-details.form.mjs +12 -0
  454. package/esm2022/src/lib/forms/sole/sole-invoice-item.form.mjs +15 -0
  455. package/esm2022/src/lib/forms/sole/sole-invoice-template.form.mjs +15 -0
  456. package/esm2022/src/lib/forms/sole/sole-invoice.form.mjs +158 -0
  457. package/esm2022/src/lib/forms/tax-review/index.mjs +3 -0
  458. package/esm2022/src/lib/forms/tax-review/tax-review-filter-status.enum.mjs +6 -0
  459. package/esm2022/src/lib/forms/tax-review/tax-review-filter.form.mjs +49 -0
  460. package/esm2022/src/lib/forms/transaction/allocation-rule-condition.form.mjs +16 -0
  461. package/esm2022/src/lib/forms/transaction/allocation-rule-transaction-meta-field.form.mjs +12 -0
  462. package/esm2022/src/lib/forms/transaction/allocation-rule-transaction.form.mjs +146 -0
  463. package/esm2022/src/lib/forms/transaction/allocation-rule.form.mjs +188 -0
  464. package/esm2022/src/lib/forms/transaction/holding/holding-income.form.mjs +59 -0
  465. package/esm2022/src/lib/forms/transaction/index.mjs +9 -0
  466. package/esm2022/src/lib/forms/transaction/messages.enum.mjs +5 -0
  467. package/esm2022/src/lib/forms/transaction/sole/sole-income.form.mjs +17 -0
  468. package/esm2022/src/lib/forms/transaction/sole/sole-transaction.form.mjs +7 -0
  469. package/esm2022/src/lib/forms/transaction/transaction-base-filter.form.mjs +48 -0
  470. package/esm2022/src/lib/forms/transaction/transaction-base.form.mjs +98 -0
  471. package/esm2022/src/lib/forms/transaction/transaction.form.mjs +62 -0
  472. package/esm2022/src/lib/forms/transaction/work/work-expense.form.mjs +46 -0
  473. package/esm2022/src/lib/forms/transaction/work/work-income.form.mjs +90 -0
  474. package/esm2022/src/lib/forms/transaction/work/work-transaction.form.mjs +38 -0
  475. package/esm2022/src/lib/forms/user/client-details.form.mjs +35 -0
  476. package/esm2022/src/lib/forms/user/index.mjs +6 -0
  477. package/esm2022/src/lib/forms/user/password.form.mjs +14 -0
  478. package/esm2022/src/lib/forms/user/reset-password.form.mjs +11 -0
  479. package/esm2022/src/lib/forms/user/user-invite.form.mjs +17 -0
  480. package/esm2022/src/lib/forms/user/user.form.mjs +18 -0
  481. package/esm2022/src/lib/forms/vehicle/index.mjs +5 -0
  482. package/esm2022/src/lib/forms/vehicle/vehicle-claim-details.form.mjs +17 -0
  483. package/esm2022/src/lib/forms/vehicle/vehicle-claim.form.mjs +28 -0
  484. package/esm2022/src/lib/forms/vehicle/vehicle-logbook.form.mjs +62 -0
  485. package/esm2022/src/lib/forms/vehicle/vehicle.form.mjs +17 -0
  486. package/esm2022/src/lib/functions/array/index.mjs +5 -0
  487. package/esm2022/src/lib/functions/array/replace.mjs +6 -0
  488. package/esm2022/src/lib/functions/array/sort-deep.mjs +22 -0
  489. package/esm2022/src/lib/functions/array/sort.mjs +13 -0
  490. package/esm2022/src/lib/functions/array/to-array.mjs +7 -0
  491. package/esm2022/src/lib/functions/clone-deep.mjs +5 -0
  492. package/esm2022/src/lib/functions/create-date.mjs +8 -0
  493. package/esm2022/src/lib/functions/enum-to-list.mjs +13 -0
  494. package/esm2022/src/lib/functions/get-doc-icon.mjs +18 -0
  495. package/esm2022/src/lib/functions/mat-options-functions.mjs +13 -0
  496. package/esm2022/src/lib/functions/mat-sort-options.mjs +10 -0
  497. package/esm2022/src/lib/interceptors/aussie.interceptor.mjs +35 -0
  498. package/esm2022/src/lib/interceptors/basiq-client-id.interceptor.mjs +31 -0
  499. package/esm2022/src/lib/interceptors/basiq-token.interceptor.mjs +33 -0
  500. package/esm2022/src/lib/interceptors/corelogic-interceptor.mjs +41 -0
  501. package/esm2022/src/lib/interceptors/financial-year-interceptor.mjs +42 -0
  502. package/esm2022/src/lib/interceptors/interceptors.module.mjs +107 -0
  503. package/esm2022/src/lib/interceptors/preloader.interceptor.mjs +32 -0
  504. package/esm2022/src/lib/interceptors/rewardful.interceptor.mjs +43 -0
  505. package/esm2022/src/lib/interceptors/user-switcher-interceptor.mjs +40 -0
  506. package/esm2022/src/lib/interfaces/asset-entity-type.enum.mjs +12 -0
  507. package/esm2022/src/lib/interfaces/asset-type.enum.mjs +13 -0
  508. package/esm2022/src/lib/interfaces/asset.interface.mjs +2 -0
  509. package/esm2022/src/lib/interfaces/chart-data.interface.mjs +2 -0
  510. package/esm2022/src/lib/interfaces/chart-serie.interface.mjs +2 -0
  511. package/esm2022/src/lib/interfaces/document.interface.mjs +2 -0
  512. package/esm2022/src/lib/interfaces/documentable.interface.mjs +2 -0
  513. package/esm2022/src/lib/interfaces/event-listener.interface.mjs +2 -0
  514. package/esm2022/src/lib/interfaces/expense.interface.mjs +2 -0
  515. package/esm2022/src/lib/interfaces/income-source-forecast.interface.mjs +2 -0
  516. package/esm2022/src/lib/interfaces/index.mjs +14 -0
  517. package/esm2022/src/lib/interfaces/option.interface.mjs +2 -0
  518. package/esm2022/src/lib/interfaces/tank.interface.mjs +2 -0
  519. package/esm2022/src/lib/interfaces/updatable.interface.mjs +2 -0
  520. package/esm2022/src/lib/messages/index.mjs +2 -0
  521. package/esm2022/src/lib/messages/messages.enum.mjs +16 -0
  522. package/esm2022/src/lib/models/account-setup/account-setup-item.mjs +38 -0
  523. package/esm2022/src/lib/models/account-setup/account-setup-items.enum.mjs +19 -0
  524. package/esm2022/src/lib/models/address/address.mjs +50 -0
  525. package/esm2022/src/lib/models/address/country.mjs +18 -0
  526. package/esm2022/src/lib/models/address/index.mjs +4 -0
  527. package/esm2022/src/lib/models/address/states.enum.mjs +12 -0
  528. package/esm2022/src/lib/models/asset-sale.mjs +10 -0
  529. package/esm2022/src/lib/models/aussie/aussie-appointment.mjs +14 -0
  530. package/esm2022/src/lib/models/aussie/aussie-broker.mjs +33 -0
  531. package/esm2022/src/lib/models/aussie/aussie-store.interface.mjs +2 -0
  532. package/esm2022/src/lib/models/aussie/aussie-store.mjs +10 -0
  533. package/esm2022/src/lib/models/aussie/index.mjs +5 -0
  534. package/esm2022/src/lib/models/badge/badge-color.enum.mjs +8 -0
  535. package/esm2022/src/lib/models/badge/badge.mjs +14 -0
  536. package/esm2022/src/lib/models/bank/allocation-group.mjs +64 -0
  537. package/esm2022/src/lib/models/bank/bank-account-chart-data.mjs +30 -0
  538. package/esm2022/src/lib/models/bank/bank-account-property.mjs +14 -0
  539. package/esm2022/src/lib/models/bank/bank-account.mjs +166 -0
  540. package/esm2022/src/lib/models/bank/bank-connection.mjs +76 -0
  541. package/esm2022/src/lib/models/bank/bank-external-stats.mjs +8 -0
  542. package/esm2022/src/lib/models/bank/bank-transaction-chart-data.mjs +99 -0
  543. package/esm2022/src/lib/models/bank/bank-transaction-summary-fields.enum.mjs +6 -0
  544. package/esm2022/src/lib/models/bank/bank-transaction.mjs +78 -0
  545. package/esm2022/src/lib/models/bank/bank.mjs +37 -0
  546. package/esm2022/src/lib/models/bank/basiq/basiq-config.mjs +12 -0
  547. package/esm2022/src/lib/models/bank/basiq/basiq-connection-data.interface.mjs +2 -0
  548. package/esm2022/src/lib/models/bank/basiq/basiq-connections-response.interface.mjs +2 -0
  549. package/esm2022/src/lib/models/bank/basiq/basiq-job-response.mjs +15 -0
  550. package/esm2022/src/lib/models/bank/basiq/basiq-job-step.mjs +18 -0
  551. package/esm2022/src/lib/models/bank/basiq/basiq-job.mjs +4 -0
  552. package/esm2022/src/lib/models/bank/basiq/basiq-token-response.interface.mjs +2 -0
  553. package/esm2022/src/lib/models/bank/basiq/basiq-token.mjs +15 -0
  554. package/esm2022/src/lib/models/bank/basiq/index.mjs +9 -0
  555. package/esm2022/src/lib/models/bank/index.mjs +13 -0
  556. package/esm2022/src/lib/models/bank/type-loan.const.mjs +6 -0
  557. package/esm2022/src/lib/models/borrowing-expense/borrowing-expense-loan.mjs +4 -0
  558. package/esm2022/src/lib/models/borrowing-expense/borrowing-expense.mjs +4 -0
  559. package/esm2022/src/lib/models/borrowing-expense/index.mjs +3 -0
  560. package/esm2022/src/lib/models/budget/budget-rule.mjs +14 -0
  561. package/esm2022/src/lib/models/budget/budget.mjs +18 -0
  562. package/esm2022/src/lib/models/budget/index.mjs +3 -0
  563. package/esm2022/src/lib/models/chart/chart-data.mjs +13 -0
  564. package/esm2022/src/lib/models/chart/chart-serie.mjs +7 -0
  565. package/esm2022/src/lib/models/chart-accounts/chart-accounts-categories.const.mjs +122 -0
  566. package/esm2022/src/lib/models/chart-accounts/chart-accounts-category.e-collection.mjs +48 -0
  567. package/esm2022/src/lib/models/chart-accounts/chart-accounts-depreciation.mjs +16 -0
  568. package/esm2022/src/lib/models/chart-accounts/chart-accounts-heading.mjs +4 -0
  569. package/esm2022/src/lib/models/chart-accounts/chart-accounts-meta-field.mjs +20 -0
  570. package/esm2022/src/lib/models/chart-accounts/chart-accounts-tax-labels.enum.mjs +7 -0
  571. package/esm2022/src/lib/models/chart-accounts/chart-accounts-value.mjs +4 -0
  572. package/esm2022/src/lib/models/chart-accounts/chart-accounts.mjs +280 -0
  573. package/esm2022/src/lib/models/chart-accounts/index.mjs +9 -0
  574. package/esm2022/src/lib/models/chat/chat-view-type.enum.mjs +6 -0
  575. package/esm2022/src/lib/models/chat/chat.mjs +30 -0
  576. package/esm2022/src/lib/models/chat/index.mjs +5 -0
  577. package/esm2022/src/lib/models/chat/message-document.mjs +21 -0
  578. package/esm2022/src/lib/models/chat/message.mjs +43 -0
  579. package/esm2022/src/lib/models/client/annual-client-details.mjs +19 -0
  580. package/esm2022/src/lib/models/client/capital-loss.interface.mjs +2 -0
  581. package/esm2022/src/lib/models/client/capital-loss.mjs +15 -0
  582. package/esm2022/src/lib/models/client/client-details.mjs +30 -0
  583. package/esm2022/src/lib/models/client/client-invite.mjs +70 -0
  584. package/esm2022/src/lib/models/client/client-movement.mjs +26 -0
  585. package/esm2022/src/lib/models/client/client-portfolio-chart-data.mjs +55 -0
  586. package/esm2022/src/lib/models/client/client-portfolio-report.mjs +7 -0
  587. package/esm2022/src/lib/models/client/index.mjs +10 -0
  588. package/esm2022/src/lib/models/client/sharesight/index.mjs +4 -0
  589. package/esm2022/src/lib/models/client/sharesight/sharesight-details-messages.enum.mjs +9 -0
  590. package/esm2022/src/lib/models/client/sharesight/sharesight-details.interface.mjs +2 -0
  591. package/esm2022/src/lib/models/client/sharesight/sharesight-details.mjs +22 -0
  592. package/esm2022/src/lib/models/color/alphabet-colors.enum.mjs +30 -0
  593. package/esm2022/src/lib/models/date-range.mjs +10 -0
  594. package/esm2022/src/lib/models/depreciation/depreciation-capital-project.mjs +9 -0
  595. package/esm2022/src/lib/models/depreciation/depreciation-forecast.mjs +42 -0
  596. package/esm2022/src/lib/models/depreciation/depreciation-group-item.mjs +18 -0
  597. package/esm2022/src/lib/models/depreciation/depreciation-group.enum.mjs +10 -0
  598. package/esm2022/src/lib/models/depreciation/depreciation-group.mjs +20 -0
  599. package/esm2022/src/lib/models/depreciation/depreciation-groups.const.mjs +34 -0
  600. package/esm2022/src/lib/models/depreciation/depreciation-lvp-rate.enum.mjs +9 -0
  601. package/esm2022/src/lib/models/depreciation/depreciation.mjs +179 -0
  602. package/esm2022/src/lib/models/depreciation/index.mjs +9 -0
  603. package/esm2022/src/lib/models/dictionary/dictionary.mjs +50 -0
  604. package/esm2022/src/lib/models/dictionary/index.mjs +2 -0
  605. package/esm2022/src/lib/models/document/document-api-url-prefix.enum.mjs +9 -0
  606. package/esm2022/src/lib/models/document/document-file-types.const.mjs +23 -0
  607. package/esm2022/src/lib/models/document/document-folder.mjs +4 -0
  608. package/esm2022/src/lib/models/document/document.mjs +17 -0
  609. package/esm2022/src/lib/models/document/index.mjs +5 -0
  610. package/esm2022/src/lib/models/employee/employee-details.mjs +16 -0
  611. package/esm2022/src/lib/models/employee/employee-invite.mjs +30 -0
  612. package/esm2022/src/lib/models/endpoint/endpoint.mjs +23 -0
  613. package/esm2022/src/lib/models/endpoint/endpoints.const.mjs +273 -0
  614. package/esm2022/src/lib/models/event/app-event-type.enum.mjs +60 -0
  615. package/esm2022/src/lib/models/event/app-event.mjs +21 -0
  616. package/esm2022/src/lib/models/event/index.mjs +3 -0
  617. package/esm2022/src/lib/models/export/export-cell-type.enum.mjs +11 -0
  618. package/esm2022/src/lib/models/export/export-cell.mjs +6 -0
  619. package/esm2022/src/lib/models/export/export-data-table.mjs +3 -0
  620. package/esm2022/src/lib/models/export/export-format.enum.mjs +6 -0
  621. package/esm2022/src/lib/models/file/file.mjs +15 -0
  622. package/esm2022/src/lib/models/file/icons-file.enum.mjs +7 -0
  623. package/esm2022/src/lib/models/file/index.mjs +2 -0
  624. package/esm2022/src/lib/models/financial-year/financial-year.mjs +54 -0
  625. package/esm2022/src/lib/models/financial-year/index.mjs +5 -0
  626. package/esm2022/src/lib/models/financial-year/month-name-short.enum.mjs +21 -0
  627. package/esm2022/src/lib/models/financial-year/month-number.enum.mjs +21 -0
  628. package/esm2022/src/lib/models/financial-year/months.const.mjs +2 -0
  629. package/esm2022/src/lib/models/firm/firm-branch.interface.mjs +2 -0
  630. package/esm2022/src/lib/models/firm/firm-branch.mjs +22 -0
  631. package/esm2022/src/lib/models/firm/firm.mjs +26 -0
  632. package/esm2022/src/lib/models/firm/index.mjs +3 -0
  633. package/esm2022/src/lib/models/holding/holding-reinvest.mjs +22 -0
  634. package/esm2022/src/lib/models/holding/holding-sale.mjs +39 -0
  635. package/esm2022/src/lib/models/holding/holding-trade-import.mjs +16 -0
  636. package/esm2022/src/lib/models/holding/holding-trade.mjs +90 -0
  637. package/esm2022/src/lib/models/holding/holding-type-exchange.mjs +16 -0
  638. package/esm2022/src/lib/models/holding/holding-type.mjs +67 -0
  639. package/esm2022/src/lib/models/holding/holding.mjs +54 -0
  640. package/esm2022/src/lib/models/holding/index.mjs +8 -0
  641. package/esm2022/src/lib/models/home-office/home-office-claim.interface.mjs +2 -0
  642. package/esm2022/src/lib/models/home-office/home-office-claim.mjs +46 -0
  643. package/esm2022/src/lib/models/home-office/home-office-log.interface.mjs +2 -0
  644. package/esm2022/src/lib/models/home-office/home-office-log.mjs +18 -0
  645. package/esm2022/src/lib/models/home-office/index.mjs +5 -0
  646. package/esm2022/src/lib/models/income-position/income-position.mjs +9 -0
  647. package/esm2022/src/lib/models/income-source/income-source-chart-data.mjs +45 -0
  648. package/esm2022/src/lib/models/income-source/income-source-forecast.mjs +34 -0
  649. package/esm2022/src/lib/models/income-source/income-source-type.mjs +20 -0
  650. package/esm2022/src/lib/models/income-source/income-source.mjs +58 -0
  651. package/esm2022/src/lib/models/income-source/index.mjs +7 -0
  652. package/esm2022/src/lib/models/income-source/salary-forecast.mjs +36 -0
  653. package/esm2022/src/lib/models/income-source/sole-forecast.mjs +13 -0
  654. package/esm2022/src/lib/models/index.mjs +30 -0
  655. package/esm2022/src/lib/models/loan/index.mjs +5 -0
  656. package/esm2022/src/lib/models/loan/loan-max-number-of-payments.enum.mjs +11 -0
  657. package/esm2022/src/lib/models/loan/loan-payment.mjs +13 -0
  658. package/esm2022/src/lib/models/loan/loan-payout.mjs +11 -0
  659. package/esm2022/src/lib/models/loan/loan.mjs +84 -0
  660. package/esm2022/src/lib/models/notification/index.mjs +2 -0
  661. package/esm2022/src/lib/models/notification/notification.mjs +39 -0
  662. package/esm2022/src/lib/models/pdf/pdf-orientation.enum.mjs +6 -0
  663. package/esm2022/src/lib/models/pdf/pdf-settings.mjs +17 -0
  664. package/esm2022/src/lib/models/phone/phone.mjs +19 -0
  665. package/esm2022/src/lib/models/property/borrowing-report.mjs +50 -0
  666. package/esm2022/src/lib/models/property/calculation-form-item.mjs +17 -0
  667. package/esm2022/src/lib/models/property/calculation-form-type.enum.mjs +9 -0
  668. package/esm2022/src/lib/models/property/capital-costs-itmes.const.mjs +57 -0
  669. package/esm2022/src/lib/models/property/corelogic-suggestion.mjs +7 -0
  670. package/esm2022/src/lib/models/property/index.mjs +19 -0
  671. package/esm2022/src/lib/models/property/property-category-movement.mjs +24 -0
  672. package/esm2022/src/lib/models/property/property-category.mjs +15 -0
  673. package/esm2022/src/lib/models/property/property-corelogic-stats.interface.mjs +2 -0
  674. package/esm2022/src/lib/models/property/property-document.mjs +17 -0
  675. package/esm2022/src/lib/models/property/property-equity-chart-data.mjs +168 -0
  676. package/esm2022/src/lib/models/property/property-equity-chart-item.mjs +24 -0
  677. package/esm2022/src/lib/models/property/property-equity-chart-type.enum.mjs +6 -0
  678. package/esm2022/src/lib/models/property/property-forecast.mjs +45 -0
  679. package/esm2022/src/lib/models/property/property-sale/index.mjs +6 -0
  680. package/esm2022/src/lib/models/property/property-sale/property-sale-cost-base.mjs +20 -0
  681. package/esm2022/src/lib/models/property/property-sale/property-sale-tax-exemption-meta-field.mjs +4 -0
  682. package/esm2022/src/lib/models/property/property-sale/property-sale.mjs +55 -0
  683. package/esm2022/src/lib/models/property/property-sale/tax-exemption-meta-field.mjs +4 -0
  684. package/esm2022/src/lib/models/property/property-sale/tax-exemption.mjs +8 -0
  685. package/esm2022/src/lib/models/property/property-share.mjs +47 -0
  686. package/esm2022/src/lib/models/property/property-subscription.mjs +13 -0
  687. package/esm2022/src/lib/models/property/property-valuation.mjs +31 -0
  688. package/esm2022/src/lib/models/property/property.mjs +269 -0
  689. package/esm2022/src/lib/models/registration-invite/registration-invite.mjs +17 -0
  690. package/esm2022/src/lib/models/report/depreciation/depreciation-lvp-asset-type.enum.mjs +10 -0
  691. package/esm2022/src/lib/models/report/depreciation/depreciation-lvp-report-item.mjs +21 -0
  692. package/esm2022/src/lib/models/report/depreciation/depreciation-report-item.mjs +25 -0
  693. package/esm2022/src/lib/models/report/depreciation/index.mjs +4 -0
  694. package/esm2022/src/lib/models/report/income-expense/transaction-report-item.mjs +16 -0
  695. package/esm2022/src/lib/models/report/index.mjs +9 -0
  696. package/esm2022/src/lib/models/report/my-tax/ato-links.mjs +11 -0
  697. package/esm2022/src/lib/models/report/my-tax/index.mjs +26 -0
  698. package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.mjs +27 -0
  699. package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.mjs +11 -0
  700. package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.mjs +16 -0
  701. package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.mjs +15 -0
  702. package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.mjs +74 -0
  703. package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.mjs +70 -0
  704. package/esm2022/src/lib/models/report/my-tax/my-tax-cgt/cgt-exemption-and-rollover-code.enum.mjs +9 -0
  705. package/esm2022/src/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.mjs +30 -0
  706. package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-clothing-type.enum.mjs +13 -0
  707. package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-fields.const.mjs +62 -0
  708. package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-self-education-type.enum.mjs +10 -0
  709. package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.mjs +96 -0
  710. package/esm2022/src/lib/models/report/my-tax/my-tax-dividends/my-tax-dividends.mjs +17 -0
  711. package/esm2022/src/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.mjs +40 -0
  712. package/esm2022/src/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.mjs +76 -0
  713. package/esm2022/src/lib/models/report/my-tax/my-tax-income-tests/my-tax-income-tests.mjs +8 -0
  714. package/esm2022/src/lib/models/report/my-tax/my-tax-interest/my-tax-interest.mjs +11 -0
  715. package/esm2022/src/lib/models/report/my-tax/my-tax-losses/my-tax-losses.mjs +11 -0
  716. package/esm2022/src/lib/models/report/my-tax/my-tax-offsets/my-tax-offsets.mjs +8 -0
  717. package/esm2022/src/lib/models/report/my-tax/my-tax-other-income/my-tax-other-income.mjs +47 -0
  718. package/esm2022/src/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.mjs +30 -0
  719. package/esm2022/src/lib/models/report/my-tax/my-tax-rent/my-tax-rent.mjs +43 -0
  720. package/esm2022/src/lib/models/report/property/index.mjs +4 -0
  721. package/esm2022/src/lib/models/report/property/property-report-item-depreciation.mjs +20 -0
  722. package/esm2022/src/lib/models/report/property/property-report-item-transaction.mjs +12 -0
  723. package/esm2022/src/lib/models/report/property/property-report-item.mjs +30 -0
  724. package/esm2022/src/lib/models/report/report.interface.mjs +2 -0
  725. package/esm2022/src/lib/models/report/reports.const.mjs +107 -0
  726. package/esm2022/src/lib/models/report/sole/index.mjs +2 -0
  727. package/esm2022/src/lib/models/report/sole/sole-business/sole-business-loss-report.mjs +17 -0
  728. package/esm2022/src/lib/models/report/vehicle-expense/vehicle-expense.mjs +15 -0
  729. package/esm2022/src/lib/models/service-subscription/index.mjs +10 -0
  730. package/esm2022/src/lib/models/service-subscription/module-url-list.const.mjs +12 -0
  731. package/esm2022/src/lib/models/service-subscription/payment-method-brand.enum.mjs +12 -0
  732. package/esm2022/src/lib/models/service-subscription/service-payment-method.mjs +31 -0
  733. package/esm2022/src/lib/models/service-subscription/service-payment.mjs +22 -0
  734. package/esm2022/src/lib/models/service-subscription/service-price.mjs +25 -0
  735. package/esm2022/src/lib/models/service-subscription/service-product-icons.enum.mjs +11 -0
  736. package/esm2022/src/lib/models/service-subscription/service-product-roles.const.mjs +11 -0
  737. package/esm2022/src/lib/models/service-subscription/service-product.mjs +27 -0
  738. package/esm2022/src/lib/models/service-subscription/service-promo-code-duration.enum.mjs +7 -0
  739. package/esm2022/src/lib/models/service-subscription/service-promo-code.mjs +30 -0
  740. package/esm2022/src/lib/models/service-subscription/service-subscription-item.mjs +24 -0
  741. package/esm2022/src/lib/models/service-subscription/service-subscription.mjs +161 -0
  742. package/esm2022/src/lib/models/sole/bas-report.mjs +42 -0
  743. package/esm2022/src/lib/models/sole/index.mjs +13 -0
  744. package/esm2022/src/lib/models/sole/sole-business-activity.mjs +4 -0
  745. package/esm2022/src/lib/models/sole/sole-business-allocation.mjs +18 -0
  746. package/esm2022/src/lib/models/sole/sole-business-loss-offset-rule.mjs +9 -0
  747. package/esm2022/src/lib/models/sole/sole-business-loss.mjs +27 -0
  748. package/esm2022/src/lib/models/sole/sole-business.mjs +57 -0
  749. package/esm2022/src/lib/models/sole/sole-contact.mjs +30 -0
  750. package/esm2022/src/lib/models/sole/sole-depreciation-method.mjs +8 -0
  751. package/esm2022/src/lib/models/sole/sole-details.mjs +10 -0
  752. package/esm2022/src/lib/models/sole/sole-invoice-item.mjs +70 -0
  753. package/esm2022/src/lib/models/sole/sole-invoice-template.mjs +31 -0
  754. package/esm2022/src/lib/models/sole/sole-invoice.mjs +139 -0
  755. package/esm2022/src/lib/models/tax-return/index.mjs +4 -0
  756. package/esm2022/src/lib/models/tax-return/tax-return-category.mjs +19 -0
  757. package/esm2022/src/lib/models/tax-return/tax-return-item.mjs +40 -0
  758. package/esm2022/src/lib/models/tax-return/tax-return.mjs +10 -0
  759. package/esm2022/src/lib/models/tax-review/tax-review.mjs +96 -0
  760. package/esm2022/src/lib/models/tax-summary/report-item-details.mjs +10 -0
  761. package/esm2022/src/lib/models/tax-summary/report-item.mjs +28 -0
  762. package/esm2022/src/lib/models/tax-summary/tax-summary-section.mjs +32 -0
  763. package/esm2022/src/lib/models/tax-summary/tax-summary-type.enum.mjs +9 -0
  764. package/esm2022/src/lib/models/tax-summary/tax-summary.mjs +153 -0
  765. package/esm2022/src/lib/models/toast/toast-type.enum.mjs +8 -0
  766. package/esm2022/src/lib/models/toast/toast.mjs +10 -0
  767. package/esm2022/src/lib/models/transaction/allocation-rule-condition.mjs +40 -0
  768. package/esm2022/src/lib/models/transaction/allocation-rule-transaction-meta-field.mjs +4 -0
  769. package/esm2022/src/lib/models/transaction/allocation-rule-transaction.mjs +110 -0
  770. package/esm2022/src/lib/models/transaction/allocation-rule.mjs +131 -0
  771. package/esm2022/src/lib/models/transaction/income-amount-type.enum.mjs +9 -0
  772. package/esm2022/src/lib/models/transaction/index.mjs +9 -0
  773. package/esm2022/src/lib/models/transaction/transaction-allocation.mjs +21 -0
  774. package/esm2022/src/lib/models/transaction/transaction-category.enum.mjs +8 -0
  775. package/esm2022/src/lib/models/transaction/transaction-meta-field.mjs +17 -0
  776. package/esm2022/src/lib/models/transaction/transaction.mjs +243 -0
  777. package/esm2022/src/lib/models/user/index.mjs +10 -0
  778. package/esm2022/src/lib/models/user/my-account-history-initiated-by.enum.mjs +6 -0
  779. package/esm2022/src/lib/models/user/my-account-history-status.enum.mjs +6 -0
  780. package/esm2022/src/lib/models/user/my-account-history-type.enum.mjs +7 -0
  781. package/esm2022/src/lib/models/user/my-account-history.mjs +3 -0
  782. package/esm2022/src/lib/models/user/occupation.mjs +4 -0
  783. package/esm2022/src/lib/models/user/user-roles.const.mjs +20 -0
  784. package/esm2022/src/lib/models/user/user-to-register.mjs +6 -0
  785. package/esm2022/src/lib/models/user/user-work-position.const.mjs +7 -0
  786. package/esm2022/src/lib/models/user/user.mjs +165 -0
  787. package/esm2022/src/lib/models/user-event/user-event-setting-field.enum.mjs +10 -0
  788. package/esm2022/src/lib/models/user-event/user-event-setting.mjs +18 -0
  789. package/esm2022/src/lib/models/user-event/user-event-type-category.mjs +4 -0
  790. package/esm2022/src/lib/models/user-event/user-event-type.mjs +23 -0
  791. package/esm2022/src/lib/models/vehicle/index.mjs +5 -0
  792. package/esm2022/src/lib/models/vehicle/vehicle-claim-details.mjs +26 -0
  793. package/esm2022/src/lib/models/vehicle/vehicle-claim.mjs +61 -0
  794. package/esm2022/src/lib/models/vehicle/vehicle-logbook.mjs +27 -0
  795. package/esm2022/src/lib/models/vehicle/vehicle.mjs +10 -0
  796. package/esm2022/src/lib/pipes/app-currency.pipe.mjs +23 -0
  797. package/esm2022/src/lib/pipes/app-percent.pipe.mjs +21 -0
  798. package/esm2022/src/lib/pipes/index.mjs +4 -0
  799. package/esm2022/src/lib/pipes/safe-url.pipe.mjs +21 -0
  800. package/esm2022/src/lib/services/account-setup/account-setup.service.mjs +160 -0
  801. package/esm2022/src/lib/services/account-setup/index.mjs +2 -0
  802. package/esm2022/src/lib/services/adblock/adblock.service.mjs +48 -0
  803. package/esm2022/src/lib/services/adblock/index.mjs +2 -0
  804. package/esm2022/src/lib/services/asset/assets.service.mjs +51 -0
  805. package/esm2022/src/lib/services/asset/index.mjs +2 -0
  806. package/esm2022/src/lib/services/bank/bank-account-calculation.service.mjs +32 -0
  807. package/esm2022/src/lib/services/bank/index.mjs +2 -0
  808. package/esm2022/src/lib/services/data.service.mjs +44 -0
  809. package/esm2022/src/lib/services/event/event-dispatcher.service.mjs +41 -0
  810. package/esm2022/src/lib/services/event/index.mjs +3 -0
  811. package/esm2022/src/lib/services/event/sse.service.mjs +48 -0
  812. package/esm2022/src/lib/services/export/export-formatter.service.mjs +34 -0
  813. package/esm2022/src/lib/services/export/index.mjs +2 -0
  814. package/esm2022/src/lib/services/firm/current-firm-branch.service.mjs +26 -0
  815. package/esm2022/src/lib/services/firm/index.mjs +2 -0
  816. package/esm2022/src/lib/services/header-title/header-title.service.mjs +28 -0
  817. package/esm2022/src/lib/services/header-title/index.mjs +2 -0
  818. package/esm2022/src/lib/services/http/address/address.service.mjs +37 -0
  819. package/esm2022/src/lib/services/http/address/index.mjs +2 -0
  820. package/esm2022/src/lib/services/http/aussie/aussie.service.mjs +33 -0
  821. package/esm2022/src/lib/services/http/aussie/index.mjs +2 -0
  822. package/esm2022/src/lib/services/http/bank/bank-account/bank-account.service.mjs +102 -0
  823. package/esm2022/src/lib/services/http/bank/bank-account/index.mjs +2 -0
  824. package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection-messages.enum.mjs +26 -0
  825. package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection.service.mjs +91 -0
  826. package/esm2022/src/lib/services/http/bank/bank-connection/index.mjs +3 -0
  827. package/esm2022/src/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +77 -0
  828. package/esm2022/src/lib/services/http/bank/bank-transaction/index.mjs +2 -0
  829. package/esm2022/src/lib/services/http/bank/bank.service.mjs +26 -0
  830. package/esm2022/src/lib/services/http/bank/basiq/basiq-messages.enum.mjs +7 -0
  831. package/esm2022/src/lib/services/http/bank/basiq/basiq-token.service.mjs +39 -0
  832. package/esm2022/src/lib/services/http/bank/basiq/basiq.service.mjs +159 -0
  833. package/esm2022/src/lib/services/http/bank/basiq/index.mjs +4 -0
  834. package/esm2022/src/lib/services/http/bank/index.mjs +6 -0
  835. package/esm2022/src/lib/services/http/budget/budget-messages.enum.mjs +8 -0
  836. package/esm2022/src/lib/services/http/budget/budget.service.mjs +23 -0
  837. package/esm2022/src/lib/services/http/budget/index.mjs +3 -0
  838. package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +26 -0
  839. package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-depreciations/index.mjs +2 -0
  840. package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-messages.enum.mjs +8 -0
  841. package/esm2022/src/lib/services/http/chart-accounts/chart-accounts.service.mjs +49 -0
  842. package/esm2022/src/lib/services/http/chart-accounts/index.mjs +4 -0
  843. package/esm2022/src/lib/services/http/chat/chat.service.mjs +88 -0
  844. package/esm2022/src/lib/services/http/chat/index.mjs +4 -0
  845. package/esm2022/src/lib/services/http/chat/message-document.service.mjs +80 -0
  846. package/esm2022/src/lib/services/http/chat/message.service.mjs +39 -0
  847. package/esm2022/src/lib/services/http/client/annual-client-details.service.mjs +23 -0
  848. package/esm2022/src/lib/services/http/client/capital-loss/capital-loss-messages.enum.mjs +7 -0
  849. package/esm2022/src/lib/services/http/client/capital-loss/capital-loss.service.mjs +23 -0
  850. package/esm2022/src/lib/services/http/client/capital-loss/index.mjs +3 -0
  851. package/esm2022/src/lib/services/http/client/client-coupon.service.mjs +27 -0
  852. package/esm2022/src/lib/services/http/client/index.mjs +6 -0
  853. package/esm2022/src/lib/services/http/client/occupation/occupation.service.mjs +43 -0
  854. package/esm2022/src/lib/services/http/client/sharesight-details.service.mjs +29 -0
  855. package/esm2022/src/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +27 -0
  856. package/esm2022/src/lib/services/http/depreciation/depreciation-capital-project/index.mjs +2 -0
  857. package/esm2022/src/lib/services/http/depreciation/depreciation.service.mjs +105 -0
  858. package/esm2022/src/lib/services/http/depreciation/index.mjs +3 -0
  859. package/esm2022/src/lib/services/http/document/document-folder/document-folder-messages.enum.mjs +8 -0
  860. package/esm2022/src/lib/services/http/document/document-folder/document-folder.service.mjs +26 -0
  861. package/esm2022/src/lib/services/http/document/document-folder/index.mjs +3 -0
  862. package/esm2022/src/lib/services/http/document/document-messages.enum.mjs +8 -0
  863. package/esm2022/src/lib/services/http/document/document.service.mjs +23 -0
  864. package/esm2022/src/lib/services/http/document/index.mjs +4 -0
  865. package/esm2022/src/lib/services/http/facebook/facebook-auth-options.interface.mjs +2 -0
  866. package/esm2022/src/lib/services/http/facebook/facebook-auth-response.interface.mjs +2 -0
  867. package/esm2022/src/lib/services/http/facebook/facebook-status-response.interface.mjs +2 -0
  868. package/esm2022/src/lib/services/http/facebook/facebook.service.mjs +87 -0
  869. package/esm2022/src/lib/services/http/facebook/index.mjs +2 -0
  870. package/esm2022/src/lib/services/http/file/file.service.mjs +39 -0
  871. package/esm2022/src/lib/services/http/file/index.mjs +2 -0
  872. package/esm2022/src/lib/services/http/firm/client-invite/client-invite-messages.enum.mjs +15 -0
  873. package/esm2022/src/lib/services/http/firm/client-invite/client-invite.service.mjs +104 -0
  874. package/esm2022/src/lib/services/http/firm/client-invite/index.mjs +3 -0
  875. package/esm2022/src/lib/services/http/firm/client-movement/client-movement-messages.enum.mjs +8 -0
  876. package/esm2022/src/lib/services/http/firm/client-movement/client-movement.service.mjs +86 -0
  877. package/esm2022/src/lib/services/http/firm/client-movement/index.mjs +3 -0
  878. package/esm2022/src/lib/services/http/firm/employee/employee-messages.enum.mjs +14 -0
  879. package/esm2022/src/lib/services/http/firm/employee/employee.service.mjs +48 -0
  880. package/esm2022/src/lib/services/http/firm/employee/index.mjs +3 -0
  881. package/esm2022/src/lib/services/http/firm/employee-invite/employee-invite.service.mjs +48 -0
  882. package/esm2022/src/lib/services/http/firm/employee-invite/index.mjs +2 -0
  883. package/esm2022/src/lib/services/http/firm/firm-branch/firm-branch-messages.enum.mjs +9 -0
  884. package/esm2022/src/lib/services/http/firm/firm-branch/firm-branch.service.mjs +23 -0
  885. package/esm2022/src/lib/services/http/firm/firm-branch/index.mjs +3 -0
  886. package/esm2022/src/lib/services/http/firm/firm-messages.enum.mjs +6 -0
  887. package/esm2022/src/lib/services/http/firm/firm.service.mjs +63 -0
  888. package/esm2022/src/lib/services/http/firm/index.mjs +9 -0
  889. package/esm2022/src/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +37 -0
  890. package/esm2022/src/lib/services/http/firm/portfolio-report/index.mjs +2 -0
  891. package/esm2022/src/lib/services/http/google/google.service.mjs +77 -0
  892. package/esm2022/src/lib/services/http/google/index.mjs +2 -0
  893. package/esm2022/src/lib/services/http/holding/holding-sale.service.mjs +25 -0
  894. package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import-messages.enum.mjs +9 -0
  895. package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import.service.mjs +45 -0
  896. package/esm2022/src/lib/services/http/holding/holding-trade-messages.enum.mjs +10 -0
  897. package/esm2022/src/lib/services/http/holding/holding-trade.service.mjs +42 -0
  898. package/esm2022/src/lib/services/http/holding/holding-type-messages.enum.mjs +8 -0
  899. package/esm2022/src/lib/services/http/holding/holding-type.service.mjs +47 -0
  900. package/esm2022/src/lib/services/http/holding/index.mjs +9 -0
  901. package/esm2022/src/lib/services/http/home-office/home-office-claim-messages.enum.mjs +8 -0
  902. package/esm2022/src/lib/services/http/home-office/home-office-claim.service.mjs +25 -0
  903. package/esm2022/src/lib/services/http/home-office/home-office-log-messages.enum.mjs +8 -0
  904. package/esm2022/src/lib/services/http/home-office/home-office-log.service.mjs +31 -0
  905. package/esm2022/src/lib/services/http/home-office/index.mjs +5 -0
  906. package/esm2022/src/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +84 -0
  907. package/esm2022/src/lib/services/http/income-source/income-source-forecast/index.mjs +2 -0
  908. package/esm2022/src/lib/services/http/income-source/income-source-messages.enum.mjs +10 -0
  909. package/esm2022/src/lib/services/http/income-source/income-source.service.mjs +93 -0
  910. package/esm2022/src/lib/services/http/income-source/index.mjs +6 -0
  911. package/esm2022/src/lib/services/http/income-source/salary-forecast/index.mjs +2 -0
  912. package/esm2022/src/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +83 -0
  913. package/esm2022/src/lib/services/http/income-source/sole-forecast/index.mjs +2 -0
  914. package/esm2022/src/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +91 -0
  915. package/esm2022/src/lib/services/http/index.mjs +32 -0
  916. package/esm2022/src/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +74 -0
  917. package/esm2022/src/lib/services/http/loan/borrowing-expense/index.mjs +2 -0
  918. package/esm2022/src/lib/services/http/loan/index.mjs +4 -0
  919. package/esm2022/src/lib/services/http/loan/loan-messages.enum.mjs +8 -0
  920. package/esm2022/src/lib/services/http/loan/loan.service.mjs +94 -0
  921. package/esm2022/src/lib/services/http/pdf/pdf.service.mjs +30 -0
  922. package/esm2022/src/lib/services/http/property/borrowing-report/borrowing-report-messages.enum.mjs +7 -0
  923. package/esm2022/src/lib/services/http/property/borrowing-report/borrowing-report.service.mjs +23 -0
  924. package/esm2022/src/lib/services/http/property/borrowing-report/index.mjs +3 -0
  925. package/esm2022/src/lib/services/http/property/index.mjs +10 -0
  926. package/esm2022/src/lib/services/http/property/property-category/index.mjs +2 -0
  927. package/esm2022/src/lib/services/http/property/property-category/property-category.service.mjs +26 -0
  928. package/esm2022/src/lib/services/http/property/property-category-movement/index.mjs +2 -0
  929. package/esm2022/src/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +33 -0
  930. package/esm2022/src/lib/services/http/property/property-document/index.mjs +3 -0
  931. package/esm2022/src/lib/services/http/property/property-document/property-document-messages.enum.mjs +8 -0
  932. package/esm2022/src/lib/services/http/property/property-document/property-document.service.mjs +26 -0
  933. package/esm2022/src/lib/services/http/property/property-messages.enum.mjs +11 -0
  934. package/esm2022/src/lib/services/http/property/property-sale/index.mjs +3 -0
  935. package/esm2022/src/lib/services/http/property/property-sale/property-sale.service.mjs +25 -0
  936. package/esm2022/src/lib/services/http/property/property-share/index.mjs +2 -0
  937. package/esm2022/src/lib/services/http/property/property-share/property-share.service.mjs +68 -0
  938. package/esm2022/src/lib/services/http/property/property-valuation/index.mjs +3 -0
  939. package/esm2022/src/lib/services/http/property/property-valuation/property-valuation-messages.enum.mjs +7 -0
  940. package/esm2022/src/lib/services/http/property/property-valuation/property-valuation.service.mjs +24 -0
  941. package/esm2022/src/lib/services/http/property/property.service.mjs +136 -0
  942. package/esm2022/src/lib/services/http/rest/http-error-messages.const.mjs +14 -0
  943. package/esm2022/src/lib/services/http/rest/http-method.type.mjs +2 -0
  944. package/esm2022/src/lib/services/http/rest/index.mjs +5 -0
  945. package/esm2022/src/lib/services/http/rest/rest-method.type.mjs +2 -0
  946. package/esm2022/src/lib/services/http/rest/rest-old.service.mjs +247 -0
  947. package/esm2022/src/lib/services/http/rest/rest.service.mjs +356 -0
  948. package/esm2022/src/lib/services/http/rest-messages.enum.mjs +7 -0
  949. package/esm2022/src/lib/services/http/service-notification/index.mjs +2 -0
  950. package/esm2022/src/lib/services/http/service-notification/service-notification.service.mjs +72 -0
  951. package/esm2022/src/lib/services/http/setup-item/setup-item.service.mjs +23 -0
  952. package/esm2022/src/lib/services/http/sole/bas-report/bas-report-messages.enum.mjs +8 -0
  953. package/esm2022/src/lib/services/http/sole/bas-report/bas-report.service.mjs +20 -0
  954. package/esm2022/src/lib/services/http/sole/bas-report/index.mjs +3 -0
  955. package/esm2022/src/lib/services/http/sole/index.mjs +11 -0
  956. package/esm2022/src/lib/services/http/sole/sole-business/index.mjs +3 -0
  957. package/esm2022/src/lib/services/http/sole/sole-business/sole-business-messages.enum.mjs +5 -0
  958. package/esm2022/src/lib/services/http/sole/sole-business/sole-business.service.mjs +24 -0
  959. package/esm2022/src/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +20 -0
  960. package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +23 -0
  961. package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +41 -0
  962. package/esm2022/src/lib/services/http/sole/sole-contact/sole-contact.service.mjs +20 -0
  963. package/esm2022/src/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +73 -0
  964. package/esm2022/src/lib/services/http/sole/sole-details/sole-details.service.mjs +33 -0
  965. package/esm2022/src/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +46 -0
  966. package/esm2022/src/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +20 -0
  967. package/esm2022/src/lib/services/http/subscription/index.mjs +7 -0
  968. package/esm2022/src/lib/services/http/subscription/service-payment/service-payment.service.mjs +33 -0
  969. package/esm2022/src/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +45 -0
  970. package/esm2022/src/lib/services/http/subscription/service-price/service-price.service.mjs +26 -0
  971. package/esm2022/src/lib/services/http/subscription/service-product/service-product.service.mjs +23 -0
  972. package/esm2022/src/lib/services/http/subscription/service-subscription/subscription-messages.enum.mjs +10 -0
  973. package/esm2022/src/lib/services/http/subscription/service-subscription/subscription.service.mjs +84 -0
  974. package/esm2022/src/lib/services/http/tax-review/index.mjs +4 -0
  975. package/esm2022/src/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +45 -0
  976. package/esm2022/src/lib/services/http/tax-review/tax-review-messages.enum.mjs +20 -0
  977. package/esm2022/src/lib/services/http/tax-review/tax-review.service.mjs +106 -0
  978. package/esm2022/src/lib/services/http/tax-summary/index.mjs +2 -0
  979. package/esm2022/src/lib/services/http/tax-summary/tax-summary.service.mjs +71 -0
  980. package/esm2022/src/lib/services/http/transaction/index.mjs +5 -0
  981. package/esm2022/src/lib/services/http/transaction/prior-transaction.service.mjs +33 -0
  982. package/esm2022/src/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +26 -0
  983. package/esm2022/src/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +117 -0
  984. package/esm2022/src/lib/services/http/transaction/transaction.service.mjs +273 -0
  985. package/esm2022/src/lib/services/http/user/financial-year/financial-year.service.mjs +29 -0
  986. package/esm2022/src/lib/services/http/user/index.mjs +8 -0
  987. package/esm2022/src/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +23 -0
  988. package/esm2022/src/lib/services/http/user/user-event-type/user-event-type.service.mjs +23 -0
  989. package/esm2022/src/lib/services/http/user/user-messages.enum.mjs +8 -0
  990. package/esm2022/src/lib/services/http/user/user.service.mjs +112 -0
  991. package/esm2022/src/lib/services/http/user/users-invite/users-invite.service.mjs +23 -0
  992. package/esm2022/src/lib/services/http/vehicle/index.mjs +6 -0
  993. package/esm2022/src/lib/services/http/vehicle/vehicle-claim-details.service.mjs +74 -0
  994. package/esm2022/src/lib/services/http/vehicle/vehicle-claim.service.mjs +49 -0
  995. package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/index.mjs +3 -0
  996. package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook-messages.enum.mjs +8 -0
  997. package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook.service.mjs +26 -0
  998. package/esm2022/src/lib/services/http/vehicle/vehicle-messages.enum.mjs +8 -0
  999. package/esm2022/src/lib/services/http/vehicle/vehicle.service.mjs +25 -0
  1000. package/esm2022/src/lib/services/http/youtube/index.mjs +3 -0
  1001. package/esm2022/src/lib/services/http/youtube/youtube-video.interface.mjs +2 -0
  1002. package/esm2022/src/lib/services/http/youtube/youtube.service.mjs +34 -0
  1003. package/esm2022/src/lib/services/index.mjs +19 -0
  1004. package/esm2022/src/lib/services/intercom/index.mjs +2 -0
  1005. package/esm2022/src/lib/services/intercom/intercom.service.mjs +41 -0
  1006. package/esm2022/src/lib/services/json/chart-accounts/chart-accounts-value.service.mjs +23 -0
  1007. package/esm2022/src/lib/services/json/holding/holding-type-exchange.service.mjs +23 -0
  1008. package/esm2022/src/lib/services/json/income-source/income-source-type.service.mjs +23 -0
  1009. package/esm2022/src/lib/services/json/index.mjs +6 -0
  1010. package/esm2022/src/lib/services/json/tax-exemption/tax-exemption.service.mjs +23 -0
  1011. package/esm2022/src/lib/services/json/tax-return/tax-return-item.service.mjs +23 -0
  1012. package/esm2022/src/lib/services/pdf/index.mjs +6 -0
  1013. package/esm2022/src/lib/services/pdf/js-pdf.mjs +10 -0
  1014. package/esm2022/src/lib/services/pdf/pdf-from-dom-element/file-settings.mjs +21 -0
  1015. package/esm2022/src/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +47 -0
  1016. package/esm2022/src/lib/services/pdf/pdf-from-table/file-settings.mjs +36 -0
  1017. package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +46 -0
  1018. package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +42 -0
  1019. package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +63 -0
  1020. package/esm2022/src/lib/services/preloader/index.mjs +2 -0
  1021. package/esm2022/src/lib/services/preloader/preloader.service.mjs +30 -0
  1022. package/esm2022/src/lib/services/property/corelogic/corelogic-messages.enum.mjs +5 -0
  1023. package/esm2022/src/lib/services/property/corelogic/corelogic.service.mjs +48 -0
  1024. package/esm2022/src/lib/services/property/corelogic/index.mjs +3 -0
  1025. package/esm2022/src/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +39 -0
  1026. package/esm2022/src/lib/services/property/equity-position-chart/index.mjs +2 -0
  1027. package/esm2022/src/lib/services/property/index.mjs +4 -0
  1028. package/esm2022/src/lib/services/property/property-calculation/index.mjs +2 -0
  1029. package/esm2022/src/lib/services/property/property-calculation/property-calculation.service.mjs +158 -0
  1030. package/esm2022/src/lib/services/report/index.mjs +2 -0
  1031. package/esm2022/src/lib/services/report/property/property-transaction-report.service.mjs +68 -0
  1032. package/esm2022/src/lib/services/toast/index.mjs +2 -0
  1033. package/esm2022/src/lib/services/toast/toast.service.mjs +59 -0
  1034. package/esm2022/src/lib/services/user/index.mjs +2 -0
  1035. package/esm2022/src/lib/services/user/user-switcher.service.mjs +37 -0
  1036. package/esm2022/src/lib/services/xlsx/index.mjs +2 -0
  1037. package/esm2022/src/lib/services/xlsx/xlsx.service.mjs +102 -0
  1038. package/esm2022/src/lib/validators/at-least-one-enabled.validator.mjs +9 -0
  1039. package/esm2022/src/lib/validators/at-least-one.validator.mjs +9 -0
  1040. package/esm2022/src/lib/validators/autocomplete.validator.mjs +8 -0
  1041. package/esm2022/src/lib/validators/conditional.validator.mjs +26 -0
  1042. package/esm2022/src/lib/validators/current-fin-year.validator.mjs +15 -0
  1043. package/esm2022/src/lib/validators/date/max-date.validator.mjs +17 -0
  1044. package/esm2022/src/lib/validators/date/min-date.validator.mjs +17 -0
  1045. package/esm2022/src/lib/validators/date-range.validator.mjs +22 -0
  1046. package/esm2022/src/lib/validators/fields-sum.validator.mjs +24 -0
  1047. package/esm2022/src/lib/validators/file.validator.mjs +36 -0
  1048. package/esm2022/src/lib/validators/greater-than.validator.mjs +12 -0
  1049. package/esm2022/src/lib/validators/group.validator.mjs +11 -0
  1050. package/esm2022/src/lib/validators/index.mjs +15 -0
  1051. package/esm2022/src/lib/validators/match-sum.validator.mjs +16 -0
  1052. package/esm2022/src/lib/validators/password-match.validator.mjs +17 -0
  1053. package/esm2022/src/lib/validators/password.validator.mjs +20 -0
  1054. package/esm2022/src/lib/validators/phone-number.validator.mjs +9 -0
  1055. package/esm2022/src/lib/validators/required-length.validator.mjs +12 -0
  1056. package/esm2022/src/lib/validators/string/alpha-space.validator.mjs +10 -0
  1057. package/esm2022/src/lib/validators/unique-email.validator.mjs +19 -0
  1058. package/esm2022/taxtank-core.mjs +5 -0
  1059. package/fesm2022/taxtank-core-common.mjs +20 -20
  1060. package/fesm2022/taxtank-core-common.mjs.map +1 -1
  1061. package/fesm2022/taxtank-core.mjs +445 -453
  1062. package/fesm2022/taxtank-core.mjs.map +1 -1
  1063. package/package.json +19 -15
  1064. package/src/lib/db/Enums/holding/holding-type-category.enum.d.ts +3 -3
  1065. package/src/lib/db/Models/setup-item.d.ts +0 -2
  1066. package/src/lib/models/index.d.ts +0 -1
  1067. package/src/lib/services/account-setup/account-setup.service.d.ts +2 -4
@@ -0,0 +1,131 @@
1
+ import { TransactionOperationEnum } from '../db/Enums/transaction-operation.enum';
2
+ import { Collection } from './collection';
3
+ /**
4
+ * Maximal delay between transfer transactions
5
+ */
6
+ const TRANSACTION_TRANSFER_DELAY = 96 * 3600 * 1000;
7
+ /**
8
+ * Collection of bank transactions.
9
+ * IMPORTANT: Create this collection based on bank transactions from TransactionAllocationService
10
+ * @TODO find way to accept interface with allocation instead of bankTransaction to prevent wrong usage
11
+ * because all amounts calculates with allocated amounts but not from bank transactions amounts.
12
+ */
13
+ export class BankTransactionCollection extends Collection {
14
+ getAmount() {
15
+ return this.sumBy('amount');
16
+ }
17
+ /**
18
+ * Difference between total bank transactions amount and sum of allocations for passed bank transactions
19
+ */
20
+ getUnallocatedAmount(allocations) {
21
+ return this.getAmount() - allocations.getByBankTransactionsIds(this.getIds()).amount;
22
+ }
23
+ getAllocatedAmount(allocations) {
24
+ return allocations.getByBankTransactionsIds(this.getIds()).amount;
25
+ }
26
+ /**
27
+ * get date of the last transaction
28
+ */
29
+ getLastTransactionDate() {
30
+ return new Date(Math.max.apply(Math, this.items.map((bankTransaction) => bankTransaction.date)));
31
+ }
32
+ /**
33
+ * get list of credit transactions
34
+ */
35
+ get creditTransactions() {
36
+ return new BankTransactionCollection(this.items.filter((bankTransaction) => bankTransaction.isCredit()));
37
+ }
38
+ /**
39
+ * get list of debit transactions
40
+ */
41
+ get debitTransactions() {
42
+ return new BankTransactionCollection(this.items.filter((bankTransaction) => bankTransaction.isDebit()));
43
+ }
44
+ /**
45
+ * get difference between debit and credit transactions amounts
46
+ */
47
+ get balanceAmount() {
48
+ return this.items.reduce((sum, bankTransaction) => sum + bankTransaction.balanceAmount, 0);
49
+ }
50
+ /**
51
+ * get list of transactions for passed month
52
+ * @param monthIndex Month number from 0 to 11
53
+ */
54
+ getTransactionsByMonth(monthIndex) {
55
+ return new BankTransactionCollection(this.items.filter((bankTransaction) => bankTransaction.date.getMonth() === monthIndex));
56
+ }
57
+ /**
58
+ * get list of transactions by provided bank accounts
59
+ * @param bankAccounts by which transactions should be returned
60
+ */
61
+ getByBankAccounts(bankAccounts) {
62
+ const bankAccountIds = bankAccounts.map((bankAccount) => bankAccount.id);
63
+ return new BankTransactionCollection(this.items.filter((bankTransaction) => bankAccountIds.includes(bankTransaction.bankAccount.id)));
64
+ }
65
+ /**
66
+ * get list of transactions by provided ids of bank accounts
67
+ * @param ids of bank accounts
68
+ */
69
+ getByBankAccountsIds(ids) {
70
+ return new BankTransactionCollection(this.items.filter((bankTransaction) => ids.includes(bankTransaction.bankAccount.id)));
71
+ }
72
+ /**
73
+ * Find Bank Transaction available for transfer
74
+ */
75
+ findTransfer(bankTransaction) {
76
+ return this.items.find((item) => item.amount + bankTransaction.amount === 0 &&
77
+ Math.abs(bankTransaction.date.getTime() - item.date.getTime()) < TRANSACTION_TRANSFER_DELAY);
78
+ }
79
+ /**
80
+ * Group bank transactions by transaction id.
81
+ * Each group is bank transaction collection and contains bank transactions related to transactions via allocations
82
+ */
83
+ groupByTransaction(allocations) {
84
+ // Group allocations by transaction id
85
+ const allocationsByTransactions = allocations.groupBy('transaction.id');
86
+ // Init an empty dictionary we will fill below
87
+ const bankTransactionsByTransactions = new BankTransactionCollection([]).groupBy();
88
+ // Fill dictionary with the same keys as at allocationsByTransactions
89
+ allocationsByTransactions.keys.forEach((key) => {
90
+ bankTransactionsByTransactions.add(key, this.getByAllocations(allocationsByTransactions.get(key)));
91
+ });
92
+ return bankTransactionsByTransactions;
93
+ }
94
+ /**
95
+ * Get collection of bank transactions related with passed allocations
96
+ */
97
+ getByAllocations(allocations) {
98
+ return new BankTransactionCollection(this.items.filter((bankTransaction) => allocations.hasBankTransaction(bankTransaction)));
99
+ }
100
+ /**
101
+ * Set allocate operation for bank transactions with amounts equal to salary
102
+ */
103
+ preselectAllocateOperationForSalary(salaryIncomeSources) {
104
+ // incomeSource.salaryForecasts[0] because each income source has only one forecast for current fin year
105
+ const salaryAmounts = salaryIncomeSources.map((incomeSource) => incomeSource.salaryForecasts[0]?.netPay || 0);
106
+ this.items.forEach((bankTransaction) => {
107
+ if (salaryAmounts.includes(bankTransaction.amount)) {
108
+ bankTransaction.operation = TransactionOperationEnum.ALLOCATE;
109
+ }
110
+ });
111
+ }
112
+ getAllocated(allocations) {
113
+ return this.filter((bankTransaction) => bankTransaction.isAllocated(allocations));
114
+ }
115
+ getUnallocated(allocations) {
116
+ return this.filter((bankTransaction) => !bankTransaction.isAllocated(allocations));
117
+ }
118
+ /**
119
+ * Allocated sum of credit transactions
120
+ */
121
+ getCreditAmount(allocations) {
122
+ return this.creditTransactions.getAllocatedAmount(allocations);
123
+ }
124
+ /**
125
+ * Allocated sum of debit transactions
126
+ */
127
+ getDebitAmount(allocations) {
128
+ return this.debitTransactions.getAllocatedAmount(allocations);
129
+ }
130
+ }
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSzFDOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBVyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUU1RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxVQUEyQjtJQUN4RSxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkYsQ0FBQztJQUVELGtCQUFrQixDQUFDLFdBQTRDO1FBQzdELE9BQU8sV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFF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LENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFdBQTRDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSB9IGZyb20gJy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmltcG9ydCB7IEJhbmtBY2NvdW50LCBCYW5rVHJhbnNhY3Rpb24sIEluY29tZVNvdXJjZSwgTW9udGhOdW1iZXJFbnVtIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudENvbGxlY3Rpb24gfSBmcm9tICcuL2JhbmstYWNjb3VudC5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBNYXhpbWFsIGRlbGF5IGJldHdlZW4gdHJhbnNmZXIgdHJhbnNhY3Rpb25zXG4gKi9cbmNvbnN0IFRSQU5TQUNUSU9OX1RSQU5TRkVSX0RFTEFZOiBudW1iZXIgPSA5NiAqIDM2MDAgKiAxMDAwO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgYmFuayB0cmFuc2FjdGlvbnMuXG4gKiBJTVBPUlRBTlQ6IENyZWF0ZSB0aGlzIGNvbGxlY3Rpb24gYmFzZWQgb24gYmFuayB0cmFuc2FjdGlvbnMgZnJvbSBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlXG4gKiBAVE9ETyBmaW5kIHdheSB0byBhY2NlcHQgaW50ZXJmYWNlIHdpdGggYWxsb2NhdGlvbiBpbnN0ZWFkIG9mIGJhbmtUcmFuc2FjdGlvbiB0byBwcmV2ZW50IHdyb25nIHVzYWdlXG4gKiBiZWNhdXNlIGFsbCBhbW91bnRzIGNhbGN1bGF0ZXMgd2l0aCBhbGxvY2F0ZWQgYW1vdW50cyBidXQgbm90IGZyb20gYmFuayB0cmFuc2FjdGlvbnMgYW1vdW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPEJhbmtUcmFuc2FjdGlvbj4ge1xuICBnZXRBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogRGlmZmVyZW5jZSBiZXR3ZWVuIHRvdGFsIGJhbmsgdHJhbnNhY3Rpb25zIGFtb3VudCBhbmQgc3VtIG9mIGFsbG9jYXRpb25zIGZvciBwYXNzZWQgYmFuayB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW1vdW50KCkgLSBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHModGhpcy5nZXRJZHMoKSkuYW1vdW50O1xuICB9XG5cbiAgZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnMuZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKHRoaXMuZ2V0SWRzKCkpLmFtb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGF0ZSBvZiB0aGUgbGFzdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0TGFzdFRyYW5zYWN0aW9uRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTWF0aC5tYXguYXBwbHkoTWF0aCwgdGhpcy5pdGVtcy5tYXAoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uZGF0ZSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBjcmVkaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXQgY3JlZGl0VHJhbnNhY3Rpb25zKCk6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmlzQ3JlZGl0KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBkZWJpdCB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldCBkZWJpdFRyYW5zYWN0aW9ucygpOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGJhbmtUcmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGlmZmVyZW5jZSBiZXR3ZWVuIGRlYml0IGFuZCBjcmVkaXQgdHJhbnNhY3Rpb25zIGFtb3VudHNcbiAgICovXG4gIGdldCBiYWxhbmNlQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IHN1bSArIGJhbmtUcmFuc2FjdGlvbi5iYWxhbmNlQW1vdW50LCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgZm9yIHBhc3NlZCBtb250aFxuICAgKiBAcGFyYW0gbW9udGhJbmRleCBNb250aCBudW1iZXIgZnJvbSAwIHRvIDExXG4gICAqL1xuICBnZXRUcmFuc2FjdGlvbnNCeU1vbnRoKG1vbnRoSW5kZXg6IE1vbnRoTnVtYmVyRW51bSk6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGhJbmRleClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBieSBwcm92aWRlZCBiYW5rIGFjY291bnRzXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudHMgYnkgd2hpY2ggdHJhbnNhY3Rpb25zIHNob3VsZCBiZSByZXR1cm5lZFxuICAgKi9cbiAgZ2V0QnlCYW5rQWNjb3VudHMoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICBjb25zdCBiYW5rQWNjb3VudElkczogbnVtYmVyW10gPSBiYW5rQWNjb3VudHMubWFwKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmlkKTtcblxuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcihcbiAgICAgIChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua0FjY291bnRJZHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LmlkKVxuICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBieSBwcm92aWRlZCBpZHMgb2YgYmFuayBhY2NvdW50c1xuICAgKiBAcGFyYW0gaWRzIG9mIGJhbmsgYWNjb3VudHNcbiAgICovXG4gIGdldEJ5QmFua0FjY291bnRzSWRzKGlkczogbnVtYmVyW10pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGlkcy5pbmNsdWRlcyhiYW5rVHJhbnNhY3Rpb24uYmFua0FjY291bnQuaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBCYW5rIFRyYW5zYWN0aW9uIGF2YWlsYWJsZSBmb3IgdHJhbnNmZXJcbiAgICovXG4gIGZpbmRUcmFuc2ZlcihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IEJhbmtUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBpdGVtLmFtb3VudCArIGJhbmtUcmFuc2FjdGlvbi5hbW91bnQgPT09IDAgJiZcbiAgICAgICAgTWF0aC5hYnMoYmFua1RyYW5zYWN0aW9uLmRhdGUuZ2V0VGltZSgpIC0gaXRlbS5kYXRlLmdldFRpbWUoKSkgPCBUUkFOU0FDVElPTl9UUkFOU0ZFUl9ERUxBWSk7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgYmFuayB0cmFuc2FjdGlvbnMgYnkgdHJhbnNhY3Rpb24gaWQuXG4gICAqIEVhY2ggZ3JvdXAgaXMgYmFuayB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uIGFuZCBjb250YWlucyBiYW5rIHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIHRyYW5zYWN0aW9ucyB2aWEgYWxsb2NhdGlvbnNcbiAgICovXG4gIGdyb3VwQnlUcmFuc2FjdGlvbihhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24+IHtcbiAgICAvLyBHcm91cCBhbGxvY2F0aW9ucyBieSB0cmFuc2FjdGlvbiBpZFxuICAgIGNvbnN0IGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbnMgPSBhbGxvY2F0aW9ucy5ncm91cEJ5KCd0cmFuc2FjdGlvbi5pZCcpO1xuICAgIC8vIEluaXQgYW4gZW1wdHkgZGljdGlvbmFyeSB3ZSB3aWxsIGZpbGwgYmVsb3dcbiAgICBjb25zdCBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnMgPSBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihbXSkuZ3JvdXBCeSgpO1xuXG4gICAgLy8gRmlsbCBkaWN0aW9uYXJ5IHdpdGggdGhlIHNhbWUga2V5cyBhcyBhdCBhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25zXG4gICAgYWxsb2NhdGlvbnNCeVRyYW5zYWN0aW9ucy5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnMuYWRkKGtleSwgdGhpcy5nZXRCeUFsbG9jYXRpb25zKGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbnMuZ2V0KGtleSkpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgYmFuayB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHBhc3NlZCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbnMuaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYWxsb2NhdGUgb3BlcmF0aW9uIGZvciBiYW5rIHRyYW5zYWN0aW9ucyB3aXRoIGFtb3VudHMgZXF1YWwgdG8gc2FsYXJ5XG4gICAqL1xuICBwcmVzZWxlY3RBbGxvY2F0ZU9wZXJhdGlvbkZvclNhbGFyeShzYWxhcnlJbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IHZvaWQge1xuICAgIC8vIGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHNbMF0gYmVjYXVzZSBlYWNoIGluY29tZSBzb3VyY2UgaGFzIG9ubHkgb25lIGZvcmVjYXN0IGZvciBjdXJyZW50IGZpbiB5ZWFyXG4gICAgY29uc3Qgc2FsYXJ5QW1vdW50czogbnVtYmVyW10gPSBzYWxhcnlJbmNvbWVTb3VyY2VzLm1hcCgoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpOiBudW1iZXIgPT4gaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXT8ubmV0UGF5IHx8IDApO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgaWYgKHNhbGFyeUFtb3VudHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmFtb3VudCkpIHtcbiAgICAgICAgYmFua1RyYW5zYWN0aW9uLm9wZXJhdGlvbiA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5BTExPQ0FURTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGJhbmtUcmFuc2FjdGlvbi5pc0FsbG9jYXRlZChhbGxvY2F0aW9ucykpO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhYmFua1RyYW5zYWN0aW9uLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb2NhdGVkIHN1bSBvZiBjcmVkaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRDcmVkaXRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNyZWRpdFRyYW5zYWN0aW9ucy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG9jYXRlZCBzdW0gb2YgZGViaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXREZWJpdEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGViaXRUcmFuc2FjdGlvbnMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { Collection } from '../collection';
2
+ import { FinancialYear } from '../../models';
3
+ import { BusinessChartAccountsEnum, ChartAccountsListEnum } from '../../db/Enums';
4
+ export class ChartAccountsValueCollection extends Collection {
5
+ /**
6
+ * $ amount u can claim per 1km
7
+ */
8
+ getKmsRate(isSole) {
9
+ const chartAccountsId = isSole ? BusinessChartAccountsEnum.KMS_TRAVELLED : ChartAccountsListEnum.KMS_TRAVELLED;
10
+ return this.find((ca) => ca.chartAccounts.id === chartAccountsId && new FinancialYear().year === ca.financialYear).value;
11
+ }
12
+ /**
13
+ * $ amount u can claim per 1hour
14
+ */
15
+ getHoursRate(isSole) {
16
+ const chartAccountsId = isSole ? BusinessChartAccountsEnum.HOME_OFFICE_HOURS : ChartAccountsListEnum.HOME_OFFICE_HOURS;
17
+ return this.find((ca) => ca.chartAccounts.id === chartAccountsId && new FinancialYear().year === ca.financialYear).value;
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtdmFsdWUuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy12YWx1ZS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFzQixhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFVBQThCO0lBQzlFOztPQUVHO0lBQ0gsVUFBVSxDQUFDLE1BQWU7UUFDeEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQztRQUMvRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQ2QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLGVBQWUsSUFBSSxJQUFJLGFBQWEsRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsYUFBYSxDQUNqRyxDQUFDLEtBQUssQ0FBQztJQUNWLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxNQUFlO1FBQzFCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDO1FBQ3ZILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssZUFBZSxJQUFJLElBQUksYUFBYSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxhQUFhLENBQ2pHLENBQUMsS0FBSyxDQUFDO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c1ZhbHVlLCBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEJ1c2luZXNzQ2hhcnRBY2NvdW50c0VudW0sIENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIENoYXJ0QWNjb3VudHNWYWx1ZUNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHNWYWx1ZT57XG4gIC8qKlxuICAgKiAkIGFtb3VudCB1IGNhbiBjbGFpbSBwZXIgMWttXG4gICAqL1xuICBnZXRLbXNSYXRlKGlzU29sZTogYm9vbGVhbik6IG51bWJlciB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50c0lkID0gaXNTb2xlID8gQnVzaW5lc3NDaGFydEFjY291bnRzRW51bS5LTVNfVFJBVkVMTEVEIDogQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktNU19UUkFWRUxMRUQ7XG4gICAgcmV0dXJuIHRoaXMuZmluZChcbiAgICAgIChjYSkgPT4gY2EuY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkICYmIG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhciA9PT0gY2EuZmluYW5jaWFsWWVhclxuICAgICkudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogJCBhbW91bnQgdSBjYW4gY2xhaW0gcGVyIDFob3VyXG4gICAqL1xuICBnZXRIb3Vyc1JhdGUoaXNTb2xlOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICBjb25zdCBjaGFydEFjY291bnRzSWQgPSBpc1NvbGUgPyBCdXNpbmVzc0NoYXJ0QWNjb3VudHNFbnVtLkhPTUVfT0ZGSUNFX0hPVVJTIDogQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkhPTUVfT0ZGSUNFX0hPVVJTO1xuICAgIHJldHVybiB0aGlzLmZpbmQoXG4gICAgICAoY2EpID0+IGNhLmNoYXJ0QWNjb3VudHMuaWQgPT09IGNoYXJ0QWNjb3VudHNJZCAmJiBuZXcgRmluYW5jaWFsWWVhcigpLnllYXIgPT09IGNhLmZpbmFuY2lhbFllYXJcbiAgICApLnZhbHVlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './chart-accounts-value.collection';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvY2hhcnQtYWNjb3VudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYWNjb3VudHMtdmFsdWUuY29sbGVjdGlvbic7XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Collection } from './collection';
2
+ import { FinancialYear } from '../models';
3
+ import { ChartAccountsListEnum } from '../db/Enums';
4
+ export class ChartAccountsCollection extends Collection {
5
+ constructor(items = []) {
6
+ super(items);
7
+ // Sort personal chart accounts by name (TT-1950)
8
+ // @TODO Alex: implement general initial sorting solution in parent class
9
+ this.items.sort((a, b) => {
10
+ if (a.isPersonal() && b.isPersonal()) {
11
+ return a.name > b.name ? 1 : -1;
12
+ }
13
+ return 0;
14
+ });
15
+ }
16
+ getManual() {
17
+ return this.filter(chartAccounts => !!chartAccounts.user);
18
+ }
19
+ /**
20
+ * Get 'Kms travelled for work' related chart account value
21
+ */
22
+ getVehicleKmsRate(year = new FinancialYear().year) {
23
+ return this.findBy('id', ChartAccountsListEnum.KMS_TRAVELLED).getValueByYear(year).value;
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jaGFydC1hY2NvdW50cy5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFpQixhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxVQUF5QjtJQUNwRSxZQUFZLFFBQXlCLEVBQUU7UUFDckMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsaURBQWlEO1FBQ2pELHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWdCLEVBQUUsQ0FBZ0IsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDcEMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakM7WUFFRCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLE9BQWUsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUMxRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMsIEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0xpc3RFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMnO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRBY2NvdW50c0NvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHM+IHtcbiAgY29uc3RydWN0b3IoaXRlbXM6IENoYXJ0QWNjb3VudHNbXSA9IFtdKSB7XG4gICAgc3VwZXIoaXRlbXMpO1xuXG4gICAgLy8gU29ydCBwZXJzb25hbCBjaGFydCBhY2NvdW50cyBieSBuYW1lIChUVC0xOTUwKVxuICAgIC8vIEBUT0RPIEFsZXg6IGltcGxlbWVudCBnZW5lcmFsIGluaXRpYWwgc29ydGluZyBzb2x1dGlvbiBpbiBwYXJlbnQgY2xhc3NcbiAgICB0aGlzLml0ZW1zLnNvcnQoKGE6IENoYXJ0QWNjb3VudHMsIGI6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIGlmIChhLmlzUGVyc29uYWwoKSAmJiBiLmlzUGVyc29uYWwoKSkge1xuICAgICAgICByZXR1cm4gYS5uYW1lID4gYi5uYW1lID8gMSA6IC0xO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gMDtcbiAgICB9KTtcbiAgfVxuXG4gIGdldE1hbnVhbCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoY2hhcnRBY2NvdW50cyA9PiAhIWNoYXJ0QWNjb3VudHMudXNlcik7XG4gIH1cblxuICAvKipcbiAgICogR2V0ICdLbXMgdHJhdmVsbGVkIGZvciB3b3JrJyByZWxhdGVkIGNoYXJ0IGFjY291bnQgdmFsdWVcbiAgICovXG4gIGdldFZlaGljbGVLbXNSYXRlKHllYXI6IG51bWJlciA9IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmluZEJ5KCdpZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTVNfVFJBVkVMTEVEKS5nZXRWYWx1ZUJ5WWVhcih5ZWFyKS52YWx1ZVxuICB9XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { Collection } from '../collection';
2
+ import { ChatStatusEnum } from '../../db/Enums/chat-status.enum';
3
+ export class ChatCollection extends Collection {
4
+ getActive() {
5
+ return this.filterBy('status', ChatStatusEnum.ACTIVE);
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NoYXQvY2hhdC5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBZ0I7SUFDbEQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ2hhdFN0YXR1c0VudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGF0LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0IGNsYXNzIENoYXRDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxDaGF0PiB7XG4gIGdldEFjdGl2ZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgnc3RhdHVzJywgQ2hhdFN0YXR1c0VudW0uQUNUSVZFKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './chat.collection';
2
+ export * from './message-document.collection';
3
+ export * from './message.collection';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvY2hhdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhdC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5jb2xsZWN0aW9uJztcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { Collection } from '../collection';
2
+ /**
3
+ * Collection of MessageDocument instances
4
+ */
5
+ export class MessageDocumentCollection extends Collection {
6
+ /**
7
+ * get list of documents which are not attached to any message
8
+ */
9
+ getUnattached() {
10
+ return new MessageDocumentCollection(this.items.filter((doc) => !doc.message));
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NoYXQvbWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsVUFBMkI7SUFDeEU7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxJQUFJLHlCQUF5QixDQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQW9CLEVBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTWVzc2FnZURvY3VtZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIE1lc3NhZ2VEb2N1bWVudCBpbnN0YW5jZXNcbiAqL1xuZXhwb3J0IGNsYXNzIE1lc3NhZ2VEb2N1bWVudENvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPE1lc3NhZ2VEb2N1bWVudD4ge1xuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgZG9jdW1lbnRzIHdoaWNoIGFyZSBub3QgYXR0YWNoZWQgdG8gYW55IG1lc3NhZ2VcbiAgICovXG4gIGdldFVuYXR0YWNoZWQoKTogTWVzc2FnZURvY3VtZW50Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBNZXNzYWdlRG9jdW1lbnRDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRvYzogTWVzc2FnZURvY3VtZW50KTogYm9vbGVhbiA9PiAhZG9jLm1lc3NhZ2UpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,31 @@
1
+ import { Collection } from '../collection';
2
+ import uniqBy from 'lodash/uniqBy';
3
+ export class MessageCollection extends Collection {
4
+ getFirstUnreadMessage(user) {
5
+ return this.items.find((message) => !message.isRead() && message.isFromEmployee() !== user.isEmployee());
6
+ }
7
+ /**
8
+ * Get List of unread chats
9
+ */
10
+ getUnread() {
11
+ return this.items.filter((message) => !message.readAt);
12
+ }
13
+ getFromActiveChats() {
14
+ return this.filter((message) => message.chat.isActive());
15
+ }
16
+ /**
17
+ * Get amount of chats that contains unread messages
18
+ */
19
+ getUnreadChatsAmount(isFromEmployee = false) {
20
+ // filtered messages for client/employee
21
+ const filteredMessages = this.filter((message) => isFromEmployee ? message.isFromEmployee() : !message.isFromEmployee());
22
+ return uniqBy(filteredMessages.getFromActiveChats().getUnread(), 'chat.id').length;
23
+ }
24
+ /**
25
+ * Check if chat has unread chats
26
+ */
27
+ hasUnread() {
28
+ return !!this.getUnread().length;
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NoYXQvbWVzc2FnZS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBR25DLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFtQjtJQUN4RCxxQkFBcUIsQ0FBQyxJQUFVO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFnQixFQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUN4SCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFnQixFQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsS0FBSztRQUN6Qyx3Q0FBd0M7UUFDeEMsTUFBTSxnQkFBZ0IsR0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFeEksT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTWVzc2FnZSwgVXNlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuXG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248TWVzc2FnZT4ge1xuICBnZXRGaXJzdFVucmVhZE1lc3NhZ2UodXNlcjogVXNlcik6IE1lc3NhZ2Uge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKG1lc3NhZ2U6IE1lc3NhZ2UpOiBib29sZWFuID0+ICFtZXNzYWdlLmlzUmVhZCgpICYmIG1lc3NhZ2UuaXNGcm9tRW1wbG95ZWUoKSAhPT0gdXNlci5pc0VtcGxveWVlKClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBMaXN0IG9mIHVucmVhZCBjaGF0c1xuICAgKi9cbiAgZ2V0VW5yZWFkKCk6IE1lc3NhZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKChtZXNzYWdlOiBNZXNzYWdlKTogYm9vbGVhbiA9PiAhbWVzc2FnZS5yZWFkQXQpO1xuICB9XG5cbiAgZ2V0RnJvbUFjdGl2ZUNoYXRzKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigobWVzc2FnZTogTWVzc2FnZSkgPT4gbWVzc2FnZS5jaGF0LmlzQWN0aXZlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbW91bnQgb2YgY2hhdHMgdGhhdCBjb250YWlucyB1bnJlYWQgbWVzc2FnZXNcbiAgICovXG4gIGdldFVucmVhZENoYXRzQW1vdW50KGlzRnJvbUVtcGxveWVlID0gZmFsc2UpOiBudW1iZXIge1xuICAgIC8vIGZpbHRlcmVkIG1lc3NhZ2VzIGZvciBjbGllbnQvZW1wbG95ZWVcbiAgICBjb25zdCBmaWx0ZXJlZE1lc3NhZ2VzOiB0aGlzID0gdGhpcy5maWx0ZXIoKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IGlzRnJvbUVtcGxveWVlID8gbWVzc2FnZS5pc0Zyb21FbXBsb3llZSgpIDogIW1lc3NhZ2UuaXNGcm9tRW1wbG95ZWUoKSk7XG5cbiAgICByZXR1cm4gdW5pcUJ5KGZpbHRlcmVkTWVzc2FnZXMuZ2V0RnJvbUFjdGl2ZUNoYXRzKCkuZ2V0VW5yZWFkKCksICdjaGF0LmlkJykubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGNoYXQgaGFzIHVucmVhZCBjaGF0c1xuICAgKi9cbiAgaGFzVW5yZWFkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0VW5yZWFkKCkubGVuZ3RoO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { Collection } from './collection';
2
+ export class ClientInviteCollection extends Collection {
3
+ getPending() {
4
+ return this.filter((invite) => invite.isPending());
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NsaWVudC1pbnZpdGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxVQUF3QjtJQUNsRSxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDbGllbnRJbnZpdGUgfSBmcm9tICcuLi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbnZpdGUnO1xuXG5leHBvcnQgY2xhc3MgQ2xpZW50SW52aXRlQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248Q2xpZW50SW52aXRlPiB7XG4gIGdldFBlbmRpbmcoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpbnZpdGU6IENsaWVudEludml0ZSkgPT4gaW52aXRlLmlzUGVuZGluZygpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,48 @@
1
+ import { Collection } from './collection';
2
+ import { SERVICE_PRODUCT_ROLES } from '../models';
3
+ import { EmployeeCollection } from './firm';
4
+ import { ClientCollection } from './client.collection';
5
+ import { FirmTypeEnum } from '../db/Enums';
6
+ import { CollectionDictionary } from './collection-dictionary';
7
+ import { ServiceSubscriptionCollection } from './subscription';
8
+ /**
9
+ * Collection of tax review
10
+ */
11
+ export class ClientMovementCollection extends Collection {
12
+ get active() {
13
+ return new ClientMovementCollection(this.items.filter((clientMovement) => !clientMovement.dateTo));
14
+ }
15
+ get employees() {
16
+ return new EmployeeCollection(this.items.map((clientMovement) => clientMovement.employee));
17
+ }
18
+ get clients() {
19
+ return new ClientCollection(this.items.map((clientMovement) => clientMovement.client));
20
+ }
21
+ get accountant() {
22
+ return this.items.filter((clientMovement) => clientMovement.firm.type === FirmTypeEnum.ACCOUNTANT)[0] ?? null;
23
+ }
24
+ get advisors() {
25
+ return new ClientMovementCollection(this.items.filter((clientMovement) => clientMovement.firm.type === FirmTypeEnum.ADVISOR));
26
+ }
27
+ getByEmployeeId(id) {
28
+ return new ClientMovementCollection(this.items.filter((clientMovement) => clientMovement.employee.id === id));
29
+ }
30
+ getByFirmType(firmType) {
31
+ return new ClientMovementCollection(this.items.filter((clientMovement) => clientMovement.firm.type === firmType));
32
+ }
33
+ /**
34
+ * group clients (client movements) by tanks
35
+ */
36
+ groupByRoles() {
37
+ const dictionary = new CollectionDictionary(new ClientMovementCollection());
38
+ SERVICE_PRODUCT_ROLES.forEach((role) => {
39
+ const movements = this.filter(movement => {
40
+ const subscriptions = new ServiceSubscriptionCollection(movement.client.subscriptions).filterByRole(role);
41
+ return (subscriptions.getPaid().last ?? subscriptions.getTrials().first)?.isActive;
42
+ });
43
+ dictionary.add(role, movements);
44
+ });
45
+ return dictionary;
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvY2xpZW50LW1vdmVtZW50LmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFVBQTBCO0lBQ3RFLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDaEksQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSx3QkFBd0IsQ0FDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQ3pHLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVU7UUFDeEIsT0FBTyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBOEIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoSSxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQXNCO1FBQ2xDLE9BQU8sSUFBSSx3QkFBd0IsQ0FDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FDN0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLElBQUksd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQW1CLEVBQUUsRUFBRTtZQUNwRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUxRyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDO1lBQ3JGLENBQUMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENsaWVudE1vdmVtZW50LCBTRVJWSUNFX1BST0RVQ1RfUk9MRVMgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRW1wbG95ZWVDb2xsZWN0aW9uIH0gZnJvbSAnLi9maXJtJztcbmltcG9ydCB7IENsaWVudENvbGxlY3Rpb24gfSBmcm9tICcuL2NsaWVudC5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEZpcm1UeXBlRW51bSB9IGZyb20gJy4uL2RiL0VudW1zJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3N1YnNjcmlwdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0YXggcmV2aWV3XG4gKi9cbmV4cG9ydCBjbGFzcyBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPENsaWVudE1vdmVtZW50PiB7XG4gIGdldCBhY3RpdmUoKTogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigoY2xpZW50TW92ZW1lbnQ6IENsaWVudE1vdmVtZW50KSA9PiAhY2xpZW50TW92ZW1lbnQuZGF0ZVRvKSk7XG4gIH1cblxuICBnZXQgZW1wbG95ZWVzKCk6IEVtcGxveWVlQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBFbXBsb3llZUNvbGxlY3Rpb24odGhpcy5pdGVtcy5tYXAoKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4gY2xpZW50TW92ZW1lbnQuZW1wbG95ZWUpKTtcbiAgfVxuXG4gIGdldCBjbGllbnRzKCk6IENsaWVudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQ2xpZW50Q29sbGVjdGlvbih0aGlzLml0ZW1zLm1hcCgoY2xpZW50TW92ZW1lbnQ6IENsaWVudE1vdmVtZW50KSA9PiBjbGllbnRNb3ZlbWVudC5jbGllbnQpKTtcbiAgfVxuXG4gIGdldCBhY2NvdW50YW50KCk6IENsaWVudE1vdmVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4gY2xpZW50TW92ZW1lbnQuZmlybS50eXBlID09PSBGaXJtVHlwZUVudW0uQUNDT1VOVEFOVClbMF0gPz8gbnVsbDtcbiAgfVxuXG4gIGdldCBhZHZpc29ycygpOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4gY2xpZW50TW92ZW1lbnQuZmlybS50eXBlID09PSBGaXJtVHlwZUVudW0uQURWSVNPUilcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlFbXBsb3llZUlkKGlkOiBudW1iZXIpOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uKHRoaXMuaXRlbXMuZmlsdGVyKChjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpID0+IGNsaWVudE1vdmVtZW50LmVtcGxveWVlLmlkID09PSBpZCkpO1xuICB9XG5cbiAgZ2V0QnlGaXJtVHlwZShmaXJtVHlwZTogRmlybVR5cGVFbnVtKTogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpID0+IGNsaWVudE1vdmVtZW50LmZpcm0udHlwZSA9PT0gZmlybVR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBncm91cCBjbGllbnRzIChjbGllbnQgbW92ZW1lbnRzKSBieSB0YW5rc1xuICAgKi9cbiAgZ3JvdXBCeVJvbGVzKCk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENsaWVudE1vdmVtZW50Q29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkobmV3IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbigpKTtcblxuICAgIFNFUlZJQ0VfUFJPRFVDVF9ST0xFUy5mb3JFYWNoKChyb2xlOiBVc2VyUm9sZXNFbnVtKSA9PiB7XG4gICAgICBjb25zdCBtb3ZlbWVudHMgPSB0aGlzLmZpbHRlcihtb3ZlbWVudCA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBuZXcgU2VydmljZVN1YnNjcmlwdGlvbkNvbGxlY3Rpb24obW92ZW1lbnQuY2xpZW50LnN1YnNjcmlwdGlvbnMpLmZpbHRlckJ5Um9sZShyb2xlKTtcblxuICAgICAgICByZXR1cm4gKHN1YnNjcmlwdGlvbnMuZ2V0UGFpZCgpLmxhc3QgPz8gc3Vic2NyaXB0aW9ucy5nZXRUcmlhbHMoKS5maXJzdCk/LmlzQWN0aXZlO1xuICAgICAgfSk7XG4gICAgICBkaWN0aW9uYXJ5LmFkZChyb2xlLCBtb3ZlbWVudHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpY3Rpb25hcnk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Collection of employee clients tax summary information
3
+ */
4
+ import { Collection } from './collection';
5
+ export class ClientPortfolioReportCollection extends Collection {
6
+ get marketValue() {
7
+ return this.sumBy('marketValue');
8
+ }
9
+ get loanBalance() {
10
+ return this.sumBy('loanBalance');
11
+ }
12
+ get equityPosition() {
13
+ return this.sumBy('equityPosition');
14
+ }
15
+ /**
16
+ * Get average market value if there are more than 1 item in the collection
17
+ */
18
+ get averageMarketValue() {
19
+ return this.items.length > 1 ? this.marketValue / this.items.length : null;
20
+ }
21
+ /**
22
+ * Get average loan balance if there are more than 1 item in the collection
23
+ */
24
+ get averageLoanBalance() {
25
+ return this.items.length > 1 ? this.loanBalance / this.items.length : null;
26
+ }
27
+ /**
28
+ * Get average equity position if there are more than 1 item in the collection
29
+ */
30
+ get averageEquityPosition() {
31
+ return this.items.length > 1 ? this.equityPosition / this.items.length : null;
32
+ }
33
+ /**
34
+ * Return report by provided category name
35
+ */
36
+ getByCategoryName(name) {
37
+ return this.items.find((item) => item.category === name);
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LXBvcnRmb2xpby1yZXBvcnQuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydC5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsVUFBaUM7SUFDcEYsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNoRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUEyQixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzNGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29sbGVjdGlvbiBvZiBlbXBsb3llZSBjbGllbnRzIHRheCBzdW1tYXJ5IGluZm9ybWF0aW9uXG4gKi9cbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2xpZW50UG9ydGZvbGlvUmVwb3J0IH0gZnJvbSAnLi4vbW9kZWxzL2NsaWVudC9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydCc7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnRQb3J0Zm9saW9SZXBvcnRDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxDbGllbnRQb3J0Zm9saW9SZXBvcnQ+IHtcbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ21hcmtldFZhbHVlJyk7XG4gIH1cblxuICBnZXQgbG9hbkJhbGFuY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnbG9hbkJhbGFuY2UnKTtcbiAgfVxuXG4gIGdldCBlcXVpdHlQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdlcXVpdHlQb3NpdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhdmVyYWdlIG1hcmtldCB2YWx1ZSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDEgaXRlbSBpbiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IGF2ZXJhZ2VNYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IDEgPyB0aGlzLm1hcmtldFZhbHVlIC8gdGhpcy5pdGVtcy5sZW5ndGggOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhdmVyYWdlIGxvYW4gYmFsYW5jZSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDEgaXRlbSBpbiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IGF2ZXJhZ2VMb2FuQmFsYW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IDEgPyB0aGlzLmxvYW5CYWxhbmNlIC8gdGhpcy5pdGVtcy5sZW5ndGggOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhdmVyYWdlIGVxdWl0eSBwb3NpdGlvbiBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDEgaXRlbSBpbiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IGF2ZXJhZ2VFcXVpdHlQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IDEgPyB0aGlzLmVxdWl0eVBvc2l0aW9uIC8gdGhpcy5pdGVtcy5sZW5ndGggOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiByZXBvcnQgYnkgcHJvdmlkZWQgY2F0ZWdvcnkgbmFtZVxuICAgKi9cbiAgZ2V0QnlDYXRlZ29yeU5hbWUobmFtZTogc3RyaW5nKTogQ2xpZW50UG9ydGZvbGlvUmVwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBDbGllbnRQb3J0Zm9saW9SZXBvcnQpOiBib29sZWFuID0+IGl0ZW0uY2F0ZWdvcnkgPT09IG5hbWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { Collection } from './collection';
2
+ export class ClientCollection extends Collection {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvY2xpZW50LmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBZ0I7Q0FDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgQ2xpZW50Q29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VXNlcj4ge1xufVxuIl19
@@ -0,0 +1,124 @@
1
+ import get from 'lodash/get';
2
+ import flatten from 'lodash/flatten';
3
+ import hasIn from 'lodash/hasIn';
4
+ import intersection from 'lodash/intersection';
5
+ import uniqBy from 'lodash/uniqBy';
6
+ /**
7
+ * @TODO refactor with Map
8
+ * List of collections grouped by passed property
9
+ */
10
+ export class CollectionDictionary {
11
+ constructor(collection, path = 'id') {
12
+ /**
13
+ * List of grouped collections
14
+ */
15
+ this.items = {};
16
+ this.collectionConstructor = collection.constructor;
17
+ // group if provided path was found in the 1st collection's item
18
+ if (collection.length && hasIn(collection.items[0], path.split('.')[0])) {
19
+ this.groupItems(collection, path);
20
+ }
21
+ }
22
+ /**
23
+ * List of collections keys
24
+ */
25
+ get keys() {
26
+ return Object.keys(this.items);
27
+ }
28
+ get values() {
29
+ return Object.values(this.items);
30
+ }
31
+ /**
32
+ * push new elements in existing item
33
+ */
34
+ addTo(key, ...models) {
35
+ if (!this.items[key]) {
36
+ this.add(key);
37
+ }
38
+ this.items[key].push(...models);
39
+ }
40
+ /**
41
+ * Add new item by key
42
+ */
43
+ add(key, value = this.createCollection([])) {
44
+ this.items[key] = value;
45
+ }
46
+ /**
47
+ * Get collection by key or return empty collection if key does not exist
48
+ */
49
+ get(key) {
50
+ return this.items[key] ? this.items[key] : this.createCollection([]);
51
+ }
52
+ /**
53
+ * @TODO bad name, it just gets items by keys, same as get method by multiple keys
54
+ * Join several collections by ids, return collection of uniq models (skip duplicates)
55
+ */
56
+ merge(keys) {
57
+ if (!this.length) {
58
+ return this.createCollection([]);
59
+ }
60
+ return this.createCollection(uniqBy(flatten(keys.map((key) => this.get(key.toString()).items)), 'id'));
61
+ }
62
+ /**
63
+ * Create instance of collection
64
+ */
65
+ createCollection(items = []) {
66
+ return new this.collectionConstructor(items);
67
+ }
68
+ get length() {
69
+ return this.keys.length;
70
+ }
71
+ /**
72
+ * @Todo find a better solution to get list of the sorted keys
73
+ * Get array of the "keys" by provided order
74
+ */
75
+ getSortedKeys(isDesc = false) {
76
+ return this.keys.sort((a, b) => {
77
+ if (a > b) {
78
+ return !isDesc ? 1 : -1;
79
+ }
80
+ if (a < b) {
81
+ return !isDesc ? -1 : 1;
82
+ }
83
+ return 0;
84
+ });
85
+ }
86
+ keysIntersection(keys) {
87
+ return intersection(keys.map((key) => key.toString()), this.keys);
88
+ }
89
+ /**
90
+ * Group collection items by passed path into items object
91
+ */
92
+ groupItems(collection, path) {
93
+ // Create empty initial object for groups
94
+ const obj = {};
95
+ // Group collection items
96
+ collection.items.forEach((item) => {
97
+ const keys = Array.isArray(get(item, path)) ? get(item, path) : [get(item, path)];
98
+ keys.forEach(key => {
99
+ // if object does not have property for grouping it will be grouped as 'other'
100
+ if (key === undefined) {
101
+ key = 'other';
102
+ }
103
+ if (!obj[key]) {
104
+ obj[key] = [];
105
+ }
106
+ obj[key].push(item);
107
+ });
108
+ });
109
+ // Create collections from groups
110
+ Object.keys(obj).forEach((key) => {
111
+ this.items[key] = this.createCollection(obj[key]);
112
+ });
113
+ }
114
+ filter(callback) {
115
+ const collectionDictionary = new CollectionDictionary(this.createCollection());
116
+ for (const key in this.items) {
117
+ if (callback(this.get(key))) {
118
+ collectionDictionary.add(key, this.get(key));
119
+ }
120
+ }
121
+ return collectionDictionary;
122
+ }
123
+ }
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBR2pDLE9BQU8sWUFBWSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUVuQzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBVy9CLFlBQVksVUFBc0IsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQVYvQzs7V0FFRztRQUNILFVBQUssR0FBa0MsRUFBRSxDQUFDO1FBUXhDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsV0FBa0QsQ0FBQztRQUMzRixnRUFBZ0U7UUFDaEUsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2RSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FB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b0JBQW9CLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2xvZGFzaC9mbGF0dGVuJztcbmltcG9ydCBoYXNJbiBmcm9tICdsb2Rhc2gvaGFzSW4nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiBhcyBCYXNlQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vZGIvTW9kZWxzJztcbmltcG9ydCBpbnRlcnNlY3Rpb24gZnJvbSAnbG9kYXNoL2ludGVyc2VjdGlvbic7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuXG4vKipcbiAqIEBUT0RPIHJlZmFjdG9yIHdpdGggTWFwXG4gKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGdyb3VwZWQgYnkgcGFzc2VkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uIGV4dGVuZHMgQmFzZUNvbGxlY3Rpb248b2JqZWN0Pj4ge1xuICAvKipcbiAgICogTGlzdCBvZiBncm91cGVkIGNvbGxlY3Rpb25zXG4gICAqL1xuICBpdGVtczogeyBba2V5OiBzdHJpbmddOiBDb2xsZWN0aW9uIH0gPSB7fTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZnVuY3Rpb24gb2YgcGFzc2VkIGNvbGxlY3Rpb24gZm9yIGNyZWF0aW5nIG5ldyBpbnN0YW5jZXNcbiAgICovXG4gIHByaXZhdGUgY29sbGVjdGlvbkNvbnN0cnVjdG9yOiBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLCBwYXRoID0gJ2lkJykge1xuICAgIHRoaXMuY29sbGVjdGlvbkNvbnN0cnVjdG9yID0gY29sbGVjdGlvbi5jb25zdHJ1Y3RvciBhcyBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcbiAgICAvLyBncm91cCBpZiBwcm92aWRlZCBwYXRoIHdhcyBmb3VuZCBpbiB0aGUgMXN0IGNvbGxlY3Rpb24ncyBpdGVtXG4gICAgaWYgKGNvbGxlY3Rpb24ubGVuZ3RoICYmIGhhc0luKGNvbGxlY3Rpb24uaXRlbXNbMF0sIHBhdGguc3BsaXQoJy4nKVswXSkpIHtcbiAgICAgIHRoaXMuZ3JvdXBJdGVtcyhjb2xsZWN0aW9uLCBwYXRoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBjb2xsZWN0aW9ucyBrZXlzXG4gICAqL1xuICBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgZ2V0IHZhbHVlcygpOiBDb2xsZWN0aW9uW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIHB1c2ggbmV3IGVsZW1lbnRzIGluIGV4aXN0aW5nIGl0ZW1cbiAgICovXG4gIGFkZFRvKGtleTogc3RyaW5nIHwgbnVtYmVyLCAuLi5tb2RlbHM6IEFic3RyYWN0TW9kZWxbXSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pdGVtc1trZXldKSB7XG4gICAgICB0aGlzLmFkZChrZXkpO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXNba2V5XS5wdXNoKC4uLm1vZGVscyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBpdGVtIGJ5IGtleVxuICAgKi9cbiAgYWRkKGtleTogc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZTogQ29sbGVjdGlvbiA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSkpIHtcbiAgICB0aGlzLml0ZW1zW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBieSBrZXkgb3IgcmV0dXJuIGVtcHR5IGNvbGxlY3Rpb24gaWYga2V5IGRvZXMgbm90IGV4aXN0XG4gICAqL1xuICBnZXQoa2V5OiBzdHJpbmcgfCBudW1iZXIpOiBDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1trZXldID8gdGhpcy5pdGVtc1trZXldIDogdGhpcy5jcmVhdGVDb2xsZWN0aW9uKFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBiYWQgbmFtZSwgaXQganVzdCBnZXRzIGl0ZW1zIGJ5IGtleXMsIHNhbWUgYXMgZ2V0IG1ldGhvZCBieSBtdWx0aXBsZSBrZXlzXG4gICAqIEpvaW4gc2V2ZXJhbCBjb2xsZWN0aW9ucyBieSBpZHMsIHJldHVybiBjb2xsZWN0aW9uIG9mIHVuaXEgbW9kZWxzIChza2lwIGR1cGxpY2F0ZXMpXG4gICAqL1xuICBtZXJnZShrZXlzOiBudW1iZXJbXSB8IHN0cmluZ1tdKTogQ29sbGVjdGlvbiB7XG4gICAgaWYgKCF0aGlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihcbiAgICAgIHVuaXFCeShmbGF0dGVuKGtleXMubWFwKChrZXk6IG51bWJlciB8IHN0cmluZyk6IG9iamVjdFtdID0+IHRoaXMuZ2V0KGtleS50b1N0cmluZygpKS5pdGVtcykpLCAnaWQnKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGluc3RhbmNlIG9mIGNvbGxlY3Rpb25cbiAgICovXG4gIGNyZWF0ZUNvbGxlY3Rpb24oaXRlbXM6IG9iamVjdFtdID0gW10pOiBDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuY29sbGVjdGlvbkNvbnN0cnVjdG9yKGl0ZW1zKTtcbiAgfVxuXG4gIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVG9kbyBmaW5kIGEgYmV0dGVyIHNvbHV0aW9uIHRvIGdldCBsaXN0IG9mIHRoZSBzb3J0ZWQga2V5c1xuICAgKiBHZXQgYXJyYXkgb2YgdGhlIFwia2V5c1wiIGJ5IHByb3ZpZGVkIG9yZGVyXG4gICAqL1xuICBnZXRTb3J0ZWRLZXlzKGlzRGVzYyA9IGZhbHNlKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmtleXMuc29ydCgoYTogYW55LCBiOiBhbnkpOiBudW1iZXIgPT4ge1xuICAgICAgaWYgKGEgPiBiKSB7XG4gICAgICAgIHJldHVybiAhaXNEZXNjID8gMSA6IC0xO1xuICAgICAgfVxuICAgICAgaWYgKGEgPCBiKSB7XG4gICAgICAgIHJldHVybiAhaXNEZXNjID8gLTEgOiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gIH1cblxuICBrZXlzSW50ZXJzZWN0aW9uKGtleXM6IHN0cmluZ1tdIHwgbnVtYmVyW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGludGVyc2VjdGlvbihrZXlzLm1hcCgoa2V5OiBzdHJpbmcgfCBudW1iZXIpID0+IGtleS50b1N0cmluZygpKSwgdGhpcy5rZXlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcm91cCBjb2xsZWN0aW9uIGl0ZW1zIGJ5IHBhc3NlZCBwYXRoIGludG8gaXRlbXMgb2JqZWN0XG4gICAqL1xuICBwcml2YXRlIGdyb3VwSXRlbXMoY29sbGVjdGlvbjogQ29sbGVjdGlvbiwgcGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gQ3JlYXRlIGVtcHR5IGluaXRpYWwgb2JqZWN0IGZvciBncm91cHNcbiAgICBjb25zdCBvYmo6IHsgW2tleTogc3RyaW5nXTogQXJyYXk8b2JqZWN0PiB9ID0ge307XG5cbiAgICAvLyBHcm91cCBjb2xsZWN0aW9uIGl0ZW1zXG4gICAgY29sbGVjdGlvbi5pdGVtcy5mb3JFYWNoKChpdGVtOiBvYmplY3QpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheShnZXQoaXRlbSwgcGF0aCkpID8gZ2V0KGl0ZW0sIHBhdGgpIDogW2dldChpdGVtLCBwYXRoKV07XG5cbiAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAvLyBpZiBvYmplY3QgZG9lcyBub3QgaGF2ZSBwcm9wZXJ0eSBmb3IgZ3JvdXBpbmcgaXQgd2lsbCBiZSBncm91cGVkIGFzICdvdGhlcidcbiAgICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAga2V5ID0gJ290aGVyJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghb2JqW2tleV0pIHtcbiAgICAgICAgICBvYmpba2V5XSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgb2JqW2tleV0ucHVzaChpdGVtKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGNvbGxlY3Rpb25zIGZyb20gZ3JvdXBzXG4gICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKChrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5pdGVtc1trZXldID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uKG9ialtrZXldKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZpbHRlcihjYWxsYmFjazogKGNvbGxlY3Rpb246IENvbGxlY3Rpb24pID0+IGJvb2xlYW4pOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uPiB7XG4gICAgY29uc3QgY29sbGVjdGlvbkRpY3Rpb25hcnkgPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkodGhpcy5jcmVhdGVDb2xsZWN0aW9uKCkpO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5pdGVtcykge1xuICAgICAgaWYgKGNhbGxiYWNrKHRoaXMuZ2V0KGtleSkpKSB7XG4gICAgICAgIGNvbGxlY3Rpb25EaWN0aW9uYXJ5LmFkZChrZXksIHRoaXMuZ2V0KGtleSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb2xsZWN0aW9uRGljdGlvbmFyeTtcbiAgfVxufVxuIl19