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,146 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { AllocationRuleTransactionMetaField, IncomeSource } from '../../models';
3
+ import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
4
+ import { conditionalValidator } from '../../validators';
5
+ import { AllocationRuleTransactionMetaFieldForm } from './allocation-rule-transaction-meta-field.form';
6
+ import { plainToClass } from 'class-transformer';
7
+ import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
8
+ /**
9
+ * @TODO Alex: extend transaction form(s) when transaction forms refactored
10
+ */
11
+ export class AllocationRuleTransactionForm extends AbstractForm {
12
+ constructor(transaction,
13
+ // Flag to enable transaction GST field
14
+ isGST) {
15
+ super({
16
+ amount: new UntypedFormControl(transaction.amount),
17
+ amountPercent: new UntypedFormControl(transaction.amountPercent, Validators.required),
18
+ tax: new UntypedFormControl(transaction.tax, Validators.required),
19
+ claimPercent: new UntypedFormControl(transaction.claimPercent, [Validators.required, Validators.min(0), Validators.max(100)]),
20
+ chartAccounts: new UntypedFormControl(transaction.chartAccounts, Validators.required),
21
+ isGST: new UntypedFormControl({ value: transaction.isGST || false, disabled: !isGST }),
22
+ loan: new UntypedFormControl(transaction.loan),
23
+ incomeSource: new UntypedFormControl(transaction.incomeSource, conditionalValidator(() => transaction.chartAccounts?.isWorkIncome(), Validators.required)),
24
+ metaFields: new UntypedFormArray((transaction.metaFields || []).map((metaField) => new AllocationRuleTransactionMetaFieldForm(metaField))),
25
+ business: new UntypedFormControl(transaction.business, Validators.required),
26
+ property: new UntypedFormControl(transaction.property, Validators.required),
27
+ // Show null as default value for new transaction to avoid preselecting of not allowed tank types
28
+ tankType: new UntypedFormControl(transaction.id ? transaction.tankType : null, Validators.required),
29
+ childTransactions: new UntypedFormArray((transaction.childTransactions || []).map((childTransaction) => new UntypedFormGroup({
30
+ chartAccounts: new UntypedFormControl(childTransaction.chartAccounts, Validators.required),
31
+ amount: new UntypedFormControl(childTransaction.amount, Validators.required)
32
+ })))
33
+ }, transaction);
34
+ this.isGST = isGST;
35
+ this.listenEvents();
36
+ }
37
+ /**
38
+ * @TODO Alex: move to abstract form, universal method getArray(arrayName)
39
+ */
40
+ get metaFieldsArray() {
41
+ return this.get('metaFields');
42
+ }
43
+ get childTransactionsArray() {
44
+ return this.get('childTransactions');
45
+ }
46
+ get isSplit() {
47
+ return this.get('amountPercent').enabled;
48
+ }
49
+ isPersonal() {
50
+ return this.get('tankType').value === TankTypeEnum.PERSONAL;
51
+ }
52
+ addChildTransactionForm() {
53
+ this.childTransactionsArray.push(new UntypedFormGroup({
54
+ chartAccounts: new UntypedFormControl(null, Validators.required),
55
+ amount: new UntypedFormControl(null, Validators.required)
56
+ }));
57
+ }
58
+ submit() {
59
+ const data = {
60
+ metaFields: this.metaFieldsArray.controls.map((metaFieldForm) => metaFieldForm.submit())
61
+ };
62
+ return super.submit(data, true);
63
+ }
64
+ listenEvents() {
65
+ this.listenChartAccountsChanges();
66
+ this.listenTankTypeChanges();
67
+ this.listenIncomeSourceChanges();
68
+ this.listenPropertyChanges();
69
+ }
70
+ listenChartAccountsChanges() {
71
+ this.get('chartAccounts').valueChanges.subscribe((chartAccounts) => {
72
+ this.get('incomeSource').removeValidators(Validators.required);
73
+ if (!chartAccounts) {
74
+ return;
75
+ }
76
+ this.updateClaimPercent();
77
+ // User have to select income source for work income
78
+ if (chartAccounts.isWorkIncome()) {
79
+ this.get('incomeSource').setValidators(Validators.required);
80
+ }
81
+ // Rebuild meta fields
82
+ this.metaFieldsArray.clear();
83
+ chartAccounts.metaFields.forEach((chartAccountsMetaField) => {
84
+ this.metaFieldsArray.push(new AllocationRuleTransactionMetaFieldForm(plainToClass(AllocationRuleTransactionMetaField, { chartAccountsMetaField })));
85
+ });
86
+ // sole trader registered and chartAccounts is eligible for gst
87
+ if (this.isGST && chartAccounts.isGST) {
88
+ this.get('isGST').enable();
89
+ this.get('isGST').setValue(true);
90
+ }
91
+ else {
92
+ this.get('isGST').disable();
93
+ this.get('isGST').setValue(false);
94
+ }
95
+ });
96
+ }
97
+ /**
98
+ * Child transaction allowance depends on tank type.
99
+ * Also chart accounts are different, so we just reset child transactions when tank type changed
100
+ */
101
+ listenTankTypeChanges() {
102
+ this.get('tankType').valueChanges.subscribe(() => {
103
+ this.get('chartAccounts').reset();
104
+ this.get('property').reset();
105
+ this.get('business').reset();
106
+ this.childTransactionsArray.clear();
107
+ });
108
+ }
109
+ /**
110
+ * Set tax automatically when salary income source selected
111
+ */
112
+ listenIncomeSourceChanges() {
113
+ this.get('incomeSource').valueChanges.subscribe((incomeSource) => {
114
+ if (!incomeSource) {
115
+ this.get('tax').setValue(0);
116
+ return;
117
+ }
118
+ // prefill salary tax with its income source forecast in case if we have at least 1 salaryForecasts
119
+ if (incomeSource instanceof IncomeSource && incomeSource.isWorkIncome() && !this.get('tax').value
120
+ && incomeSource.salaryForecasts.length) {
121
+ this.get('tax').setValue(incomeSource.salaryForecasts[0].taxWithheld);
122
+ }
123
+ });
124
+ }
125
+ listenPropertyChanges() {
126
+ this.get('property').valueChanges.subscribe(() => {
127
+ this.updateClaimPercent();
128
+ });
129
+ }
130
+ /**
131
+ * Update claim percent value and state depends on business logic
132
+ */
133
+ updateClaimPercent() {
134
+ const claimPercentControl = this.get('claimPercent');
135
+ // claim percent is changeable only for work and sole expenses except vehicle and personal
136
+ claimPercentControl.disable();
137
+ if (!this.currentValue.chartAccounts) {
138
+ return;
139
+ }
140
+ if (this.currentValue.chartAccounts.isClaimPercentEditable()) {
141
+ claimPercentControl.enable();
142
+ }
143
+ claimPercentControl.setValue(this.currentValue.calculateClaimPercent());
144
+ }
145
+ }
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFFTCxrQ0FBa0MsRUFHbEMsWUFBWSxFQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFlBQXVDO0lBQ3hGLFlBQ0UsV0FBc0M7SUFDdEMsdUNBQXVDO0lBQy9CLEtBQWM7UUFFdEIsS0FBSyxDQUFDO1lBQ0osTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNsRCxhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckYsR0FBRyxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcs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O1FBRUQsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHtcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCxcbiAgQ2hhcnRBY2NvdW50cyxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZCxcbiAgSW5jb21lU291cmNlXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb25kaXRpb25hbFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbi1tZXRhLWZpZWxkLmZvcm0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcblxuLyoqXG4gKiBAVE9ETyBBbGV4OiBleHRlbmQgdHJhbnNhY3Rpb24gZm9ybShzKSB3aGVuIHRyYW5zYWN0aW9uIGZvcm1zIHJlZmFjdG9yZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgICAvLyBGbGFnIHRvIGVuYWJsZSB0cmFuc2FjdGlvbiBHU1QgZmllbGRcbiAgICBwcml2YXRlIGlzR1NUOiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnQpLFxuICAgICAgYW1vdW50UGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5hbW91bnRQZXJjZW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHRheDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi50YXgsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2xhaW1QZXJjZW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluKDApLCBWYWxpZGF0b3JzLm1heCgxMDApXSksXG4gICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgaXNHU1Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogdHJhbnNhY3Rpb24uaXNHU1QgfHwgZmFsc2UsIGRpc2FibGVkOiAhaXNHU1QgfSksXG4gICAgICBsb2FuOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmxvYW4pLFxuICAgICAgaW5jb21lU291cmNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZSwgY29uZGl0aW9uYWxWYWxpZGF0b3IoKCkgPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cz8uaXNXb3JrSW5jb21lKCksIFZhbGlkYXRvcnMucmVxdWlyZWQpKSxcbiAgICAgIG1ldGFGaWVsZHM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5tZXRhRmllbGRzIHx8IFtdKS5tYXAoKG1ldGFGaWVsZDogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCkgPT4gbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKG1ldGFGaWVsZCkpKSxcbiAgICAgIGJ1c2luZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmJ1c2luZXNzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHByb3BlcnR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnByb3BlcnR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIC8vIFNob3cgbnVsbCBhcyBkZWZhdWx0IHZhbHVlIGZvciBuZXcgdHJhbnNhY3Rpb24gdG8gYXZvaWQgcHJlc2VsZWN0aW5nIG9mIG5vdCBhbGxvd2VkIHRhbmsgdHlwZXNcbiAgICAgIHRhbmtUeXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmlkID8gdHJhbnNhY3Rpb24udGFua1R5cGUgOiBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNoaWxkVHJhbnNhY3Rpb25zOiBuZXcgVW50eXBlZEZvcm1BcnJheSgodHJhbnNhY3Rpb24uY2hpbGRUcmFuc2FjdGlvbnMgfHwgW10pLm1hcCgoY2hpbGRUcmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbikgPT4gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjaGlsZFRyYW5zYWN0aW9uLmFtb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH0pKSlcbiAgICB9LCB0cmFuc2FjdGlvbik7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IG1vdmUgdG8gYWJzdHJhY3QgZm9ybSwgdW5pdmVyc2FsIG1ldGhvZCBnZXRBcnJheShhcnJheU5hbWUpXG4gICAqL1xuICBnZXQgbWV0YUZpZWxkc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbWV0YUZpZWxkcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2hpbGRUcmFuc2FjdGlvbnNBcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBpc1NwbGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgnYW1vdW50UGVyY2VudCcpLmVuYWJsZWQ7XG4gIH1cblxuICBpc1BlcnNvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZSA9PT0gVGFua1R5cGVFbnVtLlBFUlNPTkFMO1xuICB9XG5cbiAgYWRkQ2hpbGRUcmFuc2FjdGlvbkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnB1c2goXG4gICAgICBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3VibWl0KCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBtZXRhRmllbGRzOiB0aGlzLm1ldGFGaWVsZHNBcnJheS5jb250cm9scy5tYXAoKG1ldGFGaWVsZEZvcm06IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKSA9PiBtZXRhRmllbGRGb3JtLnN1Ym1pdCgpKVxuICAgIH07XG5cbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KGRhdGEsIHRydWUpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ2hhcnRBY2NvdW50c0NoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuSW5jb21lU291cmNlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgdGhpcy5nZXQoJ2luY29tZVNvdXJjZScpLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG5cbiAgICAgIGlmICghY2hhcnRBY2NvdW50cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudXBkYXRlQ2xhaW1QZXJjZW50KCk7XG5cbiAgICAgIC8vIFVzZXIgaGF2ZSB0byBzZWxlY3QgaW5jb21lIHNvdXJjZSBmb3Igd29yayBpbmNvbWVcbiAgICAgIGlmIChjaGFydEFjY291bnRzLmlzV29ya0luY29tZSgpKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWJ1aWxkIG1ldGEgZmllbGRzXG4gICAgICB0aGlzLm1ldGFGaWVsZHNBcnJheS5jbGVhcigpO1xuICAgICAgY2hhcnRBY2NvdW50cy5tZXRhRmllbGRzLmZvckVhY2goKGNoYXJ0QWNjb3VudHNNZXRhRmllbGQ6IENoYXJ0QWNjb3VudHNNZXRhRmllbGQpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhRmllbGRzQXJyYXkucHVzaChcbiAgICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0oXG4gICAgICAgICAgICBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCwgeyBjaGFydEFjY291bnRzTWV0YUZpZWxkIH0pXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIHNvbGUgdHJhZGVyIHJlZ2lzdGVyZWQgYW5kIGNoYXJ0QWNjb3VudHMgaXMgZWxpZ2libGUgZm9yIGdzdFxuICAgICAgaWYgKHRoaXMuaXNHU1QgJiYgY2hhcnRBY2NvdW50cy5pc0dTVCkge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5nZXQoJ2lzR1NUJykuc2V0VmFsdWUodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmdldCgnaXNHU1QnKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZ2V0KCdpc0dTVCcpLnNldFZhbHVlKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIENoaWxkIHRyYW5zYWN0aW9uIGFsbG93YW5jZSBkZXBlbmRzIG9uIHRhbmsgdHlwZS5cbiAgICogQWxzbyBjaGFydCBhY2NvdW50cyBhcmUgZGlmZmVyZW50LCBzbyB3ZSBqdXN0IHJlc2V0IGNoaWxkIHRyYW5zYWN0aW9ucyB3aGVuIHRhbmsgdHlwZSBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRhbmtUeXBlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykucmVzZXQoKTtcbiAgICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnJlc2V0KCk7XG4gICAgICB0aGlzLmdldCgnYnVzaW5lc3MnKS5yZXNldCgpO1xuICAgICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LmNsZWFyKCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGF4IGF1dG9tYXRpY2FsbHkgd2hlbiBzYWxhcnkgaW5jb21lIHNvdXJjZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGlmICghaW5jb21lU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0KCd0YXgnKS5zZXRWYWx1ZSgwKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHByZWZpbGwgc2FsYXJ5IHRheCB3aXRoIGl0cyBpbmNvbWUgc291cmNlIGZvcmVjYXN0IGluIGNhc2UgaWYgd2UgaGF2ZSBhdCBsZWFzdCAxIHNhbGFyeUZvcmVjYXN0c1xuICAgICAgaWYgKGluY29tZVNvdXJjZSBpbnN0YW5jZW9mIEluY29tZVNvdXJjZSAmJiBpbmNvbWVTb3VyY2UuaXNXb3JrSW5jb21lKCkgJiYgIXRoaXMuZ2V0KCd0YXgnKS52YWx1ZVxuICAgICAgICAmJiBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmdldCgndGF4Jykuc2V0VmFsdWUoaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXS50YXhXaXRoaGVsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xhaW0gcGVyY2VudCB2YWx1ZSBhbmQgc3RhdGUgZGVwZW5kcyBvbiBidXNpbmVzcyBsb2dpY1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDbGFpbVBlcmNlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xhaW1QZXJjZW50Q29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8vIGNsYWltIHBlcmNlbnQgaXMgY2hhbmdlYWJsZSBvbmx5IGZvciB3b3JrIGFuZCBzb2xlIGV4cGVuc2VzIGV4Y2VwdCB2ZWhpY2xlIGFuZCBwZXJzb25hbFxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuZGlzYWJsZSgpO1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlLmNoYXJ0QWNjb3VudHMuaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICBjbGFpbVBlcmNlbnRDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUuY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,188 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { AllocationRuleTransaction, CHART_ACCOUNTS_CATEGORIES } from '../../models';
3
+ import { plainToClass } from 'class-transformer';
4
+ import { FormArray, FormControl, Validators } from '@angular/forms';
5
+ import { AllocationRuleCondition } from '../../models/transaction/allocation-rule-condition';
6
+ import { AllocationRuleConditionForm } from './allocation-rule-condition.form';
7
+ import { AllocationRuleTransactionForm } from './allocation-rule-transaction.form';
8
+ import { AllocationRuleTypeEnum } from '../../db/Enums';
9
+ import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
10
+ import intersection from 'lodash/intersection';
11
+ import { RxwebValidators } from '@rxweb/reactive-form-validators';
12
+ /**
13
+ * @TODO move aux methods like isSplittable/isTaxFieldHidden/etc (used in view with ngIf) to properties to improve perf
14
+ */
15
+ export class AllocationRuleForm extends AbstractForm {
16
+ constructor(rule, rules, isGST) {
17
+ super({
18
+ type: new FormControl(rule.type, Validators.required),
19
+ name: new FormControl(rule.name, [
20
+ Validators.required,
21
+ RxwebValidators.noneOf({ matchValues: rules.remove([rule]).mapBy('name') })
22
+ ]),
23
+ conditionOperator: new FormControl(rule.conditionOperator, Validators.required),
24
+ conditions: new FormArray((rule.conditions || [plainToClass(AllocationRuleCondition, {})])
25
+ .map((condition) => new AllocationRuleConditionForm(condition))),
26
+ transaction: new AllocationRuleTransactionForm(rule.transaction || plainToClass(AllocationRuleTransaction, {}), isGST),
27
+ transferBankAccount: new FormControl(rule.transferBankAccount, Validators.required),
28
+ autoAllocate: new FormControl(rule.autoAllocate || false, Validators.required),
29
+ }, rule);
30
+ this.isGST = isGST;
31
+ this.listenEvents();
32
+ this.setupFieldsByType(rule.type);
33
+ this.setupFieldsByTankType(rule.transaction?.tankType);
34
+ this.updateChartAccountsCategories();
35
+ if (!this.transactionFormGroup.get('chartAccounts').value?.isClaimPercentEditable()) {
36
+ this.transactionFormGroup.get('claimPercent').disable();
37
+ }
38
+ // Disable transaction amount field when transaction has no amount (non-split)
39
+ if (!rule.transaction?.isSplit()) {
40
+ this.transactionFormGroup.get(['amountPercent']).disable();
41
+ }
42
+ }
43
+ get conditionsArray() {
44
+ return this.get('conditions');
45
+ }
46
+ get childTransactionsArray() {
47
+ return this.transactionFormGroup.get('childTransactions');
48
+ }
49
+ get transactionFormGroup() {
50
+ return this.get('transaction');
51
+ }
52
+ addConditionForm() {
53
+ this.conditionsArray.push(new AllocationRuleConditionForm());
54
+ }
55
+ isTaxFieldHidden() {
56
+ const chartAccounts = this.transactionFormGroup.get('chartAccounts').value;
57
+ return !chartAccounts || !chartAccounts.hasTaxField();
58
+ }
59
+ /**
60
+ * TODO Alex: disable sole tank in form control when income selected
61
+ */
62
+ isTransactionFieldsHidden() {
63
+ return this.transactionFormGroup.get('tankType').value === null || this.currentValue.isSoleIncome();
64
+ }
65
+ submit() {
66
+ const data = {
67
+ conditions: this.conditionsArray.controls.map((conditionForm) => conditionForm.submit()),
68
+ transaction: null,
69
+ };
70
+ if (!this.currentValue.isTransfer()) {
71
+ data.transaction = this.transactionFormGroup.submit();
72
+ }
73
+ return super.submit(data);
74
+ }
75
+ isSplittable() {
76
+ return this.get('type').value === AllocationRuleTypeEnum.EXPENSE || this.transactionFormGroup.isPersonal();
77
+ }
78
+ listenEvents() {
79
+ this.listenTankTypeChanges();
80
+ this.listenTypeChanges();
81
+ }
82
+ listenTypeChanges() {
83
+ this.get('type').valueChanges.subscribe((type) => {
84
+ this.setupFieldsByType(type);
85
+ this.updateChartAccountsCategories();
86
+ // we have different fields for different types
87
+ // @TODO separated reinit method if we need it anywhere else
88
+ this.transactionFormGroup.setValue(new AllocationRuleTransactionForm(plainToClass(AllocationRuleTransaction, {}), this.isGST).getRawValue());
89
+ });
90
+ }
91
+ listenTankTypeChanges() {
92
+ this.transactionFormGroup.get('tankType').valueChanges.subscribe((tankType) => {
93
+ this.updateChartAccountsCategories();
94
+ this.setupFieldsByTankType(tankType);
95
+ });
96
+ }
97
+ /**
98
+ * Update list of chart accounts categories allowed for transaction
99
+ * Depends on transaction type and tank type
100
+ */
101
+ updateChartAccountsCategories() {
102
+ // We use unique one Chart Accounts for transfer
103
+ if (this.currentValue.isTransfer()) {
104
+ this.chartAccountsCategories = null;
105
+ return;
106
+ }
107
+ const excludedCategories = [...CHART_ACCOUNTS_CATEGORIES.depreciation];
108
+ this.chartAccountsCategories = intersection(CHART_ACCOUNTS_CATEGORIES[this.currentValue.typeLabel], CHART_ACCOUNTS_CATEGORIES[this.tankTypeLabel])
109
+ .filter((category) => !excludedCategories.includes(category));
110
+ }
111
+ get tankTypeLabel() {
112
+ switch (this.transactionFormGroup.get('tankType').value) {
113
+ case TankTypeEnum.WORK:
114
+ return 'work';
115
+ case TankTypeEnum.PROPERTY:
116
+ return 'property';
117
+ case TankTypeEnum.SOLE:
118
+ return 'sole';
119
+ case TankTypeEnum.HOLDING:
120
+ return 'holding';
121
+ default:
122
+ return 'personal';
123
+ }
124
+ }
125
+ setupFieldsByType(type) {
126
+ switch (type) {
127
+ case AllocationRuleTypeEnum.EXPENSE:
128
+ case AllocationRuleTypeEnum.INCOME:
129
+ this.get('transaction').enable({ emitEvent: false });
130
+ this.get('transferBankAccount').disable({ emitEvent: false });
131
+ // disable transaction amount field when value is empty
132
+ // disable manually because code above enables this field
133
+ if (!this.transactionFormGroup.get(['amountPercent']).value) {
134
+ this.transactionFormGroup.get(['amountPercent']).disable();
135
+ }
136
+ break;
137
+ case AllocationRuleTypeEnum.TRANSFER:
138
+ this.get('transaction').disable({ emitEvent: false });
139
+ this.get('transferBankAccount').enable({ emitEvent: false });
140
+ return;
141
+ }
142
+ }
143
+ setupFieldsByTankType(tankType) {
144
+ // First disable tankType-related fields, second enable for selected tank type
145
+ this.transactionFormGroup.get('property').disable({ emitEvent: false });
146
+ this.transactionFormGroup.get('business').disable({ emitEvent: false });
147
+ this.transactionFormGroup.get('incomeSource').disable({ emitEvent: false });
148
+ switch (tankType) {
149
+ case TankTypeEnum.WORK:
150
+ this.transactionFormGroup.get('incomeSource').enable({ emitEvent: false });
151
+ break;
152
+ case TankTypeEnum.PROPERTY:
153
+ this.transactionFormGroup.get('property').enable({ emitEvent: false });
154
+ break;
155
+ case TankTypeEnum.SOLE:
156
+ this.transactionFormGroup.get('business').enable({ emitEvent: false });
157
+ break;
158
+ }
159
+ }
160
+ isIncome() {
161
+ return this.get('type').value === AllocationRuleTypeEnum.INCOME;
162
+ }
163
+ isExpense() {
164
+ return this.get('type').value === AllocationRuleTypeEnum.EXPENSE;
165
+ }
166
+ isTransfer() {
167
+ return this.get('type').value === AllocationRuleTypeEnum.TRANSFER;
168
+ }
169
+ isPropertyTank() {
170
+ return this.get('transaction').get('tankType').value === TankTypeEnum.PROPERTY;
171
+ }
172
+ isWorkTank() {
173
+ return this.get('transaction').get('tankType').value === TankTypeEnum.WORK;
174
+ }
175
+ isSoleTank() {
176
+ return this.get('transaction').get('tankType').value === TankTypeEnum.SOLE;
177
+ }
178
+ isPropertyIncome() {
179
+ return this.isIncome() && this.isPropertyTank();
180
+ }
181
+ isWorkIncome() {
182
+ return this.isIncome() && this.isWorkTank();
183
+ }
184
+ isSoleIncome() {
185
+ return this.isIncome() && this.isSoleTank();
186
+ }
187
+ }
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IseUJBQXlCLEVBQUUseUJBQXlCLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQTZCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sWUFBWSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdsRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUE0QjtJQUdsRSxZQUFZLElBQW9CLEVBQUUsS0FBK0IsRUFBVSxLQUFjO1FBQ3ZGLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDckQsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FB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LE9BQU8sQ0FBQztJQUNuRSxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEtBQUssc0JBQXNCLENBQUMsUUFBUSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNqRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZSwgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUywgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkZvcm0gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24uZm9ybSc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgaW50ZXJzZWN0aW9uIGZyb20gJ2xvZGFzaC9pbnRlcnNlY3Rpb24nO1xuaW1wb3J0IHsgUnh3ZWJWYWxpZGF0b3JzIH0gZnJvbSAnQHJ4d2ViL3JlYWN0aXZlLWZvcm0tdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogQFRPRE8gbW92ZSBhdXggbWV0aG9kcyBsaWtlIGlzU3BsaXR0YWJsZS9pc1RheEZpZWxkSGlkZGVuL2V0YyAodXNlZCBpbiB2aWV3IHdpdGggbmdJZikgdG8gcHJvcGVydGllcyB0byBpbXByb3ZlIHBlcmZcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxBbGxvY2F0aW9uUnVsZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW107XG5cbiAgY29uc3RydWN0b3IocnVsZTogQWxsb2NhdGlvblJ1bGUsIHJ1bGVzOiBBbGxvY2F0aW9uUnVsZUNvbGxlY3Rpb24sIHByaXZhdGUgaXNHU1Q6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBuZXcgRm9ybUNvbnRyb2wocnVsZS50eXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChydWxlLm5hbWUsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgUnh3ZWJWYWxpZGF0b3JzLm5vbmVPZih7IG1hdGNoVmFsdWVzOiBydWxlcy5yZW1vdmUoW3J1bGVdKS5tYXBCeSgnbmFtZScpIH0pXG4gICAgICBdKSxcbiAgICAgIGNvbmRpdGlvbk9wZXJhdG9yOiBuZXcgRm9ybUNvbnRyb2wocnVsZS5jb25kaXRpb25PcGVyYXRvciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBjb25kaXRpb25zOiBuZXcgRm9ybUFycmF5KFxuICAgICAgICAocnVsZS5jb25kaXRpb25zIHx8IFtwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHt9KV0pXG4gICAgICAgICAgLm1hcCgoY29uZGl0aW9uOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbikgPT4gbmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybShjb25kaXRpb24pKVxuICAgICAgKSxcbiAgICAgIHRyYW5zYWN0aW9uOiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocnVsZS50cmFuc2FjdGlvbiB8fCBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiwge30pLCBpc0dTVCksXG4gICAgICB0cmFuc2ZlckJhbmtBY2NvdW50OiBuZXcgRm9ybUNvbnRyb2wocnVsZS50cmFuc2ZlckJhbmtBY2NvdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGF1dG9BbGxvY2F0ZTogbmV3IEZvcm1Db250cm9sKHJ1bGUuYXV0b0FsbG9jYXRlIHx8IGZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICB9LCBydWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5zZXR1cEZpZWxkc0J5VHlwZShydWxlLnR5cGUpO1xuICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHJ1bGUudHJhbnNhY3Rpb24/LnRhbmtUeXBlKTtcbiAgICB0aGlzLnVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk7XG5cbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU/LmlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NsYWltUGVyY2VudCcpLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHRyYW5zYWN0aW9uIGFtb3VudCBmaWVsZCB3aGVuIHRyYW5zYWN0aW9uIGhhcyBubyBhbW91bnQgKG5vbi1zcGxpdClcbiAgICBpZiAoIXJ1bGUudHJhbnNhY3Rpb24/LmlzU3BsaXQoKSkge1xuICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZGl0aW9uc0FycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdjb25kaXRpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IGNoaWxkVHJhbnNhY3Rpb25zQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uRm9ybUdyb3VwKCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykgYXMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm07XG4gIH1cblxuICBhZGRDb25kaXRpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uc0FycmF5LnB1c2gobmV3IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSgpKTtcbiAgfVxuXG4gIGlzVGF4RmllbGRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyA9IHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICByZXR1cm4gIWNoYXJ0QWNjb3VudHMgfHwgIWNoYXJ0QWNjb3VudHMuaGFzVGF4RmllbGQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIEFsZXg6IGRpc2FibGUgc29sZSB0YW5rIGluIGZvcm0gY29udHJvbCB3aGVuIGluY29tZSBzZWxlY3RlZFxuICAgKi9cbiAgaXNUcmFuc2FjdGlvbkZpZWxkc0hpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IG51bGwgfHwgdGhpcy5jdXJyZW50VmFsdWUuaXNTb2xlSW5jb21lKCk7XG4gIH1cblxuICBzdWJtaXQoKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBjb25kaXRpb25zOiB0aGlzLmNvbmRpdGlvbnNBcnJheS5jb250cm9scy5tYXAoKGNvbmRpdGlvbkZvcm06IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRm9ybSkgPT4gY29uZGl0aW9uRm9ybS5zdWJtaXQoKSksXG4gICAgICB0cmFuc2FjdGlvbjogbnVsbCxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIGRhdGEudHJhbnNhY3Rpb24gPSB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5zdWJtaXQoZGF0YSk7XG4gIH1cblxuICBpc1NwbGl0dGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRSB8fCB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmlzUGVyc29uYWwoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVHlwZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRmllbGRzQnlUeXBlKHR5cGUpO1xuICAgICAgdGhpcy51cGRhdGVDaGFydEFjY291bnRzQ2F0ZWdvcmllcygpO1xuXG4gICAgICAvLyB3ZSBoYXZlIGRpZmZlcmVudCBmaWVsZHMgZm9yIGRpZmZlcmVudCB0eXBlc1xuICAgICAgLy8gQFRPRE8gc2VwYXJhdGVkIHJlaW5pdCBtZXRob2QgaWYgd2UgbmVlZCBpdCBhbnl3aGVyZSBlbHNlXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLnNldFZhbHVlKFxuICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkZvcm0ocGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sIHt9KSwgdGhpcy5pc0dTVCkuZ2V0UmF3VmFsdWUoKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2hhcnRBY2NvdW50c0NhdGVnb3JpZXMoKTtcbiAgICAgIHRoaXMuc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yaWVzIGFsbG93ZWQgZm9yIHRyYW5zYWN0aW9uXG4gICAqIERlcGVuZHMgb24gdHJhbnNhY3Rpb24gdHlwZSBhbmQgdGFuayB0eXBlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IHZvaWQge1xuICAgIC8vIFdlIHVzZSB1bmlxdWUgb25lIENoYXJ0IEFjY291bnRzIGZvciB0cmFuc2ZlclxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5pc1RyYW5zZmVyKCkpIHtcbiAgICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV4Y2x1ZGVkQ2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gWy4uLkNIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uXTtcblxuICAgIHRoaXMuY2hhcnRBY2NvdW50c0NhdGVnb3JpZXMgPSBpbnRlcnNlY3Rpb24oQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFU1t0aGlzLmN1cnJlbnRWYWx1ZS50eXBlTGFiZWxdLCBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTW3RoaXMudGFua1R5cGVMYWJlbF0pXG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSkgPT4gIWV4Y2x1ZGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXRlZ29yeSkpO1xuICB9XG5cbiAgZ2V0IHRhbmtUeXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb25Gb3JtR3JvdXAuZ2V0KCd0YW5rVHlwZScpLnZhbHVlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICByZXR1cm4gJ3dvcmsnO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgcmV0dXJuICdwcm9wZXJ0eSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlNPTEU6XG4gICAgICAgIHJldHVybiAnc29sZSc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLkhPTERJTkc6XG4gICAgICAgIHJldHVybiAnaG9sZGluZyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncGVyc29uYWwnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVR5cGUodHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSk6IHZvaWQge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uSU5DT01FOlxuICAgICAgICB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmdldCgndHJhbnNmZXJCYW5rQWNjb3VudCcpLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIC8vIGRpc2FibGUgdHJhbnNhY3Rpb24gYW1vdW50IGZpZWxkIHdoZW4gdmFsdWUgaXMgZW1wdHlcbiAgICAgICAgLy8gZGlzYWJsZSBtYW51YWxseSBiZWNhdXNlIGNvZGUgYWJvdmUgZW5hYmxlcyB0aGlzIGZpZWxkXG4gICAgICAgIGlmICghdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoWydhbW91bnRQZXJjZW50J10pLmRpc2FibGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5UUkFOU0ZFUjpcbiAgICAgICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZ2V0KCd0cmFuc2ZlckJhbmtBY2NvdW50JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGaWVsZHNCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB2b2lkIHtcbiAgICAvLyBGaXJzdCBkaXNhYmxlIHRhbmtUeXBlLXJlbGF0ZWQgZmllbGRzLCBzZWNvbmQgZW5hYmxlIGZvciBzZWxlY3RlZCB0YW5rIHR5cGVcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgncHJvcGVydHknKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cbiAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnaW5jb21lU291cmNlJykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkZvcm1Hcm91cC5nZXQoJ3Byb3BlcnR5JykuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRm9ybUdyb3VwLmdldCgnYnVzaW5lc3MnKS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3R5cGUnKS52YWx1ZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgfVxuXG4gIGlzVHJhbnNmZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0eXBlJykudmFsdWUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFk7XG4gIH1cblxuICBpc1dvcmtUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldCgndHJhbnNhY3Rpb24nKS5nZXQoJ3RhbmtUeXBlJykudmFsdWUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ3RyYW5zYWN0aW9uJykuZ2V0KCd0YW5rVHlwZScpLnZhbHVlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { UntypedFormControl, Validators } from '@angular/forms';
2
+ import { autocompleteValidator, conditionalValidator, matchSumValidator } from '../../../validators';
3
+ import { TransactionOperationEnum } from '../../../db/Enums/transaction-operation.enum';
4
+ import { WorkTransactionForm } from '../work/work-transaction.form';
5
+ import { ChartAccountsMetaFieldListEnum } from '../../../db/Enums';
6
+ export class HoldingIncomeForm extends WorkTransactionForm {
7
+ /**
8
+ * @TODO vik partial copyPast from workIncomeForm
9
+ */
10
+ constructor(transaction, registeredForGst, allocations) {
11
+ super(transaction, registeredForGst, allocations, {
12
+ tax: new UntypedFormControl(transaction.tax, Validators.required),
13
+ incomeSource: new UntypedFormControl(transaction.incomeSource, [Validators.required, autocompleteValidator()]),
14
+ });
15
+ // transactionAmount=frankedAmount + unfrankedAmount
16
+ this.get('amount').setValidators([Validators.required, conditionalValidator(() => this.get('chartAccounts').value && this.get('chartAccounts').value.isDividends(), matchSumValidator(this.getAmountComponents))]);
17
+ // forbid to edit some fields for allocated transaction
18
+ if (allocations.length) {
19
+ this.get('chartAccounts').disable();
20
+ }
21
+ this.get('transactions').disable();
22
+ // amount changes are not available for transactions with allocations or during allocate process
23
+ if (allocations.length || transaction.operation === TransactionOperationEnum.ALLOCATE) {
24
+ this.get('amount').disable();
25
+ }
26
+ }
27
+ /**
28
+ * metafields components of transactionAmount
29
+ */
30
+ getAmountComponents() {
31
+ return this.metaFields.controls.filter((formGroup) => [ChartAccountsMetaFieldListEnum.FRANKED, ChartAccountsMetaFieldListEnum.UNFRANKED].includes(formGroup.get('chartAccountsMetaField').value.id)).map(formGroup => formGroup.get('value'));
32
+ }
33
+ listenEvents() {
34
+ this.listenChartAccountsChanges();
35
+ }
36
+ get metaFields() {
37
+ return this.get('metaFields');
38
+ }
39
+ get frankingCredit() {
40
+ return this.metaFields.controls.find((group) => group.get('chartAccountsMetaField').value.isFrankingCredit())?.get('value');
41
+ }
42
+ /**
43
+ * @TODO Alex/Vik: probably we need some database changes related to metafields.
44
+ * Now we have the following custom metafields behaviour:
45
+ * - % of share field should be 100 by default (now handled by WorkTransactionForm)
46
+ * - Franked and Unfranked sum should be equal to transaction amount
47
+ * - Franked field has custom message (mat-hint) (now handled by HoldingIncomeFormComponent)
48
+ * - some metafields required, but some not (now handled by HoldingIncomeForm)
49
+ */
50
+ listenChartAccountsChanges() {
51
+ this.get('chartAccounts').valueChanges.subscribe((chartAccounts) => {
52
+ if (!chartAccounts.isDividends()) {
53
+ return;
54
+ }
55
+ this.frankingCredit.setValidators(Validators.required);
56
+ });
57
+ }
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1pbmNvbWUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi9ob2xkaW5nL2hvbGRpbmctaW5jb21lLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF5QyxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBQ3hEOztPQUVHO0lBQ0gsWUFBWSxXQUF3QixFQUFFLGdCQUF5QixFQUFFLFdBQW9DO1FBQ25HLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFO1lBQ2hELEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRSxZQUFZLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7U0FDL0csQ0FBQyxDQUFDO1FBRUgsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FDekUsR0FBWSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQy9GLGlCQUFpQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVKLHVEQUF1RDtRQUN2RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNyQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsZ0dBQWdHO1FBQ2hHLElBQUksV0FBVyxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsU0FBUyxLQUFLLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtZQUNyRixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBb0IsRUFBRSxFQUFFLENBQzlELENBQUMsOEJBQThCLENBQUMsT0FBTyxFQUFFLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUM5SSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEMsQ0FBQyxLQUFnQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQ25GLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQTRCLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUNoQyxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydEFjY291bnRzLCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBhdXRvY29tcGxldGVWYWxpZGF0b3IsIGNvbmRpdGlvbmFsVmFsaWRhdG9yLCBtYXRjaFN1bVZhbGlkYXRvciB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgV29ya1RyYW5zYWN0aW9uRm9ybSB9IGZyb20gJy4uL3dvcmsvd29yay10cmFuc2FjdGlvbi5mb3JtJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNNZXRhRmllbGRMaXN0RW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdJbmNvbWVGb3JtIGV4dGVuZHMgV29ya1RyYW5zYWN0aW9uRm9ybSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgLyoqXG4gICAqIEBUT0RPIHZpayBwYXJ0aWFsIGNvcHlQYXN0IGZyb20gd29ya0luY29tZUZvcm1cbiAgICovXG4gIGNvbnN0cnVjdG9yKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiwgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbiwgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdKSB7XG4gICAgc3VwZXIodHJhbnNhY3Rpb24sIHJlZ2lzdGVyZWRGb3JHc3QsIGFsbG9jYXRpb25zLCB7XG4gICAgICB0YXg6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24udGF4LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGluY29tZVNvdXJjZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2UsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBhdXRvY29tcGxldGVWYWxpZGF0b3IoKV0pLFxuICAgIH0pO1xuXG4gICAgLy8gdHJhbnNhY3Rpb25BbW91bnQ9ZnJhbmtlZEFtb3VudCArIHVuZnJhbmtlZEFtb3VudFxuICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBjb25kaXRpb25hbFZhbGlkYXRvcihcbiAgICAgICgpOiBib29sZWFuID0+IHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWUgJiYgdGhpcy5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZS5pc0RpdmlkZW5kcygpLFxuICAgICAgbWF0Y2hTdW1WYWxpZGF0b3IodGhpcy5nZXRBbW91bnRDb21wb25lbnRzKVxuICAgICldKTtcblxuICAgIC8vIGZvcmJpZCB0byBlZGl0IHNvbWUgZmllbGRzIGZvciBhbGxvY2F0ZWQgdHJhbnNhY3Rpb25cbiAgICBpZiAoYWxsb2NhdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLmRpc2FibGUoKTtcbiAgICB9XG4gICAgdGhpcy5nZXQoJ3RyYW5zYWN0aW9ucycpLmRpc2FibGUoKTtcbiAgICAvLyBhbW91bnQgY2hhbmdlcyBhcmUgbm90IGF2YWlsYWJsZSBmb3IgdHJhbnNhY3Rpb25zIHdpdGggYWxsb2NhdGlvbnMgb3IgZHVyaW5nIGFsbG9jYXRlIHByb2Nlc3NcbiAgICBpZiAoYWxsb2NhdGlvbnMubGVuZ3RoIHx8IHRyYW5zYWN0aW9uLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkFMTE9DQVRFKSB7XG4gICAgICB0aGlzLmdldCgnYW1vdW50JykuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBtZXRhZmllbGRzIGNvbXBvbmVudHMgb2YgdHJhbnNhY3Rpb25BbW91bnRcbiAgICovXG4gIGdldEFtb3VudENvbXBvbmVudHMoKTogQWJzdHJhY3RDb250cm9sW10ge1xuICAgIHJldHVybiB0aGlzLm1ldGFGaWVsZHMuY29udHJvbHMuZmlsdGVyKChmb3JtR3JvdXA6IEZvcm1Hcm91cCkgPT5cbiAgICAgIFtDaGFydEFjY291bnRzTWV0YUZpZWxkTGlzdEVudW0uRlJBTktFRCwgQ2hhcnRBY2NvdW50c01ldGFGaWVsZExpc3RFbnVtLlVORlJBTktFRF0uaW5jbHVkZXMoZm9ybUdyb3VwLmdldCgnY2hhcnRBY2NvdW50c01ldGFGaWVsZCcpLnZhbHVlLmlkKVxuICAgICkubWFwKGZvcm1Hcm91cCA9PiBmb3JtR3JvdXAuZ2V0KCd2YWx1ZScpKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXQgbWV0YUZpZWxkcygpOiBGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbWV0YUZpZWxkcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBmcmFua2luZ0NyZWRpdCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLm1ldGFGaWVsZHMuY29udHJvbHMuZmluZChcbiAgICAgIChncm91cDogRm9ybUdyb3VwKSA9PiBncm91cC5nZXQoJ2NoYXJ0QWNjb3VudHNNZXRhRmllbGQnKS52YWx1ZS5pc0ZyYW5raW5nQ3JlZGl0KClcbiAgICApPy5nZXQoJ3ZhbHVlJyk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleC9WaWs6IHByb2JhYmx5IHdlIG5lZWQgc29tZSBkYXRhYmFzZSBjaGFuZ2VzIHJlbGF0ZWQgdG8gbWV0YWZpZWxkcy5cbiAgICogTm93IHdlIGhhdmUgdGhlIGZvbGxvd2luZyBjdXN0b20gbWV0YWZpZWxkcyBiZWhhdmlvdXI6XG4gICAqIC0gJSBvZiBzaGFyZSBmaWVsZCBzaG91bGQgYmUgMTAwIGJ5IGRlZmF1bHQgKG5vdyBoYW5kbGVkIGJ5IFdvcmtUcmFuc2FjdGlvbkZvcm0pXG4gICAqIC0gRnJhbmtlZCBhbmQgVW5mcmFua2VkIHN1bSBzaG91bGQgYmUgZXF1YWwgdG8gdHJhbnNhY3Rpb24gYW1vdW50XG4gICAqIC0gRnJhbmtlZCBmaWVsZCBoYXMgY3VzdG9tIG1lc3NhZ2UgKG1hdC1oaW50KSAobm93IGhhbmRsZWQgYnkgSG9sZGluZ0luY29tZUZvcm1Db21wb25lbnQpXG4gICAqIC0gc29tZSBtZXRhZmllbGRzIHJlcXVpcmVkLCBidXQgc29tZSBub3QgKG5vdyBoYW5kbGVkIGJ5IEhvbGRpbmdJbmNvbWVGb3JtKVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5DaGFydEFjY291bnRzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIGlmICghY2hhcnRBY2NvdW50cy5pc0RpdmlkZW5kcygpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5mcmFua2luZ0NyZWRpdC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export * from './allocation-rule.form';
2
+ export * from './transaction-base.form';
3
+ export * from './transaction.form';
4
+ export * from './sole/sole-income.form';
5
+ export * from './work/work-income.form';
6
+ export * from './work/work-expense.form';
7
+ export * from './holding/holding-income.form';
8
+ export * from './transaction-base-filter.form';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9zb2xlL3NvbGUtaW5jb21lLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrL3dvcmstaW5jb21lLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrL3dvcmstZXhwZW5zZS5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy9ob2xkaW5nLWluY29tZS5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24tYmFzZS1maWx0ZXIuZm9ybSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export var MessagesEnum;
2
+ (function (MessagesEnum) {
3
+ MessagesEnum["DATE_VALIDATION_ERROR"] = "The transaction date is before the ownership date, please update the date to confirm";
4
+ })(MessagesEnum || (MessagesEnum = {}));
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi9tZXNzYWdlcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBRVg7QUFGRCxXQUFZLFlBQVk7SUFDdEIsOEhBQThHLENBQUE7QUFDaEgsQ0FBQyxFQUZXLFlBQVksS0FBWixZQUFZLFFBRXZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTWVzc2FnZXNFbnVtIHtcbiAgREFURV9WQUxJREFUSU9OX0VSUk9SID0gJ1RoZSB0cmFuc2FjdGlvbiBkYXRlIGlzIGJlZm9yZSB0aGUgb3duZXJzaGlwIGRhdGUsIHBsZWFzZSB1cGRhdGUgdGhlIGRhdGUgdG8gY29uZmlybSdcbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { TransactionOperationEnum } from '../../../db/Enums/transaction-operation.enum';
2
+ import { SoleTransactionForm } from './sole-transaction.form';
3
+ export class SoleIncomeForm extends SoleTransactionForm {
4
+ constructor(transaction, allocations, registeredForGst) {
5
+ super(transaction, registeredForGst, allocations, {});
6
+ // @TODO Alex: copypasted from work income form
7
+ // forbid to edit some fields for allocated transaction
8
+ if (allocations.length) {
9
+ this.get('chartAccounts').disable();
10
+ }
11
+ // amount changes are not available for transactions with allocations or during allocate process
12
+ if (allocations.length || transaction.operation === TransactionOperationEnum.ALLOCATE) {
13
+ this.get('amount').disable();
14
+ }
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbmNvbWUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi9zb2xlL3NvbGUtaW5jb21lLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7SUFDckQsWUFBWSxXQUF3QixFQUFFLFdBQW9DLEVBQUUsZ0JBQXlCO1FBRW5HLEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXRELCtDQUErQztRQUUvQyx1REFBdUQ7UUFDdkQsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDckM7UUFFRCxnR0FBZ0c7UUFDaEcsSUFBSSxXQUFXLENBQUMsTUFBTSxJQUFJLFdBQVcsQ0FBQyxTQUFTLEtBQUssd0JBQXdCLENBQUMsUUFBUSxFQUFFO1lBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmltcG9ydCB7IFNvbGVUcmFuc2FjdGlvbkZvcm0gfSBmcm9tICcuL3NvbGUtdHJhbnNhY3Rpb24uZm9ybSc7XG5cbmV4cG9ydCBjbGFzcyBTb2xlSW5jb21lRm9ybSBleHRlbmRzIFNvbGVUcmFuc2FjdGlvbkZvcm0ge1xuICBjb25zdHJ1Y3Rvcih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSwgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbikge1xuXG4gICAgc3VwZXIodHJhbnNhY3Rpb24sIHJlZ2lzdGVyZWRGb3JHc3QsIGFsbG9jYXRpb25zLCB7fSk7XG5cbiAgICAvLyBAVE9ETyBBbGV4OiBjb3B5cGFzdGVkIGZyb20gd29yayBpbmNvbWUgZm9ybVxuXG4gICAgLy8gZm9yYmlkIHRvIGVkaXQgc29tZSBmaWVsZHMgZm9yIGFsbG9jYXRlZCB0cmFuc2FjdGlvblxuICAgIGlmIChhbGxvY2F0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIC8vIGFtb3VudCBjaGFuZ2VzIGFyZSBub3QgYXZhaWxhYmxlIGZvciB0cmFuc2FjdGlvbnMgd2l0aCBhbGxvY2F0aW9ucyBvciBkdXJpbmcgYWxsb2NhdGUgcHJvY2Vzc1xuICAgIGlmIChhbGxvY2F0aW9ucy5sZW5ndGggfHwgdHJhbnNhY3Rpb24ub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uQUxMT0NBVEUpIHtcbiAgICAgIHRoaXMuZ2V0KCdhbW91bnQnKS5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { TransactionForm } from '../transaction.form';
2
+ export class SoleTransactionForm extends TransactionForm {
3
+ constructor(transaction, registeredForGst, allocations, controls = {}) {
4
+ super(transaction, registeredForGst, allocations, Object.assign(controls, {}));
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS10cmFuc2FjdGlvbi5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL3RyYW5zYWN0aW9uL3NvbGUvc29sZS10cmFuc2FjdGlvbi5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtJQUN0RCxZQUNFLFdBQXdCLEVBQ3hCLGdCQUF5QixFQUN6QixXQUFvQyxFQUNwQyxXQUErQyxFQUFFO1FBRWpELEtBQUssQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkZvcm0gfSBmcm9tICcuLi90cmFuc2FjdGlvbi5mb3JtJztcblxuZXhwb3J0IGNsYXNzIFNvbGVUcmFuc2FjdGlvbkZvcm0gZXh0ZW5kcyBUcmFuc2FjdGlvbkZvcm0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24sXG4gICAgcmVnaXN0ZXJlZEZvckdzdDogYm9vbGVhbixcbiAgICBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10sXG4gICAgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0gPSB7fVxuICApIHtcbiAgICBzdXBlcih0cmFuc2FjdGlvbiwgcmVnaXN0ZXJlZEZvckdzdCwgYWxsb2NhdGlvbnMsIE9iamVjdC5hc3NpZ24oY29udHJvbHMsIHt9KSk7XG4gIH1cbn0iXX0=
@@ -0,0 +1,48 @@
1
+ import { FormControl, FormGroup } from '@angular/forms';
2
+ import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
3
+ export class TransactionBaseFilterForm extends FormGroup {
4
+ constructor(tankType, business, properties) {
5
+ super({
6
+ tankType: new FormControl(tankType),
7
+ business: new FormControl({ value: business, disabled: true }),
8
+ properties: new FormControl({ value: properties, disabled: true }),
9
+ dateFrom: new FormControl(),
10
+ dateTo: new FormControl(),
11
+ chartAccounts: new FormControl(),
12
+ });
13
+ this.listenEvents();
14
+ }
15
+ listenEvents() {
16
+ this.get('tankType').valueChanges.subscribe(tankType => {
17
+ tankType === TankTypeEnum.SOLE ? this.get('business').enable() : this.get('business').disable();
18
+ tankType === TankTypeEnum.PROPERTY ? this.get('properties').enable() : this.get('properties').disable();
19
+ });
20
+ }
21
+ filter(collection) {
22
+ if (!collection.length) {
23
+ return collection;
24
+ }
25
+ const value = this.value;
26
+ if (value.dateFrom) {
27
+ collection = collection.filter(transaction => transaction.date >= value.dateFrom);
28
+ }
29
+ if (value.dateTo) {
30
+ collection = collection.filter(transaction => transaction.date <= value.dateTo);
31
+ }
32
+ if (value.tankType) {
33
+ collection = collection.filterBy('tankType', value.tankType);
34
+ }
35
+ if (value.business) {
36
+ collection = collection.filterBy('business.id', value.business.id);
37
+ }
38
+ if (value.properties) {
39
+ collection = collection.filterBy('property.id', value.properties.map(property => property.id));
40
+ }
41
+ if (value.chartAccounts) {
42
+ const searchQuery = value.chartAccounts.toLowerCase().trim();
43
+ collection = collection.filter(transaction => transaction.chartAccounts.name.toLowerCase().includes(searchQuery));
44
+ }
45
+ return collection;
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS1maWx0ZXIuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1iYXNlLWZpbHRlci5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBYzdELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxTQUF5QztJQUN0RixZQUFZLFFBQXVCLEVBQUUsUUFBdUIsRUFBRSxVQUF1QjtRQUNuRixLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDO1lBQ25DLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzlELFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2xFLFFBQVEsRUFBRSxJQUFJLFdBQVcsRUFBRTtZQUMzQixNQUFNLEVBQUUsSUFBSSxXQUFXLEVBQUU7WUFDekIsYUFBYSxFQUFFLElBQUksV0FBVyxFQUFFO1NBQ2pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyRCxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoRyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQXFGLFVBQTJCO1FBQ3BILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV6QixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuRjtRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pGO1FBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDbEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDaEc7UUFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdkIsTUFBTSxXQUFXLEdBQVcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ25IO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xzSW50ZXJmYWNlIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHksIFNvbGVCdXNpbmVzcyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcblxuaW50ZXJmYWNlIElUcmFuc2FjdGlvbkJhc2VGaWx0ZXJDb250cm9scyBleHRlbmRzIENvbnRyb2xzSW50ZXJmYWNlIHtcbiAgdGFua1R5cGU6IEZvcm1Db250cm9sPFRhbmtUeXBlRW51bT47XG4gIGJ1c2luZXNzOiBGb3JtQ29udHJvbDxTb2xlQnVzaW5lc3M+O1xuICBwcm9wZXJ0aWVzOiBGb3JtQ29udHJvbDxQcm9wZXJ0eVtdPlxuICBkYXRlRnJvbTogRm9ybUNvbnRyb2w8RGF0ZT47XG4gIGRhdGVUbzogRm9ybUNvbnRyb2w8RGF0ZT47XG4gIGNoYXJ0QWNjb3VudHM6IEZvcm1Db250cm9sPHN0cmluZz47XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJhc2VGaWx0ZXJGb3JtIGV4dGVuZHMgRm9ybUdyb3VwPElUcmFuc2FjdGlvbkJhc2VGaWx0ZXJDb250cm9scz4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKHRhbmtUeXBlPzogVGFua1R5cGVFbnVtLCBidXNpbmVzcz86IFNvbGVCdXNpbmVzcywgcHJvcGVydGllcz86IFByb3BlcnR5W10pIHtcbiAgICBzdXBlcih7XG4gICAgICB0YW5rVHlwZTogbmV3IEZvcm1Db250cm9sKHRhbmtUeXBlKSxcbiAgICAgIGJ1c2luZXNzOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogYnVzaW5lc3MsIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgICAgcHJvcGVydGllczogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHByb3BlcnRpZXMsIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgICAgZGF0ZUZyb206IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgICAgZGF0ZVRvOiBuZXcgRm9ybUNvbnRyb2woKSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBGb3JtQ29udHJvbCgpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgndGFua1R5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHRhbmtUeXBlID0+IHtcbiAgICAgIHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRSA/IHRoaXMuZ2V0KCdidXNpbmVzcycpLmVuYWJsZSgpIDogdGhpcy5nZXQoJ2J1c2luZXNzJykuZGlzYWJsZSgpO1xuICAgICAgdGFua1R5cGUgPT09IFRhbmtUeXBlRW51bS5QUk9QRVJUWSA/IHRoaXMuZ2V0KCdwcm9wZXJ0aWVzJykuZW5hYmxlKCkgOiB0aGlzLmdldCgncHJvcGVydGllcycpLmRpc2FibGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZpbHRlcjxNb2RlbENsYXNzIGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlLCBDb2xsZWN0aW9uQ2xhc3MgZXh0ZW5kcyBDb2xsZWN0aW9uPE1vZGVsQ2xhc3M+Pihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ2xhc3MpOiBDb2xsZWN0aW9uQ2xhc3Mge1xuICAgIGlmICghY29sbGVjdGlvbi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICBpZiAodmFsdWUuZGF0ZUZyb20pIHtcbiAgICAgIGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLmZpbHRlcih0cmFuc2FjdGlvbiA9PiB0cmFuc2FjdGlvbi5kYXRlID49IHZhbHVlLmRhdGVGcm9tKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLmRhdGVUbykge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyKHRyYW5zYWN0aW9uID0+IHRyYW5zYWN0aW9uLmRhdGUgPD0gdmFsdWUuZGF0ZVRvKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLnRhbmtUeXBlKSB7XG4gICAgICBjb2xsZWN0aW9uID0gY29sbGVjdGlvbi5maWx0ZXJCeSgndGFua1R5cGUnLCB2YWx1ZS50YW5rVHlwZSk7XG4gICAgfVxuICAgIGlmICh2YWx1ZS5idXNpbmVzcykge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyQnkoJ2J1c2luZXNzLmlkJywgdmFsdWUuYnVzaW5lc3MuaWQpO1xuICAgIH1cbiAgICBpZiAodmFsdWUucHJvcGVydGllcykge1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyQnkoJ3Byb3BlcnR5LmlkJywgdmFsdWUucHJvcGVydGllcy5tYXAocHJvcGVydHkgPT4gcHJvcGVydHkuaWQpKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIGNvbnN0IHNlYXJjaFF1ZXJ5OiBzdHJpbmcgPSB2YWx1ZS5jaGFydEFjY291bnRzLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb24uZmlsdGVyKHRyYW5zYWN0aW9uID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFF1ZXJ5KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gIH1cbn1cbiJdfQ==