taxtank-core 0.0.2 → 0.1.2

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 (794) hide show
  1. package/bundles/taxtank-core.umd.js +11955 -31
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/abstract.collection.js +67 -0
  4. package/esm2015/lib/collections/bank-account.collection.js +135 -0
  5. package/esm2015/lib/collections/bank-transaction.collection.js +119 -0
  6. package/esm2015/lib/collections/client-movement.collection.js +31 -0
  7. package/esm2015/lib/collections/client-portfolio-report.collection.js +40 -0
  8. package/esm2015/lib/collections/client.collection.js +4 -0
  9. package/esm2015/lib/collections/collection-dictionary.js +83 -0
  10. package/esm2015/lib/collections/depreciation-forecast.collection.js +19 -0
  11. package/esm2015/lib/collections/depreciation.collection.js +67 -0
  12. package/esm2015/lib/collections/employee.collection.js +12 -0
  13. package/esm2015/lib/collections/income-source.collection.js +38 -0
  14. package/esm2015/lib/collections/loan.collection.js +18 -0
  15. package/esm2015/lib/collections/logbook.collection.js +97 -0
  16. package/esm2015/lib/collections/message-document.collection.js +13 -0
  17. package/esm2015/lib/collections/message.collection.js +21 -0
  18. package/esm2015/lib/collections/property.collection.js +65 -0
  19. package/esm2015/lib/collections/service-price.collection.js +10 -0
  20. package/esm2015/lib/collections/service-subscription.collection.js +17 -0
  21. package/esm2015/lib/collections/tax-return-category-item.collection.js +141 -0
  22. package/esm2015/lib/collections/tax-review.collection.js +55 -0
  23. package/esm2015/lib/collections/transaction-allocation.collection.js +40 -0
  24. package/esm2015/lib/collections/transaction.collection.js +120 -0
  25. package/esm2015/lib/collections/user-event-setting.collection.js +62 -0
  26. package/esm2015/lib/db/Enums/address-type.enum.js +6 -0
  27. package/esm2015/lib/db/Enums/bank-account-status.enum.js +6 -0
  28. package/esm2015/lib/db/Enums/bank-account-type.enum.js +12 -0
  29. package/esm2015/lib/db/Enums/bank-connection-status.enum.js +7 -0
  30. package/esm2015/lib/db/Enums/bank-transaction-type.enum.js +6 -0
  31. package/esm2015/lib/db/Enums/chart-accounts-category.enum.js +15 -0
  32. package/esm2015/lib/db/Enums/chart-accounts-etp.enum.js +9 -0
  33. package/esm2015/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.js +8 -0
  34. package/esm2015/lib/db/Enums/chart-accounts-heading-taxable.enum.js +8 -0
  35. package/esm2015/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.js +6 -0
  36. package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +21 -0
  37. package/esm2015/lib/db/Enums/chart-accounts-metadata-list.enum.js +16 -0
  38. package/esm2015/lib/db/Enums/chart-accounts-metadata-type.enum.js +6 -0
  39. package/esm2015/lib/db/Enums/chart-accounts-type.enum.js +6 -0
  40. package/esm2015/lib/db/Enums/chat-status.enum.js +6 -0
  41. package/esm2015/lib/db/Enums/client-details-medicare-exemption.enum.js +7 -0
  42. package/esm2015/lib/db/Enums/client-details-work-depreciation-calculation.enum.js +6 -0
  43. package/esm2015/lib/db/Enums/client-details-working-holiday-maker.enum.js +7 -0
  44. package/esm2015/lib/db/Enums/client-invite-status.enum.js +6 -0
  45. package/esm2015/lib/db/Enums/client-invite-type.enum.js +6 -0
  46. package/esm2015/lib/db/Enums/depreciation-calculation-percent.enum.js +9 -0
  47. package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +9 -0
  48. package/esm2015/lib/db/Enums/depreciation-type.enum.js +8 -0
  49. package/esm2015/lib/db/Enums/depreciation-write-off-amount.enum.js +6 -0
  50. package/esm2015/lib/db/Enums/firm-type.enum.js +6 -0
  51. package/esm2015/lib/db/Enums/income-source-type-list-other.enum.js +8 -0
  52. package/esm2015/lib/db/Enums/income-source-type-list-salary.enum.js +5 -0
  53. package/esm2015/lib/db/Enums/income-source-type-list-work.enum.js +10 -0
  54. package/esm2015/lib/db/Enums/income-source-type.enum.js +7 -0
  55. package/esm2015/lib/db/Enums/invite-status.enum.js +7 -0
  56. package/esm2015/lib/db/Enums/loan-bank-type.enum.js +12 -0
  57. package/esm2015/lib/db/Enums/loan-frequency.enum.js +8 -0
  58. package/esm2015/lib/db/Enums/loan-interest-type.enum.js +6 -0
  59. package/esm2015/lib/db/Enums/loan-payout-type.enum.js +6 -0
  60. package/esm2015/lib/db/Enums/loan-repayment-frequency.enum.js +7 -0
  61. package/esm2015/lib/db/Enums/loan-repayment-type.enum.js +6 -0
  62. package/esm2015/lib/db/Enums/loan-type.enum.js +14 -0
  63. package/esm2015/lib/db/Enums/loan-vehicle-type.enum.js +7 -0
  64. package/esm2015/lib/db/Enums/phone-type.enum.js +6 -0
  65. package/esm2015/lib/db/Enums/property-depreciation-calculation.enum.js +6 -0
  66. package/esm2015/lib/db/Enums/property-owner-access.enum.js +6 -0
  67. package/esm2015/lib/db/Enums/property-owner-status.enum.js +7 -0
  68. package/esm2015/lib/db/Enums/registration-invite-status.enum.js +6 -0
  69. package/esm2015/lib/db/Enums/salary-forecast-frequency.enum.js +8 -0
  70. package/esm2015/lib/db/Enums/service-notification-status.enum.js +7 -0
  71. package/esm2015/lib/db/Enums/service-notification-type.enum.js +6 -0
  72. package/esm2015/lib/db/Enums/service-payment-status.enum.js +6 -0
  73. package/esm2015/lib/db/Enums/service-price-recurring-interval.enum.js +8 -0
  74. package/esm2015/lib/db/Enums/service-price-type.enum.js +6 -0
  75. package/esm2015/lib/db/Enums/service-subscription-status.enum.js +10 -0
  76. package/esm2015/lib/db/Enums/spare-document-spare-type.enum.js +6 -0
  77. package/esm2015/lib/db/Enums/tank-type.enum.js +7 -0
  78. package/esm2015/lib/db/Enums/tax-calculation-medicare-exemption.enum.js +6 -0
  79. package/esm2015/lib/db/Enums/tax-calculation-type.enum.js +14 -0
  80. package/esm2015/lib/db/Enums/tax-return-category-list.enum.js +28 -0
  81. package/esm2015/lib/db/Enums/tax-return-category-section.enum.js +8 -0
  82. package/esm2015/lib/db/Enums/tax-review-status.enum.js +13 -0
  83. package/esm2015/lib/db/Enums/tax-summary-list.enum.js +17 -0
  84. package/esm2015/lib/db/Enums/tax-summary-section.enum.js +8 -0
  85. package/esm2015/lib/db/Enums/tax-summary-tax-summary.enum.js +17 -0
  86. package/esm2015/lib/db/Enums/ticket-feedback.enum.js +6 -0
  87. package/esm2015/lib/db/Enums/ticket-status.enum.js +9 -0
  88. package/esm2015/lib/db/Enums/ticket-types.enum.js +5 -0
  89. package/esm2015/lib/db/Enums/transaction-operation.enum.js +7 -0
  90. package/esm2015/lib/db/Enums/transaction-source.enum.js +6 -0
  91. package/esm2015/lib/db/Enums/transaction-type.enum.js +6 -0
  92. package/esm2015/lib/db/Enums/user-event-status.enum.js +8 -0
  93. package/esm2015/lib/db/Enums/user-event-type-frequency.enum.js +8 -0
  94. package/esm2015/lib/db/Enums/user-event-type-reminder-type.enum.js +8 -0
  95. package/esm2015/lib/db/Enums/user-event-type-reminder.enum.js +7 -0
  96. package/esm2015/lib/db/Enums/user-event-type-type.enum.js +35 -0
  97. package/esm2015/lib/db/Enums/user-medicare-exemption.enum.js +7 -0
  98. package/esm2015/lib/db/Enums/user-roles.enum.js +15 -0
  99. package/esm2015/lib/db/Enums/user-status.enum.js +8 -0
  100. package/esm2015/lib/db/Enums/user-title.enum.js +9 -0
  101. package/esm2015/lib/db/Enums/user-work-depreciation-calculation.enum.js +6 -0
  102. package/esm2015/lib/db/Enums/user-working-holiday-maker.enum.js +7 -0
  103. package/esm2015/lib/db/Enums/vehicle-claim-method.enum.js +6 -0
  104. package/esm2015/lib/db/Enums/vehicle-logbook-purpose.enum.js +6 -0
  105. package/esm2015/lib/db/Models/address.js +3 -0
  106. package/esm2015/lib/db/Models/bank-account-balance.js +3 -0
  107. package/esm2015/lib/db/Models/bank-account-property.js +3 -0
  108. package/esm2015/lib/db/Models/bank-account.js +3 -0
  109. package/esm2015/lib/db/Models/bank-connection.js +3 -0
  110. package/esm2015/lib/db/Models/bank-transaction-import.js +3 -0
  111. package/esm2015/lib/db/Models/bank-transaction.js +3 -0
  112. package/esm2015/lib/db/Models/bank.js +3 -0
  113. package/esm2015/lib/db/Models/basiq-job.js +3 -0
  114. package/esm2015/lib/db/Models/borrowing-expense-loan.js +3 -0
  115. package/esm2015/lib/db/Models/borrowing-expense.js +3 -0
  116. package/esm2015/lib/db/Models/capital-cost-property.js +3 -0
  117. package/esm2015/lib/db/Models/capital-cost.js +3 -0
  118. package/esm2015/lib/db/Models/chart-accounts-depreciation.js +3 -0
  119. package/esm2015/lib/db/Models/chart-accounts-heading.js +3 -0
  120. package/esm2015/lib/db/Models/chart-accounts-metadata.js +3 -0
  121. package/esm2015/lib/db/Models/chart-accounts-value.js +3 -0
  122. package/esm2015/lib/db/Models/chart-accounts.js +3 -0
  123. package/esm2015/lib/db/Models/chat.js +3 -0
  124. package/esm2015/lib/db/Models/client-details.js +3 -0
  125. package/esm2015/lib/db/Models/client-invite.js +3 -0
  126. package/esm2015/lib/db/Models/client-movement.js +3 -0
  127. package/esm2015/lib/db/Models/country.js +3 -0
  128. package/esm2015/lib/db/Models/depreciation-capital-project.js +3 -0
  129. package/esm2015/lib/db/Models/depreciation-forecast.js +3 -0
  130. package/esm2015/lib/db/Models/depreciation-receipt.js +3 -0
  131. package/esm2015/lib/db/Models/depreciation.js +4 -0
  132. package/esm2015/lib/db/Models/document-folder.js +3 -0
  133. package/esm2015/lib/db/Models/document.js +3 -0
  134. package/esm2015/lib/db/Models/employee-details.js +3 -0
  135. package/esm2015/lib/db/Models/employee-invite.js +3 -0
  136. package/esm2015/lib/db/Models/financial-data-system.js +3 -0
  137. package/esm2015/lib/db/Models/firm.js +3 -0
  138. package/esm2015/lib/db/Models/income-source-forecast.js +3 -0
  139. package/esm2015/lib/db/Models/income-source-type.js +3 -0
  140. package/esm2015/lib/db/Models/income-source.js +3 -0
  141. package/esm2015/lib/db/Models/loan-payout.js +3 -0
  142. package/esm2015/lib/db/Models/loan.js +3 -0
  143. package/esm2015/lib/db/Models/message-document.js +3 -0
  144. package/esm2015/lib/db/Models/message.js +3 -0
  145. package/esm2015/lib/db/Models/occupation.js +3 -0
  146. package/esm2015/lib/db/Models/phone.js +3 -0
  147. package/esm2015/lib/db/Models/property-capital-cost.js +3 -0
  148. package/esm2015/lib/db/Models/property-category-movement.js +3 -0
  149. package/esm2015/lib/db/Models/property-category.js +3 -0
  150. package/esm2015/lib/db/Models/property-document.js +3 -0
  151. package/esm2015/lib/db/Models/property-forecast.js +3 -0
  152. package/esm2015/lib/db/Models/property-owner.js +3 -0
  153. package/esm2015/lib/db/Models/property-sold.js +3 -0
  154. package/esm2015/lib/db/Models/property-subscription.js +3 -0
  155. package/esm2015/lib/db/Models/property-valuation.js +3 -0
  156. package/esm2015/lib/db/Models/property.js +3 -0
  157. package/esm2015/lib/db/Models/registration-invite.js +3 -0
  158. package/esm2015/lib/db/Models/salary-forecast.js +3 -0
  159. package/esm2015/lib/db/Models/service-notification.js +3 -0
  160. package/esm2015/lib/db/Models/service-payment.js +3 -0
  161. package/esm2015/lib/db/Models/service-price.js +3 -0
  162. package/esm2015/lib/db/Models/service-product.js +3 -0
  163. package/esm2015/lib/db/Models/service-subscription-item.js +3 -0
  164. package/esm2015/lib/db/Models/service-subscription.js +3 -0
  165. package/esm2015/lib/db/Models/tax-return-category.js +3 -0
  166. package/esm2015/lib/db/Models/tax-return-item.js +3 -0
  167. package/esm2015/lib/db/Models/tax-return.js +3 -0
  168. package/esm2015/lib/db/Models/tax-review.js +3 -0
  169. package/esm2015/lib/db/Models/ticket.js +3 -0
  170. package/esm2015/lib/db/Models/transaction-allocation.js +3 -0
  171. package/esm2015/lib/db/Models/transaction-base.js +20 -0
  172. package/esm2015/lib/db/Models/transaction-metadata.js +3 -0
  173. package/esm2015/lib/db/Models/transaction-receipt.js +3 -0
  174. package/esm2015/lib/db/Models/transaction.js +4 -0
  175. package/esm2015/lib/db/Models/user-event-setting.js +3 -0
  176. package/esm2015/lib/db/Models/user-event-type.js +3 -0
  177. package/esm2015/lib/db/Models/user-event.js +3 -0
  178. package/esm2015/lib/db/Models/user.js +3 -0
  179. package/esm2015/lib/db/Models/vehicle-claim.js +3 -0
  180. package/esm2015/lib/db/Models/vehicle-logbook.js +3 -0
  181. package/esm2015/lib/db/Models/vehicle.js +3 -0
  182. package/esm2015/lib/functions/array/index.js +4 -0
  183. package/esm2015/lib/functions/array/replace.js +6 -0
  184. package/esm2015/lib/functions/array/sort-deep.js +22 -0
  185. package/esm2015/lib/functions/array/sort.js +13 -0
  186. package/esm2015/lib/functions/clone-deep.js +5 -0
  187. package/esm2015/lib/functions/create-date.js +8 -0
  188. package/esm2015/lib/functions/enum-to-list.js +13 -0
  189. package/esm2015/lib/functions/get-doc-icon.js +18 -0
  190. package/esm2015/lib/functions/mat-options-functions.js +10 -0
  191. package/esm2015/lib/functions/mat-sort-options.js +10 -0
  192. package/esm2015/lib/functions/round-to.js +10 -0
  193. package/esm2015/lib/functions/tax-review-filter-predicate.js +10 -0
  194. package/esm2015/lib/interfaces/asset-entity-type.enum.js +12 -0
  195. package/esm2015/lib/interfaces/asset-type.enum.js +11 -0
  196. package/esm2015/lib/interfaces/asset.interface.js +2 -0
  197. package/esm2015/lib/interfaces/chart-data.interface.js +2 -0
  198. package/esm2015/lib/interfaces/chart-serie.interface.js +2 -0
  199. package/esm2015/lib/interfaces/document.interface.js +2 -0
  200. package/esm2015/lib/interfaces/documentable.interface.js +2 -0
  201. package/esm2015/lib/interfaces/event-listener.interface.js +2 -0
  202. package/esm2015/lib/interfaces/income-source-forecast.interface.js +2 -0
  203. package/esm2015/lib/interfaces/option.interface.js +2 -0
  204. package/esm2015/lib/interfaces/photoable.js +2 -0
  205. package/esm2015/lib/interfaces/receipt.interface.js +2 -0
  206. package/esm2015/lib/interfaces/salary-forecast.interface.js +2 -0
  207. package/esm2015/lib/interfaces/tank.interface.js +2 -0
  208. package/esm2015/lib/models/address/address.js +24 -0
  209. package/esm2015/lib/models/address/country.js +16 -0
  210. package/esm2015/lib/models/bank/bank-account-chart-data.js +34 -0
  211. package/esm2015/lib/models/bank/bank-account-property.js +10 -0
  212. package/esm2015/lib/models/bank/bank-account-types.const.js +15 -0
  213. package/esm2015/lib/models/bank/bank-account.js +122 -0
  214. package/esm2015/lib/models/bank/bank-connection.js +14 -0
  215. package/esm2015/lib/models/bank/bank-transaction-chart-data.js +106 -0
  216. package/esm2015/lib/models/bank/bank-transaction-summary-fields.enum.js +6 -0
  217. package/esm2015/lib/models/bank/bank-transaction.js +67 -0
  218. package/esm2015/lib/models/bank/bank.js +23 -0
  219. package/esm2015/lib/models/bank/basiq-job.js +4 -0
  220. package/esm2015/lib/models/bank/basiq-token.js +13 -0
  221. package/esm2015/lib/models/bank/type-loan.const.js +7 -0
  222. package/esm2015/lib/models/borrowing-expense/borrowing-expense-loan.js +4 -0
  223. package/esm2015/lib/models/borrowing-expense/borrowing-expense.js +4 -0
  224. package/esm2015/lib/models/chart/chart-data.js +13 -0
  225. package/esm2015/lib/models/chart/chart-serie.js +7 -0
  226. package/esm2015/lib/models/chart-accounts/chart-accounts-categories.const.js +85 -0
  227. package/esm2015/lib/models/chart-accounts/chart-accounts-depreciation.js +16 -0
  228. package/esm2015/lib/models/chart-accounts/chart-accounts-heading.js +4 -0
  229. package/esm2015/lib/models/chart-accounts/chart-accounts-metadata.js +14 -0
  230. package/esm2015/lib/models/chart-accounts/chart-accounts-tax-labels.enum.js +7 -0
  231. package/esm2015/lib/models/chart-accounts/chart-accounts.js +120 -0
  232. package/esm2015/lib/models/chat/chat-view-type.enum.js +6 -0
  233. package/esm2015/lib/models/chat/chat.js +23 -0
  234. package/esm2015/lib/models/chat/message-document.js +20 -0
  235. package/esm2015/lib/models/chat/message.js +39 -0
  236. package/esm2015/lib/models/client/client-details.js +4 -0
  237. package/esm2015/lib/models/client/client-invite.js +67 -0
  238. package/esm2015/lib/models/client/client-movement.js +27 -0
  239. package/esm2015/lib/models/client/client-portfolio-chart-data.js +57 -0
  240. package/esm2015/lib/models/client/client-portfolio-report.js +6 -0
  241. package/esm2015/lib/models/depreciation/depreciation-capital-project.js +9 -0
  242. package/esm2015/lib/models/depreciation/depreciation-forecast.js +22 -0
  243. package/esm2015/lib/models/depreciation/depreciation-group-item.js +14 -0
  244. package/esm2015/lib/models/depreciation/depreciation-group.enum.js +9 -0
  245. package/esm2015/lib/models/depreciation/depreciation-group.js +15 -0
  246. package/esm2015/lib/models/depreciation/depreciation-groups.const.js +29 -0
  247. package/esm2015/lib/models/depreciation/depreciation-receipt.js +11 -0
  248. package/esm2015/lib/models/depreciation/depreciation.js +159 -0
  249. package/esm2015/lib/models/document/document-api-url-prefix.enum.js +9 -0
  250. package/esm2015/lib/models/document/document-file-types.const.js +23 -0
  251. package/esm2015/lib/models/document/document-folder.js +10 -0
  252. package/esm2015/lib/models/document/document.js +24 -0
  253. package/esm2015/lib/models/employee/employee-details.js +10 -0
  254. package/esm2015/lib/models/employee/employee-invite.js +14 -0
  255. package/esm2015/lib/models/endpoint/endpoint.js +23 -0
  256. package/esm2015/lib/models/endpoint/endpoints.const.js +142 -0
  257. package/esm2015/lib/models/event/app-event-type.enum.js +39 -0
  258. package/esm2015/lib/models/event/app-event.js +10 -0
  259. package/esm2015/lib/models/file/icons-file.enum.js +7 -0
  260. package/esm2015/lib/models/financial-year/financial-year.js +44 -0
  261. package/esm2015/lib/models/financial-year/month-name-short.enum.js +21 -0
  262. package/esm2015/lib/models/financial-year/month-number.enum.js +21 -0
  263. package/esm2015/lib/models/financial-year/months.const.js +2 -0
  264. package/esm2015/lib/models/firm/firm.js +30 -0
  265. package/esm2015/lib/models/income-position/income-position.js +9 -0
  266. package/esm2015/lib/models/income-source/income-source-chart-data.js +45 -0
  267. package/esm2015/lib/models/income-source/income-source-forecast.js +31 -0
  268. package/esm2015/lib/models/income-source/income-source-type.js +27 -0
  269. package/esm2015/lib/models/income-source/income-source.js +51 -0
  270. package/esm2015/lib/models/income-source/salary-forecast.js +14 -0
  271. package/esm2015/lib/models/loan/loan-max-number-of-payments.enum.js +10 -0
  272. package/esm2015/lib/models/loan/loan-payment.js +12 -0
  273. package/esm2015/lib/models/loan/loan-payout.js +11 -0
  274. package/esm2015/lib/models/loan/loan.js +39 -0
  275. package/esm2015/lib/models/logbook/default-vehicle-expense.js +20 -0
  276. package/esm2015/lib/models/logbook/logbook-period.js +11 -0
  277. package/esm2015/lib/models/logbook/logbook-purpose-options.const.js +6 -0
  278. package/esm2015/lib/models/logbook/vehicle-claim.js +26 -0
  279. package/esm2015/lib/models/logbook/vehicle-logbook.js +16 -0
  280. package/esm2015/lib/models/logbook/vehicle.js +39 -0
  281. package/esm2015/lib/models/notification/notification-event-types.const.js +43 -0
  282. package/esm2015/lib/models/notification/notification.js +63 -0
  283. package/esm2015/lib/models/phone/phone.js +12 -0
  284. package/esm2015/lib/models/property/calculation-form-item.js +17 -0
  285. package/esm2015/lib/models/property/calculation-form-type.enum.js +9 -0
  286. package/esm2015/lib/models/property/capital-costs-itmes.const.js +57 -0
  287. package/esm2015/lib/models/property/corelogic-suggestion.js +7 -0
  288. package/esm2015/lib/models/property/ownership-filter-options.enum.js +10 -0
  289. package/esm2015/lib/models/property/property-capital-cost.js +4 -0
  290. package/esm2015/lib/models/property/property-category-movement.js +20 -0
  291. package/esm2015/lib/models/property/property-category.js +8 -0
  292. package/esm2015/lib/models/property/property-document.js +17 -0
  293. package/esm2015/lib/models/property/property-equity-chart-data.js +155 -0
  294. package/esm2015/lib/models/property/property-equity-chart-item.js +24 -0
  295. package/esm2015/lib/models/property/property-equity-chart-type.enum.js +6 -0
  296. package/esm2015/lib/models/property/property-forecast.js +52 -0
  297. package/esm2015/lib/models/property/property-owner.js +48 -0
  298. package/esm2015/lib/models/property/property-sold.js +12 -0
  299. package/esm2015/lib/models/property/property-subscription.js +13 -0
  300. package/esm2015/lib/models/property/property-valuation.js +23 -0
  301. package/esm2015/lib/models/property/property.js +130 -0
  302. package/esm2015/lib/models/registration-invite/registration-invite.js +10 -0
  303. package/esm2015/lib/models/service-subscription/module-url-list.const.js +12 -0
  304. package/esm2015/lib/models/service-subscription/service-payment.js +10 -0
  305. package/esm2015/lib/models/service-subscription/service-price.js +10 -0
  306. package/esm2015/lib/models/service-subscription/service-product.js +10 -0
  307. package/esm2015/lib/models/service-subscription/service-subscription-item.js +13 -0
  308. package/esm2015/lib/models/service-subscription/service-subscription.js +128 -0
  309. package/esm2015/lib/models/service-subscription/subscription-description.const.js +8 -0
  310. package/esm2015/lib/models/service-subscription/subscription-title.const.js +8 -0
  311. package/esm2015/lib/models/service-subscription/subscription-type.enum.js +8 -0
  312. package/esm2015/lib/models/tax-review/tax-review.js +86 -0
  313. package/esm2015/lib/models/tax-summary/tax-return-category-item-details.js +9 -0
  314. package/esm2015/lib/models/tax-summary/tax-return-category-item.js +15 -0
  315. package/esm2015/lib/models/tax-summary/tax-summary-section.js +30 -0
  316. package/esm2015/lib/models/tax-summary/tax-summary-type.enum.js +9 -0
  317. package/esm2015/lib/models/tax-summary/tax-summary.js +71 -0
  318. package/esm2015/lib/models/transaction/income-amount-type.enum.js +9 -0
  319. package/esm2015/lib/models/transaction/transaction-allocation.js +21 -0
  320. package/esm2015/lib/models/transaction/transaction-metadata.js +10 -0
  321. package/esm2015/lib/models/transaction/transaction-receipt.js +11 -0
  322. package/esm2015/lib/models/transaction/transaction.js +214 -0
  323. package/esm2015/lib/models/user/my-account-history-initiated-by.enum.js +6 -0
  324. package/esm2015/lib/models/user/my-account-history-status.enum.js +6 -0
  325. package/esm2015/lib/models/user/my-account-history-type.enum.js +7 -0
  326. package/esm2015/lib/models/user/my-account-history.js +3 -0
  327. package/esm2015/lib/models/user/occupation.js +4 -0
  328. package/esm2015/lib/models/user/user-roles.const.js +13 -0
  329. package/esm2015/lib/models/user/user-to-register.js +6 -0
  330. package/esm2015/lib/models/user/user-work-position.const.js +7 -0
  331. package/esm2015/lib/models/user/user.js +138 -0
  332. package/esm2015/lib/models/user-event/user-event-category.enum.js +11 -0
  333. package/esm2015/lib/models/user-event/user-event-category.js +6 -0
  334. package/esm2015/lib/models/user-event/user-event-setting-field.enum.js +10 -0
  335. package/esm2015/lib/models/user-event/user-event-setting.js +18 -0
  336. package/esm2015/lib/models/user-event/user-event-type.js +24 -0
  337. package/esm2015/lib/services/address/address.service.js +39 -0
  338. package/esm2015/lib/services/asset/assets.service.js +51 -0
  339. package/esm2015/lib/services/auth/auth.service.js +46 -0
  340. package/esm2015/lib/services/auth/jwt.service.js +36 -0
  341. package/esm2015/lib/services/bank/bank-account-calculation.service.js +30 -0
  342. package/esm2015/lib/services/bank/bank-account.service.js +108 -0
  343. package/esm2015/lib/services/bank/bank-connection.service.js +43 -0
  344. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +65 -0
  345. package/esm2015/lib/services/bank/bank-transaction.service.js +89 -0
  346. package/esm2015/lib/services/bank/bank.service.js +24 -0
  347. package/esm2015/lib/services/bank/basiq.service.js +94 -0
  348. package/esm2015/lib/services/base-rest.service.js +190 -0
  349. package/esm2015/lib/services/borrowing-expense/borrowing-expense.service.js +73 -0
  350. package/esm2015/lib/services/chart-accounts/chart-accounts-depreciations.service.js +38 -0
  351. package/esm2015/lib/services/chart-accounts/chart-accounts.service.js +89 -0
  352. package/esm2015/lib/services/chat/chat.service.js +77 -0
  353. package/esm2015/lib/services/chat/message-document.service.js +118 -0
  354. package/esm2015/lib/services/chat/message.service.js +65 -0
  355. package/esm2015/lib/services/client/client-invite.service.js +102 -0
  356. package/esm2015/lib/services/client/client-movement.service.js +98 -0
  357. package/esm2015/lib/services/client/client-portfolio-report.service.js +37 -0
  358. package/esm2015/lib/services/depreciation/capital-project.service.js +62 -0
  359. package/esm2015/lib/services/depreciation/depreciation.service.js +146 -0
  360. package/esm2015/lib/services/document/document-folder.service.js +84 -0
  361. package/esm2015/lib/services/employee/employee-invite.service.js +53 -0
  362. package/esm2015/lib/services/employee/employee.service.js +39 -0
  363. package/esm2015/lib/services/event/event-dispatcher.service.js +30 -0
  364. package/esm2015/lib/services/event/sse.service.js +46 -0
  365. package/esm2015/lib/services/firm/firm.service.js +79 -0
  366. package/esm2015/lib/services/header-title/header-title.service.js +28 -0
  367. package/esm2015/lib/services/income-source/income-source-forecast.service.js +90 -0
  368. package/esm2015/lib/services/income-source/income-source.service.js +109 -0
  369. package/esm2015/lib/services/income-source/salary-forecast.service.js +90 -0
  370. package/esm2015/lib/services/intercom/intercom.service.js +41 -0
  371. package/esm2015/lib/services/loan/loan.service.js +145 -0
  372. package/esm2015/lib/services/notification/notification.service.js +65 -0
  373. package/esm2015/lib/services/preloader/preloader.service.js +30 -0
  374. package/esm2015/lib/services/property/corelogic.service.js +46 -0
  375. package/esm2015/lib/services/property/property-calculation.service.js +121 -0
  376. package/esm2015/lib/services/property/property-capital-cost.service.js +46 -0
  377. package/esm2015/lib/services/property/property-category.service.js +23 -0
  378. package/esm2015/lib/services/property/property-document.service.js +68 -0
  379. package/esm2015/lib/services/property/property-owner.service.js +123 -0
  380. package/esm2015/lib/services/property/property-sold.service.js +23 -0
  381. package/esm2015/lib/services/property/property.service.js +115 -0
  382. package/esm2015/lib/services/subscription/subscription.service.js +138 -0
  383. package/esm2015/lib/services/tax-review/tax-review-history.service.js +41 -0
  384. package/esm2015/lib/services/tax-review/tax-review.service.js +103 -0
  385. package/esm2015/lib/services/tax-summary/tax-summary.service.js +71 -0
  386. package/esm2015/lib/services/transaction/transaction-allocation.service.js +85 -0
  387. package/esm2015/lib/services/transaction/transaction-calculation.service.js +47 -0
  388. package/esm2015/lib/services/transaction/transaction.service.js +319 -0
  389. package/esm2015/lib/services/user/occupation.service.js +45 -0
  390. package/esm2015/lib/services/user/user-switcher.service.js +37 -0
  391. package/esm2015/lib/services/user/user.service.js +124 -0
  392. package/esm2015/lib/services/user-event/user-event-setting.service.js +59 -0
  393. package/esm2015/lib/services/user-event/user-event-type.service.js +29 -0
  394. package/esm2015/lib/services/work/work-tank.service.js +236 -0
  395. package/esm2015/lib/tt-core.module.js +1 -3
  396. package/esm2015/public-api.js +334 -3
  397. package/fesm2015/taxtank-core.js +9738 -25
  398. package/fesm2015/taxtank-core.js.map +1 -1
  399. package/lib/collections/abstract.collection.d.ts +40 -0
  400. package/lib/collections/bank-account.collection.d.ts +67 -0
  401. package/lib/collections/bank-transaction.collection.d.ts +72 -0
  402. package/lib/collections/client-movement.collection.d.ts +17 -0
  403. package/lib/collections/client-portfolio-report.collection.d.ts +26 -0
  404. package/lib/collections/client.collection.d.ts +4 -0
  405. package/lib/collections/collection-dictionary.d.ts +44 -0
  406. package/lib/collections/depreciation-forecast.collection.d.ts +11 -0
  407. package/lib/collections/depreciation.collection.d.ts +27 -0
  408. package/lib/collections/employee.collection.d.ts +6 -0
  409. package/lib/collections/income-source.collection.d.ts +25 -0
  410. package/lib/collections/loan.collection.d.ts +14 -0
  411. package/lib/collections/logbook.collection.d.ts +19 -0
  412. package/lib/collections/message-document.collection.d.ts +11 -0
  413. package/lib/collections/message.collection.d.ts +14 -0
  414. package/lib/collections/property.collection.d.ts +33 -0
  415. package/lib/collections/service-price.collection.d.ts +6 -0
  416. package/lib/collections/service-subscription.collection.d.ts +8 -0
  417. package/lib/collections/tax-return-category-item.collection.d.ts +68 -0
  418. package/lib/collections/tax-review.collection.d.ts +35 -0
  419. package/lib/collections/transaction-allocation.collection.d.ts +23 -0
  420. package/lib/collections/transaction.collection.d.ts +76 -0
  421. package/lib/collections/user-event-setting.collection.d.ts +30 -0
  422. package/lib/db/Enums/address-type.enum.d.ts +4 -0
  423. package/lib/db/Enums/bank-account-status.enum.d.ts +4 -0
  424. package/lib/db/Enums/bank-account-type.enum.d.ts +10 -0
  425. package/lib/db/Enums/bank-connection-status.enum.d.ts +5 -0
  426. package/lib/db/Enums/bank-transaction-type.enum.d.ts +4 -0
  427. package/lib/db/Enums/chart-accounts-category.enum.d.ts +13 -0
  428. package/lib/db/Enums/chart-accounts-etp.enum.d.ts +7 -0
  429. package/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.d.ts +6 -0
  430. package/lib/db/Enums/chart-accounts-heading-taxable.enum.d.ts +6 -0
  431. package/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.d.ts +4 -0
  432. package/lib/db/Enums/chart-accounts-list.enum.d.ts +19 -0
  433. package/lib/db/Enums/chart-accounts-metadata-list.enum.d.ts +14 -0
  434. package/lib/db/Enums/chart-accounts-metadata-type.enum.d.ts +4 -0
  435. package/lib/db/Enums/chart-accounts-type.enum.d.ts +4 -0
  436. package/lib/db/Enums/chat-status.enum.d.ts +4 -0
  437. package/lib/db/Enums/client-details-medicare-exemption.enum.d.ts +5 -0
  438. package/lib/db/Enums/client-details-work-depreciation-calculation.enum.d.ts +4 -0
  439. package/lib/db/Enums/client-details-working-holiday-maker.enum.d.ts +5 -0
  440. package/lib/db/Enums/client-invite-status.enum.d.ts +4 -0
  441. package/lib/db/Enums/client-invite-type.enum.d.ts +4 -0
  442. package/lib/db/Enums/depreciation-calculation-percent.enum.d.ts +7 -0
  443. package/lib/db/Enums/depreciation-calculation.enum.d.ts +7 -0
  444. package/lib/db/Enums/depreciation-type.enum.d.ts +6 -0
  445. package/lib/db/Enums/depreciation-write-off-amount.enum.d.ts +4 -0
  446. package/lib/db/Enums/firm-type.enum.d.ts +4 -0
  447. package/lib/db/Enums/income-source-type-list-other.enum.d.ts +6 -0
  448. package/lib/db/Enums/income-source-type-list-salary.enum.d.ts +3 -0
  449. package/lib/db/Enums/income-source-type-list-work.enum.d.ts +8 -0
  450. package/lib/db/Enums/income-source-type.enum.d.ts +5 -0
  451. package/lib/db/Enums/invite-status.enum.d.ts +5 -0
  452. package/lib/db/Enums/loan-bank-type.enum.d.ts +10 -0
  453. package/lib/db/Enums/loan-frequency.enum.d.ts +6 -0
  454. package/lib/db/Enums/loan-interest-type.enum.d.ts +4 -0
  455. package/lib/db/Enums/loan-payout-type.enum.d.ts +4 -0
  456. package/lib/db/Enums/loan-repayment-frequency.enum.d.ts +5 -0
  457. package/lib/db/Enums/loan-repayment-type.enum.d.ts +4 -0
  458. package/lib/db/Enums/loan-type.enum.d.ts +12 -0
  459. package/lib/db/Enums/loan-vehicle-type.enum.d.ts +5 -0
  460. package/lib/db/Enums/phone-type.enum.d.ts +4 -0
  461. package/lib/db/Enums/property-depreciation-calculation.enum.d.ts +4 -0
  462. package/lib/db/Enums/property-owner-access.enum.d.ts +4 -0
  463. package/lib/db/Enums/property-owner-status.enum.d.ts +5 -0
  464. package/lib/db/Enums/registration-invite-status.enum.d.ts +4 -0
  465. package/lib/db/Enums/salary-forecast-frequency.enum.d.ts +6 -0
  466. package/lib/db/Enums/service-notification-status.enum.d.ts +5 -0
  467. package/lib/db/Enums/service-notification-type.enum.d.ts +4 -0
  468. package/lib/db/Enums/service-payment-status.enum.d.ts +4 -0
  469. package/lib/db/Enums/service-price-recurring-interval.enum.d.ts +6 -0
  470. package/lib/db/Enums/service-price-type.enum.d.ts +4 -0
  471. package/lib/db/Enums/service-subscription-status.enum.d.ts +8 -0
  472. package/lib/db/Enums/spare-document-spare-type.enum.d.ts +4 -0
  473. package/lib/db/Enums/tank-type.enum.d.ts +5 -0
  474. package/lib/db/Enums/tax-calculation-medicare-exemption.enum.d.ts +4 -0
  475. package/lib/db/Enums/tax-calculation-type.enum.d.ts +12 -0
  476. package/lib/db/Enums/tax-return-category-list.enum.d.ts +26 -0
  477. package/lib/db/Enums/tax-return-category-section.enum.d.ts +6 -0
  478. package/lib/db/Enums/tax-review-status.enum.d.ts +11 -0
  479. package/lib/db/Enums/tax-summary-list.enum.d.ts +15 -0
  480. package/lib/db/Enums/tax-summary-section.enum.d.ts +6 -0
  481. package/lib/db/Enums/tax-summary-tax-summary.enum.d.ts +15 -0
  482. package/lib/db/Enums/ticket-feedback.enum.d.ts +4 -0
  483. package/lib/db/Enums/ticket-status.enum.d.ts +7 -0
  484. package/lib/db/Enums/ticket-types.enum.d.ts +3 -0
  485. package/lib/db/Enums/transaction-operation.enum.d.ts +5 -0
  486. package/lib/db/Enums/transaction-source.enum.d.ts +4 -0
  487. package/lib/db/Enums/transaction-type.enum.d.ts +4 -0
  488. package/lib/db/Enums/user-event-status.enum.d.ts +6 -0
  489. package/lib/db/Enums/user-event-type-frequency.enum.d.ts +6 -0
  490. package/lib/db/Enums/user-event-type-reminder-type.enum.d.ts +6 -0
  491. package/lib/db/Enums/user-event-type-reminder.enum.d.ts +5 -0
  492. package/lib/db/Enums/user-event-type-type.enum.d.ts +33 -0
  493. package/lib/db/Enums/user-medicare-exemption.enum.d.ts +5 -0
  494. package/lib/db/Enums/user-roles.enum.d.ts +13 -0
  495. package/lib/db/Enums/user-status.enum.d.ts +6 -0
  496. package/lib/db/Enums/user-title.enum.d.ts +7 -0
  497. package/lib/db/Enums/user-work-depreciation-calculation.enum.d.ts +4 -0
  498. package/lib/db/Enums/user-working-holiday-maker.enum.d.ts +5 -0
  499. package/lib/db/Enums/vehicle-claim-method.enum.d.ts +4 -0
  500. package/lib/db/Enums/vehicle-logbook-purpose.enum.d.ts +4 -0
  501. package/lib/db/Models/address.d.ts +19 -0
  502. package/lib/db/Models/bank-account-balance.d.ts +12 -0
  503. package/lib/db/Models/bank-account-property.d.ts +8 -0
  504. package/lib/db/Models/bank-account.d.ts +33 -0
  505. package/lib/db/Models/bank-connection.d.ts +14 -0
  506. package/lib/db/Models/bank-transaction-import.d.ts +11 -0
  507. package/lib/db/Models/bank-transaction.d.ts +16 -0
  508. package/lib/db/Models/bank.d.ts +11 -0
  509. package/lib/db/Models/basiq-job.d.ts +8 -0
  510. package/lib/db/Models/borrowing-expense-loan.d.ts +14 -0
  511. package/lib/db/Models/borrowing-expense.d.ts +7 -0
  512. package/lib/db/Models/capital-cost-property.d.ts +13 -0
  513. package/lib/db/Models/capital-cost.d.ts +4 -0
  514. package/lib/db/Models/chart-accounts-depreciation.d.ts +10 -0
  515. package/lib/db/Models/chart-accounts-heading.d.ts +6 -0
  516. package/lib/db/Models/chart-accounts-metadata.d.ts +11 -0
  517. package/lib/db/Models/chart-accounts-value.d.ts +12 -0
  518. package/lib/db/Models/chart-accounts.d.ts +23 -0
  519. package/lib/db/Models/chat.d.ts +17 -0
  520. package/lib/db/Models/client-details.d.ts +29 -0
  521. package/lib/db/Models/client-invite.d.ts +16 -0
  522. package/lib/db/Models/client-movement.d.ts +12 -0
  523. package/lib/db/Models/country.d.ts +5 -0
  524. package/lib/db/Models/depreciation-capital-project.d.ts +13 -0
  525. package/lib/db/Models/depreciation-forecast.d.ts +18 -0
  526. package/lib/db/Models/depreciation-receipt.d.ts +11 -0
  527. package/lib/db/Models/depreciation.d.ts +42 -0
  528. package/lib/db/Models/document-folder.d.ts +9 -0
  529. package/lib/db/Models/document.d.ts +11 -0
  530. package/lib/db/Models/employee-details.d.ts +7 -0
  531. package/lib/db/Models/employee-invite.d.ts +9 -0
  532. package/lib/db/Models/financial-data-system.d.ts +9 -0
  533. package/lib/db/Models/firm.d.ts +28 -0
  534. package/lib/db/Models/income-source-forecast.d.ts +12 -0
  535. package/lib/db/Models/income-source-type.d.ts +8 -0
  536. package/lib/db/Models/income-source.d.ts +20 -0
  537. package/lib/db/Models/loan-payout.d.ts +12 -0
  538. package/lib/db/Models/loan.d.ts +33 -0
  539. package/lib/db/Models/message-document.d.ts +15 -0
  540. package/lib/db/Models/message.d.ts +15 -0
  541. package/lib/db/Models/occupation.d.ts +5 -0
  542. package/lib/db/Models/phone.d.ts +12 -0
  543. package/lib/db/Models/property-capital-cost.d.ts +13 -0
  544. package/lib/db/Models/property-category-movement.d.ts +17 -0
  545. package/lib/db/Models/property-category.d.ts +13 -0
  546. package/lib/db/Models/property-document.d.ts +13 -0
  547. package/lib/db/Models/property-forecast.d.ts +14 -0
  548. package/lib/db/Models/property-owner.d.ts +20 -0
  549. package/lib/db/Models/property-sold.d.ts +12 -0
  550. package/lib/db/Models/property-subscription.d.ts +9 -0
  551. package/lib/db/Models/property-valuation.d.ts +12 -0
  552. package/lib/db/Models/property.d.ts +41 -0
  553. package/lib/db/Models/registration-invite.d.ts +12 -0
  554. package/lib/db/Models/salary-forecast.d.ts +15 -0
  555. package/lib/db/Models/service-notification.d.ts +13 -0
  556. package/lib/db/Models/service-payment.d.ts +11 -0
  557. package/lib/db/Models/service-price.d.ts +15 -0
  558. package/lib/db/Models/service-product.d.ts +12 -0
  559. package/lib/db/Models/service-subscription-item.d.ts +9 -0
  560. package/lib/db/Models/service-subscription.d.ts +14 -0
  561. package/lib/db/Models/tax-return-category.d.ts +12 -0
  562. package/lib/db/Models/tax-return-item.d.ts +15 -0
  563. package/lib/db/Models/tax-return.d.ts +8 -0
  564. package/lib/db/Models/tax-review.d.ts +13 -0
  565. package/lib/db/Models/ticket.d.ts +19 -0
  566. package/lib/db/Models/transaction-allocation.d.ts +8 -0
  567. package/lib/db/Models/transaction-base.d.ts +22 -0
  568. package/lib/db/Models/transaction-metadata.d.ts +11 -0
  569. package/lib/db/Models/transaction-receipt.d.ts +11 -0
  570. package/lib/db/Models/transaction.d.ts +43 -0
  571. package/lib/db/Models/user-event-setting.d.ts +10 -0
  572. package/lib/db/Models/user-event-type.d.ts +15 -0
  573. package/lib/db/Models/user-event.d.ts +13 -0
  574. package/lib/db/Models/user.d.ts +51 -0
  575. package/lib/db/Models/vehicle-claim.d.ts +11 -0
  576. package/lib/db/Models/vehicle-logbook.d.ts +16 -0
  577. package/lib/db/Models/vehicle.d.ts +8 -0
  578. package/lib/functions/array/index.d.ts +3 -0
  579. package/lib/functions/array/replace.d.ts +1 -0
  580. package/lib/functions/array/sort-deep.d.ts +1 -0
  581. package/lib/functions/array/sort.d.ts +1 -0
  582. package/lib/functions/clone-deep.d.ts +1 -0
  583. package/lib/functions/create-date.d.ts +5 -0
  584. package/lib/functions/enum-to-list.d.ts +2 -0
  585. package/lib/functions/get-doc-icon.d.ts +7 -0
  586. package/lib/functions/mat-options-functions.d.ts +2 -0
  587. package/lib/functions/mat-sort-options.d.ts +7 -0
  588. package/lib/functions/round-to.d.ts +6 -0
  589. package/lib/functions/tax-review-filter-predicate.d.ts +7 -0
  590. package/lib/interfaces/asset-entity-type.enum.d.ts +10 -0
  591. package/lib/interfaces/asset-type.enum.d.ts +8 -0
  592. package/lib/interfaces/asset.interface.d.ts +17 -0
  593. package/lib/interfaces/chart-data.interface.d.ts +10 -0
  594. package/lib/interfaces/chart-serie.interface.d.ts +8 -0
  595. package/lib/interfaces/document.interface.d.ts +18 -0
  596. package/lib/interfaces/documentable.interface.d.ts +8 -0
  597. package/lib/interfaces/event-listener.interface.d.ts +9 -0
  598. package/lib/interfaces/income-source-forecast.interface.d.ts +7 -0
  599. package/lib/interfaces/option.interface.d.ts +4 -0
  600. package/lib/interfaces/photoable.d.ts +13 -0
  601. package/lib/interfaces/receipt.interface.d.ts +12 -0
  602. package/lib/interfaces/salary-forecast.interface.d.ts +16 -0
  603. package/lib/interfaces/tank.interface.d.ts +7 -0
  604. package/lib/models/address/address.d.ts +11 -0
  605. package/lib/models/address/country.d.ts +11 -0
  606. package/lib/models/bank/bank-account-chart-data.d.ts +17 -0
  607. package/lib/models/bank/bank-account-property.d.ts +5 -0
  608. package/lib/models/bank/bank-account-types.const.d.ts +7 -0
  609. package/lib/models/bank/bank-account.d.ts +72 -0
  610. package/lib/models/bank/bank-connection.d.ts +7 -0
  611. package/lib/models/bank/bank-transaction-chart-data.d.ts +30 -0
  612. package/lib/models/bank/bank-transaction-summary-fields.enum.d.ts +4 -0
  613. package/lib/models/bank/bank-transaction.d.ts +38 -0
  614. package/lib/models/bank/bank.d.ts +8 -0
  615. package/lib/models/bank/basiq-job.d.ts +3 -0
  616. package/lib/models/bank/basiq-token.d.ts +9 -0
  617. package/lib/models/bank/type-loan.const.d.ts +2 -0
  618. package/lib/models/borrowing-expense/borrowing-expense-loan.d.ts +3 -0
  619. package/lib/models/borrowing-expense/borrowing-expense.d.ts +3 -0
  620. package/lib/models/chart/chart-data.d.ts +9 -0
  621. package/lib/models/chart/chart-serie.d.ts +8 -0
  622. package/lib/models/chart-accounts/chart-accounts-categories.const.d.ts +4 -0
  623. package/lib/models/chart-accounts/chart-accounts-depreciation.d.ts +7 -0
  624. package/lib/models/chart-accounts/chart-accounts-heading.d.ts +5 -0
  625. package/lib/models/chart-accounts/chart-accounts-metadata.d.ts +8 -0
  626. package/lib/models/chart-accounts/chart-accounts-tax-labels.enum.d.ts +5 -0
  627. package/lib/models/chart-accounts/chart-accounts.d.ts +66 -0
  628. package/lib/models/chat/chat-view-type.enum.d.ts +4 -0
  629. package/lib/models/chat/chat.d.ts +10 -0
  630. package/lib/models/chat/message-document.d.ts +11 -0
  631. package/lib/models/chat/message.d.ts +20 -0
  632. package/lib/models/client/client-details.d.ts +3 -0
  633. package/lib/models/client/client-invite.d.ts +34 -0
  634. package/lib/models/client/client-movement.d.ts +12 -0
  635. package/lib/models/client/client-portfolio-chart-data.d.ts +11 -0
  636. package/lib/models/client/client-portfolio-report.d.ts +10 -0
  637. package/lib/models/depreciation/depreciation-capital-project.d.ts +5 -0
  638. package/lib/models/depreciation/depreciation-forecast.d.ts +8 -0
  639. package/lib/models/depreciation/depreciation-group-item.d.ts +10 -0
  640. package/lib/models/depreciation/depreciation-group.d.ts +11 -0
  641. package/lib/models/depreciation/depreciation-group.enum.d.ts +7 -0
  642. package/lib/models/depreciation/depreciation-groups.const.d.ts +9 -0
  643. package/lib/models/depreciation/depreciation-receipt.d.ts +8 -0
  644. package/lib/models/depreciation/depreciation.d.ts +69 -0
  645. package/lib/models/document/document-api-url-prefix.enum.d.ts +7 -0
  646. package/lib/models/document/document-file-types.const.d.ts +3 -0
  647. package/lib/models/document/document-folder.d.ts +7 -0
  648. package/lib/models/document/document.d.ts +21 -0
  649. package/lib/models/employee/employee-details.d.ts +5 -0
  650. package/lib/models/employee/employee-invite.d.ts +7 -0
  651. package/lib/models/endpoint/endpoint.d.ts +22 -0
  652. package/lib/models/endpoint/endpoints.const.d.ts +7 -0
  653. package/lib/models/event/app-event-type.enum.d.ts +37 -0
  654. package/lib/models/event/app-event.d.ts +9 -0
  655. package/lib/models/file/icons-file.enum.d.ts +5 -0
  656. package/lib/models/financial-year/financial-year.d.ts +19 -0
  657. package/lib/models/financial-year/month-name-short.enum.d.ts +19 -0
  658. package/lib/models/financial-year/month-number.enum.d.ts +19 -0
  659. package/lib/models/financial-year/months.const.d.ts +1 -0
  660. package/lib/models/firm/firm.d.ts +18 -0
  661. package/lib/models/income-position/income-position.d.ts +9 -0
  662. package/lib/models/income-source/income-source-chart-data.d.ts +14 -0
  663. package/lib/models/income-source/income-source-forecast.d.ts +22 -0
  664. package/lib/models/income-source/income-source-type.d.ts +8 -0
  665. package/lib/models/income-source/income-source.d.ts +27 -0
  666. package/lib/models/income-source/salary-forecast.d.ts +16 -0
  667. package/lib/models/loan/loan-max-number-of-payments.enum.d.ts +8 -0
  668. package/lib/models/loan/loan-payment.d.ts +13 -0
  669. package/lib/models/loan/loan-payout.d.ts +9 -0
  670. package/lib/models/loan/loan.d.ts +20 -0
  671. package/lib/models/logbook/default-vehicle-expense.d.ts +5 -0
  672. package/lib/models/logbook/logbook-period.d.ts +6 -0
  673. package/lib/models/logbook/logbook-purpose-options.const.d.ts +4 -0
  674. package/lib/models/logbook/vehicle-claim.d.ts +15 -0
  675. package/lib/models/logbook/vehicle-logbook.d.ts +6 -0
  676. package/lib/models/logbook/vehicle.d.ts +12 -0
  677. package/lib/models/notification/notification-event-types.const.d.ts +7 -0
  678. package/lib/models/notification/notification.d.ts +16 -0
  679. package/lib/models/phone/phone.d.ts +6 -0
  680. package/lib/models/property/calculation-form-item.d.ts +15 -0
  681. package/lib/models/property/calculation-form-type.enum.d.ts +7 -0
  682. package/lib/models/property/capital-costs-itmes.const.d.ts +2 -0
  683. package/lib/models/property/corelogic-suggestion.d.ts +18 -0
  684. package/lib/models/property/ownership-filter-options.enum.d.ts +8 -0
  685. package/lib/models/property/property-capital-cost.d.ts +3 -0
  686. package/lib/models/property/property-category-movement.d.ts +9 -0
  687. package/lib/models/property/property-category.d.ts +4 -0
  688. package/lib/models/property/property-document.d.ts +14 -0
  689. package/lib/models/property/property-equity-chart-data.d.ts +62 -0
  690. package/lib/models/property/property-equity-chart-item.d.ts +19 -0
  691. package/lib/models/property/property-equity-chart-type.enum.d.ts +4 -0
  692. package/lib/models/property/property-forecast.d.ts +28 -0
  693. package/lib/models/property/property-owner.d.ts +21 -0
  694. package/lib/models/property/property-sold.d.ts +5 -0
  695. package/lib/models/property/property-subscription.d.ts +6 -0
  696. package/lib/models/property/property-valuation.d.ts +9 -0
  697. package/lib/models/property/property.d.ts +55 -0
  698. package/lib/models/registration-invite/registration-invite.d.ts +6 -0
  699. package/lib/models/service-subscription/module-url-list.const.d.ts +6 -0
  700. package/lib/models/service-subscription/service-payment.d.ts +5 -0
  701. package/lib/models/service-subscription/service-price.d.ts +5 -0
  702. package/lib/models/service-subscription/service-product.d.ts +5 -0
  703. package/lib/models/service-subscription/service-subscription-item.d.ts +6 -0
  704. package/lib/models/service-subscription/service-subscription.d.ts +55 -0
  705. package/lib/models/service-subscription/subscription-description.const.d.ts +3 -0
  706. package/lib/models/service-subscription/subscription-title.const.d.ts +3 -0
  707. package/lib/models/service-subscription/subscription-type.enum.d.ts +6 -0
  708. package/lib/models/tax-review/tax-review.d.ts +52 -0
  709. package/lib/models/tax-summary/tax-return-category-item-details.d.ts +13 -0
  710. package/lib/models/tax-summary/tax-return-category-item.d.ts +18 -0
  711. package/lib/models/tax-summary/tax-summary-section.d.ts +12 -0
  712. package/lib/models/tax-summary/tax-summary-type.enum.d.ts +7 -0
  713. package/lib/models/tax-summary/tax-summary.d.ts +44 -0
  714. package/lib/models/transaction/income-amount-type.enum.d.ts +7 -0
  715. package/lib/models/transaction/transaction-allocation.d.ts +12 -0
  716. package/lib/models/transaction/transaction-metadata.d.ts +5 -0
  717. package/lib/models/transaction/transaction-receipt.d.ts +8 -0
  718. package/lib/models/transaction/transaction.d.ts +98 -0
  719. package/lib/models/user/my-account-history-initiated-by.enum.d.ts +4 -0
  720. package/lib/models/user/my-account-history-status.enum.d.ts +4 -0
  721. package/lib/models/user/my-account-history-type.enum.d.ts +5 -0
  722. package/lib/models/user/my-account-history.d.ts +11 -0
  723. package/lib/models/user/occupation.d.ts +3 -0
  724. package/lib/models/user/user-roles.const.d.ts +4 -0
  725. package/lib/models/user/user-to-register.d.ts +7 -0
  726. package/lib/models/user/user-work-position.const.d.ts +3 -0
  727. package/lib/models/user/user.d.ts +64 -0
  728. package/lib/models/user-event/user-event-category.d.ts +8 -0
  729. package/lib/models/user-event/user-event-category.enum.d.ts +9 -0
  730. package/lib/models/user-event/user-event-setting-field.enum.d.ts +8 -0
  731. package/lib/models/user-event/user-event-setting.d.ts +6 -0
  732. package/lib/models/user-event/user-event-type.d.ts +5 -0
  733. package/lib/services/address/address.service.d.ts +14 -0
  734. package/lib/services/asset/assets.service.d.ts +34 -0
  735. package/lib/services/auth/auth.service.d.ts +17 -0
  736. package/lib/services/auth/jwt.service.d.ts +16 -0
  737. package/lib/services/bank/bank-account-calculation.service.d.ts +19 -0
  738. package/lib/services/bank/bank-account.service.d.ts +47 -0
  739. package/lib/services/bank/bank-connection.service.d.ts +22 -0
  740. package/lib/services/bank/bank-transaction-calculation.service.d.ts +41 -0
  741. package/lib/services/bank/bank-transaction.service.d.ts +38 -0
  742. package/lib/services/bank/bank.service.d.ts +14 -0
  743. package/lib/services/bank/basiq.service.d.ts +42 -0
  744. package/lib/services/base-rest.service.d.ts +91 -0
  745. package/lib/services/borrowing-expense/borrowing-expense.service.d.ts +19 -0
  746. package/lib/services/chart-accounts/chart-accounts-depreciations.service.d.ts +19 -0
  747. package/lib/services/chart-accounts/chart-accounts.service.d.ts +37 -0
  748. package/lib/services/chat/chat.service.d.ts +31 -0
  749. package/lib/services/chat/message-document.service.d.ts +50 -0
  750. package/lib/services/chat/message.service.d.ts +31 -0
  751. package/lib/services/client/client-invite.service.d.ts +36 -0
  752. package/lib/services/client/client-movement.service.d.ts +40 -0
  753. package/lib/services/client/client-portfolio-report.service.d.ts +16 -0
  754. package/lib/services/depreciation/capital-project.service.d.ts +20 -0
  755. package/lib/services/depreciation/depreciation.service.d.ts +59 -0
  756. package/lib/services/document/document-folder.service.d.ts +40 -0
  757. package/lib/services/employee/employee-invite.service.d.ts +21 -0
  758. package/lib/services/employee/employee.service.d.ts +16 -0
  759. package/lib/services/event/event-dispatcher.service.d.ts +17 -0
  760. package/lib/services/event/sse.service.d.ts +16 -0
  761. package/lib/services/firm/firm.service.d.ts +27 -0
  762. package/lib/services/header-title/header-title.service.d.ts +11 -0
  763. package/lib/services/income-source/income-source-forecast.service.d.ts +36 -0
  764. package/lib/services/income-source/income-source.service.d.ts +48 -0
  765. package/lib/services/income-source/salary-forecast.service.d.ts +37 -0
  766. package/lib/services/intercom/intercom.service.d.ts +21 -0
  767. package/lib/services/loan/loan.service.d.ts +63 -0
  768. package/lib/services/notification/notification.service.d.ts +31 -0
  769. package/lib/services/preloader/preloader.service.d.ts +12 -0
  770. package/lib/services/property/corelogic.service.d.ts +15 -0
  771. package/lib/services/property/property-calculation.service.d.ts +33 -0
  772. package/lib/services/property/property-capital-cost.service.d.ts +20 -0
  773. package/lib/services/property/property-category.service.d.ts +13 -0
  774. package/lib/services/property/property-document.service.d.ts +31 -0
  775. package/lib/services/property/property-owner.service.d.ts +52 -0
  776. package/lib/services/property/property-sold.service.d.ts +13 -0
  777. package/lib/services/property/property.service.d.ts +50 -0
  778. package/lib/services/subscription/subscription.service.d.ts +47 -0
  779. package/lib/services/tax-review/tax-review-history.service.d.ts +19 -0
  780. package/lib/services/tax-review/tax-review.service.d.ts +44 -0
  781. package/lib/services/tax-summary/tax-summary.service.d.ts +31 -0
  782. package/lib/services/transaction/transaction-allocation.service.d.ts +43 -0
  783. package/lib/services/transaction/transaction-calculation.service.d.ts +29 -0
  784. package/lib/services/transaction/transaction.service.d.ts +92 -0
  785. package/lib/services/user/occupation.service.d.ts +20 -0
  786. package/lib/services/user/user-switcher.service.d.ts +20 -0
  787. package/lib/services/user/user.service.d.ts +60 -0
  788. package/lib/services/user-event/user-event-setting.service.d.ts +22 -0
  789. package/lib/services/user-event/user-event-type.service.d.ts +17 -0
  790. package/lib/services/work/work-tank.service.d.ts +93 -0
  791. package/package.json +11 -3
  792. package/public-api.d.ts +335 -1
  793. package/esm2015/lib/tt-core.service.js +0 -23
  794. package/lib/tt-core.service.d.ts +0 -8
