taxtank-core 0.20.0 → 0.21.1

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 (155) hide show
  1. package/bundles/taxtank-core.umd.js +914 -693
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection.js +6 -3
  4. package/esm2015/lib/collections/property/property.collection.js +24 -5
  5. package/esm2015/lib/db/Enums/bank-popular.enum.js +14 -0
  6. package/esm2015/lib/forms/abstract.form.js +11 -4
  7. package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +75 -0
  8. package/esm2015/lib/forms/bank/bank-account/bank-account-import.form.js +43 -0
  9. package/esm2015/lib/forms/bank/bank-account/bank-account-loan.form.js +23 -0
  10. package/esm2015/lib/forms/bank/bank-account/bank-account-properties.form.js +36 -0
  11. package/esm2015/lib/forms/bank/bank-account/bank-accounts-import.form.js +50 -0
  12. package/esm2015/lib/forms/index.js +6 -7
  13. package/esm2015/lib/forms/report/my-tax/my-tax-income-statements.form.js +3 -3
  14. package/esm2015/lib/forms/user/password.form.js +3 -2
  15. package/esm2015/lib/forms/user/reset-password.form.js +2 -1
  16. package/esm2015/lib/interceptors/basiq.interceptor.js +3 -3
  17. package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
  18. package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
  19. package/esm2015/lib/interceptors/interceptors.module.js +4 -4
  20. package/esm2015/lib/interceptors/jwt-interceptor.js +9 -4
  21. package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
  22. package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
  23. package/esm2015/lib/models/badge/badge-color.enum.js +8 -0
  24. package/esm2015/lib/models/badge/badge.js +14 -0
  25. package/esm2015/lib/models/bank/bank.js +7 -2
  26. package/esm2015/lib/models/dictionary/dictionary.js +35 -0
  27. package/esm2015/lib/models/endpoint/endpoints.const.js +2 -1
  28. package/esm2015/lib/models/property/property.js +6 -1
  29. package/esm2015/lib/services/account-setup/account-setup.service.js +3 -3
  30. package/esm2015/lib/services/asset/assets.service.js +3 -3
  31. package/esm2015/lib/services/auth/auth.service.js +3 -3
  32. package/esm2015/lib/services/auth/jwt.service.js +3 -3
  33. package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
  34. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
  35. package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
  36. package/esm2015/lib/services/event/sse.service.js +3 -3
  37. package/esm2015/lib/services/export/export-formatter.service.js +3 -3
  38. package/esm2015/lib/services/header-title/header-title.service.js +3 -3
  39. package/esm2015/lib/services/http/address/address.service.js +3 -3
  40. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +10 -4
  41. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +18 -48
  42. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +3 -3
  43. package/esm2015/lib/services/http/bank/bank.service.js +11 -4
  44. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +3 -3
  45. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +55 -17
  46. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +3 -3
  47. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +3 -3
  48. package/esm2015/lib/services/http/chat/chat.service.js +3 -3
  49. package/esm2015/lib/services/http/chat/message/message.service.js +3 -3
  50. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +3 -3
  51. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
  52. package/esm2015/lib/services/http/depreciation/depreciation.service.js +3 -3
  53. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
  54. package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
  55. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
  56. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
  57. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
  58. package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
  59. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
  60. package/esm2015/lib/services/http/firm/firm.service.js +3 -3
  61. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
  62. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
  63. package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
  64. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
  65. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
  66. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +3 -3
  67. package/esm2015/lib/services/http/loan/loan.service.js +3 -3
  68. package/esm2015/lib/services/http/property/property-category/property-category.service.js +3 -3
  69. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +3 -3
  70. package/esm2015/lib/services/http/property/property-document/property-document.service.js +3 -3
  71. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +3 -3
  72. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +3 -3
  73. package/esm2015/lib/services/http/property/property-share/property-share.service.js +3 -3
  74. package/esm2015/lib/services/http/property/property.service.js +3 -3
  75. package/esm2015/lib/services/http/rest/rest.service.js +3 -3
  76. package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
  77. package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
  78. package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
  79. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
  80. package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
  81. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
  82. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +3 -3
  83. package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
  84. package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
  85. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
  86. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
  87. package/esm2015/lib/services/http/user/user.service.js +7 -4
  88. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
  89. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
  90. package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
  91. package/esm2015/lib/services/intercom/intercom.service.js +3 -3
  92. package/esm2015/lib/services/kompassify/kompassify.service.js +3 -3
  93. package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
  94. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
  95. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
  96. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
  97. package/esm2015/lib/services/preloader/preloader.service.js +3 -3
  98. package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
  99. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
  100. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +38 -4
  101. package/esm2015/lib/services/report/property/property-transaction-report.service.js +3 -3
  102. package/esm2015/lib/services/toast/toast.service.js +3 -3
  103. package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
  104. package/esm2015/lib/services/user/user-switcher.service.js +3 -3
  105. package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
  106. package/esm2015/lib/tt-core.module.js +4 -4
  107. package/esm2015/lib/validators/at-least-one-enabled.validator.js +11 -0
  108. package/esm2015/lib/validators/autocomplete.validator.js +10 -0
  109. package/esm2015/lib/validators/index.js +2 -3
  110. package/esm2015/public-api.js +5 -2
  111. package/fesm2015/taxtank-core.js +788 -566
  112. package/fesm2015/taxtank-core.js.map +1 -1
  113. package/lib/collections/collection.d.ts +2 -1
  114. package/lib/collections/property/property.collection.d.ts +5 -0
  115. package/lib/db/Enums/bank-popular.enum.d.ts +12 -0
  116. package/lib/forms/abstract.form.d.ts +5 -3
  117. package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts +25 -0
  118. package/lib/forms/bank/bank-account/bank-account-import.form.d.ts +15 -0
  119. package/lib/forms/bank/bank-account/bank-account-loan.form.d.ts +8 -0
  120. package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +11 -0
  121. package/lib/forms/bank/bank-account/bank-accounts-import.form.d.ts +12 -0
  122. package/lib/forms/index.d.ts +5 -6
  123. package/lib/models/badge/badge-color.enum.d.ts +6 -0
  124. package/lib/models/badge/badge.d.ts +10 -0
  125. package/lib/models/bank/bank.d.ts +1 -0
  126. package/lib/models/dictionary/dictionary.d.ts +12 -0
  127. package/lib/models/property/property.d.ts +5 -0
  128. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +3 -0
  129. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +0 -8
  130. package/lib/services/http/bank/bank.service.d.ts +2 -0
  131. package/lib/services/http/bank/basiq/basiq.service.d.ts +12 -3
  132. package/lib/services/http/user/user.service.d.ts +1 -0
  133. package/lib/services/property/property-calculation/property-calculation.service.d.ts +10 -0
  134. package/lib/validators/at-least-one-enabled.validator.d.ts +5 -0
  135. package/lib/validators/{require-autocomplete.d.ts → autocomplete.validator.d.ts} +2 -1
  136. package/lib/validators/index.d.ts +1 -2
  137. package/package.json +1 -1
  138. package/public-api.d.ts +4 -1
  139. package/esm2015/lib/collections/bank.collection.js +0 -15
  140. package/esm2015/lib/forms/bank/bank-account-add-manual.form.js +0 -19
  141. package/esm2015/lib/forms/bank/bank-account-loan.form.js +0 -20
  142. package/esm2015/lib/forms/bank/bank-account-migrate.form.js +0 -15
  143. package/esm2015/lib/forms/bank/bank-account-properties.form.js +0 -15
  144. package/esm2015/lib/forms/bank/bank-account-property.form.js +0 -13
  145. package/esm2015/lib/forms/bank/bank-account.form.js +0 -66
  146. package/esm2015/lib/validators/require-autocomplete.js +0 -14
  147. package/esm2015/lib/validators/require-select.validator.js +0 -15
  148. package/lib/collections/bank.collection.d.ts +0 -7
  149. package/lib/forms/bank/bank-account-add-manual.form.d.ts +0 -10
  150. package/lib/forms/bank/bank-account-loan.form.d.ts +0 -5
  151. package/lib/forms/bank/bank-account-migrate.form.d.ts +0 -9
  152. package/lib/forms/bank/bank-account-properties.form.d.ts +0 -8
  153. package/lib/forms/bank/bank-account-property.form.d.ts +0 -5
  154. package/lib/forms/bank/bank-account.form.d.ts +0 -28
  155. package/lib/validators/require-select.validator.d.ts +0 -5
@@ -15,10 +15,11 @@ import * as moment from 'moment';
15
15
  import flatten from 'lodash/flatten';
16
16
  import hasIn from 'lodash/hasIn';
17
17
  import first from 'lodash/first';
18
- import cloneDeep$1 from 'lodash/cloneDeep';
19
- import compact from 'lodash/compact';
20
18
  import uniqBy from 'lodash/uniqBy';
21
19
  import concat from 'lodash/concat';
20
+ import { throwError as throwError$1 } from 'rxjs/internal/observable/throwError';
21
+ import cloneDeep$1 from 'lodash/cloneDeep';
22
+ import compact from 'lodash/compact';
22
23
  import { DateRange } from 'moment-range';
23
24
  import { Validators, FormGroup, FormControl, FormArray } from '@angular/forms';
24
25
  import fromPairs from 'lodash/fromPairs';
@@ -68,9 +69,9 @@ class CorelogicService {
68
69
  }));
69
70
  }
70
71
  }
