taxtank-core 0.17.7 → 0.17.10

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 (968) hide show
  1. package/README.md +5 -5
  2. package/bundles/taxtank-core.umd.js +13181 -13156
  3. package/bundles/taxtank-core.umd.js.map +1 -1
  4. package/esm2015/lib/collections/account-setup-item.collection.js +12 -12
  5. package/esm2015/lib/collections/bank-account.collection.js +135 -135
  6. package/esm2015/lib/collections/bank-transaction.collection.js +119 -119
  7. package/esm2015/lib/collections/client-movement.collection.js +31 -31
  8. package/esm2015/lib/collections/client-portfolio-report.collection.js +40 -40
  9. package/esm2015/lib/collections/client.collection.js +4 -4
  10. package/esm2015/lib/collections/collection-dictionary.js +101 -101
  11. package/esm2015/lib/collections/collection.js +109 -109
  12. package/esm2015/lib/collections/depreciation-forecast.collection.js +19 -19
  13. package/esm2015/lib/collections/depreciation.collection.js +101 -101
  14. package/esm2015/lib/collections/employee.collection.js +12 -12
  15. package/esm2015/lib/collections/exportable.collection.js +17 -17
  16. package/esm2015/lib/collections/income-source.collection.js +34 -34
  17. package/esm2015/lib/collections/loan/loan-payment.collection.js +31 -31
  18. package/esm2015/lib/collections/loan/loan.collection.js +18 -18
  19. package/esm2015/lib/collections/message-document.collection.js +13 -13
  20. package/esm2015/lib/collections/message.collection.js +21 -21
  21. package/esm2015/lib/collections/property/property-sale/property-sale-tax-exemption-metadata.collection.js +20 -20
  22. package/esm2015/lib/collections/property/property.collection.js +69 -69
  23. package/esm2015/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.js +12 -12
  24. package/esm2015/lib/collections/report/depreciation/depreciation-report-item.collection.js +14 -14
  25. package/esm2015/lib/collections/report/property/property-report-item-depreciation.collection.js +22 -22
  26. package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +22 -22
  27. package/esm2015/lib/collections/report/property/property-report-item.collection.js +13 -13
  28. package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +20 -20
  29. package/esm2015/lib/collections/subscription/service-subscription.collection.js +17 -17
  30. package/esm2015/lib/collections/tax-review.collection.js +55 -55
  31. package/esm2015/lib/collections/tax-summary/report-item.collection.js +71 -71
  32. package/esm2015/lib/collections/tax-summary/tax-return-categories.const.js +65 -65
  33. package/esm2015/lib/collections/transaction/transaction-allocation.collection.js +40 -40
  34. package/esm2015/lib/collections/transaction/transaction.collection.js +167 -167
  35. package/esm2015/lib/collections/user-event-setting.collection.js +10 -10
  36. package/esm2015/lib/collections/vehicle-logbook.collection.js +88 -88
  37. package/esm2015/lib/collections/vehicle.collection.js +9 -9
  38. package/esm2015/lib/db/Enums/address-type.enum.js +6 -6
  39. package/esm2015/lib/db/Enums/bank-account-status.enum.js +6 -6
  40. package/esm2015/lib/db/Enums/bank-account-type.enum.js +12 -12
  41. package/esm2015/lib/db/Enums/bank-connection-status.enum.js +7 -7
  42. package/esm2015/lib/db/Enums/bank-transaction-type.enum.js +6 -6
  43. package/esm2015/lib/db/Enums/chart-accounts-category.enum.js +18 -18
  44. package/esm2015/lib/db/Enums/chart-accounts-etp.enum.js +9 -9
  45. package/esm2015/lib/db/Enums/chart-accounts-heading-list.enum.js +5 -5
  46. package/esm2015/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.js +8 -8
  47. package/esm2015/lib/db/Enums/chart-accounts-heading-taxable.enum.js +8 -8
  48. package/esm2015/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.js +8 -8
  49. package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +22 -22
  50. package/esm2015/lib/db/Enums/chart-accounts-metadata-list.enum.js +16 -16
  51. package/esm2015/lib/db/Enums/chart-accounts-metadata-type.enum.js +6 -6
  52. package/esm2015/lib/db/Enums/chart-accounts-type.enum.js +6 -6
  53. package/esm2015/lib/db/Enums/chat-status.enum.js +6 -6
  54. package/esm2015/lib/db/Enums/client-details-medicare-exemption.enum.js +7 -7
  55. package/esm2015/lib/db/Enums/client-details-work-depreciation-calculation.enum.js +6 -6
  56. package/esm2015/lib/db/Enums/client-details-working-holiday-maker.enum.js +7 -7
  57. package/esm2015/lib/db/Enums/client-invite-status.enum.js +6 -6
  58. package/esm2015/lib/db/Enums/client-invite-type.enum.js +6 -6
  59. package/esm2015/lib/db/Enums/depreciation-calculation-percent.enum.js +9 -9
  60. package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +9 -9
  61. package/esm2015/lib/db/Enums/depreciation-type.enum.js +8 -8
  62. package/esm2015/lib/db/Enums/depreciation-write-off-amount.enum.js +6 -6
  63. package/esm2015/lib/db/Enums/firm-type.enum.js +6 -6
  64. package/esm2015/lib/db/Enums/income-source-type-list-other.enum.js +8 -8
  65. package/esm2015/lib/db/Enums/income-source-type-list-sole.enum.js +5 -5
  66. package/esm2015/lib/db/Enums/income-source-type-list-work.enum.js +11 -11
  67. package/esm2015/lib/db/Enums/income-source-type.enum.js +7 -7
  68. package/esm2015/lib/db/Enums/invite-status.enum.js +7 -7
  69. package/esm2015/lib/db/Enums/loan-bank-type.enum.js +12 -12
  70. package/esm2015/lib/db/Enums/loan-frequency.enum.js +8 -8
  71. package/esm2015/lib/db/Enums/loan-interest-type.enum.js +6 -6
  72. package/esm2015/lib/db/Enums/loan-payout-type.enum.js +6 -6
  73. package/esm2015/lib/db/Enums/loan-repayment-frequency.enum.js +7 -7
  74. package/esm2015/lib/db/Enums/loan-repayment-type.enum.js +6 -6
  75. package/esm2015/lib/db/Enums/loan-type.enum.js +14 -14
  76. package/esm2015/lib/db/Enums/loan-vehicle-type.enum.js +7 -7
  77. package/esm2015/lib/db/Enums/phone-type.enum.js +6 -6
  78. package/esm2015/lib/db/Enums/property/property-category-list.enum.js +6 -6
  79. package/esm2015/lib/db/Enums/property/property-depreciation-calculation.enum.js +6 -6
  80. package/esm2015/lib/db/Enums/property/property-sale/tax-exemption-metadata.enum.js +9 -9
  81. package/esm2015/lib/db/Enums/property/property-sale/tax-exemption.enum.js +12 -12
  82. package/esm2015/lib/db/Enums/property/property-share-access.enum.js +6 -6
  83. package/esm2015/lib/db/Enums/property/property-share-status.enum.js +7 -7
  84. package/esm2015/lib/db/Enums/registration-invite-status.enum.js +6 -6
  85. package/esm2015/lib/db/Enums/salary-forecast-frequency.enum.js +8 -8
  86. package/esm2015/lib/db/Enums/service-notification-status.enum.js +7 -7
  87. package/esm2015/lib/db/Enums/service-notification-type.enum.js +6 -6
  88. package/esm2015/lib/db/Enums/spare-document-spare-type.enum.js +6 -6
  89. package/esm2015/lib/db/Enums/subscription/service-payment-status.enum.js +6 -6
  90. package/esm2015/lib/db/Enums/subscription/service-price-recurring-interval.enum.js +8 -8
  91. package/esm2015/lib/db/Enums/subscription/service-price-type.enum.js +6 -6
  92. package/esm2015/lib/db/Enums/subscription/service-product-id.enum.js +10 -10
  93. package/esm2015/lib/db/Enums/subscription/service-product-status.enum.js +6 -6
  94. package/esm2015/lib/db/Enums/subscription/service-subscription-status.enum.js +10 -10
  95. package/esm2015/lib/db/Enums/tank-type.enum.js +8 -8
  96. package/esm2015/lib/db/Enums/tax-calculation-medicare-exemption.enum.js +6 -6
  97. package/esm2015/lib/db/Enums/tax-calculation-type.enum.js +14 -14
  98. package/esm2015/lib/db/Enums/tax-return-category-list.enum.js +42 -42
  99. package/esm2015/lib/db/Enums/tax-return-category-section.enum.js +8 -8
  100. package/esm2015/lib/db/Enums/tax-review-status.enum.js +13 -13
  101. package/esm2015/lib/db/Enums/tax-summary-list.enum.js +17 -17
  102. package/esm2015/lib/db/Enums/tax-summary-section.enum.js +8 -8
  103. package/esm2015/lib/db/Enums/tax-summary-tax-summary.enum.js +17 -17
  104. package/esm2015/lib/db/Enums/ticket-feedback.enum.js +6 -6
  105. package/esm2015/lib/db/Enums/ticket-status.enum.js +9 -9
  106. package/esm2015/lib/db/Enums/ticket-types.enum.js +5 -5
  107. package/esm2015/lib/db/Enums/transaction-operation.enum.js +7 -7
  108. package/esm2015/lib/db/Enums/transaction-source.enum.js +6 -6
  109. package/esm2015/lib/db/Enums/transaction-type.enum.js +6 -6
  110. package/esm2015/lib/db/Enums/user-event-status.enum.js +9 -9
  111. package/esm2015/lib/db/Enums/user-event-type-client-type.enum.js +29 -29
  112. package/esm2015/lib/db/Enums/user-event-type-employee-type.enum.js +17 -17
  113. package/esm2015/lib/db/Enums/user-event-type-frequency.enum.js +7 -7
  114. package/esm2015/lib/db/Enums/user-event-type-user-type.enum.js +7 -7
  115. package/esm2015/lib/db/Enums/user-medicare-exemption.enum.js +7 -7
  116. package/esm2015/lib/db/Enums/user-roles.enum.js +16 -16
  117. package/esm2015/lib/db/Enums/user-status.enum.js +7 -7
  118. package/esm2015/lib/db/Enums/user-title.enum.js +9 -9
  119. package/esm2015/lib/db/Enums/user-work-depreciation-calculation.enum.js +6 -6
  120. package/esm2015/lib/db/Enums/user-working-holiday-maker.enum.js +7 -7
  121. package/esm2015/lib/db/Enums/vehicle-claim-method.enum.js +6 -6
  122. package/esm2015/lib/db/Enums/vehicle-logbook-purpose.enum.js +6 -6
  123. package/esm2015/lib/db/Models/abstract-model.js +7 -7
  124. package/esm2015/lib/db/Models/address.js +4 -4
  125. package/esm2015/lib/db/Models/bank/bank-account-balance.js +4 -4
  126. package/esm2015/lib/db/Models/bank/bank-account-property.js +4 -4
  127. package/esm2015/lib/db/Models/bank/bank-account.js +4 -4
  128. package/esm2015/lib/db/Models/bank/bank-connection.js +4 -4
  129. package/esm2015/lib/db/Models/bank/bank-transaction-import.js +4 -4
  130. package/esm2015/lib/db/Models/bank/bank-transaction.js +4 -4
  131. package/esm2015/lib/db/Models/bank/bank.js +4 -4
  132. package/esm2015/lib/db/Models/bank/basiq-job.js +4 -4
  133. package/esm2015/lib/db/Models/bank/financial-data-system.js +4 -4
  134. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-depreciation.js +4 -4
  135. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-heading.js +4 -4
  136. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-metadata.js +4 -4
  137. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-value.js +4 -4
  138. package/esm2015/lib/db/Models/chart-accounts/chart-accounts.js +4 -4
  139. package/esm2015/lib/db/Models/country.js +4 -4
  140. package/esm2015/lib/db/Models/depreciation/depreciation-capital-project.js +4 -4
  141. package/esm2015/lib/db/Models/depreciation/depreciation-forecast.js +4 -4
  142. package/esm2015/lib/db/Models/depreciation/depreciation-receipt.js +4 -4
  143. package/esm2015/lib/db/Models/depreciation/depreciation.js +4 -4
  144. package/esm2015/lib/db/Models/document/document-folder.js +4 -4
  145. package/esm2015/lib/db/Models/document/document.js +4 -4
  146. package/esm2015/lib/db/Models/document/property-document.js +10 -10
  147. package/esm2015/lib/db/Models/firm/accountant/tax-review.js +4 -4
  148. package/esm2015/lib/db/Models/firm/accountant/ticket.js +4 -4
  149. package/esm2015/lib/db/Models/firm/chat.js +4 -4
  150. package/esm2015/lib/db/Models/firm/client-invite.js +4 -4
  151. package/esm2015/lib/db/Models/firm/client-movement.js +4 -4
  152. package/esm2015/lib/db/Models/firm/employee-invite.js +4 -4
  153. package/esm2015/lib/db/Models/firm/firm.js +4 -4
  154. package/esm2015/lib/db/Models/firm/message-document.js +4 -4
  155. package/esm2015/lib/db/Models/firm/message.js +4 -4
  156. package/esm2015/lib/db/Models/incomeSource/income-source-forecast.js +4 -4
  157. package/esm2015/lib/db/Models/incomeSource/income-source-type.js +4 -4
  158. package/esm2015/lib/db/Models/incomeSource/income-source.js +4 -4
  159. package/esm2015/lib/db/Models/incomeSource/salary-forecast.js +4 -4
  160. package/esm2015/lib/db/Models/loan/borrowing-expense-loan.js +4 -4
  161. package/esm2015/lib/db/Models/loan/borrowing-expense.js +4 -4
  162. package/esm2015/lib/db/Models/loan/loan-payout.js +4 -4
  163. package/esm2015/lib/db/Models/loan/loan.js +4 -4
  164. package/esm2015/lib/db/Models/phone.js +4 -4
  165. package/esm2015/lib/db/Models/property/property-category-movement.js +4 -4
  166. package/esm2015/lib/db/Models/property/property-category.js +4 -4
  167. package/esm2015/lib/db/Models/property/property-forecast.js +4 -4
  168. package/esm2015/lib/db/Models/property/property-sale/property-sale-tax-exemption-metadata.js +4 -4
  169. package/esm2015/lib/db/Models/property/property-sale/property-sale.js +4 -4
  170. package/esm2015/lib/db/Models/property/property-sale/tax-exemption-metadata.js +4 -4
  171. package/esm2015/lib/db/Models/property/property-sale/tax-exemption.js +4 -4
  172. package/esm2015/lib/db/Models/property/property-share.js +4 -4
  173. package/esm2015/lib/db/Models/property/property-subscription.js +4 -4
  174. package/esm2015/lib/db/Models/property/property-valuation.js +4 -4
  175. package/esm2015/lib/db/Models/property/property.js +4 -4
  176. package/esm2015/lib/db/Models/service-notification.js +4 -4
  177. package/esm2015/lib/db/Models/sole/sole-forecast.js +4 -4
  178. package/esm2015/lib/db/Models/subscription/service-payment.js +4 -4
  179. package/esm2015/lib/db/Models/subscription/service-price.js +4 -4
  180. package/esm2015/lib/db/Models/subscription/service-product.js +4 -4
  181. package/esm2015/lib/db/Models/subscription/service-subscription-item.js +4 -4
  182. package/esm2015/lib/db/Models/subscription/service-subscription.js +4 -4
  183. package/esm2015/lib/db/Models/tax-return/tax-return-category.js +4 -4
  184. package/esm2015/lib/db/Models/tax-return/tax-return-item.js +4 -4
  185. package/esm2015/lib/db/Models/tax-return/tax-return.js +4 -4
  186. package/esm2015/lib/db/Models/transaction/transaction-allocation.js +4 -4
  187. package/esm2015/lib/db/Models/transaction/transaction-base.js +35 -35
  188. package/esm2015/lib/db/Models/transaction/transaction-metadata.js +4 -4
  189. package/esm2015/lib/db/Models/transaction/transaction-receipt.js +4 -4
  190. package/esm2015/lib/db/Models/transaction/transaction.js +4 -4
  191. package/esm2015/lib/db/Models/user/client-details.js +4 -4
  192. package/esm2015/lib/db/Models/user/client-income-types.js +4 -4
  193. package/esm2015/lib/db/Models/user/employee-details.js +4 -4
  194. package/esm2015/lib/db/Models/user/occupation.js +4 -4
  195. package/esm2015/lib/db/Models/user/registration-invite.js +4 -4
  196. package/esm2015/lib/db/Models/user/user-event-setting.js +4 -4
  197. package/esm2015/lib/db/Models/user/user-event-type-category.js +4 -4
  198. package/esm2015/lib/db/Models/user/user-event-type.js +4 -4
  199. package/esm2015/lib/db/Models/user/user-event.js +4 -4
  200. package/esm2015/lib/db/Models/user/user.js +4 -4
  201. package/esm2015/lib/db/Models/vehicle/vehicle-claim.js +4 -4
  202. package/esm2015/lib/db/Models/vehicle/vehicle-logbook.js +4 -4
  203. package/esm2015/lib/db/Models/vehicle/vehicle.js +4 -4
  204. package/esm2015/lib/forms/abstract.form.js +11 -11
  205. package/esm2015/lib/forms/client/client-income-types.form.js +22 -22
  206. package/esm2015/lib/forms/index.js +10 -10
  207. package/esm2015/lib/forms/login/login.form.js +11 -11
  208. package/esm2015/lib/forms/register/register-client.form.js +29 -29
  209. package/esm2015/lib/forms/register/register-firm.form.js +26 -26
  210. package/esm2015/lib/forms/user/password.form.js +13 -13
  211. package/esm2015/lib/forms/user/reset-password.form.js +10 -10
  212. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +114 -114
  213. package/esm2015/lib/forms/vehicle/vehicle.form.js +20 -20
  214. package/esm2015/lib/functions/array/index.js +3 -3
  215. package/esm2015/lib/functions/array/replace.js +5 -5
  216. package/esm2015/lib/functions/array/sort-deep.js +21 -21
  217. package/esm2015/lib/functions/array/sort.js +12 -12
  218. package/esm2015/lib/functions/clone-deep.js +5 -5
  219. package/esm2015/lib/functions/create-date.js +8 -8
  220. package/esm2015/lib/functions/enum-to-list.js +12 -12
  221. package/esm2015/lib/functions/get-doc-icon.js +18 -18
  222. package/esm2015/lib/functions/mat-options-functions.js +9 -9
  223. package/esm2015/lib/functions/mat-sort-options.js +10 -10
  224. package/esm2015/lib/functions/round-to.js +10 -10
  225. package/esm2015/lib/functions/tax-review-filter-predicate.js +10 -10
  226. package/esm2015/lib/interceptors/corelogic-interceptor.js +43 -43
  227. package/esm2015/lib/interceptors/financial-year-interceptor.js +29 -29
  228. package/esm2015/lib/interceptors/interceptors.module.js +73 -73
  229. package/esm2015/lib/interceptors/jwt-interceptor.js +137 -137
  230. package/esm2015/lib/interceptors/preloader.interceptor.js +32 -32
  231. package/esm2015/lib/interceptors/user-switcher-interceptor.js +42 -42
  232. package/esm2015/lib/interfaces/asset-entity-type.enum.js +12 -12
  233. package/esm2015/lib/interfaces/asset-type.enum.js +10 -10
  234. package/esm2015/lib/interfaces/asset.interface.js +2 -2
  235. package/esm2015/lib/interfaces/chart-data.interface.js +1 -1
  236. package/esm2015/lib/interfaces/chart-serie.interface.js +1 -1
  237. package/esm2015/lib/interfaces/document.interface.js +2 -2
  238. package/esm2015/lib/interfaces/documentable.interface.js +2 -2
  239. package/esm2015/lib/interfaces/event-listener.interface.js +1 -1
  240. package/esm2015/lib/interfaces/expense.interface.js +2 -2
  241. package/esm2015/lib/interfaces/income-source-forecast.interface.js +2 -2
  242. package/esm2015/lib/interfaces/option.interface.js +1 -1
  243. package/esm2015/lib/interfaces/photoable.js +1 -1
  244. package/esm2015/lib/interfaces/receipt.interface.js +2 -2
  245. package/esm2015/lib/interfaces/table-exportable.interface.js +2 -2
  246. package/esm2015/lib/interfaces/tank.interface.js +2 -2
  247. package/esm2015/lib/interfaces/updatable.interface.js +2 -2
  248. package/esm2015/lib/models/account-setup/account-setup-item.js +9 -9
  249. package/esm2015/lib/models/account-setup/account-setup-items.const.js +55 -55
  250. package/esm2015/lib/models/account-setup/account-setup-items.enum.js +14 -14
  251. package/esm2015/lib/models/address/address.js +23 -23
  252. package/esm2015/lib/models/address/country.js +15 -15
  253. package/esm2015/lib/models/bank/bank-account-chart-data.js +34 -34
  254. package/esm2015/lib/models/bank/bank-account-property.js +10 -10
  255. package/esm2015/lib/models/bank/bank-account-types.const.js +15 -15
  256. package/esm2015/lib/models/bank/bank-account.js +122 -122
  257. package/esm2015/lib/models/bank/bank-connection.js +21 -21
  258. package/esm2015/lib/models/bank/bank-transaction-chart-data.js +106 -106
  259. package/esm2015/lib/models/bank/bank-transaction-summary-fields.enum.js +6 -6
  260. package/esm2015/lib/models/bank/bank-transaction.js +67 -67
  261. package/esm2015/lib/models/bank/bank.js +13 -13
  262. package/esm2015/lib/models/bank/basiq-config.js +12 -12
  263. package/esm2015/lib/models/bank/basiq-job.js +4 -4
  264. package/esm2015/lib/models/bank/basiq-token.js +13 -13
  265. package/esm2015/lib/models/bank/type-loan.const.js +7 -7
  266. package/esm2015/lib/models/borrowing-expense/borrowing-expense-loan.js +4 -4
  267. package/esm2015/lib/models/borrowing-expense/borrowing-expense.js +4 -4
  268. package/esm2015/lib/models/chart/chart-data.js +12 -12
  269. package/esm2015/lib/models/chart/chart-serie.js +6 -6
  270. package/esm2015/lib/models/chart-accounts/chart-accounts-categories.const.js +105 -105
  271. package/esm2015/lib/models/chart-accounts/chart-accounts-depreciation.js +16 -16
  272. package/esm2015/lib/models/chart-accounts/chart-accounts-heading.js +3 -3
  273. package/esm2015/lib/models/chart-accounts/chart-accounts-metadata.js +13 -13
  274. package/esm2015/lib/models/chart-accounts/chart-accounts-tax-labels.enum.js +6 -6
  275. package/esm2015/lib/models/chart-accounts/chart-accounts-value.js +4 -4
  276. package/esm2015/lib/models/chart-accounts/chart-accounts.js +156 -156
  277. package/esm2015/lib/models/chat/chat-view-type.enum.js +6 -6
  278. package/esm2015/lib/models/chat/chat.js +22 -22
  279. package/esm2015/lib/models/chat/message-document.js +19 -19
  280. package/esm2015/lib/models/chat/message.js +38 -38
  281. package/esm2015/lib/models/client/client-details.js +4 -4
  282. package/esm2015/lib/models/client/client-income-types.js +10 -10
  283. package/esm2015/lib/models/client/client-invite.js +66 -66
  284. package/esm2015/lib/models/client/client-movement.js +26 -26
  285. package/esm2015/lib/models/client/client-portfolio-chart-data.js +57 -57
  286. package/esm2015/lib/models/client/client-portfolio-report.js +6 -6
  287. package/esm2015/lib/models/color/alphabet-colors.enum.js +29 -29
  288. package/esm2015/lib/models/depreciation/depreciation-capital-project.js +9 -9
  289. package/esm2015/lib/models/depreciation/depreciation-forecast.js +34 -34
  290. package/esm2015/lib/models/depreciation/depreciation-group-item.js +14 -14
  291. package/esm2015/lib/models/depreciation/depreciation-group.enum.js +9 -9
  292. package/esm2015/lib/models/depreciation/depreciation-group.js +15 -15
  293. package/esm2015/lib/models/depreciation/depreciation-groups.const.js +29 -29
  294. package/esm2015/lib/models/depreciation/depreciation-receipt.js +11 -11
  295. package/esm2015/lib/models/depreciation/depreciation.js +156 -156
  296. package/esm2015/lib/models/document/document-api-url-prefix.enum.js +9 -9
  297. package/esm2015/lib/models/document/document-file-types.const.js +23 -23
  298. package/esm2015/lib/models/document/document-folder.js +10 -10
  299. package/esm2015/lib/models/document/document.js +24 -24
  300. package/esm2015/lib/models/employee/employee-details.js +10 -10
  301. package/esm2015/lib/models/employee/employee-invite.js +13 -13
  302. package/esm2015/lib/models/endpoint/endpoint.js +22 -22
  303. package/esm2015/lib/models/endpoint/endpoints.const.js +143 -143
  304. package/esm2015/lib/models/event/app-event-type.enum.js +47 -47
  305. package/esm2015/lib/models/event/app-event.js +10 -10
  306. package/esm2015/lib/models/export/export-cell-type.enum.js +10 -10
  307. package/esm2015/lib/models/export/export-cell.js +6 -6
  308. package/esm2015/lib/models/export/export-data-table.js +3 -3
  309. package/esm2015/lib/models/export/export-format.enum.js +6 -6
  310. package/esm2015/lib/models/export/export-row-data-type.enum.js +10 -10
  311. package/esm2015/lib/models/export/export-row.js +6 -6
  312. package/esm2015/lib/models/file/icons-file.enum.js +7 -7
  313. package/esm2015/lib/models/financial-year/financial-year.js +43 -43
  314. package/esm2015/lib/models/financial-year/month-name-short.enum.js +20 -20
  315. package/esm2015/lib/models/financial-year/month-number.enum.js +20 -20
  316. package/esm2015/lib/models/financial-year/months.const.js +2 -2
  317. package/esm2015/lib/models/firm/firm.js +29 -29
  318. package/esm2015/lib/models/income-position/income-position.js +9 -9
  319. package/esm2015/lib/models/income-source/income-source-chart-data.js +45 -45
  320. package/esm2015/lib/models/income-source/income-source-forecast.js +31 -31
  321. package/esm2015/lib/models/income-source/income-source-type.js +30 -30
  322. package/esm2015/lib/models/income-source/income-source.js +59 -59
  323. package/esm2015/lib/models/income-source/salary-forecast.js +14 -14
  324. package/esm2015/lib/models/income-source/sole-forecast.js +14 -14
  325. package/esm2015/lib/models/loan/loan-max-number-of-payments.enum.js +10 -10
  326. package/esm2015/lib/models/loan/loan-payment.js +12 -12
  327. package/esm2015/lib/models/loan/loan-payout.js +11 -11
  328. package/esm2015/lib/models/loan/loan.js +39 -39
  329. package/esm2015/lib/models/logbook/default-vehicle-expense.js +20 -20
  330. package/esm2015/lib/models/logbook/logbook-period.js +18 -18
  331. package/esm2015/lib/models/logbook/logbook-purpose-options.const.js +6 -6
  332. package/esm2015/lib/models/logbook/vehicle-claim.js +91 -91
  333. package/esm2015/lib/models/logbook/vehicle-logbook.js +22 -22
  334. package/esm2015/lib/models/logbook/vehicle.js +17 -17
  335. package/esm2015/lib/models/notification/notification.js +39 -39
  336. package/esm2015/lib/models/pdf/pdf-config.js +43 -43
  337. package/esm2015/lib/models/pdf/pdf-orientation.enum.js +6 -6
  338. package/esm2015/lib/models/pdf/pdf-settings.js +10 -10
  339. package/esm2015/lib/models/phone/phone.js +11 -11
  340. package/esm2015/lib/models/property/calculation-form-item.js +17 -17
  341. package/esm2015/lib/models/property/calculation-form-type.enum.js +9 -9
  342. package/esm2015/lib/models/property/capital-costs-itmes.const.js +57 -57
  343. package/esm2015/lib/models/property/corelogic-suggestion.js +6 -6
  344. package/esm2015/lib/models/property/property-category-movement.js +20 -20
  345. package/esm2015/lib/models/property/property-category.js +11 -11
  346. package/esm2015/lib/models/property/property-document.js +17 -17
  347. package/esm2015/lib/models/property/property-equity-chart-data.js +155 -155
  348. package/esm2015/lib/models/property/property-equity-chart-item.js +24 -24
  349. package/esm2015/lib/models/property/property-equity-chart-type.enum.js +6 -6
  350. package/esm2015/lib/models/property/property-forecast.js +52 -52
  351. package/esm2015/lib/models/property/property-sale/property-sale-tax-exemption-metadata.js +4 -4
  352. package/esm2015/lib/models/property/property-sale/property-sale.js +28 -28
  353. package/esm2015/lib/models/property/property-sale/tax-exemption-metadata.js +4 -4
  354. package/esm2015/lib/models/property/property-sale/tax-exemption.js +4 -4
  355. package/esm2015/lib/models/property/property-share.js +48 -48
  356. package/esm2015/lib/models/property/property-subscription.js +13 -13
  357. package/esm2015/lib/models/property/property-valuation.js +23 -23
  358. package/esm2015/lib/models/property/property.js +221 -218
  359. package/esm2015/lib/models/property/share-filter-options.enum.js +11 -11
  360. package/esm2015/lib/models/registration-invite/registration-invite.js +10 -10
  361. package/esm2015/lib/models/report/depreciation/depreciation-lvp-asset-type.enum.js +10 -10
  362. package/esm2015/lib/models/report/depreciation/depreciation-lvp-report-item.js +21 -21
  363. package/esm2015/lib/models/report/depreciation/depreciation-report-item.js +25 -25
  364. package/esm2015/lib/models/report/property/property-report-item-depreciation.js +19 -19
  365. package/esm2015/lib/models/report/property/property-report-item-transaction.js +12 -12
  366. package/esm2015/lib/models/report/property/property-report-item.js +27 -27
  367. package/esm2015/lib/models/report/vehicle-expense/vehicle-expense.js +14 -14
  368. package/esm2015/lib/models/service-subscription/module-url-list.const.js +12 -12
  369. package/esm2015/lib/models/service-subscription/service-payment.js +10 -10
  370. package/esm2015/lib/models/service-subscription/service-price.js +14 -14
  371. package/esm2015/lib/models/service-subscription/service-product.js +18 -18
  372. package/esm2015/lib/models/service-subscription/service-subscription-item.js +22 -22
  373. package/esm2015/lib/models/service-subscription/service-subscription.js +145 -145
  374. package/esm2015/lib/models/service-subscription/subscription-description.const.js +7 -7
  375. package/esm2015/lib/models/service-subscription/subscription-title.const.js +7 -7
  376. package/esm2015/lib/models/service-subscription/subscription-type.enum.js +7 -7
  377. package/esm2015/lib/models/tax-review/tax-review.js +86 -86
  378. package/esm2015/lib/models/tax-summary/report-item-details.js +9 -9
  379. package/esm2015/lib/models/tax-summary/report-item.js +22 -22
  380. package/esm2015/lib/models/tax-summary/tax-summary-section.js +30 -30
  381. package/esm2015/lib/models/tax-summary/tax-summary-type.enum.js +9 -9
  382. package/esm2015/lib/models/tax-summary/tax-summary.js +90 -90
  383. package/esm2015/lib/models/toast/toast-type.enum.js +8 -8
  384. package/esm2015/lib/models/toast/toast.js +10 -10
  385. package/esm2015/lib/models/transaction/income-amount-type.enum.js +9 -9
  386. package/esm2015/lib/models/transaction/transaction-allocation.js +21 -21
  387. package/esm2015/lib/models/transaction/transaction-category.enum.js +8 -8
  388. package/esm2015/lib/models/transaction/transaction-metadata.js +10 -10
  389. package/esm2015/lib/models/transaction/transaction-receipt.js +11 -11
  390. package/esm2015/lib/models/transaction/transaction.js +222 -222
  391. package/esm2015/lib/models/user/my-account-history-initiated-by.enum.js +6 -6
  392. package/esm2015/lib/models/user/my-account-history-status.enum.js +6 -6
  393. package/esm2015/lib/models/user/my-account-history-type.enum.js +7 -7
  394. package/esm2015/lib/models/user/my-account-history.js +3 -3
  395. package/esm2015/lib/models/user/occupation.js +4 -4
  396. package/esm2015/lib/models/user/user-roles.const.js +14 -14
  397. package/esm2015/lib/models/user/user-to-register.js +6 -6
  398. package/esm2015/lib/models/user/user-work-position.const.js +6 -6
  399. package/esm2015/lib/models/user/user.js +138 -138
  400. package/esm2015/lib/models/user-event/user-event-setting-field.enum.js +10 -10
  401. package/esm2015/lib/models/user-event/user-event-setting.js +18 -18
  402. package/esm2015/lib/models/user-event/user-event-type-category.js +4 -4
  403. package/esm2015/lib/models/user-event/user-event-type.js +19 -19
  404. package/esm2015/lib/services/account-setup/account-setup.service.js +154 -154
  405. package/esm2015/lib/services/asset/assets.service.js +51 -51
  406. package/esm2015/lib/services/auth/auth.service.js +46 -46
  407. package/esm2015/lib/services/auth/jwt.service.js +36 -36
  408. package/esm2015/lib/services/bank/bank-account-calculation.service.js +30 -30
  409. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +65 -65
  410. package/esm2015/lib/services/event/event-dispatcher.service.js +30 -30
  411. package/esm2015/lib/services/event/sse.service.js +46 -46
  412. package/esm2015/lib/services/export/export-formatter.service.js +31 -31
  413. package/esm2015/lib/services/header-title/header-title.service.js +28 -28
  414. package/esm2015/lib/services/http/address/address.service.js +39 -39
  415. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +109 -109
  416. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +43 -43
  417. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +80 -80
  418. package/esm2015/lib/services/http/bank/bank.service.js +24 -24
  419. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +86 -86
  420. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +38 -38
  421. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +89 -89
  422. package/esm2015/lib/services/http/chat/chat.service.js +73 -73
  423. package/esm2015/lib/services/http/chat/message/message.service.js +61 -61
  424. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +118 -118
  425. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +62 -62
  426. package/esm2015/lib/services/http/depreciation/depreciation.service.js +129 -129
  427. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +76 -76
  428. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +52 -52
  429. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +102 -102
  430. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +89 -89
  431. package/esm2015/lib/services/http/firm/employee/employee.service.js +39 -39
  432. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +53 -53
  433. package/esm2015/lib/services/http/firm/firm.service.js +79 -79
  434. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +37 -37
  435. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +81 -81
  436. package/esm2015/lib/services/http/income-source/income-source.service.js +101 -101
  437. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +81 -81
  438. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +78 -78
  439. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +73 -73
  440. package/esm2015/lib/services/http/loan/loan.service.js +136 -136
  441. package/esm2015/lib/services/http/property/property-category/property-category.service.js +23 -23
  442. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +47 -47
  443. package/esm2015/lib/services/http/property/property-document/property-document.service.js +61 -61
  444. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +20 -20
  445. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +21 -21
  446. package/esm2015/lib/services/http/property/property-share/property-share.service.js +106 -106
  447. package/esm2015/lib/services/http/property/property.service.js +110 -110
  448. package/esm2015/lib/services/http/rest/rest.service.js +218 -218
  449. package/esm2015/lib/services/http/service-notification/service-notification.service.js +61 -61
  450. package/esm2015/lib/services/http/subscription/service-price.service.js +24 -24
  451. package/esm2015/lib/services/http/subscription/subscription.service.js +111 -111
  452. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +40 -40
  453. package/esm2015/lib/services/http/tax-review/tax-review.service.js +94 -94
  454. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +71 -71
  455. package/esm2015/lib/services/http/transaction/messages.enum.js +7 -7
  456. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +82 -82
  457. package/esm2015/lib/services/http/transaction/transaction.service.js +323 -323
  458. package/esm2015/lib/services/http/user/occupation/occupation.service.js +45 -45
  459. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +51 -51
  460. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +21 -21
  461. package/esm2015/lib/services/http/user/user.service.js +163 -157
  462. package/esm2015/lib/services/http/vehicle/messages.enum.js +13 -13
  463. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +24 -24
  464. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +59 -59
  465. package/esm2015/lib/services/http/vehicle/vehicle.service.js +73 -73
  466. package/esm2015/lib/services/intercom/intercom.service.js +41 -41
  467. package/esm2015/lib/services/kompassify/kompassify.service.js +30 -30
  468. package/esm2015/lib/services/pdf/pdf.service.js +99 -99
  469. package/esm2015/lib/services/preloader/preloader.service.js +30 -30
  470. package/esm2015/lib/services/property/corelogic/corelogic.service.js +46 -46
  471. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +45 -45
  472. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +121 -121
  473. package/esm2015/lib/services/report/property/property-transaction-report.service.js +76 -76
  474. package/esm2015/lib/services/toast/toast.service.js +57 -57
  475. package/esm2015/lib/services/transaction/transaction-calculation.service.js +47 -47
  476. package/esm2015/lib/services/user/user-switcher.service.js +37 -37
  477. package/esm2015/lib/services/xlsx/xlsx.service.js +47 -47
  478. package/esm2015/lib/tt-core.module.js +36 -36
  479. package/esm2015/lib/validators/at-least-one.validator.js +11 -11
  480. package/esm2015/lib/validators/index.js +4 -2
  481. package/esm2015/lib/validators/password-match.validator.js +17 -17
  482. package/esm2015/lib/validators/password.validator.js +7 -7
  483. package/esm2015/public-api.js +395 -394
  484. package/esm2015/taxtank-core.js +4 -4
  485. package/fesm2015/taxtank-core.js +11058 -11049
  486. package/fesm2015/taxtank-core.js.map +1 -1
  487. package/lib/collections/account-setup-item.collection.d.ts +6 -6
  488. package/lib/collections/bank-account.collection.d.ts +67 -67
  489. package/lib/collections/bank-transaction.collection.d.ts +72 -72
  490. package/lib/collections/client-movement.collection.d.ts +17 -17
  491. package/lib/collections/client-portfolio-report.collection.d.ts +26 -26
  492. package/lib/collections/client.collection.d.ts +4 -4
  493. package/lib/collections/collection-dictionary.d.ts +52 -52
  494. package/lib/collections/collection.d.ts +49 -49
  495. package/lib/collections/depreciation-forecast.collection.d.ts +11 -11
  496. package/lib/collections/depreciation.collection.d.ts +37 -37
  497. package/lib/collections/employee.collection.d.ts +6 -6
  498. package/lib/collections/exportable.collection.d.ts +9 -9
  499. package/lib/collections/income-source.collection.d.ts +21 -21
  500. package/lib/collections/loan/loan-payment.collection.d.ts +7 -7
  501. package/lib/collections/loan/loan.collection.d.ts +14 -14
  502. package/lib/collections/message-document.collection.d.ts +11 -11
  503. package/lib/collections/message.collection.d.ts +14 -14
  504. package/lib/collections/property/property-sale/property-sale-tax-exemption-metadata.collection.d.ts +8 -8
  505. package/lib/collections/property/property.collection.d.ts +35 -35
  506. package/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.d.ts +8 -8
  507. package/lib/collections/report/depreciation/depreciation-report-item.collection.d.ts +8 -8
  508. package/lib/collections/report/property/property-report-item-depreciation.collection.d.ts +12 -12
  509. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +12 -12
  510. package/lib/collections/report/property/property-report-item.collection.d.ts +9 -9
  511. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +9 -9
  512. package/lib/collections/subscription/service-subscription.collection.d.ts +8 -8
  513. package/lib/collections/tax-review.collection.d.ts +35 -35
  514. package/lib/collections/tax-summary/report-item.collection.d.ts +34 -34
  515. package/lib/collections/tax-summary/tax-return-categories.const.d.ts +6 -6
  516. package/lib/collections/transaction/transaction-allocation.collection.d.ts +23 -23
  517. package/lib/collections/transaction/transaction.collection.d.ts +84 -84
  518. package/lib/collections/user-event-setting.collection.d.ts +8 -8
  519. package/lib/collections/vehicle-logbook.collection.d.ts +30 -30
  520. package/lib/collections/vehicle.collection.d.ts +6 -6
  521. package/lib/db/Enums/address-type.enum.d.ts +4 -4
  522. package/lib/db/Enums/bank-account-status.enum.d.ts +4 -4
  523. package/lib/db/Enums/bank-account-type.enum.d.ts +10 -10
  524. package/lib/db/Enums/bank-connection-status.enum.d.ts +5 -5
  525. package/lib/db/Enums/bank-transaction-type.enum.d.ts +4 -4
  526. package/lib/db/Enums/chart-accounts-category.enum.d.ts +16 -16
  527. package/lib/db/Enums/chart-accounts-etp.enum.d.ts +7 -7
  528. package/lib/db/Enums/chart-accounts-heading-list.enum.d.ts +3 -3
  529. package/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.d.ts +6 -6
  530. package/lib/db/Enums/chart-accounts-heading-taxable.enum.d.ts +6 -6
  531. package/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.d.ts +6 -6
  532. package/lib/db/Enums/chart-accounts-list.enum.d.ts +20 -20
  533. package/lib/db/Enums/chart-accounts-metadata-list.enum.d.ts +14 -14
  534. package/lib/db/Enums/chart-accounts-metadata-type.enum.d.ts +4 -4
  535. package/lib/db/Enums/chart-accounts-type.enum.d.ts +4 -4
  536. package/lib/db/Enums/chat-status.enum.d.ts +4 -4
  537. package/lib/db/Enums/client-details-medicare-exemption.enum.d.ts +5 -5
  538. package/lib/db/Enums/client-details-work-depreciation-calculation.enum.d.ts +4 -4
  539. package/lib/db/Enums/client-details-working-holiday-maker.enum.d.ts +5 -5
  540. package/lib/db/Enums/client-invite-status.enum.d.ts +4 -4
  541. package/lib/db/Enums/client-invite-type.enum.d.ts +4 -4
  542. package/lib/db/Enums/depreciation-calculation-percent.enum.d.ts +7 -7
  543. package/lib/db/Enums/depreciation-calculation.enum.d.ts +7 -7
  544. package/lib/db/Enums/depreciation-type.enum.d.ts +6 -6
  545. package/lib/db/Enums/depreciation-write-off-amount.enum.d.ts +4 -4
  546. package/lib/db/Enums/firm-type.enum.d.ts +4 -4
  547. package/lib/db/Enums/income-source-type-list-other.enum.d.ts +6 -6
  548. package/lib/db/Enums/income-source-type-list-sole.enum.d.ts +3 -3
  549. package/lib/db/Enums/income-source-type-list-work.enum.d.ts +9 -9
  550. package/lib/db/Enums/income-source-type.enum.d.ts +5 -5
  551. package/lib/db/Enums/invite-status.enum.d.ts +5 -5
  552. package/lib/db/Enums/loan-bank-type.enum.d.ts +10 -10
  553. package/lib/db/Enums/loan-frequency.enum.d.ts +6 -6
  554. package/lib/db/Enums/loan-interest-type.enum.d.ts +4 -4
  555. package/lib/db/Enums/loan-payout-type.enum.d.ts +4 -4
  556. package/lib/db/Enums/loan-repayment-frequency.enum.d.ts +5 -5
  557. package/lib/db/Enums/loan-repayment-type.enum.d.ts +4 -4
  558. package/lib/db/Enums/loan-type.enum.d.ts +12 -12
  559. package/lib/db/Enums/loan-vehicle-type.enum.d.ts +5 -5
  560. package/lib/db/Enums/phone-type.enum.d.ts +4 -4
  561. package/lib/db/Enums/property/property-category-list.enum.d.ts +4 -4
  562. package/lib/db/Enums/property/property-depreciation-calculation.enum.d.ts +4 -4
  563. package/lib/db/Enums/property/property-sale/tax-exemption-metadata.enum.d.ts +5 -5
  564. package/lib/db/Enums/property/property-sale/tax-exemption.enum.d.ts +9 -9
  565. package/lib/db/Enums/property/property-share-access.enum.d.ts +4 -4
  566. package/lib/db/Enums/property/property-share-status.enum.d.ts +5 -5
  567. package/lib/db/Enums/registration-invite-status.enum.d.ts +4 -4
  568. package/lib/db/Enums/salary-forecast-frequency.enum.d.ts +6 -6
  569. package/lib/db/Enums/service-notification-status.enum.d.ts +5 -5
  570. package/lib/db/Enums/service-notification-type.enum.d.ts +4 -4
  571. package/lib/db/Enums/spare-document-spare-type.enum.d.ts +4 -4
  572. package/lib/db/Enums/subscription/service-payment-status.enum.d.ts +4 -4
  573. package/lib/db/Enums/subscription/service-price-recurring-interval.enum.d.ts +6 -6
  574. package/lib/db/Enums/subscription/service-price-type.enum.d.ts +4 -4
  575. package/lib/db/Enums/subscription/service-product-id.enum.d.ts +8 -8
  576. package/lib/db/Enums/subscription/service-product-status.enum.d.ts +4 -4
  577. package/lib/db/Enums/subscription/service-subscription-status.enum.d.ts +8 -8
  578. package/lib/db/Enums/tank-type.enum.d.ts +6 -6
  579. package/lib/db/Enums/tax-calculation-medicare-exemption.enum.d.ts +4 -4
  580. package/lib/db/Enums/tax-calculation-type.enum.d.ts +12 -12
  581. package/lib/db/Enums/tax-return-category-list.enum.d.ts +40 -40
  582. package/lib/db/Enums/tax-return-category-section.enum.d.ts +6 -6
  583. package/lib/db/Enums/tax-review-status.enum.d.ts +11 -11
  584. package/lib/db/Enums/tax-summary-list.enum.d.ts +15 -15
  585. package/lib/db/Enums/tax-summary-section.enum.d.ts +6 -6
  586. package/lib/db/Enums/tax-summary-tax-summary.enum.d.ts +15 -15
  587. package/lib/db/Enums/ticket-feedback.enum.d.ts +4 -4
  588. package/lib/db/Enums/ticket-status.enum.d.ts +7 -7
  589. package/lib/db/Enums/ticket-types.enum.d.ts +3 -3
  590. package/lib/db/Enums/transaction-operation.enum.d.ts +5 -5
  591. package/lib/db/Enums/transaction-source.enum.d.ts +4 -4
  592. package/lib/db/Enums/transaction-type.enum.d.ts +4 -4
  593. package/lib/db/Enums/user-event-status.enum.d.ts +7 -7
  594. package/lib/db/Enums/user-event-type-client-type.enum.d.ts +27 -27
  595. package/lib/db/Enums/user-event-type-employee-type.enum.d.ts +15 -15
  596. package/lib/db/Enums/user-event-type-frequency.enum.d.ts +5 -5
  597. package/lib/db/Enums/user-event-type-user-type.enum.d.ts +5 -5
  598. package/lib/db/Enums/user-medicare-exemption.enum.d.ts +5 -5
  599. package/lib/db/Enums/user-roles.enum.d.ts +14 -14
  600. package/lib/db/Enums/user-status.enum.d.ts +5 -5
  601. package/lib/db/Enums/user-title.enum.d.ts +7 -7
  602. package/lib/db/Enums/user-work-depreciation-calculation.enum.d.ts +4 -4
  603. package/lib/db/Enums/user-working-holiday-maker.enum.d.ts +5 -5
  604. package/lib/db/Enums/vehicle-claim-method.enum.d.ts +4 -4
  605. package/lib/db/Enums/vehicle-logbook-purpose.enum.d.ts +4 -4
  606. package/lib/db/Models/abstract-model.d.ts +3 -3
  607. package/lib/db/Models/address.d.ts +20 -20
  608. package/lib/db/Models/bank/bank-account-balance.d.ts +13 -13
  609. package/lib/db/Models/bank/bank-account-property.d.ts +9 -9
  610. package/lib/db/Models/bank/bank-account.d.ts +34 -34
  611. package/lib/db/Models/bank/bank-connection.d.ts +15 -15
  612. package/lib/db/Models/bank/bank-transaction-import.d.ts +12 -12
  613. package/lib/db/Models/bank/bank-transaction.d.ts +17 -17
  614. package/lib/db/Models/bank/bank.d.ts +12 -12
  615. package/lib/db/Models/bank/basiq-job.d.ts +9 -9
  616. package/lib/db/Models/bank/financial-data-system.d.ts +10 -10
  617. package/lib/db/Models/chart-accounts/chart-accounts-depreciation.d.ts +11 -11
  618. package/lib/db/Models/chart-accounts/chart-accounts-heading.d.ts +7 -7
  619. package/lib/db/Models/chart-accounts/chart-accounts-metadata.d.ts +12 -12
  620. package/lib/db/Models/chart-accounts/chart-accounts-value.d.ts +13 -13
  621. package/lib/db/Models/chart-accounts/chart-accounts.d.ts +24 -24
  622. package/lib/db/Models/country.d.ts +6 -6
  623. package/lib/db/Models/depreciation/depreciation-capital-project.d.ts +14 -14
  624. package/lib/db/Models/depreciation/depreciation-forecast.d.ts +18 -18
  625. package/lib/db/Models/depreciation/depreciation-receipt.d.ts +12 -12
  626. package/lib/db/Models/depreciation/depreciation.d.ts +42 -42
  627. package/lib/db/Models/document/document-folder.d.ts +10 -10
  628. package/lib/db/Models/document/document.d.ts +12 -12
  629. package/lib/db/Models/document/property-document.d.ts +18 -18
  630. package/lib/db/Models/firm/accountant/tax-review.d.ts +14 -14
  631. package/lib/db/Models/firm/accountant/ticket.d.ts +20 -20
  632. package/lib/db/Models/firm/chat.d.ts +18 -18
  633. package/lib/db/Models/firm/client-invite.d.ts +17 -17
  634. package/lib/db/Models/firm/client-movement.d.ts +13 -13
  635. package/lib/db/Models/firm/employee-invite.d.ts +10 -10
  636. package/lib/db/Models/firm/firm.d.ts +29 -29
  637. package/lib/db/Models/firm/message-document.d.ts +16 -16
  638. package/lib/db/Models/firm/message.d.ts +16 -16
  639. package/lib/db/Models/incomeSource/income-source-forecast.d.ts +13 -13
  640. package/lib/db/Models/incomeSource/income-source-type.d.ts +9 -9
  641. package/lib/db/Models/incomeSource/income-source.d.ts +23 -23
  642. package/lib/db/Models/incomeSource/salary-forecast.d.ts +16 -16
  643. package/lib/db/Models/loan/borrowing-expense-loan.d.ts +15 -15
  644. package/lib/db/Models/loan/borrowing-expense.d.ts +8 -8
  645. package/lib/db/Models/loan/loan-payout.d.ts +13 -13
  646. package/lib/db/Models/loan/loan.d.ts +34 -34
  647. package/lib/db/Models/phone.d.ts +13 -13
  648. package/lib/db/Models/property/property-category-movement.d.ts +18 -18
  649. package/lib/db/Models/property/property-category.d.ts +14 -14
  650. package/lib/db/Models/property/property-forecast.d.ts +15 -15
  651. package/lib/db/Models/property/property-sale/property-sale-tax-exemption-metadata.d.ts +9 -9
  652. package/lib/db/Models/property/property-sale/property-sale.d.ts +24 -24
  653. package/lib/db/Models/property/property-sale/tax-exemption-metadata.d.ts +7 -7
  654. package/lib/db/Models/property/property-sale/tax-exemption.d.ts +8 -8
  655. package/lib/db/Models/property/property-share.d.ts +21 -21
  656. package/lib/db/Models/property/property-subscription.d.ts +10 -10
  657. package/lib/db/Models/property/property-valuation.d.ts +13 -13
  658. package/lib/db/Models/property/property.d.ts +43 -43
  659. package/lib/db/Models/service-notification.d.ts +14 -14
  660. package/lib/db/Models/sole/sole-forecast.d.ts +9 -9
  661. package/lib/db/Models/subscription/service-payment.d.ts +12 -12
  662. package/lib/db/Models/subscription/service-price.d.ts +16 -16
  663. package/lib/db/Models/subscription/service-product.d.ts +19 -19
  664. package/lib/db/Models/subscription/service-subscription-item.d.ts +10 -10
  665. package/lib/db/Models/subscription/service-subscription.d.ts +15 -15
  666. package/lib/db/Models/tax-return/tax-return-category.d.ts +13 -13
  667. package/lib/db/Models/tax-return/tax-return-item.d.ts +16 -16
  668. package/lib/db/Models/tax-return/tax-return.d.ts +9 -9
  669. package/lib/db/Models/transaction/transaction-allocation.d.ts +9 -9
  670. package/lib/db/Models/transaction/transaction-base.d.ts +29 -29
  671. package/lib/db/Models/transaction/transaction-metadata.d.ts +12 -12
  672. package/lib/db/Models/transaction/transaction-receipt.d.ts +12 -12
  673. package/lib/db/Models/transaction/transaction.d.ts +43 -43
  674. package/lib/db/Models/user/client-details.d.ts +35 -35
  675. package/lib/db/Models/user/client-income-types.d.ts +12 -12
  676. package/lib/db/Models/user/employee-details.d.ts +8 -8
  677. package/lib/db/Models/user/occupation.d.ts +6 -6
  678. package/lib/db/Models/user/registration-invite.d.ts +13 -13
  679. package/lib/db/Models/user/user-event-setting.d.ts +11 -11
  680. package/lib/db/Models/user/user-event-type-category.d.ts +5 -5
  681. package/lib/db/Models/user/user-event-type.d.ts +18 -18
  682. package/lib/db/Models/user/user-event.d.ts +16 -16
  683. package/lib/db/Models/user/user.d.ts +52 -52
  684. package/lib/db/Models/vehicle/vehicle-claim.d.ts +14 -14
  685. package/lib/db/Models/vehicle/vehicle-logbook.d.ts +17 -17
  686. package/lib/db/Models/vehicle/vehicle.d.ts +11 -11
  687. package/lib/forms/abstract.form.d.ts +4 -4
  688. package/lib/forms/client/client-income-types.form.d.ts +7 -7
  689. package/lib/forms/index.d.ts +9 -9
  690. package/lib/forms/login/login.form.d.ts +4 -4
  691. package/lib/forms/register/register-client.form.d.ts +5 -5
  692. package/lib/forms/register/register-firm.form.d.ts +7 -7
  693. package/lib/forms/user/password.form.d.ts +4 -4
  694. package/lib/forms/user/reset-password.form.d.ts +4 -4
  695. package/lib/forms/vehicle/vehicle-claim.form.d.ts +43 -43
  696. package/lib/forms/vehicle/vehicle.form.d.ts +11 -11
  697. package/lib/functions/array/index.d.ts +3 -3
  698. package/lib/functions/array/replace.d.ts +1 -1
  699. package/lib/functions/array/sort-deep.d.ts +1 -1
  700. package/lib/functions/array/sort.d.ts +1 -1
  701. package/lib/functions/clone-deep.d.ts +1 -1
  702. package/lib/functions/create-date.d.ts +5 -5
  703. package/lib/functions/enum-to-list.d.ts +2 -2
  704. package/lib/functions/get-doc-icon.d.ts +7 -7
  705. package/lib/functions/mat-options-functions.d.ts +2 -2
  706. package/lib/functions/mat-sort-options.d.ts +7 -7
  707. package/lib/functions/round-to.d.ts +6 -6
  708. package/lib/functions/tax-review-filter-predicate.d.ts +7 -7
  709. package/lib/interceptors/corelogic-interceptor.d.ts +20 -20
  710. package/lib/interceptors/financial-year-interceptor.d.ts +12 -12
  711. package/lib/interceptors/interceptors.module.d.ts +6 -6
  712. package/lib/interceptors/jwt-interceptor.d.ts +42 -42
  713. package/lib/interceptors/preloader.interceptor.d.ts +15 -15
  714. package/lib/interceptors/user-switcher-interceptor.d.ts +19 -19
  715. package/lib/interfaces/asset-entity-type.enum.d.ts +10 -10
  716. package/lib/interfaces/asset-type.enum.d.ts +8 -8
  717. package/lib/interfaces/asset.interface.d.ts +17 -17
  718. package/lib/interfaces/chart-data.interface.d.ts +10 -10
  719. package/lib/interfaces/chart-serie.interface.d.ts +8 -8
  720. package/lib/interfaces/document.interface.d.ts +18 -18
  721. package/lib/interfaces/documentable.interface.d.ts +8 -8
  722. package/lib/interfaces/event-listener.interface.d.ts +10 -10
  723. package/lib/interfaces/expense.interface.d.ts +12 -12
  724. package/lib/interfaces/income-source-forecast.interface.d.ts +10 -10
  725. package/lib/interfaces/option.interface.d.ts +4 -4
  726. package/lib/interfaces/photoable.d.ts +13 -13
  727. package/lib/interfaces/receipt.interface.d.ts +12 -12
  728. package/lib/interfaces/table-exportable.interface.d.ts +7 -7
  729. package/lib/interfaces/tank.interface.d.ts +9 -9
  730. package/lib/interfaces/updatable.interface.d.ts +8 -8
  731. package/lib/models/account-setup/account-setup-item.d.ts +11 -11
  732. package/lib/models/account-setup/account-setup-items.const.d.ts +7 -7
  733. package/lib/models/account-setup/account-setup-items.enum.d.ts +12 -12
  734. package/lib/models/address/address.d.ts +11 -11
  735. package/lib/models/address/country.d.ts +11 -11
  736. package/lib/models/bank/bank-account-chart-data.d.ts +17 -17
  737. package/lib/models/bank/bank-account-property.d.ts +5 -5
  738. package/lib/models/bank/bank-account-types.const.d.ts +7 -7
  739. package/lib/models/bank/bank-account.d.ts +72 -72
  740. package/lib/models/bank/bank-connection.d.ts +11 -11
  741. package/lib/models/bank/bank-transaction-chart-data.d.ts +30 -30
  742. package/lib/models/bank/bank-transaction-summary-fields.enum.d.ts +4 -4
  743. package/lib/models/bank/bank-transaction.d.ts +38 -38
  744. package/lib/models/bank/bank.d.ts +6 -6
  745. package/lib/models/bank/basiq-config.d.ts +17 -17
  746. package/lib/models/bank/basiq-job.d.ts +3 -3
  747. package/lib/models/bank/basiq-token.d.ts +9 -9
  748. package/lib/models/bank/type-loan.const.d.ts +2 -2
  749. package/lib/models/borrowing-expense/borrowing-expense-loan.d.ts +3 -3
  750. package/lib/models/borrowing-expense/borrowing-expense.d.ts +3 -3
  751. package/lib/models/chart/chart-data.d.ts +9 -9
  752. package/lib/models/chart/chart-serie.d.ts +8 -8
  753. package/lib/models/chart-accounts/chart-accounts-categories.const.d.ts +8 -8
  754. package/lib/models/chart-accounts/chart-accounts-depreciation.d.ts +7 -7
  755. package/lib/models/chart-accounts/chart-accounts-heading.d.ts +5 -5
  756. package/lib/models/chart-accounts/chart-accounts-metadata.d.ts +8 -8
  757. package/lib/models/chart-accounts/chart-accounts-tax-labels.enum.d.ts +5 -5
  758. package/lib/models/chart-accounts/chart-accounts-value.d.ts +3 -3
  759. package/lib/models/chart-accounts/chart-accounts.d.ts +85 -85
  760. package/lib/models/chat/chat-view-type.enum.d.ts +4 -4
  761. package/lib/models/chat/chat.d.ts +10 -10
  762. package/lib/models/chat/message-document.d.ts +11 -11
  763. package/lib/models/chat/message.d.ts +20 -20
  764. package/lib/models/client/client-details.d.ts +3 -3
  765. package/lib/models/client/client-income-types.d.ts +7 -7
  766. package/lib/models/client/client-invite.d.ts +34 -34
  767. package/lib/models/client/client-movement.d.ts +12 -12
  768. package/lib/models/client/client-portfolio-chart-data.d.ts +11 -11
  769. package/lib/models/client/client-portfolio-report.d.ts +10 -10
  770. package/lib/models/color/alphabet-colors.enum.d.ts +28 -28
  771. package/lib/models/depreciation/depreciation-capital-project.d.ts +5 -5
  772. package/lib/models/depreciation/depreciation-forecast.d.ts +12 -12
  773. package/lib/models/depreciation/depreciation-group-item.d.ts +10 -10
  774. package/lib/models/depreciation/depreciation-group.d.ts +11 -11
  775. package/lib/models/depreciation/depreciation-group.enum.d.ts +7 -7
  776. package/lib/models/depreciation/depreciation-groups.const.d.ts +9 -9
  777. package/lib/models/depreciation/depreciation-receipt.d.ts +8 -8
  778. package/lib/models/depreciation/depreciation.d.ts +71 -71
  779. package/lib/models/document/document-api-url-prefix.enum.d.ts +7 -7
  780. package/lib/models/document/document-file-types.const.d.ts +3 -3
  781. package/lib/models/document/document-folder.d.ts +7 -7
  782. package/lib/models/document/document.d.ts +21 -21
  783. package/lib/models/employee/employee-details.d.ts +5 -5
  784. package/lib/models/employee/employee-invite.d.ts +7 -7
  785. package/lib/models/endpoint/endpoint.d.ts +22 -22
  786. package/lib/models/endpoint/endpoints.const.d.ts +7 -7
  787. package/lib/models/event/app-event-type.enum.d.ts +45 -45
  788. package/lib/models/event/app-event.d.ts +9 -9
  789. package/lib/models/export/export-cell-type.enum.d.ts +8 -8
  790. package/lib/models/export/export-cell.d.ts +8 -8
  791. package/lib/models/export/export-data-table.d.ts +10 -10
  792. package/lib/models/export/export-format.enum.d.ts +4 -4
  793. package/lib/models/export/export-row-data-type.enum.d.ts +8 -8
  794. package/lib/models/export/export-row.d.ts +8 -8
  795. package/lib/models/file/icons-file.enum.d.ts +5 -5
  796. package/lib/models/financial-year/financial-year.d.ts +19 -19
  797. package/lib/models/financial-year/month-name-short.enum.d.ts +19 -19
  798. package/lib/models/financial-year/month-number.enum.d.ts +19 -19
  799. package/lib/models/financial-year/months.const.d.ts +1 -1
  800. package/lib/models/firm/firm.d.ts +18 -18
  801. package/lib/models/income-position/income-position.d.ts +9 -9
  802. package/lib/models/income-source/income-source-chart-data.d.ts +14 -14
  803. package/lib/models/income-source/income-source-forecast.d.ts +18 -18
  804. package/lib/models/income-source/income-source-type.d.ts +9 -9
  805. package/lib/models/income-source/income-source.d.ts +29 -29
  806. package/lib/models/income-source/salary-forecast.d.ts +7 -7
  807. package/lib/models/income-source/sole-forecast.d.ts +7 -7
  808. package/lib/models/loan/loan-max-number-of-payments.enum.d.ts +8 -8
  809. package/lib/models/loan/loan-payment.d.ts +14 -14
  810. package/lib/models/loan/loan-payout.d.ts +9 -9
  811. package/lib/models/loan/loan.d.ts +20 -20
  812. package/lib/models/logbook/default-vehicle-expense.d.ts +5 -5
  813. package/lib/models/logbook/logbook-period.d.ts +10 -10
  814. package/lib/models/logbook/logbook-purpose-options.const.d.ts +4 -4
  815. package/lib/models/logbook/vehicle-claim.d.ts +36 -36
  816. package/lib/models/logbook/vehicle-logbook.d.ts +12 -12
  817. package/lib/models/logbook/vehicle.d.ts +10 -10
  818. package/lib/models/notification/notification.d.ts +14 -14
  819. package/lib/models/pdf/pdf-config.d.ts +8 -8
  820. package/lib/models/pdf/pdf-orientation.enum.d.ts +4 -4
  821. package/lib/models/pdf/pdf-settings.d.ts +9 -9
  822. package/lib/models/phone/phone.d.ts +6 -6
  823. package/lib/models/property/calculation-form-item.d.ts +15 -15
  824. package/lib/models/property/calculation-form-type.enum.d.ts +7 -7
  825. package/lib/models/property/capital-costs-itmes.const.d.ts +2 -2
  826. package/lib/models/property/corelogic-suggestion.d.ts +18 -18
  827. package/lib/models/property/property-category-movement.d.ts +9 -9
  828. package/lib/models/property/property-category.d.ts +5 -5
  829. package/lib/models/property/property-document.d.ts +14 -14
  830. package/lib/models/property/property-equity-chart-data.d.ts +62 -62
  831. package/lib/models/property/property-equity-chart-item.d.ts +19 -19
  832. package/lib/models/property/property-equity-chart-type.enum.d.ts +4 -4
  833. package/lib/models/property/property-forecast.d.ts +28 -28
  834. package/lib/models/property/property-sale/property-sale-tax-exemption-metadata.d.ts +3 -3
  835. package/lib/models/property/property-sale/property-sale.d.ts +11 -11
  836. package/lib/models/property/property-sale/tax-exemption-metadata.d.ts +3 -3
  837. package/lib/models/property/property-sale/tax-exemption.d.ts +3 -3
  838. package/lib/models/property/property-share.d.ts +21 -21
  839. package/lib/models/property/property-subscription.d.ts +6 -6
  840. package/lib/models/property/property-valuation.d.ts +9 -9
  841. package/lib/models/property/property.d.ts +87 -86
  842. package/lib/models/property/share-filter-options.enum.d.ts +9 -9
  843. package/lib/models/registration-invite/registration-invite.d.ts +6 -6
  844. package/lib/models/report/depreciation/depreciation-lvp-asset-type.enum.d.ts +8 -8
  845. package/lib/models/report/depreciation/depreciation-lvp-report-item.d.ts +8 -8
  846. package/lib/models/report/depreciation/depreciation-report-item.d.ts +9 -9
  847. package/lib/models/report/property/property-report-item-depreciation.d.ts +10 -10
  848. package/lib/models/report/property/property-report-item-transaction.d.ts +10 -10
  849. package/lib/models/report/property/property-report-item.d.ts +22 -22
  850. package/lib/models/report/vehicle-expense/vehicle-expense.d.ts +10 -10
  851. package/lib/models/service-subscription/module-url-list.const.d.ts +6 -6
  852. package/lib/models/service-subscription/service-payment.d.ts +5 -5
  853. package/lib/models/service-subscription/service-price.d.ts +7 -7
  854. package/lib/models/service-subscription/service-product.d.ts +7 -7
  855. package/lib/models/service-subscription/service-subscription-item.d.ts +6 -6
  856. package/lib/models/service-subscription/service-subscription.d.ts +65 -65
  857. package/lib/models/service-subscription/subscription-description.const.d.ts +3 -3
  858. package/lib/models/service-subscription/subscription-title.const.d.ts +3 -3
  859. package/lib/models/service-subscription/subscription-type.enum.d.ts +6 -6
  860. package/lib/models/tax-review/tax-review.d.ts +52 -52
  861. package/lib/models/tax-summary/report-item-details.d.ts +13 -13
  862. package/lib/models/tax-summary/report-item.d.ts +19 -19
  863. package/lib/models/tax-summary/tax-summary-section.d.ts +12 -12
  864. package/lib/models/tax-summary/tax-summary-type.enum.d.ts +7 -7
  865. package/lib/models/tax-summary/tax-summary.d.ts +44 -44
  866. package/lib/models/toast/toast-type.enum.d.ts +6 -6
  867. package/lib/models/toast/toast.d.ts +11 -11
  868. package/lib/models/transaction/income-amount-type.enum.d.ts +7 -7
  869. package/lib/models/transaction/transaction-allocation.d.ts +12 -12
  870. package/lib/models/transaction/transaction-category.enum.d.ts +6 -6
  871. package/lib/models/transaction/transaction-metadata.d.ts +5 -5
  872. package/lib/models/transaction/transaction-receipt.d.ts +8 -8
  873. package/lib/models/transaction/transaction.d.ts +98 -98
  874. package/lib/models/user/my-account-history-initiated-by.enum.d.ts +4 -4
  875. package/lib/models/user/my-account-history-status.enum.d.ts +4 -4
  876. package/lib/models/user/my-account-history-type.enum.d.ts +5 -5
  877. package/lib/models/user/my-account-history.d.ts +11 -11
  878. package/lib/models/user/occupation.d.ts +3 -3
  879. package/lib/models/user/user-roles.const.d.ts +4 -4
  880. package/lib/models/user/user-to-register.d.ts +7 -7
  881. package/lib/models/user/user-work-position.const.d.ts +3 -3
  882. package/lib/models/user/user.d.ts +64 -64
  883. package/lib/models/user-event/user-event-setting-field.enum.d.ts +8 -8
  884. package/lib/models/user-event/user-event-setting.d.ts +6 -6
  885. package/lib/models/user-event/user-event-type-category.d.ts +3 -3
  886. package/lib/models/user-event/user-event-type.d.ts +7 -7
  887. package/lib/services/account-setup/account-setup.service.d.ts +57 -57
  888. package/lib/services/asset/assets.service.d.ts +34 -34
  889. package/lib/services/auth/auth.service.d.ts +17 -17
  890. package/lib/services/auth/jwt.service.d.ts +16 -16
  891. package/lib/services/bank/bank-account-calculation.service.d.ts +19 -19
  892. package/lib/services/bank/bank-transaction-calculation.service.d.ts +41 -41
  893. package/lib/services/event/event-dispatcher.service.d.ts +17 -17
  894. package/lib/services/event/sse.service.d.ts +16 -16
  895. package/lib/services/export/export-formatter.service.d.ts +11 -11
  896. package/lib/services/header-title/header-title.service.d.ts +11 -11
  897. package/lib/services/http/address/address.service.d.ts +14 -14
  898. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +43 -43
  899. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +19 -19
  900. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +33 -33
  901. package/lib/services/http/bank/bank.service.d.ts +14 -14
  902. package/lib/services/http/bank/basiq/basiq.service.d.ts +36 -36
  903. package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +19 -19
  904. package/lib/services/http/chart-accounts/chart-accounts.service.d.ts +37 -37
  905. package/lib/services/http/chat/chat.service.d.ts +28 -28
  906. package/lib/services/http/chat/message/message.service.d.ts +28 -28
  907. package/lib/services/http/chat/message-document/message-document.service.d.ts +50 -50
  908. package/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.d.ts +20 -20
  909. package/lib/services/http/depreciation/depreciation.service.d.ts +50 -50
  910. package/lib/services/http/document/document-folder/document-folder.service.d.ts +34 -34
  911. package/lib/services/http/firm/client-income/client-income-types.service.d.ts +18 -18
  912. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +36 -36
  913. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +35 -35
  914. package/lib/services/http/firm/employee/employee.service.d.ts +16 -16
  915. package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts +21 -21
  916. package/lib/services/http/firm/firm.service.d.ts +27 -27
  917. package/lib/services/http/firm/portfolio-report/client-portfolio-report.service.d.ts +16 -16
  918. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +31 -31
  919. package/lib/services/http/income-source/income-source.service.d.ts +42 -42
  920. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +31 -31
  921. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +28 -28
  922. package/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts +19 -19
  923. package/lib/services/http/loan/loan.service.d.ts +58 -58
  924. package/lib/services/http/property/property-category/property-category.service.d.ts +13 -13
  925. package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +15 -15
  926. package/lib/services/http/property/property-document/property-document.service.d.ts +26 -26
  927. package/lib/services/http/property/property-sale/property-sale.service.d.ts +10 -10
  928. package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +11 -11
  929. package/lib/services/http/property/property-share/property-share.service.d.ts +39 -39
  930. package/lib/services/http/property/property.service.d.ts +45 -45
  931. package/lib/services/http/rest/rest.service.d.ts +106 -106
  932. package/lib/services/http/service-notification/service-notification.service.d.ts +28 -28
  933. package/lib/services/http/subscription/service-price.service.d.ts +14 -14
  934. package/lib/services/http/subscription/subscription.service.d.ts +44 -44
  935. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +19 -19
  936. package/lib/services/http/tax-review/tax-review.service.d.ts +38 -38
  937. package/lib/services/http/tax-summary/tax-summary.service.d.ts +32 -32
  938. package/lib/services/http/transaction/messages.enum.d.ts +5 -5
  939. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +38 -38
  940. package/lib/services/http/transaction/transaction.service.d.ts +90 -90
  941. package/lib/services/http/user/occupation/occupation.service.d.ts +20 -20
  942. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +16 -16
  943. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +11 -11
  944. package/lib/services/http/user/user.service.d.ts +78 -74
  945. package/lib/services/http/vehicle/messages.enum.d.ts +11 -11
  946. package/lib/services/http/vehicle/vehicle-claim.service.d.ts +13 -13
  947. package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +22 -22
  948. package/lib/services/http/vehicle/vehicle.service.d.ts +31 -31
  949. package/lib/services/intercom/intercom.service.d.ts +21 -21
  950. package/lib/services/kompassify/kompassify.service.d.ts +13 -13
  951. package/lib/services/pdf/pdf.service.d.ts +29 -29
  952. package/lib/services/preloader/preloader.service.d.ts +12 -12
  953. package/lib/services/property/corelogic/corelogic.service.d.ts +15 -15
  954. package/lib/services/property/equity-position-chart/equity-position-chart.service.d.ts +15 -15
  955. package/lib/services/property/property-calculation/property-calculation.service.d.ts +33 -33
  956. package/lib/services/report/property/property-transaction-report.service.d.ts +42 -42
  957. package/lib/services/toast/toast.service.d.ts +17 -17
  958. package/lib/services/transaction/transaction-calculation.service.d.ts +29 -29
  959. package/lib/services/user/user-switcher.service.d.ts +20 -20
  960. package/lib/services/xlsx/xlsx.service.d.ts +10 -10
  961. package/lib/tt-core.module.d.ts +10 -10
  962. package/lib/validators/at-least-one.validator.d.ts +6 -6
  963. package/lib/validators/index.d.ts +3 -1
  964. package/lib/validators/password-match.validator.d.ts +2 -2
  965. package/lib/validators/password.validator.d.ts +2 -2
  966. package/package.json +1 -1
  967. package/public-api.d.ts +394 -393
  968. package/taxtank-core.d.ts +5 -5
