taxtank-core 0.15.0 → 0.16.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 (962) hide show
  1. package/README.md +5 -5
  2. package/bundles/taxtank-core.umd.js +13150 -13026
  3. package/bundles/taxtank-core.umd.js.map +1 -1
  4. package/esm2015/lib/collections/account-setup-item.collection.js +12 -12
  5. package/esm2015/lib/collections/bank-account.collection.js +135 -135
  6. package/esm2015/lib/collections/bank-transaction.collection.js +119 -119
  7. package/esm2015/lib/collections/client-movement.collection.js +31 -31
  8. package/esm2015/lib/collections/client-portfolio-report.collection.js +40 -40
  9. package/esm2015/lib/collections/client.collection.js +4 -4
  10. package/esm2015/lib/collections/collection-dictionary.js +86 -86
  11. package/esm2015/lib/collections/collection.js +109 -109
  12. package/esm2015/lib/collections/depreciation-forecast.collection.js +19 -19
  13. package/esm2015/lib/collections/depreciation.collection.js +101 -101
  14. package/esm2015/lib/collections/employee.collection.js +12 -12
  15. package/esm2015/lib/collections/income-source.collection.js +31 -31
  16. package/esm2015/lib/collections/loan.collection.js +18 -18
  17. package/esm2015/lib/collections/message-document.collection.js +13 -13
  18. package/esm2015/lib/collections/message.collection.js +21 -21
  19. package/esm2015/lib/collections/property/property-sale/property-sale-tax-exemption-metadata.collection.js +20 -20
  20. package/esm2015/lib/collections/property/property.collection.js +69 -69
  21. package/esm2015/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.js +12 -12
  22. package/esm2015/lib/collections/report/depreciation/depreciation-report-item.collection.js +14 -14
  23. package/esm2015/lib/collections/report/property/property-report-item-depreciation.collection.js +22 -22
  24. package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +22 -22
  25. package/esm2015/lib/collections/report/property/property-report-item.collection.js +13 -13
  26. package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +20 -20
  27. package/esm2015/lib/collections/subscription/service-subscription.collection.js +17 -17
  28. package/esm2015/lib/collections/tax-review.collection.js +55 -55
  29. package/esm2015/lib/collections/tax-summary/report-item.collection.js +141 -141
  30. package/esm2015/lib/collections/transaction-allocation.collection.js +40 -40
  31. package/esm2015/lib/collections/transaction.collection.js +143 -143
  32. package/esm2015/lib/collections/user-event-setting.collection.js +10 -10
  33. package/esm2015/lib/collections/vehicle-logbook.collection.js +88 -88
  34. package/esm2015/lib/collections/vehicle.collection.js +9 -9
  35. package/esm2015/lib/db/Enums/address-type.enum.js +6 -6
  36. package/esm2015/lib/db/Enums/bank-account-status.enum.js +6 -6
  37. package/esm2015/lib/db/Enums/bank-account-type.enum.js +12 -12
  38. package/esm2015/lib/db/Enums/bank-connection-status.enum.js +7 -7
  39. package/esm2015/lib/db/Enums/bank-transaction-type.enum.js +6 -6
  40. package/esm2015/lib/db/Enums/chart-accounts-category.enum.js +18 -18
  41. package/esm2015/lib/db/Enums/chart-accounts-etp.enum.js +9 -9
  42. package/esm2015/lib/db/Enums/chart-accounts-heading-list.enum.js +5 -5
  43. package/esm2015/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.js +8 -8
  44. package/esm2015/lib/db/Enums/chart-accounts-heading-taxable.enum.js +8 -8
  45. package/esm2015/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.js +8 -8
  46. package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +22 -22
  47. package/esm2015/lib/db/Enums/chart-accounts-metadata-list.enum.js +16 -16
  48. package/esm2015/lib/db/Enums/chart-accounts-metadata-type.enum.js +6 -6
  49. package/esm2015/lib/db/Enums/chart-accounts-type.enum.js +6 -6
  50. package/esm2015/lib/db/Enums/chat-status.enum.js +6 -6
  51. package/esm2015/lib/db/Enums/client-details-medicare-exemption.enum.js +7 -7
  52. package/esm2015/lib/db/Enums/client-details-work-depreciation-calculation.enum.js +6 -6
  53. package/esm2015/lib/db/Enums/client-details-working-holiday-maker.enum.js +7 -7
  54. package/esm2015/lib/db/Enums/client-invite-status.enum.js +6 -6
  55. package/esm2015/lib/db/Enums/client-invite-type.enum.js +6 -6
  56. package/esm2015/lib/db/Enums/depreciation-calculation-percent.enum.js +9 -9
  57. package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +9 -9
  58. package/esm2015/lib/db/Enums/depreciation-type.enum.js +8 -8
  59. package/esm2015/lib/db/Enums/depreciation-write-off-amount.enum.js +6 -6
  60. package/esm2015/lib/db/Enums/firm-type.enum.js +6 -6
  61. package/esm2015/lib/db/Enums/income-source-type-list-other.enum.js +8 -8
  62. package/esm2015/lib/db/Enums/income-source-type-list-salary.enum.js +5 -5
  63. package/esm2015/lib/db/Enums/income-source-type-list-work.enum.js +10 -10
  64. package/esm2015/lib/db/Enums/income-source-type.enum.js +8 -8
  65. package/esm2015/lib/db/Enums/invite-status.enum.js +7 -7
  66. package/esm2015/lib/db/Enums/loan-bank-type.enum.js +12 -12
  67. package/esm2015/lib/db/Enums/loan-frequency.enum.js +8 -8
  68. package/esm2015/lib/db/Enums/loan-interest-type.enum.js +6 -6
  69. package/esm2015/lib/db/Enums/loan-payout-type.enum.js +6 -6
  70. package/esm2015/lib/db/Enums/loan-repayment-frequency.enum.js +7 -7
  71. package/esm2015/lib/db/Enums/loan-repayment-type.enum.js +6 -6
  72. package/esm2015/lib/db/Enums/loan-type.enum.js +14 -14
  73. package/esm2015/lib/db/Enums/loan-vehicle-type.enum.js +7 -7
  74. package/esm2015/lib/db/Enums/phone-type.enum.js +6 -6
  75. package/esm2015/lib/db/Enums/property/property-category-list.enum.js +7 -7
  76. package/esm2015/lib/db/Enums/property/property-depreciation-calculation.enum.js +6 -6
  77. package/esm2015/lib/db/Enums/property/property-sale/tax-exemption-metadata.enum.js +9 -9
  78. package/esm2015/lib/db/Enums/property/property-sale/tax-exemption.enum.js +12 -12
  79. package/esm2015/lib/db/Enums/property/property-share-access.enum.js +6 -6
  80. package/esm2015/lib/db/Enums/property/property-share-status.enum.js +7 -7
  81. package/esm2015/lib/db/Enums/registration-invite-status.enum.js +6 -6
  82. package/esm2015/lib/db/Enums/salary-forecast-frequency.enum.js +8 -8
  83. package/esm2015/lib/db/Enums/service-notification-status.enum.js +7 -7
  84. package/esm2015/lib/db/Enums/service-notification-type.enum.js +6 -6
  85. package/esm2015/lib/db/Enums/spare-document-spare-type.enum.js +6 -6
  86. package/esm2015/lib/db/Enums/subscription/service-payment-status.enum.js +6 -6
  87. package/esm2015/lib/db/Enums/subscription/service-price-recurring-interval.enum.js +8 -8
  88. package/esm2015/lib/db/Enums/subscription/service-price-type.enum.js +6 -6
  89. package/esm2015/lib/db/Enums/subscription/service-product-id.enum.js +10 -10
  90. package/esm2015/lib/db/Enums/subscription/service-product-status.enum.js +6 -6
  91. package/esm2015/lib/db/Enums/subscription/service-subscription-status.enum.js +10 -10
  92. package/esm2015/lib/db/Enums/tank-type.enum.js +8 -8
  93. package/esm2015/lib/db/Enums/tax-calculation-medicare-exemption.enum.js +6 -6
  94. package/esm2015/lib/db/Enums/tax-calculation-type.enum.js +14 -14
  95. package/esm2015/lib/db/Enums/tax-return-category-list.enum.js +28 -28
  96. package/esm2015/lib/db/Enums/tax-return-category-section.enum.js +8 -8
  97. package/esm2015/lib/db/Enums/tax-review-status.enum.js +13 -13
  98. package/esm2015/lib/db/Enums/tax-summary-list.enum.js +17 -17
  99. package/esm2015/lib/db/Enums/tax-summary-section.enum.js +8 -8
  100. package/esm2015/lib/db/Enums/tax-summary-tax-summary.enum.js +17 -17
  101. package/esm2015/lib/db/Enums/ticket-feedback.enum.js +6 -6
  102. package/esm2015/lib/db/Enums/ticket-status.enum.js +9 -9
  103. package/esm2015/lib/db/Enums/ticket-types.enum.js +5 -5
  104. package/esm2015/lib/db/Enums/transaction-operation.enum.js +7 -7
  105. package/esm2015/lib/db/Enums/transaction-source.enum.js +6 -6
  106. package/esm2015/lib/db/Enums/transaction-type.enum.js +6 -6
  107. package/esm2015/lib/db/Enums/user-event-status.enum.js +9 -9
  108. package/esm2015/lib/db/Enums/user-event-type-client-type.enum.js +29 -29
  109. package/esm2015/lib/db/Enums/user-event-type-employee-type.enum.js +17 -17
  110. package/esm2015/lib/db/Enums/user-event-type-frequency.enum.js +7 -7
  111. package/esm2015/lib/db/Enums/user-event-type-user-type.enum.js +7 -7
  112. package/esm2015/lib/db/Enums/user-medicare-exemption.enum.js +7 -7
  113. package/esm2015/lib/db/Enums/user-roles.enum.js +16 -16
  114. package/esm2015/lib/db/Enums/user-status.enum.js +7 -7
  115. package/esm2015/lib/db/Enums/user-title.enum.js +9 -9
  116. package/esm2015/lib/db/Enums/user-work-depreciation-calculation.enum.js +6 -6
  117. package/esm2015/lib/db/Enums/user-working-holiday-maker.enum.js +7 -7
  118. package/esm2015/lib/db/Enums/vehicle-claim-method.enum.js +6 -6
  119. package/esm2015/lib/db/Enums/vehicle-logbook-purpose.enum.js +6 -6
  120. package/esm2015/lib/db/Models/abstract-model.js +7 -7
  121. package/esm2015/lib/db/Models/address.js +4 -4
  122. package/esm2015/lib/db/Models/bank/bank-account-balance.js +4 -4
  123. package/esm2015/lib/db/Models/bank/bank-account-property.js +4 -4
  124. package/esm2015/lib/db/Models/bank/bank-account.js +4 -4
  125. package/esm2015/lib/db/Models/bank/bank-connection.js +4 -4
  126. package/esm2015/lib/db/Models/bank/bank-transaction-import.js +4 -4
  127. package/esm2015/lib/db/Models/bank/bank-transaction.js +4 -4
  128. package/esm2015/lib/db/Models/bank/bank.js +4 -4
  129. package/esm2015/lib/db/Models/bank/basiq-job.js +4 -4
  130. package/esm2015/lib/db/Models/bank/financial-data-system.js +4 -4
  131. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-depreciation.js +4 -4
  132. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-heading.js +4 -4
  133. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-metadata.js +4 -4
  134. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-value.js +4 -4
  135. package/esm2015/lib/db/Models/chart-accounts/chart-accounts.js +4 -4
  136. package/esm2015/lib/db/Models/country.js +4 -4
  137. package/esm2015/lib/db/Models/depreciation/depreciation-capital-project.js +4 -4
  138. package/esm2015/lib/db/Models/depreciation/depreciation-forecast.js +4 -4
  139. package/esm2015/lib/db/Models/depreciation/depreciation-receipt.js +4 -4
  140. package/esm2015/lib/db/Models/depreciation/depreciation.js +4 -4
  141. package/esm2015/lib/db/Models/document/document-folder.js +4 -4
  142. package/esm2015/lib/db/Models/document/document.js +4 -4
  143. package/esm2015/lib/db/Models/document/property-document.js +10 -10
  144. package/esm2015/lib/db/Models/firm/accountant/tax-review.js +4 -4
  145. package/esm2015/lib/db/Models/firm/accountant/ticket.js +4 -4
  146. package/esm2015/lib/db/Models/firm/chat.js +4 -4
  147. package/esm2015/lib/db/Models/firm/client-invite.js +4 -4
  148. package/esm2015/lib/db/Models/firm/client-movement.js +4 -4
  149. package/esm2015/lib/db/Models/firm/employee-invite.js +4 -4
  150. package/esm2015/lib/db/Models/firm/firm.js +4 -4
  151. package/esm2015/lib/db/Models/firm/message-document.js +4 -4
  152. package/esm2015/lib/db/Models/firm/message.js +4 -4
  153. package/esm2015/lib/db/Models/incomeSource/income-source-forecast.js +4 -4
  154. package/esm2015/lib/db/Models/incomeSource/income-source-type.js +4 -4
  155. package/esm2015/lib/db/Models/incomeSource/income-source.js +4 -4
  156. package/esm2015/lib/db/Models/incomeSource/salary-forecast.js +4 -4
  157. package/esm2015/lib/db/Models/loan/borrowing-expense-loan.js +4 -4
  158. package/esm2015/lib/db/Models/loan/borrowing-expense.js +4 -4
  159. package/esm2015/lib/db/Models/loan/loan-payout.js +4 -4
  160. package/esm2015/lib/db/Models/loan/loan.js +4 -4
  161. package/esm2015/lib/db/Models/phone.js +4 -4
  162. package/esm2015/lib/db/Models/property/property-category-movement.js +4 -4
  163. package/esm2015/lib/db/Models/property/property-category.js +4 -4
  164. package/esm2015/lib/db/Models/property/property-forecast.js +4 -4
  165. package/esm2015/lib/db/Models/property/property-sale/property-sale-tax-exemption-metadata.js +4 -4
  166. package/esm2015/lib/db/Models/property/property-sale/property-sale.js +4 -4
  167. package/esm2015/lib/db/Models/property/property-sale/tax-exemption-metadata.js +4 -4
  168. package/esm2015/lib/db/Models/property/property-sale/tax-exemption.js +4 -4
  169. package/esm2015/lib/db/Models/property/property-share.js +4 -4
  170. package/esm2015/lib/db/Models/property/property-subscription.js +4 -4
  171. package/esm2015/lib/db/Models/property/property-valuation.js +4 -4
  172. package/esm2015/lib/db/Models/property/property.js +4 -4
  173. package/esm2015/lib/db/Models/service-notification.js +4 -4
  174. package/esm2015/lib/db/Models/sole/sole-forecast.js +4 -4
  175. package/esm2015/lib/db/Models/subscription/service-payment.js +4 -4
  176. package/esm2015/lib/db/Models/subscription/service-price.js +4 -4
  177. package/esm2015/lib/db/Models/subscription/service-product.js +4 -4
  178. package/esm2015/lib/db/Models/subscription/service-subscription-item.js +4 -4
  179. package/esm2015/lib/db/Models/subscription/service-subscription.js +4 -4
  180. package/esm2015/lib/db/Models/tax-return/tax-return-category.js +4 -4
  181. package/esm2015/lib/db/Models/tax-return/tax-return-item.js +4 -4
  182. package/esm2015/lib/db/Models/tax-return/tax-return.js +4 -4
  183. package/esm2015/lib/db/Models/transaction/transaction-allocation.js +4 -4
  184. package/esm2015/lib/db/Models/transaction/transaction-base.js +26 -26
  185. package/esm2015/lib/db/Models/transaction/transaction-metadata.js +4 -4
  186. package/esm2015/lib/db/Models/transaction/transaction-receipt.js +4 -4
  187. package/esm2015/lib/db/Models/transaction/transaction.js +4 -4
  188. package/esm2015/lib/db/Models/user/client-details.js +4 -4
  189. package/esm2015/lib/db/Models/user/client-income-types.js +4 -4
  190. package/esm2015/lib/db/Models/user/employee-details.js +4 -4
  191. package/esm2015/lib/db/Models/user/occupation.js +4 -4
  192. package/esm2015/lib/db/Models/user/registration-invite.js +4 -4
  193. package/esm2015/lib/db/Models/user/user-event-setting.js +4 -4
  194. package/esm2015/lib/db/Models/user/user-event-type-category.js +4 -4
  195. package/esm2015/lib/db/Models/user/user-event-type.js +4 -4
  196. package/esm2015/lib/db/Models/user/user-event.js +4 -4
  197. package/esm2015/lib/db/Models/user/user.js +4 -4
  198. package/esm2015/lib/db/Models/vehicle/vehicle-claim.js +4 -4
  199. package/esm2015/lib/db/Models/vehicle/vehicle-logbook.js +4 -4
  200. package/esm2015/lib/db/Models/vehicle/vehicle.js +4 -4
  201. package/esm2015/lib/forms/abstract.form.js +11 -11
  202. package/esm2015/lib/forms/client/client-income-types.form.js +22 -22
  203. package/esm2015/lib/forms/index.js +10 -10
  204. package/esm2015/lib/forms/login/login.form.js +11 -11
  205. package/esm2015/lib/forms/register/register-client.form.js +29 -29
  206. package/esm2015/lib/forms/register/register-firm.form.js +26 -26
  207. package/esm2015/lib/forms/user/password.form.js +13 -13
  208. package/esm2015/lib/forms/user/reset-password.form.js +10 -10
  209. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +114 -114
  210. package/esm2015/lib/forms/vehicle/vehicle.form.js +20 -20
  211. package/esm2015/lib/functions/array/index.js +3 -3
  212. package/esm2015/lib/functions/array/replace.js +5 -5
  213. package/esm2015/lib/functions/array/sort-deep.js +21 -21
  214. package/esm2015/lib/functions/array/sort.js +12 -12
  215. package/esm2015/lib/functions/clone-deep.js +5 -5
  216. package/esm2015/lib/functions/create-date.js +8 -8
  217. package/esm2015/lib/functions/enum-to-list.js +12 -12
  218. package/esm2015/lib/functions/get-doc-icon.js +18 -18
  219. package/esm2015/lib/functions/mat-options-functions.js +9 -9
  220. package/esm2015/lib/functions/mat-sort-options.js +10 -10
  221. package/esm2015/lib/functions/round-to.js +10 -10
  222. package/esm2015/lib/functions/tax-review-filter-predicate.js +10 -10
  223. package/esm2015/lib/interceptors/corelogic-interceptor.js +43 -43
  224. package/esm2015/lib/interceptors/financial-year-interceptor.js +29 -29
  225. package/esm2015/lib/interceptors/interceptors.module.js +73 -73
  226. package/esm2015/lib/interceptors/jwt-interceptor.js +137 -137
  227. package/esm2015/lib/interceptors/preloader.interceptor.js +32 -32
  228. package/esm2015/lib/interceptors/user-switcher-interceptor.js +42 -42
  229. package/esm2015/lib/interfaces/asset-entity-type.enum.js +12 -12
  230. package/esm2015/lib/interfaces/asset-type.enum.js +10 -10
  231. package/esm2015/lib/interfaces/asset.interface.js +2 -2
  232. package/esm2015/lib/interfaces/chart-data.interface.js +1 -1
  233. package/esm2015/lib/interfaces/chart-serie.interface.js +1 -1
  234. package/esm2015/lib/interfaces/document.interface.js +2 -2
  235. package/esm2015/lib/interfaces/documentable.interface.js +2 -2
  236. package/esm2015/lib/interfaces/event-listener.interface.js +1 -1
  237. package/esm2015/lib/interfaces/expense.interface.js +2 -2
  238. package/esm2015/lib/interfaces/exportable.interface.js +2 -2
  239. package/esm2015/lib/interfaces/income-source-forecast.interface.js +2 -2
  240. package/esm2015/lib/interfaces/option.interface.js +1 -1
  241. package/esm2015/lib/interfaces/photoable.js +1 -1
  242. package/esm2015/lib/interfaces/receipt.interface.js +2 -2
  243. package/esm2015/lib/interfaces/table-exportable.interface.js +2 -0
  244. package/esm2015/lib/interfaces/tank.interface.js +2 -2
  245. package/esm2015/lib/interfaces/updatable.interface.js +2 -2
  246. package/esm2015/lib/models/account-setup/account-setup-item.js +9 -9
  247. package/esm2015/lib/models/account-setup/account-setup-items.const.js +55 -55
  248. package/esm2015/lib/models/account-setup/account-setup-items.enum.js +14 -14
  249. package/esm2015/lib/models/address/address.js +23 -23
  250. package/esm2015/lib/models/address/country.js +15 -15
  251. package/esm2015/lib/models/bank/bank-account-chart-data.js +34 -34
  252. package/esm2015/lib/models/bank/bank-account-property.js +10 -10
  253. package/esm2015/lib/models/bank/bank-account-types.const.js +15 -15
  254. package/esm2015/lib/models/bank/bank-account.js +122 -122
  255. package/esm2015/lib/models/bank/bank-connection.js +21 -21
  256. package/esm2015/lib/models/bank/bank-transaction-chart-data.js +106 -106
  257. package/esm2015/lib/models/bank/bank-transaction-summary-fields.enum.js +6 -6
  258. package/esm2015/lib/models/bank/bank-transaction.js +67 -67
  259. package/esm2015/lib/models/bank/bank.js +13 -13
  260. package/esm2015/lib/models/bank/basiq-config.js +12 -12
  261. package/esm2015/lib/models/bank/basiq-job.js +4 -4
  262. package/esm2015/lib/models/bank/basiq-token.js +13 -13
  263. package/esm2015/lib/models/bank/type-loan.const.js +7 -7
  264. package/esm2015/lib/models/borrowing-expense/borrowing-expense-loan.js +4 -4
  265. package/esm2015/lib/models/borrowing-expense/borrowing-expense.js +4 -4
  266. package/esm2015/lib/models/chart/chart-data.js +12 -12
  267. package/esm2015/lib/models/chart/chart-serie.js +6 -6
  268. package/esm2015/lib/models/chart-accounts/chart-accounts-categories.const.js +105 -105
  269. package/esm2015/lib/models/chart-accounts/chart-accounts-depreciation.js +16 -16
  270. package/esm2015/lib/models/chart-accounts/chart-accounts-heading.js +3 -3
  271. package/esm2015/lib/models/chart-accounts/chart-accounts-metadata.js +13 -13
  272. package/esm2015/lib/models/chart-accounts/chart-accounts-tax-labels.enum.js +6 -6
  273. package/esm2015/lib/models/chart-accounts/chart-accounts-value.js +4 -4
  274. package/esm2015/lib/models/chart-accounts/chart-accounts.js +156 -156
  275. package/esm2015/lib/models/chat/chat-view-type.enum.js +6 -6
  276. package/esm2015/lib/models/chat/chat.js +22 -22
  277. package/esm2015/lib/models/chat/message-document.js +19 -19
  278. package/esm2015/lib/models/chat/message.js +38 -38
  279. package/esm2015/lib/models/client/client-details.js +4 -4
  280. package/esm2015/lib/models/client/client-income-types.js +10 -10
  281. package/esm2015/lib/models/client/client-invite.js +66 -66
  282. package/esm2015/lib/models/client/client-movement.js +26 -26
  283. package/esm2015/lib/models/client/client-portfolio-chart-data.js +57 -57
  284. package/esm2015/lib/models/client/client-portfolio-report.js +6 -6
  285. package/esm2015/lib/models/color/alphabet-colors.enum.js +29 -29
  286. package/esm2015/lib/models/depreciation/depreciation-capital-project.js +9 -9
  287. package/esm2015/lib/models/depreciation/depreciation-forecast.js +34 -34
  288. package/esm2015/lib/models/depreciation/depreciation-group-item.js +14 -14
  289. package/esm2015/lib/models/depreciation/depreciation-group.enum.js +9 -9
  290. package/esm2015/lib/models/depreciation/depreciation-group.js +15 -15
  291. package/esm2015/lib/models/depreciation/depreciation-groups.const.js +29 -29
  292. package/esm2015/lib/models/depreciation/depreciation-receipt.js +11 -11
  293. package/esm2015/lib/models/depreciation/depreciation.js +156 -156
  294. package/esm2015/lib/models/document/document-api-url-prefix.enum.js +9 -9
  295. package/esm2015/lib/models/document/document-file-types.const.js +23 -23
  296. package/esm2015/lib/models/document/document-folder.js +10 -10
  297. package/esm2015/lib/models/document/document.js +24 -24
  298. package/esm2015/lib/models/employee/employee-details.js +10 -10
  299. package/esm2015/lib/models/employee/employee-invite.js +13 -13
  300. package/esm2015/lib/models/endpoint/endpoint.js +22 -22
  301. package/esm2015/lib/models/endpoint/endpoints.const.js +142 -142
  302. package/esm2015/lib/models/event/app-event-type.enum.js +46 -45
  303. package/esm2015/lib/models/event/app-event.js +10 -10
  304. package/esm2015/lib/models/export/export-data-table.js +9 -6
  305. package/esm2015/lib/models/export/export-format.enum.js +6 -6
  306. package/esm2015/lib/models/export/export-row-data-type.enum.js +10 -0
  307. package/esm2015/lib/models/export/export-row.js +6 -0
  308. package/esm2015/lib/models/file/icons-file.enum.js +7 -7
  309. package/esm2015/lib/models/financial-year/financial-year.js +43 -43
  310. package/esm2015/lib/models/financial-year/month-name-short.enum.js +20 -20
  311. package/esm2015/lib/models/financial-year/month-number.enum.js +20 -20
  312. package/esm2015/lib/models/financial-year/months.const.js +2 -2
  313. package/esm2015/lib/models/firm/firm.js +29 -29
  314. package/esm2015/lib/models/income-position/income-position.js +9 -9
  315. package/esm2015/lib/models/income-source/income-source-chart-data.js +45 -45
  316. package/esm2015/lib/models/income-source/income-source-forecast.js +31 -31
  317. package/esm2015/lib/models/income-source/income-source-type.js +32 -32
  318. package/esm2015/lib/models/income-source/income-source.js +57 -57
  319. package/esm2015/lib/models/income-source/salary-forecast.js +14 -14
  320. package/esm2015/lib/models/income-source/sole-forecast.js +14 -14
  321. package/esm2015/lib/models/loan/loan-max-number-of-payments.enum.js +10 -10
  322. package/esm2015/lib/models/loan/loan-payment.js +34 -12
  323. package/esm2015/lib/models/loan/loan-payout.js +11 -11
  324. package/esm2015/lib/models/loan/loan.js +39 -39
  325. package/esm2015/lib/models/logbook/default-vehicle-expense.js +20 -20
  326. package/esm2015/lib/models/logbook/logbook-period.js +18 -18
  327. package/esm2015/lib/models/logbook/logbook-purpose-options.const.js +6 -6
  328. package/esm2015/lib/models/logbook/vehicle-claim.js +91 -91
  329. package/esm2015/lib/models/logbook/vehicle-logbook.js +22 -22
  330. package/esm2015/lib/models/logbook/vehicle.js +17 -17
  331. package/esm2015/lib/models/notification/notification.js +39 -39
  332. package/esm2015/lib/models/pdf/pdf-config.js +43 -43
  333. package/esm2015/lib/models/pdf/pdf-orientation.enum.js +6 -6
  334. package/esm2015/lib/models/pdf/pdf-settings.js +10 -10
  335. package/esm2015/lib/models/phone/phone.js +11 -11
  336. package/esm2015/lib/models/property/calculation-form-item.js +17 -17
  337. package/esm2015/lib/models/property/calculation-form-type.enum.js +9 -9
  338. package/esm2015/lib/models/property/capital-costs-itmes.const.js +57 -57
  339. package/esm2015/lib/models/property/corelogic-suggestion.js +6 -6
  340. package/esm2015/lib/models/property/property-category-movement.js +20 -20
  341. package/esm2015/lib/models/property/property-category.js +11 -11
  342. package/esm2015/lib/models/property/property-document.js +17 -17
  343. package/esm2015/lib/models/property/property-equity-chart-data.js +155 -155
  344. package/esm2015/lib/models/property/property-equity-chart-item.js +24 -24
  345. package/esm2015/lib/models/property/property-equity-chart-type.enum.js +6 -6
  346. package/esm2015/lib/models/property/property-forecast.js +52 -52
  347. package/esm2015/lib/models/property/property-sale/property-sale-tax-exemption-metadata.js +4 -4
  348. package/esm2015/lib/models/property/property-sale/property-sale.js +19 -19
  349. package/esm2015/lib/models/property/property-sale/tax-exemption-metadata.js +4 -4
  350. package/esm2015/lib/models/property/property-sale/tax-exemption.js +4 -4
  351. package/esm2015/lib/models/property/property-share.js +48 -48
  352. package/esm2015/lib/models/property/property-subscription.js +13 -13
  353. package/esm2015/lib/models/property/property-valuation.js +23 -23
  354. package/esm2015/lib/models/property/property.js +218 -218
  355. package/esm2015/lib/models/property/share-filter-options.enum.js +11 -11
  356. package/esm2015/lib/models/registration-invite/registration-invite.js +10 -10
  357. package/esm2015/lib/models/report/depreciation/depreciation-lvp-asset-type.enum.js +10 -10
  358. package/esm2015/lib/models/report/depreciation/depreciation-lvp-report-item.js +21 -21
  359. package/esm2015/lib/models/report/depreciation/depreciation-report-item.js +25 -25
  360. package/esm2015/lib/models/report/property/property-report-item-depreciation.js +19 -19
  361. package/esm2015/lib/models/report/property/property-report-item-transaction.js +12 -12
  362. package/esm2015/lib/models/report/property/property-report-item.js +27 -27
  363. package/esm2015/lib/models/report/vehicle-expense/vehicle-expense.js +14 -14
  364. package/esm2015/lib/models/service-subscription/module-url-list.const.js +12 -12
  365. package/esm2015/lib/models/service-subscription/service-payment.js +10 -10
  366. package/esm2015/lib/models/service-subscription/service-price.js +14 -14
  367. package/esm2015/lib/models/service-subscription/service-product.js +18 -18
  368. package/esm2015/lib/models/service-subscription/service-subscription-item.js +22 -22
  369. package/esm2015/lib/models/service-subscription/service-subscription.js +145 -145
  370. package/esm2015/lib/models/service-subscription/subscription-description.const.js +7 -7
  371. package/esm2015/lib/models/service-subscription/subscription-title.const.js +7 -7
  372. package/esm2015/lib/models/service-subscription/subscription-type.enum.js +7 -7
  373. package/esm2015/lib/models/tax-review/tax-review.js +86 -86
  374. package/esm2015/lib/models/tax-summary/report-item-details.js +9 -9
  375. package/esm2015/lib/models/tax-summary/report-item.js +15 -15
  376. package/esm2015/lib/models/tax-summary/tax-summary-section.js +30 -30
  377. package/esm2015/lib/models/tax-summary/tax-summary-type.enum.js +9 -9
  378. package/esm2015/lib/models/tax-summary/tax-summary.js +71 -71
  379. package/esm2015/lib/models/toast/toast-type.enum.js +8 -8
  380. package/esm2015/lib/models/toast/toast.js +9 -9
  381. package/esm2015/lib/models/transaction/income-amount-type.enum.js +9 -9
  382. package/esm2015/lib/models/transaction/transaction-allocation.js +21 -21
  383. package/esm2015/lib/models/transaction/transaction-category.enum.js +8 -0
  384. package/esm2015/lib/models/transaction/transaction-metadata.js +10 -10
  385. package/esm2015/lib/models/transaction/transaction-receipt.js +11 -11
  386. package/esm2015/lib/models/transaction/transaction.js +225 -225
  387. package/esm2015/lib/models/user/my-account-history-initiated-by.enum.js +6 -6
  388. package/esm2015/lib/models/user/my-account-history-status.enum.js +6 -6
  389. package/esm2015/lib/models/user/my-account-history-type.enum.js +7 -7
  390. package/esm2015/lib/models/user/my-account-history.js +3 -3
  391. package/esm2015/lib/models/user/occupation.js +4 -4
  392. package/esm2015/lib/models/user/user-roles.const.js +14 -14
  393. package/esm2015/lib/models/user/user-to-register.js +6 -6
  394. package/esm2015/lib/models/user/user-work-position.const.js +6 -6
  395. package/esm2015/lib/models/user/user.js +138 -138
  396. package/esm2015/lib/models/user-event/user-event-setting-field.enum.js +10 -10
  397. package/esm2015/lib/models/user-event/user-event-setting.js +18 -18
  398. package/esm2015/lib/models/user-event/user-event-type-category.js +4 -4
  399. package/esm2015/lib/models/user-event/user-event-type.js +19 -19
  400. package/esm2015/lib/services/account-setup/account-setup.service.js +136 -136
  401. package/esm2015/lib/services/asset/assets.service.js +51 -51
  402. package/esm2015/lib/services/auth/auth.service.js +46 -46
  403. package/esm2015/lib/services/auth/jwt.service.js +36 -36
  404. package/esm2015/lib/services/bank/bank-account-calculation.service.js +30 -30
  405. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +65 -65
  406. package/esm2015/lib/services/data-table/data-table.service.js +47 -0
  407. package/esm2015/lib/services/event/event-dispatcher.service.js +30 -30
  408. package/esm2015/lib/services/event/sse.service.js +46 -46
  409. package/esm2015/lib/services/header-title/header-title.service.js +28 -28
  410. package/esm2015/lib/services/http/address/address.service.js +39 -39
  411. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +109 -109
  412. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +43 -43
  413. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +80 -80
  414. package/esm2015/lib/services/http/bank/bank.service.js +24 -24
  415. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +102 -85
  416. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +38 -38
  417. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +89 -89
  418. package/esm2015/lib/services/http/chat/chat.service.js +73 -73
  419. package/esm2015/lib/services/http/chat/message/message.service.js +61 -61
  420. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +118 -118
  421. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +62 -62
  422. package/esm2015/lib/services/http/depreciation/depreciation.service.js +129 -129
  423. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +76 -76
  424. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +50 -50
  425. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +102 -102
  426. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +89 -89
  427. package/esm2015/lib/services/http/firm/employee/employee.service.js +39 -39
  428. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +53 -53
  429. package/esm2015/lib/services/http/firm/firm.service.js +79 -79
  430. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +37 -37
  431. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +81 -81
  432. package/esm2015/lib/services/http/income-source/income-source.service.js +101 -101
  433. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +81 -81
  434. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +78 -78
  435. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +73 -73
  436. package/esm2015/lib/services/http/loan/loan.service.js +136 -136
  437. package/esm2015/lib/services/http/property/property-category/property-category.service.js +23 -23
  438. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +47 -47
  439. package/esm2015/lib/services/http/property/property-document/property-document.service.js +61 -61
  440. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +20 -20
  441. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +21 -21
  442. package/esm2015/lib/services/http/property/property-share/property-share.service.js +106 -106
  443. package/esm2015/lib/services/http/property/property.service.js +117 -117
  444. package/esm2015/lib/services/http/rest/rest.service.js +217 -217
  445. package/esm2015/lib/services/http/service-notification/service-notification.service.js +61 -61
  446. package/esm2015/lib/services/http/subscription/service-price.service.js +24 -24
  447. package/esm2015/lib/services/http/subscription/subscription.service.js +111 -111
  448. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +40 -40
  449. package/esm2015/lib/services/http/tax-review/tax-review.service.js +94 -94
  450. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +71 -71
  451. package/esm2015/lib/services/http/transaction/messages.enum.js +7 -7
  452. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +82 -82
  453. package/esm2015/lib/services/http/transaction/transaction.service.js +323 -323
  454. package/esm2015/lib/services/http/user/occupation/occupation.service.js +45 -45
  455. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +51 -51
  456. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +21 -21
  457. package/esm2015/lib/services/http/user/user.service.js +137 -124
  458. package/esm2015/lib/services/http/vehicle/messages.enum.js +13 -13
  459. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +24 -24
  460. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +59 -59
  461. package/esm2015/lib/services/http/vehicle/vehicle.service.js +73 -73
  462. package/esm2015/lib/services/intercom/intercom.service.js +41 -41
  463. package/esm2015/lib/services/kompassify/kompassify.service.js +30 -30
  464. package/esm2015/lib/services/pdf/pdf.service.js +94 -94
  465. package/esm2015/lib/services/preloader/preloader.service.js +30 -30
  466. package/esm2015/lib/services/property/corelogic/corelogic.service.js +46 -46
  467. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +45 -45
  468. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +121 -121
  469. package/esm2015/lib/services/property/property-holding-costs/property-holding-costs.service.js +53 -53
  470. package/esm2015/lib/services/report/property/property-transaction-report.service.js +76 -76
  471. package/esm2015/lib/services/toast/toast.service.js +57 -57
  472. package/esm2015/lib/services/transaction/transaction-calculation.service.js +47 -47
  473. package/esm2015/lib/services/user/user-switcher.service.js +37 -37
  474. package/esm2015/lib/services/xlsx/xlsx.service.js +47 -47
  475. package/esm2015/lib/tt-core.module.js +36 -36
  476. package/esm2015/lib/validators/at-least-one.validator.js +11 -11
  477. package/esm2015/lib/validators/index.js +2 -2
  478. package/esm2015/lib/validators/password-match.validator.js +17 -17
  479. package/esm2015/lib/validators/password.validator.js +7 -7
  480. package/esm2015/public-api.js +396 -393
  481. package/esm2015/taxtank-core.js +4 -4
  482. package/fesm2015/taxtank-core.js +11007 -10890
  483. package/fesm2015/taxtank-core.js.map +1 -1
  484. package/lib/collections/account-setup-item.collection.d.ts +6 -6
  485. package/lib/collections/bank-account.collection.d.ts +67 -67
  486. package/lib/collections/bank-transaction.collection.d.ts +72 -72
  487. package/lib/collections/client-movement.collection.d.ts +17 -17
  488. package/lib/collections/client-portfolio-report.collection.d.ts +26 -26
  489. package/lib/collections/client.collection.d.ts +4 -4
  490. package/lib/collections/collection-dictionary.d.ts +47 -47
  491. package/lib/collections/collection.d.ts +49 -49
  492. package/lib/collections/depreciation-forecast.collection.d.ts +11 -11
  493. package/lib/collections/depreciation.collection.d.ts +37 -37
  494. package/lib/collections/employee.collection.d.ts +6 -6
  495. package/lib/collections/income-source.collection.d.ts +20 -20
  496. package/lib/collections/loan.collection.d.ts +14 -14
  497. package/lib/collections/message-document.collection.d.ts +11 -11
  498. package/lib/collections/message.collection.d.ts +14 -14
  499. package/lib/collections/property/property-sale/property-sale-tax-exemption-metadata.collection.d.ts +8 -8
  500. package/lib/collections/property/property.collection.d.ts +35 -35
  501. package/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.d.ts +8 -8
  502. package/lib/collections/report/depreciation/depreciation-report-item.collection.d.ts +8 -8
  503. package/lib/collections/report/property/property-report-item-depreciation.collection.d.ts +12 -12
  504. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +12 -12
  505. package/lib/collections/report/property/property-report-item.collection.d.ts +9 -9
  506. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +9 -9
  507. package/lib/collections/subscription/service-subscription.collection.d.ts +8 -8
  508. package/lib/collections/tax-review.collection.d.ts +35 -35
  509. package/lib/collections/tax-summary/report-item.collection.d.ts +68 -68
  510. package/lib/collections/transaction-allocation.collection.d.ts +23 -23
  511. package/lib/collections/transaction.collection.d.ts +80 -80
  512. package/lib/collections/user-event-setting.collection.d.ts +8 -8
  513. package/lib/collections/vehicle-logbook.collection.d.ts +30 -30
  514. package/lib/collections/vehicle.collection.d.ts +6 -6
  515. package/lib/db/Enums/address-type.enum.d.ts +4 -4
  516. package/lib/db/Enums/bank-account-status.enum.d.ts +4 -4
  517. package/lib/db/Enums/bank-account-type.enum.d.ts +10 -10
  518. package/lib/db/Enums/bank-connection-status.enum.d.ts +5 -5
  519. package/lib/db/Enums/bank-transaction-type.enum.d.ts +4 -4
  520. package/lib/db/Enums/chart-accounts-category.enum.d.ts +16 -16
  521. package/lib/db/Enums/chart-accounts-etp.enum.d.ts +7 -7
  522. package/lib/db/Enums/chart-accounts-heading-list.enum.d.ts +3 -3
  523. package/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.d.ts +6 -6
  524. package/lib/db/Enums/chart-accounts-heading-taxable.enum.d.ts +6 -6
  525. package/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.d.ts +6 -6
  526. package/lib/db/Enums/chart-accounts-list.enum.d.ts +20 -20
  527. package/lib/db/Enums/chart-accounts-metadata-list.enum.d.ts +14 -14
  528. package/lib/db/Enums/chart-accounts-metadata-type.enum.d.ts +4 -4
  529. package/lib/db/Enums/chart-accounts-type.enum.d.ts +4 -4
  530. package/lib/db/Enums/chat-status.enum.d.ts +4 -4
  531. package/lib/db/Enums/client-details-medicare-exemption.enum.d.ts +5 -5
  532. package/lib/db/Enums/client-details-work-depreciation-calculation.enum.d.ts +4 -4
  533. package/lib/db/Enums/client-details-working-holiday-maker.enum.d.ts +5 -5
  534. package/lib/db/Enums/client-invite-status.enum.d.ts +4 -4
  535. package/lib/db/Enums/client-invite-type.enum.d.ts +4 -4
  536. package/lib/db/Enums/depreciation-calculation-percent.enum.d.ts +7 -7
  537. package/lib/db/Enums/depreciation-calculation.enum.d.ts +7 -7
  538. package/lib/db/Enums/depreciation-type.enum.d.ts +6 -6
  539. package/lib/db/Enums/depreciation-write-off-amount.enum.d.ts +4 -4
  540. package/lib/db/Enums/firm-type.enum.d.ts +4 -4
  541. package/lib/db/Enums/income-source-type-list-other.enum.d.ts +6 -6
  542. package/lib/db/Enums/income-source-type-list-salary.enum.d.ts +3 -3
  543. package/lib/db/Enums/income-source-type-list-work.enum.d.ts +8 -8
  544. package/lib/db/Enums/income-source-type.enum.d.ts +6 -6
  545. package/lib/db/Enums/invite-status.enum.d.ts +5 -5
  546. package/lib/db/Enums/loan-bank-type.enum.d.ts +10 -10
  547. package/lib/db/Enums/loan-frequency.enum.d.ts +6 -6
  548. package/lib/db/Enums/loan-interest-type.enum.d.ts +4 -4
  549. package/lib/db/Enums/loan-payout-type.enum.d.ts +4 -4
  550. package/lib/db/Enums/loan-repayment-frequency.enum.d.ts +5 -5
  551. package/lib/db/Enums/loan-repayment-type.enum.d.ts +4 -4
  552. package/lib/db/Enums/loan-type.enum.d.ts +12 -12
  553. package/lib/db/Enums/loan-vehicle-type.enum.d.ts +5 -5
  554. package/lib/db/Enums/phone-type.enum.d.ts +4 -4
  555. package/lib/db/Enums/property/property-category-list.enum.d.ts +4 -4
  556. package/lib/db/Enums/property/property-depreciation-calculation.enum.d.ts +4 -4
  557. package/lib/db/Enums/property/property-sale/tax-exemption-metadata.enum.d.ts +5 -5
  558. package/lib/db/Enums/property/property-sale/tax-exemption.enum.d.ts +9 -9
  559. package/lib/db/Enums/property/property-share-access.enum.d.ts +4 -4
  560. package/lib/db/Enums/property/property-share-status.enum.d.ts +5 -5
  561. package/lib/db/Enums/registration-invite-status.enum.d.ts +4 -4
  562. package/lib/db/Enums/salary-forecast-frequency.enum.d.ts +6 -6
  563. package/lib/db/Enums/service-notification-status.enum.d.ts +5 -5
  564. package/lib/db/Enums/service-notification-type.enum.d.ts +4 -4
  565. package/lib/db/Enums/spare-document-spare-type.enum.d.ts +4 -4
  566. package/lib/db/Enums/subscription/service-payment-status.enum.d.ts +4 -4
  567. package/lib/db/Enums/subscription/service-price-recurring-interval.enum.d.ts +6 -6
  568. package/lib/db/Enums/subscription/service-price-type.enum.d.ts +4 -4
  569. package/lib/db/Enums/subscription/service-product-id.enum.d.ts +8 -8
  570. package/lib/db/Enums/subscription/service-product-status.enum.d.ts +4 -4
  571. package/lib/db/Enums/subscription/service-subscription-status.enum.d.ts +8 -8
  572. package/lib/db/Enums/tank-type.enum.d.ts +6 -6
  573. package/lib/db/Enums/tax-calculation-medicare-exemption.enum.d.ts +4 -4
  574. package/lib/db/Enums/tax-calculation-type.enum.d.ts +12 -12
  575. package/lib/db/Enums/tax-return-category-list.enum.d.ts +26 -26
  576. package/lib/db/Enums/tax-return-category-section.enum.d.ts +6 -6
  577. package/lib/db/Enums/tax-review-status.enum.d.ts +11 -11
  578. package/lib/db/Enums/tax-summary-list.enum.d.ts +15 -15
  579. package/lib/db/Enums/tax-summary-section.enum.d.ts +6 -6
  580. package/lib/db/Enums/tax-summary-tax-summary.enum.d.ts +15 -15
  581. package/lib/db/Enums/ticket-feedback.enum.d.ts +4 -4
  582. package/lib/db/Enums/ticket-status.enum.d.ts +7 -7
  583. package/lib/db/Enums/ticket-types.enum.d.ts +3 -3
  584. package/lib/db/Enums/transaction-operation.enum.d.ts +5 -5
  585. package/lib/db/Enums/transaction-source.enum.d.ts +4 -4
  586. package/lib/db/Enums/transaction-type.enum.d.ts +4 -4
  587. package/lib/db/Enums/user-event-status.enum.d.ts +7 -7
  588. package/lib/db/Enums/user-event-type-client-type.enum.d.ts +27 -27
  589. package/lib/db/Enums/user-event-type-employee-type.enum.d.ts +15 -15
  590. package/lib/db/Enums/user-event-type-frequency.enum.d.ts +5 -5
  591. package/lib/db/Enums/user-event-type-user-type.enum.d.ts +5 -5
  592. package/lib/db/Enums/user-medicare-exemption.enum.d.ts +5 -5
  593. package/lib/db/Enums/user-roles.enum.d.ts +14 -14
  594. package/lib/db/Enums/user-status.enum.d.ts +5 -5
  595. package/lib/db/Enums/user-title.enum.d.ts +7 -7
  596. package/lib/db/Enums/user-work-depreciation-calculation.enum.d.ts +4 -4
  597. package/lib/db/Enums/user-working-holiday-maker.enum.d.ts +5 -5
  598. package/lib/db/Enums/vehicle-claim-method.enum.d.ts +4 -4
  599. package/lib/db/Enums/vehicle-logbook-purpose.enum.d.ts +4 -4
  600. package/lib/db/Models/abstract-model.d.ts +3 -3
  601. package/lib/db/Models/address.d.ts +20 -20
  602. package/lib/db/Models/bank/bank-account-balance.d.ts +13 -13
  603. package/lib/db/Models/bank/bank-account-property.d.ts +9 -9
  604. package/lib/db/Models/bank/bank-account.d.ts +34 -34
  605. package/lib/db/Models/bank/bank-connection.d.ts +15 -15
  606. package/lib/db/Models/bank/bank-transaction-import.d.ts +12 -12
  607. package/lib/db/Models/bank/bank-transaction.d.ts +17 -17
  608. package/lib/db/Models/bank/bank.d.ts +12 -12
  609. package/lib/db/Models/bank/basiq-job.d.ts +9 -9
  610. package/lib/db/Models/bank/financial-data-system.d.ts +10 -10
  611. package/lib/db/Models/chart-accounts/chart-accounts-depreciation.d.ts +11 -11
  612. package/lib/db/Models/chart-accounts/chart-accounts-heading.d.ts +7 -7
  613. package/lib/db/Models/chart-accounts/chart-accounts-metadata.d.ts +12 -12
  614. package/lib/db/Models/chart-accounts/chart-accounts-value.d.ts +13 -13
  615. package/lib/db/Models/chart-accounts/chart-accounts.d.ts +24 -24
  616. package/lib/db/Models/country.d.ts +6 -6
  617. package/lib/db/Models/depreciation/depreciation-capital-project.d.ts +14 -14
  618. package/lib/db/Models/depreciation/depreciation-forecast.d.ts +18 -18
  619. package/lib/db/Models/depreciation/depreciation-receipt.d.ts +12 -12
  620. package/lib/db/Models/depreciation/depreciation.d.ts +42 -42
  621. package/lib/db/Models/document/document-folder.d.ts +10 -10
  622. package/lib/db/Models/document/document.d.ts +12 -12
  623. package/lib/db/Models/document/property-document.d.ts +18 -18
  624. package/lib/db/Models/firm/accountant/tax-review.d.ts +14 -14
  625. package/lib/db/Models/firm/accountant/ticket.d.ts +20 -20
  626. package/lib/db/Models/firm/chat.d.ts +18 -18
  627. package/lib/db/Models/firm/client-invite.d.ts +17 -17
  628. package/lib/db/Models/firm/client-movement.d.ts +13 -13
  629. package/lib/db/Models/firm/employee-invite.d.ts +10 -10
  630. package/lib/db/Models/firm/firm.d.ts +29 -29
  631. package/lib/db/Models/firm/message-document.d.ts +16 -16
  632. package/lib/db/Models/firm/message.d.ts +16 -16
  633. package/lib/db/Models/incomeSource/income-source-forecast.d.ts +13 -13
  634. package/lib/db/Models/incomeSource/income-source-type.d.ts +9 -9
  635. package/lib/db/Models/incomeSource/income-source.d.ts +23 -23
  636. package/lib/db/Models/incomeSource/salary-forecast.d.ts +16 -16
  637. package/lib/db/Models/loan/borrowing-expense-loan.d.ts +15 -15
  638. package/lib/db/Models/loan/borrowing-expense.d.ts +8 -8
  639. package/lib/db/Models/loan/loan-payout.d.ts +13 -13
  640. package/lib/db/Models/loan/loan.d.ts +34 -34
  641. package/lib/db/Models/phone.d.ts +13 -13
  642. package/lib/db/Models/property/property-category-movement.d.ts +18 -18
  643. package/lib/db/Models/property/property-category.d.ts +14 -14
  644. package/lib/db/Models/property/property-forecast.d.ts +15 -15
  645. package/lib/db/Models/property/property-sale/property-sale-tax-exemption-metadata.d.ts +9 -9
  646. package/lib/db/Models/property/property-sale/property-sale.d.ts +23 -23
  647. package/lib/db/Models/property/property-sale/tax-exemption-metadata.d.ts +7 -7
  648. package/lib/db/Models/property/property-sale/tax-exemption.d.ts +8 -8
  649. package/lib/db/Models/property/property-share.d.ts +21 -21
  650. package/lib/db/Models/property/property-subscription.d.ts +10 -10
  651. package/lib/db/Models/property/property-valuation.d.ts +13 -13
  652. package/lib/db/Models/property/property.d.ts +43 -43
  653. package/lib/db/Models/service-notification.d.ts +14 -14
  654. package/lib/db/Models/sole/sole-forecast.d.ts +9 -9
  655. package/lib/db/Models/subscription/service-payment.d.ts +12 -12
  656. package/lib/db/Models/subscription/service-price.d.ts +16 -16
  657. package/lib/db/Models/subscription/service-product.d.ts +19 -19
  658. package/lib/db/Models/subscription/service-subscription-item.d.ts +10 -10
  659. package/lib/db/Models/subscription/service-subscription.d.ts +15 -15
  660. package/lib/db/Models/tax-return/tax-return-category.d.ts +13 -13
  661. package/lib/db/Models/tax-return/tax-return-item.d.ts +16 -16
  662. package/lib/db/Models/tax-return/tax-return.d.ts +9 -9
  663. package/lib/db/Models/transaction/transaction-allocation.d.ts +9 -9
  664. package/lib/db/Models/transaction/transaction-base.d.ts +25 -25
  665. package/lib/db/Models/transaction/transaction-metadata.d.ts +12 -12
  666. package/lib/db/Models/transaction/transaction-receipt.d.ts +12 -12
  667. package/lib/db/Models/transaction/transaction.d.ts +43 -43
  668. package/lib/db/Models/user/client-details.d.ts +35 -35
  669. package/lib/db/Models/user/client-income-types.d.ts +12 -12
  670. package/lib/db/Models/user/employee-details.d.ts +8 -8
  671. package/lib/db/Models/user/occupation.d.ts +6 -6
  672. package/lib/db/Models/user/registration-invite.d.ts +13 -13
  673. package/lib/db/Models/user/user-event-setting.d.ts +11 -11
  674. package/lib/db/Models/user/user-event-type-category.d.ts +5 -5
  675. package/lib/db/Models/user/user-event-type.d.ts +18 -18
  676. package/lib/db/Models/user/user-event.d.ts +16 -16
  677. package/lib/db/Models/user/user.d.ts +52 -52
  678. package/lib/db/Models/vehicle/vehicle-claim.d.ts +14 -14
  679. package/lib/db/Models/vehicle/vehicle-logbook.d.ts +17 -17
  680. package/lib/db/Models/vehicle/vehicle.d.ts +11 -11
  681. package/lib/forms/abstract.form.d.ts +4 -4
  682. package/lib/forms/client/client-income-types.form.d.ts +7 -7
  683. package/lib/forms/index.d.ts +9 -9
  684. package/lib/forms/login/login.form.d.ts +4 -4
  685. package/lib/forms/register/register-client.form.d.ts +5 -5
  686. package/lib/forms/register/register-firm.form.d.ts +7 -7
  687. package/lib/forms/user/password.form.d.ts +4 -4
  688. package/lib/forms/user/reset-password.form.d.ts +4 -4
  689. package/lib/forms/vehicle/vehicle-claim.form.d.ts +43 -43
  690. package/lib/forms/vehicle/vehicle.form.d.ts +11 -11
  691. package/lib/functions/array/index.d.ts +3 -3
  692. package/lib/functions/array/replace.d.ts +1 -1
  693. package/lib/functions/array/sort-deep.d.ts +1 -1
  694. package/lib/functions/array/sort.d.ts +1 -1
  695. package/lib/functions/clone-deep.d.ts +1 -1
  696. package/lib/functions/create-date.d.ts +5 -5
  697. package/lib/functions/enum-to-list.d.ts +2 -2
  698. package/lib/functions/get-doc-icon.d.ts +7 -7
  699. package/lib/functions/mat-options-functions.d.ts +2 -2
  700. package/lib/functions/mat-sort-options.d.ts +7 -7
  701. package/lib/functions/round-to.d.ts +6 -6
  702. package/lib/functions/tax-review-filter-predicate.d.ts +7 -7
  703. package/lib/interceptors/corelogic-interceptor.d.ts +20 -20
  704. package/lib/interceptors/financial-year-interceptor.d.ts +12 -12
  705. package/lib/interceptors/interceptors.module.d.ts +6 -6
  706. package/lib/interceptors/jwt-interceptor.d.ts +42 -42
  707. package/lib/interceptors/preloader.interceptor.d.ts +15 -15
  708. package/lib/interceptors/user-switcher-interceptor.d.ts +19 -19
  709. package/lib/interfaces/asset-entity-type.enum.d.ts +10 -10
  710. package/lib/interfaces/asset-type.enum.d.ts +8 -8
  711. package/lib/interfaces/asset.interface.d.ts +17 -17
  712. package/lib/interfaces/chart-data.interface.d.ts +10 -10
  713. package/lib/interfaces/chart-serie.interface.d.ts +8 -8
  714. package/lib/interfaces/document.interface.d.ts +18 -18
  715. package/lib/interfaces/documentable.interface.d.ts +8 -8
  716. package/lib/interfaces/event-listener.interface.d.ts +10 -10
  717. package/lib/interfaces/expense.interface.d.ts +12 -12
  718. package/lib/interfaces/exportable.interface.d.ts +9 -9
  719. package/lib/interfaces/income-source-forecast.interface.d.ts +10 -10
  720. package/lib/interfaces/option.interface.d.ts +4 -4
  721. package/lib/interfaces/photoable.d.ts +13 -13
  722. package/lib/interfaces/receipt.interface.d.ts +12 -12
  723. package/lib/interfaces/table-exportable.interface.d.ts +7 -0
  724. package/lib/interfaces/tank.interface.d.ts +9 -9
  725. package/lib/interfaces/updatable.interface.d.ts +8 -8
  726. package/lib/models/account-setup/account-setup-item.d.ts +11 -11
  727. package/lib/models/account-setup/account-setup-items.const.d.ts +7 -7
  728. package/lib/models/account-setup/account-setup-items.enum.d.ts +12 -12
  729. package/lib/models/address/address.d.ts +11 -11
  730. package/lib/models/address/country.d.ts +11 -11
  731. package/lib/models/bank/bank-account-chart-data.d.ts +17 -17
  732. package/lib/models/bank/bank-account-property.d.ts +5 -5
  733. package/lib/models/bank/bank-account-types.const.d.ts +7 -7
  734. package/lib/models/bank/bank-account.d.ts +72 -72
  735. package/lib/models/bank/bank-connection.d.ts +11 -11
  736. package/lib/models/bank/bank-transaction-chart-data.d.ts +30 -30
  737. package/lib/models/bank/bank-transaction-summary-fields.enum.d.ts +4 -4
  738. package/lib/models/bank/bank-transaction.d.ts +38 -38
  739. package/lib/models/bank/bank.d.ts +6 -6
  740. package/lib/models/bank/basiq-config.d.ts +17 -17
  741. package/lib/models/bank/basiq-job.d.ts +3 -3
  742. package/lib/models/bank/basiq-token.d.ts +9 -9
  743. package/lib/models/bank/type-loan.const.d.ts +2 -2
  744. package/lib/models/borrowing-expense/borrowing-expense-loan.d.ts +3 -3
  745. package/lib/models/borrowing-expense/borrowing-expense.d.ts +3 -3
  746. package/lib/models/chart/chart-data.d.ts +9 -9
  747. package/lib/models/chart/chart-serie.d.ts +8 -8
  748. package/lib/models/chart-accounts/chart-accounts-categories.const.d.ts +8 -8
  749. package/lib/models/chart-accounts/chart-accounts-depreciation.d.ts +7 -7
  750. package/lib/models/chart-accounts/chart-accounts-heading.d.ts +5 -5
  751. package/lib/models/chart-accounts/chart-accounts-metadata.d.ts +8 -8
  752. package/lib/models/chart-accounts/chart-accounts-tax-labels.enum.d.ts +5 -5
  753. package/lib/models/chart-accounts/chart-accounts-value.d.ts +3 -3
  754. package/lib/models/chart-accounts/chart-accounts.d.ts +85 -85
  755. package/lib/models/chat/chat-view-type.enum.d.ts +4 -4
  756. package/lib/models/chat/chat.d.ts +10 -10
  757. package/lib/models/chat/message-document.d.ts +11 -11
  758. package/lib/models/chat/message.d.ts +20 -20
  759. package/lib/models/client/client-details.d.ts +3 -3
  760. package/lib/models/client/client-income-types.d.ts +7 -7
  761. package/lib/models/client/client-invite.d.ts +34 -34
  762. package/lib/models/client/client-movement.d.ts +12 -12
  763. package/lib/models/client/client-portfolio-chart-data.d.ts +11 -11
  764. package/lib/models/client/client-portfolio-report.d.ts +10 -10
  765. package/lib/models/color/alphabet-colors.enum.d.ts +28 -28
  766. package/lib/models/depreciation/depreciation-capital-project.d.ts +5 -5
  767. package/lib/models/depreciation/depreciation-forecast.d.ts +12 -12
  768. package/lib/models/depreciation/depreciation-group-item.d.ts +10 -10
  769. package/lib/models/depreciation/depreciation-group.d.ts +11 -11
  770. package/lib/models/depreciation/depreciation-group.enum.d.ts +7 -7
  771. package/lib/models/depreciation/depreciation-groups.const.d.ts +9 -9
  772. package/lib/models/depreciation/depreciation-receipt.d.ts +8 -8
  773. package/lib/models/depreciation/depreciation.d.ts +71 -71
  774. package/lib/models/document/document-api-url-prefix.enum.d.ts +7 -7
  775. package/lib/models/document/document-file-types.const.d.ts +3 -3
  776. package/lib/models/document/document-folder.d.ts +7 -7
  777. package/lib/models/document/document.d.ts +21 -21
  778. package/lib/models/employee/employee-details.d.ts +5 -5
  779. package/lib/models/employee/employee-invite.d.ts +7 -7
  780. package/lib/models/endpoint/endpoint.d.ts +22 -22
  781. package/lib/models/endpoint/endpoints.const.d.ts +7 -7
  782. package/lib/models/event/app-event-type.enum.d.ts +44 -43
  783. package/lib/models/event/app-event.d.ts +9 -9
  784. package/lib/models/export/export-data-table.d.ts +9 -9
  785. package/lib/models/export/export-format.enum.d.ts +4 -4
  786. package/lib/models/export/export-row-data-type.enum.d.ts +8 -0
  787. package/lib/models/export/export-row.d.ts +8 -0
  788. package/lib/models/file/icons-file.enum.d.ts +5 -5
  789. package/lib/models/financial-year/financial-year.d.ts +19 -19
  790. package/lib/models/financial-year/month-name-short.enum.d.ts +19 -19
  791. package/lib/models/financial-year/month-number.enum.d.ts +19 -19
  792. package/lib/models/financial-year/months.const.d.ts +1 -1
  793. package/lib/models/firm/firm.d.ts +18 -18
  794. package/lib/models/income-position/income-position.d.ts +9 -9
  795. package/lib/models/income-source/income-source-chart-data.d.ts +14 -14
  796. package/lib/models/income-source/income-source-forecast.d.ts +18 -18
  797. package/lib/models/income-source/income-source-type.d.ts +9 -9
  798. package/lib/models/income-source/income-source.d.ts +29 -29
  799. package/lib/models/income-source/salary-forecast.d.ts +7 -7
  800. package/lib/models/income-source/sole-forecast.d.ts +7 -7
  801. package/lib/models/loan/loan-max-number-of-payments.enum.d.ts +8 -8
  802. package/lib/models/loan/loan-payment.d.ts +18 -13
  803. package/lib/models/loan/loan-payout.d.ts +9 -9
  804. package/lib/models/loan/loan.d.ts +20 -20
  805. package/lib/models/logbook/default-vehicle-expense.d.ts +5 -5
  806. package/lib/models/logbook/logbook-period.d.ts +10 -10
  807. package/lib/models/logbook/logbook-purpose-options.const.d.ts +4 -4
  808. package/lib/models/logbook/vehicle-claim.d.ts +36 -36
  809. package/lib/models/logbook/vehicle-logbook.d.ts +12 -12
  810. package/lib/models/logbook/vehicle.d.ts +10 -10
  811. package/lib/models/notification/notification.d.ts +14 -14
  812. package/lib/models/pdf/pdf-config.d.ts +8 -8
  813. package/lib/models/pdf/pdf-orientation.enum.d.ts +4 -4
  814. package/lib/models/pdf/pdf-settings.d.ts +9 -9
  815. package/lib/models/phone/phone.d.ts +6 -6
  816. package/lib/models/property/calculation-form-item.d.ts +15 -15
  817. package/lib/models/property/calculation-form-type.enum.d.ts +7 -7
  818. package/lib/models/property/capital-costs-itmes.const.d.ts +2 -2
  819. package/lib/models/property/corelogic-suggestion.d.ts +18 -18
  820. package/lib/models/property/property-category-movement.d.ts +9 -9
  821. package/lib/models/property/property-category.d.ts +5 -5
  822. package/lib/models/property/property-document.d.ts +14 -14
  823. package/lib/models/property/property-equity-chart-data.d.ts +62 -62
  824. package/lib/models/property/property-equity-chart-item.d.ts +19 -19
  825. package/lib/models/property/property-equity-chart-type.enum.d.ts +4 -4
  826. package/lib/models/property/property-forecast.d.ts +28 -28
  827. package/lib/models/property/property-sale/property-sale-tax-exemption-metadata.d.ts +3 -3
  828. package/lib/models/property/property-sale/property-sale.d.ts +8 -8
  829. package/lib/models/property/property-sale/tax-exemption-metadata.d.ts +3 -3
  830. package/lib/models/property/property-sale/tax-exemption.d.ts +3 -3
  831. package/lib/models/property/property-share.d.ts +21 -21
  832. package/lib/models/property/property-subscription.d.ts +6 -6
  833. package/lib/models/property/property-valuation.d.ts +9 -9
  834. package/lib/models/property/property.d.ts +86 -86
  835. package/lib/models/property/share-filter-options.enum.d.ts +9 -9
  836. package/lib/models/registration-invite/registration-invite.d.ts +6 -6
  837. package/lib/models/report/depreciation/depreciation-lvp-asset-type.enum.d.ts +8 -8
  838. package/lib/models/report/depreciation/depreciation-lvp-report-item.d.ts +8 -8
  839. package/lib/models/report/depreciation/depreciation-report-item.d.ts +9 -9
  840. package/lib/models/report/property/property-report-item-depreciation.d.ts +10 -10
  841. package/lib/models/report/property/property-report-item-transaction.d.ts +10 -10
  842. package/lib/models/report/property/property-report-item.d.ts +22 -22
  843. package/lib/models/report/vehicle-expense/vehicle-expense.d.ts +10 -10
  844. package/lib/models/service-subscription/module-url-list.const.d.ts +6 -6
  845. package/lib/models/service-subscription/service-payment.d.ts +5 -5
  846. package/lib/models/service-subscription/service-price.d.ts +7 -7
  847. package/lib/models/service-subscription/service-product.d.ts +7 -7
  848. package/lib/models/service-subscription/service-subscription-item.d.ts +6 -6
  849. package/lib/models/service-subscription/service-subscription.d.ts +65 -65
  850. package/lib/models/service-subscription/subscription-description.const.d.ts +3 -3
  851. package/lib/models/service-subscription/subscription-title.const.d.ts +3 -3
  852. package/lib/models/service-subscription/subscription-type.enum.d.ts +6 -6
  853. package/lib/models/tax-review/tax-review.d.ts +52 -52
  854. package/lib/models/tax-summary/report-item-details.d.ts +13 -13
  855. package/lib/models/tax-summary/report-item.d.ts +18 -18
  856. package/lib/models/tax-summary/tax-summary-section.d.ts +12 -12
  857. package/lib/models/tax-summary/tax-summary-type.enum.d.ts +7 -7
  858. package/lib/models/tax-summary/tax-summary.d.ts +44 -44
  859. package/lib/models/toast/toast-type.enum.d.ts +6 -6
  860. package/lib/models/toast/toast.d.ts +10 -10
  861. package/lib/models/transaction/income-amount-type.enum.d.ts +7 -7
  862. package/lib/models/transaction/transaction-allocation.d.ts +12 -12
  863. package/lib/models/transaction/transaction-category.enum.d.ts +6 -0
  864. package/lib/models/transaction/transaction-metadata.d.ts +5 -5
  865. package/lib/models/transaction/transaction-receipt.d.ts +8 -8
  866. package/lib/models/transaction/transaction.d.ts +99 -99
  867. package/lib/models/user/my-account-history-initiated-by.enum.d.ts +4 -4
  868. package/lib/models/user/my-account-history-status.enum.d.ts +4 -4
  869. package/lib/models/user/my-account-history-type.enum.d.ts +5 -5
  870. package/lib/models/user/my-account-history.d.ts +11 -11
  871. package/lib/models/user/occupation.d.ts +3 -3
  872. package/lib/models/user/user-roles.const.d.ts +4 -4
  873. package/lib/models/user/user-to-register.d.ts +7 -7
  874. package/lib/models/user/user-work-position.const.d.ts +3 -3
  875. package/lib/models/user/user.d.ts +64 -64
  876. package/lib/models/user-event/user-event-setting-field.enum.d.ts +8 -8
  877. package/lib/models/user-event/user-event-setting.d.ts +6 -6
  878. package/lib/models/user-event/user-event-type-category.d.ts +3 -3
  879. package/lib/models/user-event/user-event-type.d.ts +7 -7
  880. package/lib/services/account-setup/account-setup.service.d.ts +56 -56
  881. package/lib/services/asset/assets.service.d.ts +34 -34
  882. package/lib/services/auth/auth.service.d.ts +17 -17
  883. package/lib/services/auth/jwt.service.d.ts +16 -16
  884. package/lib/services/bank/bank-account-calculation.service.d.ts +19 -19
  885. package/lib/services/bank/bank-transaction-calculation.service.d.ts +41 -41
  886. package/lib/services/data-table/data-table.service.d.ts +19 -0
  887. package/lib/services/event/event-dispatcher.service.d.ts +17 -17
  888. package/lib/services/event/sse.service.d.ts +16 -16
  889. package/lib/services/header-title/header-title.service.d.ts +11 -11
  890. package/lib/services/http/address/address.service.d.ts +14 -14
  891. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +43 -43
  892. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +19 -19
  893. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +33 -33
  894. package/lib/services/http/bank/bank.service.d.ts +14 -14
  895. package/lib/services/http/bank/basiq/basiq.service.d.ts +45 -37
  896. package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +19 -19
  897. package/lib/services/http/chart-accounts/chart-accounts.service.d.ts +37 -37
  898. package/lib/services/http/chat/chat.service.d.ts +28 -28
  899. package/lib/services/http/chat/message/message.service.d.ts +28 -28
  900. package/lib/services/http/chat/message-document/message-document.service.d.ts +50 -50
  901. package/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.d.ts +20 -20
  902. package/lib/services/http/depreciation/depreciation.service.d.ts +50 -50
  903. package/lib/services/http/document/document-folder/document-folder.service.d.ts +34 -34
  904. package/lib/services/http/firm/client-income/client-income-types.service.d.ts +18 -18
  905. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +36 -36
  906. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +35 -35
  907. package/lib/services/http/firm/employee/employee.service.d.ts +16 -16
  908. package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts +21 -21
  909. package/lib/services/http/firm/firm.service.d.ts +27 -27
  910. package/lib/services/http/firm/portfolio-report/client-portfolio-report.service.d.ts +16 -16
  911. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +31 -31
  912. package/lib/services/http/income-source/income-source.service.d.ts +42 -42
  913. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +31 -31
  914. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +28 -28
  915. package/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts +19 -19
  916. package/lib/services/http/loan/loan.service.d.ts +58 -58
  917. package/lib/services/http/property/property-category/property-category.service.d.ts +13 -13
  918. package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +15 -15
  919. package/lib/services/http/property/property-document/property-document.service.d.ts +26 -26
  920. package/lib/services/http/property/property-sale/property-sale.service.d.ts +10 -10
  921. package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +11 -11
  922. package/lib/services/http/property/property-share/property-share.service.d.ts +39 -39
  923. package/lib/services/http/property/property.service.d.ts +49 -49
  924. package/lib/services/http/rest/rest.service.d.ts +106 -106
  925. package/lib/services/http/service-notification/service-notification.service.d.ts +28 -28
  926. package/lib/services/http/subscription/service-price.service.d.ts +14 -14
  927. package/lib/services/http/subscription/subscription.service.d.ts +44 -44
  928. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +19 -19
  929. package/lib/services/http/tax-review/tax-review.service.d.ts +38 -38
  930. package/lib/services/http/tax-summary/tax-summary.service.d.ts +32 -32
  931. package/lib/services/http/transaction/messages.enum.d.ts +5 -5
  932. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +38 -38
  933. package/lib/services/http/transaction/transaction.service.d.ts +90 -90
  934. package/lib/services/http/user/occupation/occupation.service.d.ts +20 -20
  935. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +16 -16
  936. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +11 -11
  937. package/lib/services/http/user/user.service.d.ts +62 -60
  938. package/lib/services/http/vehicle/messages.enum.d.ts +11 -11
  939. package/lib/services/http/vehicle/vehicle-claim.service.d.ts +13 -13
  940. package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +22 -22
  941. package/lib/services/http/vehicle/vehicle.service.d.ts +31 -31
  942. package/lib/services/intercom/intercom.service.d.ts +21 -21
  943. package/lib/services/kompassify/kompassify.service.d.ts +13 -13
  944. package/lib/services/pdf/pdf.service.d.ts +26 -26
  945. package/lib/services/preloader/preloader.service.d.ts +12 -12
  946. package/lib/services/property/corelogic/corelogic.service.d.ts +15 -15
  947. package/lib/services/property/equity-position-chart/equity-position-chart.service.d.ts +15 -15
  948. package/lib/services/property/property-calculation/property-calculation.service.d.ts +33 -33
  949. package/lib/services/property/property-holding-costs/property-holding-costs.service.d.ts +24 -24
  950. package/lib/services/report/property/property-transaction-report.service.d.ts +42 -42
  951. package/lib/services/toast/toast.service.d.ts +17 -17
  952. package/lib/services/transaction/transaction-calculation.service.d.ts +29 -29
  953. package/lib/services/user/user-switcher.service.d.ts +20 -20
  954. package/lib/services/xlsx/xlsx.service.d.ts +10 -10
  955. package/lib/tt-core.module.d.ts +10 -10
  956. package/lib/validators/at-least-one.validator.d.ts +6 -6
  957. package/lib/validators/index.d.ts +1 -1
  958. package/lib/validators/password-match.validator.d.ts +2 -2
  959. package/lib/validators/password.validator.d.ts +2 -2
  960. package/package.json +1 -1
  961. package/public-api.d.ts +395 -392
  962. package/taxtank-core.d.ts +5 -5