@@ -0,0 +1,138 @@
1
+ import { __decorate } from "tslib";
2
+ import { User as BaseUser } from '../../db/Models/user';
3
+ import { UserStatusEnum } from '../../db/Enums/user-status.enum';
4
+ import { UserRolesEnum } from '../../db/Enums/user-roles.enum';
5
+ import { Address } from '../address/address';
6
+ import { USER_WORK_POSITION } from './user-work-position.const';
7
+ import { ClientDetails } from '../client/client-details';
8
+ import { EmployeeDetails } from '../employee/employee-details';
9
+ import { Type } from 'class-transformer';
10
+ import { Phone } from '../phone/phone';
11
+ import { ServiceSubscription } from '../service-subscription/service-subscription';
12
+ export class User extends BaseUser {
13
+ get fullName() {
14
+ return `${this.firstName} ${this.lastName}`;
15
+ }
16
+ get activeSubscription() {
17
+ return this.subscriptions.find((ss) => ss.isActive);
18
+ }
19
+ get lastSubscription() {
20
+ return this.subscriptions[this.subscriptions.length - 1];
21
+ }
22
+ /**
23
+ * @TODO refactor
24
+ *
25
+ */
26
+ get position() {
27
+ switch (true) {
28
+ case this.isFirmOwner():
29
+ return USER_WORK_POSITION[UserRolesEnum.FIRM_OWNER];
30
+ case this.isManager():
31
+ return USER_WORK_POSITION[UserRolesEnum.FIRM_MANAGER];
32
+ case this.isEmployee():
33
+ return USER_WORK_POSITION[UserRolesEnum.EMPLOYEE];
34
+ default:
35
+ return '';
36
+ }
37
+ }
38
+ hasRole(role) {
39
+ return this.roles.includes(role);
40
+ }
41
+ isOnboarding() {
42
+ return this.status === UserStatusEnum.ON_BOARDING;
43
+ }
44
+ hasSubscription() {
45
+ return this.roles.includes(UserRolesEnum.SUBSCRIPTION);
46
+ }
47
+ isLoggedIn() {
48
+ return this.id === +localStorage.getItem('userId');
49
+ }
50
+ isClient() {
51
+ return this.roles.includes(UserRolesEnum.CLIENT);
52
+ }
53
+ isEmployee() {
54
+ return this.isAccountant() || this.isAdvisor();
55
+ }
56
+ isAccountant() {
57
+ return this.roles.includes(UserRolesEnum.ACCOUNTANT);
58
+ }
59
+ isAdvisor() {
60
+ return this.roles.includes(UserRolesEnum.ADVISOR);
61
+ }
62
+ isImpersonator() {
63
+ return this.roles.includes(UserRolesEnum.SWITCH_USER);
64
+ }
65
+ /**
66
+ * Check if current user is firm owner
67
+ */
68
+ isFirmOwner() {
69
+ return this.roles.includes(UserRolesEnum.FIRM_OWNER);
70
+ }
71
+ /**
72
+ * Check if current user is firm manager
73
+ */
74
+ isManager() {
75
+ return this.roles.includes(UserRolesEnum.FIRM_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_OWNER);
76
+ }
77
+ /**
78
+ * check if user has property tank access
79
+ */
80
+ hasPropertyTank() {
81
+ return this.roles ?
82
+ this.roles.includes(UserRolesEnum.PROPERTY_TANK) :
83
+ !!this.getSubscriptionRole(UserRolesEnum.PROPERTY_TANK);
84
+ }
85
+ /**
86
+ * check if user has property tank access
87
+ */
88
+ hasWorkTank() {
89
+ return this.roles ?
90
+ this.roles.includes(UserRolesEnum.WORK_TANK) :
91
+ !!this.getSubscriptionRole(UserRolesEnum.WORK_TANK);
92
+ }
93
+ /**
94
+ * Get user subscription role by provided role type
95
+ * @param roleType by which role should be returned
96
+ */
97
+ getSubscriptionRole(roleType) {
98
+ var _a;
99
+ /**
100
+ * Add @TODO for Alex to check if we should use getLastSubscription here
101
+ */
102
+ return (_a = this.activeSubscription) === null || _a === void 0 ? void 0 : _a.items.find((subscriptionItem) => subscriptionItem.price.product.role.includes(roleType));
103
+ }
104
+ /**
105
+ * Get user's photo link
106
+ */
107
+ getPhoto() {
108
+ return this.photo;
109
+ }
110
+ /**
111
+ * get user's initials
112
+ */
113
+ getInitials() {
114
+ return `${this.firstName[0].toUpperCase()}${this.lastName[0].toUpperCase()}`;
115
+ }
116
+ }
117
+ __decorate([
118
+ Type(() => ServiceSubscription)
119
+ ], User.prototype, "subscriptions", void 0);
120
+ __decorate([
121
+ Type(() => ClientDetails)
122
+ ], User.prototype, "clientDetails", void 0);
123
+ __decorate([
124
+ Type(() => EmployeeDetails)
125
+ ], User.prototype, "employeeDetails", void 0);
126
+ __decorate([
127
+ Type(() => Address)
128
+ ], User.prototype, "address", void 0);
129
+ __decorate([
130
+ Type(() => Phone)
131
+ ], User.prototype, "phone", void 0);
132
+ __decorate([
133
+ Type(() => Date)
134
+ ], User.prototype, "createdAt", void 0);
135
+ __decorate([
136
+ Type(() => User)
137
+ ], User.prototype, "clients", void 0);
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUluRixNQUFNLE9BQU8sSUFBSyxTQUFRLFFBQVE7SUF1QmhDLElBQUksUUFBUTtRQUNWLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQXVCLEVBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFFBQVE7UUFDVixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDckIsT0FBTyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEQsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNuQixPQUFPLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4RCxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE9BQU8sa0JBQWtCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BEO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUNwRCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDOUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLFFBQXVCOztRQUN6Qzs7V0FFRztRQUNILE9BQU8sTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLEtBQUssQ0FDbEMsSUFBSSxDQUFDLENBQUMsZ0JBQXlDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUMvRSxDQUFDO0NBQ0Y7QUEvSUM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7MkNBQ0s7QUFHckM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDOzJDQUNHO0FBRzdCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzs2Q0FDSztBQUdqQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7cUNBQ0g7QUFHakI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO21DQUNMO0FBR2I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3VDQUNEO0FBSWhCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztxQ0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXIgYXMgQmFzZVVzZXIgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdXNlcic7XG5pbXBvcnQgeyBVc2VyU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcy9hZGRyZXNzJztcbmltcG9ydCB7IFVTRVJfV09SS19QT1NJVElPTiB9IGZyb20gJy4vdXNlci13b3JrLXBvc2l0aW9uLmNvbnN0JztcbmltcG9ydCB7IENsaWVudERldGFpbHMgfSBmcm9tICcuLi9jbGllbnQvY2xpZW50LWRldGFpbHMnO1xuaW1wb3J0IHsgRW1wbG95ZWVEZXRhaWxzIH0gZnJvbSAnLi4vZW1wbG95ZWUvZW1wbG95ZWUtZGV0YWlscyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUGhvbmUgfSBmcm9tICcuLi9waG9uZS9waG9uZSc7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0gfSBmcm9tICcuLi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi1pdGVtJztcbmltcG9ydCB7IFBob3RvYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcblxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlVXNlciBpbXBsZW1lbnRzIFBob3RvYWJsZSB7XG4gIEBUeXBlKCgpID0+IFNlcnZpY2VTdWJzY3JpcHRpb24pXG4gIHN1YnNjcmlwdGlvbnM6IFNlcnZpY2VTdWJzY3JpcHRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBDbGllbnREZXRhaWxzKVxuICBjbGllbnREZXRhaWxzOiBDbGllbnREZXRhaWxzO1xuXG4gIEBUeXBlKCgpID0+IEVtcGxveWVlRGV0YWlscylcbiAgZW1wbG95ZWVEZXRhaWxzOiBFbXBsb3llZURldGFpbHM7XG5cbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcbiAgYWRkcmVzczogQWRkcmVzcztcblxuICBAVHlwZSgoKSA9PiBQaG9uZSlcbiAgcGhvbmU6IFBob25lO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNyZWF0ZWRBdDogRGF0ZTtcblxuICAvLyBAVE9ETyBBbGV4IHJlbW92ZSB0aGlzIGhhY2tcbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgY2xpZW50czogVXNlcltdO1xuXG4gIGdldCBmdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmZpcnN0TmFtZX0gJHt0aGlzLmxhc3ROYW1lfWA7XG4gIH1cblxuICBnZXQgYWN0aXZlU3Vic2NyaXB0aW9uKCk6IFNlcnZpY2VTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMuZmluZCgoc3M6IFNlcnZpY2VTdWJzY3JpcHRpb24pOiBib29sZWFuID0+IHNzLmlzQWN0aXZlKTtcbiAgfVxuXG4gIGdldCBsYXN0U3Vic2NyaXB0aW9uKCk6IFNlcnZpY2VTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnNbdGhpcy5zdWJzY3JpcHRpb25zLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHJlZmFjdG9yXG4gICAqXG4gICAqL1xuICBnZXQgcG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGhpcy5pc0Zpcm1Pd25lcigpOlxuICAgICAgICByZXR1cm4gVVNFUl9XT1JLX1BPU0lUSU9OW1VzZXJSb2xlc0VudW0uRklSTV9PV05FUl07XG4gICAgICBjYXNlIHRoaXMuaXNNYW5hZ2VyKCk6XG4gICAgICAgIHJldHVybiBVU0VSX1dPUktfUE9TSVRJT05bVXNlclJvbGVzRW51bS5GSVJNX01BTkFHRVJdO1xuICAgICAgY2FzZSB0aGlzLmlzRW1wbG95ZWUoKTpcbiAgICAgICAgcmV0dXJuIFVTRVJfV09SS19QT1NJVElPTltVc2VyUm9sZXNFbnVtLkVNUExPWUVFXTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBoYXNSb2xlKHJvbGU6IFVzZXJSb2xlc0VudW0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhyb2xlKTtcbiAgfVxuXG4gIGlzT25ib2FyZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFVzZXJTdGF0dXNFbnVtLk9OX0JPQVJESU5HO1xuICB9XG5cbiAgaGFzU3Vic2NyaXB0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uU1VCU0NSSVBUSU9OKTtcbiAgfVxuXG4gIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyk7XG4gIH1cblxuICBpc0NsaWVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkNMSUVOVCk7XG4gIH1cblxuICBpc0VtcGxveWVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQWNjb3VudGFudCgpIHx8IHRoaXMuaXNBZHZpc29yKCk7XG4gIH1cblxuICBpc0FjY291bnRhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5BQ0NPVU5UQU5UKTtcbiAgfVxuXG4gIGlzQWR2aXNvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLkFEVklTT1IpO1xuICB9XG5cbiAgaXNJbXBlcnNvbmF0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5TV0lUQ0hfVVNFUik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB1c2VyIGlzIGZpcm0gb3duZXJcbiAgICovXG4gIGlzRmlybU93bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCB1c2VyIGlzIGZpcm0gbWFuYWdlclxuICAgKi9cbiAgaXNNYW5hZ2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9NQU5BR0VSKSB8fCB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uRklSTV9PV05FUik7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgdXNlciBoYXMgcHJvcGVydHkgdGFuayBhY2Nlc3NcbiAgICovXG4gIGhhc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcyA/XG4gICAgICB0aGlzLnJvbGVzLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uUFJPUEVSVFlfVEFOSykgOlxuICAgICAgISF0aGlzLmdldFN1YnNjcmlwdGlvblJvbGUoVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiB1c2VyIGhhcyBwcm9wZXJ0eSB0YW5rIGFjY2Vzc1xuICAgKi9cbiAgaGFzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMgP1xuICAgICAgdGhpcy5yb2xlcy5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLldPUktfVEFOSykgOlxuICAgICAgISF0aGlzLmdldFN1YnNjcmlwdGlvblJvbGUoVXNlclJvbGVzRW51bS5XT1JLX1RBTkspO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyIHN1YnNjcmlwdGlvbiByb2xlIGJ5IHByb3ZpZGVkIHJvbGUgdHlwZVxuICAgKiBAcGFyYW0gcm9sZVR5cGUgYnkgd2hpY2ggcm9sZSBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICovXG4gIGdldFN1YnNjcmlwdGlvblJvbGUocm9sZVR5cGU6IFVzZXJSb2xlc0VudW0pOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB7XG4gICAgLyoqXG4gICAgICogQWRkIEBUT0RPIGZvciBBbGV4IHRvIGNoZWNrIGlmIHdlIHNob3VsZCB1c2UgZ2V0TGFzdFN1YnNjcmlwdGlvbiBoZXJlXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9uPy5pdGVtc1xuICAgICAgLmZpbmQoKHN1YnNjcmlwdGlvbkl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiBzdWJzY3JpcHRpb25JdGVtLnByaWNlLnByb2R1Y3Qucm9sZS5pbmNsdWRlcyhyb2xlVHlwZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyJ3MgcGhvdG8gbGlua1xuICAgKi9cbiAgZ2V0UGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waG90bztcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgdXNlcidzIGluaXRpYWxzXG4gICAqL1xuICBnZXRJbml0aWFscygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmZpcnN0TmFtZVswXS50b1VwcGVyQ2FzZSgpfSR7dGhpcy5sYXN0TmFtZVswXS50b1VwcGVyQ2FzZSgpfWA7XG4gIH1cbn1cblxuIl19
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Enum with user event categories
3
+ */
4
+ export var UserEventCategoryEnum;
5
+ (function (UserEventCategoryEnum) {
6
+ UserEventCategoryEnum[UserEventCategoryEnum["USER"] = 1] = "USER";
7
+ UserEventCategoryEnum[UserEventCategoryEnum["CO_OWNER"] = 2] = "CO_OWNER";
8
+ UserEventCategoryEnum[UserEventCategoryEnum["FIRM"] = 3] = "FIRM";
9
+ UserEventCategoryEnum[UserEventCategoryEnum["BASIQ"] = 4] = "BASIQ";
10
+ })(UserEventCategoryEnum || (UserEventCategoryEnum = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC1jYXRlZ29yeS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtY2F0ZWdvcnkuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLHFCQUtYO0FBTEQsV0FBWSxxQkFBcUI7SUFDL0IsaUVBQVEsQ0FBQTtJQUNSLHlFQUFZLENBQUE7SUFDWixpRUFBUSxDQUFBO0lBQ1IsbUVBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBS2hDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtIHdpdGggdXNlciBldmVudCBjYXRlZ29yaWVzXG4gKi9cbmV4cG9ydCBlbnVtIFVzZXJFdmVudENhdGVnb3J5RW51bSB7XG4gIFVTRVIgPSAxLFxuICBDT19PV05FUiA9IDIsXG4gIEZJUk0gPSAzLFxuICBCQVNJUSA9IDRcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Category of user event type
3
+ */
4
+ export class UserEventCategory {
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC1jYXRlZ29yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci1ldmVudC91c2VyLWV2ZW50LWNhdGVnb3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtDQUc3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5RW51bSB9IGZyb20gJy4vdXNlci1ldmVudC1jYXRlZ29yeS5lbnVtJztcblxuLyoqXG4gKiBDYXRlZ29yeSBvZiB1c2VyIGV2ZW50IHR5cGVcbiAqL1xuZXhwb3J0IGNsYXNzIFVzZXJFdmVudENhdGVnb3J5IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBVc2VyRXZlbnRDYXRlZ29yeUVudW07XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Enum with user event setting fields
3
+ */
4
+ export var UserEventSettingFieldEnum;
5
+ (function (UserEventSettingFieldEnum) {
6
+ UserEventSettingFieldEnum["BY_EMAIL"] = "byEmail";
7
+ UserEventSettingFieldEnum["BY_NOTIFICATION"] = "byNotification";
8
+ UserEventSettingFieldEnum["FREQUENCY"] = "frequency";
9
+ })(UserEventSettingFieldEnum || (UserEventSettingFieldEnum = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC1zZXR0aW5nLWZpZWxkLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC1zZXR0aW5nLWZpZWxkLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSx5QkFJWDtBQUpELFdBQVkseUJBQXlCO0lBQ25DLGlEQUFvQixDQUFBO0lBQ3BCLCtEQUFrQyxDQUFBO0lBQ2xDLG9EQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFKVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBSXBDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtIHdpdGggdXNlciBldmVudCBzZXR0aW5nIGZpZWxkc1xuICovXG5leHBvcnQgZW51bSBVc2VyRXZlbnRTZXR0aW5nRmllbGRFbnVtIHtcbiAgQllfRU1BSUwgPSAnYnlFbWFpbCcsXG4gIEJZX05PVElGSUNBVElPTiA9ICdieU5vdGlmaWNhdGlvbicsXG4gIEZSRVFVRU5DWSA9ICdmcmVxdWVuY3knXG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { __decorate } from "tslib";
2
+ import { UserEventSetting as UserEventSettingBase } from '../../db/Models/user-event-setting';
3
+ import { UserEventType } from './user-event-type';
4
+ import { Exclude, Type } from 'class-transformer';
5
+ export class UserEventSetting extends UserEventSettingBase {
6
+ constructor() {
7
+ super(...arguments);
8
+ // flag indicates that the setting is updating now saved or not
9
+ this.isUpdating = false;
10
+ }
11
+ }
12
+ __decorate([
13
+ Type(() => UserEventType)
14
+ ], UserEventSetting.prototype, "userEventType", void 0);
15
+ __decorate([
16
+ Exclude({ toPlainOnly: true })
17
+ ], UserEventSetting.prototype, "isUpdating", void 0);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC1zZXR0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtc2V0dGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixJQUFJLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQjtJQUExRDs7UUFHRSxnRUFBZ0U7UUFFaEUsZUFBVSxHQUFhLEtBQUssQ0FBQztJQUMvQixDQUFDO0NBQUE7QUFKQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7dURBQ0c7QUFHN0I7SUFEQyxPQUFPLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7b0RBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyRXZlbnRTZXR0aW5nIGFzIFVzZXJFdmVudFNldHRpbmdCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3VzZXItZXZlbnQtc2V0dGluZyc7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlIH0gZnJvbSAnLi91c2VyLWV2ZW50LXR5cGUnO1xuaW1wb3J0IHsgRXhjbHVkZSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuZXhwb3J0IGNsYXNzIFVzZXJFdmVudFNldHRpbmcgZXh0ZW5kcyBVc2VyRXZlbnRTZXR0aW5nQmFzZSB7XG4gIEBUeXBlKCgpID0+IFVzZXJFdmVudFR5cGUpXG4gIHVzZXJFdmVudFR5cGU6IFVzZXJFdmVudFR5cGU7XG4gIC8vIGZsYWcgaW5kaWNhdGVzIHRoYXQgdGhlIHNldHRpbmcgaXMgdXBkYXRpbmcgIG5vdyBzYXZlZCBvciBub3RcbiAgQEV4Y2x1ZGUoeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICBpc1VwZGF0aW5nPzogYm9vbGVhbiA9IGZhbHNlO1xufVxuIl19
@@ -0,0 +1,24 @@
1
+ import { __decorate } from "tslib";
2
+ import { UserEventType as UserEventTypeBase } from '../../db/Models/user-event-type';
3
+ import { UserEventCategory } from './user-event-category';
4
+ import { UserEventCategoryEnum } from './user-event-category.enum';
5
+ import { Expose, plainToClass, Transform, Type } from 'class-transformer';
6
+ export class UserEventType extends UserEventTypeBase {
7
+ }
8
+ __decorate([
9
+ Expose({ toClassOnly: true }),
10
+ Transform(({ obj }) => {
11
+ switch (true) {
12
+ case String(obj.type).startsWith('1'):
13
+ return plainToClass(UserEventCategory, { name: 'User\'s events', type: UserEventCategoryEnum.USER });
14
+ case String(obj.type).startsWith('2'):
15
+ return plainToClass(UserEventCategory, { name: 'Co-owner\'s events', type: UserEventCategoryEnum.CO_OWNER });
16
+ case String(obj.type).startsWith('3'):
17
+ return plainToClass(UserEventCategory, { name: 'Firm\'s events', type: UserEventCategoryEnum.FIRM });
18
+ default:
19
+ return plainToClass(UserEventCategory, { name: 'Basiq events', type: UserEventCategoryEnum.BASIQ });
20
+ }
21
+ }),
22
+ Type(() => UserEventCategory)
23
+ ], UserEventType.prototype, "category", void 0);
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxRSxNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUFpQjtDQWdCbkQ7QUFEQztJQWRDLE1BQU0sQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM3QixTQUFTLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUU7UUFDbkIsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDbkMsT0FBTyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7WUFDckcsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBQ25DLE9BQU8sWUFBWSxDQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO1lBQzdHLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUNuQyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUscUJBQXFCLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUNyRztnQkFDRSxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7U0FDckc7SUFDSCxDQUFDLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7K0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyRXZlbnRUeXBlIGFzIFVzZXJFdmVudFR5cGVCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3VzZXItZXZlbnQtdHlwZSc7XG5pbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJy4vdXNlci1ldmVudC1jYXRlZ29yeSc7XG5pbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeUVudW0gfSBmcm9tICcuL3VzZXItZXZlbnQtY2F0ZWdvcnkuZW51bSc7XG5pbXBvcnQgeyBFeHBvc2UsIHBsYWluVG9DbGFzcywgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5leHBvcnQgY2xhc3MgVXNlckV2ZW50VHlwZSBleHRlbmRzIFVzZXJFdmVudFR5cGVCYXNlIHtcbiAgQEV4cG9zZSh7IHRvQ2xhc3NPbmx5OiB0cnVlIH0pXG4gIEBUcmFuc2Zvcm0oKHtvYmp9KSA9PiB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIFN0cmluZyhvYmoudHlwZSkuc3RhcnRzV2l0aCgnMScpOlxuICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFVzZXJFdmVudENhdGVnb3J5LCB7bmFtZTogJ1VzZXJcXCdzIGV2ZW50cycsIHR5cGU6IFVzZXJFdmVudENhdGVnb3J5RW51bS5VU0VSfSk7XG4gICAgICBjYXNlIFN0cmluZyhvYmoudHlwZSkuc3RhcnRzV2l0aCgnMicpOlxuICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFVzZXJFdmVudENhdGVnb3J5LCB7bmFtZTogJ0NvLW93bmVyXFwncyBldmVudHMnLCB0eXBlOiBVc2VyRXZlbnRDYXRlZ29yeUVudW0uQ09fT1dORVJ9KTtcbiAgICAgIGNhc2UgU3RyaW5nKG9iai50eXBlKS5zdGFydHNXaXRoKCczJyk6XG4gICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoVXNlckV2ZW50Q2F0ZWdvcnksIHtuYW1lOiAnRmlybVxcJ3MgZXZlbnRzJywgdHlwZTogVXNlckV2ZW50Q2F0ZWdvcnlFbnVtLkZJUk19KTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoVXNlckV2ZW50Q2F0ZWdvcnksIHtuYW1lOiAnQmFzaXEgZXZlbnRzJywgdHlwZTogVXNlckV2ZW50Q2F0ZWdvcnlFbnVtLkJBU0lRfSk7XG4gICAgfVxuICB9KVxuICBAVHlwZSgoKSA9PiBVc2VyRXZlbnRDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5O1xufVxuIl19
@@ -0,0 +1,39 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { ReplaySubject } from 'rxjs';
3
+ import { Country } from '../../models/address/country';
4
+ import { map } from 'rxjs/operators';
5
+ import { plainToClass } from 'class-transformer';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ export class AddressService {
9
+ constructor(http, environment) {
10
+ this.http = http;
11
+ this.environment = environment;
12
+ this.countriesSubject = new ReplaySubject(1);
13
+ }
14
+ getCountries() {
15
+ if (!this._countries) {
16
+ this.http.get(`${this.environment.apiV2}/countries`)
17
+ .pipe(map((response) => {
18
+ return response['hydra:member'].map((item) => plainToClass(Country, item));
19
+ }))
20
+ .subscribe((countries) => {
21
+ this._countries = countries;
22
+ this.countriesSubject.next(countries);
23
+ });
24
+ }
25
+ return this.countriesSubject.asObservable();
26
+ }
27
+ }
28
+ AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AddressService, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AddressService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root'
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
36
+ type: Inject,
37
+ args: ['environment']
38
+ }] }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FkZHJlc3MvYWRkcmVzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUtqRCxNQUFNLE9BQU8sY0FBYztJQUl6QixZQUNVLElBQWdCLEVBQ08sV0FBZ0I7UUFEdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNPLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBSmpELHFCQUFnQixHQUE2QixJQUFJLGFBQWEsQ0FBWSxDQUFDLENBQUMsQ0FBQztJQUt6RSxDQUFDO0lBRUwsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFlBQVksQ0FBQztpQkFDakQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtnQkFDdkIsT0FBTyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckYsQ0FBQyxDQUFDLENBQ0g7aUJBQ0EsU0FBUyxDQUFDLENBQUMsU0FBb0IsRUFBRSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7NEdBeEJVLGNBQWMsNENBTWYsYUFBYTtnSEFOWixjQUFjLGNBRmIsTUFBTTs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzL2NvdW50cnknO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBZGRyZXNzU2VydmljZSB7XG4gIF9jb3VudHJpZXM6IENvdW50cnlbXTtcbiAgY291bnRyaWVzU3ViamVjdDogUmVwbGF5U3ViamVjdDxDb3VudHJ5W10+ID0gbmV3IFJlcGxheVN1YmplY3Q8Q291bnRyeVtdPigxKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7IH1cblxuICBnZXRDb3VudHJpZXMoKTogT2JzZXJ2YWJsZTxDb3VudHJ5W10+IHtcbiAgICBpZiAoIXRoaXMuX2NvdW50cmllcykge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9jb3VudHJpZXNgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZVsnaHlkcmE6bWVtYmVyJ10ubWFwKChpdGVtOiBvYmplY3QpID0+IHBsYWluVG9DbGFzcyhDb3VudHJ5LCBpdGVtKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChjb3VudHJpZXM6IENvdW50cnlbXSkgPT4ge1xuICAgICAgICAgIHRoaXMuX2NvdW50cmllcyA9IGNvdW50cmllcztcbiAgICAgICAgICB0aGlzLmNvdW50cmllc1N1YmplY3QubmV4dChjb3VudHJpZXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common/http";
4
+ import * as i2 from "../user/user-switcher.service";
5
+ /**
6
+ * Service to work with assets (documents, receipts, e.t.c.)
7
+ */
8
+ export class AssetsService {
9
+ constructor(http, userSwitcherService, environment) {
10
+ this.http = http;
11
+ this.userSwitcherService = userSwitcherService;
12
+ this.environment = environment;
13
+ this.impersonatedClient = this.userSwitcherService.get();
14
+ }
15
+ /**
16
+ * Get asset link
17
+ * @param asset to get the link for
18
+ */
19
+ getLink(asset) {
20
+ return this.http.get(`${this.environment.apiV2}/assets/${asset.type}/${asset.id}`);
21
+ }
22
+ /**
23
+ * Download asset
24
+ * @param asset which should be downloaded
25
+ * @TODO refactor
26
+ */
27
+ download(asset) {
28
+ return `${this.environment.apiV2}/assets/${asset.type}/${asset.id}/download?bearer=${localStorage.getItem('token')}${this.impersonatedClient ? `&_switch_user=${this.impersonatedClient}` : ''}`;
29
+ }
30
+ // @Todo refactor to event dispatcher
31
+ /**
32
+ * Delete asset
33
+ * @param entityId: id of asset main entity (property, folder, transaction, e.t.c.)
34
+ * @param asset which should be deleted
35
+ */
36
+ delete(entityId, asset) {
37
+ return this.http.delete(`${this.environment.apiV2}/${asset.entityType}/${entityId}/${asset.type}/${asset.id}`);
38
+ }
39
+ }
40
+ AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: i2.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, providedIn: 'root' });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, decorators: [{
43
+ type: Injectable,
44
+ args: [{
45
+ providedIn: 'root'
46
+ }]
47
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.UserSwitcherService }, { type: undefined, decorators: [{
48
+ type: Inject,
49
+ args: ['environment']
50
+ }] }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYXNzZXQvYXNzZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNbkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUNVLElBQWdCLEVBQ2hCLG1CQUF3QyxFQUNqQixXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDakIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFFL0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxXQUFXLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsS0FBYTtRQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLFdBQVcsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxvQkFBb0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDbk0sQ0FBQztJQUVELHFDQUFxQztJQUNyQzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQWdCLEVBQUUsS0FBYTtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqSCxDQUFDOzsyR0FyQ1UsYUFBYSwrRUFPZCxhQUFhOytHQVBaLGFBQWEsY0FGWixNQUFNOzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJQXNzZXQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Fzc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyU3dpdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdXNlci91c2VyLXN3aXRjaGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIGFzc2V0cyAoZG9jdW1lbnRzLCByZWNlaXB0cywgZS50LmMuKVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBc3NldHNTZXJ2aWNlIHtcbiAgLy8gY2xpZW50IHRoYXQgd2FzIHN3aXRjaGVkIGZyb20gbWFuYWdlciBhY2NvdW50XG4gIGltcGVyc29uYXRlZENsaWVudDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHVzZXJTd2l0Y2hlclNlcnZpY2U6IFVzZXJTd2l0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5pbXBlcnNvbmF0ZWRDbGllbnQgPSB0aGlzLnVzZXJTd2l0Y2hlclNlcnZpY2UuZ2V0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFzc2V0IGxpbmtcbiAgICogQHBhcmFtIGFzc2V0IHRvIGdldCB0aGUgbGluayBmb3JcbiAgICovXG4gIGdldExpbmsoYXNzZXQ6IElBc3NldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYXNzZXRzLyR7YXNzZXQudHlwZX0vJHthc3NldC5pZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZCBhc3NldFxuICAgKiBAcGFyYW0gYXNzZXQgd2hpY2ggc2hvdWxkIGJlIGRvd25sb2FkZWRcbiAgICogQFRPRE8gcmVmYWN0b3JcbiAgICovXG4gIGRvd25sb2FkKGFzc2V0OiBJQXNzZXQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9hc3NldHMvJHthc3NldC50eXBlfS8ke2Fzc2V0LmlkfS9kb3dubG9hZD9iZWFyZXI9JHtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKX0ke3RoaXMuaW1wZXJzb25hdGVkQ2xpZW50ID8gYCZfc3dpdGNoX3VzZXI9JHt0aGlzLmltcGVyc29uYXRlZENsaWVudH1gIDogJyd9YDtcbiAgfVxuXG4gIC8vIEBUb2RvIHJlZmFjdG9yIHRvIGV2ZW50IGRpc3BhdGNoZXJcbiAgLyoqXG4gICAqIERlbGV0ZSBhc3NldFxuICAgKiBAcGFyYW0gZW50aXR5SWQ6IGlkIG9mIGFzc2V0IG1haW4gZW50aXR5IChwcm9wZXJ0eSwgZm9sZGVyLCB0cmFuc2FjdGlvbiwgZS50LmMuKVxuICAgKiBAcGFyYW0gYXNzZXQgd2hpY2ggc2hvdWxkIGJlIGRlbGV0ZWRcbiAgICovXG4gIGRlbGV0ZShlbnRpdHlJZDogbnVtYmVyLCBhc3NldDogSUFzc2V0KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke2Fzc2V0LmVudGl0eVR5cGV9LyR7ZW50aXR5SWR9LyR7YXNzZXQudHlwZX0vJHthc3NldC5pZH1gKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,46 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ import * as i2 from "./jwt.service";
7
+ export class AuthService {
8
+ constructor(http, jwtService, environment) {
9
+ this.http = http;
10
+ this.jwtService = jwtService;
11
+ this.environment = environment;
12
+ this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
13
+ }
14
+ setAuth(response) {
15
+ this.jwtService.saveTokens(response);
16
+ this.isLoggedInSubject.next(true);
17
+ }
18
+ login(username, password) {
19
+ return this.http.post(`${this.environment.apiV2}/login_check`, { username, password }).pipe(map((response) => {
20
+ this.setAuth(response);
21
+ return response;
22
+ }));
23
+ }
24
+ refresh(refreshToken) {
25
+ return this.http.post(`${this.environment.apiV2}/token/refresh`, { refreshToken }).pipe(map((response) => {
26
+ this.setAuth(response);
27
+ return response;
28
+ }));
29
+ }
30
+ logoutFront(url = '/login') {
31
+ localStorage.clear();
32
+ location.replace(url);
33
+ }
34
+ }
35
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, providedIn: 'root' });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, decorators: [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root'
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.JwtService }, { type: undefined, decorators: [{
43
+ type: Inject,
44
+ args: ['environment']
45
+ }] }]; } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3JDLE1BQU0sT0FBTyxXQUFXO0lBR3RCLFlBQ1UsSUFBZ0IsRUFDaEIsVUFBc0IsRUFDQyxXQUFnQjtRQUZ2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUUvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssY0FBYyxFQUFFLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0JBQWdCLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckYsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLFFBQVE7UUFDaEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7eUdBckNVLFdBQVcsc0VBTVosYUFBYTs2R0FOWixXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi9qd3Quc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgaXNMb2dnZWRJblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCF0aGlzLmp3dFNlcnZpY2UuaXNUb2tlbkV4cGlyZWQoKSk7XG4gIH1cblxuICBzZXRBdXRoKHJlc3BvbnNlOiBhbnkpIHtcbiAgICB0aGlzLmp3dFNlcnZpY2Uuc2F2ZVRva2VucyhyZXNwb25zZSk7XG4gICAgdGhpcy5pc0xvZ2dlZEluU3ViamVjdC5uZXh0KHRydWUpO1xuICB9XG5cbiAgbG9naW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9sb2dpbl9jaGVja2AsIHt1c2VybmFtZSwgcGFzc3dvcmR9KS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0QXV0aChyZXNwb25zZSk7XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHJlZnJlc2gocmVmcmVzaFRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vdG9rZW4vcmVmcmVzaGAsIHsgcmVmcmVzaFRva2VuIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zZXRBdXRoKHJlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbG9nb3V0RnJvbnQodXJsOiBzdHJpbmcgPSAnL2xvZ2luJyk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIGxvY2F0aW9uLnJlcGxhY2UodXJsKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,36 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { JwtHelperService } from '@auth0/angular-jwt';
3
+ import * as i0 from "@angular/core";
4
+ const NAME_TOKEN = 'token';
5
+ const NAME_REFRESH_TOKEN = 'refreshToken';
6
+ export class JwtService extends JwtHelperService {
7
+ getToken() {
8
+ return localStorage[NAME_TOKEN];
9
+ }
10
+ getRefreshToken() {
11
+ return localStorage[NAME_REFRESH_TOKEN];
12
+ }
13
+ saveTokens(tokens) {
14
+ localStorage[NAME_TOKEN] = tokens.token;
15
+ localStorage[NAME_REFRESH_TOKEN] = tokens.refreshToken;
16
+ }
17
+ destroyTokens() {
18
+ localStorage.removeItem(NAME_TOKEN);
19
+ localStorage.removeItem(NAME_REFRESH_TOKEN);
20
+ }
21
+ getUser() {
22
+ return this.decodeToken();
23
+ }
24
+ isMe(userId) {
25
+ return this.getUser().id === userId;
26
+ }
27
+ }
28
+ JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
29
+ JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtService, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root'
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYXV0aC9qd3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUd0RCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUM7QUFDM0IsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUM7QUFLMUMsTUFBTSxPQUFPLFVBQVcsU0FBUSxnQkFBZ0I7SUFDOUMsUUFBUTtRQUNOLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQStDO1FBQ3hELFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3hDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDekQsQ0FBQztJQUVELGFBQWE7UUFDWCxZQUFZLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLFlBQVksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBYztRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDO0lBQ3RDLENBQUM7O3dHQXpCVSxVQUFVOzRHQUFWLFVBQVUsY0FGVCxNQUFNOzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSnd0SGVscGVyU2VydmljZSB9IGZyb20gJ0BhdXRoMC9hbmd1bGFyLWp3dCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIvdXNlcic7XG5cbmNvbnN0IE5BTUVfVE9LRU4gPSAndG9rZW4nO1xuY29uc3QgTkFNRV9SRUZSRVNIX1RPS0VOID0gJ3JlZnJlc2hUb2tlbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEp3dFNlcnZpY2UgZXh0ZW5kcyBKd3RIZWxwZXJTZXJ2aWNlIHtcbiAgZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlW05BTUVfVE9LRU5dO1xuICB9XG5cbiAgZ2V0UmVmcmVzaFRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZVtOQU1FX1JFRlJFU0hfVE9LRU5dO1xuICB9XG5cbiAgc2F2ZVRva2Vucyh0b2tlbnM6IHsgdG9rZW46IHN0cmluZywgcmVmcmVzaFRva2VuOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZVtOQU1FX1RPS0VOXSA9IHRva2Vucy50b2tlbjtcbiAgICBsb2NhbFN0b3JhZ2VbTkFNRV9SRUZSRVNIX1RPS0VOXSA9IHRva2Vucy5yZWZyZXNoVG9rZW47XG4gIH1cblxuICBkZXN0cm95VG9rZW5zKCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKE5BTUVfVE9LRU4pO1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKE5BTUVfUkVGUkVTSF9UT0tFTik7XG4gIH1cblxuICBnZXRVc2VyKCk6IFVzZXIge1xuICAgIHJldHVybiB0aGlzLmRlY29kZVRva2VuPFVzZXI+KCk7XG4gIH1cblxuICBpc01lKHVzZXJJZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpLmlkID09PSB1c2VySWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./bank-transaction-calculation.service";
4
+ export class BankAccountCalculationService {
5
+ constructor(bankTransactionCalculationService) {
6
+ this.bankTransactionCalculationService = bankTransactionCalculationService;
7
+ }
8
+ /**
9
+ * Sum of bank accounts opening balances and their bank transactions allocated amounts
10
+ */
11
+ getTaxTankBalance(bankAccounts, bankTransactions, allocations) {
12
+ return bankAccounts.getOpeningBalance() +
13
+ this.bankTransactionCalculationService.getAllocatedAmount(bankTransactions.getByBankAccountsIds(bankAccounts.getIds()), allocations);
14
+ }
15
+ /**
16
+ * get difference between total loans amount and total cash amount
17
+ */
18
+ getNetPosition(bankAccounts, bankTransactions, allocations) {
19
+ return bankAccounts.currentBalance - this.getTaxTankBalance(bankAccounts.getLoanAccounts(), bankTransactions, allocations);
20
+ }
21
+ }
22
+ BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: i1.BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
23
+ BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountCalculationService, decorators: [{
25
+ type: Injectable,
26
+ args: [{
27
+ providedIn: 'root'
28
+ }]
29
+ }], ctorParameters: function () { return [{ type: i1.BankTransactionCalculationService }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LWNhbGN1bGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQtY2FsY3VsYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTM0MsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxZQUNVLGlDQUFvRTtRQUFwRSxzQ0FBaUMsR0FBakMsaUNBQWlDLENBQW1DO0lBRTlFLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUNmLFlBQW1DLEVBQ25DLGdCQUEyQyxFQUMzQyxXQUE0QztRQUU1QyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtZQUNyQyxJQUFJLENBQUMsaUNBQWlDLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekksQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUNaLFlBQW1DLEVBQ25DLGdCQUEyQyxFQUMzQyxXQUE0QztRQUU1QyxPQUFPLFlBQVksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3SCxDQUFDOzsySEEzQlUsNkJBQTZCOytIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFua0FjY291bnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvYmFuay1hY2NvdW50LmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNhbGN1bGF0aW9uU2VydmljZSB9IGZyb20gJy4vYmFuay10cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFua0FjY291bnRDYWxjdWxhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJhbmtUcmFuc2FjdGlvbkNhbGN1bGF0aW9uU2VydmljZTogQmFua1RyYW5zYWN0aW9uQ2FsY3VsYXRpb25TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIFN1bSBvZiBiYW5rIGFjY291bnRzIG9wZW5pbmcgYmFsYW5jZXMgYW5kIHRoZWlyIGJhbmsgdHJhbnNhY3Rpb25zIGFsbG9jYXRlZCBhbW91bnRzXG4gICAqL1xuICBnZXRUYXhUYW5rQmFsYW5jZShcbiAgICBiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50Q29sbGVjdGlvbixcbiAgICBiYW5rVHJhbnNhY3Rpb25zOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICAgIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uXG4gICk6IG51bWJlciB7XG4gICAgcmV0dXJuIGJhbmtBY2NvdW50cy5nZXRPcGVuaW5nQmFsYW5jZSgpICtcbiAgICAgIHRoaXMuYmFua1RyYW5zYWN0aW9uQ2FsY3VsYXRpb25TZXJ2aWNlLmdldEFsbG9jYXRlZEFtb3VudChiYW5rVHJhbnNhY3Rpb25zLmdldEJ5QmFua0FjY291bnRzSWRzKGJhbmtBY2NvdW50cy5nZXRJZHMoKSksIGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGlmZmVyZW5jZSBiZXR3ZWVuIHRvdGFsIGxvYW5zIGFtb3VudCBhbmQgdG90YWwgY2FzaCBhbW91bnRcbiAgICovXG4gIGdldE5ldFBvc2l0aW9uKFxuICAgIGJhbmtBY2NvdW50czogQmFua0FjY291bnRDb2xsZWN0aW9uLFxuICAgIGJhbmtUcmFuc2FjdGlvbnM6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb25cbiAgKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYmFua0FjY291bnRzLmN1cnJlbnRCYWxhbmNlIC0gdGhpcy5nZXRUYXhUYW5rQmFsYW5jZShiYW5rQWNjb3VudHMuZ2V0TG9hbkFjY291bnRzKCksIGJhbmtUcmFuc2FjdGlvbnMsIGFsbG9jYXRpb25zKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,108 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import _ from 'lodash';
4
+ import { replace } from '../../functions/array';
5
+ import { plainToClass } from 'class-transformer';
6
+ import { BaseRestService } from '../base-rest.service';
7
+ import { BankAccount } from '../../models/bank/bank-account';
8
+ import { AppEvent } from '../../models/event/app-event';
9
+ import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "../event/event-dispatcher.service";
13
+ /**
14
+ * Service that handling user's bank accounts logic
15
+ */
16
+ export class BankAccountService extends BaseRestService {
17
+ constructor(http, eventDispatcherService, environment) {
18
+ super(http, eventDispatcherService, environment);
19
+ this.http = http;
20
+ this.eventDispatcherService = eventDispatcherService;
21
+ this.environment = environment;
22
+ // api url parameter for bank accounts
23
+ this.url = 'bank-accounts';
24
+ this.modelClass = BankAccount;
25
+ this.listenEvents();
26
+ }
27
+ /**
28
+ * Listen system notifications and update cache when got basiq notification received
29
+ */
30
+ listenEvents() {
31
+ this.listenToPropertyOwnerUpdated();
32
+ }
33
+ /**
34
+ * Created manual bank account
35
+ * @param bankAccounts
36
+ * @param queryParams
37
+ */
38
+ addBatch(bankAccounts, queryParams = {}) {
39
+ return this.http.post(`${this.environment.apiV2}/${this.url}`, bankAccounts)
40
+ .pipe(map((newBankAccountsBase) => {
41
+ const newBankAccounts = newBankAccountsBase.map((bankAccountBase) => plainToClass(BankAccount, bankAccountBase));
42
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_ACCOUNT_CREATED, newBankAccounts));
43
+ const tempCache = _.cloneDeep(this.cache);
44
+ tempCache.push(...newBankAccounts);
45
+ this.cache = tempCache;
46
+ this.updateCache();
47
+ return newBankAccounts;
48
+ }));
49
+ }
50
+ /**
51
+ * Update bank account and fire event
52
+ */
53
+ update(bankAccount) {
54
+ return super.update(bankAccount).pipe(map((updatedBankAccount) => {
55
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_ACCOUNT_UPDATED, updatedBankAccount));
56
+ return updatedBankAccount;
57
+ }));
58
+ }
59
+ /**
60
+ * Update bank account opening balance
61
+ * @param bankAccount Bank account for balance updating
62
+ */
63
+ updateOpeningBalance(bankAccount) {
64
+ return this.http.put(`${this.environment.apiV2}/${this.url}/${bankAccount.id}/opening-balances/${bankAccount.getCurrentYearBalance().id}`, bankAccount.getCurrentYearBalance())
65
+ .pipe(map((response) => {
66
+ const tempCache = _.cloneDeep(this.cache);
67
+ replace(tempCache[tempCache.findIndex((ba) => ba.id === bankAccount.id)].balances, response);
68
+ this.cache = tempCache;
69
+ this.updateCache();
70
+ }));
71
+ }
72
+ /**
73
+ * Update bank account current balance
74
+ */
75
+ updateCurrentBalance(bankAccount) {
76
+ return this.http.put(`${this.environment.apiV2}/${this.url}/${bankAccount.id}/balance`, bankAccount)
77
+ .pipe(map((response) => {
78
+ const updatedBankAccount = plainToClass(BankAccount, response);
79
+ replace(this.cache, updatedBankAccount);
80
+ this.updateCache();
81
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_ACCOUNT_UPDATED, updatedBankAccount));
82
+ return updatedBankAccount;
83
+ }));
84
+ }
85
+ /**
86
+ * Listen to EventDispatcherService event related to updated Property Owner Updated
87
+ */
88
+ listenToPropertyOwnerUpdated() {
89
+ this.eventDispatcherService.on([AppEventTypeEnum.PROPERTY_OWNER_UPDATED, AppEventTypeEnum.LOAN_PAYOUT_UPDATED]).subscribe(() => {
90
+ this.fetch().subscribe((bankAccounts) => {
91
+ this.cache = bankAccounts;
92
+ this.updateCache();
93
+ });
94
+ });
95
+ }
96
+ }
97
+ BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
98
+ BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountService, providedIn: 'root' });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountService, decorators: [{
100
+ type: Injectable,
101
+ args: [{
102
+ providedIn: 'root'
103
+ }]
104
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
105
+ type: Inject,
106
+ args: ['environment']
107
+ }] }]; } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFFMUU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBNkM7SUFLbkYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFQbkQsc0NBQXNDO1FBQ3RDLFFBQUcsR0FBVyxlQUFlLENBQUM7UUFDOUIsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQVF2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLFlBQTJCLEVBQUUsY0FBc0IsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksQ0FBQzthQUN6RSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsbUJBQXNDLEVBQUUsRUFBRTtZQUM3QyxNQUFNLGVBQWUsR0FBa0IsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZ0MsRUFBZSxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQzlKLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUMzRyxNQUFNLFNBQVMsR0FBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekQsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQXdCO1FBQzdCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxDQUFDLGtCQUErQixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDOUcsT0FBTyxrQkFBa0IsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLFdBQXdCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQzthQUM1SyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sU0FBUyxHQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV6RCxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFlLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzFHLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsV0FBd0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQzthQUNqRyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sa0JBQWtCLEdBQWdCLFlBQVksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFNUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFbkIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDOUcsT0FBTyxrQkFBa0IsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssNEJBQTRCO1FBQ2xDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3SCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMkIsRUFBRSxFQUFFO2dCQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnSEFsR1Usa0JBQWtCLGtGQVFuQixhQUFhO29IQVJaLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IGFzIEJhbmtBY2NvdW50QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaGFuZGxpbmcgdXNlcidzIGJhbmsgYWNjb3VudHMgbG9naWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFua0FjY291bnRTZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQ+IHtcbiAgLy8gYXBpIHVybCBwYXJhbWV0ZXIgZm9yIGJhbmsgYWNjb3VudHNcbiAgdXJsOiBzdHJpbmcgPSAnYmFuay1hY2NvdW50cyc7XG4gIG1vZGVsQ2xhc3MgPSBCYW5rQWNjb3VudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBzeXN0ZW0gbm90aWZpY2F0aW9ucyBhbmQgdXBkYXRlIGNhY2hlIHdoZW4gZ290IGJhc2lxIG5vdGlmaWNhdGlvbiByZWNlaXZlZFxuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9Qcm9wZXJ0eU93bmVyVXBkYXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZWQgbWFudWFsIGJhbmsgYWNjb3VudFxuICAgKiBAcGFyYW0gYmFua0FjY291bnRzXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtc1xuICAgKi9cbiAgYWRkQmF0Y2goYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdLCBxdWVyeVBhcmFtczogb2JqZWN0ID0ge30pOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBiYW5rQWNjb3VudHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdCYW5rQWNjb3VudHNCYXNlOiBCYW5rQWNjb3VudEJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0JhbmtBY2NvdW50czogQmFua0FjY291bnRbXSA9IG5ld0JhbmtBY2NvdW50c0Jhc2UubWFwKChiYW5rQWNjb3VudEJhc2U6IEJhbmtBY2NvdW50QmFzZSk6IEJhbmtBY2NvdW50ID0+IHBsYWluVG9DbGFzcyhCYW5rQWNjb3VudCwgYmFua0FjY291bnRCYXNlKSk7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9DUkVBVEVELCBuZXdCYW5rQWNjb3VudHMpKTtcbiAgICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IEJhbmtBY2NvdW50W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB0ZW1wQ2FjaGUucHVzaCguLi5uZXdCYW5rQWNjb3VudHMpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBuZXdCYW5rQWNjb3VudHM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgYW5kIGZpcmUgZXZlbnRcbiAgICovXG4gIHVwZGF0ZShiYW5rQWNjb3VudDogQmFua0FjY291bnQpOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50PiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShiYW5rQWNjb3VudCkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZEJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX1VQREFURUQsIHVwZGF0ZWRCYW5rQWNjb3VudCkpO1xuICAgICAgICByZXR1cm4gdXBkYXRlZEJhbmtBY2NvdW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgb3BlbmluZyBiYWxhbmNlXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudCBCYW5rIGFjY291bnQgZm9yIGJhbGFuY2UgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZU9wZW5pbmdCYWxhbmNlKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtiYW5rQWNjb3VudC5pZH0vb3BlbmluZy1iYWxhbmNlcy8ke2JhbmtBY2NvdW50LmdldEN1cnJlbnRZZWFyQmFsYW5jZSgpLmlkfWAsIGJhbmtBY2NvdW50LmdldEN1cnJlbnRZZWFyQmFsYW5jZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogQmFua0FjY291bnRbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0ZW1wQ2FjaGVbdGVtcENhY2hlLmZpbmRJbmRleCgoYmE6IEJhbmtBY2NvdW50KSA9PiBiYS5pZCA9PT0gYmFua0FjY291bnQuaWQpXS5iYWxhbmNlcywgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYmFuayBhY2NvdW50IGN1cnJlbnQgYmFsYW5jZVxuICAgKi9cbiAgdXBkYXRlQ3VycmVudEJhbGFuY2UoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogT2JzZXJ2YWJsZTxCYW5rQWNjb3VudD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7YmFua0FjY291bnQuaWR9L2JhbGFuY2VgLCBiYW5rQWNjb3VudClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkQmFua0FjY291bnQ6IEJhbmtBY2NvdW50ID0gcGxhaW5Ub0NsYXNzKEJhbmtBY2NvdW50LCByZXNwb25zZSk7XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRCYW5rQWNjb3VudCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9VUERBVEVELCB1cGRhdGVkQmFua0FjY291bnQpKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEJhbmtBY2NvdW50O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIHVwZGF0ZWQgUHJvcGVydHkgT3duZXIgVXBkYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1Byb3BlcnR5T3duZXJVcGRhdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9PV05FUl9VUERBVEVELCBBcHBFdmVudFR5cGVFbnVtLkxPQU5fUEFZT1VUX1VQREFURURdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSBiYW5rQWNjb3VudHM7XG4gICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=