@@ -1,154 +1,154 @@
1
- import { Injectable } from '@angular/core';
2
- import { ACCOUNT_SETUP_ITEMS } from '../../models/account-setup/account-setup-items.const';
3
- import { AccountSetupItemsEnum } from '../../models/account-setup/account-setup-items.enum';
4
- import { ClientIncomeTypes } from '../../models/client/client-income-types';
5
- import { IncomeSourceCollection } from '../../collections/income-source.collection';
6
- import { combineLatest, of, ReplaySubject } from 'rxjs';
7
- import { filter, map, mergeMap } from 'rxjs/operators';
8
- import { AccountSetupItemCollection } from '../../collections/account-setup-item.collection';
9
- import fromPairs from 'lodash/fromPairs';
10
- import cloneDeep from 'lodash/cloneDeep';
11
- import { plainToClass } from 'class-transformer';
12
- import { TransactionCollection } from '../../collections/transaction/transaction.collection';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "../http/firm/client-income/client-income-types.service";
15
- import * as i2 from "../http/property/property.service";
16
- import * as i3 from "../http/income-source/income-source.service";
17
- import * as i4 from "../http/bank/bank-account/bank-account.service";
18
- import * as i5 from "../http/transaction/transaction-allocation/transaction-allocation.service";
19
- import * as i6 from "../http/vehicle/vehicle-claim.service";
20
- import * as i7 from "../http/transaction/transaction.service";
21
- /**
22
- * Service handling user's account setup process.
23
- * Checks required steps and their completion
24
- */
25
- export class AccountSetupService {
26
- constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService) {
27
- this.clientIncomeTypesService = clientIncomeTypesService;
28
- this.propertyService = propertyService;
29
- this.incomeSourceService = incomeSourceService;
30
- this.bankAccountsService = bankAccountsService;
31
- this.transactionAllocationService = transactionAllocationService;
32
- this.vehicleClaimService = vehicleClaimService;
33
- this.transactionService = transactionService;
34
- this.cacheSubject = new ReplaySubject(1);
35
- }
36
- /**
37
- * Get list of account setup items for current user
38
- */
39
- get() {
40
- if (!this.cache) {
41
- this.cache = new AccountSetupItemCollection([]);
42
- this.clientIncomeTypesService.get()
43
- .pipe(
44
- // we need account setup only when user selected at least one income type
45
- filter((incomeTypes) => !!incomeTypes.length), mergeMap((incomeTypes) => {
46
- this.clientIncomeTypesId = incomeTypes.id;
47
- return this.createBatch(incomeTypes);
48
- }))
49
- .subscribe((items) => {
50
- switch (true) {
51
- case !this.cache:
52
- case this.cache.getBy('isCompleted', true).length !== items.getBy('isCompleted', true).length:
53
- case this.cache.length !== items.length:
54
- this.cache = cloneDeep(items);
55
- this.cacheSubject.next(this.cache);
56
- }
57
- });
58
- }
59
- return this.cacheSubject.asObservable();
60
- }
61
- /**
62
- * Prepare client income types to update to hide depended account setup items
63
- */
64
- prepareIncomeTypes(item) {
65
- return plainToClass(ClientIncomeTypes, Object.assign({ id: this.clientIncomeTypesId }, fromPairs(item.clientIncomeTypes.map((type) => [type, false]))));
66
- }
67
- /**
68
- * Get a single AccountSetupItem and check it's completion
69
- */
70
- create(itemType, request) {
71
- return request.pipe(map((result) => {
72
- const item = ACCOUNT_SETUP_ITEMS[itemType];
73
- if (result.length) {
74
- item.isCompleted = true;
75
- }
76
- else {
77
- item.isCompleted = false;
78
- }
79
- return item;
80
- }));
81
- }
82
- /**
83
- * Get batch of requests to get list of required AccountSetupItem's.
84
- * Some items are optional and depends of user's client income types
85
- */
86
- createBatch(incomeTypes) {
87
- const batch = [];
88
- // Salary item is completed when user added salary income source
89
- if (incomeTypes.salary) {
90
- batch.push(this.create(AccountSetupItemsEnum.SALARY, this.getIncomeSources(true)));
91
- }
92
- // Other income item is completed when user added at least one other income source
93
- if (incomeTypes.dividends || incomeTypes.other) {
94
- batch.push(this.create(AccountSetupItemsEnum.OTHER_INCOME, this.getIncomeSources()));
95
- }
96
- // Rental income item is completed when user added at least one property
97
- if (incomeTypes.property) {
98
- batch.push(this.create(AccountSetupItemsEnum.PROPERTY, this.propertyService.get()));
99
- }
100
- // Bank feeds item is completed when user added at least one bank account (basiq or manual)
101
- batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.get()));
102
- // Logbook item is completed when user has at least one vehicle claim with any method (klms or logbook)
103
- batch.push(this.getLogbookItem());
104
- // @TODO waiting for sole tank forecast page
105
- // Sole item is completed when user added at least one sole income source
106
- // if (incomeTypes.soleTrader) {
107
- // batch.push(
108
- // this.prepareItem(
109
- // AccountSetupItemsEnum.SOLE_INCOME,
110
- // this.getIncomeSourcesByType(IncomeSourceTypeEnum.SOLE)
111
- // )
112
- // );
113
- // }
114
- // Allocation item is completed when user added at least one transaction allocation
115
- batch.push(this.create(AccountSetupItemsEnum.TRANSACTION, this.transactionAllocationService.get()));
116
- return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
117
- }
118
- /**
119
- * @TODO Alex: work with collection when services refactored
120
- * @TODO Vik: waiting for income sources refactoring
121
- */
122
- getIncomeSources(isSalary = false) {
123
- return this.incomeSourceService.get().pipe(map((incomeSources) => {
124
- const collection = new IncomeSourceCollection(incomeSources);
125
- if (isSalary) {
126
- return collection.getSalary();
127
- }
128
- return collection.items.filter((incomeSource) => !incomeSource.isSalaryIncome() && !incomeSource.isSoleIncome());
129
- }));
130
- }
131
- /**
132
- * Show logbook item when user has at least 1 vehicle transaction
133
- */
134
- getLogbookItem() {
135
- return this.transactionService.get()
136
- .pipe(
137
- // @TODO Alex: remove map when services start work with collections
138
- map((transactions) => new TransactionCollection(transactions)), mergeMap((transactions) => {
139
- if (transactions.getVehicleTransactions().length) {
140
- return this.create(AccountSetupItemsEnum.WORK_LOGBOOK, this.vehicleClaimService.get());
141
- }
142
- return of(null);
143
- }));
144
- }
145
- }
146
- AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }], target: i0.ɵɵFactoryTarget.Injectable });
147
- AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, decorators: [{
149
- type: Injectable,
150
- args: [{
151
- providedIn: 'root'
152
- }]
153
- }], ctorParameters: function () { return [{ type: i1.ClientIncomeTypesService }, { type: i2.PropertyService }, { type: i3.IncomeSourceService }, { type: i4.BankAccountService }, { type: i5.TransactionAllocationService }, { type: i6.VehicleClaimService }, { type: i7.TransactionService }]; } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFLcEYsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTdGLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBRTdGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFDVSx3QkFBa0QsRUFDbEQsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLG1CQUF1QyxFQUN2Qyw0QkFBMEQsRUFDMUQsbUJBQXdDLEVBQ3hDLGtCQUFzQztRQU50Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENB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QUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDeEY7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7aUhBcEtVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQUNDT1VOVF9TRVRVUF9JVEVNUyB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuY29uc3QnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtJztcclxuaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbXNFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtcy5lbnVtJztcclxuaW1wb3J0IHsgQmFua0FjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENsaWVudEluY29tZVR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsaWVudC9jbGllbnQtaW5jb21lLXR5cGVzJztcclxuaW1wb3J0IHsgQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9maXJtL2NsaWVudC1pbmNvbWUvY2xpZW50LWluY29tZS10eXBlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XHJcbmltcG9ydCB7IEluY29tZVNvdXJjZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9pbmNvbWUtc291cmNlLmNvbGxlY3Rpb24nO1xyXG5pbXBvcnQgeyBJbmNvbWVTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEluY29tZVNvdXJjZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvaW5jb21lLXNvdXJjZS10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9hY2NvdW50LXNldHVwLWl0ZW0uY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IFZlaGljbGVDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3ZlaGljbGUvdmVoaWNsZS1jbGFpbS5zZXJ2aWNlJztcclxuaW1wb3J0IGZyb21QYWlycyBmcm9tICdsb2Rhc2gvZnJvbVBhaXJzJztcclxuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcclxuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgaGFuZGxpbmcgdXNlcidzIGFjY291bnQgc2V0dXAgcHJvY2Vzcy5cclxuICogQ2hlY2tzIHJlcXVpcmVkIHN0ZXBzIGFuZCB0aGVpciBjb21wbGV0aW9uXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2V0dXBTZXJ2aWNlIHtcclxuICBjYWNoZTogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb247XHJcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiA9IG5ldyBSZXBsYXlTdWJqZWN0PEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPigxKTtcclxuICBjbGllbnRJbmNvbWVUeXBlc0lkOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjbGllbnRJbmNvbWVUeXBlc1NlcnZpY2U6IENsaWVudEluY29tZVR5cGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGluY29tZVNvdXJjZVNlcnZpY2U6IEluY29tZVNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJhbmtBY2NvdW50c1NlcnZpY2U6IEJhbmtBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgdmVoaWNsZUNsYWltU2VydmljZTogVmVoaWNsZUNsYWltU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBsaXN0IG9mIGFjY291bnQgc2V0dXAgaXRlbXMgZm9yIGN1cnJlbnQgdXNlclxyXG4gICAqL1xyXG4gIGdldCgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XHJcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcclxuICAgICAgdGhpcy5jYWNoZSA9IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihbXSk7XHJcblxyXG4gICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzU2VydmljZS5nZXQoKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgLy8gd2UgbmVlZCBhY2NvdW50IHNldHVwIG9ubHkgd2hlbiB1c2VyIHNlbGVjdGVkIGF0IGxlYXN0IG9uZSBpbmNvbWUgdHlwZVxyXG4gICAgICAgICAgZmlsdGVyKChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpID0+ICEhaW5jb21lVHlwZXMubGVuZ3RoKSxcclxuICAgICAgICAgIG1lcmdlTWFwKChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbGllbnRJbmNvbWVUeXBlc0lkID0gaW5jb21lVHlwZXMuaWQ7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVCYXRjaChpbmNvbWVUeXBlcyk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChpdGVtczogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24pID0+IHtcclxuICAgICAgICAgIHN3aXRjaCAodHJ1ZSkge1xyXG4gICAgICAgICAgICBjYXNlICF0aGlzLmNhY2hlOlxyXG4gICAgICAgICAgICBjYXNlIHRoaXMuY2FjaGUuZ2V0QnkoJ2lzQ29tcGxldGVkJywgdHJ1ZSkubGVuZ3RoICE9PSBpdGVtcy5nZXRCeSgnaXNDb21wbGV0ZWQnLCB0cnVlKS5sZW5ndGg6XHJcbiAgICAgICAgICAgIGNhc2UgdGhpcy5jYWNoZS5sZW5ndGggIT09IGl0ZW1zLmxlbmd0aDpcclxuICAgICAgICAgICAgICB0aGlzLmNhY2hlID0gY2xvbmVEZWVwKGl0ZW1zKTtcclxuICAgICAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXBhcmUgY2xpZW50IGluY29tZSB0eXBlcyB0byB1cGRhdGUgdG8gaGlkZSBkZXBlbmRlZCBhY2NvdW50IHNldHVwIGl0ZW1zXHJcbiAgICovXHJcbiAgcHJlcGFyZUluY29tZVR5cGVzKGl0ZW06IEFjY291bnRTZXR1cEl0ZW0pOiBDbGllbnRJbmNvbWVUeXBlcyB7XHJcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFxyXG4gICAgICBDbGllbnRJbmNvbWVUeXBlcyxcclxuICAgICAgT2JqZWN0LmFzc2lnbih7aWQ6IHRoaXMuY2xpZW50SW5jb21lVHlwZXNJZH0sIGZyb21QYWlycyhpdGVtLmNsaWVudEluY29tZVR5cGVzLm1hcCgodHlwZTogc3RyaW5nKSA9PiBbdHlwZSwgZmFsc2VdKSkpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYSBzaW5nbGUgQWNjb3VudFNldHVwSXRlbSBhbmQgY2hlY2sgaXQncyBjb21wbGV0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGUoaXRlbVR5cGU6IEFjY291bnRTZXR1cEl0ZW1zRW51bSwgcmVxdWVzdDogT2JzZXJ2YWJsZTxvYmplY3RbXT4pOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcclxuICAgIHJldHVybiByZXF1ZXN0LnBpcGUoXHJcbiAgICAgIG1hcCgocmVzdWx0OiBvYmplY3RbXSk6IEFjY291bnRTZXR1cEl0ZW0gPT4ge1xyXG4gICAgICAgIGNvbnN0IGl0ZW06IEFjY291bnRTZXR1cEl0ZW0gPSBBQ0NPVU5UX1NFVFVQX0lURU1TW2l0ZW1UeXBlXTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpIHtcclxuICAgICAgICAgIGl0ZW0uaXNDb21wbGV0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYmF0Y2ggb2YgcmVxdWVzdHMgdG8gZ2V0IGxpc3Qgb2YgcmVxdWlyZWQgQWNjb3VudFNldHVwSXRlbSdzLlxyXG4gICAqIFNvbWUgaXRlbXMgYXJlIG9wdGlvbmFsIGFuZCBkZXBlbmRzIG9mIHVzZXIncyBjbGllbnQgaW5jb21lIHR5cGVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVCYXRjaChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XHJcbiAgICBjb25zdCBiYXRjaDogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPltdID0gW107XHJcblxyXG4gICAgLy8gU2FsYXJ5IGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBzYWxhcnkgaW5jb21lIHNvdXJjZVxyXG4gICAgaWYgKGluY29tZVR5cGVzLnNhbGFyeSkge1xyXG4gICAgICBiYXRjaC5wdXNoKFxyXG4gICAgICAgIHRoaXMuY3JlYXRlKFxyXG4gICAgICAgICAgQWNjb3VudFNldHVwSXRlbXNFbnVtLlNBTEFSWSxcclxuICAgICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlcyh0cnVlKVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBPdGhlciBpbmNvbWUgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBvdGhlciBpbmNvbWUgc291cmNlXHJcbiAgICBpZiAoaW5jb21lVHlwZXMuZGl2aWRlbmRzIHx8IGluY29tZVR5cGVzLm90aGVyKSB7XHJcbiAgICAgIGJhdGNoLnB1c2goXHJcbiAgICAgICAgdGhpcy5jcmVhdGUoXHJcbiAgICAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uT1RIRVJfSU5DT01FLFxyXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKClcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVudGFsIGluY29tZSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHByb3BlcnR5XHJcbiAgICBpZiAoaW5jb21lVHlwZXMucHJvcGVydHkpIHtcclxuICAgICAgYmF0Y2gucHVzaCh0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uUFJPUEVSVFksIHRoaXMucHJvcGVydHlTZXJ2aWNlLmdldCgpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmFuayBmZWVkcyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGJhbmsgYWNjb3VudCAoYmFzaXEgb3IgbWFudWFsKVxyXG4gICAgYmF0Y2gucHVzaCh0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uQkFOS19GRUVEUywgdGhpcy5iYW5rQWNjb3VudHNTZXJ2aWNlLmdldCgpKSk7XHJcblxyXG4gICAgLy8gTG9nYm9vayBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgaGFzIGF0IGxlYXN0IG9uZSB2ZWhpY2xlIGNsYWltIHdpdGggYW55IG1ldGhvZCAoa2xtcyBvciBsb2dib29rKVxyXG4gICAgYmF0Y2gucHVzaCh0aGlzLmdldExvZ2Jvb2tJdGVtKCkpO1xyXG5cclxuICAgIC8vIEBUT0RPIHdhaXRpbmcgZm9yIHNvbGUgdGFuayBmb3JlY2FzdCBwYWdlXHJcbiAgICAvLyBTb2xlIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgc29sZSBpbmNvbWUgc291cmNlXHJcbiAgICAvLyBpZiAoaW5jb21lVHlwZXMuc29sZVRyYWRlcikge1xyXG4gICAgLy8gICBiYXRjaC5wdXNoKFxyXG4gICAgLy8gICAgIHRoaXMucHJlcGFyZUl0ZW0oXHJcbiAgICAvLyAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uU09MRV9JTkNPTUUsXHJcbiAgICAvLyAgICAgICB0aGlzLmdldEluY29tZVNvdXJjZXNCeVR5cGUoSW5jb21lU291cmNlVHlwZUVudW0uU09MRSlcclxuICAgIC8vICAgICApXHJcbiAgICAvLyAgICk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gQWxsb2NhdGlvbiBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25cclxuICAgIGJhdGNoLnB1c2godGhpcy5jcmVhdGUoQWNjb3VudFNldHVwSXRlbXNFbnVtLlRSQU5TQUNUSU9OLCB0aGlzLnRyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2UuZ2V0KCkpKTtcclxuXHJcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCkucGlwZShtYXAoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pID0+IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcykpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBUT0RPIEFsZXg6IHdvcmsgd2l0aCBjb2xsZWN0aW9uIHdoZW4gc2VydmljZXMgcmVmYWN0b3JlZFxyXG4gICAqIEBUT0RPIFZpazogd2FpdGluZyBmb3IgaW5jb21lIHNvdXJjZXMgcmVmYWN0b3JpbmdcclxuICAgKi9cclxuICBwcml2YXRlIGdldEluY29tZVNvdXJjZXMoaXNTYWxhcnk6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8SW5jb21lU291cmNlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmluY29tZVNvdXJjZVNlcnZpY2UuZ2V0KCkucGlwZShcclxuICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IEluY29tZVNvdXJjZVtdID0+IHtcclxuICAgICAgICBjb25zdCBjb2xsZWN0aW9uOiBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uID0gbmV3IEluY29tZVNvdXJjZUNvbGxlY3Rpb24oaW5jb21lU291cmNlcyk7XHJcbiAgICAgICAgaWYgKGlzU2FsYXJ5KSB7XHJcbiAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5nZXRTYWxhcnkoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLml0ZW1zLmZpbHRlcigoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+ICFpbmNvbWVTb3VyY2UuaXNTYWxhcnlJbmNvbWUoKSAmJiAhaW5jb21lU291cmNlLmlzU29sZUluY29tZSgpKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgbG9nYm9vayBpdGVtIHdoZW4gdXNlciBoYXMgYXQgbGVhc3QgMSB2ZWhpY2xlIHRyYW5zYWN0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRMb2dib29rSXRlbSgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXQoKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICAvLyBAVE9ETyBBbGV4OiByZW1vdmUgbWFwIHdoZW4gc2VydmljZXMgc3RhcnQgd29yayB3aXRoIGNvbGxlY3Rpb25zXHJcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pID0+IG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odHJhbnNhY3Rpb25zKSksXHJcbiAgICAgICAgbWVyZ2VNYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb25zLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5XT1JLX0xPR0JPT0ssIHRoaXMudmVoaWNsZUNsYWltU2VydmljZS5nZXQoKSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import { ACCOUNT_SETUP_ITEMS } from '../../models/account-setup/account-setup-items.const';
3
+ import { AccountSetupItemsEnum } from '../../models/account-setup/account-setup-items.enum';
4
+ import { ClientIncomeTypes } from '../../models/client/client-income-types';
5
+ import { IncomeSourceCollection } from '../../collections/income-source.collection';
6
+ import { combineLatest, of, ReplaySubject } from 'rxjs';
7
+ import { filter, map, mergeMap } from 'rxjs/operators';
8
+ import { AccountSetupItemCollection } from '../../collections/account-setup-item.collection';
9
+ import fromPairs from 'lodash/fromPairs';
10
+ import cloneDeep from 'lodash/cloneDeep';
11
+ import { plainToClass } from 'class-transformer';
12
+ import { TransactionCollection } from '../../collections/transaction/transaction.collection';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "../http/firm/client-income/client-income-types.service";
15
+ import * as i2 from "../http/property/property.service";
16
+ import * as i3 from "../http/income-source/income-source.service";
17
+ import * as i4 from "../http/bank/bank-account/bank-account.service";
18
+ import * as i5 from "../http/transaction/transaction-allocation/transaction-allocation.service";
19
+ import * as i6 from "../http/vehicle/vehicle-claim.service";
20
+ import * as i7 from "../http/transaction/transaction.service";
21
+ /**
22
+ * Service handling user's account setup process.
23
+ * Checks required steps and their completion
24
+ */
25
+ export class AccountSetupService {
26
+ constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService) {
27
+ this.clientIncomeTypesService = clientIncomeTypesService;
28
+ this.propertyService = propertyService;
29
+ this.incomeSourceService = incomeSourceService;
30
+ this.bankAccountsService = bankAccountsService;
31
+ this.transactionAllocationService = transactionAllocationService;
32
+ this.vehicleClaimService = vehicleClaimService;
33
+ this.transactionService = transactionService;
34
+ this.cacheSubject = new ReplaySubject(1);
35
+ }
36
+ /**
37
+ * Get list of account setup items for current user
38
+ */
39
+ get() {
40
+ if (!this.cache) {
41
+ this.cache = new AccountSetupItemCollection([]);
42
+ this.clientIncomeTypesService.get()
43
+ .pipe(
44
+ // we need account setup only when user selected at least one income type
45
+ filter((incomeTypes) => !!incomeTypes.length), mergeMap((incomeTypes) => {
46
+ this.clientIncomeTypesId = incomeTypes.id;
47
+ return this.createBatch(incomeTypes);
48
+ }))
49
+ .subscribe((items) => {
50
+ switch (true) {
51
+ case !this.cache:
52
+ case this.cache.getBy('isCompleted', true).length !== items.getBy('isCompleted', true).length:
53
+ case this.cache.length !== items.length:
54
+ this.cache = cloneDeep(items);
55
+ this.cacheSubject.next(this.cache);
56
+ }
57
+ });
58
+ }
59
+ return this.cacheSubject.asObservable();
60
+ }
61
+ /**
62
+ * Prepare client income types to update to hide depended account setup items
63
+ */
64
+ prepareIncomeTypes(item) {
65
+ return plainToClass(ClientIncomeTypes, Object.assign({ id: this.clientIncomeTypesId }, fromPairs(item.clientIncomeTypes.map((type) => [type, false]))));
66
+ }
67
+ /**
68
+ * Get a single AccountSetupItem and check it's completion
69
+ */
70
+ create(itemType, request) {
71
+ return request.pipe(map((result) => {
72
+ const item = ACCOUNT_SETUP_ITEMS[itemType];
73
+ if (result.length) {
74
+ item.isCompleted = true;
75
+ }
76
+ else {
77
+ item.isCompleted = false;
78
+ }
79
+ return item;
80
+ }));
81
+ }
82
+ /**
83
+ * Get batch of requests to get list of required AccountSetupItem's.
84
+ * Some items are optional and depends of user's client income types
85
+ */
86
+ createBatch(incomeTypes) {
87
+ const batch = [];
88
+ // Salary item is completed when user added salary income source
89
+ if (incomeTypes.salary) {
90
+ batch.push(this.create(AccountSetupItemsEnum.SALARY, this.getIncomeSources(true)));
91
+ }
92
+ // Other income item is completed when user added at least one other income source
93
+ if (incomeTypes.dividends || incomeTypes.other) {
94
+ batch.push(this.create(AccountSetupItemsEnum.OTHER_INCOME, this.getIncomeSources()));
95
+ }
96
+ // Rental income item is completed when user added at least one property
97
+ if (incomeTypes.property) {
98
+ batch.push(this.create(AccountSetupItemsEnum.PROPERTY, this.propertyService.get()));
99
+ }
100
+ // Bank feeds item is completed when user added at least one bank account (basiq or manual)
101
+ batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.get()));
102
+ // Logbook item is completed when user has at least one vehicle claim with any method (klms or logbook)
103
+ batch.push(this.getLogbookItem());
104
+ // @TODO waiting for sole tank forecast page
105
+ // Sole item is completed when user added at least one sole income source
106
+ // if (incomeTypes.soleTrader) {
107
+ // batch.push(
108
+ // this.prepareItem(
109
+ // AccountSetupItemsEnum.SOLE_INCOME,
110
+ // this.getIncomeSourcesByType(IncomeSourceTypeEnum.SOLE)
111
+ // )
112
+ // );
113
+ // }
114
+ // Allocation item is completed when user added at least one transaction allocation
115
+ batch.push(this.create(AccountSetupItemsEnum.TRANSACTION, this.transactionAllocationService.get()));
116
+ return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
117
+ }
118
+ /**
119
+ * @TODO Alex: work with collection when services refactored
120
+ * @TODO Vik: waiting for income sources refactoring
121
+ */
122
+ getIncomeSources(isSalary = false) {
123
+ return this.incomeSourceService.get().pipe(map((incomeSources) => {
124
+ const collection = new IncomeSourceCollection(incomeSources);
125
+ if (isSalary) {
126
+ return collection.getSalary();
127
+ }
128
+ return collection.items.filter((incomeSource) => !incomeSource.isSalaryIncome() && !incomeSource.isSoleIncome());
129
+ }));
130
+ }
131
+ /**
132
+ * Show logbook item when user has at least 1 vehicle transaction
133
+ */
134
+ getLogbookItem() {
135
+ return this.transactionService.get()
136
+ .pipe(
137
+ // @TODO Alex: remove map when services start work with collections
138
+ map((transactions) => new TransactionCollection(transactions)), mergeMap((transactions) => {
139
+ if (transactions.getVehicleTransactions().length) {
140
+ return this.create(AccountSetupItemsEnum.WORK_LOGBOOK, this.vehicleClaimService.get());
141
+ }
142
+ return of(null);
143
+ }));
144
+ }
145
+ }
146
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }], target: i0.ɵɵFactoryTarget.Injectable });
147
+ AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, decorators: [{
149
+ type: Injectable,
150
+ args: [{
151
+ providedIn: 'root'
152
+ }]
153
+ }], ctorParameters: function () { return [{ type: i1.ClientIncomeTypesService }, { type: i2.PropertyService }, { type: i3.IncomeSourceService }, { type: i4.BankAccountService }, { type: i5.TransactionAllocationService }, { type: i6.VehicleClaimService }, { type: i7.TransactionService }]; } });
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFLcEYsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTdGLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBRTdGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFDVSx3QkFBa0QsRUFDbEQsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLG1CQUF1QyxFQUN2Qyw0QkFBMEQsRUFDMUQsbUJBQXdDLEVBQ3hDLGtCQUFzQztRQU50Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENB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QUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDeEY7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7aUhBcEtVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFDQ09VTlRfU0VUVVBfSVRFTVMgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW1zLmNvbnN0JztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW0nO1xuaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbXNFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtcy5lbnVtJztcbmltcG9ydCB7IEJhbmtBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2h0dHAvYmFuay9iYW5rLWFjY291bnQvYmFuay1hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50SW5jb21lVHlwZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuaW1wb3J0IHsgQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9maXJtL2NsaWVudC1pbmNvbWUvY2xpZW50LWluY29tZS10eXBlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2luY29tZS1zb3VyY2UuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2VUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2luY29tZS1zb3VyY2UtdHlwZS5lbnVtJztcbmltcG9ydCB7IFByb3BlcnR5U2VydmljZSB9IGZyb20gJy4uL2h0dHAvcHJvcGVydHkvcHJvcGVydHkuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9hY2NvdW50LXNldHVwLWl0ZW0uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0uc2VydmljZSc7XG5pbXBvcnQgZnJvbVBhaXJzIGZyb20gJ2xvZGFzaC9mcm9tUGFpcnMnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBTZXJ2aWNlIGhhbmRsaW5nIHVzZXIncyBhY2NvdW50IHNldHVwIHByb2Nlc3MuXG4gKiBDaGVja3MgcmVxdWlyZWQgc3RlcHMgYW5kIHRoZWlyIGNvbXBsZXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudFNldHVwU2VydmljZSB7XG4gIGNhY2hlOiBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbjtcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiA9IG5ldyBSZXBsYXlTdWJqZWN0PEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPigxKTtcbiAgY2xpZW50SW5jb21lVHlwZXNJZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlOiBDbGllbnRJbmNvbWVUeXBlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9wZXJ0eVNlcnZpY2U6IFByb3BlcnR5U2VydmljZSxcbiAgICBwcml2YXRlIGluY29tZVNvdXJjZVNlcnZpY2U6IEluY29tZVNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYW5rQWNjb3VudHNTZXJ2aWNlOiBCYW5rQWNjb3VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdmVoaWNsZUNsYWltU2VydmljZTogVmVoaWNsZUNsYWltU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIGFjY291bnQgc2V0dXAgaXRlbXMgZm9yIGN1cnJlbnQgdXNlclxuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuY2FjaGUgPSBuZXcgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24oW10pO1xuXG4gICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzU2VydmljZS5nZXQoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyB3ZSBuZWVkIGFjY291bnQgc2V0dXAgb25seSB3aGVuIHVzZXIgc2VsZWN0ZWQgYXQgbGVhc3Qgb25lIGluY29tZSB0eXBlXG4gICAgICAgICAgZmlsdGVyKChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpID0+ICEhaW5jb21lVHlwZXMubGVuZ3RoKSxcbiAgICAgICAgICBtZXJnZU1hcCgoaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzSWQgPSBpbmNvbWVUeXBlcy5pZDtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQmF0Y2goaW5jb21lVHlwZXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICBjYXNlICF0aGlzLmNhY2hlOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmdldEJ5KCdpc0NvbXBsZXRlZCcsIHRydWUpLmxlbmd0aCAhPT0gaXRlbXMuZ2V0QnkoJ2lzQ29tcGxldGVkJywgdHJ1ZSkubGVuZ3RoOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmxlbmd0aCAhPT0gaXRlbXMubGVuZ3RoOlxuICAgICAgICAgICAgICB0aGlzLmNhY2hlID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIGNsaWVudCBpbmNvbWUgdHlwZXMgdG8gdXBkYXRlIHRvIGhpZGUgZGVwZW5kZWQgYWNjb3VudCBzZXR1cCBpdGVtc1xuICAgKi9cbiAgcHJlcGFyZUluY29tZVR5cGVzKGl0ZW06IEFjY291bnRTZXR1cEl0ZW0pOiBDbGllbnRJbmNvbWVUeXBlcyB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhcbiAgICAgIENsaWVudEluY29tZVR5cGVzLFxuICAgICAgT2JqZWN0LmFzc2lnbih7aWQ6IHRoaXMuY2xpZW50SW5jb21lVHlwZXNJZH0sIGZyb21QYWlycyhpdGVtLmNsaWVudEluY29tZVR5cGVzLm1hcCgodHlwZTogc3RyaW5nKSA9PiBbdHlwZSwgZmFsc2VdKSkpXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSBBY2NvdW50U2V0dXBJdGVtIGFuZCBjaGVjayBpdCdzIGNvbXBsZXRpb25cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlKGl0ZW1UeXBlOiBBY2NvdW50U2V0dXBJdGVtc0VudW0sIHJlcXVlc3Q6IE9ic2VydmFibGU8b2JqZWN0W10+KTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPiB7XG4gICAgcmV0dXJuIHJlcXVlc3QucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiBvYmplY3RbXSk6IEFjY291bnRTZXR1cEl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBpdGVtOiBBY2NvdW50U2V0dXBJdGVtID0gQUNDT1VOVF9TRVRVUF9JVEVNU1tpdGVtVHlwZV07XG5cbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmF0Y2ggb2YgcmVxdWVzdHMgdG8gZ2V0IGxpc3Qgb2YgcmVxdWlyZWQgQWNjb3VudFNldHVwSXRlbSdzLlxuICAgKiBTb21lIGl0ZW1zIGFyZSBvcHRpb25hbCBhbmQgZGVwZW5kcyBvZiB1c2VyJ3MgY2xpZW50IGluY29tZSB0eXBlc1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCYXRjaChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgY29uc3QgYmF0Y2g6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT5bXSA9IFtdO1xuXG4gICAgLy8gU2FsYXJ5IGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBzYWxhcnkgaW5jb21lIHNvdXJjZVxuICAgIGlmIChpbmNvbWVUeXBlcy5zYWxhcnkpIHtcbiAgICAgIGJhdGNoLnB1c2goXG4gICAgICAgIHRoaXMuY3JlYXRlKFxuICAgICAgICAgIEFjY291bnRTZXR1cEl0ZW1zRW51bS5TQUxBUlksXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKHRydWUpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gT3RoZXIgaW5jb21lIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgb3RoZXIgaW5jb21lIHNvdXJjZVxuICAgIGlmIChpbmNvbWVUeXBlcy5kaXZpZGVuZHMgfHwgaW5jb21lVHlwZXMub3RoZXIpIHtcbiAgICAgIGJhdGNoLnB1c2goXG4gICAgICAgIHRoaXMuY3JlYXRlKFxuICAgICAgICAgIEFjY291bnRTZXR1cEl0ZW1zRW51bS5PVEhFUl9JTkNPTUUsXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBSZW50YWwgaW5jb21lIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgcHJvcGVydHlcbiAgICBpZiAoaW5jb21lVHlwZXMucHJvcGVydHkpIHtcbiAgICAgIGJhdGNoLnB1c2godGhpcy5jcmVhdGUoQWNjb3VudFNldHVwSXRlbXNFbnVtLlBST1BFUlRZLCB0aGlzLnByb3BlcnR5U2VydmljZS5nZXQoKSkpO1xuICAgIH1cblxuICAgIC8vIEJhbmsgZmVlZHMgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBiYW5rIGFjY291bnQgKGJhc2lxIG9yIG1hbnVhbClcbiAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5CQU5LX0ZFRURTLCB0aGlzLmJhbmtBY2NvdW50c1NlcnZpY2UuZ2V0KCkpKTtcblxuICAgIC8vIExvZ2Jvb2sgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGhhcyBhdCBsZWFzdCBvbmUgdmVoaWNsZSBjbGFpbSB3aXRoIGFueSBtZXRob2QgKGtsbXMgb3IgbG9nYm9vaylcbiAgICBiYXRjaC5wdXNoKHRoaXMuZ2V0TG9nYm9va0l0ZW0oKSk7XG5cbiAgICAvLyBAVE9ETyB3YWl0aW5nIGZvciBzb2xlIHRhbmsgZm9yZWNhc3QgcGFnZVxuICAgIC8vIFNvbGUgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBzb2xlIGluY29tZSBzb3VyY2VcbiAgICAvLyBpZiAoaW5jb21lVHlwZXMuc29sZVRyYWRlcikge1xuICAgIC8vICAgYmF0Y2gucHVzaChcbiAgICAvLyAgICAgdGhpcy5wcmVwYXJlSXRlbShcbiAgICAvLyAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uU09MRV9JTkNPTUUsXG4gICAgLy8gICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzQnlUeXBlKEluY29tZVNvdXJjZVR5cGVFbnVtLlNPTEUpXG4gICAgLy8gICAgIClcbiAgICAvLyAgICk7XG4gICAgLy8gfVxuXG4gICAgLy8gQWxsb2NhdGlvbiBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25cbiAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5UUkFOU0FDVElPTiwgdGhpcy50cmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlLmdldCgpKSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCkucGlwZShtYXAoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pID0+IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiB3b3JrIHdpdGggY29sbGVjdGlvbiB3aGVuIHNlcnZpY2VzIHJlZmFjdG9yZWRcbiAgICogQFRPRE8gVmlrOiB3YWl0aW5nIGZvciBpbmNvbWUgc291cmNlcyByZWZhY3RvcmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbmNvbWVTb3VyY2VzKGlzU2FsYXJ5OiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPEluY29tZVNvdXJjZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21lU291cmNlU2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IEluY29tZVNvdXJjZVtdID0+IHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogSW5jb21lU291cmNlQ29sbGVjdGlvbiA9IG5ldyBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoaXNTYWxhcnkpIHtcbiAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5nZXRTYWxhcnkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLml0ZW1zLmZpbHRlcigoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+ICFpbmNvbWVTb3VyY2UuaXNTYWxhcnlJbmNvbWUoKSAmJiAhaW5jb21lU291cmNlLmlzU29sZUluY29tZSgpKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgbG9nYm9vayBpdGVtIHdoZW4gdXNlciBoYXMgYXQgbGVhc3QgMSB2ZWhpY2xlIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIGdldExvZ2Jvb2tJdGVtKCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIEBUT0RPIEFsZXg6IHJlbW92ZSBtYXAgd2hlbiBzZXJ2aWNlcyBzdGFydCB3b3JrIHdpdGggY29sbGVjdGlvbnNcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pID0+IG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odHJhbnNhY3Rpb25zKSksXG4gICAgICAgIG1lcmdlTWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbnMuZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5XT1JLX0xPR0JPT0ssIHRoaXMudmVoaWNsZUNsYWltU2VydmljZS5nZXQoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -1,51 +1,51 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common/http";
4
- import * as i2 from "../user/user-switcher.service";
5
- /**
6
- * Service to work with assets (documents, receipts, e.t.c.)
7
- */
8
- export class AssetsService {
9
- constructor(http, userSwitcherService, environment) {
10
- this.http = http;
11
- this.userSwitcherService = userSwitcherService;
12
- this.environment = environment;
13
- this.impersonatedClient = this.userSwitcherService.get();
14
- }
15
- /**
16
- * Get asset link
17
- * @param asset to get the link for
18
- */
19
- getLink(asset) {
20
- return this.http.get(`${this.environment.apiV2}/assets/${asset.type}/${asset.id}`);
21
- }
22
- /**
23
- * Download asset
24
- * @param asset which should be downloaded
25
- * @TODO refactor
26
- */
27
- download(asset) {
28
- return `${this.environment.apiV2}/assets/${asset.type}/${asset.id}/download?bearer=${localStorage.getItem('token')}${this.impersonatedClient ? `&_switch_user=${this.impersonatedClient}` : ''}`;
29
- }
30
- // @Todo refactor to event dispatcher
31
- /**
32
- * Delete asset
33
- * @param entityId: id of asset main entity (property, folder, transaction, e.t.c.)
34
- * @param asset which should be deleted
35
- */
36
- delete(entityId, asset) {
37
- return this.http.delete(`${this.environment.apiV2}/${asset.entityType}/${entityId}/${asset.type}/${asset.id}`);
38
- }
39
- }
40
- AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: i2.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
41
- AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, providedIn: 'root' });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, decorators: [{
43
- type: Injectable,
44
- args: [{
45
- providedIn: 'root'
46
- }]
47
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.UserSwitcherService }, { type: undefined, decorators: [{
48
- type: Inject,
49
- args: ['environment']
50
- }] }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYXNzZXQvYXNzZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNbkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUNVLElBQWdCLEVBQ2hCLG1CQUF3QyxFQUNqQixXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDakIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFFL0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxXQUFXLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsS0FBYTtRQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFdBQVcsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxvQkFBb0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDbk0sQ0FBQztJQUVELHFDQUFxQztJQUNyQzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQWdCLEVBQUUsS0FBYTtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDOzsyR0FyQ1UsYUFBYSwrRUFPZCxhQUFhOytHQVBaLGFBQWEsY0FGWixNQUFNOzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJQXNzZXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Fzc2V0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFVzZXJTd2l0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi91c2VyL3VzZXItc3dpdGNoZXIuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSB0byB3b3JrIHdpdGggYXNzZXRzIChkb2N1bWVudHMsIHJlY2VpcHRzLCBlLnQuYy4pXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc3NldHNTZXJ2aWNlIHtcclxuICAvLyBjbGllbnQgdGhhdCB3YXMgc3dpdGNoZWQgZnJvbSBtYW5hZ2VyIGFjY291bnRcclxuICBpbXBlcnNvbmF0ZWRDbGllbnQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHVzZXJTd2l0Y2hlclNlcnZpY2U6IFVzZXJTd2l0Y2hlclNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5pbXBlcnNvbmF0ZWRDbGllbnQgPSB0aGlzLnVzZXJTd2l0Y2hlclNlcnZpY2UuZ2V0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYXNzZXQgbGlua1xyXG4gICAqIEBwYXJhbSBhc3NldCB0byBnZXQgdGhlIGxpbmsgZm9yXHJcbiAgICovXHJcbiAgZ2V0TGluayhhc3NldDogSUFzc2V0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2Fzc2V0cy8ke2Fzc2V0LnR5cGV9LyR7YXNzZXQuaWR9YCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb3dubG9hZCBhc3NldFxyXG4gICAqIEBwYXJhbSBhc3NldCB3aGljaCBzaG91bGQgYmUgZG93bmxvYWRlZFxyXG4gICAqIEBUT0RPIHJlZmFjdG9yXHJcbiAgICovXHJcbiAgZG93bmxvYWQoYXNzZXQ6IElBc3NldCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYXNzZXRzLyR7YXNzZXQudHlwZX0vJHthc3NldC5pZH0vZG93bmxvYWQ/YmVhcmVyPSR7bG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyl9JHt0aGlzLmltcGVyc29uYXRlZENsaWVudCA/IGAmX3N3aXRjaF91c2VyPSR7dGhpcy5pbXBlcnNvbmF0ZWRDbGllbnR9YCA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICAvLyBAVG9kbyByZWZhY3RvciB0byBldmVudCBkaXNwYXRjaGVyXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGFzc2V0XHJcbiAgICogQHBhcmFtIGVudGl0eUlkOiBpZCBvZiBhc3NldCBtYWluIGVudGl0eSAocHJvcGVydHksIGZvbGRlciwgdHJhbnNhY3Rpb24sIGUudC5jLilcclxuICAgKiBAcGFyYW0gYXNzZXQgd2hpY2ggc2hvdWxkIGJlIGRlbGV0ZWRcclxuICAgKi9cclxuICBkZWxldGUoZW50aXR5SWQ6IG51bWJlciwgYXNzZXQ6IElBc3NldCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke2Fzc2V0LmVudGl0eVR5cGV9LyR7ZW50aXR5SWR9LyR7YXNzZXQudHlwZX0vJHthc3NldC5pZH1gKTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common/http";
4
+ import * as i2 from "../user/user-switcher.service";
5
+ /**
6
+ * Service to work with assets (documents, receipts, e.t.c.)
7
+ */
8
+ export class AssetsService {
9
+ constructor(http, userSwitcherService, environment) {
10
+ this.http = http;
11
+ this.userSwitcherService = userSwitcherService;
12
+ this.environment = environment;
13
+ this.impersonatedClient = this.userSwitcherService.get();
14
+ }
15
+ /**
16
+ * Get asset link
17
+ * @param asset to get the link for
18
+ */
19
+ getLink(asset) {
20
+ return this.http.get(`${this.environment.apiV2}/assets/${asset.type}/${asset.id}`);
21
+ }
22
+ /**
23
+ * Download asset
24
+ * @param asset which should be downloaded
25
+ * @TODO refactor
26
+ */
27
+ download(asset) {
28
+ return `${this.environment.apiV2}/assets/${asset.type}/${asset.id}/download?bearer=${localStorage.getItem('token')}${this.impersonatedClient ? `&_switch_user=${this.impersonatedClient}` : ''}`;
29
+ }
30
+ // @Todo refactor to event dispatcher
31
+ /**
32
+ * Delete asset
33
+ * @param entityId: id of asset main entity (property, folder, transaction, e.t.c.)
34
+ * @param asset which should be deleted
35
+ */
36
+ delete(entityId, asset) {
37
+ return this.http.delete(`${this.environment.apiV2}/${asset.entityType}/${entityId}/${asset.type}/${asset.id}`);
38
+ }
39
+ }
40
+ AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: i2.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AssetsService, providedIn: 'root' });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AssetsService, decorators: [{
43
+ type: Injectable,
44
+ args: [{
45
+ providedIn: 'root'
46
+ }]
47
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.UserSwitcherService }, { type: undefined, decorators: [{
48
+ type: Inject,
49
+ args: ['environment']
50
+ }] }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYXNzZXQvYXNzZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNbkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUNVLElBQWdCLEVBQ2hCLG1CQUF3QyxFQUNqQixXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDakIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFFL0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxXQUFXLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsS0FBYTtRQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFdBQVcsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxvQkFBb0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDbk0sQ0FBQztJQUVELHFDQUFxQztJQUNyQzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQWdCLEVBQUUsS0FBYTtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDOzsyR0FyQ1UsYUFBYSwrRUFPZCxhQUFhOytHQVBaLGFBQWEsY0FGWixNQUFNOzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJQXNzZXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Fzc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyU3dpdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdXNlci91c2VyLXN3aXRjaGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIGFzc2V0cyAoZG9jdW1lbnRzLCByZWNlaXB0cywgZS50LmMuKVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBc3NldHNTZXJ2aWNlIHtcbiAgLy8gY2xpZW50IHRoYXQgd2FzIHN3aXRjaGVkIGZyb20gbWFuYWdlciBhY2NvdW50XG4gIGltcGVyc29uYXRlZENsaWVudDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHVzZXJTd2l0Y2hlclNlcnZpY2U6IFVzZXJTd2l0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5pbXBlcnNvbmF0ZWRDbGllbnQgPSB0aGlzLnVzZXJTd2l0Y2hlclNlcnZpY2UuZ2V0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFzc2V0IGxpbmtcbiAgICogQHBhcmFtIGFzc2V0IHRvIGdldCB0aGUgbGluayBmb3JcbiAgICovXG4gIGdldExpbmsoYXNzZXQ6IElBc3NldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYXNzZXRzLyR7YXNzZXQudHlwZX0vJHthc3NldC5pZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZCBhc3NldFxuICAgKiBAcGFyYW0gYXNzZXQgd2hpY2ggc2hvdWxkIGJlIGRvd25sb2FkZWRcbiAgICogQFRPRE8gcmVmYWN0b3JcbiAgICovXG4gIGRvd25sb2FkKGFzc2V0OiBJQXNzZXQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9hc3NldHMvJHthc3NldC50eXBlfS8ke2Fzc2V0LmlkfS9kb3dubG9hZD9iZWFyZXI9JHtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKX0ke3RoaXMuaW1wZXJzb25hdGVkQ2xpZW50ID8gYCZfc3dpdGNoX3VzZXI9JHt0aGlzLmltcGVyc29uYXRlZENsaWVudH1gIDogJyd9YDtcbiAgfVxuXG4gIC8vIEBUb2RvIHJlZmFjdG9yIHRvIGV2ZW50IGRpc3BhdGNoZXJcbiAgLyoqXG4gICAqIERlbGV0ZSBhc3NldFxuICAgKiBAcGFyYW0gZW50aXR5SWQ6IGlkIG9mIGFzc2V0IG1haW4gZW50aXR5IChwcm9wZXJ0eSwgZm9sZGVyLCB0cmFuc2FjdGlvbiwgZS50LmMuKVxuICAgKiBAcGFyYW0gYXNzZXQgd2hpY2ggc2hvdWxkIGJlIGRlbGV0ZWRcbiAgICovXG4gIGRlbGV0ZShlbnRpdHlJZDogbnVtYmVyLCBhc3NldDogSUFzc2V0KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke2Fzc2V0LmVudGl0eVR5cGV9LyR7ZW50aXR5SWR9LyR7YXNzZXQudHlwZX0vJHthc3NldC5pZH1gKTtcbiAgfVxufVxuIl19
@@ -1,46 +1,46 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- import * as i2 from "./jwt.service";
7
- export class AuthService {
8
- constructor(http, jwtService, environment) {
9
- this.http = http;
10
- this.jwtService = jwtService;
11
- this.environment = environment;
12
- this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
13
- }
14
- setAuth(response) {
15
- this.jwtService.saveTokens(response);
16
- this.isLoggedInSubject.next(true);
17
- }
18
- login(username, password) {
19
- return this.http.post(`${this.environment.apiV2}/login_check`, { username, password }).pipe(map((response) => {
20
- this.setAuth(response);
21
- return response;
22
- }));
23
- }
24
- refresh(refreshToken) {
25
- return this.http.post(`${this.environment.apiV2}/token/refresh`, { refreshToken }).pipe(map((response) => {
26
- this.setAuth(response);
27
- return response;
28
- }));
29
- }
30
- logoutFront(url = '/login') {
31
- localStorage.clear();
32
- location.replace(url);
33
- }
34
- }
35
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
36
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, providedIn: 'root' });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, decorators: [{
38
- type: Injectable,
39
- args: [{
40
- providedIn: 'root'
41
- }]
42
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.JwtService }, { type: undefined, decorators: [{
43
- type: Inject,
44
- args: ['environment']
45
- }] }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3JDLE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ1UsSUFBZ0IsRUFDaEIsVUFBc0IsRUFDQyxXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUUvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssY0FBYyxFQUFFLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0JBQWdCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckYsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLFFBQVE7UUFDaEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7eUdBckNVLFdBQVcsc0VBTVosYUFBYTs2R0FOWixXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi9qd3Quc2VydmljZSc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICBpc0xvZ2dlZEluU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgand0U2VydmljZTogSnd0U2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XHJcbiAgKSB7XHJcbiAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCghdGhpcy5qd3RTZXJ2aWNlLmlzVG9rZW5FeHBpcmVkKCkpO1xyXG4gIH1cclxuXHJcbiAgc2V0QXV0aChyZXNwb25zZTogYW55KSB7XHJcbiAgICB0aGlzLmp3dFNlcnZpY2Uuc2F2ZVRva2VucyhyZXNwb25zZSk7XHJcbiAgICB0aGlzLmlzTG9nZ2VkSW5TdWJqZWN0Lm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vbG9naW5fY2hlY2tgLCB7dXNlcm5hbWUsIHBhc3N3b3JkfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRBdXRoKHJlc3BvbnNlKTtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaChyZWZyZXNoVG9rZW46IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Rva2VuL3JlZnJlc2hgLCB7IHJlZnJlc2hUb2tlbiB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNldEF1dGgocmVzcG9uc2UpO1xyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXRGcm9udCh1cmw6IHN0cmluZyA9ICcvbG9naW4nKTogdm9pZCB7XHJcbiAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuICAgIGxvY2F0aW9uLnJlcGxhY2UodXJsKTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ import * as i2 from "./jwt.service";
7
+ export class AuthService {
8
+ constructor(http, jwtService, environment) {
9
+ this.http = http;
10
+ this.jwtService = jwtService;
11
+ this.environment = environment;
12
+ this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
13
+ }
14
+ setAuth(response) {
15
+ this.jwtService.saveTokens(response);
16
+ this.isLoggedInSubject.next(true);
17
+ }
18
+ login(username, password) {
19
+ return this.http.post(`${this.environment.apiV2}/login_check`, { username, password }).pipe(map((response) => {
20
+ this.setAuth(response);
21
+ return response;
22
+ }));
23
+ }
24
+ refresh(refreshToken) {
25
+ return this.http.post(`${this.environment.apiV2}/token/refresh`, { refreshToken }).pipe(map((response) => {
26
+ this.setAuth(response);
27
+ return response;
28
+ }));
29
+ }
30
+ logoutFront(url = '/login') {
31
+ localStorage.clear();
32
+ location.replace(url);
33
+ }
34
+ }
35
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthService, providedIn: 'root' });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthService, decorators: [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root'
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.JwtService }, { type: undefined, decorators: [{
43
+ type: Inject,
44
+ args: ['environment']
45
+ }] }]; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3JDLE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ1UsSUFBZ0IsRUFDaEIsVUFBc0IsRUFDQyxXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUUvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssY0FBYyxFQUFFLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0JBQWdCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckYsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLFFBQVE7UUFDaEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7eUdBckNVLFdBQVcsc0VBTVosYUFBYTs2R0FOWixXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi9qd3Quc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgaXNMb2dnZWRJblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCF0aGlzLmp3dFNlcnZpY2UuaXNUb2tlbkV4cGlyZWQoKSk7XG4gIH1cblxuICBzZXRBdXRoKHJlc3BvbnNlOiBhbnkpIHtcbiAgICB0aGlzLmp3dFNlcnZpY2Uuc2F2ZVRva2VucyhyZXNwb25zZSk7XG4gICAgdGhpcy5pc0xvZ2dlZEluU3ViamVjdC5uZXh0KHRydWUpO1xuICB9XG5cbiAgbG9naW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9sb2dpbl9jaGVja2AsIHt1c2VybmFtZSwgcGFzc3dvcmR9KS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0QXV0aChyZXNwb25zZSk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlZnJlc2gocmVmcmVzaFRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdG9rZW4vcmVmcmVzaGAsIHsgcmVmcmVzaFRva2VuIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zZXRBdXRoKHJlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbG9nb3V0RnJvbnQodXJsOiBzdHJpbmcgPSAnL2xvZ2luJyk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIGxvY2F0aW9uLnJlcGxhY2UodXJsKTtcbiAgfVxufVxuIl19