@@ -1,143 +1,143 @@
1
- import { Collection } from './collection';
2
- import { TankTypeEnum } from '../db/Enums/tank-type.enum';
3
- /**
4
- * Collection of transactions
5
- */
6
- export class TransactionCollection extends Collection {
7
- /**
8
- * Get total amount of all transactions in the collection
9
- */
10
- get amount() {
11
- return +this.items.reduce((sum, transaction) => sum + transaction.getNetAmount(), 0).toFixed(2);
12
- }
13
- /**
14
- * Difference between allocated amount and total amount
15
- */
16
- getUnallocatedAmount(allocations) {
17
- return +(this.amount - allocations.getByTransactionsIds(this.getIds()).amount).toFixed(2);
18
- }
19
- /**
20
- * Get cash position
21
- * Cash Position = Income - Expenses
22
- * Cash position is equal to Total Amount because income is positive and expense is negative,
23
- */
24
- get cashPosition() {
25
- return this.claimAmount;
26
- }
27
- /**
28
- * get date of the last transaction
29
- */
30
- getLastTransactionDate() {
31
- return new Date(Math.max.apply(Math, this.items.map((transaction) => transaction.date)));
32
- }
33
- /**
34
- * Get summary of claim amounts
35
- */
36
- get claimAmount() {
37
- return this.items.reduce((sum, transaction) => sum + transaction.claimAmount, 0);
38
- }
39
- get grossAmount() {
40
- return +this.items.reduce((sum, transaction) => sum + transaction.amount, 0).toFixed(2);
41
- }
42
- getByChartAccountsCategories(categories) {
43
- return new TransactionCollection(this.items.filter((transaction) => categories.includes(transaction.chartAccounts.category)));
44
- }
45
- /**
46
- * Get transactions by month
47
- * @param monthIndex by which desired month should be taken
48
- */
49
- getByMonth(monthIndex) {
50
- return new TransactionCollection(this.items.filter((transaction) => transaction.date.getMonth() === monthIndex));
51
- }
52
- /**
53
- * get list of transactions filtered by chart accounts id
54
- * @param chartAccountsId chart accounts id for filtering
55
- */
56
- getByChartAccountsId(chartAccountsId) {
57
- return this.items.filter((transaction) => transaction.chartAccounts.id === chartAccountsId);
58
- }
59
- getIncomeTransactions() {
60
- return new TransactionCollection(this.items.filter((transaction) => transaction.isIncome()));
61
- }
62
- get claimIncome() {
63
- return this.getIncomeTransactions().claimAmount;
64
- }
65
- getExpenseTransactions() {
66
- return new TransactionCollection(this.items.filter((transaction) => transaction.isExpense() && !transaction.isInterest()));
67
- }
68
- get claimExpense() {
69
- return this.getExpenseTransactions().claimAmount;
70
- }
71
- getInterestTransactions() {
72
- return new TransactionCollection(this.items.filter((transaction) => transaction.isInterest()));
73
- }
74
- get claimInterest() {
75
- return this.getInterestTransactions().claimAmount;
76
- }
77
- /**
78
- * Get collection of transactions and properties filtered by properties ids
79
- * @param ids Ids of properties for filter
80
- */
81
- getByPropertiesIds(ids) {
82
- return new TransactionCollection(this.items.filter((transaction) => {
83
- var _a;
84
- return ids.includes((_a = transaction.property) === null || _a === void 0 ? void 0 : _a.id);
85
- }));
86
- }
87
- /**
88
- * Get new collection filtered by income source id
89
- * @param id id of income source for filter
90
- */
91
- getByIncomeSourceId(id) {
92
- return new TransactionCollection(this.items.filter((transaction) => { var _a; return ((_a = transaction.incomeSource) === null || _a === void 0 ? void 0 : _a.id) === id; }));
93
- }
94
- /**
95
- * Get new collection filtered by chart accounts category
96
- * @param category Chart accounts category value
97
- */
98
- getByChartAccountsCategory(category) {
99
- return new TransactionCollection(this.items.filter((transaction) => transaction.chartAccounts.category === category));
100
- }
101
- /**
102
- * Get new collection of property transactions
103
- */
104
- getPropertyTransactions() {
105
- return new TransactionCollection(this.items.filter((transaction) => transaction.isPropertyTank()));
106
- }
107
- getDebitTransactions() {
108
- return new TransactionCollection(this.items.filter((transaction) => transaction.isDebit()));
109
- }
110
- getCreditTransactions() {
111
- return new TransactionCollection(this.items.filter((transaction) => transaction.isCredit()));
112
- }
113
- getByAllocations(allocations) {
114
- return new TransactionCollection(this.items.filter((transaction) => allocations.hasTransaction(transaction)));
115
- }
116
- /**
117
- * Get transactions related to Vehicle category
118
- */
119
- getVehicleTransactions() {
120
- return this.create(this.items.filter((transaction) => {
121
- return transaction.isVehicleTransaction();
122
- }));
123
- }
124
- /**
125
- * Get new transaction collection filtered by tank type
126
- */
127
- getByTankType(tankType) {
128
- return this.create(this.items.filter((transaction) => {
129
- switch (tankType) {
130
- case TankTypeEnum.PROPERTY:
131
- return transaction.isPropertyTank();
132
- case TankTypeEnum.WORK:
133
- return transaction.isWorkTank();
134
- case TankTypeEnum.SOLE:
135
- return transaction.isSoleTank();
136
- // Transaction may be not related to any tank type (personal)
137
- default:
138
- return false;
139
- }
140
- }));
141
- }
142
- }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFVBQXVCO0lBQ2hFOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLFdBQXdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENB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TUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUNsRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUU7WUFDdEQsT0FBTyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFFBQXNCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUU7WUFDdEQsUUFBUSxRQUFRLEVBQUU7Z0JBQ2hCLEtBQUssWUFBWSxDQUFDLFFBQVE7b0JBQ3hCLE9BQU8sV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLFlBQVksQ0FBQyxJQUFJO29CQUNwQixPQUFPLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEMsS0FBSyxZQUFZLENBQUMsSUFBSTtvQkFDcEIsT0FBTyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xDLDZEQUE2RDtnQkFDN0Q7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcclxuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XHJcblxyXG4vKipcclxuICogQ29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uPiB7XHJcbiAgLyoqXHJcbiAgICogR2V0IHRvdGFsIGFtb3VudCBvZiBhbGwgdHJhbnNhY3Rpb25zIGluIHRoZSBjb2xsZWN0aW9uXHJcbiAgICovXHJcbiAgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uZ2V0TmV0QW1vdW50KCksIDApLnRvRml4ZWQoMik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWZmZXJlbmNlIGJldHdlZW4gYWxsb2NhdGVkIGFtb3VudCBhbmQgdG90YWwgYW1vdW50XHJcbiAgICovXHJcbiAgZ2V0VW5hbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICsodGhpcy5hbW91bnQgLSBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY2FzaCBwb3NpdGlvblxyXG4gICAqIENhc2ggUG9zaXRpb24gPSBJbmNvbWUgLSBFeHBlbnNlc1xyXG4gICAqIENhc2ggcG9zaXRpb24gaXMgZXF1YWwgdG8gVG90YWwgQW1vdW50IGJlY2F1c2UgaW5jb21lIGlzIHBvc2l0aXZlIGFuZCBleHBlbnNlIGlzIG5lZ2F0aXZlLFxyXG4gICAqL1xyXG4gIGdldCBjYXNoUG9zaXRpb24oKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZ2V0IGRhdGUgb2YgdGhlIGxhc3QgdHJhbnNhY3Rpb25cclxuICAgKi9cclxuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKE1hdGgubWF4LmFwcGx5KE1hdGgsIHRoaXMuaXRlbXMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmRhdGUpKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgc3VtbWFyeSBvZiBjbGFpbSBhbW91bnRzXHJcbiAgICovXHJcbiAgZ2V0IGNsYWltQW1vdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHN1bSArIHRyYW5zYWN0aW9uLmNsYWltQW1vdW50LCAwKTtcclxuICB9XHJcblxyXG4gIGdldCBncm9zc0Ftb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uYW1vdW50LCAwKS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xyXG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXHJcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGNhdGVnb3JpZXMuaW5jbHVkZXModHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5jYXRlZ29yeSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRyYW5zYWN0aW9ucyBieSBtb250aFxyXG4gICAqIEBwYXJhbSBtb250aEluZGV4IGJ5IHdoaWNoIGRlc2lyZWQgbW9udGggc2hvdWxkIGJlIHRha2VuXHJcbiAgICovXHJcbiAgZ2V0QnlNb250aChtb250aEluZGV4OiBudW1iZXIpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xyXG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT5cclxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XHJcbiAgICApKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBpZFxyXG4gICAqIEBwYXJhbSBjaGFydEFjY291bnRzSWQgY2hhcnQgYWNjb3VudHMgaWQgZm9yIGZpbHRlcmluZ1xyXG4gICAqL1xyXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0lkKGNoYXJ0QWNjb3VudHNJZDogbnVtYmVyKTogVHJhbnNhY3Rpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkKTtcclxuICB9XHJcblxyXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xyXG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXHJcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW5jb21lKCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRJbmNvbWVUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcclxuICB9XHJcblxyXG4gIGdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcclxuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxyXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBjbGFpbUV4cGVuc2UoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmdldEV4cGVuc2VUcmFuc2FjdGlvbnMoKS5jbGFpbUFtb3VudDtcclxuICB9XHJcblxyXG4gIGdldEludGVyZXN0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XHJcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcclxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBjbGFpbUludGVyZXN0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zIGFuZCBwcm9wZXJ0aWVzIGZpbHRlcmVkIGJ5IHByb3BlcnRpZXMgaWRzXHJcbiAgICogQHBhcmFtIGlkcyBJZHMgb2YgcHJvcGVydGllcyBmb3IgZmlsdGVyXHJcbiAgICovXHJcbiAgZ2V0QnlQcm9wZXJ0aWVzSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xyXG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXHJcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcclxuICAgICAgICByZXR1cm4gaWRzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLnByb3BlcnR5Py5pZCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IGluY29tZSBzb3VyY2UgaWRcclxuICAgKiBAcGFyYW0gaWQgaWQgb2YgaW5jb21lIHNvdXJjZSBmb3IgZmlsdGVyXHJcbiAgICovXHJcbiAgZ2V0QnlJbmNvbWVTb3VyY2VJZChpZDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcclxuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxyXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgbmV3IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgY2hhcnQgYWNjb3VudHMgY2F0ZWdvcnlcclxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcclxuICAgKi9cclxuICBnZXRCeUNoYXJ0QWNjb3VudHNDYXRlZ29yeShjYXRlZ29yeTogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XHJcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcclxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xyXG4gICAqL1xyXG4gIGdldFByb3BlcnR5VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XHJcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcclxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNQcm9wZXJ0eVRhbmsoKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXREZWJpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xyXG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXHJcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzRGViaXQoKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDcmVkaXRUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcclxuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxyXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0NyZWRpdCgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEJ5QWxsb2NhdGlvbnMoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xyXG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXHJcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb25zLmhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gVmVoaWNsZSBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGdldFZlaGljbGVUcmFuc2FjdGlvbnMoKTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXHJcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcclxuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24uaXNWZWhpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgbmV3IHRyYW5zYWN0aW9uIGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgdGFuayB0eXBlXHJcbiAgICovXHJcbiAgZ2V0QnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXHJcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcclxuICAgICAgICBzd2l0Y2ggKHRhbmtUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIFRhbmtUeXBlRW51bS5QUk9QRVJUWTpcclxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCk7XHJcbiAgICAgICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxyXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24uaXNXb3JrVGFuaygpO1xyXG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcclxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzU29sZVRhbmsoKTtcclxuICAgICAgICAgIC8vIFRyYW5zYWN0aW9uIG1heSBiZSBub3QgcmVsYXRlZCB0byBhbnkgdGFuayB0eXBlIChwZXJzb25hbClcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Collection } from './collection';
2
+ import { TankTypeEnum } from '../db/Enums/tank-type.enum';
3
+ /**
4
+ * Collection of transactions
5
+ */
6
+ export class TransactionCollection extends Collection {
7
+ /**
8
+ * Get total amount of all transactions in the collection
9
+ */
10
+ get amount() {
11
+ return +this.items.reduce((sum, transaction) => sum + transaction.getNetAmount(), 0).toFixed(2);
12
+ }
13
+ /**
14
+ * Difference between allocated amount and total amount
15
+ */
16
+ getUnallocatedAmount(allocations) {
17
+ return +(this.amount - allocations.getByTransactionsIds(this.getIds()).amount).toFixed(2);
18
+ }
19
+ /**
20
+ * Get cash position
21
+ * Cash Position = Income - Expenses
22
+ * Cash position is equal to Total Amount because income is positive and expense is negative,
23
+ */
24
+ get cashPosition() {
25
+ return this.claimAmount;
26
+ }
27
+ /**
28
+ * get date of the last transaction
29
+ */
30
+ getLastTransactionDate() {
31
+ return new Date(Math.max.apply(Math, this.items.map((transaction) => transaction.date)));
32
+ }
33
+ /**
34
+ * Get summary of claim amounts
35
+ */
36
+ get claimAmount() {
37
+ return this.items.reduce((sum, transaction) => sum + transaction.claimAmount, 0);
38
+ }
39
+ get grossAmount() {
40
+ return +this.items.reduce((sum, transaction) => sum + transaction.amount, 0).toFixed(2);
41
+ }
42
+ getByChartAccountsCategories(categories) {
43
+ return new TransactionCollection(this.items.filter((transaction) => categories.includes(transaction.chartAccounts.category)));
44
+ }
45
+ /**
46
+ * Get transactions by month
47
+ * @param monthIndex by which desired month should be taken
48
+ */
49
+ getByMonth(monthIndex) {
50
+ return new TransactionCollection(this.items.filter((transaction) => transaction.date.getMonth() === monthIndex));
51
+ }
52
+ /**
53
+ * get list of transactions filtered by chart accounts id
54
+ * @param chartAccountsId chart accounts id for filtering
55
+ */
56
+ getByChartAccountsId(chartAccountsId) {
57
+ return this.items.filter((transaction) => transaction.chartAccounts.id === chartAccountsId);
58
+ }
59
+ getIncomeTransactions() {
60
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isIncome()));
61
+ }
62
+ get claimIncome() {
63
+ return this.getIncomeTransactions().claimAmount;
64
+ }
65
+ getExpenseTransactions() {
66
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isExpense() && !transaction.isInterest()));
67
+ }
68
+ get claimExpense() {
69
+ return this.getExpenseTransactions().claimAmount;
70
+ }
71
+ getInterestTransactions() {
72
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isInterest()));
73
+ }
74
+ get claimInterest() {
75
+ return this.getInterestTransactions().claimAmount;
76
+ }
77
+ /**
78
+ * Get collection of transactions and properties filtered by properties ids
79
+ * @param ids Ids of properties for filter
80
+ */
81
+ getByPropertiesIds(ids) {
82
+ return new TransactionCollection(this.items.filter((transaction) => {
83
+ var _a;
84
+ return ids.includes((_a = transaction.property) === null || _a === void 0 ? void 0 : _a.id);
85
+ }));
86
+ }
87
+ /**
88
+ * Get new collection filtered by income source id
89
+ * @param id id of income source for filter
90
+ */
91
+ getByIncomeSourceId(id) {
92
+ return new TransactionCollection(this.items.filter((transaction) => { var _a; return ((_a = transaction.incomeSource) === null || _a === void 0 ? void 0 : _a.id) === id; }));
93
+ }
94
+ /**
95
+ * Get new collection filtered by chart accounts category
96
+ * @param category Chart accounts category value
97
+ */
98
+ getByChartAccountsCategory(category) {
99
+ return new TransactionCollection(this.items.filter((transaction) => transaction.chartAccounts.category === category));
100
+ }
101
+ /**
102
+ * Get new collection of property transactions
103
+ */
104
+ getPropertyTransactions() {
105
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isPropertyTank()));
106
+ }
107
+ getDebitTransactions() {
108
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isDebit()));
109
+ }
110
+ getCreditTransactions() {
111
+ return new TransactionCollection(this.items.filter((transaction) => transaction.isCredit()));
112
+ }
113
+ getByAllocations(allocations) {
114
+ return new TransactionCollection(this.items.filter((transaction) => allocations.hasTransaction(transaction)));
115
+ }
116
+ /**
117
+ * Get transactions related to Vehicle category
118
+ */
119
+ getVehicleTransactions() {
120
+ return this.create(this.items.filter((transaction) => {
121
+ return transaction.isVehicleTransaction();
122
+ }));
123
+ }
124
+ /**
125
+ * Get new transaction collection filtered by tank type
126
+ */
127
+ getByTankType(tankType) {
128
+ return this.create(this.items.filter((transaction) => {
129
+ switch (tankType) {
130
+ case TankTypeEnum.PROPERTY:
131
+ return transaction.isPropertyTank();
132
+ case TankTypeEnum.WORK:
133
+ return transaction.isWorkTank();
134
+ case TankTypeEnum.SOLE:
135
+ return transaction.isSoleTank();
136
+ // Transaction may be not related to any tank type (personal)
137
+ default:
138
+ return false;
139
+ }
140
+ }));
141
+ }
142
+ }
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFVBQXVCO0lBQ2hFOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLFdBQXdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENB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TUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUNsRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUU7WUFDdEQsT0FBTyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFFBQXNCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUU7WUFDdEQsUUFBUSxRQUFRLEVBQUU7Z0JBQ2hCLEtBQUssWUFBWSxDQUFDLFFBQVE7b0JBQ3hCLE9BQU8sV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLFlBQVksQ0FBQyxJQUFJO29CQUNwQixPQUFPLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEMsS0FBSyxZQUFZLENBQUMsSUFBSTtvQkFDcEIsT0FBTyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xDLDZEQUE2RDtnQkFDN0Q7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmVudW0nO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uPiB7XG4gIC8qKlxuICAgKiBHZXQgdG90YWwgYW1vdW50IG9mIGFsbCB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5nZXROZXRBbW91bnQoKSwgMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaWZmZXJlbmNlIGJldHdlZW4gYWxsb2NhdGVkIGFtb3VudCBhbmQgdG90YWwgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuICsodGhpcy5hbW91bnQgLSBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNhc2ggcG9zaXRpb25cbiAgICogQ2FzaCBQb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzXG4gICAqIENhc2ggcG9zaXRpb24gaXMgZXF1YWwgdG8gVG90YWwgQW1vdW50IGJlY2F1c2UgaW5jb21lIGlzIHBvc2l0aXZlIGFuZCBleHBlbnNlIGlzIG5lZ2F0aXZlLFxuICAgKi9cbiAgZ2V0IGNhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdW1tYXJ5IG9mIGNsYWltIGFtb3VudHNcbiAgICovXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uYW1vdW50LCAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IGNoYXJ0IGFjY291bnRzIGlkXG4gICAqIEBwYXJhbSBjaGFydEFjY291bnRzSWQgY2hhcnQgYWNjb3VudHMgaWQgZm9yIGZpbHRlcmluZ1xuICAgKi9cbiAgZ2V0QnlDaGFydEFjY291bnRzSWQoY2hhcnRBY2NvdW50c0lkOiBudW1iZXIpOiBUcmFuc2FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkKTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1FeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW50ZXJlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBhbmQgcHJvcGVydGllcyBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKiBAcGFyYW0gaWRzIElkcyBvZiBwcm9wZXJ0aWVzIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldERlYml0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWRpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9ucy5oYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gVmVoaWNsZSBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1ZlaGljbGVUcmFuc2FjdGlvbigpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBmaWx0ZXJlZCBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgc3dpdGNoICh0YW5rVHlwZSkge1xuICAgICAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlBST1BFUlRZOlxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCk7XG4gICAgICAgICAgLy8gVHJhbnNhY3Rpb24gbWF5IGJlIG5vdCByZWxhdGVkIHRvIGFueSB0YW5rIHR5cGUgKHBlcnNvbmFsKVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,10 +1,10 @@
1
- import { Collection } from './collection';
2
- /**
3
- * Collection of user event settings
4
- */
5
- export class UserEventSettingCollection extends Collection {
6
- getConfigurableBy(field) {
7
- return new UserEventSettingCollection(this.items.filter((setting) => setting[field] !== null));
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC1zZXR0aW5nLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdXNlci1ldmVudC1zZXR0aW5nLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQzs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxVQUE0QjtJQUMxRSxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xyXG5pbXBvcnQgeyBVc2VyRXZlbnRTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItZXZlbnQvdXNlci1ldmVudC1zZXR0aW5nJztcclxuXHJcbi8qKlxyXG4gKiBDb2xsZWN0aW9uIG9mIHVzZXIgZXZlbnQgc2V0dGluZ3NcclxuICovXHJcbmV4cG9ydCBjbGFzcyBVc2VyRXZlbnRTZXR0aW5nQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VXNlckV2ZW50U2V0dGluZz4ge1xyXG4gIGdldENvbmZpZ3VyYWJsZUJ5KGZpZWxkOiBzdHJpbmcpOiBVc2VyRXZlbnRTZXR0aW5nQ29sbGVjdGlvbiB7XHJcbiAgICByZXR1cm4gbmV3IFVzZXJFdmVudFNldHRpbmdDb2xsZWN0aW9uKHRoaXMuaXRlbXMuZmlsdGVyKChzZXR0aW5nOiBVc2VyRXZlbnRTZXR0aW5nKSA9PiBzZXR0aW5nW2ZpZWxkXSAhPT0gbnVsbCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Collection } from './collection';
2
+ /**
3
+ * Collection of user event settings
4
+ */
5
+ export class UserEventSettingCollection extends Collection {
6
+ getConfigurableBy(field) {
7
+ return new UserEventSettingCollection(this.items.filter((setting) => setting[field] !== null));
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ldmVudC1zZXR0aW5nLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdXNlci1ldmVudC1zZXR0aW5nLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQzs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxVQUE0QjtJQUMxRSxpQkFBaUIsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVXNlckV2ZW50U2V0dGluZyB9IGZyb20gJy4uL21vZGVscy91c2VyLWV2ZW50L3VzZXItZXZlbnQtc2V0dGluZyc7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiB1c2VyIGV2ZW50IHNldHRpbmdzXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2VyRXZlbnRTZXR0aW5nQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VXNlckV2ZW50U2V0dGluZz4ge1xuICBnZXRDb25maWd1cmFibGVCeShmaWVsZDogc3RyaW5nKTogVXNlckV2ZW50U2V0dGluZ0NvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVXNlckV2ZW50U2V0dGluZ0NvbGxlY3Rpb24odGhpcy5pdGVtcy5maWx0ZXIoKHNldHRpbmc6IFVzZXJFdmVudFNldHRpbmcpID0+IHNldHRpbmdbZmllbGRdICE9PSBudWxsKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,88 +1,88 @@
1
- import { FinancialYear } from '../models/financial-year/financial-year';
2
- import { LogbookPeriod } from '../models/logbook/logbook-period';
3
- import { plainToClass } from 'class-transformer';
4
- import { Collection } from './collection';
5
- /**
6
- * 12 weeks in milliseconds
7
- * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
8
- * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
9
- */
10
- const LOGBOOK_PERIOD_DURATION = 12 * 7 * 24 * 3600 * 1000;
11
- export class VehicleLogbookCollection extends Collection {
12
- /**
13
- * Check if we can calculate the best period
14
- */
15
- isBestPeriodExist() {
16
- if (this.items.length < 2) {
17
- return false;
18
- }
19
- return LOGBOOK_PERIOD_DURATION < (this.last.date.getTime() - this.first.date.getTime());
20
- }
21
- /**
22
- * Get collection of non-personal logbooks (work-related, sole-related).
23
- */
24
- getBusinessLogbooks() {
25
- return this.create(this.items.filter((logbook) => logbook.isBusiness()));
26
- }
27
- /**
28
- * Logbook Period is the best when it has the biggest amount of work kilometers
29
- * Best period duration is defined as LOGBOOK_PERIOD_DURATION (12 weeks) by the ATO
30
- */
31
- getBestPeriod() {
32
- if (!this.isBestPeriodExist()) {
33
- return null;
34
- }
35
- let bestPeriod;
36
- const businessLogbooks = this.getBusinessLogbooks().toArray();
37
- for (let i = 0; i < businessLogbooks.length; i++) {
38
- const logbook = businessLogbooks[i];
39
- // no sense to check next logbooks because we already get the end of the year
40
- if (bestPeriod && bestPeriod.isEndOfYear()) {
41
- break;
42
- }
43
- const dateRange = this.getPeriodRange(logbook.date);
44
- // get logbooks included in current logbook period
45
- const logbooksInRange = this.getByDateRange(logbook.date, new Date(logbook.date.getTime() + LOGBOOK_PERIOD_DURATION));
46
- const workUsage = logbooksInRange.getWorkUsage();
47
- // compare with previous best period and overwrite if needs
48
- if (!bestPeriod || workUsage > bestPeriod.workUsage) {
49
- bestPeriod = plainToClass(LogbookPeriod, {
50
- from: dateRange.from,
51
- to: dateRange.to,
52
- kilometers: logbooksInRange.getBusinessLogbooks().getKlms(),
53
- workUsage: workUsage
54
- });
55
- }
56
- }
57
- return bestPeriod;
58
- }
59
- /**
60
- * Calculate total kilometers traveled
61
- */
62
- getKlms() {
63
- return this.items.reduce((sum, logbook) => sum + logbook.getKlms(), 0);
64
- }
65
- /**
66
- * Calculate work usage (percent of business-related kilometers from total kilometers)
67
- */
68
- getWorkUsage() {
69
- const totalKilometers = this.getKlms();
70
- const workKilometers = this.getBusinessLogbooks().getKlms();
71
- return Math.round(workKilometers / totalKilometers * 100);
72
- }
73
- /**
74
- * Get LOGBOOK_PERIOD_DURATION date range from passed start date
75
- */
76
- getPeriodRange(from) {
77
- // set end date after LOGBOOK_PERIOD_DURATION after start date
78
- let to = new Date(from.getTime() + LOGBOOK_PERIOD_DURATION);
79
- const financialYear = new FinancialYear();
80
- // set as period last LOGBOOK_PERIOD_DURATION of current year if period end date after end of current year
81
- if (to > financialYear.endDate) {
82
- to = financialYear.endDate;
83
- from = new Date(to.getTime() - LOGBOOK_PERIOD_DURATION);
84
- }
85
- return { from, to };
86
- }
87
- }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQzs7OztHQUlHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRTFELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxVQUEwQjtJQUN0RTs7T0FFRztJQUNILGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLHVCQUF1QixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQXVCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUNyRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksVUFBeUIsQ0FBQztRQUU5QixNQUFNLGdCQUFnQixHQUFxQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVoRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRyxFQUFFO1lBQ2pELE1BQU0sT0FBTyxHQUFtQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwRCw2RUFBNkU7WUFDN0UsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUMxQyxNQUFNO2FBQ1A7WUFFRCxNQUFNLFNBQVMsR0FBMkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFNUUsa0RBQWtEO1lBQ2xELE1BQU0sZUFBZSxHQUE2QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7WUFFaEosTUFBTSxTQUFTLEdBQVcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXpELDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUNuRCxVQUFVLEdBQUcsWUFBWSxDQUFDLGFBQWEsRUFBRTtvQkFDdkMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO29CQUNwQixFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUU7b0JBQ2hCLFVBQVUsRUFBRSxlQUFlLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLEVBQUU7b0JBQzNELFNBQVMsRUFBRSxTQUFTO2lCQUNyQixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsT0FBdUIsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsTUFBTSxlQUFlLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFXLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsZUFBZSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxJQUFVO1FBQy9CLDhEQUE4RDtRQUM5RCxJQUFJLEVBQUUsR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztRQUVsRSxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBRTFDLDBHQUEwRztRQUMxRyxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFO1lBQzlCLEVBQUUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1lBQzNCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztTQUN6RDtRQUVELE9BQU8sRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVoaWNsZUxvZ2Jvb2sgfSBmcm9tICcuLi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWxvZ2Jvb2snO1xyXG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcclxuaW1wb3J0IHsgTG9nYm9va1BlcmlvZCB9IGZyb20gJy4uL21vZGVscy9sb2dib29rL2xvZ2Jvb2stcGVyaW9kJztcclxuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcclxuXHJcbi8qKlxyXG4gKiAxMiB3ZWVrcyBpbiBtaWxsaXNlY29uZHNcclxuICogXCJUbyB3b3JrIG91dCB5b3VyIGJ1c2luZXNzLXVzZSBwZXJjZW50YWdlLCB5b3UgbmVlZCB0byBrZWVwIGEgbG9nYm9vayBhbmQgdGhlIG9kb21ldGVyIHJlYWRpbmdzIGZvciB0aGUgbG9nYm9vayBwZXJpb2QuXHJcbiAqIFRoZSBsb2dib29rIHBlcmlvZCBpcyBhIG1pbmltdW0gY29udGludW91cyBwZXJpb2Qgb2YgMTIgd2Vla3MuXCIgwqkgTmljb2xlIEtlbGx5XHJcbiAqL1xyXG5jb25zdCBMT0dCT09LX1BFUklPRF9EVVJBVElPTiA9IDEyICogNyAqIDI0ICogMzYwMCAqIDEwMDA7XHJcblxyXG5leHBvcnQgY2xhc3MgVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxWZWhpY2xlTG9nYm9vaz4ge1xyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGJlc3QgcGVyaW9kXHJcbiAgICovXHJcbiAgaXNCZXN0UGVyaW9kRXhpc3QoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGggPCAyKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gTE9HQk9PS19QRVJJT0RfRFVSQVRJT04gPCAodGhpcy5sYXN0LmRhdGUuZ2V0VGltZSgpIC0gdGhpcy5maXJzdC5kYXRlLmdldFRpbWUoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiBub24tcGVyc29uYWwgbG9nYm9va3MgKHdvcmstcmVsYXRlZCwgc29sZS1yZWxhdGVkKS5cclxuICAgKi9cclxuICBnZXRCdXNpbmVzc0xvZ2Jvb2tzKCk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxyXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigobG9nYm9vazogVmVoaWNsZUxvZ2Jvb2spID0+IGxvZ2Jvb2suaXNCdXNpbmVzcygpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvZ2Jvb2sgUGVyaW9kIGlzIHRoZSBiZXN0IHdoZW4gaXQgaGFzIHRoZSBiaWdnZXN0IGFtb3VudCBvZiB3b3JrIGtpbG9tZXRlcnNcclxuICAgKiBCZXN0IHBlcmlvZCBkdXJhdGlvbiBpcyBkZWZpbmVkIGFzIExPR0JPT0tfUEVSSU9EX0RVUkFUSU9OICgxMiB3ZWVrcykgYnkgdGhlIEFUT1xyXG4gICAqL1xyXG4gIGdldEJlc3RQZXJpb2QoKTogTG9nYm9va1BlcmlvZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNCZXN0UGVyaW9kRXhpc3QoKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYmVzdFBlcmlvZDogTG9nYm9va1BlcmlvZDtcclxuXHJcbiAgICBjb25zdCBidXNpbmVzc0xvZ2Jvb2tzOiBWZWhpY2xlTG9nYm9va1tdID0gdGhpcy5nZXRCdXNpbmVzc0xvZ2Jvb2tzKCkudG9BcnJheSgpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVzaW5lc3NMb2dib29rcy5sZW5ndGg7IGkgKyspIHtcclxuICAgICAgY29uc3QgbG9nYm9vazogVmVoaWNsZUxvZ2Jvb2sgPSBidXNpbmVzc0xvZ2Jvb2tzW2ldO1xyXG5cclxuICAgICAgLy8gbm8gc2Vuc2UgdG8gY2hlY2sgbmV4dCBsb2dib29rcyBiZWNhdXNlIHdlIGFscmVhZHkgZ2V0IHRoZSBlbmQgb2YgdGhlIHllYXJcclxuICAgICAgaWYgKGJlc3RQZXJpb2QgJiYgYmVzdFBlcmlvZC5pc0VuZE9mWWVhcigpKSB7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGRhdGVSYW5nZToge2Zyb206IERhdGUsIHRvOiBEYXRlfSA9IHRoaXMuZ2V0UGVyaW9kUmFuZ2UobG9nYm9vay5kYXRlKTtcclxuXHJcbiAgICAgIC8vIGdldCBsb2dib29rcyBpbmNsdWRlZCBpbiBjdXJyZW50IGxvZ2Jvb2sgcGVyaW9kXHJcbiAgICAgIGNvbnN0IGxvZ2Jvb2tzSW5SYW5nZTogVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uID0gdGhpcy5nZXRCeURhdGVSYW5nZShsb2dib29rLmRhdGUsIG5ldyBEYXRlKGxvZ2Jvb2suZGF0ZS5nZXRUaW1lKCkgKyBMT0dCT09LX1BFUklPRF9EVVJBVElPTikpO1xyXG5cclxuICAgICAgY29uc3Qgd29ya1VzYWdlOiBudW1iZXIgPSBsb2dib29rc0luUmFuZ2UuZ2V0V29ya1VzYWdlKCk7XHJcblxyXG4gICAgICAvLyBjb21wYXJlIHdpdGggcHJldmlvdXMgYmVzdCBwZXJpb2QgYW5kIG92ZXJ3cml0ZSBpZiBuZWVkc1xyXG4gICAgICBpZiAoIWJlc3RQZXJpb2QgfHwgd29ya1VzYWdlID4gYmVzdFBlcmlvZC53b3JrVXNhZ2UpIHtcclxuICAgICAgICBiZXN0UGVyaW9kID0gcGxhaW5Ub0NsYXNzKExvZ2Jvb2tQZXJpb2QsIHtcclxuICAgICAgICAgIGZyb206IGRhdGVSYW5nZS5mcm9tLFxyXG4gICAgICAgICAgdG86IGRhdGVSYW5nZS50byxcclxuICAgICAgICAgIGtpbG9tZXRlcnM6IGxvZ2Jvb2tzSW5SYW5nZS5nZXRCdXNpbmVzc0xvZ2Jvb2tzKCkuZ2V0S2xtcygpLFxyXG4gICAgICAgICAgd29ya1VzYWdlOiB3b3JrVXNhZ2VcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBiZXN0UGVyaW9kO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsY3VsYXRlIHRvdGFsIGtpbG9tZXRlcnMgdHJhdmVsZWRcclxuICAgKi9cclxuICBnZXRLbG1zKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBsb2dib29rOiBWZWhpY2xlTG9nYm9vaykgPT4gc3VtICsgbG9nYm9vay5nZXRLbG1zKCksIDApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsY3VsYXRlIHdvcmsgdXNhZ2UgKHBlcmNlbnQgb2YgYnVzaW5lc3MtcmVsYXRlZCBraWxvbWV0ZXJzIGZyb20gdG90YWwga2lsb21ldGVycylcclxuICAgKi9cclxuICBnZXRXb3JrVXNhZ2UoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHRvdGFsS2lsb21ldGVyczogbnVtYmVyID0gdGhpcy5nZXRLbG1zKCk7XHJcbiAgICBjb25zdCB3b3JrS2lsb21ldGVyczogbnVtYmVyID0gdGhpcy5nZXRCdXNpbmVzc0xvZ2Jvb2tzKCkuZ2V0S2xtcygpO1xyXG5cclxuICAgIHJldHVybiBNYXRoLnJvdW5kKHdvcmtLaWxvbWV0ZXJzIC8gdG90YWxLaWxvbWV0ZXJzICogMTAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBMT0dCT09LX1BFUklPRF9EVVJBVElPTiBkYXRlIHJhbmdlIGZyb20gcGFzc2VkIHN0YXJ0IGRhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGdldFBlcmlvZFJhbmdlKGZyb206IERhdGUpOiB7ZnJvbTogRGF0ZSwgdG86IERhdGV9IHtcclxuICAgIC8vIHNldCBlbmQgZGF0ZSBhZnRlciBMT0dCT09LX1BFUklPRF9EVVJBVElPTiBhZnRlciBzdGFydCBkYXRlXHJcbiAgICBsZXQgdG86IERhdGUgPSBuZXcgRGF0ZShmcm9tLmdldFRpbWUoKSArIExPR0JPT0tfUEVSSU9EX0RVUkFUSU9OKTtcclxuXHJcbiAgICBjb25zdCBmaW5hbmNpYWxZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKTtcclxuXHJcbiAgICAvLyBzZXQgYXMgcGVyaW9kIGxhc3QgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04gb2YgY3VycmVudCB5ZWFyIGlmIHBlcmlvZCBlbmQgZGF0ZSBhZnRlciBlbmQgb2YgY3VycmVudCB5ZWFyXHJcbiAgICBpZiAodG8gPiBmaW5hbmNpYWxZZWFyLmVuZERhdGUpIHtcclxuICAgICAgdG8gPSBmaW5hbmNpYWxZZWFyLmVuZERhdGU7XHJcbiAgICAgIGZyb20gPSBuZXcgRGF0ZSh0by5nZXRUaW1lKCkgLSBMT0dCT09LX1BFUklPRF9EVVJBVElPTik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtmcm9tLCB0b307XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { FinancialYear } from '../models/financial-year/financial-year';
2
+ import { LogbookPeriod } from '../models/logbook/logbook-period';
3
+ import { plainToClass } from 'class-transformer';
4
+ import { Collection } from './collection';
5
+ /**
6
+ * 12 weeks in milliseconds
7
+ * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
8
+ * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
9
+ */
10
+ const LOGBOOK_PERIOD_DURATION = 12 * 7 * 24 * 3600 * 1000;
11
+ export class VehicleLogbookCollection extends Collection {
12
+ /**
13
+ * Check if we can calculate the best period
14
+ */
15
+ isBestPeriodExist() {
16
+ if (this.items.length < 2) {
17
+ return false;
18
+ }
19
+ return LOGBOOK_PERIOD_DURATION < (this.last.date.getTime() - this.first.date.getTime());
20
+ }
21
+ /**
22
+ * Get collection of non-personal logbooks (work-related, sole-related).
23
+ */
24
+ getBusinessLogbooks() {
25
+ return this.create(this.items.filter((logbook) => logbook.isBusiness()));
26
+ }
27
+ /**
28
+ * Logbook Period is the best when it has the biggest amount of work kilometers
29
+ * Best period duration is defined as LOGBOOK_PERIOD_DURATION (12 weeks) by the ATO
30
+ */
31
+ getBestPeriod() {
32
+ if (!this.isBestPeriodExist()) {
33
+ return null;
34
+ }
35
+ let bestPeriod;
36
+ const businessLogbooks = this.getBusinessLogbooks().toArray();
37
+ for (let i = 0; i < businessLogbooks.length; i++) {
38
+ const logbook = businessLogbooks[i];
39
+ // no sense to check next logbooks because we already get the end of the year
40
+ if (bestPeriod && bestPeriod.isEndOfYear()) {
41
+ break;
42
+ }
43
+ const dateRange = this.getPeriodRange(logbook.date);
44
+ // get logbooks included in current logbook period
45
+ const logbooksInRange = this.getByDateRange(logbook.date, new Date(logbook.date.getTime() + LOGBOOK_PERIOD_DURATION));
46
+ const workUsage = logbooksInRange.getWorkUsage();
47
+ // compare with previous best period and overwrite if needs
48
+ if (!bestPeriod || workUsage > bestPeriod.workUsage) {
49
+ bestPeriod = plainToClass(LogbookPeriod, {
50
+ from: dateRange.from,
51
+ to: dateRange.to,
52
+ kilometers: logbooksInRange.getBusinessLogbooks().getKlms(),
53
+ workUsage: workUsage
54
+ });
55
+ }
56
+ }
57
+ return bestPeriod;
58
+ }
59
+ /**
60
+ * Calculate total kilometers traveled
61
+ */
62
+ getKlms() {
63
+ return this.items.reduce((sum, logbook) => sum + logbook.getKlms(), 0);
64
+ }
65
+ /**
66
+ * Calculate work usage (percent of business-related kilometers from total kilometers)
67
+ */
68
+ getWorkUsage() {
69
+ const totalKilometers = this.getKlms();
70
+ const workKilometers = this.getBusinessLogbooks().getKlms();
71
+ return Math.round(workKilometers / totalKilometers * 100);
72
+ }
73
+ /**
74
+ * Get LOGBOOK_PERIOD_DURATION date range from passed start date
75
+ */
76
+ getPeriodRange(from) {
77
+ // set end date after LOGBOOK_PERIOD_DURATION after start date
78
+ let to = new Date(from.getTime() + LOGBOOK_PERIOD_DURATION);
79
+ const financialYear = new FinancialYear();
80
+ // set as period last LOGBOOK_PERIOD_DURATION of current year if period end date after end of current year
81
+ if (to > financialYear.endDate) {
82
+ to = financialYear.endDate;
83
+ from = new Date(to.getTime() - LOGBOOK_PERIOD_DURATION);
84
+ }
85
+ return { from, to };
86
+ }
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQzs7OztHQUlHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRTFELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxVQUEwQjtJQUN0RTs7T0FFRztJQUNILGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLHVCQUF1QixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQXVCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUNyRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksVUFBeUIsQ0FBQztRQUU5QixNQUFNLGdCQUFnQixHQUFxQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVoRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRyxFQUFFO1lBQ2pELE1BQU0sT0FBTyxHQUFtQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwRCw2RUFBNkU7WUFDN0UsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUMxQyxNQUFNO2FBQ1A7WUFFRCxNQUFNLFNBQVMsR0FBMkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFNUUsa0RBQWtEO1lBQ2xELE1BQU0sZUFBZSxHQUE2QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7WUFFaEosTUFBTSxTQUFTLEdBQVcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXpELDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUNuRCxVQUFVLEdBQUcsWUFBWSxDQUFDLGFBQWEsRUFBRTtvQkFDdkMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO29CQUNwQixFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUU7b0JBQ2hCLFVBQVUsRUFBRSxlQUFlLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLEVBQUU7b0JBQzNELFNBQVMsRUFBRSxTQUFTO2lCQUNyQixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsT0FBdUIsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsTUFBTSxlQUFlLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFXLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsZUFBZSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxJQUFVO1FBQy9CLDhEQUE4RDtRQUM5RCxJQUFJLEVBQUUsR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztRQUVsRSxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBRTFDLDBHQUEwRztRQUMxRyxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFO1lBQzlCLEVBQUUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1lBQzNCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztTQUN6RDtRQUVELE9BQU8sRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVoaWNsZUxvZ2Jvb2sgfSBmcm9tICcuLi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWxvZ2Jvb2snO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kIH0gZnJvbSAnLi4vbW9kZWxzL2xvZ2Jvb2svbG9nYm9vay1wZXJpb2QnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5cbi8qKlxuICogMTIgd2Vla3MgaW4gbWlsbGlzZWNvbmRzXG4gKiBcIlRvIHdvcmsgb3V0IHlvdXIgYnVzaW5lc3MtdXNlIHBlcmNlbnRhZ2UsIHlvdSBuZWVkIHRvIGtlZXAgYSBsb2dib29rIGFuZCB0aGUgb2RvbWV0ZXIgcmVhZGluZ3MgZm9yIHRoZSBsb2dib29rIHBlcmlvZC5cbiAqIFRoZSBsb2dib29rIHBlcmlvZCBpcyBhIG1pbmltdW0gY29udGludW91cyBwZXJpb2Qgb2YgMTIgd2Vla3MuXCIgwqkgTmljb2xlIEtlbGx5XG4gKi9cbmNvbnN0IExPR0JPT0tfUEVSSU9EX0RVUkFUSU9OID0gMTIgKiA3ICogMjQgKiAzNjAwICogMTAwMDtcblxuZXhwb3J0IGNsYXNzIFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VmVoaWNsZUxvZ2Jvb2s+IHtcbiAgLyoqXG4gICAqIENoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGJlc3QgcGVyaW9kXG4gICAqL1xuICBpc0Jlc3RQZXJpb2RFeGlzdCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGggPCAyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIExPR0JPT0tfUEVSSU9EX0RVUkFUSU9OIDwgKHRoaXMubGFzdC5kYXRlLmdldFRpbWUoKSAtIHRoaXMuZmlyc3QuZGF0ZS5nZXRUaW1lKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIG5vbi1wZXJzb25hbCBsb2dib29rcyAod29yay1yZWxhdGVkLCBzb2xlLXJlbGF0ZWQpLlxuICAgKi9cbiAgZ2V0QnVzaW5lc3NMb2dib29rcygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigobG9nYm9vazogVmVoaWNsZUxvZ2Jvb2spID0+IGxvZ2Jvb2suaXNCdXNpbmVzcygpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9nYm9vayBQZXJpb2QgaXMgdGhlIGJlc3Qgd2hlbiBpdCBoYXMgdGhlIGJpZ2dlc3QgYW1vdW50IG9mIHdvcmsga2lsb21ldGVyc1xuICAgKiBCZXN0IHBlcmlvZCBkdXJhdGlvbiBpcyBkZWZpbmVkIGFzIExPR0JPT0tfUEVSSU9EX0RVUkFUSU9OICgxMiB3ZWVrcykgYnkgdGhlIEFUT1xuICAgKi9cbiAgZ2V0QmVzdFBlcmlvZCgpOiBMb2dib29rUGVyaW9kIHtcbiAgICBpZiAoIXRoaXMuaXNCZXN0UGVyaW9kRXhpc3QoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2Q7XG5cbiAgICBjb25zdCBidXNpbmVzc0xvZ2Jvb2tzOiBWZWhpY2xlTG9nYm9va1tdID0gdGhpcy5nZXRCdXNpbmVzc0xvZ2Jvb2tzKCkudG9BcnJheSgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBidXNpbmVzc0xvZ2Jvb2tzLmxlbmd0aDsgaSArKykge1xuICAgICAgY29uc3QgbG9nYm9vazogVmVoaWNsZUxvZ2Jvb2sgPSBidXNpbmVzc0xvZ2Jvb2tzW2ldO1xuXG4gICAgICAvLyBubyBzZW5zZSB0byBjaGVjayBuZXh0IGxvZ2Jvb2tzIGJlY2F1c2Ugd2UgYWxyZWFkeSBnZXQgdGhlIGVuZCBvZiB0aGUgeWVhclxuICAgICAgaWYgKGJlc3RQZXJpb2QgJiYgYmVzdFBlcmlvZC5pc0VuZE9mWWVhcigpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkYXRlUmFuZ2U6IHtmcm9tOiBEYXRlLCB0bzogRGF0ZX0gPSB0aGlzLmdldFBlcmlvZFJhbmdlKGxvZ2Jvb2suZGF0ZSk7XG5cbiAgICAgIC8vIGdldCBsb2dib29rcyBpbmNsdWRlZCBpbiBjdXJyZW50IGxvZ2Jvb2sgcGVyaW9kXG4gICAgICBjb25zdCBsb2dib29rc0luUmFuZ2U6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiA9IHRoaXMuZ2V0QnlEYXRlUmFuZ2UobG9nYm9vay5kYXRlLCBuZXcgRGF0ZShsb2dib29rLmRhdGUuZ2V0VGltZSgpICsgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04pKTtcblxuICAgICAgY29uc3Qgd29ya1VzYWdlOiBudW1iZXIgPSBsb2dib29rc0luUmFuZ2UuZ2V0V29ya1VzYWdlKCk7XG5cbiAgICAgIC8vIGNvbXBhcmUgd2l0aCBwcmV2aW91cyBiZXN0IHBlcmlvZCBhbmQgb3ZlcndyaXRlIGlmIG5lZWRzXG4gICAgICBpZiAoIWJlc3RQZXJpb2QgfHwgd29ya1VzYWdlID4gYmVzdFBlcmlvZC53b3JrVXNhZ2UpIHtcbiAgICAgICAgYmVzdFBlcmlvZCA9IHBsYWluVG9DbGFzcyhMb2dib29rUGVyaW9kLCB7XG4gICAgICAgICAgZnJvbTogZGF0ZVJhbmdlLmZyb20sXG4gICAgICAgICAgdG86IGRhdGVSYW5nZS50byxcbiAgICAgICAgICBraWxvbWV0ZXJzOiBsb2dib29rc0luUmFuZ2UuZ2V0QnVzaW5lc3NMb2dib29rcygpLmdldEtsbXMoKSxcbiAgICAgICAgICB3b3JrVXNhZ2U6IHdvcmtVc2FnZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYmVzdFBlcmlvZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdG90YWwga2lsb21ldGVycyB0cmF2ZWxlZFxuICAgKi9cbiAgZ2V0S2xtcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rKSA9PiBzdW0gKyBsb2dib29rLmdldEtsbXMoKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHdvcmsgdXNhZ2UgKHBlcmNlbnQgb2YgYnVzaW5lc3MtcmVsYXRlZCBraWxvbWV0ZXJzIGZyb20gdG90YWwga2lsb21ldGVycylcbiAgICovXG4gIGdldFdvcmtVc2FnZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRvdGFsS2lsb21ldGVyczogbnVtYmVyID0gdGhpcy5nZXRLbG1zKCk7XG4gICAgY29uc3Qgd29ya0tpbG9tZXRlcnM6IG51bWJlciA9IHRoaXMuZ2V0QnVzaW5lc3NMb2dib29rcygpLmdldEtsbXMoKTtcblxuICAgIHJldHVybiBNYXRoLnJvdW5kKHdvcmtLaWxvbWV0ZXJzIC8gdG90YWxLaWxvbWV0ZXJzICogMTAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04gZGF0ZSByYW5nZSBmcm9tIHBhc3NlZCBzdGFydCBkYXRlXG4gICAqL1xuICBwcml2YXRlIGdldFBlcmlvZFJhbmdlKGZyb206IERhdGUpOiB7ZnJvbTogRGF0ZSwgdG86IERhdGV9IHtcbiAgICAvLyBzZXQgZW5kIGRhdGUgYWZ0ZXIgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04gYWZ0ZXIgc3RhcnQgZGF0ZVxuICAgIGxldCB0bzogRGF0ZSA9IG5ldyBEYXRlKGZyb20uZ2V0VGltZSgpICsgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04pO1xuXG4gICAgY29uc3QgZmluYW5jaWFsWWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKCk7XG5cbiAgICAvLyBzZXQgYXMgcGVyaW9kIGxhc3QgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04gb2YgY3VycmVudCB5ZWFyIGlmIHBlcmlvZCBlbmQgZGF0ZSBhZnRlciBlbmQgb2YgY3VycmVudCB5ZWFyXG4gICAgaWYgKHRvID4gZmluYW5jaWFsWWVhci5lbmREYXRlKSB7XG4gICAgICB0byA9IGZpbmFuY2lhbFllYXIuZW5kRGF0ZTtcbiAgICAgIGZyb20gPSBuZXcgRGF0ZSh0by5nZXRUaW1lKCkgLSBMT0dCT09LX1BFUklPRF9EVVJBVElPTik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtmcm9tLCB0b307XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,9 @@
1
- import { Collection } from './collection';
2
- import { VehicleLogbookCollection } from './vehicle-logbook.collection';
3
- import flatten from 'lodash/flatten';
4
- export class VehicleCollection extends Collection {
5
- getLogbooks() {
6
- return new VehicleLogbookCollection(flatten(this.items.map((vehicle) => vehicle.logbook)));
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3ZlaGljbGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFtQjtJQUN4RCxXQUFXO1FBQ1QsT0FBTyxJQUFJLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IFZlaGljbGUgfSBmcm9tICcuLi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlJztcclxuaW1wb3J0IHsgVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIH0gZnJvbSAnLi92ZWhpY2xlLWxvZ2Jvb2suY29sbGVjdGlvbic7XHJcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2xvZGFzaC9mbGF0dGVuJztcclxuXHJcbmV4cG9ydCBjbGFzcyBWZWhpY2xlQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VmVoaWNsZT57XHJcbiAgZ2V0TG9nYm9va3MoKTogVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIHtcclxuICAgIHJldHVybiBuZXcgVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uKGZsYXR0ZW4odGhpcy5pdGVtcy5tYXAoKHZlaGljbGU6IFZlaGljbGUpID0+IHZlaGljbGUubG9nYm9vaykpKTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Collection } from './collection';
2
+ import { VehicleLogbookCollection } from './vehicle-logbook.collection';
3
+ import flatten from 'lodash/flatten';
4
+ export class VehicleCollection extends Collection {
5
+ getLogbooks() {
6
+ return new VehicleLogbookCollection(flatten(this.items.map((vehicle) => vehicle.logbook)));
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3ZlaGljbGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFtQjtJQUN4RCxXQUFXO1FBQ1QsT0FBTyxJQUFJLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBWZWhpY2xlIH0gZnJvbSAnLi4vbW9kZWxzL2xvZ2Jvb2svdmVoaWNsZSc7XG5pbXBvcnQgeyBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gfSBmcm9tICcuL3ZlaGljbGUtbG9nYm9vay5jb2xsZWN0aW9uJztcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2xvZGFzaC9mbGF0dGVuJztcblxuZXhwb3J0IGNsYXNzIFZlaGljbGVDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxWZWhpY2xlPntcbiAgZ2V0TG9nYm9va3MoKTogVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbihmbGF0dGVuKHRoaXMuaXRlbXMubWFwKCh2ZWhpY2xlOiBWZWhpY2xlKSA9PiB2ZWhpY2xlLmxvZ2Jvb2spKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- export var AddressTypeEnum;
2
- (function (AddressTypeEnum) {
3
- AddressTypeEnum[AddressTypeEnum["STREET"] = 1] = "STREET";
4
- AddressTypeEnum[AddressTypeEnum["POSTAL"] = 2] = "POSTAL";
5
- })(AddressTypeEnum || (AddressTypeEnum = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvRW51bXMvYWRkcmVzcy10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUMxQix5REFBVSxDQUFBO0lBQ1YseURBQVUsQ0FBQTtBQUNYLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFkZHJlc3NUeXBlRW51bSB7XHJcblx0U1RSRUVUID0gMSxcclxuXHRQT1NUQUwgPSAyLFxyXG59Il19
1
+ export var AddressTypeEnum;
2
+ (function (AddressTypeEnum) {
3
+ AddressTypeEnum[AddressTypeEnum["STREET"] = 1] = "STREET";
4
+ AddressTypeEnum[AddressTypeEnum["POSTAL"] = 2] = "POSTAL";
5
+ })(AddressTypeEnum || (AddressTypeEnum = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvRW51bXMvYWRkcmVzcy10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUMxQix5REFBVSxDQUFBO0lBQ1YseURBQVUsQ0FBQTtBQUNYLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFkZHJlc3NUeXBlRW51bSB7XG5cdFNUUkVFVCA9IDEsXG5cdFBPU1RBTCA9IDIsXG59Il19