71
- CorelogicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
72
- CorelogicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicService, providedIn: 'root' });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicService, decorators: [{
72
+ CorelogicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
73
+ CorelogicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicService, providedIn: 'root' });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicService, decorators: [{
74
75
  type: Injectable,
75
76
  args: [{
76
77
  providedIn: 'root'
@@ -112,9 +113,9 @@ class CorelogicInterceptor {
112
113
  return next.handle(this.addToken(request));
113
114
  }
114
115
  }
115
- CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
116
- CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicInterceptor });
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicInterceptor, decorators: [{
116
+ CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
117
+ CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor, decorators: [{
118
119
  type: Injectable
119
120
  }], ctorParameters: function () { return [{ type: CorelogicService }, { type: undefined, decorators: [{
120
121
  type: Inject,
@@ -150,9 +151,9 @@ class FinancialYearInterceptor {
150
151
  return next.handle(clonedReq);
151
152
  }
152
153
  }
153
- FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
154
- FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FinancialYearInterceptor });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
154
+ FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
155
+ FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor });
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
156
157
  type: Injectable
157
158
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
158
159
  type: Inject,
@@ -183,9 +184,9 @@ class JwtService extends JwtHelperService {
183
184
  return this.getUser().id === userId;
184
185
  }
185
186
  }
186
- JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
187
- JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtService, providedIn: 'root' });
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtService, decorators: [{
187
+ JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
188
+ JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtService, providedIn: 'root' });
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtService, decorators: [{
189
190
  type: Injectable,
190
191
  args: [{
191
192
  providedIn: 'root'
@@ -258,9 +259,9 @@ class EventDispatcherService {
258
259
  this.eventSubject.next(event);
259
260
  }
260
261
  }
261
- EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
262
- EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EventDispatcherService, decorators: [{
262
+ EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
263
+ EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EventDispatcherService, decorators: [{
264
265
  type: Injectable,
265
266
  args: [{
266
267
  providedIn: 'root'
@@ -309,9 +310,9 @@ class AuthService {
309
310
  location.replace(url);
310
311
  }
311
312
  }
312
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
313
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthService, providedIn: 'root' });
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AuthService, decorators: [{
313
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
314
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, providedIn: 'root' });
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AuthService, decorators: [{
315
316
  type: Injectable,
316
317
  args: [{
317
318
  providedIn: 'root'
@@ -396,6 +397,11 @@ class JwtInterceptor {
396
397
  // });
397
398
  }
398
399
  handle401Error(req, next, err) {
400
+ var _a;
401
+ // skip 401 errors not from JWT (basiq login case or other)
402
+ if (!((_a = err.error.message) === null || _a === void 0 ? void 0 : _a.includes('JWT Token'))) {
403
+ return throwError(err);
404
+ }
399
405
  if (req.url.includes('token/refresh') || req.url.includes('login')) {
400
406
  if (req.url.includes('token/refresh')) {
401
407
  this.authService.logoutFront();
@@ -442,9 +448,9 @@ class JwtInterceptor {
442
448
  });
443
449
  }
444
450
  }
445
- JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtInterceptor, deps: [{ token: JwtService }, { token: AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
446
- JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtInterceptor });
447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtInterceptor, decorators: [{
451
+ JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor, deps: [{ token: JwtService }, { token: AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
452
+ JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor });
453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor, decorators: [{
448
454
  type: Injectable
449
455
  }], ctorParameters: function () { return [{ type: JwtService }, { type: AuthService }, { type: undefined, decorators: [{
450
456
  type: Inject,
@@ -477,9 +483,9 @@ class UserSwitcherService {
477
483
  window.location.replace('/firm/dashboard');
478
484
  }
479
485
  }
480
- UserSwitcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
481
- UserSwitcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherService, providedIn: 'root' });
482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherService, decorators: [{
486
+ UserSwitcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
487
+ UserSwitcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherService, providedIn: 'root' });
488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherService, decorators: [{
483
489
  type: Injectable,
484
490
  args: [{
485
491
  providedIn: 'root'
@@ -515,9 +521,9 @@ class UserSwitcherInterceptor {
515
521
  return next.handle(this.switch(request, this.userSwitcherService.get()));
516
522
  }
517
523
  }
518
- UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
519
- UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherInterceptor });
520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
524
+ UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
525
+ UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor });
526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
521
527
  type: Injectable
522
528
  }], ctorParameters: function () { return [{ type: UserSwitcherService }, { type: undefined, decorators: [{
523
529
  type: Inject,
@@ -671,6 +677,7 @@ const ENDPOINTS = {
671
677
  TRANSACTIONS_ALLOCATIONS_POST: new Endpoint('POST', '\\/transactions-allocations'),
672
678
  TRANSACTIONS_ALLOCATIONS_DELETE: new Endpoint('DELETE', '\\/transactions-allocations\\/\\d+'),
673
679
  USER_CONFIRMATION_POST: new Endpoint('POST', '\\/users\\/confirmation'),
680
+ USER_CONFIRMATION_RESEND_POST: new Endpoint('POST', '\\/users\\/confirmation\\/resend'),
674
681
  USER_CURRENT_GET: new Endpoint('GET', '\\/users\\/current'),
675
682
  USER_CURRENT_PASSWORD_PUT: new Endpoint('PUT', '\\/users\\/current\\/password\.\*'),
676
683
  USER_EVENT_SETTINGS_GET: new Endpoint('GET', '\\/user-event-settings'),
@@ -712,9 +719,9 @@ class PreloaderService {
712
719
  this.activePreloaders.next(activePreloaders);
713
720
  }
714
721
  }
715
- PreloaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
716
- PreloaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderService, providedIn: 'root' });
717
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderService, decorators: [{
722
+ PreloaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
723
+ PreloaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderService, providedIn: 'root' });
724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderService, decorators: [{
718
725
  type: Injectable,
719
726
  args: [{
720
727
  providedIn: 'root'
@@ -742,9 +749,9 @@ class PreloaderInterceptor {
742
749
  return Object.values(ENDPOINTS).find((endpoint) => endpoint.test(requestPath));
743
750
  }
744
751
  }
745
- PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
746
- PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderInterceptor });
747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderInterceptor, decorators: [{
752
+ PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
753
+ PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor });
754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor, decorators: [{
748
755
  type: Injectable
749
756
  }], ctorParameters: function () { return [{ type: PreloaderService }]; } });
750
757
 
@@ -878,9 +885,9 @@ class ToastService {
878
885
  }));
879
886
  }
880
887
  }
881
- ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
882
- ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToastService, providedIn: 'root' });
883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToastService, decorators: [{
888
+ ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
889
+ ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ToastService, providedIn: 'root' });
890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ToastService, decorators: [{
884
891
  type: Injectable,
885
892
  args: [{
886
893
  providedIn: 'root'
@@ -1073,9 +1080,9 @@ class RestService {
1073
1080
  */
1074
1081
  listenEvents() { }
1075
1082
  }
1076
- RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RestService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
1077
- RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RestService, providedIn: 'root' });
1078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RestService, decorators: [{
1083
+ RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RestService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
1084
+ RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RestService, providedIn: 'root' });
1085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RestService, decorators: [{
1079
1086
  type: Injectable,
1080
1087
  args: [{
1081
1088
  providedIn: 'root'
@@ -2040,6 +2047,9 @@ class Collection {
2040
2047
  getIds() {
2041
2048
  return this.items.map((item) => item['id']);
2042
2049
  }
2050
+ mapBy(path) {
2051
+ return this.items.map((item) => get(item, path));
2052
+ }
2043
2053
  sortBy(field = 'id', isDesc = true) {
2044
2054
  sort(this.items, field, isDesc);
2045
2055
  return this;
@@ -2094,8 +2104,8 @@ class Collection {
2094
2104
  remove(items) {
2095
2105
  return this.filter((model) => !items.map((item) => item.id).includes(model.id));
2096
2106
  }
2097
- removeBy(path, value) {
2098
- return this.filter((item) => get(item, path) !== value);
2107
+ removeBy(path, values) {
2108
+ return this.filter((item) => !(Array.isArray(values) ? values : [values]).includes(get(item, path)));
2099
2109
  }
2100
2110
  }
2101
2111
 
@@ -2300,6 +2310,11 @@ class Property extends Property$1 {
2300
2310
  getOwnershipDuration(sale, unitOfTime = 'days') {
2301
2311
  return moment(sale.contractDate).diff(moment(this.contractDate), unitOfTime);
2302
2312
  }
2313
+ /**
2314
+ * Tax Position = Income - Expense - Interest - Depreciation
2315
+ * Where (Income - Expense - Interest) is cash position.
2316
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217415928/Dashboard+Property
2317
+ */
2303
2318
  getTaxPosition(transactions, depreciations) {
2304
2319
  return transactions.cashPosition - Math.abs(depreciations.claimAmount);
2305
2320
  }
@@ -2357,6 +2372,20 @@ class BasiqJob extends BasiqJob$1 {
2357
2372
  class Bank$1 extends AbstractModel {
2358
2373
  }
2359
2374
 
2375
+ var BankPopularEnum;
2376
+ (function (BankPopularEnum) {
2377
+ BankPopularEnum["BANKWEST"] = "Bank of Western Australia trading as BankWest";
2378
+ BankPopularEnum["ANZ"] = "Australia and New Zealand Banking Group Limited";
2379
+ BankPopularEnum["CBA"] = "Commonwealth Bank Australia";
2380
+ BankPopularEnum["WESTPAC"] = "Westpac Banking Corporation";
2381
+ BankPopularEnum["BENDIGO"] = "Bendigo and Adelaide Bank Limited";
2382
+ BankPopularEnum["ING_DIRECT"] = "ING Bank (Australia) Limited (trading as ING Direct)";
2383
+ BankPopularEnum["ST_GEORGE"] = "St. George Bank (a subsidiary of Westpac)";
2384
+ BankPopularEnum["SUNCORP"] = "Suncorp-Metway Limited";
2385
+ BankPopularEnum["CITIBANK"] = "Citibank";
2386
+ BankPopularEnum["BOQ"] = "Bank of Queensland Limited";
2387
+ })(BankPopularEnum || (BankPopularEnum = {}));
2388
+
2360
2389
  class Bank extends Bank$1 {
2361
2390
  getInitials() {
2362
2391
  return this.name[0] + this.name[1];
@@ -2371,6 +2400,10 @@ class Bank extends Bank$1 {
2371
2400
  __decorate([
2372
2401
  Transform(({ value }) => value ? value.replace(' ', '%20') : null)
2373
2402
  ], Bank.prototype, "logo", void 0);
2403
+ __decorate([
2404
+ Transform(({ obj }) => Object.values(BankPopularEnum).includes(obj.name)),
2405
+ Expose()
2406
+ ], Bank.prototype, "isPopular", void 0);
2374
2407
 
2375
2408
  var BankConnectionStatusEnum;
2376
2409
  (function (BankConnectionStatusEnum) {
@@ -2521,13 +2554,139 @@ __decorate([
2521
2554
  Type(() => BankConnection)
2522
2555
  ], BankAccount.prototype, "bankConnection", void 0);
2523
2556
 
2557
+ const TYPE_LOAN = [
2558
+ BankAccountTypeEnum.MORTGAGE,
2559
+ BankAccountTypeEnum.CREDIT_CARD,
2560
+ BankAccountTypeEnum.LOAN
2561
+ ];
2562
+
2524
2563
  /**
2525
- * any event happened in the app, which needs to be handled somehow (distributed to other part of the app)
2564
+ * Collection of bank accounts.
2526
2565
  */
2527
- class AppEvent {
2528
- constructor(type, payload) {
2529
- this.type = type;
2530
- this.payload = payload;
2566
+ class BankAccountCollection extends Collection {
2567
+ /**
2568
+ * get list of bank accounts with passed types
2569
+ */
2570
+ getByType(types, isExclude = false) {
2571
+ // get types always as array (if only one passed)
2572
+ const typesArray = concat(types);
2573
+ return this.items.filter((bankAccount) => {
2574
+ if (isExclude) {
2575
+ return !typesArray.includes(bankAccount.type);
2576
+ }
2577
+ return typesArray.includes(bankAccount.type);
2578
+ });
2579
+ }
2580
+ /**
2581
+ * get amount of initial loans
2582
+ */
2583
+ getInitialLoanAmount() {
2584
+ return this.getByType(TYPE_LOAN)
2585
+ .reduce((sum, bankAccount) => {
2586
+ return sum += bankAccount.balances.length ? bankAccount.getOpeningBalance() : 0;
2587
+ }, 0);
2588
+ }
2589
+ /**
2590
+ * get amount of current loans
2591
+ */
2592
+ getCurrentLoanAmount() {
2593
+ return this.getByType(TYPE_LOAN)
2594
+ .reduce((sum, bankAccount) => {
2595
+ return sum += bankAccount.currentBalance;
2596
+ }, 0);
2597
+ }
2598
+ /**
2599
+ * get collection filtered by property id
2600
+ */
2601
+ getByPropertyId(id) {
2602
+ return new BankAccountCollection(this.items.filter((bankAccount) => {
2603
+ return bankAccount.bankAccountProperties.find((bankAccountProperty) => {
2604
+ return bankAccountProperty.property.id === id;
2605
+ });
2606
+ }));
2607
+ }
2608
+ /**
2609
+ * get collection filtered by properties ids
2610
+ */
2611
+ getByPropertiesIds(ids) {
2612
+ return new BankAccountCollection(this.items.filter((bankAccount) => {
2613
+ return bankAccount.bankAccountProperties.find((bankAccountProperty) => {
2614
+ return ids.includes(bankAccountProperty.property.id);
2615
+ });
2616
+ }));
2617
+ }
2618
+ /**
2619
+ * get collection of active bank accounts
2620
+ */
2621
+ getActiveBankAccounts() {
2622
+ return new BankAccountCollection(this.items.filter((bankAccount) => {
2623
+ return bankAccount.isActive();
2624
+ }));
2625
+ }
2626
+ /**
2627
+ * get reduction of loan (reduction of principle) percentage
2628
+ */
2629
+ getPrincipleReductionPercent() {
2630
+ const initialLoans = this.getInitialLoanAmount();
2631
+ const currentLoans = this.getCurrentLoanAmount();
2632
+ if (!initialLoans) {
2633
+ return 0;
2634
+ }
2635
+ return (initialLoans - currentLoans) / initialLoans * 100;
2636
+ }
2637
+ /**
2638
+ * Get collection of loan bank accounts
2639
+ */
2640
+ getLoanAccounts() {
2641
+ return new BankAccountCollection(this.getByType(TYPE_LOAN));
2642
+ }
2643
+ getSavingsAccounts() {
2644
+ return new BankAccountCollection(this.getByType(TYPE_LOAN, true));
2645
+ }
2646
+ getOpeningBalance() {
2647
+ return this.items.reduce((sum, bankAccount) => sum + bankAccount.getOpeningBalance(), 0);
2648
+ }
2649
+ get currentBalance() {
2650
+ return this.sumBy('currentBalance');
2651
+ }
2652
+ /**
2653
+ * Get Collection of bank accounts with property tank type
2654
+ */
2655
+ getPropertyBankAccounts() {
2656
+ return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.isPropertyTank()));
2657
+ }
2658
+ /**
2659
+ * Get Collection of bank accounts with work tank type
2660
+ */
2661
+ getWorkBankAccounts() {
2662
+ return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.isWorkTank()));
2663
+ }
2664
+ /**
2665
+ * Get Collection of bank accounts by tank type
2666
+ */
2667
+ getByTankType(tankType) {
2668
+ return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.tankType === tankType));
2669
+ }
2670
+ /**
2671
+ * Get list of all bank account properties
2672
+ */
2673
+ getBankAccountPropertiesList() {
2674
+ return flatten(this.items.map((bankAccount) => {
2675
+ return bankAccount.bankAccountProperties;
2676
+ }));
2677
+ }
2678
+ /**
2679
+ * Get lis of unique properties from all bank accounts properties
2680
+ */
2681
+ getProperties() {
2682
+ return uniqBy(this.getBankAccountPropertiesList().map((bankAccountProperty) => {
2683
+ return bankAccountProperty.property;
2684
+ }), 'id');
2685
+ }
2686
+ getPropertyBalanceAmount(propertyId) {
2687
+ return this.items.reduce((sum, bankAccount) => {
2688
+ return sum + bankAccount.getPropertyBalanceAmount(propertyId);
2689
+ }, 0);
2531
2690
  }
2532
2691
  }
2533
2692
 
@@ -2543,15 +2702,25 @@ class BankConnectionService extends RestService {
2543
2702
  }
2544
2703
  listenEvents() {
2545
2704
  this.listenToAddedBankAccounts();
2546
- this.listenBasiqJobCreated();
2547
- this.listenConnectionUpdated();
2548
2705
  this.listenNotifications();
2549
2706
  }
2550
2707
  add(bankConnection) {
2551
2708
  return this.http.post(`${this.environment.apiV2}/${this.url}`, bankConnection)
2552
2709
  .pipe(map((bankConnectionBase) => {
2553
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_CONNECTION_ADDED, null));
2554
- return plainToClass(BankConnection, bankConnectionBase);
2710
+ const connection = plainToClass(BankConnection, bankConnectionBase);
2711
+ // We use this endpoint for create and reconnect bank connections because of basiq logic.
2712
+ // So we try to replace bank connection in cache for reconnection case.
2713
+ if (bankConnection.id) {
2714
+ const tempCache = cloneDeep$1(this.cache);
2715
+ replace(tempCache, connection);
2716
+ this.cache = cloneDeep$1(tempCache);
2717
+ this.cacheSubject.next(tempCache);
2718
+ }
2719
+ else {
2720
+ this.cache.push(connection);
2721
+ this.cacheSubject.next(cloneDeep$1(this.cache));
2722
+ }
2723
+ return plainToClass(BankConnection, connection);
2555
2724
  }));
2556
2725
  }
2557
2726
  listenToAddedBankAccounts() {
@@ -2559,45 +2728,6 @@ class BankConnectionService extends RestService {
2559
2728
  this.resetCache();
2560
2729
  });
2561
2730
  }
2562
- /**
2563
- * When user log in to bank, basiq create a job. We create a bank connection with based on this job
2564
- */
2565
- listenBasiqJobCreated() {
2566
- this.eventDispatcherService.on(AppEventTypeEnum.BASIQ_JOB_CREATED).subscribe((result) => {
2567
- // push connection to cache temporary to show it to user directly with pending status and not wait until backend loaded
2568
- const tempCache = cloneDeep$1(this.cache);
2569
- result.connection.setPending();
2570
- tempCache.push(result.connection);
2571
- this.cache = tempCache;
2572
- this.cacheSubject.next(tempCache);
2573
- this.add(plainToClass(BankConnection, { basiqJob: { externalId: result.jobId } })).subscribe((newConnection) => {
2574
- // replace temporary connection with real saved connection
2575
- // no replace() because connection does not have id yet
2576
- tempCache.splice(-1, 1, newConnection);
2577
- this.cache = cloneDeep$1(tempCache);
2578
- this.cacheSubject.next(tempCache);
2579
- });
2580
- });
2581
- }
2582
- /**
2583
- * When basiq connection disconnected we create a basiq job and update this connection
2584
- */
2585
- listenConnectionUpdated() {
2586
- this.eventDispatcherService.on(AppEventTypeEnum.BASIQ_CONNECTION_UPDATED).subscribe((result) => {
2587
- // replace connection to cache temporary to show pending status until backend loaded
2588
- const tempCache = cloneDeep$1(this.cache);
2589
- result.connection.setPending();
2590
- replace(tempCache, result.connection);
2591
- this.cache = tempCache;
2592
- this.cacheSubject.next(tempCache);
2593
- this.add(plainToClass(BankConnection, { basiqJob: { externalId: result.jobId } })).subscribe((updatedConnection) => {
2594
- // replace temporary connection again with real updated connection
2595
- replace(tempCache, updatedConnection);
2596
- this.cache = cloneDeep$1(tempCache);
2597
- this.cacheSubject.next(tempCache);
2598
- });
2599
- });
2600
- }
2601
2731
  /**
2602
2732
  * Update cache when basiq login failed to get actual connections statuses
2603
2733
  */
@@ -2609,9 +2739,9 @@ class BankConnectionService extends RestService {
2609
2739
  });
2610
2740
  }
2611
2741
  }
2612
- BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankConnectionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
2613
- BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
2614
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankConnectionService, decorators: [{
2742
+ BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankConnectionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
2743
+ BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
2744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankConnectionService, decorators: [{
2615
2745
  type: Injectable,
2616
2746
  args: [{
2617
2747
  providedIn: 'root'
@@ -2623,9 +2753,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2623
2753
  * service is responsible for fetching bank related information
2624
2754
  */
2625
2755
  class BasiqService extends RestService {
2626
- constructor(http, eventDispatcherService, environment, toastService,
2627
- // init BankConnectionService to listen events
2628
- bankConnectionService) {
2756
+ constructor(http, eventDispatcherService, environment, toastService, bankConnectionService) {
2629
2757
  super(http, eventDispatcherService, environment, toastService);
2630
2758
  this.http = http;
2631
2759
  this.eventDispatcherService = eventDispatcherService;
@@ -2642,21 +2770,58 @@ class BasiqService extends RestService {
2642
2770
  this.listenNotifications();
2643
2771
  }
2644
2772
  /**
2645
- * Create Basiq job for the new bank connection creation
2646
- */
2647
- createConnection(data, userId, connection) {
2648
- return this.http.post(`${BasiqService.basiqApiUrl}/users/${userId}/connections`, data).pipe(map((response) => {
2649
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BASIQ_JOB_CREATED, { jobId: response.id, connection }));
2650
- return response.id;
2773
+ * Create a new Bank connection based on Basiq job.
2774
+ * Here we have nested requests because we need to get a job id before we create a bank connection.
2775
+ * There is no way to use event dispatcher because we expect some errors from bank-connections API, but in components
2776
+ * we interact with basiq service.
2777
+ */
2778
+ createConnection(loginData, userId) {
2779
+ // Send login data to basiq API to create a basiq job
2780
+ return this.http.post(`${BasiqService.basiqApiUrl}/users/${userId}/connections`, loginData)
2781
+ .pipe(mergeMap((response) => {
2782
+ // Create bank connection based on basiq job
2783
+ return this.bankConnectionService.add(plainToClass(BankConnection, { basiqJob: { externalId: response.id } }));
2784
+ }), catchError((error) => {
2785
+ // Show error when user provided wrong login data
2786
+ if (error.status === 401) {
2787
+ this.toastService.error('Invalid credentials');
2788
+ }
2789
+ return throwError$1(error);
2651
2790
  }));
2652
2791
  }
2653
2792
  /**
2654
2793
  * Update disconnected bank connection
2794
+ * Here we have nested requests because we need to get a job id before we create a bank connection.
2795
+ * There is no way to use event dispatcher because we expect some errors from bank-connections API, but in components
2796
+ * we interact with basiq service.
2655
2797
  */
2656
2798
  updateConnection(data, userId, connection) {
2657
- return this.http.post(`${BasiqService.basiqApiUrl}/users/${userId}/connections`, Object.assign(data, { id: connection.externalId })).pipe(map((response) => {
2658
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BASIQ_CONNECTION_UPDATED, { jobId: response.id, connection }));
2659
- return response.id;
2799
+ // Send login data to basiq API to create a basiq job
2800
+ return this.http.post(`${BasiqService.basiqApiUrl}/users/${userId}/connections`, Object.assign(data, { id: connection.externalId }))
2801
+ .pipe(
2802
+ // Create bank connection based on basiq job
2803
+ mergeMap((response) => {
2804
+ return this.bankConnectionService.add(plainToClass(BankConnection, Object.assign({ id: connection.id, basiqJob: { externalId: response.id } })));
2805
+ }), catchError((error) => {
2806
+ // Show error when user provided wrong login data
2807
+ if (error.status === 401) {
2808
+ this.toastService.error('Invalid credentials');
2809
+ }
2810
+ // Show error when user provided another login (not login he used before)
2811
+ if (error.status === 400) {
2812
+ this.toastService.error('Please enter the login you used before');
2813
+ }
2814
+ return throwError$1(error);
2815
+ }));
2816
+ }
2817
+ getByConnection(connection) {
2818
+ return this.get().pipe(map((bankAccounts) => {
2819
+ return new BankAccountCollection(bankAccounts).filterBy('bankConnection.id', connection.id);
2820
+ }));
2821
+ }
2822
+ getNotImportedByConnection(savedAccounts, connection) {
2823
+ return this.getByConnection(connection).pipe(map((bankAccounts) => {
2824
+ return bankAccounts.removeBy('accountId', savedAccounts.mapBy('accountId'));
2660
2825
  }));
2661
2826
  }
2662
2827
  /**
@@ -2671,9 +2836,9 @@ class BasiqService extends RestService {
2671
2836
  }
2672
2837
  }
2673
2838
  BasiqService.basiqApiUrl = 'https://au-api.basiq.io';
2674
- BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
2675
- BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, providedIn: 'root' });
2676
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqService, decorators: [{
2839
+ BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
2840
+ BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, providedIn: 'root' });
2841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, decorators: [{
2677
2842
  type: Injectable,
2678
2843
  args: [{
2679
2844
  providedIn: 'root'
@@ -2720,9 +2885,9 @@ class BasiqTokenService {
2720
2885
  return this.cacheSubject.asObservable();
2721
2886
  }
2722
2887
  }
2723
- BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
2724
- BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
2725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenService, decorators: [{
2888
+ BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
2889
+ BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
2890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, decorators: [{
2726
2891
  type: Injectable,
2727
2892
  args: [{
2728
2893
  providedIn: 'root'
@@ -2756,17 +2921,17 @@ class BasiqInterceptor {
2756
2921
  });
2757
2922
  }
2758
2923
  }
2759
- BasiqInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqInterceptor, deps: [{ token: BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
2760
- BasiqInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqInterceptor });
2761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqInterceptor, decorators: [{
2924
+ BasiqInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqInterceptor, deps: [{ token: BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
2925
+ BasiqInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqInterceptor });
2926
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqInterceptor, decorators: [{
2762
2927
  type: Injectable
2763
2928
  }], ctorParameters: function () { return [{ type: BasiqTokenService }]; } });
2764
2929
 
2765
2930
  class InterceptorsModule {
2766
2931
  }
2767
- InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2768
- InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InterceptorsModule });
2769
- InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InterceptorsModule, providers: [
2932
+ InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2933
+ InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule });
2934
+ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, providers: [
2770
2935
  {
2771
2936
  provide: HTTP_INTERCEPTORS,
2772
2937
  useClass: CorelogicInterceptor,
@@ -2799,7 +2964,7 @@ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
2799
2964
  multi: true
2800
2965
  }
2801
2966
  ] });
2802
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InterceptorsModule, decorators: [{
2967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, decorators: [{
2803
2968
  type: NgModule,
2804
2969
  args: [{
2805
2970
  providers: [
@@ -2852,14 +3017,14 @@ class TtCoreModule {
2852
3017
  };
2853
3018
  }
2854
3019
  }
2855
- TtCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TtCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2856
- TtCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
3020
+ TtCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3021
+ TtCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
2857
3022
  InterceptorsModule] });
2858
- TtCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TtCoreModule, imports: [[
3023
+ TtCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, imports: [[
2859
3024
  CommonModule,
2860
3025
  InterceptorsModule
2861
3026
  ]] });
2862
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TtCoreModule, decorators: [{
3027
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, decorators: [{
2863
3028
  type: NgModule,
2864
3029
  args: [{
2865
3030
  declarations: [],
@@ -2880,156 +3045,6 @@ class AccountSetupItemCollection extends Collection {
2880
3045
  }
2881
3046
  }
2882
3047
 
2883
- class BankCollection extends Collection {
2884
- constructor(banks) {
2885
- super(banks);
2886
- this.sortByPopularity();
2887
- }
2888
- sortByPopularity() {
2889
- this.items.sort((bank1, bank2) => {
2890
- // Banks already sorted on backend by name, so we just need to up top-10 banks
2891
- return (BankCollection.tobBanksIds.includes(bank1.id) && !BankCollection.tobBanksIds.includes(bank2.id)) ? -1 : 1;
2892
- });
2893
- }
2894
- }
2895
- BankCollection.tobBanksIds = [124, 13, 134, 172, 126, 142, 135, 137, 138, 128];
2896
-
2897
- const TYPE_LOAN = [
2898
- BankAccountTypeEnum.MORTGAGE,
2899
- BankAccountTypeEnum.CREDIT_CARD,
2900
- BankAccountTypeEnum.LOAN
2901
- ];
2902
-
2903
- /**
2904
- * Collection of bank accounts.
2905
- */
2906
- class BankAccountCollection extends Collection {
2907
- /**
2908
- * get list of bank accounts with passed types
2909
- */
2910
- getByType(types, isExclude = false) {
2911
- // get types always as array (if only one passed)
2912
- const typesArray = concat(types);
2913
- return this.items.filter((bankAccount) => {
2914
- if (isExclude) {
2915
- return !typesArray.includes(bankAccount.type);
2916
- }
2917
- return typesArray.includes(bankAccount.type);
2918
- });
2919
- }
2920
- /**
2921
- * get amount of initial loans
2922
- */
2923
- getInitialLoanAmount() {
2924
- return this.getByType(TYPE_LOAN)
2925
- .reduce((sum, bankAccount) => {
2926
- return sum += bankAccount.balances.length ? bankAccount.getOpeningBalance() : 0;
2927
- }, 0);
2928
- }
2929
- /**
2930
- * get amount of current loans
2931
- */
2932
- getCurrentLoanAmount() {
2933
- return this.getByType(TYPE_LOAN)
2934
- .reduce((sum, bankAccount) => {
2935
- return sum += bankAccount.currentBalance;
2936
- }, 0);
2937
- }
2938
- /**
2939
- * get collection filtered by property id
2940
- */
2941
- getByPropertyId(id) {
2942
- return new BankAccountCollection(this.items.filter((bankAccount) => {
2943
- return bankAccount.bankAccountProperties.find((bankAccountProperty) => {
2944
- return bankAccountProperty.property.id === id;
2945
- });
2946
- }));
2947
- }
2948
- /**
2949
- * get collection filtered by properties ids
2950
- */
2951
- getByPropertiesIds(ids) {
2952
- return new BankAccountCollection(this.items.filter((bankAccount) => {
2953
- return bankAccount.bankAccountProperties.find((bankAccountProperty) => {
2954
- return ids.includes(bankAccountProperty.property.id);
2955
- });
2956
- }));
2957
- }
2958
- /**
2959
- * get collection of active bank accounts
2960
- */
2961
- getActiveBankAccounts() {
2962
- return new BankAccountCollection(this.items.filter((bankAccount) => {
2963
- return bankAccount.isActive();
2964
- }));
2965
- }
2966
- /**
2967
- * get reduction of loan (reduction of principle) percentage
2968
- */
2969
- getPrincipleReductionPercent() {
2970
- const initialLoans = this.getInitialLoanAmount();
2971
- const currentLoans = this.getCurrentLoanAmount();
2972
- if (!initialLoans) {
2973
- return 0;
2974
- }
2975
- return (initialLoans - currentLoans) / initialLoans * 100;
2976
- }
2977
- /**
2978
- * Get collection of loan bank accounts
2979
- */
2980
- getLoanAccounts() {
2981
- return new BankAccountCollection(this.getByType(TYPE_LOAN));
2982
- }
2983
- getSavingsAccounts() {
2984
- return new BankAccountCollection(this.getByType(TYPE_LOAN, true));
2985
- }
2986
- getOpeningBalance() {
2987
- return this.items.reduce((sum, bankAccount) => sum + bankAccount.getOpeningBalance(), 0);
2988
- }
2989
- get currentBalance() {
2990
- return this.sumBy('currentBalance');
2991
- }
2992
- /**
2993
- * Get Collection of bank accounts with property tank type
2994
- */
2995
- getPropertyBankAccounts() {
2996
- return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.isPropertyTank()));
2997
- }
2998
- /**
2999
- * Get Collection of bank accounts with work tank type
3000
- */
3001
- getWorkBankAccounts() {
3002
- return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.isWorkTank()));
3003
- }
3004
- /**
3005
- * Get Collection of bank accounts by tank type
3006
- */
3007
- getByTankType(tankType) {
3008
- return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.tankType === tankType));
3009
- }
3010
- /**
3011
- * Get list of all bank account properties
3012
- */
3013
- getBankAccountPropertiesList() {
3014
- return flatten(this.items.map((bankAccount) => {
3015
- return bankAccount.bankAccountProperties;
3016
- }));
3017
- }
3018
- /**
3019
- * Get lis of unique properties from all bank accounts properties
3020
- */
3021
- getProperties() {
3022
- return uniqBy(this.getBankAccountPropertiesList().map((bankAccountProperty) => {
3023
- return bankAccountProperty.property;
3024
- }), 'id');
3025
- }
3026
- getPropertyBalanceAmount(propertyId) {
3027
- return this.items.reduce((sum, bankAccount) => {
3028
- return sum + bankAccount.getPropertyBalanceAmount(propertyId);
3029
- }, 0);
3030
- }
3031
- }
3032
-
3033
3048
  var TransactionOperationEnum;
3034
3049
  (function (TransactionOperationEnum) {
3035
3050
  TransactionOperationEnum[TransactionOperationEnum["ALLOCATE"] = 1] = "ALLOCATE";
@@ -3738,13 +3753,32 @@ class PropertyCollection extends Collection {
3738
3753
  * Get property with the lowest tax position
3739
3754
  */
3740
3755
  getBestPerformanceTaxProperty(transactions, depreciations) {
3756
+ const transactionsByProperty = transactions.groupBy('property.id');
3757
+ const depreciationsByProperty = depreciations.groupBy('property.id');
3741
3758
  return this.items.reduce((min, current) => {
3742
- return min.getTaxPosition(transactions.filterBy('property.id', min.id), depreciations.filterBy('property.id', min.id))
3743
- > current.getTaxPosition(transactions.filterBy('property.id', current.id), depreciations.filterBy('property.id', current.id))
3744
- ? current
3745
- : min;
3759
+ const minTaxPosition = min.getTaxPosition(transactionsByProperty.get(min.id), depreciationsByProperty.get(min.id));
3760
+ const currentTaxPosition = current.getTaxPosition(transactionsByProperty.get(current.id), depreciationsByProperty.get(current.id));
3761
+ return minTaxPosition > currentTaxPosition ? current : min;
3746
3762
  }, this.first);
3747
3763
  }
3764
+ /**
3765
+ * Show best performance properties first
3766
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677997/Property+Tank+Dashboard
3767
+ */
3768
+ sortByBestPerformance(transactions, depreciations) {
3769
+ const activeProperties = this.getActiveProperties();
3770
+ // nothing to sort when no active properties
3771
+ if (!activeProperties.length) {
3772
+ return this;
3773
+ }
3774
+ const bestProperties = uniqBy(this.create([
3775
+ activeProperties.getBestPerformanceGrowthProperty(),
3776
+ activeProperties.getBestPerformanceTaxProperty(transactions, depreciations)
3777
+ ]).toArray(), 'id');
3778
+ const newItems = this.remove(bestProperties).toArray();
3779
+ newItems.unshift(...bestProperties);
3780
+ return this.create(newItems);
3781
+ }
3748
3782
  }
3749
3783
 
3750
3784
  /**
@@ -5930,6 +5964,26 @@ class AccountSetupItem extends AbstractModel {
5930
5964
  }
5931
5965
  }
5932
5966
 
5967
+ var BadgeColorEnum;
5968
+ (function (BadgeColorEnum) {
5969
+ BadgeColorEnum["DEFAULT"] = "default";
5970
+ BadgeColorEnum["GREEN"] = "green";
5971
+ BadgeColorEnum["GOLD"] = "gold";
5972
+ BadgeColorEnum["GRAY"] = "gray";
5973
+ })(BadgeColorEnum || (BadgeColorEnum = {}));
5974
+
5975
+ /**
5976
+ * Class for UI element badge
5977
+ */
5978
+ class Badge extends AbstractModel {
5979
+ constructor(text, color) {
5980
+ super();
5981
+ this.text = '';
5982
+ this.text = text;
5983
+ this.color = color || BadgeColorEnum.DEFAULT;
5984
+ }
5985
+ }
5986
+
5933
5987
  /**
5934
5988
  * bank account collection UI class with frontend specific data
5935
5989
  */
@@ -6489,6 +6543,39 @@ var AlphabetColorsEnum;
6489
6543
  AlphabetColorsEnum["Z"] = "#E3C9CE";
6490
6544
  })(AlphabetColorsEnum || (AlphabetColorsEnum = {}));
6491
6545
 
6546
+ /**
6547
+ * List of objects grouped by passed property
6548
+ */
6549
+ class Dictionary {
6550
+ constructor(items, path = 'id') {
6551
+ this.items = {};
6552
+ if (!items.length) {
6553
+ return;
6554
+ }
6555
+ // Do nothing if provided path was not found in the 1st item
6556
+ if (!hasIn(items[0], path.split('.')[0])) {
6557
+ return;
6558
+ }
6559
+ this.groupItems(items, path);
6560
+ }
6561
+ add(key, value) {
6562
+ this.items[key] = value;
6563
+ }
6564
+ get(key) {
6565
+ return this.items[key] ? this.items[key] : null;
6566
+ }
6567
+ groupItems(items, path) {
6568
+ items.forEach((item) => {
6569
+ let key = get(item, path);
6570
+ // if object does not have property for grouping it will be grouped as 'other'
6571
+ if (key === undefined) {
6572
+ key = 'other';
6573
+ }
6574
+ this.items[key] = item;
6575
+ });
6576
+ }
6577
+ }
6578
+
6492
6579
  var DepreciationGroupEnum;
6493
6580
  (function (DepreciationGroupEnum) {
6494
6581
  DepreciationGroupEnum[DepreciationGroupEnum["BUILDING_IMPROVEMENTS"] = 0] = "BUILDING_IMPROVEMENTS";
@@ -6641,6 +6728,16 @@ __decorate([
6641
6728
  Type(() => User)
6642
6729
  ], EmployeeInvite.prototype, "employee", void 0);
6643
6730
 
6731
+ /**
6732
+ * any event happened in the app, which needs to be handled somehow (distributed to other part of the app)
6733
+ */
6734
+ class AppEvent {
6735
+ constructor(type, payload) {
6736
+ this.type = type;
6737
+ this.payload = payload;
6738
+ }
6739
+ }
6740
+
6644
6741
  var ExportFormatEnum;
6645
6742
  (function (ExportFormatEnum) {
6646
6743
  ExportFormatEnum["PDF"] = "PDF";
@@ -8112,9 +8209,9 @@ class ClientIncomeTypesService {
8112
8209
  }));
8113
8210
  }
8114
8211
  }
8115
- ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
8116
- ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
8117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
8212
+ ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
8213
+ ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
8214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
8118
8215
  type: Injectable,
8119
8216
  args: [{
8120
8217
  providedIn: 'root'
@@ -8215,9 +8312,9 @@ class PropertyService extends RestService {
8215
8312
  return this.get().pipe(map((properties) => properties.filter((property) => property.isActive)));
8216
8313
  }
8217
8314
  }
8218
- PropertyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8219
- PropertyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyService, providedIn: 'root' });
8220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyService, decorators: [{
8315
+ PropertyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8316
+ PropertyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyService, providedIn: 'root' });
8317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyService, decorators: [{
8221
8318
  type: Injectable,
8222
8319
  args: [{
8223
8320
  providedIn: 'root'
@@ -8304,9 +8401,9 @@ class IncomeSourceService extends RestService {
8304
8401
  return this.incomeSourceTypeSubject.asObservable();
8305
8402
  }
8306
8403
  }
8307
- IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8308
- IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
8309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceService, decorators: [{
8404
+ IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8405
+ IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
8406
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, decorators: [{
8310
8407
  type: Injectable,
8311
8408
  args: [{
8312
8409
  providedIn: 'root'
@@ -8387,6 +8484,11 @@ class BankAccountService extends RestService {
8387
8484
  return bankAccounts.filter((bankAccount) => bankAccount.isOwner(+localStorage.getItem('userId')));
8388
8485
  }));
8389
8486
  }
8487
+ getByConnection(connection) {
8488
+ return this.get().pipe(map((bankAccounts) => {
8489
+ return new BankAccountCollection(bankAccounts).filterBy('bankConnection.id', connection.id);
8490
+ }));
8491
+ }
8390
8492
  /**
8391
8493
  * Listen to EventDispatcherService events
8392
8494
  */
@@ -8400,9 +8502,9 @@ class BankAccountService extends RestService {
8400
8502
  });
8401
8503
  }
8402
8504
  }
8403
- BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8404
- BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountService, providedIn: 'root' });
8405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountService, decorators: [{
8505
+ BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8506
+ BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountService, providedIn: 'root' });
8507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountService, decorators: [{
8406
8508
  type: Injectable,
8407
8509
  args: [{
8408
8510
  providedIn: 'root'
@@ -8476,9 +8578,9 @@ class TransactionAllocationService extends RestService {
8476
8578
  });
8477
8579
  }
8478
8580
  }
8479
- TransactionAllocationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionAllocationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8480
- TransactionAllocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionAllocationService, providedIn: 'root' });
8481
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionAllocationService, decorators: [{
8581
+ TransactionAllocationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionAllocationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8582
+ TransactionAllocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionAllocationService, providedIn: 'root' });
8583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionAllocationService, decorators: [{
8482
8584
  type: Injectable,
8483
8585
  args: [{
8484
8586
  providedIn: 'root'
@@ -8508,9 +8610,9 @@ class VehicleClaimService extends RestService {
8508
8610
  this.messageDeleted = MessagesEnum$1.VEHICLE_CLAIM_DELETED;
8509
8611
  }
8510
8612
  }
8511
- VehicleClaimService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleClaimService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8512
- VehicleClaimService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleClaimService, providedIn: 'root' });
8513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleClaimService, decorators: [{
8613
+ VehicleClaimService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8614
+ VehicleClaimService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimService, providedIn: 'root' });
8615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimService, decorators: [{
8514
8616
  type: Injectable,
8515
8617
  args: [{
8516
8618
  providedIn: 'root'
@@ -8832,9 +8934,9 @@ class TransactionService extends RestService {
8832
8934
  this.eventDispatcherService.on(AppEventTypeEnum.PROPERTY_SHARE_UPDATED).subscribe(() => this.resetCache());
8833
8935
  }
8834
8936
  }
8835
- TransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8836
- TransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionService, providedIn: 'root' });
8837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionService, decorators: [{
8937
+ TransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
8938
+ TransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionService, providedIn: 'root' });
8939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionService, decorators: [{
8838
8940
  type: Injectable,
8839
8941
  args: [{
8840
8942
  providedIn: 'root'
@@ -8966,9 +9068,9 @@ class AccountSetupService {
8966
9068
  }));
8967
9069
  }
8968
9070
  }
8969
- AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, deps: [{ token: ClientIncomeTypesService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }], target: i0.ɵɵFactoryTarget.Injectable });
8970
- AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
8971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, decorators: [{
9071
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, deps: [{ token: ClientIncomeTypesService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }], target: i0.ɵɵFactoryTarget.Injectable });
9072
+ AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
9073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, decorators: [{
8972
9074
  type: Injectable,
8973
9075
  args: [{
8974
9076
  providedIn: 'root'
@@ -8995,9 +9097,9 @@ class AddressService {
8995
9097
  return this.countriesSubject.asObservable();
8996
9098
  }
8997
9099
  }
8998
- AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
8999
- AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AddressService, providedIn: 'root' });
9000
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AddressService, decorators: [{
9100
+ AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9101
+ AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AddressService, providedIn: 'root' });
9102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AddressService, decorators: [{
9001
9103
  type: Injectable,
9002
9104
  args: [{
9003
9105
  providedIn: 'root'
@@ -9042,9 +9144,9 @@ class AssetsService {
9042
9144
  return this.http.delete(`${this.environment.apiV2}/${asset.entityType}/${entityId}/${asset.type}/${asset.id}`);
9043
9145
  }
9044
9146
  }
9045
- AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9046
- AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AssetsService, providedIn: 'root' });
9047
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AssetsService, decorators: [{
9147
+ AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9148
+ AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, providedIn: 'root' });
9149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AssetsService, decorators: [{
9048
9150
  type: Injectable,
9049
9151
  args: [{
9050
9152
  providedIn: 'root'
@@ -9064,10 +9166,16 @@ class BankService extends RestService {
9064
9166
  this.url = 'banks';
9065
9167
  this.isHydra = true;
9066
9168
  }
9169
+ get() {
9170
+ return super.get().pipe(map((banks) => {
9171
+ // exclude basiq banks without login fields (basiq may return broken banks without loginFields)
9172
+ return banks.filter((bank) => !bank.externalId || (bank.externalId && bank.loginFields));
9173
+ }));
9174
+ }
9067
9175
  }
9068
- BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9069
- BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, providedIn: 'root' });
9070
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankService, decorators: [{
9176
+ BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9177
+ BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, providedIn: 'root' });
9178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, decorators: [{
9071
9179
  type: Injectable,
9072
9180
  args: [{
9073
9181
  providedIn: 'root'
@@ -9127,9 +9235,9 @@ class BankTransactionCalculationService {
9127
9235
  return allocations.getByBankTransactionsIds(bankTransactions.debitTransactions.getIds()).amount;
9128
9236
  }
9129
9237
  }
9130
- BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9131
- BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
9132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
9238
+ BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9239
+ BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
9240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
9133
9241
  type: Injectable,
9134
9242
  args: [{
9135
9243
  providedIn: 'root'
@@ -9154,9 +9262,9 @@ class BankAccountCalculationService {
9154
9262
  return bankAccounts.currentBalance - this.getTaxTankBalance(bankAccounts.getLoanAccounts(), bankTransactions, allocations);
9155
9263
  }
9156
9264
  }
9157
- BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
9158
- BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
9159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountCalculationService, decorators: [{
9265
+ BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
9266
+ BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
9267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankAccountCalculationService, decorators: [{
9160
9268
  type: Injectable,
9161
9269
  args: [{
9162
9270
  providedIn: 'root'
@@ -9225,9 +9333,9 @@ class BankTransactionService extends RestService {
9225
9333
  });
9226
9334
  }
9227
9335
  }
9228
- BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9229
- BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
9230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, decorators: [{
9336
+ BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9337
+ BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
9338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, decorators: [{
9231
9339
  type: Injectable,
9232
9340
  args: [{
9233
9341
  providedIn: 'root'
@@ -9287,9 +9395,9 @@ class BorrowingExpenseService {
9287
9395
  }));
9288
9396
  }
9289
9397
  }
9290
- BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9291
- BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
9292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BorrowingExpenseService, decorators: [{
9398
+ BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9399
+ BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
9400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, decorators: [{
9293
9401
  type: Injectable,
9294
9402
  args: [{
9295
9403
  providedIn: 'root'
@@ -9367,9 +9475,9 @@ class ChartAccountsService {
9367
9475
  }));
9368
9476
  }
9369
9477
  }
9370
- ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9371
- ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
9372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsService, decorators: [{
9478
+ ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9479
+ ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
9480
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, decorators: [{
9373
9481
  type: Injectable,
9374
9482
  args: [{
9375
9483
  providedIn: 'root'
@@ -9402,9 +9510,9 @@ class ChartAccountsDepreciationService extends RestService {
9402
9510
  }));
9403
9511
  }
9404
9512
  }
9405
- ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9406
- ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
9407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
9513
+ ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9514
+ ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
9515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
9408
9516
  type: Injectable,
9409
9517
  args: [{
9410
9518
  providedIn: 'root'
@@ -9442,9 +9550,9 @@ class SseService {
9442
9550
  }));
9443
9551
  }
9444
9552
  }
9445
- SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9446
- SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SseService, providedIn: 'root' });
9447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SseService, decorators: [{
9553
+ SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9554
+ SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SseService, providedIn: 'root' });
9555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SseService, decorators: [{
9448
9556
  type: Injectable,
9449
9557
  args: [{
9450
9558
  providedIn: 'root'
@@ -9518,9 +9626,9 @@ class ChatService extends RestService {
9518
9626
  });
9519
9627
  }
9520
9628
  }
9521
- ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
9522
- ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, providedIn: 'root' });
9523
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ChatService, decorators: [{
9629
+ ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
9630
+ ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, providedIn: 'root' });
9631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, decorators: [{
9524
9632
  type: Injectable,
9525
9633
  args: [{
9526
9634
  providedIn: 'root'
@@ -9566,9 +9674,9 @@ class MessageService extends RestService {
9566
9674
  });
9567
9675
  }
9568
9676
  }
9569
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
9570
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, providedIn: 'root' });
9571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, decorators: [{
9677
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
9678
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, providedIn: 'root' });
9679
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, decorators: [{
9572
9680
  type: Injectable,
9573
9681
  args: [{
9574
9682
  providedIn: 'root'
@@ -9674,9 +9782,9 @@ class MessageDocumentService {
9674
9782
  }));
9675
9783
  }
9676
9784
  }
9677
- MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9678
- MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
9679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, decorators: [{
9785
+ MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9786
+ MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
9787
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, decorators: [{
9680
9788
  type: Injectable,
9681
9789
  args: [{
9682
9790
  providedIn: 'root'
@@ -9769,9 +9877,9 @@ class ClientInviteService extends RestService {
9769
9877
  }));
9770
9878
  }
9771
9879
  }
9772
- ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9773
- ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
9774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, decorators: [{
9880
+ ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9881
+ ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
9882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, decorators: [{
9775
9883
  type: Injectable,
9776
9884
  args: [{
9777
9885
  providedIn: 'root'
@@ -9848,9 +9956,9 @@ class ClientMovementService extends RestService {
9848
9956
  });
9849
9957
  }
9850
9958
  }
9851
- ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9852
- ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
9853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, decorators: [{
9959
+ ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9960
+ ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
9961
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, decorators: [{
9854
9962
  type: Injectable,
9855
9963
  args: [{
9856
9964
  providedIn: 'root'
@@ -9875,9 +9983,9 @@ class ClientPortfolioReportService {
9875
9983
  }));
9876
9984
  }
9877
9985
  }
9878
- ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9879
- ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
9880
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
9986
+ ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9987
+ ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
9988
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
9881
9989
  type: Injectable,
9882
9990
  args: [{
9883
9991
  providedIn: 'root'
@@ -9929,9 +10037,9 @@ class DepreciationCapitalProjectService {
9929
10037
  }));
9930
10038
  }
9931
10039
  }
9932
- DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9933
- DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
9934
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
10040
+ DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10041
+ DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
10042
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
9935
10043
  type: Injectable,
9936
10044
  args: [{
9937
10045
  providedIn: 'root'
@@ -10026,9 +10134,9 @@ class DepreciationService extends RestService {
10026
10134
  });
10027
10135
  }
10028
10136
  }
10029
- DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10030
- DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, providedIn: 'root' });
10031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, decorators: [{
10137
+ DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10138
+ DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, providedIn: 'root' });
10139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, decorators: [{
10032
10140
  type: Injectable,
10033
10141
  args: [{
10034
10142
  providedIn: 'root'
@@ -10094,9 +10202,9 @@ class DocumentFolderService extends RestService {
10094
10202
  }));
10095
10203
  }
10096
10204
  }
10097
- DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10098
- DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
10099
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, decorators: [{
10205
+ DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10206
+ DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
10207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, decorators: [{
10100
10208
  type: Injectable,
10101
10209
  args: [{
10102
10210
  providedIn: 'root'
@@ -10125,9 +10233,9 @@ class EmployeeService extends RestService {
10125
10233
  }));
10126
10234
  }
10127
10235
  }
10128
- EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10129
- EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, providedIn: 'root' });
10130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, decorators: [{
10236
+ EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10237
+ EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, providedIn: 'root' });
10238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, decorators: [{
10131
10239
  type: Injectable,
10132
10240
  args: [{
10133
10241
  providedIn: 'root'
@@ -10170,9 +10278,9 @@ class EmployeeInviteService extends RestService {
10170
10278
  }));
10171
10279
  }
10172
10280
  }
10173
- EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10174
- EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
10175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, decorators: [{
10281
+ EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10282
+ EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
10283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, decorators: [{
10176
10284
  type: Injectable,
10177
10285
  args: [{
10178
10286
  providedIn: 'root'
@@ -10239,9 +10347,9 @@ class FirmService {
10239
10347
  }));
10240
10348
  }
10241
10349
  }
10242
- FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10243
- FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, providedIn: 'root' });
10244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, decorators: [{
10350
+ FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10351
+ FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, providedIn: 'root' });
10352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, decorators: [{
10245
10353
  type: Injectable,
10246
10354
  args: [{
10247
10355
  providedIn: 'root'
@@ -10269,9 +10377,9 @@ class ExportFormatterService {
10269
10377
  }));
10270
10378
  }
10271
10379
  }
10272
- ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1$1.CurrencyPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
10273
- ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
10274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ExportFormatterService, decorators: [{
10380
+ ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1$1.CurrencyPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
10381
+ ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
10382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ExportFormatterService, decorators: [{
10275
10383
  type: Injectable,
10276
10384
  args: [{
10277
10385
  providedIn: 'root'
@@ -10292,9 +10400,9 @@ class HeaderTitleService {
10292
10400
  }), filter((route) => route.outlet === 'primary'), mergeMap((route) => route.data));
10293
10401
  }
10294
10402
  }
10295
- HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeaderTitleService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
10296
- HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
10297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeaderTitleService, decorators: [{
10403
+ HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderTitleService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
10404
+ HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
10405
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: HeaderTitleService, decorators: [{
10298
10406
  type: Injectable,
10299
10407
  args: [{
10300
10408
  providedIn: 'root'
@@ -10364,9 +10472,9 @@ class IncomeSourceForecastService extends RestService {
10364
10472
  }).flat();
10365
10473
  }
10366
10474
  }
10367
- IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10368
- IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
10369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
10475
+ IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10476
+ IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
10477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
10370
10478
  type: Injectable,
10371
10479
  args: [{
10372
10480
  providedIn: 'root'
@@ -10436,9 +10544,9 @@ class SalaryForecastService extends RestService {
10436
10544
  }).flat();
10437
10545
  }
10438
10546
  }
10439
- SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10440
- SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
10441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SalaryForecastService, decorators: [{
10547
+ SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10548
+ SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
10549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, decorators: [{
10442
10550
  type: Injectable,
10443
10551
  args: [{
10444
10552
  providedIn: 'root'
@@ -10505,9 +10613,9 @@ class SoleForecastService extends RestService {
10505
10613
  }).flat();
10506
10614
  }
10507
10615
  }
10508
- SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10509
- SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
10510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SoleForecastService, decorators: [{
10616
+ SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10617
+ SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
10618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, decorators: [{
10511
10619
  type: Injectable,
10512
10620
  args: [{
10513
10621
  providedIn: 'root'
@@ -10541,9 +10649,9 @@ class IntercomService {
10541
10649
  window.Intercom('boot', connectionCredentials);
10542
10650
  }
10543
10651
  }
10544
- IntercomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IntercomService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10545
- IntercomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IntercomService, providedIn: 'root' });
10546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IntercomService, decorators: [{
10652
+ IntercomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntercomService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10653
+ IntercomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntercomService, providedIn: 'root' });
10654
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IntercomService, decorators: [{
10547
10655
  type: Injectable,
10548
10656
  args: [{
10549
10657
  providedIn: 'root'
@@ -10571,9 +10679,9 @@ class KompassifyService {
10571
10679
  });
10572
10680
  }
10573
10681
  }
10574
- KompassifyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KompassifyService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
10575
- KompassifyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KompassifyService, providedIn: 'root' });
10576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KompassifyService, decorators: [{
10682
+ KompassifyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: KompassifyService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
10683
+ KompassifyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: KompassifyService, providedIn: 'root' });
10684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: KompassifyService, decorators: [{
10577
10685
  type: Injectable,
10578
10686
  args: [{
10579
10687
  providedIn: 'root'
@@ -10697,9 +10805,9 @@ class LoanService extends RestService {
10697
10805
  }));
10698
10806
  }
10699
10807
  }
10700
- LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10701
- LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LoanService, providedIn: 'root' });
10702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LoanService, decorators: [{
10808
+ LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10809
+ LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, providedIn: 'root' });
10810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, decorators: [{
10703
10811
  type: Injectable,
10704
10812
  args: [{
10705
10813
  providedIn: 'root'
@@ -10742,9 +10850,9 @@ class ServiceNotificationService extends RestService {
10742
10850
  });
10743
10851
  }
10744
10852
  }
10745
- ServiceNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServiceNotificationService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
10746
- ServiceNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServiceNotificationService, providedIn: 'root' });
10747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServiceNotificationService, decorators: [{
10853
+ ServiceNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServiceNotificationService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
10854
+ ServiceNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServiceNotificationService, providedIn: 'root' });
10855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServiceNotificationService, decorators: [{
10748
10856
  type: Injectable,
10749
10857
  args: [{
10750
10858
  providedIn: 'root'
@@ -10794,9 +10902,9 @@ class PdfFromDomElementService {
10794
10902
  .then());
10795
10903
  }
10796
10904
  }
10797
- PdfFromDomElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromDomElementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10798
- PdfFromDomElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromDomElementService, providedIn: 'root' });
10799
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromDomElementService, decorators: [{
10905
+ PdfFromDomElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromDomElementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10906
+ PdfFromDomElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromDomElementService, providedIn: 'root' });
10907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromDomElementService, decorators: [{
10800
10908
  type: Injectable,
10801
10909
  args: [{
10802
10910
  providedIn: 'root'
@@ -10875,9 +10983,9 @@ class PdfFromTableService {
10875
10983
  doc.addImage(logo, 'PNG', doc.internal.pageSize.width - FILE_SETTINGS.logo.positionX, FILE_SETTINGS.logo.positionY, FILE_SETTINGS.logo.width, FILE_SETTINGS.logo.height);
10876
10984
  }
10877
10985
  }
10878
- PdfFromTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10879
- PdfFromTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromTableService, providedIn: 'root' });
10880
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromTableService, decorators: [{
10986
+ PdfFromTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10987
+ PdfFromTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromTableService, providedIn: 'root' });
10988
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromTableService, decorators: [{
10881
10989
  type: Injectable,
10882
10990
  args: [{
10883
10991
  providedIn: 'root'
@@ -10910,9 +11018,9 @@ class PdfFromHtmlTableService extends PdfFromTableService {
10910
11018
  return pdf;
10911
11019
  }
10912
11020
  }
10913
- PdfFromHtmlTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromHtmlTableService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10914
- PdfFromHtmlTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromHtmlTableService, providedIn: 'root' });
10915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromHtmlTableService, decorators: [{
11021
+ PdfFromHtmlTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromHtmlTableService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11022
+ PdfFromHtmlTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromHtmlTableService, providedIn: 'root' });
11023
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromHtmlTableService, decorators: [{
10916
11024
  type: Injectable,
10917
11025
  args: [{
10918
11026
  providedIn: 'root'
@@ -10944,9 +11052,9 @@ class PdfFromDataTableService extends PdfFromTableService {
10944
11052
  return pdf;
10945
11053
  }
10946
11054
  }
10947
- PdfFromDataTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromDataTableService, deps: [{ token: ExportFormatterService }], target: i0.ɵɵFactoryTarget.Injectable });
10948
- PdfFromDataTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromDataTableService, providedIn: 'root' });
10949
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PdfFromDataTableService, decorators: [{
11055
+ PdfFromDataTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromDataTableService, deps: [{ token: ExportFormatterService }], target: i0.ɵɵFactoryTarget.Injectable });
11056
+ PdfFromDataTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromDataTableService, providedIn: 'root' });
11057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PdfFromDataTableService, decorators: [{
10950
11058
  type: Injectable,
10951
11059
  args: [{
10952
11060
  providedIn: 'root'
@@ -11003,9 +11111,9 @@ class PropertyTransactionReportService {
11003
11111
  }));
11004
11112
  }
11005
11113
  }
11006
- PropertyTransactionReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyTransactionReportService, deps: [{ token: PropertyService }, { token: TransactionService }, { token: DepreciationService }, { token: ChartAccountsService }], target: i0.ɵɵFactoryTarget.Injectable });
11007
- PropertyTransactionReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyTransactionReportService, providedIn: 'root' });
11008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyTransactionReportService, decorators: [{
11114
+ PropertyTransactionReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, deps: [{ token: PropertyService }, { token: TransactionService }, { token: DepreciationService }, { token: ChartAccountsService }], target: i0.ɵɵFactoryTarget.Injectable });
11115
+ PropertyTransactionReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, providedIn: 'root' });
11116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyTransactionReportService, decorators: [{
11009
11117
  type: Injectable,
11010
11118
  args: [{
11011
11119
  providedIn: 'root'
@@ -11119,10 +11227,41 @@ class PropertyCalculationService {
11119
11227
  // Math abs is required for correct percentage calculation
11120
11228
  return properties.purchasePrice - Math.abs(this.getLoanAmount(properties, bankAccounts, loans));
11121
11229
  }
11230
+ /**
11231
+ * Get dictionary of badges for each property in collection
11232
+ */
11233
+ getBadgesByProperty(properties, transactions, depreciations) {
11234
+ const badgesByProperty = new Dictionary([]);
11235
+ properties.toArray().forEach((property) => {
11236
+ badgesByProperty.add(property.id, this.getBadge(property, properties, transactions, depreciations));
11237
+ });
11238
+ return badgesByProperty;
11239
+ }
11240
+ /**
11241
+ * Get Badge for single property in collection
11242
+ */
11243
+ getBadge(property, properties, transactions, depreciations) {
11244
+ // best performance properties could be only from active properties list
11245
+ const activeProperties = properties.getActiveProperties();
11246
+ const bestPerformanceGrowthProperty = activeProperties.getBestPerformanceGrowthProperty();
11247
+ const bestPerformanceTaxProperty = activeProperties.getBestPerformanceTaxProperty(transactions, depreciations);
11248
+ switch (true) {
11249
+ case !property.isActive:
11250
+ return new Badge('Inactive', BadgeColorEnum.GRAY);
11251
+ case property.id === bestPerformanceTaxProperty.id && property.id === bestPerformanceGrowthProperty.id:
11252
+ return new Badge('Best performance growth & tax', BadgeColorEnum.GOLD);
11253
+ case property.id === bestPerformanceTaxProperty.id:
11254
+ return new Badge('Best performance tax', BadgeColorEnum.GOLD);
11255
+ case property.id === bestPerformanceGrowthProperty.id:
11256
+ return new Badge('Best performance growth', BadgeColorEnum.GREEN);
11257
+ default:
11258
+ return new Badge('Monitoring performance');
11259
+ }
11260
+ }
11122
11261
  }
11123
- PropertyCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11124
- PropertyCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCalculationService, providedIn: 'root' });
11125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCalculationService, decorators: [{
11262
+ PropertyCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11263
+ PropertyCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCalculationService, providedIn: 'root' });
11264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCalculationService, decorators: [{
11126
11265
  type: Injectable,
11127
11266
  args: [{
11128
11267
  providedIn: 'root'
@@ -11139,9 +11278,9 @@ class PropertyCategoryService extends RestService {
11139
11278
  this.url = 'properties/categories';
11140
11279
  }
11141
11280
  }
11142
- PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11143
- PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryService, providedIn: 'root' });
11144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryService, decorators: [{
11281
+ PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11282
+ PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, providedIn: 'root' });
11283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, decorators: [{
11145
11284
  type: Injectable,
11146
11285
  args: [{
11147
11286
  providedIn: 'root'
@@ -11193,9 +11332,9 @@ class PropertyDocumentService extends RestService {
11193
11332
  });
11194
11333
  }
11195
11334
  }
11196
- PropertyDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11197
- PropertyDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyDocumentService, providedIn: 'root' });
11198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyDocumentService, decorators: [{
11335
+ PropertyDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11336
+ PropertyDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, providedIn: 'root' });
11337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, decorators: [{
11199
11338
  type: Injectable,
11200
11339
  args: [{
11201
11340
  providedIn: 'root'
@@ -11290,9 +11429,9 @@ class PropertyShareService extends RestService {
11290
11429
  });
11291
11430
  }
11292
11431
  }
11293
- PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11294
- PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
11295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyShareService, decorators: [{
11432
+ PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11433
+ PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
11434
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, decorators: [{
11296
11435
  type: Injectable,
11297
11436
  args: [{
11298
11437
  providedIn: 'root'
@@ -11306,9 +11445,9 @@ class PropertySaleService extends RestService {
11306
11445
  this.url = 'properties/sales';
11307
11446
  }
11308
11447
  }
11309
- PropertySaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11310
- PropertySaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, providedIn: 'root' });
11311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertySaleService, decorators: [{
11448
+ PropertySaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11449
+ PropertySaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, providedIn: 'root' });
11450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertySaleService, decorators: [{
11312
11451
  type: Injectable,
11313
11452
  args: [{
11314
11453
  providedIn: 'root'
@@ -11341,9 +11480,9 @@ class EquityPositionChartService {
11341
11480
  }));
11342
11481
  }
11343
11482
  }
11344
- EquityPositionChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EquityPositionChartService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11345
- EquityPositionChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EquityPositionChartService, providedIn: 'root' });
11346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EquityPositionChartService, decorators: [{
11483
+ EquityPositionChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11484
+ EquityPositionChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, providedIn: 'root' });
11485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, decorators: [{
11347
11486
  type: Injectable,
11348
11487
  args: [{
11349
11488
  providedIn: 'root'
@@ -11384,9 +11523,9 @@ class PropertyCategoryMovementService extends RestService {
11384
11523
  }));
11385
11524
  }
11386
11525
  }
11387
- PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11388
- PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
11389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
11526
+ PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11527
+ PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
11528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
11390
11529
  type: Injectable,
11391
11530
  args: [{
11392
11531
  providedIn: 'root'
@@ -11478,9 +11617,9 @@ class SubscriptionService {
11478
11617
  });
11479
11618
  }
11480
11619
  }
11481
- SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SubscriptionService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11482
- SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SubscriptionService, providedIn: 'root' });
11483
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SubscriptionService, decorators: [{
11620
+ SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SubscriptionService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11621
+ SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SubscriptionService, providedIn: 'root' });
11622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SubscriptionService, decorators: [{
11484
11623
  type: Injectable,
11485
11624
  args: [{
11486
11625
  providedIn: 'root'
@@ -11501,9 +11640,9 @@ class ServicePriceService extends RestService {
11501
11640
  this.isHydra = true;
11502
11641
  }
11503
11642
  }
11504
- ServicePriceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServicePriceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11505
- ServicePriceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServicePriceService, providedIn: 'root' });
11506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ServicePriceService, decorators: [{
11643
+ ServicePriceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServicePriceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11644
+ ServicePriceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServicePriceService, providedIn: 'root' });
11645
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServicePriceService, decorators: [{
11507
11646
  type: Injectable,
11508
11647
  args: [{
11509
11648
  providedIn: 'root'
@@ -11585,9 +11724,9 @@ class TaxReviewService extends RestService {
11585
11724
  });
11586
11725
  }
11587
11726
  }
11588
- TaxReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxReviewService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11589
- TaxReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxReviewService, providedIn: 'root' });
11590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxReviewService, decorators: [{
11727
+ TaxReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11728
+ TaxReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewService, providedIn: 'root' });
11729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewService, decorators: [{
11591
11730
  type: Injectable,
11592
11731
  args: [{
11593
11732
  providedIn: 'root'
@@ -11619,9 +11758,9 @@ class TaxReviewHistoryService extends RestService {
11619
11758
  });
11620
11759
  }
11621
11760
  }
11622
- TaxReviewHistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxReviewHistoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11623
- TaxReviewHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxReviewHistoryService, providedIn: 'root' });
11624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxReviewHistoryService, decorators: [{
11761
+ TaxReviewHistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewHistoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11762
+ TaxReviewHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewHistoryService, providedIn: 'root' });
11763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewHistoryService, decorators: [{
11625
11764
  type: Injectable,
11626
11765
  args: [{
11627
11766
  providedIn: 'root'
@@ -11678,9 +11817,9 @@ class TaxSummaryService {
11678
11817
  });
11679
11818
  }
11680
11819
  }
11681
- TaxSummaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxSummaryService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11682
- TaxSummaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxSummaryService, providedIn: 'root' });
11683
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxSummaryService, decorators: [{
11820
+ TaxSummaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxSummaryService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11821
+ TaxSummaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxSummaryService, providedIn: 'root' });
11822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxSummaryService, decorators: [{
11684
11823
  type: Injectable,
11685
11824
  args: [{
11686
11825
  providedIn: 'root'
@@ -11725,9 +11864,9 @@ class TransactionCalculationService {
11725
11864
  }));
11726
11865
  }
11727
11866
  }
11728
- TransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11729
- TransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionCalculationService, providedIn: 'root' });
11730
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TransactionCalculationService, decorators: [{
11867
+ TransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11868
+ TransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionCalculationService, providedIn: 'root' });
11869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionCalculationService, decorators: [{
11731
11870
  type: Injectable,
11732
11871
  args: [{
11733
11872
  providedIn: 'root'
@@ -11760,9 +11899,9 @@ class OccupationService {
11760
11899
  return this.occupationsSubject.asObservable();
11761
11900
  }
11762
11901
  }
11763
- OccupationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OccupationService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11764
- OccupationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OccupationService, providedIn: 'root' });
11765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: OccupationService, decorators: [{
11902
+ OccupationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: OccupationService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11903
+ OccupationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: OccupationService, providedIn: 'root' });
11904
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: OccupationService, decorators: [{
11766
11905
  type: Injectable,
11767
11906
  args: [{
11768
11907
  providedIn: 'root'
@@ -11849,6 +11988,9 @@ class UserService {
11849
11988
  resetPassword(newPassword, resetToken) {
11850
11989
  return this.http.put(`${this.environment.apiV2}/users/password/reset`, { newPassword, resetToken });
11851
11990
  }
11991
+ resendConfirmationEmail(email) {
11992
+ return this.http.post(`${this.environment.apiV2}/users/confirmation/resend`, { email });
11993
+ }
11852
11994
  /**
11853
11995
  * Confirm registered user
11854
11996
  */
@@ -11903,9 +12045,9 @@ class UserService {
11903
12045
  this.eventDispatcherService.on(AppEventTypeEnum.SERVICE_SUBSCRIPTION_UPDATED).subscribe(() => this.resetCache());
11904
12046
  }
11905
12047
  }
11906
- UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11907
- UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserService, providedIn: 'root' });
11908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserService, decorators: [{
12048
+ UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12049
+ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserService, providedIn: 'root' });
12050
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserService, decorators: [{
11909
12051
  type: Injectable,
11910
12052
  args: [{
11911
12053
  providedIn: 'root'
@@ -11949,9 +12091,9 @@ class UserEventSettingService extends RestService {
11949
12091
  }));
11950
12092
  }
11951
12093
  }
11952
- UserEventSettingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserEventSettingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11953
- UserEventSettingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserEventSettingService, providedIn: 'root' });
11954
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserEventSettingService, decorators: [{
12094
+ UserEventSettingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserEventSettingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12095
+ UserEventSettingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserEventSettingService, providedIn: 'root' });
12096
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserEventSettingService, decorators: [{
11955
12097
  type: Injectable,
11956
12098
  args: [{
11957
12099
  providedIn: 'root'
@@ -11966,9 +12108,9 @@ class UserEventTypeService extends RestService {
11966
12108
  this.isHydra = true;
11967
12109
  }
11968
12110
  }
11969
- UserEventTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserEventTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11970
- UserEventTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserEventTypeService, providedIn: 'root' });
11971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserEventTypeService, decorators: [{
12111
+ UserEventTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserEventTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12112
+ UserEventTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserEventTypeService, providedIn: 'root' });
12113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserEventTypeService, decorators: [{
11972
12114
  type: Injectable,
11973
12115
  args: [{
11974
12116
  providedIn: 'root'
@@ -12031,9 +12173,9 @@ class VehicleService extends RestService {
12031
12173
  });
12032
12174
  }
12033
12175
  }
12034
- VehicleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12035
- VehicleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleService, providedIn: 'root' });
12036
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleService, decorators: [{
12176
+ VehicleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12177
+ VehicleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleService, providedIn: 'root' });
12178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleService, decorators: [{
12037
12179
  type: Injectable,
12038
12180
  args: [{
12039
12181
  providedIn: 'root'
@@ -12076,9 +12218,9 @@ class VehicleLogbookService {
12076
12218
  }));
12077
12219
  }
12078
12220
  }
12079
- VehicleLogbookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleLogbookService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
12080
- VehicleLogbookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleLogbookService, providedIn: 'root' });
12081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: VehicleLogbookService, decorators: [{
12221
+ VehicleLogbookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleLogbookService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
12222
+ VehicleLogbookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleLogbookService, providedIn: 'root' });
12223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleLogbookService, decorators: [{
12082
12224
  type: Injectable,
12083
12225
  args: [{
12084
12226
  providedIn: 'root'
@@ -12122,9 +12264,9 @@ class XlsxService {
12122
12264
  return xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });
12123
12265
  }
12124
12266
  }
12125
- XlsxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: XlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12126
- XlsxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: XlsxService, providedIn: 'root' });
12127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: XlsxService, decorators: [{
12267
+ XlsxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: XlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12268
+ XlsxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: XlsxService, providedIn: 'root' });
12269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: XlsxService, decorators: [{
12128
12270
  type: Injectable,
12129
12271
  args: [{
12130
12272
  providedIn: 'root'
@@ -12139,9 +12281,9 @@ class TaxExemptionService extends RestService {
12139
12281
  this.isHydra = true;
12140
12282
  }
12141
12283
  }
12142
- TaxExemptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12143
- TaxExemptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, providedIn: 'root' });
12144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TaxExemptionService, decorators: [{
12284
+ TaxExemptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12285
+ TaxExemptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, providedIn: 'root' });
12286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxExemptionService, decorators: [{
12145
12287
  type: Injectable,
12146
12288
  args: [{
12147
12289
  providedIn: 'root'
@@ -12218,9 +12360,9 @@ FacebookService.authOptions = {
12218
12360
  auth_type: 'rerequest',
12219
12361
  return_scopes: true
12220
12362
  };
12221
- FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i1$2.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12222
- FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FacebookService, providedIn: 'root' });
12223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FacebookService, decorators: [{
12363
+ FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i1$2.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12364
+ FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, providedIn: 'root' });
12365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, decorators: [{
12224
12366
  type: Injectable,
12225
12367
  args: [{
12226
12368
  providedIn: 'root'
@@ -12304,9 +12446,10 @@ function taxReviewFilterPredicate(data, filter) {
12304
12446
  * Abstract form class
12305
12447
  */
12306
12448
  class AbstractForm extends FormGroup {
12307
- constructor(controls, model = {}, validatorOrOpts, asyncValidator) {
12449
+ constructor(controls, model, validatorOrOpts, asyncValidator) {
12308
12450
  super(controls, validatorOrOpts, asyncValidator);
12309
- this.model = model;
12451
+ this.onSubmit = new EventEmitter();
12452
+ this.model = model || this.createModelInstance();
12310
12453
  this.modelClass = this.model.constructor;
12311
12454
  }
12312
12455
  /**
@@ -12320,10 +12463,18 @@ class AbstractForm extends FormGroup {
12320
12463
  if (!this.valid) {
12321
12464
  return null;
12322
12465
  }
12323
- return plainToClass(this.modelClass, Object.assign({}, this.model, this.value, data));
12466
+ const model = this.createModelInstance(Object.assign({}, this.model, this.value, data));
12467
+ this.onSubmit.emit(model);
12468
+ return model;
12469
+ }
12470
+ createModelInstance(data = {}) {
12471
+ return plainToClass(this.modelClass, data);
12324
12472
  }
12325
12473
  }
12326
12474
 
12475
+ /**
12476
+ * Form with bank account loan details
12477
+ */
12327
12478
  class BankAccountLoanForm extends AbstractForm {
12328
12479
  constructor(loan = plainToClass(Loan, {})) {
12329
12480
  super({
@@ -12340,89 +12491,79 @@ class BankAccountLoanForm extends AbstractForm {
12340
12491
  }
12341
12492
  }
12342
12493
 
12343
- class BankAccountPropertyForm extends AbstractForm {
12344
- constructor(isLoan, bankAccountProperty = plainToClass(BankAccountProperty, {})) {
12345
- super({
12346
- property: new FormControl(bankAccountProperty.property, Validators.required),
12347
- percent: new FormControl({ value: bankAccountProperty.percent, disabled: !isLoan }, Validators.required)
12348
- }, bankAccountProperty);
12349
- }
12350
- }
12351
-
12494
+ /**
12495
+ * Form array with bank account properties
12496
+ */
12352
12497
  class BankAccountPropertiesForm extends FormArray {
12353
- constructor(isLoan, bankAccountProperties = []) {
12354
- super(bankAccountProperties.length
12355
- ? bankAccountProperties.map((bankAccountProperty) => new BankAccountPropertyForm(isLoan, bankAccountProperty))
12356
- : [new BankAccountPropertyForm(isLoan)]);
12357
- this.isLoan = isLoan;
12358
- this.bankAccountProperties = bankAccountProperties;
12498
+ constructor(bankAccountProperties = [plainToClass(BankAccountProperty, {})]) {
12499
+ super(bankAccountProperties.map((bankAccountProperty) => {
12500
+ return new FormGroup({
12501
+ property: new FormControl(bankAccountProperty.property, Validators.required),
12502
+ percent: new FormControl(bankAccountProperty.percent, Validators.required)
12503
+ });
12504
+ }));
12359
12505
  }
12360
12506
  add() {
12361
- this.push(new BankAccountPropertyForm(this.isLoan));
12507
+ this.push(new FormGroup({
12508
+ property: new FormControl(null, Validators.required),
12509
+ percent: new FormControl({
12510
+ value: 100,
12511
+ disabled: !this.at(0).contains('percent')
12512
+ }, Validators.required)
12513
+ }));
12514
+ }
12515
+ enablePercent() {
12516
+ this.controls.forEach((propertyFormGroup) => {
12517
+ propertyFormGroup.get('percent').enable();
12518
+ });
12519
+ }
12520
+ disablePercent() {
12521
+ this.controls.forEach((propertyFormGroup) => {
12522
+ propertyFormGroup.get('percent').disable();
12523
+ });
12362
12524
  }
12363
12525
  }
12364
12526
 
12365
12527
  /**
12366
- * Form for additional data for bank accounts. Allow user to set tank type, loan and properties for new not-saved bank accounts.
12367
- * Works with manual and basiq bank accounts.
12528
+ * Form is using for import basiq bank accounts.
12529
+ * Basiq accounts has all data except tank type, properties and loan partially
12368
12530
  */
12369
- class BankAccountForm extends AbstractForm {
12370
- constructor(bankAccount = plainToClass(BankAccount, {})) {
12531
+ class BankAccountImportForm extends AbstractForm {
12532
+ constructor(bankAccount) {
12371
12533
  super({
12372
12534
  tankType: new FormControl(bankAccount.tankType, Validators.required),
12373
12535
  }, bankAccount);
12374
- this.bankAccount = bankAccount;
12375
12536
  if (bankAccount.isLoan()) {
12376
12537
  this.addControl('loan', new BankAccountLoanForm(bankAccount.loan));
12377
12538
  }
12539
+ // basiq account import form should be disabled (unchecked) by default
12540
+ this.disable();
12378
12541
  this.listenEvents();
12379
12542
  }
12380
12543
  listenEvents() {
12381
12544
  this.listenTankTypeChanges();
12382
- this.listenValueChanges();
12383
- }
12384
- get properties() {
12385
- return this.get('bankAccountProperties');
12386
- }
12387
- isLoan() {
12388
- return BankAccount.loanTypes.includes(this.bankAccount.type);
12389
- }
12390
- isPropertyTank() {
12391
- return this.get('tankType').value === TankTypeEnum.PROPERTY;
12392
- }
12393
- confirm() {
12394
- this.markAllAsTouched();
12395
- if (this.invalid) {
12396
- return;
12397
- }
12398
- this.isConfirmed = true;
12399
- }
12400
- addPropertiesArray() {
12401
- const control = new BankAccountPropertiesForm(this.isLoan(), this.bankAccount.bankAccountProperties);
12402
- // Default form behaviour is: if we add enabled form control to disabled form group then this form group enable.
12403
- // Disable form control before add to avoid form group enabling.
12404
- if (this.disabled) {
12405
- control.disable();
12406
- }
12407
- this.addControl('bankAccountProperties', control);
12408
12545
  }
12409
12546
  /**
12410
- * Add/Remove properties form array depending on selected tank type
12547
+ * Add/Remove bank account properties form depends on selected tank type
12411
12548
  */
12412
12549
  listenTankTypeChanges() {
12413
- this.get('tankType').valueChanges.subscribe(() => {
12414
- this.isPropertyTank() ? this.addPropertiesArray() : this.removeControl('bankAccountProperties');
12415
- });
12416
- }
12417
- listenValueChanges() {
12418
- this.valueChanges.subscribe(() => {
12419
- this.isConfirmed = false;
12550
+ this.get('tankType').valueChanges.subscribe((tankType) => {
12551
+ if (tankType === TankTypeEnum.PROPERTY) {
12552
+ this.addControl('bankAccountProperties', new BankAccountPropertiesForm());
12553
+ // property percent allowed only for loan bank accounts
12554
+ if (!this.contains('loan')) {
12555
+ this.get('bankAccountProperties').disablePercent();
12556
+ }
12557
+ }
12558
+ else {
12559
+ this.removeControl('bankAccountProperties');
12560
+ }
12420
12561
  });
12421
12562
  }
12422
12563
  }
12423
12564
 
12424
12565
  /**
12425
- * Form is using for manual bank account creation (not Basiq), prepares bank account data for the next saving.
12566
+ * Form is using for single manual bank account creation (not Basiq)
12426
12567
  */
12427
12568
  class BankAccountAddManualForm extends AbstractForm {
12428
12569
  constructor(connection) {
@@ -12431,7 +12572,61 @@ class BankAccountAddManualForm extends AbstractForm {
12431
12572
  accountName: new FormControl(null, Validators.required),
12432
12573
  currentBalance: new FormControl(null, Validators.required),
12433
12574
  accountNumber: new FormControl(null, [Validators.required, Validators.pattern(BankAccountAddManualForm.accountNumberPattern)]),
12434
- }, plainToClass(BankAccount, { bankConnection: connection }));
12575
+ tankType: new FormControl(null, Validators.required),
12576
+ });
12577
+ this.connection = connection;
12578
+ this.listenEvents();
12579
+ }
12580
+ listenEvents() {
12581
+ this.listenTypeChanges();
12582
+ this.listenTankTypeChanges();
12583
+ }
12584
+ /**
12585
+ * Add/Remove loan form depends on selected bank account type
12586
+ */
12587
+ listenTypeChanges() {
12588
+ this.get('type').valueChanges.subscribe((type) => {
12589
+ if (BankAccount.loanTypes.includes(type)) {
12590
+ this.addControl('loan', new BankAccountLoanForm());
12591
+ // property percent allowed only for loan bank accounts
12592
+ if (this.contains('bankAccountProperties')) {
12593
+ this.get('bankAccountProperties').enablePercent();
12594
+ }
12595
+ }
12596
+ else {
12597
+ this.removeControl('loan');
12598
+ // property percent allowed only for loan bank accounts
12599
+ if (this.contains('bankAccountProperties')) {
12600
+ this.get('bankAccountProperties').disablePercent();
12601
+ }
12602
+ }
12603
+ });
12604
+ }
12605
+ /**
12606
+ * Add/Remove bank account properties form depends on selected tank type
12607
+ */
12608
+ listenTankTypeChanges() {
12609
+ this.get('tankType').valueChanges.subscribe((tankType) => {
12610
+ if (tankType === TankTypeEnum.PROPERTY) {
12611
+ this.addControl('bankAccountProperties', new BankAccountPropertiesForm());
12612
+ // property percent allowed only for loan bank accounts
12613
+ if (this.contains('loan')) {
12614
+ this.get('bankAccountProperties').enablePercent();
12615
+ }
12616
+ else {
12617
+ this.get('bankAccountProperties').disablePercent();
12618
+ }
12619
+ }
12620
+ else {
12621
+ this.removeControl('bankAccountProperties');
12622
+ }
12623
+ });
12624
+ }
12625
+ /**
12626
+ * Attach bank connection to manual bank account
12627
+ */
12628
+ submit() {
12629
+ return super.submit({ bankConnection: this.connection });
12435
12630
  }
12436
12631
  }
12437
12632
  BankAccountAddManualForm.accountNumberPattern = '^[0-9]{6}[ ]{1}[0-9]{1,}$';
@@ -12458,16 +12653,60 @@ function dateRangeValidator(dateStart, dateEnd) {
12458
12653
  };
12459
12654
  }
12460
12655
 
12461
- class BankAccountMigrateForm extends AbstractForm {
12462
- constructor() {
12656
+ /**
12657
+ * Validator check if at least one control in formArray is enabled
12658
+ */
12659
+ function atLeastOneEnabledValidator(arrayName) {
12660
+ return (formGroup) => {
12661
+ return !!formGroup.get(arrayName).controls.find((control) => control.enabled)
12662
+ ? null
12663
+ : { arrayControlsDisabled: true };
12664
+ };
12665
+ }
12666
+
12667
+ /**
12668
+ * Form for import multiple basiq bank accounts
12669
+ */
12670
+ class BankAccountsImportForm extends AbstractForm {
12671
+ constructor(bankAccounts) {
12463
12672
  super({
12464
- migrateFrom: new FormControl(BankAccountMigrateForm.minDate, [Validators.required, dateRangeValidator(BankAccountMigrateForm.minDate, BankAccountMigrateForm.maxDate)]),
12465
- migrateTo: new FormControl(BankAccountMigrateForm.maxDate, [Validators.required, dateRangeValidator(BankAccountMigrateForm.minDate, BankAccountMigrateForm.maxDate)])
12673
+ migrateFrom: new FormControl(BankAccountsImportForm.minDate, [Validators.required, dateRangeValidator(BankAccountsImportForm.minDate, BankAccountsImportForm.maxDate)]),
12674
+ migrateTo: new FormControl(BankAccountsImportForm.maxDate, [Validators.required, dateRangeValidator(BankAccountsImportForm.minDate, BankAccountsImportForm.maxDate)]),
12675
+ bankAccounts: new FormArray(bankAccounts.map((bankAccount) => new BankAccountImportForm(bankAccount)))
12676
+ }, [], {
12677
+ validators: [atLeastOneEnabledValidator('bankAccounts')]
12466
12678
  });
12679
+ this.bankAccounts = bankAccounts;
12680
+ }
12681
+ submit() {
12682
+ this.submitted = true;
12683
+ if (this.invalid) {
12684
+ return null;
12685
+ }
12686
+ const bankAccounts = [];
12687
+ // form is valid when all selected bank accounts forms are valid
12688
+ for (let bankAccountImportForm of this.get('bankAccounts').controls) {
12689
+ // skip disabled forms
12690
+ if (bankAccountImportForm.disabled) {
12691
+ continue;
12692
+ }
12693
+ const bankAccount = bankAccountImportForm.submit({
12694
+ migrateFrom: this.value.migrateFrom,
12695
+ migrateTo: this.value.migrateTo
12696
+ });
12697
+ if (!bankAccount) {
12698
+ return null;
12699
+ }
12700
+ bankAccounts.push(bankAccount);
12701
+ }
12702
+ if (!bankAccounts.length) {
12703
+ return null;
12704
+ }
12705
+ return bankAccounts;
12467
12706
  }
12468
12707
  }
12469
- BankAccountMigrateForm.minDate = new FinancialYear().prevFinYear.startDate;
12470
- BankAccountMigrateForm.maxDate = new Date();
12708
+ BankAccountsImportForm.minDate = new FinancialYear().prevFinYear.startDate;
12709
+ BankAccountsImportForm.maxDate = new Date();
12471
12710
 
12472
12711
  /**
12473
12712
  * Form with basiq bank login fields.
@@ -12497,15 +12736,11 @@ function atLeastOneCheckedValidator() {
12497
12736
 
12498
12737
  /**
12499
12738
  * Validation function for autocomplete fields. Checks that the user should select a value from a list rather than type in input field
12739
+ * @TODO Alex: create class AppValidators with static methods and move there all custom validators (line Angular Validators)
12500
12740
  */
12501
- function requireAutocomplete() {
12741
+ function autocompleteValidator() {
12502
12742
  return (control) => {
12503
- if (typeof control.value === 'string' && !!control.value) {
12504
- return { notFromList: true };
12505
- }
12506
- else {
12507
- return null;
12508
- }
12743
+ return (!control.value || (typeof control.value === 'object')) ? null : { notFromList: true };
12509
12744
  };
12510
12745
  }
12511
12746
 
@@ -12546,21 +12781,6 @@ function passwordMatchValidator(newPassControlName, confirmPassControlName) {
12546
12781
  };
12547
12782
  }
12548
12783
 
12549
- /**
12550
- * Validation function, that checks that the user should select a value from a list rather than type in input field
12551
- */
12552
- function requireSelectValidator() {
12553
- return (control) => {
12554
- const selection = control.value;
12555
- if (typeof selection === 'string' && !!selection) {
12556
- return { notFromList: true };
12557
- }
12558
- else {
12559
- return null;
12560
- }
12561
- };
12562
- }
12563
-
12564
12784
  class ClientIncomeTypesForm extends AbstractForm {
12565
12785
  constructor(clientIncomeTypes) {
12566
12786
  super({
@@ -12583,12 +12803,13 @@ class LoginForm extends AbstractForm {
12583
12803
  }
12584
12804
  }
12585
12805
 
12806
+ // @TODO Alex: Create a model and handle request fields via class-transformer
12586
12807
  class PasswordForm extends AbstractForm {
12587
12808
  constructor() {
12588
12809
  super({
12589
12810
  password: new FormControl(null, [Validators.required, passwordValidator()]),
12590
12811
  confirm: new FormControl(null, Validators.required),
12591
- }, {}, passwordMatchValidator('password', 'confirm'));
12812
+ }, { password: null, confirm: null }, passwordMatchValidator('password', 'confirm'));
12592
12813
  }
12593
12814
  }
12594
12815
 
@@ -12631,6 +12852,7 @@ class RegisterFirmForm extends AbstractForm {
12631
12852
  }
12632
12853
  }
12633
12854
 
12855
+ // @TODO Alex: Create a model and handle request fields via class-transformer
12634
12856
  class ResetPasswordForm extends AbstractForm {
12635
12857
  constructor() {
12636
12858
  super({
@@ -12876,7 +13098,7 @@ class MyTaxEmployeeShareSchemesForm extends AbstractForm {
12876
13098
  class MyTaxIncomeStatementsForm extends AbstractForm {
12877
13099
  constructor(incomeStatements, user) {
12878
13100
  super({
12879
- occupation: new FormControl(user.clientDetails.occupation, [Validators.required, requireSelectValidator()]),
13101
+ occupation: new FormControl(user.clientDetails.occupation, [Validators.required, autocompleteValidator()]),
12880
13102
  allowanceTotalAmount: new FormControl({
12881
13103
  value: incomeStatements.allowanceTotalAmount,
12882
13104
  disabled: true
@@ -13115,5 +13337,5 @@ class MyTaxRentForm extends AbstractForm {
13115
13337
  * Generated bundle index. Do not edit.
13116
13338
  */
13117
13339
 
13118
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Bank, BankAccount, BankAccountAddManualForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountForm, BankAccountLoanForm, BankAccountMigrateForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountPropertyForm, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankCollection, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasiqConfig, BasiqJob, BasiqService, BasiqToken, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, ChartAccounts, ChartAccountsCategoryEnum, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEFAULT_VEHICLE_EXPENSE, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookPeriod, LoginForm, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessOrLosses, MyTaxBusinessOrLossesForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEmployeeShareSchemes, MyTaxEmployeeShareSchemesForm, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, SUBSCRIPTION_DESCRIPTION, SUBSCRIPTION_TITLE, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentStatusEnum, ServicePrice, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductIdEnum, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleForecast, SoleForecastService, SpareDocumentSpareTypeEnum, SseService, SubscriptionService, SubscriptionTypeEnum, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, Vehicle, VehicleClaim, VehicleClaimForm, VehicleClaimMethodEnum, VehicleClaimService, VehicleCollection, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WORK_TANK_LOGBOOK_PURPOSE_OPTIONS, XlsxService, atLeastOneCheckedValidator, atoLinks, cloneDeep, compare, compareMatOptions, createDate, displayMatOptions, enumToList, getDocIcon, passwordMatchValidator, passwordValidator, replace, requireAutocomplete, requireSelectValidator, roundTo, sort, sortDeep, taxReviewFilterPredicate };
13340
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountLoanForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasiqConfig, BasiqJob, BasiqService, BasiqToken, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, ChartAccounts, ChartAccountsCategoryEnum, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEFAULT_VEHICLE_EXPENSE, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookPeriod, LoginForm, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessOrLosses, MyTaxBusinessOrLossesForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEmployeeShareSchemes, MyTaxEmployeeShareSchemesForm, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, SUBSCRIPTION_DESCRIPTION, SUBSCRIPTION_TITLE, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentStatusEnum, ServicePrice, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductIdEnum, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleForecast, SoleForecastService, SpareDocumentSpareTypeEnum, SseService, SubscriptionService, SubscriptionTypeEnum, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, Vehicle, VehicleClaim, VehicleClaimForm, VehicleClaimMethodEnum, VehicleClaimService, VehicleCollection, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WORK_TANK_LOGBOOK_PURPOSE_OPTIONS, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, createDate, displayMatOptions, enumToList, getDocIcon, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
13119
13341
  //# sourceMappingURL=taxtank-core.js.map