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,80 +1,80 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { RestService } from '../../rest/rest.service';
4
- import { plainToClass } from 'class-transformer';
5
- import { UserEventTypeClientTypeEnum } from '../../../../db/Enums/user-event-type-client-type.enum';
6
- import { BankTransaction } from '../../../../models/bank/bank-transaction';
7
- import { FinancialYear } from '../../../../models/financial-year/financial-year';
8
- import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * Service for bank transactions business logic
12
- */
13
- export class BankTransactionService extends RestService {
14
- constructor() {
15
- super(...arguments);
16
- // url part for BankTransaction API
17
- this.url = 'bank-transactions';
18
- this.modelClass = BankTransaction;
19
- }
20
- listenEvents() {
21
- this.listenBankTransactionsImport();
22
- }
23
- ;
24
- /**
25
- * get list of bank transactions for passed bank account id
26
- * @param bankAccountId Id of bank account we search bank transactions for
27
- */
28
- getByBankAccountId(bankAccountId) {
29
- return this.get()
30
- .pipe(map((bankTransactions) => {
31
- return bankTransactions.filter((bankTransaction) => bankTransaction.bankAccount.id === bankAccountId);
32
- }));
33
- }
34
- /**
35
- * Get list of bank transactions for provided financial year
36
- * @TODO VIK/Alex: consider to use one endpoint to get bank transactions for 2 fin years
37
- */
38
- getTransactionsByYear(finYear) {
39
- return this.http.get(`${this.environment.apiV2}/bank-transactions?financialYear=${finYear}`)
40
- .pipe(map((bankTransactionsBase) => {
41
- return bankTransactionsBase.map((bankTransaction) => plainToClass(BankTransaction, bankTransaction));
42
- }));
43
- }
44
- /**
45
- * import bank transactions from csv file
46
- * @param bankAccountId Bank account id we import bank transactions for
47
- * @param file File with bank transactions for import
48
- */
49
- import(bankAccountId, file) {
50
- const formData = new FormData();
51
- formData.append('file', file);
52
- return this.http.post(`${this.environment.apiV2}/bank-accounts/${bankAccountId}/bank-transaction-imports`, formData)
53
- .pipe(map((response) => {
54
- const newBankTransactions = response.map((bankTransaction) => plainToClass(BankTransaction, bankTransaction));
55
- // push new items to cache only if we already have cache. Otherwise cache will contain only new items.
56
- if (this.cache) {
57
- // just current year's transactions should be added
58
- this.cache.push(...newBankTransactions.filter((bt) => new FinancialYear().includes(bt.date)));
59
- this.updateCache();
60
- }
61
- return newBankTransactions;
62
- }));
63
- }
64
- listenBankTransactionsImport() {
65
- this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
66
- if (!notification.isRead && notification.eventType === UserEventTypeClientTypeEnum.BASIQ_FIRST_IMPORT_COMPLETE) {
67
- this.resetCache();
68
- }
69
- });
70
- }
71
- }
72
- BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
73
- BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, decorators: [{
75
- type: Injectable,
76
- args: [{
77
- providedIn: 'root'
78
- }]
79
- }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLXRyYW5zYWN0aW9uL2JhbmstdHJhbnNhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBSWhGOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQWlEO0lBSDdGOztRQUlFLG1DQUFtQztRQUNuQyxRQUFHLEdBQVcsbUJBQW1CLENBQUM7UUFDbEMsZUFBVSxHQUFHLGVBQWUsQ0FBQztLQWdFOUI7SUE5REMsWUFBWTtRQUNWLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFBQSxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsYUFBcUI7UUFDdEMsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ2QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGdCQUFtQyxFQUFFLEVBQUU7WUFDMUMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxhQUFhLENBQUMsQ0FBQztRQUN6SCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNILHFCQUFxQixDQUFDLE9BQWU7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxvQ0FBb0MsT0FBTyxFQUFFLENBQUM7YUFDekYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLG9CQUEyQyxFQUFFLEVBQUU7WUFDbEQsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEgsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGFBQXFCLEVBQUUsSUFBVTtRQUN0QyxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssa0JBQWtCLGFBQWEsMkJBQTJCLEVBQUUsUUFBUSxDQUFDO2FBQ2pILElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUErQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxtQkFBbUIsR0FBc0IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQW9DLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUN0SixzR0FBc0c7WUFDdEcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLG1EQUFtRDtnQkFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7WUFFRCxPQUFPLG1CQUFtQixDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDM0csSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSywyQkFBMkIsQ0FBQywyQkFBMkIsRUFBRTtnQkFDOUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFsRVUsc0JBQXNCO3dIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYW5rVHJhbnNhY3Rpb24gYXMgQmFua1RyYW5zYWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcclxuaW1wb3J0IHsgVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWNsaWVudC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBCYW5rVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uJztcclxuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XHJcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSBmb3IgYmFuayB0cmFuc2FjdGlvbnMgYnVzaW5lc3MgbG9naWNcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhbmtUcmFuc2FjdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYW5rVHJhbnNhY3Rpb25CYXNlLCBCYW5rVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xyXG4gIC8vIHVybCBwYXJ0IGZvciBCYW5rVHJhbnNhY3Rpb24gQVBJXHJcbiAgdXJsOiBzdHJpbmcgPSAnYmFuay10cmFuc2FjdGlvbnMnO1xyXG4gIG1vZGVsQ2xhc3MgPSBCYW5rVHJhbnNhY3Rpb247XHJcblxyXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcclxuICAgIHRoaXMubGlzdGVuQmFua1RyYW5zYWN0aW9uc0ltcG9ydCgpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIGdldCBsaXN0IG9mIGJhbmsgdHJhbnNhY3Rpb25zIGZvciBwYXNzZWQgYmFuayBhY2NvdW50IGlkXHJcbiAgICogQHBhcmFtIGJhbmtBY2NvdW50SWQgSWQgb2YgYmFuayBhY2NvdW50IHdlIHNlYXJjaCBiYW5rIHRyYW5zYWN0aW9ucyBmb3JcclxuICAgKi9cclxuICBnZXRCeUJhbmtBY2NvdW50SWQoYmFua0FjY291bnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxCYW5rVHJhbnNhY3Rpb25bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChiYW5rVHJhbnNhY3Rpb25zOiBCYW5rVHJhbnNhY3Rpb25bXSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGJhbmtUcmFuc2FjdGlvbnMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LmlkID09PSBiYW5rQWNjb3VudElkKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGxpc3Qgb2YgYmFuayB0cmFuc2FjdGlvbnMgZm9yIHByb3ZpZGVkIGZpbmFuY2lhbCB5ZWFyXHJcbiAgICogQFRPRE8gVklLL0FsZXg6IGNvbnNpZGVyIHRvIHVzZSBvbmUgZW5kcG9pbnQgdG8gZ2V0IGJhbmsgdHJhbnNhY3Rpb25zIGZvciAyIGZpbiB5ZWFyc1xyXG4gICAqL1xyXG4gIGdldFRyYW5zYWN0aW9uc0J5WWVhcihmaW5ZZWFyOiBudW1iZXIpOiBPYnNlcnZhYmxlPEJhbmtUcmFuc2FjdGlvbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYW5rLXRyYW5zYWN0aW9ucz9maW5hbmNpYWxZZWFyPSR7ZmluWWVhcn1gKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGJhbmtUcmFuc2FjdGlvbnNCYXNlOiBCYW5rVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcclxuICAgICAgICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb25zQmFzZS5tYXAoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBwbGFpblRvQ2xhc3MoQmFua1RyYW5zYWN0aW9uLCBiYW5rVHJhbnNhY3Rpb24pKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogaW1wb3J0IGJhbmsgdHJhbnNhY3Rpb25zIGZyb20gY3N2IGZpbGVcclxuICAgKiBAcGFyYW0gYmFua0FjY291bnRJZCBCYW5rIGFjY291bnQgaWQgd2UgaW1wb3J0IGJhbmsgdHJhbnNhY3Rpb25zIGZvclxyXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgd2l0aCBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgaW1wb3J0XHJcbiAgICovXHJcbiAgaW1wb3J0KGJhbmtBY2NvdW50SWQ6IG51bWJlciwgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8QmFua1RyYW5zYWN0aW9uW10+IHtcclxuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2JhbmstYWNjb3VudHMvJHtiYW5rQWNjb3VudElkfS9iYW5rLXRyYW5zYWN0aW9uLWltcG9ydHNgLCBmb3JtRGF0YSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZTogQmFua1RyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBuZXdCYW5rVHJhbnNhY3Rpb25zOiBCYW5rVHJhbnNhY3Rpb25bXSA9IHJlc3BvbnNlLm1hcCgoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb25CYXNlKSA9PiBwbGFpblRvQ2xhc3MoQmFua1RyYW5zYWN0aW9uLCBiYW5rVHJhbnNhY3Rpb24pKTtcclxuICAgICAgICAgIC8vIHB1c2ggbmV3IGl0ZW1zIHRvIGNhY2hlIG9ubHkgaWYgd2UgYWxyZWFkeSBoYXZlIGNhY2hlLiBPdGhlcndpc2UgY2FjaGUgd2lsbCBjb250YWluIG9ubHkgbmV3IGl0ZW1zLlxyXG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcclxuICAgICAgICAgICAgLy8ganVzdCBjdXJyZW50IHllYXIncyB0cmFuc2FjdGlvbnMgc2hvdWxkIGJlIGFkZGVkXHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5uZXdCYW5rVHJhbnNhY3Rpb25zLmZpbHRlcigoYnQ6IEJhbmtUcmFuc2FjdGlvbikgPT4gbmV3IEZpbmFuY2lhbFllYXIoKS5pbmNsdWRlcyhidC5kYXRlKSkpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgcmV0dXJuIG5ld0JhbmtUcmFuc2FjdGlvbnM7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuQmFua1RyYW5zYWN0aW9uc0ltcG9ydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5pc1JlYWQgJiYgbm90aWZpY2F0aW9uLmV2ZW50VHlwZSA9PT0gVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtLkJBU0lRX0ZJUlNUX0lNUE9SVF9DT01QTEVURSkge1xyXG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { RestService } from '../../rest/rest.service';
4
+ import { plainToClass } from 'class-transformer';
5
+ import { UserEventTypeClientTypeEnum } from '../../../../db/Enums/user-event-type-client-type.enum';
6
+ import { BankTransaction } from '../../../../models/bank/bank-transaction';
7
+ import { FinancialYear } from '../../../../models/financial-year/financial-year';
8
+ import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * Service for bank transactions business logic
12
+ */
13
+ export class BankTransactionService extends RestService {
14
+ constructor() {
15
+ super(...arguments);
16
+ // url part for BankTransaction API
17
+ this.url = 'bank-transactions';
18
+ this.modelClass = BankTransaction;
19
+ }
20
+ listenEvents() {
21
+ this.listenBankTransactionsImport();
22
+ }
23
+ ;
24
+ /**
25
+ * get list of bank transactions for passed bank account id
26
+ * @param bankAccountId Id of bank account we search bank transactions for
27
+ */
28
+ getByBankAccountId(bankAccountId) {
29
+ return this.get()
30
+ .pipe(map((bankTransactions) => {
31
+ return bankTransactions.filter((bankTransaction) => bankTransaction.bankAccount.id === bankAccountId);
32
+ }));
33
+ }
34
+ /**
35
+ * Get list of bank transactions for provided financial year
36
+ * @TODO VIK/Alex: consider to use one endpoint to get bank transactions for 2 fin years
37
+ */
38
+ getTransactionsByYear(finYear) {
39
+ return this.http.get(`${this.environment.apiV2}/bank-transactions?financialYear=${finYear}`)
40
+ .pipe(map((bankTransactionsBase) => {
41
+ return bankTransactionsBase.map((bankTransaction) => plainToClass(BankTransaction, bankTransaction));
42
+ }));
43
+ }
44
+ /**
45
+ * import bank transactions from csv file
46
+ * @param bankAccountId Bank account id we import bank transactions for
47
+ * @param file File with bank transactions for import
48
+ */
49
+ import(bankAccountId, file) {
50
+ const formData = new FormData();
51
+ formData.append('file', file);
52
+ return this.http.post(`${this.environment.apiV2}/bank-accounts/${bankAccountId}/bank-transaction-imports`, formData)
53
+ .pipe(map((response) => {
54
+ const newBankTransactions = response.map((bankTransaction) => plainToClass(BankTransaction, bankTransaction));
55
+ // push new items to cache only if we already have cache. Otherwise cache will contain only new items.
56
+ if (this.cache) {
57
+ // just current year's transactions should be added
58
+ this.cache.push(...newBankTransactions.filter((bt) => new FinancialYear().includes(bt.date)));
59
+ this.updateCache();
60
+ }
61
+ return newBankTransactions;
62
+ }));
63
+ }
64
+ listenBankTransactionsImport() {
65
+ this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
66
+ if (!notification.isRead && notification.eventType === UserEventTypeClientTypeEnum.BASIQ_FIRST_IMPORT_COMPLETE) {
67
+ this.resetCache();
68
+ }
69
+ });
70
+ }
71
+ }
72
+ BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
73
+ BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, decorators: [{
75
+ type: Injectable,
76
+ args: [{
77
+ providedIn: 'root'
78
+ }]
79
+ }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLXRyYW5zYWN0aW9uL2JhbmstdHJhbnNhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBSWhGOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQWlEO0lBSDdGOztRQUlFLG1DQUFtQztRQUNuQyxRQUFHLEdBQVcsbUJBQW1CLENBQUM7UUFDbEMsZUFBVSxHQUFHLGVBQWUsQ0FBQztLQWdFOUI7SUE5REMsWUFBWTtRQUNWLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFBQSxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsYUFBcUI7UUFDdEMsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ2QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGdCQUFtQyxFQUFFLEVBQUU7WUFDMUMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxhQUFhLENBQUMsQ0FBQztRQUN6SCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNILHFCQUFxQixDQUFDLE9BQWU7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxvQ0FBb0MsT0FBTyxFQUFFLENBQUM7YUFDekYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLG9CQUEyQyxFQUFFLEVBQUU7WUFDbEQsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEgsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGFBQXFCLEVBQUUsSUFBVTtRQUN0QyxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssa0JBQWtCLGFBQWEsMkJBQTJCLEVBQUUsUUFBUSxDQUFDO2FBQ2pILElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUErQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxtQkFBbUIsR0FBc0IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQW9DLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUN0SixzR0FBc0c7WUFDdEcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLG1EQUFtRDtnQkFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7WUFFRCxPQUFPLG1CQUFtQixDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDM0csSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSywyQkFBMkIsQ0FBQywyQkFBMkIsRUFBRTtnQkFDOUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFsRVUsc0JBQXNCO3dIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIGFzIEJhbmtUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWNsaWVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBiYW5rIHRyYW5zYWN0aW9ucyBidXNpbmVzcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYW5rVHJhbnNhY3Rpb25TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFua1RyYW5zYWN0aW9uQmFzZSwgQmFua1RyYW5zYWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgLy8gdXJsIHBhcnQgZm9yIEJhbmtUcmFuc2FjdGlvbiBBUElcbiAgdXJsOiBzdHJpbmcgPSAnYmFuay10cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gQmFua1RyYW5zYWN0aW9uO1xuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkJhbmtUcmFuc2FjdGlvbnNJbXBvcnQoKTtcbiAgfTtcblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgYmFuayB0cmFuc2FjdGlvbnMgZm9yIHBhc3NlZCBiYW5rIGFjY291bnQgaWRcbiAgICogQHBhcmFtIGJhbmtBY2NvdW50SWQgSWQgb2YgYmFuayBhY2NvdW50IHdlIHNlYXJjaCBiYW5rIHRyYW5zYWN0aW9ucyBmb3JcbiAgICovXG4gIGdldEJ5QmFua0FjY291bnRJZChiYW5rQWNjb3VudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEJhbmtUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGJhbmtUcmFuc2FjdGlvbnM6IEJhbmtUcmFuc2FjdGlvbltdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGJhbmtUcmFuc2FjdGlvbnMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LmlkID09PSBiYW5rQWNjb3VudElkKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgYmFuayB0cmFuc2FjdGlvbnMgZm9yIHByb3ZpZGVkIGZpbmFuY2lhbCB5ZWFyXG4gICAqIEBUT0RPIFZJSy9BbGV4OiBjb25zaWRlciB0byB1c2Ugb25lIGVuZHBvaW50IHRvIGdldCBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgMiBmaW4geWVhcnNcbiAgICovXG4gIGdldFRyYW5zYWN0aW9uc0J5WWVhcihmaW5ZZWFyOiBudW1iZXIpOiBPYnNlcnZhYmxlPEJhbmtUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFuay10cmFuc2FjdGlvbnM/ZmluYW5jaWFsWWVhcj0ke2ZpblllYXJ9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGJhbmtUcmFuc2FjdGlvbnNCYXNlOiBCYW5rVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gYmFua1RyYW5zYWN0aW9uc0Jhc2UubWFwKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gcGxhaW5Ub0NsYXNzKEJhbmtUcmFuc2FjdGlvbiwgYmFua1RyYW5zYWN0aW9uKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGltcG9ydCBiYW5rIHRyYW5zYWN0aW9ucyBmcm9tIGNzdiBmaWxlXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudElkIEJhbmsgYWNjb3VudCBpZCB3ZSBpbXBvcnQgYmFuayB0cmFuc2FjdGlvbnMgZm9yXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgd2l0aCBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgaW1wb3J0XG4gICAqL1xuICBpbXBvcnQoYmFua0FjY291bnRJZDogbnVtYmVyLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxCYW5rVHJhbnNhY3Rpb25bXT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2JhbmstYWNjb3VudHMvJHtiYW5rQWNjb3VudElkfS9iYW5rLXRyYW5zYWN0aW9uLWltcG9ydHNgLCBmb3JtRGF0YSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYW5rVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdCYW5rVHJhbnNhY3Rpb25zOiBCYW5rVHJhbnNhY3Rpb25bXSA9IHJlc3BvbnNlLm1hcCgoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb25CYXNlKSA9PiBwbGFpblRvQ2xhc3MoQmFua1RyYW5zYWN0aW9uLCBiYW5rVHJhbnNhY3Rpb24pKTtcbiAgICAgICAgICAvLyBwdXNoIG5ldyBpdGVtcyB0byBjYWNoZSBvbmx5IGlmIHdlIGFscmVhZHkgaGF2ZSBjYWNoZS4gT3RoZXJ3aXNlIGNhY2hlIHdpbGwgY29udGFpbiBvbmx5IG5ldyBpdGVtcy5cbiAgICAgICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAgICAgLy8ganVzdCBjdXJyZW50IHllYXIncyB0cmFuc2FjdGlvbnMgc2hvdWxkIGJlIGFkZGVkXG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2goLi4ubmV3QmFua1RyYW5zYWN0aW9ucy5maWx0ZXIoKGJ0OiBCYW5rVHJhbnNhY3Rpb24pID0+IG5ldyBGaW5hbmNpYWxZZWFyKCkuaW5jbHVkZXMoYnQuZGF0ZSkpKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV3QmFua1RyYW5zYWN0aW9ucztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkJhbmtUcmFuc2FjdGlvbnNJbXBvcnQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5pc1JlYWQgJiYgbm90aWZpY2F0aW9uLmV2ZW50VHlwZSA9PT0gVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtLkJBU0lRX0ZJUlNUX0lNUE9SVF9DT01QTEVURSkge1xuICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,24 +1,24 @@
1
- import { Injectable } from '@angular/core';
2
- import { Bank } from '../../../models/bank/bank';
3
- import { RestService } from '../rest/rest.service';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Service that handling banks logic
7
- */
8
- export class BankService extends RestService {
9
- constructor() {
10
- super(...arguments);
11
- this.modelClass = Bank;
12
- this.url = 'banks';
13
- this.isHydra = true;
14
- }
15
- }
16
- BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
- BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, decorators: [{
19
- type: Injectable,
20
- args: [{
21
- providedIn: 'root'
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBMkI7SUFINUQ7O1FBSUUsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFDL0IsUUFBRyxHQUFXLE9BQU8sQ0FBQztRQUN0QixZQUFPLEdBQVksSUFBSSxDQUFDO0tBQ3pCOzt5R0FKWSxXQUFXOzZHQUFYLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYW5rIGFzIEJhbmtCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL2JhbmsvYmFuayc7XHJcbmltcG9ydCB7IEJhbmsgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYmFuay9iYW5rJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIGJhbmtzIGxvZ2ljXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYW5rU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtCYXNlLCBCYW5rPiB7XHJcbiAgbW9kZWxDbGFzczogdHlwZW9mIEJhbmsgPSBCYW5rO1xyXG4gIHVybDogc3RyaW5nID0gJ2JhbmtzJztcclxuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcclxufVxyXG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { Bank } from '../../../models/bank/bank';
3
+ import { RestService } from '../rest/rest.service';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Service that handling banks logic
7
+ */
8
+ export class BankService extends RestService {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.modelClass = Bank;
12
+ this.url = 'banks';
13
+ this.isHydra = true;
14
+ }
15
+ }
16
+ BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
+ BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root'
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsV0FBMkI7SUFINUQ7O1FBSUUsZUFBVSxHQUFnQixJQUFJLENBQUM7UUFDL0IsUUFBRyxHQUFXLE9BQU8sQ0FBQztRQUN0QixZQUFPLEdBQVksSUFBSSxDQUFDO0tBQ3pCOzt5R0FKWSxXQUFXOzZHQUFYLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFuayBhcyBCYW5rQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmsnO1xuaW1wb3J0IHsgQmFuayB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmsnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIGJhbmtzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFua0Jhc2UsIEJhbms+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIEJhbmsgPSBCYW5rO1xuICB1cmw6IHN0cmluZyA9ICdiYW5rcyc7XG4gIGlzSHlkcmE6IGJvb2xlYW4gPSB0cnVlO1xufVxuIl19
@@ -1,86 +1,86 @@
1
- // @TODO Basiq 1.0 remove if we will use basiq 2.0 or refactor if we stay with basiq 1.0
2
- import { Injectable } from '@angular/core';
3
- import { ReplaySubject } from 'rxjs';
4
- import { map } from 'rxjs/operators';
5
- import { BankAccount } from '../../../../models/bank/bank-account';
6
- import { RestService } from '../../rest/rest.service';
7
- import { BasiqToken } from '../../../../models/bank/basiq-token';
8
- import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
9
- import { UserEventTypeClientTypeEnum } from '../../../../db/Enums/user-event-type-client-type.enum';
10
- import * as i0 from "@angular/core";
11
- /**
12
- * basiq is a middleman between bank and user
13
- * service is responsible for fetching bank related information
14
- */
15
- export class BasiqService extends RestService {
16
- constructor() {
17
- super(...arguments);
18
- this.tokenSubject = new ReplaySubject();
19
- this.url = 'basiq/accounts';
20
- this.modelClass = BankAccount;
21
- }
22
- /**
23
- * Listen events from Event Dispatcher service
24
- */
25
- listenEvents() {
26
- this.listenToBankConnectionAdded();
27
- this.listenNotifications();
28
- }
29
- /**
30
- * access token to use basiq connect ui iframe
31
- */
32
- getToken() {
33
- if (!this.token || this.token.isExpired()) {
34
- this.http.get(`${this.environment.apiV2}/basiq/tokens`)
35
- .pipe(map((response) => {
36
- const now = new Date().getTime();
37
- return new BasiqToken(response['access_token'], new Date(now + response['expires_in'] * 1000));
38
- }))
39
- .subscribe((token) => {
40
- this.tokenSubject.next(token);
41
- });
42
- }
43
- return this.tokenSubject.asObservable();
44
- }
45
- getConnections() {
46
- return this.get().pipe(map((bankAccounts) => {
47
- // get all connections
48
- const connections = bankAccounts.map((bankAccount) => {
49
- return bankAccount.bankConnection;
50
- });
51
- // return without duplicates
52
- return [...new Map(connections.map((connection) => [connection.id, connection])).values()];
53
- }));
54
- }
55
- /**
56
- * Listen to EventDispatcherService event related to added Bank connection
57
- */
58
- listenToBankConnectionAdded() {
59
- this.eventDispatcherService.on(AppEventTypeEnum.BANK_CONNECTION_ADDED).subscribe(() => {
60
- this.fetch().subscribe((bankAccounts) => {
61
- this.cache = bankAccounts;
62
- this.updateCache();
63
- });
64
- });
65
- }
66
- /**
67
- * listen to notifications to update basiq accounts list
68
- */
69
- listenNotifications() {
70
- this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
71
- if (!notification.isRead && notification.eventType === UserEventTypeClientTypeEnum.BASIQ_NEW_ACCOUNTS) {
72
- this.resetCache();
73
- this.get().subscribe();
74
- }
75
- });
76
- }
77
- }
78
- BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
79
- BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, providedIn: 'root' });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, decorators: [{
81
- type: Injectable,
82
- args: [{
83
- providedIn: 'root'
84
- }]
85
- }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RkFBd0Y7QUFDeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFFcEc7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF5QztJQUgzRTs7UUFLRSxpQkFBWSxHQUE4QixJQUFJLGFBQWEsRUFBYyxDQUFDO1FBQzFFLFFBQUcsR0FBVyxnQkFBZ0IsQ0FBQztRQUMvQixlQUFVLEdBQUcsV0FBVyxDQUFDO0tBb0UxQjtJQWxFQzs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxlQUFlLENBQUM7aUJBQ3BELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxHQUFXLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBRXpDLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNqRyxDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRTtZQUNsQyxzQkFBc0I7WUFDdEIsTUFBTSxXQUFXLEdBQXFCLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7Z0JBQ2xGLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUVILDRCQUE0QjtZQUM1QixPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzdHLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSywyQkFBMkI7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEYsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRTtnQkFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFRLEVBQUU7WUFDakgsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSywyQkFBMkIsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDckcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQXZFVSxZQUFZOzhHQUFaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQFRPRE8gQmFzaXEgMS4wIHJlbW92ZSBpZiB3ZSB3aWxsIHVzZSBiYXNpcSAyLjAgb3IgcmVmYWN0b3IgaWYgd2Ugc3RheSB3aXRoIGJhc2lxIDEuMFxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xyXG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNpcVRva2VuIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFzaXEtdG9rZW4nO1xyXG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XHJcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWNsaWVudC10eXBlLmVudW0nO1xyXG5cclxuLyoqXHJcbiAqIGJhc2lxIGlzIGEgbWlkZGxlbWFuIGJldHdlZW4gYmFuayBhbmQgdXNlclxyXG4gKiBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyBiYW5rIHJlbGF0ZWQgaW5mb3JtYXRpb25cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2lxU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQ+IHtcclxuICB0b2tlbjogQmFzaXFUb2tlbjtcclxuICB0b2tlblN1YmplY3Q6IFJlcGxheVN1YmplY3Q8QmFzaXFUb2tlbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxCYXNpcVRva2VuPigpO1xyXG4gIHVybDogc3RyaW5nID0gJ2Jhc2lxL2FjY291bnRzJztcclxuICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VcclxuICAgKi9cclxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxpc3RlblRvQmFua0Nvbm5lY3Rpb25BZGRlZCgpO1xyXG4gICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBhY2Nlc3MgdG9rZW4gdG8gdXNlIGJhc2lxIGNvbm5lY3QgdWkgaWZyYW1lXHJcbiAgICovXHJcbiAgZ2V0VG9rZW4oKTogT2JzZXJ2YWJsZTxCYXNpcVRva2VuPiB7XHJcbiAgICBpZiAoIXRoaXMudG9rZW4gfHwgdGhpcy50b2tlbi5pc0V4cGlyZWQoKSkge1xyXG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2Jhc2lxL3Rva2Vuc2ApXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgQmFzaXFUb2tlbihyZXNwb25zZVsnYWNjZXNzX3Rva2VuJ10sIG5ldyBEYXRlKG5vdyArIHJlc3BvbnNlWydleHBpcmVzX2luJ10gKiAxMDAwKSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCh0b2tlbjogQmFzaXFUb2tlbikgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2tlblN1YmplY3QubmV4dCh0b2tlbik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudG9rZW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29ubmVjdGlvbnMoKTogT2JzZXJ2YWJsZTxCYW5rQ29ubmVjdGlvbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxyXG4gICAgICBtYXAoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xyXG4gICAgICAgIC8vIGdldCBhbGwgY29ubmVjdGlvbnNcclxuICAgICAgICBjb25zdCBjb25uZWN0aW9uczogQmFua0Nvbm5lY3Rpb25bXSA9IGJhbmtBY2NvdW50cy5tYXAoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGJhbmtBY2NvdW50LmJhbmtDb25uZWN0aW9uO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyByZXR1cm4gd2l0aG91dCBkdXBsaWNhdGVzXHJcbiAgICAgICAgcmV0dXJuIFsuLi5uZXcgTWFwKGNvbm5lY3Rpb25zLm1hcCgoY29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pID0+IFtjb25uZWN0aW9uLmlkLCBjb25uZWN0aW9uXSkpLnZhbHVlcygpXTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIGFkZGVkIEJhbmsgY29ubmVjdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgbGlzdGVuVG9CYW5rQ29ubmVjdGlvbkFkZGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFOS19DT05ORUNUSU9OX0FEREVEKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pID0+IHtcclxuICAgICAgICB0aGlzLmNhY2hlID0gYmFua0FjY291bnRzO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGxpc3RlbiB0byBub3RpZmljYXRpb25zIHRvIHVwZGF0ZSBiYXNpcSBhY2NvdW50cyBsaXN0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogdm9pZCA9PiB7XHJcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0uQkFTSVFfTkVXX0FDQ09VTlRTKSB7XHJcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XHJcbiAgICAgICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQFRPRE8gQmFzaXEgMy4wIGZ1bmN0aW9uYWxpdHkgcmVtb3ZlIHdoZW4gd2UgZGVjaWRlIHdoYXQgYmFzaXEgdmVyc2lvbiB3ZSB3aWxsIHVzZSAoMSBvciAyKVxyXG4vLyBpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vIGltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuLy8gaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG4vLyBpbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xyXG4vLyBpbXBvcnQgeyBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtY2xpZW50LXR5cGUuZW51bSc7XHJcbi8vIGltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XHJcbi8vIGltcG9ydCB7IEJhc2lxVG9rZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvYmFuay9iYXNpcS10b2tlbic7XHJcbi8vIGltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XHJcbi8vIGltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcclxuLy8gaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24nO1xyXG4vLyBpbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcclxuLy8gaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcclxuLy8gaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy91c2VyL3VzZXInO1xyXG4vLyBpbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiBhcyBCYW5rQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLWNvbm5lY3Rpb24nO1xyXG4vL1xyXG4vLyAvKipcclxuLy8gICogQmFzaXEgY29uc2VudCBVSSBpbml0aWFsIFVSTC4gUmVwbGFjZSBVU0VSX0lEIGFuZCBUT0tFTiBieSB1c2VyIGRhdGEgKyBoYW5kbGUgYWN0aW9uIHBhcmFtZXRlclxyXG4vLyAgKi9cclxuLy8gY29uc3QgQkFTSVFfQ09OU0VOVF9VUkwgPSAnaHR0cHM6Ly9jb25zZW50LmJhc2lxLmlvL2hvbWU/dXNlcklkPVVTRVJfSUQmdG9rZW49VE9LRU4mYWN0aW9uPWNvbm5lY3QnO1xyXG4vL1xyXG4vLyAvKipcclxuLy8gICogRXZlbnQgbWVzc2FnZSBuYW1lIHdlIGxpc3RlbiB0byBoYW5kbGUgYmFzaXEgVUkgcmVzdWx0XHJcbi8vICAqL1xyXG4vLyBjb25zdCBGSU5JU0hfQkFTSVFfRVZFTlQgPSAnZmluaXNoLWJhc2lxJztcclxuLy9cclxuLy8gLyoqXHJcbi8vICAqIGJhc2lxIGlzIGEgbWlkZGxlbWFuIGJldHdlZW4gYmFuayBhbmQgdXNlclxyXG4vLyAgKiBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyBiYW5rIHJlbGF0ZWQgaW5mb3JtYXRpb25cclxuLy8gICovXHJcbi8vIEBJbmplY3RhYmxlKHtcclxuLy8gICBwcm92aWRlZEluOiAncm9vdCdcclxuLy8gfSlcclxuLy8gZXhwb3J0IGNsYXNzIEJhc2lxU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQ+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xyXG4vLyAgIHRva2VuOiBCYXNpcVRva2VuO1xyXG4vLyAgIHRva2VuU3ViamVjdDogUmVwbGF5U3ViamVjdDxCYXNpcVRva2VuPiA9IG5ldyBSZXBsYXlTdWJqZWN0PEJhc2lxVG9rZW4+KCk7XHJcbi8vICAgdXJsOiBzdHJpbmcgPSAnYmFzaXEvYWNjb3VudHMnO1xyXG4vLyAgIG1vZGVsQ2xhc3MgPSBCYW5rQWNjb3VudDtcclxuLy9cclxuLy8gICAvKipcclxuLy8gICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlXHJcbi8vICAgICovXHJcbi8vICAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xyXG4vLyAgICAgdGhpcy5saXN0ZW5Ub0JhbmtDb25uZWN0aW9uQWRkZWQoKTtcclxuLy8gICAgIHRoaXMubGlzdGVuTm90aWZpY2F0aW9ucygpO1xyXG4vLyAgICAgdGhpcy5saXN0ZW5CYXNpcUNvbmNlbnRVcGRhdGVkKCk7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyAgIC8qKlxyXG4vLyAgICAqIFVwZGF0ZSB1c2VyJ3MgYmFzaXEgY29uc2VudHMgZGF0YSBvbiBiYWNrZW5kXHJcbi8vICAgICovXHJcbi8vICAgY29uZmlybUNvbnNlbnRzKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4vLyAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvY29uc2VudHNgLCB7fSkucGlwZShcclxuLy8gICAgICAgbWFwKChpc0NvbmZpcm1lZDogYm9vbGVhbikgPT4ge1xyXG4vLyAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9DT05TRU5UX1VQREFURUQsIGlzQ29uZmlybWVkKSk7XHJcbi8vICAgICAgIH0pXHJcbi8vICAgICApO1xyXG4vLyAgIH1cclxuLy9cclxuLy8gICAvKipcclxuLy8gICAgKiBOb3RpZnkgYmFja2VuZCB0byB1cGRhdGUgY29ubmVjdGlvbnNcclxuLy8gICAgKi9cclxuLy8gICB1cGRhdGVDb25uZWN0aW9ucygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuLy8gICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYXNpcS9jb25uZWN0aW9uc2AsIHt9KS5waXBlKFxyXG4vLyAgICAgICBtYXAoKGNvbm5lY3Rpb25zOiBCYW5rQ29ubmVjdGlvbkJhc2VbXSkgPT4ge1xyXG4vLyAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9DT05ORUNUSU9OX1VQREFURUQsICEhY29ubmVjdGlvbnMpKTtcclxuLy8gICAgICAgfSlcclxuLy8gICAgICk7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyAgIC8qKlxyXG4vLyAgICAqIGFjY2VzcyB0b2tlbiB0byB1c2UgYmFzaXEgY29ubmVjdCB1aSBpZnJhbWVcclxuLy8gICAgKi9cclxuLy8gICBnZXRUb2tlbigpOiBPYnNlcnZhYmxlPEJhc2lxVG9rZW4+IHtcclxuLy8gICAgIGlmICghdGhpcy50b2tlbiB8fCB0aGlzLnRva2VuLmlzRXhwaXJlZCgpKSB7XHJcbi8vICAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvdG9rZW5zYClcclxuLy8gICAgICAgICAucGlwZShcclxuLy8gICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCk6IEJhc2lxVG9rZW4gPT4ge1xyXG4vL1xyXG4vLyAgICAgICAgICAgICBjb25zdCBub3c6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4vLyAgICAgICAgICAgICByZXR1cm4gbmV3IEJhc2lxVG9rZW4ocmVzcG9uc2VbJ2FjY2Vzc190b2tlbiddLCBuZXcgRGF0ZShub3cgKyByZXNwb25zZVsnZXhwaXJlc19pbiddICogMTAwMCkpO1xyXG4vLyAgICAgICAgICAgfSlcclxuLy8gICAgICAgICApXHJcbi8vICAgICAgICAgLnN1YnNjcmliZSgodG9rZW46IEJhc2lxVG9rZW4pID0+IHtcclxuLy8gICAgICAgICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcclxuLy8gICAgICAgICAgIHRoaXMudG9rZW5TdWJqZWN0Lm5leHQodG9rZW4pO1xyXG4vLyAgICAgICAgIH0pO1xyXG4vLyAgICAgfVxyXG4vL1xyXG4vLyAgICAgcmV0dXJuIHRoaXMudG9rZW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4vLyAgIH1cclxuLy9cclxuLy8gICAvKipcclxuLy8gICAgKiBHZXQgbGlzdCBvZiB1c2VyJ3MgYmFuayBjb25lY3Rpb25zXHJcbi8vICAgICovXHJcbi8vICAgZ2V0Q29ubmVjdGlvbnMoKTogT2JzZXJ2YWJsZTxCYW5rQ29ubmVjdGlvbltdPiB7XHJcbi8vICAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxyXG4vLyAgICAgICBtYXAoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xyXG4vLyAgICAgICAgIC8vIGdldCBhbGwgY29ubmVjdGlvbnNcclxuLy8gICAgICAgICBjb25zdCBjb25uZWN0aW9uczogQmFua0Nvbm5lY3Rpb25bXSA9IGJhbmtBY2NvdW50cy5tYXAoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xyXG4vLyAgICAgICAgICAgcmV0dXJuIGJhbmtBY2NvdW50LmJhbmtDb25uZWN0aW9uO1xyXG4vLyAgICAgICAgIH0pO1xyXG4vL1xyXG4vLyAgICAgICAgIC8vIHJldHVybiB3aXRob3V0IGR1cGxpY2F0ZXNcclxuLy8gICAgICAgICByZXR1cm4gWy4uLm5ldyBNYXAoY29ubmVjdGlvbnMubWFwKChjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbikgPT4gW2Nvbm5lY3Rpb24uaWQsIGNvbm5lY3Rpb25dKSkudmFsdWVzKCldO1xyXG4vLyAgICAgICB9KVxyXG4vLyAgICAgKTtcclxuLy8gICB9XHJcbi8vXHJcbi8vICAgLyoqXHJcbi8vICAgICogTGlzdGVuIHJlc3BvbnNlIGZyb20gYmFzaXEgVUkgdG8gaGFuZGxlIHJlc3VsdC5cclxuLy8gICAgKiBAcGFyYW0gaXNCYXNpcUNvbnNlbnRFeGlzdCBmbGFnIGZyb20gVXNlci5DbGllbnREZXRhaWxzIC0gdHJ1ZSBpZiB1c2VyIGNvbmZpcm1lZCBiYXNpcSBjb25zZW50XHJcbi8vICAgICogQHBhcmFtIGNhbGxiYWNrIGZ1bmN0aW9uIHdlIHJ1biBhZnRlciBiYXNpcSBVSSB3b3JrIGlzIGZpbmlzaGVkXHJcbi8vICAgICovXHJcbi8vICAgbGlzdGVuQmFzaXFSZXNwb25zZShpc0Jhc2lxQ29uc2VudEV4aXN0OiBib29sZWFuLCBjYWxsYmFjazogKCkgPT4gYW55KTogdm9pZCB7XHJcbi8vICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChtZXNzYWdlOiBNZXNzYWdlRXZlbnQpID0+IHtcclxuLy8gICAgICAgaWYgKG1lc3NhZ2UuZGF0YSAhPT0gRklOSVNIX0JBU0lRX0VWRU5UKSB7XHJcbi8vICAgICAgICAgcmV0dXJuO1xyXG4vLyAgICAgICB9XHJcbi8vXHJcbi8vICAgICAgIC8vIHVwZGF0ZSB1c2VyJ3MgYmFzaXEgY29uc2VudCBjb25maXJtYXRpb24gc3RhdHVzIGZvciB0aGUgZmlyc3QgYmFzaXEgdWkgcnVuXHJcbi8vICAgICAgIGlmIChpc0Jhc2lxQ29uc2VudEV4aXN0KSB7XHJcbi8vICAgICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9ucygpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCk7XHJcbi8vICAgICAgIH0gZWxzZSB7XHJcbi8vICAgICAgICAgdGhpcy5jb25maXJtQ29uc2VudHMoKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgpO1xyXG4vLyAgICAgICB9XHJcbi8vXHJcbi8vICAgICAgIGNhbGxiYWNrKCk7XHJcbi8vICAgICB9LCB7b25jZTogdHJ1ZX0pO1xyXG4vLyAgIH1cclxuLy9cclxuLy8gICAvKipcclxuLy8gICAgKiBHZXQgVVJMIHdpdGggZmlsbGVkIHBhcmFtcyB0byBydW4gYmFzaXEgVUkgaWZyYW1lXHJcbi8vICAgICovXHJcbi8vICAgZ2VuZXJhdGVCYXNpcUNvbnNlbnRVcmwodXNlcjogVXNlcik6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbi8vICAgICByZXR1cm4gdGhpcy5nZXRUb2tlbigpLnBpcGUoXHJcbi8vICAgICAgIG1hcCgodG9rZW46IEJhc2lxVG9rZW4pOiBzdHJpbmcgPT4ge1xyXG4vLyAgICAgICAgIGxldCB1cmw6IHN0cmluZyA9IEJBU0lRX0NPTlNFTlRfVVJMO1xyXG4vLyAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKCdVU0VSX0lEJywgdXNlci5iYXNpcUlkKTtcclxuLy8gICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgnVE9LRU4nLCB0b2tlbi52YWx1ZSk7XHJcbi8vXHJcbi8vICAgICAgICAgaWYgKCF1c2VyLmNsaWVudERldGFpbHMuYmFzaXFDb25zZW50RXhpc3QpIHtcclxuLy8gICAgICAgICAgIHVybCA9IHVybC5zcGxpdCgnJmFjdGlvbicpWzBdO1xyXG4vLyAgICAgICAgIH1cclxuLy9cclxuLy8gICAgICAgICByZXR1cm4gdXJsO1xyXG4vLyAgICAgICB9KVxyXG4vLyAgICAgKTtcclxuLy8gICB9XHJcbi8vXHJcbi8vICAgLyoqXHJcbi8vICAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBhZGRlZCBCYW5rIGNvbm5lY3Rpb25cclxuLy8gICAgKi9cclxuLy8gICBwcml2YXRlIGxpc3RlblRvQmFua0Nvbm5lY3Rpb25BZGRlZCgpOiB2b2lkIHtcclxuLy8gICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBTktfQ09OTkVDVElPTl9BRERFRCkuc3Vic2NyaWJlKCgpID0+IHtcclxuLy8gICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XHJcbi8vICAgICAgICAgdGhpcy5jYWNoZSA9IGJhbmtBY2NvdW50cztcclxuLy8gICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XHJcbi8vICAgICAgIH0pO1xyXG4vLyAgICAgfSk7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyAgIC8qKlxyXG4vLyAgICAqIGxpc3RlbiB0byBub3RpZmljYXRpb25zIHRvIHVwZGF0ZSBiYXNpcSBhY2NvdW50cyBsaXN0XHJcbi8vICAgICovXHJcbi8vICAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xyXG4vLyAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogdm9pZCA9PiB7XHJcbi8vICAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0uQkFTSVFfTkVXX0FDQ09VTlRTKSB7XHJcbi8vICAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XHJcbi8vICAgICAgICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUoKTtcclxuLy8gICAgICAgfVxyXG4vLyAgICAgfSk7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyAgIC8qKlxyXG4vLyAgICAqIFVwZGF0ZSB1c2VyJ3MgYmFzaXEgY29ubmVjdGlvbnMgd2hlbiB1c2VyIGNvbmZpcm1lZCBiYXNpcSBjb25zZW50XHJcbi8vICAgICovXHJcbi8vICAgcHJpdmF0ZSBsaXN0ZW5CYXNpcUNvbmNlbnRVcGRhdGVkKCk6IHZvaWQge1xyXG4vLyAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFTSVFfQ09OU0VOVF9VUERBVEVEKS5zdWJzY3JpYmUoKGlzQ29uZmlybWVkOiBib29sZWFuKSA9PiB7XHJcbi8vICAgICAgIGlmICghaXNDb25maXJtZWQpIHtcclxuLy8gICAgICAgICByZXR1cm47XHJcbi8vICAgICAgIH1cclxuLy9cclxuLy8gICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9ucygpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCk7XHJcbi8vICAgICB9KTtcclxuLy8gICB9XHJcbi8vIH1cclxuIl19
1
+ // @TODO Basiq 1.0 remove if we will use basiq 2.0 or refactor if we stay with basiq 1.0
2
+ import { Injectable } from '@angular/core';
3
+ import { ReplaySubject } from 'rxjs';
4
+ import { map } from 'rxjs/operators';
5
+ import { BankAccount } from '../../../../models/bank/bank-account';
6
+ import { RestService } from '../../rest/rest.service';
7
+ import { BasiqToken } from '../../../../models/bank/basiq-token';
8
+ import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
9
+ import { UserEventTypeClientTypeEnum } from '../../../../db/Enums/user-event-type-client-type.enum';
10
+ import * as i0 from "@angular/core";
11
+ /**
12
+ * basiq is a middleman between bank and user
13
+ * service is responsible for fetching bank related information
14
+ */
15
+ export class BasiqService extends RestService {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.tokenSubject = new ReplaySubject();
19
+ this.url = 'basiq/accounts';
20
+ this.modelClass = BankAccount;
21
+ }
22
+ /**
23
+ * Listen events from Event Dispatcher service
24
+ */
25
+ listenEvents() {
26
+ this.listenToBankConnectionAdded();
27
+ this.listenNotifications();
28
+ }
29
+ /**
30
+ * access token to use basiq connect ui iframe
31
+ */
32
+ getToken() {
33
+ if (!this.token || this.token.isExpired()) {
34
+ this.http.get(`${this.environment.apiV2}/basiq/tokens`)
35
+ .pipe(map((response) => {
36
+ const now = new Date().getTime();
37
+ return new BasiqToken(response['access_token'], new Date(now + response['expires_in'] * 1000));
38
+ }))
39
+ .subscribe((token) => {
40
+ this.tokenSubject.next(token);
41
+ });
42
+ }
43
+ return this.tokenSubject.asObservable();
44
+ }
45
+ getConnections() {
46
+ return this.get().pipe(map((bankAccounts) => {
47
+ // get all connections
48
+ const connections = bankAccounts.map((bankAccount) => {
49
+ return bankAccount.bankConnection;
50
+ });
51
+ // return without duplicates
52
+ return [...new Map(connections.map((connection) => [connection.id, connection])).values()];
53
+ }));
54
+ }
55
+ /**
56
+ * Listen to EventDispatcherService event related to added Bank connection
57
+ */
58
+ listenToBankConnectionAdded() {
59
+ this.eventDispatcherService.on(AppEventTypeEnum.BANK_CONNECTION_ADDED).subscribe(() => {
60
+ this.fetch().subscribe((bankAccounts) => {
61
+ this.cache = bankAccounts;
62
+ this.updateCache();
63
+ });
64
+ });
65
+ }
66
+ /**
67
+ * listen to notifications to update basiq accounts list
68
+ */
69
+ listenNotifications() {
70
+ this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
71
+ if (!notification.isRead && notification.eventType === UserEventTypeClientTypeEnum.BASIQ_NEW_ACCOUNTS) {
72
+ this.resetCache();
73
+ this.get().subscribe();
74
+ }
75
+ });
76
+ }
77
+ }
78
+ BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
79
+ BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, providedIn: 'root' });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, decorators: [{
81
+ type: Injectable,
82
+ args: [{
83
+ providedIn: 'root'
84
+ }]
85
+ }] });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RkFBd0Y7QUFDeEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFFcEc7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF5QztJQUgzRTs7UUFLRSxpQkFBWSxHQUE4QixJQUFJLGFBQWEsRUFBYyxDQUFDO1FBQzFFLFFBQUcsR0FBVyxnQkFBZ0IsQ0FBQztRQUMvQixlQUFVLEdBQUcsV0FBVyxDQUFDO0tBb0UxQjtJQWxFQzs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxlQUFlLENBQUM7aUJBQ3BELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sR0FBRyxHQUFXLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBRXpDLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNqRyxDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRTtZQUNsQyxzQkFBc0I7WUFDdEIsTUFBTSxXQUFXLEdBQXFCLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7Z0JBQ2xGLE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUVILDRCQUE0QjtZQUM1QixPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBMEIsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzdHLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSywyQkFBMkI7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEYsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRTtnQkFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFRLEVBQUU7WUFDakgsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSywyQkFBMkIsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDckcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQXZFVSxZQUFZOzhHQUFaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQFRPRE8gQmFzaXEgMS4wIHJlbW92ZSBpZiB3ZSB3aWxsIHVzZSBiYXNpcSAyLjAgb3IgcmVmYWN0b3IgaWYgd2Ugc3RheSB3aXRoIGJhc2lxIDEuMFxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgYXMgQmFua0FjY291bnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaXFUb2tlbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2Jhc2lxLXRva2VuJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtY2xpZW50LXR5cGUuZW51bSc7XG5cbi8qKlxuICogYmFzaXEgaXMgYSBtaWRkbGVtYW4gYmV0d2VlbiBiYW5rIGFuZCB1c2VyXG4gKiBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyBiYW5rIHJlbGF0ZWQgaW5mb3JtYXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFzaXFTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFua0FjY291bnRCYXNlLCBCYW5rQWNjb3VudD4ge1xuICB0b2tlbjogQmFzaXFUb2tlbjtcbiAgdG9rZW5TdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEJhc2lxVG9rZW4+ID0gbmV3IFJlcGxheVN1YmplY3Q8QmFzaXFUb2tlbj4oKTtcbiAgdXJsOiBzdHJpbmcgPSAnYmFzaXEvYWNjb3VudHMnO1xuICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQmFua0Nvbm5lY3Rpb25BZGRlZCgpO1xuICAgIHRoaXMubGlzdGVuTm90aWZpY2F0aW9ucygpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFjY2VzcyB0b2tlbiB0byB1c2UgYmFzaXEgY29ubmVjdCB1aSBpZnJhbWVcbiAgICovXG4gIGdldFRva2VuKCk6IE9ic2VydmFibGU8QmFzaXFUb2tlbj4ge1xuICAgIGlmICghdGhpcy50b2tlbiB8fCB0aGlzLnRva2VuLmlzRXhwaXJlZCgpKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2Jhc2lxL3Rva2Vuc2ApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBCYXNpcVRva2VuKHJlc3BvbnNlWydhY2Nlc3NfdG9rZW4nXSwgbmV3IERhdGUobm93ICsgcmVzcG9uc2VbJ2V4cGlyZXNfaW4nXSAqIDEwMDApKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHRva2VuOiBCYXNpcVRva2VuKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2tlblN1YmplY3QubmV4dCh0b2tlbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRva2VuU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldENvbm5lY3Rpb25zKCk6IE9ic2VydmFibGU8QmFua0Nvbm5lY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgICAvLyBnZXQgYWxsIGNvbm5lY3Rpb25zXG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25zOiBCYW5rQ29ubmVjdGlvbltdID0gYmFua0FjY291bnRzLm1hcCgoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGJhbmtBY2NvdW50LmJhbmtDb25uZWN0aW9uO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyByZXR1cm4gd2l0aG91dCBkdXBsaWNhdGVzXG4gICAgICAgIHJldHVybiBbLi4ubmV3IE1hcChjb25uZWN0aW9ucy5tYXAoKGNvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKSA9PiBbY29ubmVjdGlvbi5pZCwgY29ubmVjdGlvbl0pKS52YWx1ZXMoKV07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBhZGRlZCBCYW5rIGNvbm5lY3Rpb25cbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9CYW5rQ29ubmVjdGlvbkFkZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBTktfQ09OTkVDVElPTl9BRERFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlID0gYmFua0FjY291bnRzO1xuICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsaXN0ZW4gdG8gbm90aWZpY2F0aW9ucyB0byB1cGRhdGUgYmFzaXEgYWNjb3VudHMgbGlzdFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIG5vdGlmaWNhdGlvbi5ldmVudFR5cGUgPT09IFVzZXJFdmVudFR5cGVDbGllbnRUeXBlRW51bS5CQVNJUV9ORVdfQUNDT1VOVFMpIHtcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICAgIHRoaXMuZ2V0KCkuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuXG4vLyBAVE9ETyBCYXNpcSAzLjAgZnVuY3Rpb25hbGl0eSByZW1vdmUgd2hlbiB3ZSBkZWNpZGUgd2hhdCBiYXNpcSB2ZXJzaW9uIHdlIHdpbGwgdXNlICgxIG9yIDIpXG4vLyBpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG4vLyBpbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG4vLyBpbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuLy8gaW1wb3J0IHsgVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWNsaWVudC10eXBlLmVudW0nO1xuLy8gaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG4vLyBpbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG4vLyBpbXBvcnQgeyBCYXNpcVRva2VuIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFzaXEtdG9rZW4nO1xuLy8gaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbi8vIGltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcbi8vIGltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcbi8vIGltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuLy8gaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50Jztcbi8vIGltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvdXNlci91c2VyJztcbi8vIGltcG9ydCB7IEJhbmtDb25uZWN0aW9uIGFzIEJhbmtDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG4vL1xuLy8gLyoqXG4vLyAgKiBCYXNpcSBjb25zZW50IFVJIGluaXRpYWwgVVJMLiBSZXBsYWNlIFVTRVJfSUQgYW5kIFRPS0VOIGJ5IHVzZXIgZGF0YSArIGhhbmRsZSBhY3Rpb24gcGFyYW1ldGVyXG4vLyAgKi9cbi8vIGNvbnN0IEJBU0lRX0NPTlNFTlRfVVJMID0gJ2h0dHBzOi8vY29uc2VudC5iYXNpcS5pby9ob21lP3VzZXJJZD1VU0VSX0lEJnRva2VuPVRPS0VOJmFjdGlvbj1jb25uZWN0Jztcbi8vXG4vLyAvKipcbi8vICAqIEV2ZW50IG1lc3NhZ2UgbmFtZSB3ZSBsaXN0ZW4gdG8gaGFuZGxlIGJhc2lxIFVJIHJlc3VsdFxuLy8gICovXG4vLyBjb25zdCBGSU5JU0hfQkFTSVFfRVZFTlQgPSAnZmluaXNoLWJhc2lxJztcbi8vXG4vLyAvKipcbi8vICAqIGJhc2lxIGlzIGEgbWlkZGxlbWFuIGJldHdlZW4gYmFuayBhbmQgdXNlclxuLy8gICogc2VydmljZSBpcyByZXNwb25zaWJsZSBmb3IgZmV0Y2hpbmcgYmFuayByZWxhdGVkIGluZm9ybWF0aW9uXG4vLyAgKi9cbi8vIEBJbmplY3RhYmxlKHtcbi8vICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4vLyB9KVxuLy8gZXhwb3J0IGNsYXNzIEJhc2lxU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQ+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuLy8gICB0b2tlbjogQmFzaXFUb2tlbjtcbi8vICAgdG9rZW5TdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEJhc2lxVG9rZW4+ID0gbmV3IFJlcGxheVN1YmplY3Q8QmFzaXFUb2tlbj4oKTtcbi8vICAgdXJsOiBzdHJpbmcgPSAnYmFzaXEvYWNjb3VudHMnO1xuLy8gICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XG4vL1xuLy8gICAvKipcbi8vICAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZVxuLy8gICAgKi9cbi8vICAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuLy8gICAgIHRoaXMubGlzdGVuVG9CYW5rQ29ubmVjdGlvbkFkZGVkKCk7XG4vLyAgICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4vLyAgICAgdGhpcy5saXN0ZW5CYXNpcUNvbmNlbnRVcGRhdGVkKCk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBVcGRhdGUgdXNlcidzIGJhc2lxIGNvbnNlbnRzIGRhdGEgb24gYmFja2VuZFxuLy8gICAgKi9cbi8vICAgY29uZmlybUNvbnNlbnRzKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuLy8gICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2Jhc2lxL2NvbnNlbnRzYCwge30pLnBpcGUoXG4vLyAgICAgICBtYXAoKGlzQ29uZmlybWVkOiBib29sZWFuKSA9PiB7XG4vLyAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9DT05TRU5UX1VQREFURUQsIGlzQ29uZmlybWVkKSk7XG4vLyAgICAgICB9KVxuLy8gICAgICk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBOb3RpZnkgYmFja2VuZCB0byB1cGRhdGUgY29ubmVjdGlvbnNcbi8vICAgICovXG4vLyAgIHVwZGF0ZUNvbm5lY3Rpb25zKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuLy8gICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYXNpcS9jb25uZWN0aW9uc2AsIHt9KS5waXBlKFxuLy8gICAgICAgbWFwKChjb25uZWN0aW9uczogQmFua0Nvbm5lY3Rpb25CYXNlW10pID0+IHtcbi8vICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0NPTk5FQ1RJT05fVVBEQVRFRCwgISFjb25uZWN0aW9ucykpO1xuLy8gICAgICAgfSlcbi8vICAgICApO1xuLy8gICB9XG4vL1xuLy8gICAvKipcbi8vICAgICogYWNjZXNzIHRva2VuIHRvIHVzZSBiYXNpcSBjb25uZWN0IHVpIGlmcmFtZVxuLy8gICAgKi9cbi8vICAgZ2V0VG9rZW4oKTogT2JzZXJ2YWJsZTxCYXNpcVRva2VuPiB7XG4vLyAgICAgaWYgKCF0aGlzLnRva2VuIHx8IHRoaXMudG9rZW4uaXNFeHBpcmVkKCkpIHtcbi8vICAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvdG9rZW5zYClcbi8vICAgICAgICAgLnBpcGUoXG4vLyAgICAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0KTogQmFzaXFUb2tlbiA9PiB7XG4vL1xuLy8gICAgICAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbi8vICAgICAgICAgICAgIHJldHVybiBuZXcgQmFzaXFUb2tlbihyZXNwb25zZVsnYWNjZXNzX3Rva2VuJ10sIG5ldyBEYXRlKG5vdyArIHJlc3BvbnNlWydleHBpcmVzX2luJ10gKiAxMDAwKSk7XG4vLyAgICAgICAgICAgfSlcbi8vICAgICAgICAgKVxuLy8gICAgICAgICAuc3Vic2NyaWJlKCh0b2tlbjogQmFzaXFUb2tlbikgPT4ge1xuLy8gICAgICAgICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcbi8vICAgICAgICAgICB0aGlzLnRva2VuU3ViamVjdC5uZXh0KHRva2VuKTtcbi8vICAgICAgICAgfSk7XG4vLyAgICAgfVxuLy9cbi8vICAgICByZXR1cm4gdGhpcy50b2tlblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBHZXQgbGlzdCBvZiB1c2VyJ3MgYmFuayBjb25lY3Rpb25zXG4vLyAgICAqL1xuLy8gICBnZXRDb25uZWN0aW9ucygpOiBPYnNlcnZhYmxlPEJhbmtDb25uZWN0aW9uW10+IHtcbi8vICAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuLy8gICAgICAgbWFwKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pID0+IHtcbi8vICAgICAgICAgLy8gZ2V0IGFsbCBjb25uZWN0aW9uc1xuLy8gICAgICAgICBjb25zdCBjb25uZWN0aW9uczogQmFua0Nvbm5lY3Rpb25bXSA9IGJhbmtBY2NvdW50cy5tYXAoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuLy8gICAgICAgICAgIHJldHVybiBiYW5rQWNjb3VudC5iYW5rQ29ubmVjdGlvbjtcbi8vICAgICAgICAgfSk7XG4vL1xuLy8gICAgICAgICAvLyByZXR1cm4gd2l0aG91dCBkdXBsaWNhdGVzXG4vLyAgICAgICAgIHJldHVybiBbLi4ubmV3IE1hcChjb25uZWN0aW9ucy5tYXAoKGNvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKSA9PiBbY29ubmVjdGlvbi5pZCwgY29ubmVjdGlvbl0pKS52YWx1ZXMoKV07XG4vLyAgICAgICB9KVxuLy8gICAgICk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBMaXN0ZW4gcmVzcG9uc2UgZnJvbSBiYXNpcSBVSSB0byBoYW5kbGUgcmVzdWx0LlxuLy8gICAgKiBAcGFyYW0gaXNCYXNpcUNvbnNlbnRFeGlzdCBmbGFnIGZyb20gVXNlci5DbGllbnREZXRhaWxzIC0gdHJ1ZSBpZiB1c2VyIGNvbmZpcm1lZCBiYXNpcSBjb25zZW50XG4vLyAgICAqIEBwYXJhbSBjYWxsYmFjayBmdW5jdGlvbiB3ZSBydW4gYWZ0ZXIgYmFzaXEgVUkgd29yayBpcyBmaW5pc2hlZFxuLy8gICAgKi9cbi8vICAgbGlzdGVuQmFzaXFSZXNwb25zZShpc0Jhc2lxQ29uc2VudEV4aXN0OiBib29sZWFuLCBjYWxsYmFjazogKCkgPT4gYW55KTogdm9pZCB7XG4vLyAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobWVzc2FnZTogTWVzc2FnZUV2ZW50KSA9PiB7XG4vLyAgICAgICBpZiAobWVzc2FnZS5kYXRhICE9PSBGSU5JU0hfQkFTSVFfRVZFTlQpIHtcbi8vICAgICAgICAgcmV0dXJuO1xuLy8gICAgICAgfVxuLy9cbi8vICAgICAgIC8vIHVwZGF0ZSB1c2VyJ3MgYmFzaXEgY29uc2VudCBjb25maXJtYXRpb24gc3RhdHVzIGZvciB0aGUgZmlyc3QgYmFzaXEgdWkgcnVuXG4vLyAgICAgICBpZiAoaXNCYXNpcUNvbnNlbnRFeGlzdCkge1xuLy8gICAgICAgICB0aGlzLnVwZGF0ZUNvbm5lY3Rpb25zKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbi8vICAgICAgIH0gZWxzZSB7XG4vLyAgICAgICAgIHRoaXMuY29uZmlybUNvbnNlbnRzKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbi8vICAgICAgIH1cbi8vXG4vLyAgICAgICBjYWxsYmFjaygpO1xuLy8gICAgIH0sIHtvbmNlOiB0cnVlfSk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBHZXQgVVJMIHdpdGggZmlsbGVkIHBhcmFtcyB0byBydW4gYmFzaXEgVUkgaWZyYW1lXG4vLyAgICAqL1xuLy8gICBnZW5lcmF0ZUJhc2lxQ29uc2VudFVybCh1c2VyOiBVc2VyKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbi8vICAgICByZXR1cm4gdGhpcy5nZXRUb2tlbigpLnBpcGUoXG4vLyAgICAgICBtYXAoKHRva2VuOiBCYXNpcVRva2VuKTogc3RyaW5nID0+IHtcbi8vICAgICAgICAgbGV0IHVybDogc3RyaW5nID0gQkFTSVFfQ09OU0VOVF9VUkw7XG4vLyAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKCdVU0VSX0lEJywgdXNlci5iYXNpcUlkKTtcbi8vICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJ1RPS0VOJywgdG9rZW4udmFsdWUpO1xuLy9cbi8vICAgICAgICAgaWYgKCF1c2VyLmNsaWVudERldGFpbHMuYmFzaXFDb25zZW50RXhpc3QpIHtcbi8vICAgICAgICAgICB1cmwgPSB1cmwuc3BsaXQoJyZhY3Rpb24nKVswXTtcbi8vICAgICAgICAgfVxuLy9cbi8vICAgICAgICAgcmV0dXJuIHVybDtcbi8vICAgICAgIH0pXG4vLyAgICAgKTtcbi8vICAgfVxuLy9cbi8vICAgLyoqXG4vLyAgICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gYWRkZWQgQmFuayBjb25uZWN0aW9uXG4vLyAgICAqL1xuLy8gICBwcml2YXRlIGxpc3RlblRvQmFua0Nvbm5lY3Rpb25BZGRlZCgpOiB2b2lkIHtcbi8vICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5CQU5LX0NPTk5FQ1RJT05fQURERUQpLnN1YnNjcmliZSgoKSA9PiB7XG4vLyAgICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pID0+IHtcbi8vICAgICAgICAgdGhpcy5jYWNoZSA9IGJhbmtBY2NvdW50cztcbi8vICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuLy8gICAgICAgfSk7XG4vLyAgICAgfSk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBsaXN0ZW4gdG8gbm90aWZpY2F0aW9ucyB0byB1cGRhdGUgYmFzaXEgYWNjb3VudHMgbGlzdFxuLy8gICAgKi9cbi8vICAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xuLy8gICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbik6IHZvaWQgPT4ge1xuLy8gICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIG5vdGlmaWNhdGlvbi5ldmVudFR5cGUgPT09IFVzZXJFdmVudFR5cGVDbGllbnRUeXBlRW51bS5CQVNJUV9ORVdfQUNDT1VOVFMpIHtcbi8vICAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4vLyAgICAgICAgIHRoaXMuZ2V0KCkuc3Vic2NyaWJlKCk7XG4vLyAgICAgICB9XG4vLyAgICAgfSk7XG4vLyAgIH1cbi8vXG4vLyAgIC8qKlxuLy8gICAgKiBVcGRhdGUgdXNlcidzIGJhc2lxIGNvbm5lY3Rpb25zIHdoZW4gdXNlciBjb25maXJtZWQgYmFzaXEgY29uc2VudFxuLy8gICAgKi9cbi8vICAgcHJpdmF0ZSBsaXN0ZW5CYXNpcUNvbmNlbnRVcGRhdGVkKCk6IHZvaWQge1xuLy8gICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0NPTlNFTlRfVVBEQVRFRCkuc3Vic2NyaWJlKChpc0NvbmZpcm1lZDogYm9vbGVhbikgPT4ge1xuLy8gICAgICAgaWYgKCFpc0NvbmZpcm1lZCkge1xuLy8gICAgICAgICByZXR1cm47XG4vLyAgICAgICB9XG4vL1xuLy8gICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9ucygpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCk7XG4vLyAgICAgfSk7XG4vLyAgIH1cbi8vIH1cbiJdfQ==
@@ -1,38 +1,38 @@
1
- import { Injectable } from '@angular/core';
2
- import { RestService } from '../../rest/rest.service';
3
- import { map } from 'rxjs/operators';
4
- import { ChartAccountsDepreciation } from '../../../../models/chart-accounts/chart-accounts-depreciation';
5
- import { FinancialYear } from '../../../../models/financial-year/financial-year';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Service to work with depreciation chart accounts
9
- */
10
- export class ChartAccountsDepreciationService extends RestService {
11
- constructor() {
12
- super(...arguments);
13
- this.url = 'chart-accounts-depreciations';
14
- this.modelClass = ChartAccountsDepreciation;
15
- this.isHydra = true;
16
- }
17
- /**
18
- * Get depreciation chart accounts for current financial year
19
- */
20
- getCurrent() {
21
- return this.get()
22
- .pipe(map((chartAccountsDepreciations) => {
23
- return chartAccountsDepreciations
24
- .find((chartAccountsDepreciation) => {
25
- return chartAccountsDepreciation.effectiveYear === new FinancialYear().year;
26
- });
27
- }));
28
- }
29
- }
30
- ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
31
- ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
33
- type: Injectable,
34
- args: [{
35
- providedIn: 'root'
36
- }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFFakY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsV0FBcUU7SUFIM0g7O1FBSUUsUUFBRyxHQUFXLDhCQUE4QixDQUFDO1FBQzdDLGVBQVUsR0FBcUMseUJBQXlCLENBQUM7UUFDekUsWUFBTyxHQUFZLElBQUksQ0FBQztLQWdCekI7SUFkQzs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUU7YUFDZCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsMEJBQXVELEVBQUUsRUFBRTtZQUM5RCxPQUFPLDBCQUEwQjtpQkFDOUIsSUFBSSxDQUFDLENBQUMseUJBQW9ELEVBQVcsRUFBRTtnQkFDdEUsT0FBTyx5QkFBeUIsQ0FBQyxhQUFhLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDOUUsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7OEhBbEJVLGdDQUFnQztrSUFBaEMsZ0NBQWdDLGNBRi9CLE1BQU07NEZBRVAsZ0NBQWdDO2tCQUg1QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24gYXMgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9uJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9uJztcclxuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XHJcblxyXG4vKipcclxuICogU2VydmljZSB0byB3b3JrIHdpdGggZGVwcmVjaWF0aW9uIGNoYXJ0IGFjY291bnRzXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25CYXNlLCBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uPiB7XHJcbiAgdXJsOiBzdHJpbmcgPSAnY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucyc7XHJcbiAgbW9kZWxDbGFzczogdHlwZW9mIENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24gPSBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uO1xyXG4gIGlzSHlkcmE6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgZGVwcmVjaWF0aW9uIGNoYXJ0IGFjY291bnRzIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudCgpOiBPYnNlcnZhYmxlPENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24+IHtcclxuICAgIHJldHVybiB0aGlzLmdldCgpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoY2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbnM6IENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25bXSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGNoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25zXHJcbiAgICAgICAgICAgIC5maW5kKChjaGFydEFjY291bnRzRGVwcmVjaWF0aW9uOiBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGNoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24uZWZmZWN0aXZlWWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { RestService } from '../../rest/rest.service';
3
+ import { map } from 'rxjs/operators';
4
+ import { ChartAccountsDepreciation } from '../../../../models/chart-accounts/chart-accounts-depreciation';
5
+ import { FinancialYear } from '../../../../models/financial-year/financial-year';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Service to work with depreciation chart accounts
9
+ */
10
+ export class ChartAccountsDepreciationService extends RestService {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.url = 'chart-accounts-depreciations';
14
+ this.modelClass = ChartAccountsDepreciation;
15
+ this.isHydra = true;
16
+ }
17
+ /**
18
+ * Get depreciation chart accounts for current financial year
19
+ */
20
+ getCurrent() {
21
+ return this.get()
22
+ .pipe(map((chartAccountsDepreciations) => {
23
+ return chartAccountsDepreciations
24
+ .find((chartAccountsDepreciation) => {
25
+ return chartAccountsDepreciation.effectiveYear === new FinancialYear().year;
26
+ });
27
+ }));
28
+ }
29
+ }
30
+ ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
31
+ ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: 'root'
36
+ }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFFakY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsV0FBcUU7SUFIM0g7O1FBSUUsUUFBRyxHQUFXLDhCQUE4QixDQUFDO1FBQzdDLGVBQVUsR0FBcUMseUJBQXlCLENBQUM7UUFDekUsWUFBTyxHQUFZLElBQUksQ0FBQztLQWdCekI7SUFkQzs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUU7YUFDZCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsMEJBQXVELEVBQUUsRUFBRTtZQUM5RCxPQUFPLDBCQUEwQjtpQkFDOUIsSUFBSSxDQUFDLENBQUMseUJBQW9ELEVBQVcsRUFBRTtnQkFDdEUsT0FBTyx5QkFBeUIsQ0FBQyxhQUFhLEtBQUssSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDOUUsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7OEhBbEJVLGdDQUFnQztrSUFBaEMsZ0NBQWdDLGNBRi9CLE1BQU07NEZBRVAsZ0NBQWdDO2tCQUg1QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbiBhcyBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggZGVwcmVjaWF0aW9uIGNoYXJ0IGFjY291bnRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbkJhc2UsIENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb24+IHtcbiAgdXJsOiBzdHJpbmcgPSAnY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uID0gQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbjtcbiAgaXNIeWRyYTogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEdldCBkZXByZWNpYXRpb24gY2hhcnQgYWNjb3VudHMgZm9yIGN1cnJlbnQgZmluYW5jaWFsIHllYXJcbiAgICovXG4gIGdldEN1cnJlbnQoKTogT2JzZXJ2YWJsZTxDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGNoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25zOiBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gY2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbnNcbiAgICAgICAgICAgIC5maW5kKChjaGFydEFjY291bnRzRGVwcmVjaWF0aW9uOiBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBjaGFydEFjY291bnRzRGVwcmVjaWF0aW9uLmVmZmVjdGl2ZVllYXIgPT09IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19