taxtank-core 0.30.121 → 0.30.123

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 (134) hide show
  1. package/esm2020/lib/forms/abstract.form.mjs +11 -1
  2. package/esm2020/lib/forms/transaction/transaction-base.form.mjs +2 -2
  3. package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
  4. package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
  5. package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
  6. package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
  7. package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
  8. package/esm2020/lib/interceptors/jwt-interceptor.mjs +4 -4
  9. package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
  10. package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +3 -3
  11. package/esm2020/lib/models/bank/bank-account-property.mjs +3 -3
  12. package/esm2020/lib/models/firm/firm.mjs +3 -3
  13. package/esm2020/lib/models/sole/sole-business-allocation.mjs +2 -2
  14. package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
  15. package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
  16. package/esm2020/lib/services/asset/assets.service.mjs +3 -3
  17. package/esm2020/lib/services/auth/auth.service.mjs +3 -3
  18. package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
  19. package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
  20. package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
  21. package/esm2020/lib/services/data.service.mjs +3 -3
  22. package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
  23. package/esm2020/lib/services/event/sse.service.mjs +3 -3
  24. package/esm2020/lib/services/export/export-formatter.service.mjs +3 -3
  25. package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
  26. package/esm2020/lib/services/http/address/address.service.mjs +3 -3
  27. package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +3 -3
  28. package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +3 -3
  29. package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
  30. package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
  31. package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
  32. package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +3 -3
  33. package/esm2020/lib/services/http/budget/budget.service.mjs +3 -3
  34. package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
  35. package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
  36. package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
  37. package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
  38. package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
  39. package/esm2020/lib/services/http/client/capital-gain/annual-client-details.service.mjs +3 -3
  40. package/esm2020/lib/services/http/client/occupation/occupation.service.mjs +3 -3
  41. package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
  42. package/esm2020/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.mjs +3 -3
  43. package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
  44. package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
  45. package/esm2020/lib/services/http/document/document.service.mjs +3 -3
  46. package/esm2020/lib/services/http/facebook/facebook.service.mjs +3 -3
  47. package/esm2020/lib/services/http/file/file.service.mjs +3 -3
  48. package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +3 -3
  49. package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
  50. package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
  51. package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
  52. package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
  53. package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
  54. package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
  55. package/esm2020/lib/services/http/google/google.service.mjs +3 -3
  56. package/esm2020/lib/services/http/holding/holding-sale.service.mjs +3 -3
  57. package/esm2020/lib/services/http/holding/holding-type.service.mjs +3 -3
  58. package/esm2020/lib/services/http/holding/holding.service.mjs +3 -3
  59. package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
  60. package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
  61. package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
  62. package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
  63. package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
  64. package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
  65. package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
  66. package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
  67. package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
  68. package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
  69. package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
  70. package/esm2020/lib/services/http/property/property.service.mjs +3 -3
  71. package/esm2020/lib/services/http/receipt/receipt.service.mjs +3 -3
  72. package/esm2020/lib/services/http/rest/rest-old.service.mjs +3 -3
  73. package/esm2020/lib/services/http/rest/rest.service.mjs +3 -3
  74. package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
  75. package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
  76. package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
  77. package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
  78. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
  79. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
  80. package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
  81. package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
  82. package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
  83. package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
  84. package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
  85. package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
  86. package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
  87. package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
  88. package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
  89. package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +3 -3
  90. package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
  91. package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
  92. package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
  93. package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
  94. package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
  95. package/esm2020/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.mjs +3 -3
  96. package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
  97. package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
  98. package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +3 -3
  99. package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +3 -3
  100. package/esm2020/lib/services/http/user/user.service.mjs +3 -3
  101. package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
  102. package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
  103. package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
  104. package/esm2020/lib/services/http/vehicle/vehicle-logbook.service.mjs +3 -3
  105. package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
  106. package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
  107. package/esm2020/lib/services/json/chart-accounts/chart-accounts-value.service.mjs +3 -3
  108. package/esm2020/lib/services/json/holding/holding-type-exchange.service.mjs +3 -3
  109. package/esm2020/lib/services/json/income-source/income-source-type.service.mjs +3 -3
  110. package/esm2020/lib/services/json/tax-exemption/tax-exemption.service.mjs +3 -3
  111. package/esm2020/lib/services/json/tax-return/tax-return-item.service.mjs +3 -3
  112. package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
  113. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
  114. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
  115. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
  116. package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
  117. package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
  118. package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
  119. package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
  120. package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
  121. package/esm2020/lib/services/toast/toast.service.mjs +3 -3
  122. package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
  123. package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
  124. package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
  125. package/esm2020/lib/services/xlsx/xlsx.service.mjs +3 -3
  126. package/esm2020/lib/tt-core.module.mjs +4 -4
  127. package/fesm2015/taxtank-core.mjs +3865 -3858
  128. package/fesm2015/taxtank-core.mjs.map +1 -1
  129. package/fesm2020/taxtank-core.mjs +1777 -1770
  130. package/fesm2020/taxtank-core.mjs.map +1 -1
  131. package/lib/forms/abstract.form.d.ts +4 -0
  132. package/lib/models/bank/bank-account-property.d.ts +1 -1
  133. package/lib/models/firm/firm.d.ts +3 -3
  134. package/package.json +1 -1
@@ -70,9 +70,9 @@ class CorelogicService {
70
70
  .pipe(map((response) => response.suggestions.map((item) => plainToClass(CorelogicSuggestion, item))));
71
71
  }
72
72
  }
73
- CorelogicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorelogicService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
74
- CorelogicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorelogicService, providedIn: 'root' });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorelogicService, decorators: [{
73
+ CorelogicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
74
+ CorelogicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicService, providedIn: 'root' });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicService, decorators: [{
76
76
  type: Injectable,
77
77
  args: [{
78
78
  providedIn: 'root'
@@ -110,9 +110,9 @@ class CorelogicInterceptor {
110
110
  });
111
111
  }
112
112
  }
113
- CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
114
- CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorelogicInterceptor });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CorelogicInterceptor, decorators: [{
113
+ CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
114
+ CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicInterceptor });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicInterceptor, decorators: [{
116
116
  type: Injectable
117
117
  }], ctorParameters: function () { return [{ type: CorelogicService }, { type: undefined, decorators: [{
118
118
  type: Inject,
@@ -149,9 +149,9 @@ class FinancialYearInterceptor {
149
149
  return next.handle(clonedReq);
150
150
  }
151
151
  }
152
- FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
153
- FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FinancialYearInterceptor });
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
152
+ FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
153
+ FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FinancialYearInterceptor });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
155
155
  type: Injectable
156
156
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
157
157
  type: Inject,
@@ -1906,6 +1906,79 @@ __decorate([
1906
1906
  Type(() => LoanPayout)
1907
1907
  ], Loan.prototype, "payout", void 0);
1908
1908
 
1909
+ var TaxExemptionEnum;
1910
+ (function (TaxExemptionEnum) {
1911
+ TaxExemptionEnum[TaxExemptionEnum["ONE_YEAR_RULE"] = 1] = "ONE_YEAR_RULE";
1912
+ // principle place of residence
1913
+ TaxExemptionEnum[TaxExemptionEnum["PPR"] = 2] = "PPR";
1914
+ TaxExemptionEnum[TaxExemptionEnum["SIX_YEARS_RULE"] = 3] = "SIX_YEARS_RULE";
1915
+ TaxExemptionEnum[TaxExemptionEnum["INVESTMENT_TO_PPR"] = 4] = "INVESTMENT_TO_PPR";
1916
+ TaxExemptionEnum[TaxExemptionEnum["PPR_TO_INVESTMENT"] = 5] = "PPR_TO_INVESTMENT";
1917
+ TaxExemptionEnum[TaxExemptionEnum["TRANSFER"] = 6] = "TRANSFER";
1918
+ TaxExemptionEnum[TaxExemptionEnum["OTHER"] = 7] = "OTHER";
1919
+ })(TaxExemptionEnum || (TaxExemptionEnum = {}));
1920
+
1921
+ class TaxExemption extends TaxExemption$1 {
1922
+ isPartial() {
1923
+ return [TaxExemptionEnum.INVESTMENT_TO_PPR, TaxExemptionEnum.PPR_TO_INVESTMENT].includes(this.id);
1924
+ }
1925
+ }
1926
+
1927
+ class AssetSale extends ObservableModel {
1928
+ }
1929
+ __decorate([
1930
+ Type(() => Date)
1931
+ ], AssetSale.prototype, "date", void 0);
1932
+
1933
+ class PropertySale extends AssetSale {
1934
+ get saleCostsTotalAmount() {
1935
+ return this.commission + this.legalFees + this.otherCost;
1936
+ }
1937
+ /**
1938
+ * CGT is not applicable for sales with "Principle place of residence" exemption type.
1939
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Capital gains or losses" section)
1940
+ */
1941
+ isCGTApplicable() {
1942
+ return this.taxExemption?.id !== TaxExemptionEnum.PPR;
1943
+ }
1944
+ get netPrice() {
1945
+ return this.price - this.saleCostsTotalAmount;
1946
+ }
1947
+ }
1948
+ __decorate([
1949
+ Type(() => Number)
1950
+ ], PropertySale.prototype, "holdingCosts", void 0);
1951
+ __decorate([
1952
+ Type(() => Number)
1953
+ ], PropertySale.prototype, "structuralImprovementsWDV", void 0);
1954
+ __decorate([
1955
+ Type(() => Number)
1956
+ ], PropertySale.prototype, "buildingAtCostClaimed", void 0);
1957
+ __decorate([
1958
+ Type(() => Number)
1959
+ ], PropertySale.prototype, "price", void 0);
1960
+ __decorate([
1961
+ Type(() => Number)
1962
+ ], PropertySale.prototype, "commission", void 0);
1963
+ __decorate([
1964
+ Type(() => Number)
1965
+ ], PropertySale.prototype, "legalFees", void 0);
1966
+ __decorate([
1967
+ Type(() => Number)
1968
+ ], PropertySale.prototype, "otherCost", void 0);
1969
+ __decorate([
1970
+ Type(() => Date)
1971
+ ], PropertySale.prototype, "settlementDate", void 0);
1972
+ __decorate([
1973
+ Type(() => Date)
1974
+ ], PropertySale.prototype, "date", void 0);
1975
+ __decorate([
1976
+ Type(() => TaxExemption)
1977
+ ], PropertySale.prototype, "taxExemption", void 0);
1978
+ __decorate([
1979
+ Type(() => PropertySaleTaxExemptionMetaField$1)
1980
+ ], PropertySale.prototype, "taxExemptionMetaFields", void 0);
1981
+
1909
1982
  var UserStatusEnum;
1910
1983
  (function (UserStatusEnum) {
1911
1984
  UserStatusEnum[UserStatusEnum["INACTIVE"] = 0] = "INACTIVE";
@@ -2043,6 +2116,56 @@ __decorate([
2043
2116
  Type(() => Country)
2044
2117
  ], Phone.prototype, "country", void 0);
2045
2118
 
2119
+ var MyAccountHistoryInitiatedByEnum;
2120
+ (function (MyAccountHistoryInitiatedByEnum) {
2121
+ MyAccountHistoryInitiatedByEnum[MyAccountHistoryInitiatedByEnum["OWNER"] = 0] = "OWNER";
2122
+ MyAccountHistoryInitiatedByEnum[MyAccountHistoryInitiatedByEnum["ACCOUNTANT"] = 1] = "ACCOUNTANT";
2123
+ })(MyAccountHistoryInitiatedByEnum || (MyAccountHistoryInitiatedByEnum = {}));
2124
+
2125
+ var MyAccountHistoryStatusEnum;
2126
+ (function (MyAccountHistoryStatusEnum) {
2127
+ MyAccountHistoryStatusEnum[MyAccountHistoryStatusEnum["SUCCESS"] = 0] = "SUCCESS";
2128
+ MyAccountHistoryStatusEnum[MyAccountHistoryStatusEnum["ERROR"] = 1] = "ERROR";
2129
+ })(MyAccountHistoryStatusEnum || (MyAccountHistoryStatusEnum = {}));
2130
+
2131
+ var MyAccountHistoryTypeEnum;
2132
+ (function (MyAccountHistoryTypeEnum) {
2133
+ MyAccountHistoryTypeEnum[MyAccountHistoryTypeEnum["REVIEW"] = 0] = "REVIEW";
2134
+ MyAccountHistoryTypeEnum[MyAccountHistoryTypeEnum["UPGRADE_PLAN"] = 1] = "UPGRADE_PLAN";
2135
+ MyAccountHistoryTypeEnum[MyAccountHistoryTypeEnum["UPLOAD_DOCUMENT"] = 2] = "UPLOAD_DOCUMENT";
2136
+ })(MyAccountHistoryTypeEnum || (MyAccountHistoryTypeEnum = {}));
2137
+
2138
+ class MyAccountHistory {
2139
+ }
2140
+
2141
+ class Occupation extends Occupation$1 {
2142
+ }
2143
+
2144
+ /**
2145
+ * role hierarchy
2146
+ */
2147
+ const USER_ROLES = {
2148
+ ROLE_FIRM_OWNER: [UserRolesEnum.FIRM_OWNER, UserRolesEnum.FIRM_MANAGER, UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
2149
+ ROLE_FIRM_MANAGER: [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
2150
+ ROLE_EMPLOYEE: [UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
2151
+ ROLE_ACCOUNTANT: [UserRolesEnum.ACCOUNTANT],
2152
+ ROLE_ADVISOR: [UserRolesEnum.ADVISOR],
2153
+ // @TODO makes no sense, these roles can't be hierarchical
2154
+ ROLE_CLIENT: [UserRolesEnum.CLIENT],
2155
+ ROLE_USER_SUBSCRIPTION: [UserRolesEnum.SUBSCRIPTION],
2156
+ ROLE_USER_WORK: [UserRolesEnum.WORK_TANK],
2157
+ ROLE_USER_PROPERTY: [UserRolesEnum.PROPERTY_TANK],
2158
+ ROLE_USER_SOLE: [UserRolesEnum.SOLE_TANK],
2159
+ ROLE_USER_HOLDING: [UserRolesEnum.HOLDING_TANK],
2160
+ ROLE_PREVIOUS_ADMIN: [UserRolesEnum.SWITCH_USER],
2161
+ };
2162
+
2163
+ /**
2164
+ * Class with basic information about registering user
2165
+ */
2166
+ class UserToRegister {
2167
+ }
2168
+
2046
2169
  class Firm extends Firm$1 {
2047
2170
  /**
2048
2171
  * get firm photo link
@@ -3950,721 +4073,188 @@ var TransactionTypeEnum;
3950
4073
  TransactionTypeEnum[TransactionTypeEnum["CREDIT"] = 2] = "CREDIT";
3951
4074
  })(TransactionTypeEnum || (TransactionTypeEnum = {}));
3952
4075
 
3953
- var TaxExemptionEnum;
3954
- (function (TaxExemptionEnum) {
3955
- TaxExemptionEnum[TaxExemptionEnum["ONE_YEAR_RULE"] = 1] = "ONE_YEAR_RULE";
3956
- // principle place of residence
3957
- TaxExemptionEnum[TaxExemptionEnum["PPR"] = 2] = "PPR";
3958
- TaxExemptionEnum[TaxExemptionEnum["SIX_YEARS_RULE"] = 3] = "SIX_YEARS_RULE";
3959
- TaxExemptionEnum[TaxExemptionEnum["INVESTMENT_TO_PPR"] = 4] = "INVESTMENT_TO_PPR";
3960
- TaxExemptionEnum[TaxExemptionEnum["PPR_TO_INVESTMENT"] = 5] = "PPR_TO_INVESTMENT";
3961
- TaxExemptionEnum[TaxExemptionEnum["TRANSFER"] = 6] = "TRANSFER";
3962
- TaxExemptionEnum[TaxExemptionEnum["OTHER"] = 7] = "OTHER";
3963
- })(TaxExemptionEnum || (TaxExemptionEnum = {}));
4076
+ /**
4077
+ * Enum with asset types
4078
+ */
4079
+ var AssetTypeEnum;
4080
+ (function (AssetTypeEnum) {
4081
+ AssetTypeEnum["TRANSACTION_RECEIPT"] = "transactionReceipt";
4082
+ AssetTypeEnum["PROPERTY"] = "property";
4083
+ AssetTypeEnum["DOCUMENT"] = "document";
4084
+ AssetTypeEnum["MESSAGE"] = "message";
4085
+ AssetTypeEnum["USER_PHOTO"] = "userPhoto";
4086
+ AssetTypeEnum["PROPERTY_PHOTO"] = "propertyPhoto";
4087
+ AssetTypeEnum["DEPRECIATION_RECEIPT"] = "depreciationReceipt";
4088
+ AssetTypeEnum["FIRM_PHOTO"] = "firmPhoto";
4089
+ })(AssetTypeEnum || (AssetTypeEnum = {}));
3964
4090
 
3965
- class TaxExemption extends TaxExemption$1 {
3966
- isPartial() {
3967
- return [TaxExemptionEnum.INVESTMENT_TO_PPR, TaxExemptionEnum.PPR_TO_INVESTMENT].includes(this.id);
3968
- }
3969
- }
4091
+ /**
4092
+ * Enum with asset entity types
4093
+ */
4094
+ var AssetEntityTypeEnum;
4095
+ (function (AssetEntityTypeEnum) {
4096
+ AssetEntityTypeEnum["PROPERTIES"] = "properties";
4097
+ AssetEntityTypeEnum["FOLDERS"] = "folders";
4098
+ AssetEntityTypeEnum["DEPRECIATIONS"] = "depreciations";
4099
+ AssetEntityTypeEnum["TRANSACTIONS"] = "transactions";
4100
+ AssetEntityTypeEnum["MESSAGES"] = "messages";
4101
+ })(AssetEntityTypeEnum || (AssetEntityTypeEnum = {}));
3970
4102
 
3971
- class AssetSale extends ObservableModel {
4103
+ class TransactionReceipt extends TransactionReceipt$1 {
4104
+ constructor() {
4105
+ super(...arguments);
4106
+ this.type = AssetTypeEnum.TRANSACTION_RECEIPT;
4107
+ this.entityType = AssetEntityTypeEnum.TRANSACTIONS;
4108
+ }
3972
4109
  }
3973
- __decorate([
3974
- Type(() => Date)
3975
- ], AssetSale.prototype, "date", void 0);
3976
4110
 
3977
- class PropertySale extends AssetSale {
3978
- get saleCostsTotalAmount() {
3979
- return this.commission + this.legalFees + this.otherCost;
4111
+ /**
4112
+ * Income sources chart data
4113
+ */
4114
+ class IncomeSourceChartData {
4115
+ constructor(forecastedIncomeAmount, transactions) {
4116
+ this.forecastedIncomeAmount = forecastedIncomeAmount;
4117
+ this.transactions = transactions;
3980
4118
  }
3981
4119
  /**
3982
- * CGT is not applicable for sales with "Principle place of residence" exemption type.
3983
- * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Capital gains or losses" section)
4120
+ * Get prepared data for income sources chart
3984
4121
  */
3985
- isCGTApplicable() {
3986
- return this.taxExemption?.id !== TaxExemptionEnum.PPR;
3987
- }
3988
- get netPrice() {
3989
- return this.price - this.saleCostsTotalAmount;
4122
+ get() {
4123
+ const chartData = [{
4124
+ id: 'actualIncome',
4125
+ name: 'Actual Income',
4126
+ data: [],
4127
+ // display future actual incomes with dash line and past actual incomes with solid line
4128
+ zones: [{
4129
+ // line style after current month
4130
+ value: new FinancialYear().getMonthDate(new Date().getMonth()).getTime(),
4131
+ dashStyle: 'Solid'
4132
+ }, {
4133
+ // default line style
4134
+ dashStyle: 'Dash'
4135
+ }]
4136
+ }, {
4137
+ id: 'forecastedIncome',
4138
+ name: 'Forecasted Income',
4139
+ data: [],
4140
+ }];
4141
+ for (const key in MonthNameShortEnum) {
4142
+ if (MonthNameShortEnum.hasOwnProperty(key)) {
4143
+ // transaction collection for provided month
4144
+ const monthTransactionCollection = this.transactions.getByMonth(+MonthNumberEnum[key]);
4145
+ chartData[0].data.push([new FinancialYear().getMonthDate(+MonthNumberEnum[key]).getTime(), monthTransactionCollection.amount]);
4146
+ chartData[1].data.push([new FinancialYear().getMonthDate(+MonthNumberEnum[key]).getTime(), this.forecastedIncomeAmount / 12]);
4147
+ }
4148
+ }
4149
+ return chartData;
3990
4150
  }
3991
4151
  }
4152
+
4153
+ class TransactionMetaField extends TransactionMetaField$1 {
4154
+ }
3992
4155
  __decorate([
3993
- Type(() => Number)
3994
- ], PropertySale.prototype, "holdingCosts", void 0);
3995
- __decorate([
3996
- Type(() => Number)
3997
- ], PropertySale.prototype, "structuralImprovementsWDV", void 0);
3998
- __decorate([
3999
- Type(() => Number)
4000
- ], PropertySale.prototype, "buildingAtCostClaimed", void 0);
4001
- __decorate([
4002
- Type(() => Number)
4003
- ], PropertySale.prototype, "price", void 0);
4004
- __decorate([
4005
- Type(() => Number)
4006
- ], PropertySale.prototype, "commission", void 0);
4007
- __decorate([
4008
- Type(() => Number)
4009
- ], PropertySale.prototype, "legalFees", void 0);
4010
- __decorate([
4011
- Type(() => Number)
4012
- ], PropertySale.prototype, "otherCost", void 0);
4013
- __decorate([
4014
- Type(() => Date)
4015
- ], PropertySale.prototype, "settlementDate", void 0);
4016
- __decorate([
4017
- Type(() => Date)
4018
- ], PropertySale.prototype, "date", void 0);
4156
+ Type(() => ChartAccountsMetaField)
4157
+ ], TransactionMetaField.prototype, "metaField", void 0);
4019
4158
  __decorate([
4020
- Type(() => TaxExemption)
4021
- ], PropertySale.prototype, "taxExemption", void 0);
4159
+ Type(() => Transaction$1)
4160
+ ], TransactionMetaField.prototype, "transaction", void 0);
4022
4161
  __decorate([
4023
- Type(() => PropertySaleTaxExemptionMetaField$1)
4024
- ], PropertySale.prototype, "taxExemptionMetaFields", void 0);
4025
-
4026
- /**
4027
- * @Todo TT-2143 should be removed when PropertySaleCostBaseForm refactored (cut property to separated form)
4028
- */
4029
- class PropertySaleCostBase {
4030
- static createFrom(property, propertySale, depreciations, holdingCosts) {
4031
- return plainToClass(PropertySaleCostBase, {
4032
- property: plainToClass(Property, property),
4033
- sale: plainToClass(PropertySale, Object.assign({}, propertySale, {
4034
- holdingCosts: propertySale.holdingCosts ?? Math.abs(holdingCosts.sumBy('amount')),
4035
- structuralImprovementsWDV: propertySale.structuralImprovementsWDV ?? depreciations.getWithCapitalProject().getCloseBalanceByYear(),
4036
- buildingAtCostClaimed: propertySale.buildingAtCostClaimed ?? depreciations.getWithoutCapitalProject().getClaimedAmountByYear(),
4037
- })),
4038
- });
4039
- }
4040
- }
4041
-
4042
- class PropertySaleTaxExemptionMetaField extends PropertySaleTaxExemptionMetaField$1 {
4043
- }
4044
-
4045
- class TaxExemptionMetaField extends TaxExemptionMetaField$1 {
4046
- }
4047
-
4048
- /**
4049
- * Calculation form control types
4050
- */
4051
- var CalculationFormTypeEnum;
4052
- (function (CalculationFormTypeEnum) {
4053
- CalculationFormTypeEnum[CalculationFormTypeEnum["INPUT"] = 1] = "INPUT";
4054
- CalculationFormTypeEnum[CalculationFormTypeEnum["SELECT"] = 2] = "SELECT";
4055
- })(CalculationFormTypeEnum || (CalculationFormTypeEnum = {}));
4056
-
4057
- /**
4058
- * Fields to implement custom calculation form
4059
- */
4060
- class CalculationFormItem {
4061
- constructor() {
4062
- // type of control (input, select, e.t.c)
4063
- this.type = CalculationFormTypeEnum.SELECT;
4064
- }
4065
- }
4066
- __decorate([
4067
- Transform(({ obj }) => obj.type === CalculationFormTypeEnum.SELECT),
4068
- Expose()
4069
- ], CalculationFormItem.prototype, "isSelect", void 0);
4070
-
4071
- const CAPITAL_COSTS_ITEMS = [
4072
- plainToClass(CalculationFormItem, {
4073
- name: 'rentingWholeProperty',
4074
- value: null,
4075
- label: 'Are you renting out the whole property?',
4076
- type: CalculationFormTypeEnum.SELECT,
4077
- dependentFields: ['howBigIsProperty', 'howBigIsLetArea', 'howBigIsCommonAreas'],
4078
- isDisabled: false,
4079
- validators: [Validators.required]
4080
- }),
4081
- plainToClass(CalculationFormItem, {
4082
- name: 'rentingWholeYear',
4083
- value: null,
4084
- label: 'Are you renting out for the whole year?',
4085
- type: CalculationFormTypeEnum.SELECT,
4086
- dependentFields: ['howManyDays'],
4087
- isDisabled: false,
4088
- validators: [Validators.required]
4089
- }),
4090
- plainToClass(CalculationFormItem, {
4091
- name: 'howBigIsProperty',
4092
- value: null,
4093
- label: 'How big is the property?',
4094
- type: CalculationFormTypeEnum.INPUT,
4095
- isDisabled: true,
4096
- validators: [Validators.required, Validators.min(1)]
4097
- }),
4098
- plainToClass(CalculationFormItem, {
4099
- name: 'howBigIsLetArea',
4100
- value: null,
4101
- label: 'How big is the let area?',
4102
- type: CalculationFormTypeEnum.INPUT,
4103
- isDisabled: true,
4104
- validators: [Validators.required, Validators.min(1)]
4105
- }),
4106
- plainToClass(CalculationFormItem, {
4107
- name: 'howBigIsCommonAreas',
4108
- value: null,
4109
- label: 'How big are the common areas?',
4110
- type: CalculationFormTypeEnum.INPUT,
4111
- isDisabled: true,
4112
- validators: [Validators.required, Validators.min(1)]
4113
- }),
4114
- plainToClass(CalculationFormItem, {
4115
- name: 'howManyDays',
4116
- value: null,
4117
- label: 'How many days of the year is the property available for rent?',
4118
- type: CalculationFormTypeEnum.INPUT,
4119
- isDisabled: true,
4120
- validators: [Validators.required, Validators.min(1)]
4121
- }),
4122
- ];
4123
-
4124
- /**
4125
- * Enum with asset types
4126
- */
4127
- var AssetTypeEnum;
4128
- (function (AssetTypeEnum) {
4129
- AssetTypeEnum["TRANSACTION_RECEIPT"] = "transactionReceipt";
4130
- AssetTypeEnum["PROPERTY"] = "property";
4131
- AssetTypeEnum["DOCUMENT"] = "document";
4132
- AssetTypeEnum["MESSAGE"] = "message";
4133
- AssetTypeEnum["USER_PHOTO"] = "userPhoto";
4134
- AssetTypeEnum["PROPERTY_PHOTO"] = "propertyPhoto";
4135
- AssetTypeEnum["DEPRECIATION_RECEIPT"] = "depreciationReceipt";
4136
- AssetTypeEnum["FIRM_PHOTO"] = "firmPhoto";
4137
- })(AssetTypeEnum || (AssetTypeEnum = {}));
4162
+ Type(() => ChartAccountsMetaField)
4163
+ ], TransactionMetaField.prototype, "chartAccountsMetaField", void 0);
4138
4164
 
4139
4165
  /**
4140
- * Enum with asset entity types
4166
+ * Enum with maximum number of payments, depending on the frequency.
4167
+ * Used only for vehicle loans
4141
4168
  */
4142
- var AssetEntityTypeEnum;
4143
- (function (AssetEntityTypeEnum) {
4144
- AssetEntityTypeEnum["PROPERTIES"] = "properties";
4145
- AssetEntityTypeEnum["FOLDERS"] = "folders";
4146
- AssetEntityTypeEnum["DEPRECIATIONS"] = "depreciations";
4147
- AssetEntityTypeEnum["TRANSACTIONS"] = "transactions";
4148
- AssetEntityTypeEnum["MESSAGES"] = "messages";
4149
- })(AssetEntityTypeEnum || (AssetEntityTypeEnum = {}));
4169
+ var LoanMaxNumberOfPaymentsEnum;
4170
+ (function (LoanMaxNumberOfPaymentsEnum) {
4171
+ LoanMaxNumberOfPaymentsEnum[LoanMaxNumberOfPaymentsEnum["WEEKLY"] = 260] = "WEEKLY";
4172
+ LoanMaxNumberOfPaymentsEnum[LoanMaxNumberOfPaymentsEnum["FORTNIGHTLY"] = 130] = "FORTNIGHTLY";
4173
+ LoanMaxNumberOfPaymentsEnum[LoanMaxNumberOfPaymentsEnum["MONTHLY"] = 60] = "MONTHLY";
4174
+ })(LoanMaxNumberOfPaymentsEnum || (LoanMaxNumberOfPaymentsEnum = {}));
4150
4175
 
4151
- class PropertyDocument extends PropertyDocument$1 {
4176
+ class BankTransaction extends BankTransaction$1 {
4152
4177
  constructor() {
4153
4178
  super(...arguments);
4154
- this.type = AssetTypeEnum.PROPERTY;
4155
- this.entityType = AssetEntityTypeEnum.PROPERTIES;
4179
+ // allocated money amount for bank transaction
4180
+ this.allocatedAmount = 0;
4181
+ this.unallocatedAmount = 0;
4156
4182
  }
4157
- getApiUrlPrefix() {
4158
- return '';
4183
+ /**
4184
+ * get allocated amount value but with +/- sign
4185
+ */
4186
+ get balanceAmount() {
4187
+ return this.isCredit() ? this.allocatedAmount : -this.allocatedAmount;
4159
4188
  }
4160
- getEntity() {
4161
- return this.property;
4189
+ /**
4190
+ * check if bank transaction is debit
4191
+ */
4192
+ isDebit() {
4193
+ return this.type === BankTransactionTypeEnum.DEBIT;
4162
4194
  }
4163
- }
4164
-
4165
- class PropertyValuation extends PropertyValuation$1 {
4166
- get financialYear() {
4167
- return new FinancialYear(this.date).year;
4195
+ /**
4196
+ * check if bank transaction is credit
4197
+ */
4198
+ isCredit() {
4199
+ return this.type === BankTransactionTypeEnum.CREDIT;
4168
4200
  }
4169
- isCurrentYear() {
4170
- return this.financialYear === new FinancialYear(new Date()).year;
4201
+ /**
4202
+ * Create Transaction instance based on Bank Transaction
4203
+ */
4204
+ toTransaction() {
4205
+ return plainToClass(Transaction, {
4206
+ amount: this.amount,
4207
+ description: this.description,
4208
+ date: this.date,
4209
+ source: TransactionSourceEnum.BANK_TRANSACTION,
4210
+ operation: this.operation,
4211
+ type: this.type,
4212
+ });
4213
+ }
4214
+ /**
4215
+ * Check if bank transaction is completely allocated
4216
+ */
4217
+ isAllocated(allocations) {
4218
+ return this.amount === this.getAllocatedAmount(allocations);
4219
+ }
4220
+ /**
4221
+ * Get bank transaction allocated amount
4222
+ */
4223
+ getAllocatedAmount(allocations) {
4224
+ return allocations.getByBankTransactionsIds([this.id]).amount;
4225
+ }
4226
+ /**
4227
+ * Get bank transaction unallocated amount
4228
+ */
4229
+ getUnallocatedAmount(allocations) {
4230
+ return this.amount - this.getAllocatedAmount(allocations);
4171
4231
  }
4172
4232
  }
4173
4233
  __decorate([
4174
4234
  Type(() => Date)
4175
- ], PropertyValuation.prototype, "date", void 0);
4176
- __decorate([
4177
- Type(() => PropertyDocument)
4178
- ], PropertyValuation.prototype, "document", void 0);
4235
+ ], BankTransaction.prototype, "date", void 0);
4179
4236
  __decorate([
4180
4237
  Type(() => Number)
4181
- ], PropertyValuation.prototype, "marketValue", void 0);
4182
- __decorate([
4183
- Exclude()
4184
- ], PropertyValuation.prototype, "documentFile", void 0);
4185
-
4186
- var PropertyCategoryListEnum;
4187
- (function (PropertyCategoryListEnum) {
4188
- PropertyCategoryListEnum[PropertyCategoryListEnum["OWNER_OCCUPIED"] = 3] = "OWNER_OCCUPIED";
4189
- PropertyCategoryListEnum[PropertyCategoryListEnum["SHARED"] = 4] = "SHARED";
4190
- PropertyCategoryListEnum[PropertyCategoryListEnum["VACANT_LAND"] = 5] = "VACANT_LAND";
4191
- })(PropertyCategoryListEnum || (PropertyCategoryListEnum = {}));
4238
+ ], BankTransaction.prototype, "amount", void 0);
4192
4239
 
4193
- class PropertyCategory extends PropertyCategory$1 {
4194
- // @Todo check if category is Owner Occupied. If will be needed to check more categories - move the checking to the backend
4195
- isOwnerOccupied() {
4196
- return this.id === PropertyCategoryListEnum.OWNER_OCCUPIED;
4197
- }
4198
- isVacantLand() {
4199
- return this.id === PropertyCategoryListEnum.VACANT_LAND;
4200
- }
4201
- isShared() {
4202
- return this.id === PropertyCategoryListEnum.SHARED;
4240
+ class TransactionAllocation extends TransactionAllocation$1 {
4241
+ /**
4242
+ * Create a new instance of transaction allocation
4243
+ * transaction could be empty since we can POST allocation inside a new transaction
4244
+ */
4245
+ static create(amount, bankTransaction, transaction) {
4246
+ return plainToClass(TransactionAllocation, { amount, transaction, bankTransaction });
4203
4247
  }
4204
4248
  }
4205
-
4206
- class PropertyCategoryMovement extends PropertyCategoryMovement$1 {
4207
- }
4208
- __decorate([
4209
- Type(() => PropertyValuation)
4210
- ], PropertyCategoryMovement.prototype, "valuation", void 0);
4211
4249
  __decorate([
4212
- Type(() => PropertyCategory)
4213
- ], PropertyCategoryMovement.prototype, "propertyCategory", void 0);
4214
- __decorate([
4215
- Type(() => Date)
4216
- ], PropertyCategoryMovement.prototype, "fromDate", void 0);
4250
+ Type(() => BankTransaction)
4251
+ ], TransactionAllocation.prototype, "bankTransaction", void 0);
4217
4252
  __decorate([
4218
- Type(() => Date)
4219
- ], PropertyCategoryMovement.prototype, "toDate", void 0);
4253
+ Type(() => Transaction)
4254
+ ], TransactionAllocation.prototype, "transaction", void 0);
4220
4255
 
4221
4256
  /**
4222
- * class contains equity information for passed financial year
4223
- */
4224
- class PropertyEquityChartItem {
4225
- constructor(year, marketValue, loanBalance) {
4226
- this.year = year;
4227
- this.marketValue = marketValue || 0;
4228
- this.loanBalance = loanBalance || 0;
4229
- }
4230
- /**
4231
- * calculate equity position
4232
- */
4233
- get equityPosition() {
4234
- return this.marketValue - this.loanBalance;
4235
- }
4236
- /**
4237
- * return this equity position instance as chart serie
4238
- * @param type
4239
- */
4240
- getSerie(type) {
4241
- return [this.year, this[type]];
4242
- }
4243
- }
4244
-
4245
- var PropertyEquityChartTypeEnum;
4246
- (function (PropertyEquityChartTypeEnum) {
4247
- PropertyEquityChartTypeEnum["MARKET_VALUE"] = "marketValue";
4248
- PropertyEquityChartTypeEnum["LOAN_BALANCE"] = "loanBalance";
4249
- })(PropertyEquityChartTypeEnum || (PropertyEquityChartTypeEnum = {}));
4250
-
4251
- // count of years for future values
4252
- const FORECAST_YEARS = 25;
4253
- /**
4254
- * class contain actual and forecasted market values and loan balances for passed properties
4255
- * X axis - years from the first actual data year to the last forecasted year
4256
- * Y axis - amounts of market values, loan balances
4257
- * Also on hover appear equity positions point
4258
- */
4259
- class PropertyEquityChartData {
4260
- constructor(properties, bankAccounts, loans, registerDate) {
4261
- this.registerDate = registerDate;
4262
- this.properties = properties;
4263
- this.bankAccounts = bankAccounts.getLoanAccounts();
4264
- this.loans = loans;
4265
- this.currentYear = new FinancialYear(new Date()).year;
4266
- this.initItems();
4267
- this.buildHistoryItems();
4268
- this.buildActualItem();
4269
- this.buildForecastedItems();
4270
- this.checkZeroLoanBalance();
4271
- this.checkZeroMarketValue();
4272
- }
4273
- /**
4274
- * get items list in chart series format
4275
- * @param type
4276
- */
4277
- getChartSeries(type) {
4278
- return this.list.map((item) => item.getSerie(type));
4279
- }
4280
- /**
4281
- * get prepared chart data
4282
- */
4283
- getChartData() {
4284
- return [
4285
- {
4286
- id: 'marketValue',
4287
- name: 'Market Value',
4288
- series: this.getChartSeries(PropertyEquityChartTypeEnum.MARKET_VALUE),
4289
- // display future market value with dash line and past market value with solid line
4290
- zones: [{
4291
- // line style after current calendar year
4292
- value: this.currentYear,
4293
- dashStyle: 'Solid'
4294
- }, {
4295
- // default line style
4296
- dashStyle: 'Dash'
4297
- }]
4298
- },
4299
- {
4300
- // id used to add/remove serie to chart
4301
- id: 'loanBalance',
4302
- name: 'Loan Balance',
4303
- series: this.getChartSeries(PropertyEquityChartTypeEnum.LOAN_BALANCE)
4304
- }
4305
- ];
4306
- }
4307
- /**
4308
- * create empty equity position item for each year in collection
4309
- */
4310
- initItems() {
4311
- this.list = [];
4312
- for (let year = new FinancialYear(this.registerDate).year - 1; year <= (this.currentYear + FORECAST_YEARS); year++) {
4313
- this.list.push(new PropertyEquityChartItem(year));
4314
- }
4315
- }
4316
- /**
4317
- * collect equity position items with past values from properties forecasts
4318
- */
4319
- buildHistoryItems() {
4320
- // get items for past and current years
4321
- const items = this.list.filter((item) => item.year <= this.currentYear);
4322
- items.forEach((item) => {
4323
- // increase item values with property actual forecasts for item year
4324
- item.marketValue = this.properties.items.reduce((sum, property) => sum + this.getMarketValueForPropertyByYear(property, item.year), 0);
4325
- item.loanBalance = Math.abs(this.properties.items.reduce((sum, property) => sum + this.getLoanBalanceForPropertyByYear(property, item.year), 0));
4326
- });
4327
- }
4328
- /**
4329
- * set actual year's real data
4330
- * @private
4331
- */
4332
- buildActualItem() {
4333
- const item = this.list.find((i) => i.year === this.currentYear);
4334
- item.marketValue = this.properties.marketValue;
4335
- item.loanBalance = this.properties.items.reduce((sum, property) => sum + Math.abs(this.bankAccounts.getPropertyBalanceAmount(property.id)), 0);
4336
- }
4337
- /**
4338
- * collect equity position items with forecasted (future) calculated values
4339
- */
4340
- buildForecastedItems() {
4341
- // calculate future values for all properties separately
4342
- this.properties.items.forEach((property) => {
4343
- let forecastedMarketValue = (property.growthPercent / 100) * property.marketValue + property.marketValue;
4344
- // calculate future values for each future year for current handling property
4345
- this.list
4346
- .filter((item) => item.year > this.currentYear)
4347
- .forEach((item) => {
4348
- const propertyBankAccounts = this.bankAccounts.getByPropertyId(property.id);
4349
- // increase loan balance amount for handling equity position item
4350
- item.loanBalance += this.getLoanBalanceByYear(property, item.year, propertyBankAccounts, this.loans.getByBankAccountsIds(propertyBankAccounts.getIds()));
4351
- // increase market value amount for handling equity position item
4352
- item.marketValue += forecastedMarketValue;
4353
- // increase current market value forecast for the next cycle iteration
4354
- forecastedMarketValue += forecastedMarketValue * (property.growthPercent / 100);
4355
- });
4356
- });
4357
- }
4358
- /**
4359
- * Get property loan balance by financial year
4360
- * @param property Property instance for filter
4361
- * @param year Financial year number
4362
- * @param bankAccounts List of bank accounts
4363
- * @param loans List of loans
4364
- * @private
4365
- */
4366
- getLoanBalanceByYear(property, year, bankAccounts, loans) {
4367
- return bankAccounts.items.reduce((totalSum, bankAccount) => totalSum + (bankAccount.getPropertyPercentage(property.id) * (loans.getByBankAccountId(bankAccount.id)?.getLastPaymentByYear(year)?.totalOwed || 0)), 0);
4368
- }
4369
- getMarketValueForPropertyByYear(property, year) {
4370
- if (new FinancialYear(property.contractDate).year > year) {
4371
- return 0;
4372
- }
4373
- return (property.getForecastByYear(year) || first(property.forecasts)).marketValue;
4374
- }
4375
- getLoanBalanceForPropertyByYear(property, year) {
4376
- if (new FinancialYear(property.contractDate).year > year) {
4377
- return 0;
4378
- }
4379
- return property.getForecastByYear(year)?.loanBalance || this.bankAccounts.getPropertyBalanceAmount(property.id);
4380
- }
4381
- /**
4382
- * Check if loan balance is 0 and set it as null (to not to draw point on the chart)
4383
- */
4384
- checkZeroLoanBalance() {
4385
- this.list.forEach((item) => {
4386
- if (item.loanBalance === 0) {
4387
- item.loanBalance = null;
4388
- }
4389
- });
4390
- }
4391
- /**
4392
- * Check if market value is 0 and set it as null (to not to draw point on the chart)
4393
- */
4394
- checkZeroMarketValue() {
4395
- this.list.forEach((item) => {
4396
- if (item.marketValue === 0) {
4397
- item.marketValue = null;
4398
- }
4399
- });
4400
- }
4401
- }
4402
-
4403
- class PropertyForecast extends PropertyForecast$1 {
4404
- constructor() {
4405
- super(...arguments);
4406
- this.financialYear = new FinancialYear(new Date()).year;
4407
- }
4408
- /**
4409
- * Get cash position
4410
- * Cash Position = Income - Expense - Interest
4411
- */
4412
- get cashPosition() {
4413
- return this.income + this.expense + this.interest;
4414
- }
4415
- /**
4416
- * Get tax position
4417
- * Tax Position = Income - Expense - Interest - Depreciation
4418
- */
4419
- get taxPosition() {
4420
- return this.cashPosition + this.depreciation;
4421
- }
4422
- /**
4423
- * Get rental return percent
4424
- * Rental Return = Income / Market Value
4425
- */
4426
- get rentalReturn() {
4427
- return this.income / this.marketValue;
4428
- }
4429
- /**
4430
- * Check if forecast is for real current fin year (not selected in the sidebar)
4431
- */
4432
- isCurrentYear() {
4433
- return this.financialYear === new FinancialYear(new Date()).year;
4434
- }
4435
- }
4436
- __decorate([
4437
- Transform(({ value }) => +value)
4438
- ], PropertyForecast.prototype, "income", void 0);
4439
- __decorate([
4440
- Transform(({ value }) => -Math.abs(+value))
4441
- ], PropertyForecast.prototype, "expense", void 0);
4442
- __decorate([
4443
- Transform(({ value }) => -Math.abs(+value))
4444
- ], PropertyForecast.prototype, "interest", void 0);
4445
- __decorate([
4446
- Transform(({ value }) => -Math.abs(+value))
4447
- ], PropertyForecast.prototype, "depreciation", void 0);
4448
- __decorate([
4449
- Transform(({ value }) => +value)
4450
- ], PropertyForecast.prototype, "loanBalance", void 0);
4451
- __decorate([
4452
- Transform(({ value }) => +value)
4453
- ], PropertyForecast.prototype, "marketValue", void 0);
4454
-
4455
- var PropertyShareStatusEnum;
4456
- (function (PropertyShareStatusEnum) {
4457
- PropertyShareStatusEnum[PropertyShareStatusEnum["PENDING"] = 1] = "PENDING";
4458
- PropertyShareStatusEnum[PropertyShareStatusEnum["APPROVED"] = 2] = "APPROVED";
4459
- PropertyShareStatusEnum[PropertyShareStatusEnum["REJECTED"] = 3] = "REJECTED";
4460
- })(PropertyShareStatusEnum || (PropertyShareStatusEnum = {}));
4461
-
4462
- class PropertyShare extends PropertyShare$1 {
4463
- isAccepted() {
4464
- return this.status === PropertyShareStatusEnum.APPROVED;
4465
- }
4466
- isPending() {
4467
- return this.status === PropertyShareStatusEnum.PENDING;
4468
- }
4469
- isRejected() {
4470
- return this.status === PropertyShareStatusEnum.REJECTED;
4471
- }
4472
- get statusName() {
4473
- return PropertyShareStatusEnum[this.status]?.toLowerCase();
4474
- }
4475
- /**
4476
- * Return full user name if user is already registered.
4477
- * Otherwise - return first name from invitation
4478
- */
4479
- get userName() {
4480
- return this.user ? this.user.fullName : `${this.invite.firstName}`;
4481
- }
4482
- }
4483
- __decorate([
4484
- Type(() => Date)
4485
- ], PropertyShare.prototype, "fromDate", void 0);
4486
- __decorate([
4487
- Type(() => Date)
4488
- ], PropertyShare.prototype, "toDate", void 0);
4489
- __decorate([
4490
- Type(() => User)
4491
- ], PropertyShare.prototype, "user", void 0);
4492
- __decorate([
4493
- Type(() => RegistrationInvite)
4494
- ], PropertyShare.prototype, "invite", void 0);
4495
- __decorate([
4496
- Type(() => Property)
4497
- ], PropertyShare.prototype, "property", void 0);
4498
- __decorate([
4499
- Transform(({ obj }) => obj.user ? obj.user.email : obj.invite.email)
4500
- ], PropertyShare.prototype, "email", void 0);
4501
-
4502
- /**
4503
- * @TODO used only on dashboard, move from tt-core
4504
- * Enum with properties ownership filter options
4505
- */
4506
- var ShareFilterOptionsEnum;
4507
- (function (ShareFilterOptionsEnum) {
4508
- ShareFilterOptionsEnum[ShareFilterOptionsEnum["ALL"] = 1] = "ALL";
4509
- ShareFilterOptionsEnum[ShareFilterOptionsEnum["CREATED"] = 2] = "CREATED";
4510
- ShareFilterOptionsEnum[ShareFilterOptionsEnum["SHARED"] = 3] = "SHARED";
4511
- })(ShareFilterOptionsEnum || (ShareFilterOptionsEnum = {}));
4512
-
4513
- class TransactionReceipt extends TransactionReceipt$1 {
4514
- constructor() {
4515
- super(...arguments);
4516
- this.type = AssetTypeEnum.TRANSACTION_RECEIPT;
4517
- this.entityType = AssetEntityTypeEnum.TRANSACTIONS;
4518
- }
4519
- }
4520
-
4521
- /**
4522
- * Income sources chart data
4523
- */
4524
- class IncomeSourceChartData {
4525
- constructor(forecastedIncomeAmount, transactions) {
4526
- this.forecastedIncomeAmount = forecastedIncomeAmount;
4527
- this.transactions = transactions;
4528
- }
4529
- /**
4530
- * Get prepared data for income sources chart
4531
- */
4532
- get() {
4533
- const chartData = [{
4534
- id: 'actualIncome',
4535
- name: 'Actual Income',
4536
- data: [],
4537
- // display future actual incomes with dash line and past actual incomes with solid line
4538
- zones: [{
4539
- // line style after current month
4540
- value: new FinancialYear().getMonthDate(new Date().getMonth()).getTime(),
4541
- dashStyle: 'Solid'
4542
- }, {
4543
- // default line style
4544
- dashStyle: 'Dash'
4545
- }]
4546
- }, {
4547
- id: 'forecastedIncome',
4548
- name: 'Forecasted Income',
4549
- data: [],
4550
- }];
4551
- for (const key in MonthNameShortEnum) {
4552
- if (MonthNameShortEnum.hasOwnProperty(key)) {
4553
- // transaction collection for provided month
4554
- const monthTransactionCollection = this.transactions.getByMonth(+MonthNumberEnum[key]);
4555
- chartData[0].data.push([new FinancialYear().getMonthDate(+MonthNumberEnum[key]).getTime(), monthTransactionCollection.amount]);
4556
- chartData[1].data.push([new FinancialYear().getMonthDate(+MonthNumberEnum[key]).getTime(), this.forecastedIncomeAmount / 12]);
4557
- }
4558
- }
4559
- return chartData;
4560
- }
4561
- }
4562
-
4563
- class TransactionMetaField extends TransactionMetaField$1 {
4564
- }
4565
- __decorate([
4566
- Type(() => ChartAccountsMetaField)
4567
- ], TransactionMetaField.prototype, "metaField", void 0);
4568
- __decorate([
4569
- Type(() => Transaction$1)
4570
- ], TransactionMetaField.prototype, "transaction", void 0);
4571
- __decorate([
4572
- Type(() => ChartAccountsMetaField)
4573
- ], TransactionMetaField.prototype, "chartAccountsMetaField", void 0);
4574
-
4575
- /**
4576
- * Enum with maximum number of payments, depending on the frequency.
4577
- * Used only for vehicle loans
4578
- */
4579
- var LoanMaxNumberOfPaymentsEnum;
4580
- (function (LoanMaxNumberOfPaymentsEnum) {
4581
- LoanMaxNumberOfPaymentsEnum[LoanMaxNumberOfPaymentsEnum["WEEKLY"] = 260] = "WEEKLY";
4582
- LoanMaxNumberOfPaymentsEnum[LoanMaxNumberOfPaymentsEnum["FORTNIGHTLY"] = 130] = "FORTNIGHTLY";
4583
- LoanMaxNumberOfPaymentsEnum[LoanMaxNumberOfPaymentsEnum["MONTHLY"] = 60] = "MONTHLY";
4584
- })(LoanMaxNumberOfPaymentsEnum || (LoanMaxNumberOfPaymentsEnum = {}));
4585
-
4586
- class BankTransaction extends BankTransaction$1 {
4587
- constructor() {
4588
- super(...arguments);
4589
- // allocated money amount for bank transaction
4590
- this.allocatedAmount = 0;
4591
- this.unallocatedAmount = 0;
4592
- }
4593
- /**
4594
- * get allocated amount value but with +/- sign
4595
- */
4596
- get balanceAmount() {
4597
- return this.isCredit() ? this.allocatedAmount : -this.allocatedAmount;
4598
- }
4599
- /**
4600
- * check if bank transaction is debit
4601
- */
4602
- isDebit() {
4603
- return this.type === BankTransactionTypeEnum.DEBIT;
4604
- }
4605
- /**
4606
- * check if bank transaction is credit
4607
- */
4608
- isCredit() {
4609
- return this.type === BankTransactionTypeEnum.CREDIT;
4610
- }
4611
- /**
4612
- * Create Transaction instance based on Bank Transaction
4613
- */
4614
- toTransaction() {
4615
- return plainToClass(Transaction, {
4616
- amount: this.amount,
4617
- description: this.description,
4618
- date: this.date,
4619
- source: TransactionSourceEnum.BANK_TRANSACTION,
4620
- operation: this.operation,
4621
- type: this.type,
4622
- });
4623
- }
4624
- /**
4625
- * Check if bank transaction is completely allocated
4626
- */
4627
- isAllocated(allocations) {
4628
- return this.amount === this.getAllocatedAmount(allocations);
4629
- }
4630
- /**
4631
- * Get bank transaction allocated amount
4632
- */
4633
- getAllocatedAmount(allocations) {
4634
- return allocations.getByBankTransactionsIds([this.id]).amount;
4635
- }
4636
- /**
4637
- * Get bank transaction unallocated amount
4638
- */
4639
- getUnallocatedAmount(allocations) {
4640
- return this.amount - this.getAllocatedAmount(allocations);
4641
- }
4642
- }
4643
- __decorate([
4644
- Type(() => Date)
4645
- ], BankTransaction.prototype, "date", void 0);
4646
- __decorate([
4647
- Type(() => Number)
4648
- ], BankTransaction.prototype, "amount", void 0);
4649
-
4650
- class TransactionAllocation extends TransactionAllocation$1 {
4651
- /**
4652
- * Create a new instance of transaction allocation
4653
- * transaction could be empty since we can POST allocation inside a new transaction
4654
- */
4655
- static create(amount, bankTransaction, transaction) {
4656
- return plainToClass(TransactionAllocation, { amount, transaction, bankTransaction });
4657
- }
4658
- }
4659
- __decorate([
4660
- Type(() => BankTransaction)
4661
- ], TransactionAllocation.prototype, "bankTransaction", void 0);
4662
- __decorate([
4663
- Type(() => Transaction)
4664
- ], TransactionAllocation.prototype, "transaction", void 0);
4665
-
4666
- /**
4667
- * Depreciation Nested Tree node with depreciations group
4257
+ * Depreciation Nested Tree node with depreciations group
4668
4258
  */
4669
4259
  class DepreciationGroup {
4670
4260
  constructor(label, description, icon, children, totalCost, openingValue) {
@@ -4739,75 +4329,25 @@ const DEPRECIATION_GROUPS = {
4739
4329
  [DepreciationGroupEnum.SMALL_BUSINESS_POOL]: {
4740
4330
  label: 'Small business pool',
4741
4331
  description: 'The small business pool allows business owners to claim depreciation on plant and equipment items at an accelerated rate.',
4742
- icon: 'portfolio'
4743
- },
4744
- };
4745
-
4746
- /**
4747
- * Depreciation Low Value Pool rate based on asset financial year (current or subsequent years).
4748
- */
4749
- var DepreciationLvpRateEnum;
4750
- (function (DepreciationLvpRateEnum) {
4751
- DepreciationLvpRateEnum[DepreciationLvpRateEnum["FIRST_YEAR"] = 0.1875] = "FIRST_YEAR";
4752
- DepreciationLvpRateEnum[DepreciationLvpRateEnum["DEFAULT"] = 0.375] = "DEFAULT";
4753
- })(DepreciationLvpRateEnum || (DepreciationLvpRateEnum = {}));
4754
-
4755
- class DepreciationReceipt extends DepreciationReceipt$1 {
4756
- constructor() {
4757
- super(...arguments);
4758
- this.type = AssetTypeEnum.DEPRECIATION_RECEIPT;
4759
- this.entityType = AssetEntityTypeEnum.DEPRECIATIONS;
4760
- }
4761
- }
4762
-
4763
- var MyAccountHistoryInitiatedByEnum;
4764
- (function (MyAccountHistoryInitiatedByEnum) {
4765
- MyAccountHistoryInitiatedByEnum[MyAccountHistoryInitiatedByEnum["OWNER"] = 0] = "OWNER";
4766
- MyAccountHistoryInitiatedByEnum[MyAccountHistoryInitiatedByEnum["ACCOUNTANT"] = 1] = "ACCOUNTANT";
4767
- })(MyAccountHistoryInitiatedByEnum || (MyAccountHistoryInitiatedByEnum = {}));
4768
-
4769
- var MyAccountHistoryStatusEnum;
4770
- (function (MyAccountHistoryStatusEnum) {
4771
- MyAccountHistoryStatusEnum[MyAccountHistoryStatusEnum["SUCCESS"] = 0] = "SUCCESS";
4772
- MyAccountHistoryStatusEnum[MyAccountHistoryStatusEnum["ERROR"] = 1] = "ERROR";
4773
- })(MyAccountHistoryStatusEnum || (MyAccountHistoryStatusEnum = {}));
4774
-
4775
- var MyAccountHistoryTypeEnum;
4776
- (function (MyAccountHistoryTypeEnum) {
4777
- MyAccountHistoryTypeEnum[MyAccountHistoryTypeEnum["REVIEW"] = 0] = "REVIEW";
4778
- MyAccountHistoryTypeEnum[MyAccountHistoryTypeEnum["UPGRADE_PLAN"] = 1] = "UPGRADE_PLAN";
4779
- MyAccountHistoryTypeEnum[MyAccountHistoryTypeEnum["UPLOAD_DOCUMENT"] = 2] = "UPLOAD_DOCUMENT";
4780
- })(MyAccountHistoryTypeEnum || (MyAccountHistoryTypeEnum = {}));
4781
-
4782
- class MyAccountHistory {
4783
- }
4784
-
4785
- class Occupation extends Occupation$1 {
4786
- }
4787
-
4788
- /**
4789
- * role hierarchy
4790
- */
4791
- const USER_ROLES = {
4792
- ROLE_FIRM_OWNER: [UserRolesEnum.FIRM_OWNER, UserRolesEnum.FIRM_MANAGER, UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
4793
- ROLE_FIRM_MANAGER: [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
4794
- ROLE_EMPLOYEE: [UserRolesEnum.ACCOUNTANT, UserRolesEnum.ADVISOR],
4795
- ROLE_ACCOUNTANT: [UserRolesEnum.ACCOUNTANT],
4796
- ROLE_ADVISOR: [UserRolesEnum.ADVISOR],
4797
- // @TODO makes no sense, these roles can't be hierarchical
4798
- ROLE_CLIENT: [UserRolesEnum.CLIENT],
4799
- ROLE_USER_SUBSCRIPTION: [UserRolesEnum.SUBSCRIPTION],
4800
- ROLE_USER_WORK: [UserRolesEnum.WORK_TANK],
4801
- ROLE_USER_PROPERTY: [UserRolesEnum.PROPERTY_TANK],
4802
- ROLE_USER_SOLE: [UserRolesEnum.SOLE_TANK],
4803
- ROLE_USER_HOLDING: [UserRolesEnum.HOLDING_TANK],
4804
- ROLE_PREVIOUS_ADMIN: [UserRolesEnum.SWITCH_USER],
4332
+ icon: 'portfolio'
4333
+ },
4805
4334
  };
4806
4335
 
4807
4336
  /**
4808
- * Class with basic information about registering user
4337
+ * Depreciation Low Value Pool rate based on asset financial year (current or subsequent years).
4809
4338
  */
4810
- class UserToRegister {
4339
+ var DepreciationLvpRateEnum;
4340
+ (function (DepreciationLvpRateEnum) {
4341
+ DepreciationLvpRateEnum[DepreciationLvpRateEnum["FIRST_YEAR"] = 0.1875] = "FIRST_YEAR";
4342
+ DepreciationLvpRateEnum[DepreciationLvpRateEnum["DEFAULT"] = 0.375] = "DEFAULT";
4343
+ })(DepreciationLvpRateEnum || (DepreciationLvpRateEnum = {}));
4344
+
4345
+ class DepreciationReceipt extends DepreciationReceipt$1 {
4346
+ constructor() {
4347
+ super(...arguments);
4348
+ this.type = AssetTypeEnum.DEPRECIATION_RECEIPT;
4349
+ this.entityType = AssetEntityTypeEnum.DEPRECIATIONS;
4350
+ }
4811
4351
  }
4812
4352
 
4813
4353
  class SoleBusinessAllocation extends SoleBusinessAllocation$1 {
@@ -4819,7 +4359,7 @@ __decorate([
4819
4359
  Type(() => SoleBusiness)
4820
4360
  ], SoleBusinessAllocation.prototype, "business", void 0);
4821
4361
  __decorate([
4822
- Transform(({ value }) => value || 100),
4362
+ Transform(({ value }) => isNaN(value) ? 100 : value),
4823
4363
  Expose()
4824
4364
  ], SoleBusinessAllocation.prototype, "percent", void 0);
4825
4365
 
@@ -7396,855 +6936,1315 @@ class HoldingCollection extends ExportableCollection {
7396
6936
  getShares() {
7397
6937
  return this.filterBy('type.category', HoldingTypeCategoryEnum.STOCK);
7398
6938
  }
7399
- getCryptos() {
7400
- return this.filterBy('type.category', HoldingTypeCategoryEnum.CRYPTO);
6939
+ getCryptos() {
6940
+ return this.filterBy('type.category', HoldingTypeCategoryEnum.CRYPTO);
6941
+ }
6942
+ getOthers() {
6943
+ return this.filterBy('type.category', [
6944
+ HoldingTypeCategoryEnum.COLLECTIBLE,
6945
+ HoldingTypeCategoryEnum.UNLISTED_STOCK,
6946
+ HoldingTypeCategoryEnum.UNLISTED_UNIT,
6947
+ HoldingTypeCategoryEnum.OTHER
6948
+ ]);
6949
+ }
6950
+ getPurchaseValue() {
6951
+ return this.sumBy('purchaseValue');
6952
+ }
6953
+ get marketValue() {
6954
+ return this.sumBy('marketValue');
6955
+ }
6956
+ getGrowthCoefficient() {
6957
+ return this.marketValue / this.getPurchaseValue() - 1;
6958
+ }
6959
+ getUnsold() {
6960
+ return this.removeBy('currentQuantity', 0);
6961
+ }
6962
+ }
6963
+
6964
+ class HoldingSaleCollection extends ExportableCollection {
6965
+ filterByTaxFree(holdings, isTaxFree = false) {
6966
+ return this.filterBy('holding.id', holdings.filterBy('isTaxFree', isTaxFree).getIds());
6967
+ }
6968
+ getExportHeader() {
6969
+ return ['Ticker', 'Asset type', 'Date of buy', 'Date of sale', 'Cost base', 'Net sale', 'Ownership', 'Total capital Gain/(Loss)', 'My Capital Gain/(Loss)', 'Exempt or Concession'];
6970
+ }
6971
+ getExportFooter() {
6972
+ return [
6973
+ plainToClass(ExportCell, { value: '', type: ExportCellTypeEnum.STRING }),
6974
+ ];
6975
+ }
6976
+ getExportBody(holdingsById) {
6977
+ return this.items.map((sale) => [
6978
+ plainToClass(ExportCell, {
6979
+ value: holdingsById.get(sale.holding.id).type.ticker,
6980
+ type: ExportCellTypeEnum.STRING
6981
+ }),
6982
+ plainToClass(ExportCell, {
6983
+ value: holdingsById.get(sale.holding.id).type.categoryLabel,
6984
+ type: ExportCellTypeEnum.STRING
6985
+ }),
6986
+ plainToClass(ExportCell, { value: holdingsById.get(sale.holding.id)?.date, type: ExportCellTypeEnum.DATE }),
6987
+ plainToClass(ExportCell, { value: sale.date, type: ExportCellTypeEnum.DATE }),
6988
+ plainToClass(ExportCell, { value: sale.getCostBase(holdingsById.get(sale.holding.id)), type: ExportCellTypeEnum.CURRENCY }),
6989
+ plainToClass(ExportCell, { value: sale.netCost, type: ExportCellTypeEnum.CURRENCY }),
6990
+ plainToClass(ExportCell, { value: holdingsById.get(sale.holding.id).ownershipPercent, type: ExportCellTypeEnum.PERCENT }),
6991
+ plainToClass(ExportCell, { value: sale.totalCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
6992
+ plainToClass(ExportCell, { value: sale.grossCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
6993
+ plainToClass(ExportCell, {
6994
+ value: sale.isOneYearExemptionApplicable() ? '50% (1 year rule)' : 'None',
6995
+ type: ExportCellTypeEnum.STRING
6996
+ }),
6997
+ ]);
6998
+ }
6999
+ }
7000
+
7001
+ class HoldingTypeCollection extends Collection {
7002
+ getOthers() {
7003
+ return this.filterBy('category', [
7004
+ HoldingTypeCategoryEnum.COLLECTIBLE,
7005
+ HoldingTypeCategoryEnum.UNLISTED_STOCK,
7006
+ HoldingTypeCategoryEnum.UNLISTED_UNIT,
7007
+ HoldingTypeCategoryEnum.OTHER
7008
+ ]);
7009
+ }
7010
+ }
7011
+
7012
+ class AssetSaleCollection extends Collection {
7013
+ get grossCapitalProfit() {
7014
+ return this.filter((sale) => sale.grossCapitalGain > 0)
7015
+ .sumBy('grossCapitalGain');
7016
+ }
7017
+ get fullExemptionSales() {
7018
+ return this.filter((sale) => sale.grossCapitalGain != 0 && sale.netCapitalGain == 0);
7019
+ }
7020
+ get fullExemptionGrossCapitalProfit() {
7021
+ return this.filter((sale) => sale.grossCapitalGain > 0 && sale.netCapitalGain == 0).grossCapitalProfit;
7022
+ }
7023
+ get halfExemptionGrossCapitalProfit() {
7024
+ return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain !== sale.grossCapitalGain).grossCapitalProfit;
7025
+ }
7026
+ get noExemptionGrossCapitalProfit() {
7027
+ return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain === sale.grossCapitalGain).grossCapitalProfit;
7028
+ }
7029
+ get taxableGrossCapitalProfit() {
7030
+ return this.halfExemptionGrossCapitalProfit + this.noExemptionGrossCapitalProfit;
7031
+ }
7032
+ get currentYearCapitalLoss() {
7033
+ return Math.abs(this.filterByFinancialYear('date').filter((sale) => sale.netCapitalGain < 0).sumBy('grossCapitalGain'));
7034
+ }
7035
+ calculateForwardCapitalLoss(priorCapitalLoss) {
7036
+ // gross capital profit
7037
+ const taxableGrossCapitalProfit = this.taxableGrossCapitalProfit;
7038
+ // gross capital loss
7039
+ const currentYearCapitalLoss = this.currentYearCapitalLoss;
7040
+ const currentYearCapitalLossApplied = Math.min(taxableGrossCapitalProfit, currentYearCapitalLoss);
7041
+ const priorYearCapitalLossApplied = Math.min(priorCapitalLoss, taxableGrossCapitalProfit - currentYearCapitalLossApplied);
7042
+ const capitalLossApplied = currentYearCapitalLossApplied + priorYearCapitalLossApplied;
7043
+ return this.currentYearCapitalLoss + priorCapitalLoss - capitalLossApplied;
7044
+ }
7045
+ /**
7046
+ * NET CAPITAL GAIN/(LOSS) AFTER CONCESSIONS & DISCOUNTS
7047
+ */
7048
+ calculateNetCapitalGain(priorCapitalLoss) {
7049
+ // gross capital profit
7050
+ const noExemptionGrossCapitalProfit = this.noExemptionGrossCapitalProfit;
7051
+ const taxableGrossCapitalProfit = this.taxableGrossCapitalProfit;
7052
+ // gross capital loss
7053
+ const currentYearCapitalLoss = this.currentYearCapitalLoss;
7054
+ const currentYearCapitalLossApplied = Math.min(taxableGrossCapitalProfit, currentYearCapitalLoss);
7055
+ const priorYearCapitalLossApplied = Math.min(priorCapitalLoss, taxableGrossCapitalProfit - currentYearCapitalLossApplied);
7056
+ const capitalLossApplied = currentYearCapitalLossApplied + priorYearCapitalLossApplied;
7057
+ // grossCapitalProfit after loss
7058
+ const noExemptionCapitalGain = Math.max(noExemptionGrossCapitalProfit - capitalLossApplied, 0);
7059
+ const halfExemptionCapitalGain = Math.max(this.halfExemptionGrossCapitalProfit - (capitalLossApplied - noExemptionGrossCapitalProfit), 0);
7060
+ const capitalGain = noExemptionCapitalGain + halfExemptionCapitalGain;
7061
+ // capitalGain after exemption
7062
+ const cgtDiscount = halfExemptionCapitalGain / 2;
7063
+ return noExemptionCapitalGain + cgtDiscount - currentYearCapitalLoss + currentYearCapitalLossApplied;
7064
+ }
7065
+ }
7066
+
7067
+ // @TODO Alex move here all collections
7068
+
7069
+ var ServicePromoCodeDurationEnum;
7070
+ (function (ServicePromoCodeDurationEnum) {
7071
+ ServicePromoCodeDurationEnum[ServicePromoCodeDurationEnum["FOREVER"] = 1] = "FOREVER";
7072
+ ServicePromoCodeDurationEnum[ServicePromoCodeDurationEnum["ONCE"] = 2] = "ONCE";
7073
+ ServicePromoCodeDurationEnum[ServicePromoCodeDurationEnum["REPEATING"] = 3] = "REPEATING";
7074
+ })(ServicePromoCodeDurationEnum || (ServicePromoCodeDurationEnum = {}));
7075
+
7076
+ class ServicePromoCode {
7077
+ isDurationForever() {
7078
+ return this.duration === ServicePromoCodeDurationEnum.FOREVER;
7079
+ }
7080
+ isDurationOnce() {
7081
+ return this.duration === ServicePromoCodeDurationEnum.ONCE;
7082
+ }
7083
+ isDurationRepeating() {
7084
+ return this.duration === ServicePromoCodeDurationEnum.REPEATING;
7085
+ }
7086
+ }
7087
+
7088
+ class ServiceSubscription extends ServiceSubscription$1 {
7089
+ get promoCodeId() {
7090
+ return this.promoCode?.id || null;
7091
+ }
7092
+ get frequency() {
7093
+ return this.isAnnual() ? 'year' : 'month';
7094
+ }
7095
+ get isTrial() {
7096
+ return !this.stripeId;
7097
+ }
7098
+ get isPaid() {
7099
+ return !!this.stripeId;
7100
+ }
7101
+ get initialPrice() {
7102
+ const price = this.items.reduce((sum, item) => sum + item.total, 0);
7103
+ return price;
7104
+ }
7105
+ get discountAmount() {
7106
+ return this.initialPrice - this.price;
7107
+ }
7108
+ get price() {
7109
+ let price = this.items.reduce((sum, item) => sum + item.total, 0);
7110
+ if (!!this.promoCode && !this.isAnnual()) {
7111
+ if (this.promoCode.amountOff) {
7112
+ price = price - this.promoCode.amountOff;
7113
+ }
7114
+ else {
7115
+ price = price - price * (this.promoCode.percentOff / 100);
7116
+ }
7117
+ }
7118
+ // promo code can't make price < 0
7119
+ return price > 0 ? price : 0;
7120
+ }
7121
+ /**
7122
+ * get title of subscription
7123
+ */
7124
+ get title() {
7125
+ return this.items.map((item) => item.price.product.title).join(' + ');
7126
+ // return this.isTrial ? 'Trial period' : this.items.map((item) => item.price.product.title).join(' + ');
7127
+ }
7128
+ /**
7129
+ * A subscription is considered active if the end date has not yet arrived and its status is "Active" or "Past due"
7130
+ */
7131
+ get isActive() {
7132
+ const isExpired = new Date(this.endDate).getTime() < new Date().getTime();
7133
+ return !isExpired && ([ServiceSubscriptionStatusEnum.ACTIVE, ServiceSubscriptionStatusEnum.PAST_DUE].includes(this.status));
7134
+ }
7135
+ isRenewable() {
7136
+ return !this.isTrial && this.isActive;
7137
+ }
7138
+ getItems() {
7139
+ return new SubscriptionItemCollection(this.items);
7140
+ }
7141
+ /**
7142
+ * @TODO move to collection
7143
+ */
7144
+ get workTankItem() {
7145
+ return this.items.find((item) => item.price.product.isWorkTank());
7146
+ }
7147
+ get soleTankItem() {
7148
+ return this.items.find((item) => item.price.product.isSoleTank());
7149
+ }
7150
+ get propertyTankItem() {
7151
+ return this.items.find((item) => item.price.product.isProperties());
7152
+ }
7153
+ hasPropertyTank() {
7154
+ return !!this.items.find((subscriptionItem) => subscriptionItem.price.product.role.includes(UserRolesEnum.PROPERTY_TANK));
7155
+ }
7156
+ hasWorkTank() {
7157
+ return !!this.items.find((subscriptionItem) => subscriptionItem.price.product.role.includes(UserRolesEnum.WORK_TANK));
7158
+ }
7159
+ /**
7160
+ * bought before price updates, active for some time to let customer select a new plan
7161
+ * impossible to update, only prolong or buy new
7162
+ */
7163
+ isArchived() {
7164
+ // subscription with at least one archived product considered as archived
7165
+ return !!this.items.filter((item) => item.price.product.isArchived()).length;
7166
+ }
7167
+ /**
7168
+ * Case when payment was failed, but user has a time to update payment method
7169
+ */
7170
+ isPastDue() {
7171
+ return this.status === ServiceSubscriptionStatusEnum.PAST_DUE;
7172
+ }
7173
+ /**
7174
+ * Check if current subscription has provided subscription item
7175
+ */
7176
+ hasItem(itemToCheck) {
7177
+ return !!this.items.find((item) => item.price.id === itemToCheck.price.id);
7178
+ }
7179
+ hasProduct(product) {
7180
+ return !!this.items.find((item) => item.price.product.id === product.id);
7401
7181
  }
7402
- getOthers() {
7403
- return this.filterBy('type.category', [
7404
- HoldingTypeCategoryEnum.COLLECTIBLE,
7405
- HoldingTypeCategoryEnum.UNLISTED_STOCK,
7406
- HoldingTypeCategoryEnum.UNLISTED_UNIT,
7407
- HoldingTypeCategoryEnum.OTHER
7408
- ]);
7182
+ /**
7183
+ * package might have not all products, if it's purchased before release of the new product
7184
+ */
7185
+ isPackage() {
7186
+ return this.getItems().prices.first?.isPackage();
7409
7187
  }
7410
- getPurchaseValue() {
7411
- return this.sumBy('purchaseValue');
7188
+ isFullPackage() {
7189
+ return this.items.length === ServiceProduct.quantity;
7412
7190
  }
7413
- get marketValue() {
7414
- return this.sumBy('marketValue');
7191
+ isAnnual() {
7192
+ return !!(this.getItems().prices.annual.length || this.getItems().prices.annualPackage.length);
7415
7193
  }
7416
- getGrowthCoefficient() {
7417
- return this.marketValue / this.getPurchaseValue() - 1;
7194
+ /**
7195
+ * Recommended number of properties to buy,
7196
+ * based on the property service product and the number of properties the user has
7197
+ */
7198
+ getRecommendedPropertiesQty(propertyItem, propertiesQty) {
7199
+ const min = propertyItem.price.product.minQty;
7200
+ return Math.max(min, propertiesQty);
7418
7201
  }
7419
- getUnsold() {
7420
- return this.removeBy('currentQuantity', 0);
7202
+ promoCodeEndDate() {
7203
+ return +moment(this.startDate).add(this.promoCode?.durationMonths, 'months');
7421
7204
  }
7422
7205
  }
7206
+ __decorate([
7207
+ Type(() => Date)
7208
+ ], ServiceSubscription.prototype, "startDate", void 0);
7209
+ __decorate([
7210
+ Type(() => Date)
7211
+ ], ServiceSubscription.prototype, "endDate", void 0);
7212
+ __decorate([
7213
+ Type(() => Date)
7214
+ ], ServiceSubscription.prototype, "createdAt", void 0);
7215
+ __decorate([
7216
+ Type(() => ServiceSubscriptionItem)
7217
+ ], ServiceSubscription.prototype, "items", void 0);
7218
+ __decorate([
7219
+ Type(() => ServicePromoCode)
7220
+ ], ServiceSubscription.prototype, "promoCode", void 0);
7221
+ __decorate([
7222
+ Expose()
7223
+ ], ServiceSubscription.prototype, "promoCodeId", null);
7423
7224
 
7424
- class HoldingSaleCollection extends ExportableCollection {
7425
- filterByTaxFree(holdings, isTaxFree = false) {
7426
- return this.filterBy('holding.id', holdings.filterBy('isTaxFree', isTaxFree).getIds());
7225
+ class ClientMovement extends ClientMovement$1 {
7226
+ }
7227
+ __decorate([
7228
+ Type(() => Firm)
7229
+ ], ClientMovement.prototype, "firm", void 0);
7230
+ __decorate([
7231
+ Type(() => User)
7232
+ ], ClientMovement.prototype, "client", void 0);
7233
+ __decorate([
7234
+ Type(() => User)
7235
+ ], ClientMovement.prototype, "employee", void 0);
7236
+ __decorate([
7237
+ Type(() => ServiceSubscription)
7238
+ ], ClientMovement.prototype, "subscription", void 0);
7239
+ __decorate([
7240
+ Type(() => Date)
7241
+ ], ClientMovement.prototype, "dateFrom", void 0);
7242
+ __decorate([
7243
+ Type(() => Date)
7244
+ ], ClientMovement.prototype, "dateTo", void 0);
7245
+
7246
+ /**
7247
+ * Client portfolio charts data based on ClientPortfolioReportCollection
7248
+ */
7249
+ class ClientPortfolioChartData {
7250
+ constructor(clientsPortfolioReportCollection) {
7251
+ this.clientsPortfolioReportCollection = clientsPortfolioReportCollection;
7427
7252
  }
7428
- getExportHeader() {
7429
- return ['Ticker', 'Asset type', 'Date of buy', 'Date of sale', 'Cost base', 'Net sale', 'Ownership', 'Total capital Gain/(Loss)', 'My Capital Gain/(Loss)', 'Exempt or Concession'];
7253
+ getPieChartData() {
7254
+ return this.clientsPortfolioReportCollection.items.map((clientPortfolioReport) => plainToClass(ChartData, {
7255
+ name: clientPortfolioReport.category,
7256
+ data: clientPortfolioReport.count
7257
+ }));
7430
7258
  }
7431
- getExportFooter() {
7259
+ getBarChartData() {
7432
7260
  return [
7433
- plainToClass(ExportCell, { value: '', type: ExportCellTypeEnum.STRING }),
7434
- ];
7435
- }
7436
- getExportBody(holdingsById) {
7437
- return this.items.map((sale) => [
7438
- plainToClass(ExportCell, {
7439
- value: holdingsById.get(sale.holding.id).type.ticker,
7440
- type: ExportCellTypeEnum.STRING
7441
- }),
7442
- plainToClass(ExportCell, {
7443
- value: holdingsById.get(sale.holding.id).type.categoryLabel,
7444
- type: ExportCellTypeEnum.STRING
7445
- }),
7446
- plainToClass(ExportCell, { value: holdingsById.get(sale.holding.id)?.date, type: ExportCellTypeEnum.DATE }),
7447
- plainToClass(ExportCell, { value: sale.date, type: ExportCellTypeEnum.DATE }),
7448
- plainToClass(ExportCell, { value: sale.getCostBase(holdingsById.get(sale.holding.id)), type: ExportCellTypeEnum.CURRENCY }),
7449
- plainToClass(ExportCell, { value: sale.netCost, type: ExportCellTypeEnum.CURRENCY }),
7450
- plainToClass(ExportCell, { value: holdingsById.get(sale.holding.id).ownershipPercent, type: ExportCellTypeEnum.PERCENT }),
7451
- plainToClass(ExportCell, { value: sale.totalCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
7452
- plainToClass(ExportCell, { value: sale.grossCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
7453
- plainToClass(ExportCell, {
7454
- value: sale.isOneYearExemptionApplicable() ? '50% (1 year rule)' : 'None',
7455
- type: ExportCellTypeEnum.STRING
7261
+ plainToClass(ChartData, {
7262
+ name: 'Total',
7263
+ data: [
7264
+ {
7265
+ label: 'Market value',
7266
+ value: this.clientsPortfolioReportCollection.marketValue
7267
+ },
7268
+ {
7269
+ label: 'Loan balance',
7270
+ value: this.clientsPortfolioReportCollection.loanBalance
7271
+ },
7272
+ {
7273
+ label: 'Equity position',
7274
+ value: this.clientsPortfolioReportCollection.equityPosition
7275
+ }
7276
+ ]
7456
7277
  }),
7457
- ]);
7278
+ plainToClass(ChartData, {
7279
+ name: 'Average',
7280
+ data: [
7281
+ {
7282
+ label: 'Market value',
7283
+ value: this.clientsPortfolioReportCollection.averageMarketValue
7284
+ },
7285
+ {
7286
+ label: 'Loan balance',
7287
+ value: this.clientsPortfolioReportCollection.averageLoanBalance
7288
+ },
7289
+ {
7290
+ label: 'Equity position',
7291
+ value: this.clientsPortfolioReportCollection.averageEquityPosition
7292
+ }
7293
+ ]
7294
+ })
7295
+ ];
7458
7296
  }
7459
7297
  }
7460
7298
 
7461
- class HoldingTypeCollection extends Collection {
7462
- getOthers() {
7463
- return this.filterBy('category', [
7464
- HoldingTypeCategoryEnum.COLLECTIBLE,
7465
- HoldingTypeCategoryEnum.UNLISTED_STOCK,
7466
- HoldingTypeCategoryEnum.UNLISTED_UNIT,
7467
- HoldingTypeCategoryEnum.OTHER
7468
- ]);
7299
+ /**
7300
+ * Class describes client's portfolio report information
7301
+ */
7302
+ class ClientPortfolioReport extends AbstractModel {
7303
+ }
7304
+
7305
+ class EmployeeDetails extends EmployeeDetails$1 {
7306
+ }
7307
+ __decorate([
7308
+ Type(() => Firm)
7309
+ ], EmployeeDetails.prototype, "firm", void 0);
7310
+
7311
+ class ServicePayment extends ServicePayment$1 {
7312
+ /**
7313
+ * Stripe stores actual links to payment invoices for 30 days.
7314
+ * Link expires after 30 days
7315
+ */
7316
+ isInvoiceLinkExpired() {
7317
+ const expirationDate = new Date(this.date.setDate(this.date.getDate() + ServicePayment.daysToInvoiceUrlExpired));
7318
+ return expirationDate.getTime() < new Date().getTime();
7469
7319
  }
7470
7320
  }
7321
+ ServicePayment.daysToInvoiceUrlExpired = 30;
7322
+ __decorate([
7323
+ Type(() => ServiceSubscription)
7324
+ ], ServicePayment.prototype, "subscription", void 0);
7325
+ __decorate([
7326
+ Type(() => Date)
7327
+ ], ServicePayment.prototype, "date", void 0);
7471
7328
 
7472
- class AssetSaleCollection extends Collection {
7473
- get grossCapitalProfit() {
7474
- return this.filter((sale) => sale.grossCapitalGain > 0)
7475
- .sumBy('grossCapitalGain');
7329
+ let ServicePaymentMethod$1 = class ServicePaymentMethod extends AbstractModel {
7330
+ };
7331
+
7332
+ var PaymentMethodBrandEnum;
7333
+ (function (PaymentMethodBrandEnum) {
7334
+ PaymentMethodBrandEnum["UNKNOWN"] = "Unknown";
7335
+ PaymentMethodBrandEnum["AMEX"] = "American Express";
7336
+ PaymentMethodBrandEnum["DINERS"] = "Diners Club";
7337
+ PaymentMethodBrandEnum["DISCOVER"] = "Discover";
7338
+ PaymentMethodBrandEnum["JCB"] = "JCB";
7339
+ PaymentMethodBrandEnum["MASTERCARD"] = "Mastercard";
7340
+ PaymentMethodBrandEnum["UNIONPAY"] = "UnionPay";
7341
+ PaymentMethodBrandEnum["VISA"] = "Visa";
7342
+ })(PaymentMethodBrandEnum || (PaymentMethodBrandEnum = {}));
7343
+
7344
+ var ServicePaymentMethodCardBrandEnum;
7345
+ (function (ServicePaymentMethodCardBrandEnum) {
7346
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNKNOWN"] = 0] = "UNKNOWN";
7347
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["AMEX"] = 1] = "AMEX";
7348
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DINERS"] = 2] = "DINERS";
7349
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DISCOVER"] = 3] = "DISCOVER";
7350
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["JCB"] = 4] = "JCB";
7351
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["MASTERCARD"] = 5] = "MASTERCARD";
7352
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNIONPAY"] = 6] = "UNIONPAY";
7353
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["VISA"] = 7] = "VISA";
7354
+ })(ServicePaymentMethodCardBrandEnum || (ServicePaymentMethodCardBrandEnum = {}));
7355
+
7356
+ var ServicePaymentMethodTypeEnum;
7357
+ (function (ServicePaymentMethodTypeEnum) {
7358
+ ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["AU_BECS_DEBIT"] = 1] = "AU_BECS_DEBIT";
7359
+ ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["CARD"] = 2] = "CARD";
7360
+ })(ServicePaymentMethodTypeEnum || (ServicePaymentMethodTypeEnum = {}));
7361
+
7362
+ class ServicePaymentMethod extends ServicePaymentMethod$1 {
7363
+ get logo() {
7364
+ if (!this.isCard()) {
7365
+ return null;
7366
+ }
7367
+ return `/assets/img/payment-methods/${this.cardBrand}.svg`;
7476
7368
  }
7477
- get fullExemptionSales() {
7478
- return this.filter((sale) => sale.grossCapitalGain != 0 && sale.netCapitalGain == 0);
7369
+ get brandName() {
7370
+ return this.isCard() ? PaymentMethodBrandEnum[ServicePaymentMethodCardBrandEnum[this.cardBrand]] : 'BECS Direct Debit (AU)';
7479
7371
  }
7480
- get fullExemptionGrossCapitalProfit() {
7481
- return this.filter((sale) => sale.grossCapitalGain > 0 && sale.netCapitalGain == 0).grossCapitalProfit;
7372
+ /**
7373
+ * Get expiration date formatted string (MM/YY)
7374
+ */
7375
+ get expirationDate() {
7376
+ if (!this.isCard()) {
7377
+ return null;
7378
+ }
7379
+ return `${('0' + this.cardExpirationMonth).slice(-2)}/${this.cardExpirationYear.toString().slice(-2)}`;
7482
7380
  }
7483
- get halfExemptionGrossCapitalProfit() {
7484
- return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain !== sale.grossCapitalGain).grossCapitalProfit;
7381
+ get description() {
7382
+ return `${this.brandName} ***${this.lastFourDigits}`;
7485
7383
  }
7486
- get noExemptionGrossCapitalProfit() {
7487
- return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain === sale.grossCapitalGain).grossCapitalProfit;
7384
+ isCard() {
7385
+ return this.type === ServicePaymentMethodTypeEnum.CARD;
7386
+ }
7387
+ }
7388
+
7389
+ class User extends User$1 {
7390
+ get fullName() {
7391
+ return `${this.firstName} ${this.lastName}`;
7488
7392
  }
7489
- get taxableGrossCapitalProfit() {
7490
- return this.halfExemptionGrossCapitalProfit + this.noExemptionGrossCapitalProfit;
7393
+ get activeSubscription() {
7394
+ return this.subscriptions.find((ss) => ss.isActive);
7491
7395
  }
7492
- get currentYearCapitalLoss() {
7493
- return Math.abs(this.filterByFinancialYear('date').filter((sale) => sale.netCapitalGain < 0).sumBy('grossCapitalGain'));
7396
+ get lastSubscription() {
7397
+ return this.subscriptions[this.subscriptions.length - 1];
7494
7398
  }
7495
- calculateForwardCapitalLoss(priorCapitalLoss) {
7496
- // gross capital profit
7497
- const taxableGrossCapitalProfit = this.taxableGrossCapitalProfit;
7498
- // gross capital loss
7499
- const currentYearCapitalLoss = this.currentYearCapitalLoss;
7500
- const currentYearCapitalLossApplied = Math.min(taxableGrossCapitalProfit, currentYearCapitalLoss);
7501
- const priorYearCapitalLossApplied = Math.min(priorCapitalLoss, taxableGrossCapitalProfit - currentYearCapitalLossApplied);
7502
- const capitalLossApplied = currentYearCapitalLossApplied + priorYearCapitalLossApplied;
7503
- return this.currentYearCapitalLoss + priorCapitalLoss - capitalLossApplied;
7399
+ /**
7400
+ * @TODO refactor
7401
+ *
7402
+ */
7403
+ get position() {
7404
+ switch (true) {
7405
+ case this.isFirmOwner():
7406
+ return USER_WORK_POSITION[UserRolesEnum.FIRM_OWNER];
7407
+ case this.isManager():
7408
+ return USER_WORK_POSITION[UserRolesEnum.FIRM_MANAGER];
7409
+ case this.isEmployee():
7410
+ return USER_WORK_POSITION[UserRolesEnum.EMPLOYEE];
7411
+ default:
7412
+ return '';
7413
+ }
7504
7414
  }
7505
7415
  /**
7506
- * NET CAPITAL GAIN/(LOSS) AFTER CONCESSIONS & DISCOUNTS
7416
+ * search roles including hierarchy
7507
7417
  */
7508
- calculateNetCapitalGain(priorCapitalLoss) {
7509
- // gross capital profit
7510
- const noExemptionGrossCapitalProfit = this.noExemptionGrossCapitalProfit;
7511
- const taxableGrossCapitalProfit = this.taxableGrossCapitalProfit;
7512
- // gross capital loss
7513
- const currentYearCapitalLoss = this.currentYearCapitalLoss;
7514
- const currentYearCapitalLossApplied = Math.min(taxableGrossCapitalProfit, currentYearCapitalLoss);
7515
- const priorYearCapitalLossApplied = Math.min(priorCapitalLoss, taxableGrossCapitalProfit - currentYearCapitalLossApplied);
7516
- const capitalLossApplied = currentYearCapitalLossApplied + priorYearCapitalLossApplied;
7517
- // grossCapitalProfit after loss
7518
- const noExemptionCapitalGain = Math.max(noExemptionGrossCapitalProfit - capitalLossApplied, 0);
7519
- const halfExemptionCapitalGain = Math.max(this.halfExemptionGrossCapitalProfit - (capitalLossApplied - noExemptionGrossCapitalProfit), 0);
7520
- const capitalGain = noExemptionCapitalGain + halfExemptionCapitalGain;
7521
- // capitalGain after exemption
7522
- const cgtDiscount = halfExemptionCapitalGain / 2;
7523
- return noExemptionCapitalGain + cgtDiscount - currentYearCapitalLoss + currentYearCapitalLossApplied;
7418
+ hasRoles(roles) {
7419
+ roles = roles instanceof Array ? roles : [roles];
7420
+ if (!roles.length) {
7421
+ return true;
7422
+ }
7423
+ roles = flatten(roles.map((role) => USER_ROLES[role]));
7424
+ return !!intersection(this.roles, roles).length;
7524
7425
  }
7525
- }
7526
-
7527
- // @TODO Alex move here all collections
7528
-
7529
- var ServicePromoCodeDurationEnum;
7530
- (function (ServicePromoCodeDurationEnum) {
7531
- ServicePromoCodeDurationEnum[ServicePromoCodeDurationEnum["FOREVER"] = 1] = "FOREVER";
7532
- ServicePromoCodeDurationEnum[ServicePromoCodeDurationEnum["ONCE"] = 2] = "ONCE";
7533
- ServicePromoCodeDurationEnum[ServicePromoCodeDurationEnum["REPEATING"] = 3] = "REPEATING";
7534
- })(ServicePromoCodeDurationEnum || (ServicePromoCodeDurationEnum = {}));
7535
-
7536
- class ServicePromoCode {
7537
- isDurationForever() {
7538
- return this.duration === ServicePromoCodeDurationEnum.FOREVER;
7426
+ isOnboarding() {
7427
+ return this.status === UserStatusEnum.ON_BOARDING;
7539
7428
  }
7540
- isDurationOnce() {
7541
- return this.duration === ServicePromoCodeDurationEnum.ONCE;
7429
+ hasSubscription() {
7430
+ return this.roles.includes(UserRolesEnum.SUBSCRIPTION);
7542
7431
  }
7543
- isDurationRepeating() {
7544
- return this.duration === ServicePromoCodeDurationEnum.REPEATING;
7432
+ isLoggedIn() {
7433
+ return this.id === +localStorage.getItem('userId');
7545
7434
  }
7546
- }
7547
-
7548
- class ServiceSubscription extends ServiceSubscription$1 {
7549
- get promoCodeId() {
7550
- return this.promoCode?.id || null;
7435
+ isClient() {
7436
+ return this.roles.includes(UserRolesEnum.CLIENT);
7551
7437
  }
7552
- get frequency() {
7553
- return this.isAnnual() ? 'year' : 'month';
7438
+ isEmployee() {
7439
+ return this.isAccountant() || this.isAdvisor();
7554
7440
  }
7555
- get isTrial() {
7556
- return !this.stripeId;
7441
+ isAccountant() {
7442
+ return this.roles.includes(UserRolesEnum.ACCOUNTANT);
7557
7443
  }
7558
- get isPaid() {
7559
- return !!this.stripeId;
7444
+ isAdvisor() {
7445
+ return this.roles.includes(UserRolesEnum.ADVISOR);
7560
7446
  }
7561
- get initialPrice() {
7562
- const price = this.items.reduce((sum, item) => sum + item.total, 0);
7563
- return price;
7447
+ isImpersonator() {
7448
+ return this.roles.includes(UserRolesEnum.SWITCH_USER);
7564
7449
  }
7565
- get discountAmount() {
7566
- return this.initialPrice - this.price;
7450
+ /**
7451
+ * Check if current user is firm owner
7452
+ */
7453
+ isFirmOwner() {
7454
+ return this.roles.includes(UserRolesEnum.FIRM_OWNER);
7567
7455
  }
7568
- get price() {
7569
- let price = this.items.reduce((sum, item) => sum + item.total, 0);
7570
- if (!!this.promoCode && !this.isAnnual()) {
7571
- if (this.promoCode.amountOff) {
7572
- price = price - this.promoCode.amountOff;
7573
- }
7574
- else {
7575
- price = price - price * (this.promoCode.percentOff / 100);
7576
- }
7577
- }
7578
- // promo code can't make price < 0
7579
- return price > 0 ? price : 0;
7456
+ /**
7457
+ * Check if current user is firm manager
7458
+ */
7459
+ isManager() {
7460
+ return this.roles.includes(UserRolesEnum.FIRM_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_OWNER);
7580
7461
  }
7581
7462
  /**
7582
- * get title of subscription
7463
+ * check if user has property tank access
7583
7464
  */
7584
- get title() {
7585
- return this.items.map((item) => item.price.product.title).join(' + ');
7586
- // return this.isTrial ? 'Trial period' : this.items.map((item) => item.price.product.title).join(' + ');
7465
+ hasPropertyTank() {
7466
+ return this.roles ?
7467
+ this.roles.includes(UserRolesEnum.PROPERTY_TANK) :
7468
+ !!this.getSubscriptionRole(UserRolesEnum.PROPERTY_TANK);
7587
7469
  }
7588
7470
  /**
7589
- * A subscription is considered active if the end date has not yet arrived and its status is "Active" or "Past due"
7471
+ * check if user has property tank access
7590
7472
  */
7591
- get isActive() {
7592
- const isExpired = new Date(this.endDate).getTime() < new Date().getTime();
7593
- return !isExpired && ([ServiceSubscriptionStatusEnum.ACTIVE, ServiceSubscriptionStatusEnum.PAST_DUE].includes(this.status));
7473
+ hasWorkTank() {
7474
+ return this.roles ?
7475
+ this.roles.includes(UserRolesEnum.WORK_TANK) :
7476
+ !!this.getSubscriptionRole(UserRolesEnum.WORK_TANK);
7594
7477
  }
7595
- isRenewable() {
7596
- return !this.isTrial && this.isActive;
7478
+ /**
7479
+ * Get user subscription role by provided role type
7480
+ * @param roleType by which role should be returned
7481
+ */
7482
+ getSubscriptionRole(roleType) {
7483
+ /**
7484
+ * Add @TODO for Alex to check if we should use getLastSubscription here
7485
+ */
7486
+ return this.activeSubscription?.items
7487
+ .find((subscriptionItem) => subscriptionItem.price.product.role.includes(roleType));
7597
7488
  }
7598
- getItems() {
7599
- return new SubscriptionItemCollection(this.items);
7489
+ /**
7490
+ * Get user's photo link
7491
+ */
7492
+ getPhoto() {
7493
+ return this.photo;
7600
7494
  }
7601
7495
  /**
7602
- * @TODO move to collection
7496
+ * get user's initials
7603
7497
  */
7604
- get workTankItem() {
7605
- return this.items.find((item) => item.price.product.isWorkTank());
7498
+ getPhotoPlaceholder() {
7499
+ return `${this.firstName[0].toUpperCase()}${this.firstName[1]}`;
7606
7500
  }
7607
- get soleTankItem() {
7608
- return this.items.find((item) => item.price.product.isSoleTank());
7501
+ isCurrentFinancialYear() {
7502
+ return new FinancialYear(new Date()).year === this.financialYear;
7609
7503
  }
7610
- get propertyTankItem() {
7611
- return this.items.find((item) => item.price.product.isProperties());
7504
+ /**
7505
+ * financial years available in the app for user
7506
+ * starts from 2022 for new users and registeredYear - 1 for old users
7507
+ */
7508
+ get financialYears() {
7509
+ return range(Math.min(FinancialYear.toFinYear(this.createdAt) - 1, 2022), FinancialYear.toFinYear(new Date()) + 1);
7612
7510
  }
7613
- hasPropertyTank() {
7614
- return !!this.items.find((subscriptionItem) => subscriptionItem.price.product.role.includes(UserRolesEnum.PROPERTY_TANK));
7511
+ }
7512
+ __decorate([
7513
+ Type(() => ServiceSubscription)
7514
+ ], User.prototype, "subscriptions", void 0);
7515
+ __decorate([
7516
+ Type(() => ClientDetails)
7517
+ ], User.prototype, "clientDetails", void 0);
7518
+ __decorate([
7519
+ Type(() => EmployeeDetails)
7520
+ ], User.prototype, "employeeDetails", void 0);
7521
+ __decorate([
7522
+ Type(() => SoleDetails)
7523
+ ], User.prototype, "soleDetails", void 0);
7524
+ __decorate([
7525
+ Type(() => Address)
7526
+ ], User.prototype, "address", void 0);
7527
+ __decorate([
7528
+ Type(() => Phone)
7529
+ ], User.prototype, "phone", void 0);
7530
+ __decorate([
7531
+ Type(() => Date)
7532
+ ], User.prototype, "createdAt", void 0);
7533
+ __decorate([
7534
+ Type(() => User)
7535
+ ], User.prototype, "clients", void 0);
7536
+
7537
+ class PropertySubscription extends PropertySubscription$1 {
7538
+ }
7539
+ __decorate([
7540
+ Type(() => Date)
7541
+ ], PropertySubscription.prototype, "createdAt", void 0);
7542
+ __decorate([
7543
+ Type(() => User)
7544
+ ], PropertySubscription.prototype, "user", void 0);
7545
+
7546
+ var PropertyCategoryListEnum;
7547
+ (function (PropertyCategoryListEnum) {
7548
+ PropertyCategoryListEnum[PropertyCategoryListEnum["OWNER_OCCUPIED"] = 3] = "OWNER_OCCUPIED";
7549
+ PropertyCategoryListEnum[PropertyCategoryListEnum["SHARED"] = 4] = "SHARED";
7550
+ PropertyCategoryListEnum[PropertyCategoryListEnum["VACANT_LAND"] = 5] = "VACANT_LAND";
7551
+ })(PropertyCategoryListEnum || (PropertyCategoryListEnum = {}));
7552
+
7553
+ class PropertyCategory extends PropertyCategory$1 {
7554
+ // @Todo check if category is Owner Occupied. If will be needed to check more categories - move the checking to the backend
7555
+ isOwnerOccupied() {
7556
+ return this.id === PropertyCategoryListEnum.OWNER_OCCUPIED;
7557
+ }
7558
+ isVacantLand() {
7559
+ return this.id === PropertyCategoryListEnum.VACANT_LAND;
7560
+ }
7561
+ isShared() {
7562
+ return this.id === PropertyCategoryListEnum.SHARED;
7563
+ }
7564
+ }
7565
+
7566
+ class PropertyDocument extends PropertyDocument$1 {
7567
+ constructor() {
7568
+ super(...arguments);
7569
+ this.type = AssetTypeEnum.PROPERTY;
7570
+ this.entityType = AssetEntityTypeEnum.PROPERTIES;
7571
+ }
7572
+ getApiUrlPrefix() {
7573
+ return '';
7574
+ }
7575
+ getEntity() {
7576
+ return this.property;
7577
+ }
7578
+ }
7579
+
7580
+ class PropertyValuation extends PropertyValuation$1 {
7581
+ get financialYear() {
7582
+ return new FinancialYear(this.date).year;
7615
7583
  }
7616
- hasWorkTank() {
7617
- return !!this.items.find((subscriptionItem) => subscriptionItem.price.product.role.includes(UserRolesEnum.WORK_TANK));
7584
+ isCurrentYear() {
7585
+ return this.financialYear === new FinancialYear(new Date()).year;
7618
7586
  }
7619
- /**
7620
- * bought before price updates, active for some time to let customer select a new plan
7621
- * impossible to update, only prolong or buy new
7622
- */
7623
- isArchived() {
7624
- // subscription with at least one archived product considered as archived
7625
- return !!this.items.filter((item) => item.price.product.isArchived()).length;
7587
+ }
7588
+ __decorate([
7589
+ Type(() => Date)
7590
+ ], PropertyValuation.prototype, "date", void 0);
7591
+ __decorate([
7592
+ Type(() => PropertyDocument)
7593
+ ], PropertyValuation.prototype, "document", void 0);
7594
+ __decorate([
7595
+ Type(() => Number)
7596
+ ], PropertyValuation.prototype, "marketValue", void 0);
7597
+ __decorate([
7598
+ Exclude()
7599
+ ], PropertyValuation.prototype, "documentFile", void 0);
7600
+
7601
+ class PropertyForecast extends PropertyForecast$1 {
7602
+ constructor() {
7603
+ super(...arguments);
7604
+ this.financialYear = new FinancialYear(new Date()).year;
7626
7605
  }
7627
7606
  /**
7628
- * Case when payment was failed, but user has a time to update payment method
7607
+ * Get cash position
7608
+ * Cash Position = Income - Expense - Interest
7629
7609
  */
7630
- isPastDue() {
7631
- return this.status === ServiceSubscriptionStatusEnum.PAST_DUE;
7610
+ get cashPosition() {
7611
+ return this.income + this.expense + this.interest;
7632
7612
  }
7633
7613
  /**
7634
- * Check if current subscription has provided subscription item
7614
+ * Get tax position
7615
+ * Tax Position = Income - Expense - Interest - Depreciation
7635
7616
  */
7636
- hasItem(itemToCheck) {
7637
- return !!this.items.find((item) => item.price.id === itemToCheck.price.id);
7638
- }
7639
- hasProduct(product) {
7640
- return !!this.items.find((item) => item.price.product.id === product.id);
7617
+ get taxPosition() {
7618
+ return this.cashPosition + this.depreciation;
7641
7619
  }
7642
7620
  /**
7643
- * package might have not all products, if it's purchased before release of the new product
7621
+ * Get rental return percent
7622
+ * Rental Return = Income / Market Value
7644
7623
  */
7645
- isPackage() {
7646
- return this.getItems().prices.first?.isPackage();
7647
- }
7648
- isFullPackage() {
7649
- return this.items.length === ServiceProduct.quantity;
7650
- }
7651
- isAnnual() {
7652
- return !!(this.getItems().prices.annual.length || this.getItems().prices.annualPackage.length);
7624
+ get rentalReturn() {
7625
+ return this.income / this.marketValue;
7653
7626
  }
7654
7627
  /**
7655
- * Recommended number of properties to buy,
7656
- * based on the property service product and the number of properties the user has
7628
+ * Check if forecast is for real current fin year (not selected in the sidebar)
7657
7629
  */
7658
- getRecommendedPropertiesQty(propertyItem, propertiesQty) {
7659
- const min = propertyItem.price.product.minQty;
7660
- return Math.max(min, propertiesQty);
7661
- }
7662
- promoCodeEndDate() {
7663
- return +moment(this.startDate).add(this.promoCode?.durationMonths, 'months');
7630
+ isCurrentYear() {
7631
+ return this.financialYear === new FinancialYear(new Date()).year;
7664
7632
  }
7665
7633
  }
7666
7634
  __decorate([
7667
- Type(() => Date)
7668
- ], ServiceSubscription.prototype, "startDate", void 0);
7635
+ Transform(({ value }) => +value)
7636
+ ], PropertyForecast.prototype, "income", void 0);
7669
7637
  __decorate([
7670
- Type(() => Date)
7671
- ], ServiceSubscription.prototype, "endDate", void 0);
7638
+ Transform(({ value }) => -Math.abs(+value))
7639
+ ], PropertyForecast.prototype, "expense", void 0);
7672
7640
  __decorate([
7673
- Type(() => Date)
7674
- ], ServiceSubscription.prototype, "createdAt", void 0);
7641
+ Transform(({ value }) => -Math.abs(+value))
7642
+ ], PropertyForecast.prototype, "interest", void 0);
7675
7643
  __decorate([
7676
- Type(() => ServiceSubscriptionItem)
7677
- ], ServiceSubscription.prototype, "items", void 0);
7644
+ Transform(({ value }) => -Math.abs(+value))
7645
+ ], PropertyForecast.prototype, "depreciation", void 0);
7678
7646
  __decorate([
7679
- Type(() => ServicePromoCode)
7680
- ], ServiceSubscription.prototype, "promoCode", void 0);
7647
+ Transform(({ value }) => +value)
7648
+ ], PropertyForecast.prototype, "loanBalance", void 0);
7681
7649
  __decorate([
7682
- Expose()
7683
- ], ServiceSubscription.prototype, "promoCodeId", null);
7650
+ Transform(({ value }) => +value)
7651
+ ], PropertyForecast.prototype, "marketValue", void 0);
7684
7652
 
7685
- class ClientMovement extends ClientMovement$1 {
7653
+ class PropertyCategoryMovement extends PropertyCategoryMovement$1 {
7686
7654
  }
7687
7655
  __decorate([
7688
- Type(() => Firm)
7689
- ], ClientMovement.prototype, "firm", void 0);
7690
- __decorate([
7691
- Type(() => User)
7692
- ], ClientMovement.prototype, "client", void 0);
7693
- __decorate([
7694
- Type(() => User)
7695
- ], ClientMovement.prototype, "employee", void 0);
7656
+ Type(() => PropertyValuation)
7657
+ ], PropertyCategoryMovement.prototype, "valuation", void 0);
7696
7658
  __decorate([
7697
- Type(() => ServiceSubscription)
7698
- ], ClientMovement.prototype, "subscription", void 0);
7659
+ Type(() => PropertyCategory)
7660
+ ], PropertyCategoryMovement.prototype, "propertyCategory", void 0);
7699
7661
  __decorate([
7700
7662
  Type(() => Date)
7701
- ], ClientMovement.prototype, "dateFrom", void 0);
7663
+ ], PropertyCategoryMovement.prototype, "fromDate", void 0);
7702
7664
  __decorate([
7703
7665
  Type(() => Date)
7704
- ], ClientMovement.prototype, "dateTo", void 0);
7666
+ ], PropertyCategoryMovement.prototype, "toDate", void 0);
7705
7667
 
7706
7668
  /**
7707
- * Client portfolio charts data based on ClientPortfolioReportCollection
7669
+ * propertySale docs - https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4209508353/Property+Sold+button
7708
7670
  */
7709
- class ClientPortfolioChartData {
7710
- constructor(clientsPortfolioReportCollection) {
7711
- this.clientsPortfolioReportCollection = clientsPortfolioReportCollection;
7671
+ class Property extends Property$1 {
7672
+ get name() {
7673
+ return this.address.name;
7712
7674
  }
7713
- getPieChartData() {
7714
- return this.clientsPortfolioReportCollection.items.map((clientPortfolioReport) => plainToClass(ChartData, {
7715
- name: clientPortfolioReport.category,
7716
- data: clientPortfolioReport.count
7717
- }));
7675
+ get isActive() {
7676
+ return !!this.subscriptions?.length;
7718
7677
  }
7719
- getBarChartData() {
7720
- return [
7721
- plainToClass(ChartData, {
7722
- name: 'Total',
7723
- data: [
7724
- {
7725
- label: 'Market value',
7726
- value: this.clientsPortfolioReportCollection.marketValue
7727
- },
7728
- {
7729
- label: 'Loan balance',
7730
- value: this.clientsPortfolioReportCollection.loanBalance
7731
- },
7732
- {
7733
- label: 'Equity position',
7734
- value: this.clientsPortfolioReportCollection.equityPosition
7735
- }
7736
- ]
7737
- }),
7738
- plainToClass(ChartData, {
7739
- name: 'Average',
7740
- data: [
7741
- {
7742
- label: 'Market value',
7743
- value: this.clientsPortfolioReportCollection.averageMarketValue
7744
- },
7745
- {
7746
- label: 'Loan balance',
7747
- value: this.clientsPortfolioReportCollection.averageLoanBalance
7748
- },
7749
- {
7750
- label: 'Equity position',
7751
- value: this.clientsPortfolioReportCollection.averageEquityPosition
7752
- }
7753
- ]
7754
- })
7755
- ];
7678
+ isOwn() {
7679
+ return this.user.id === +localStorage.getItem('userId');
7680
+ }
7681
+ isSold() {
7682
+ return !!this.myShare?.sale;
7756
7683
  }
7757
- }
7758
-
7759
- /**
7760
- * Class describes client's portfolio report information
7761
- */
7762
- class ClientPortfolioReport extends AbstractModel {
7763
- }
7764
-
7765
- class EmployeeDetails extends EmployeeDetails$1 {
7766
- }
7767
- __decorate([
7768
- Type(() => Firm)
7769
- ], EmployeeDetails.prototype, "firm", void 0);
7770
-
7771
- class ServicePayment extends ServicePayment$1 {
7772
7684
  /**
7773
- * Stripe stores actual links to payment invoices for 30 days.
7774
- * Link expires after 30 days
7685
+ * Get initials of property. Required by Photoable interface
7775
7686
  */
7776
- isInvoiceLinkExpired() {
7777
- const expirationDate = new Date(this.date.setDate(this.date.getDate() + ServicePayment.daysToInvoiceUrlExpired));
7778
- return expirationDate.getTime() < new Date().getTime();
7687
+ getPhotoPlaceholder() {
7688
+ return this.name.split(' ')[1].slice(0, 2);
7779
7689
  }
7780
- }
7781
- ServicePayment.daysToInvoiceUrlExpired = 30;
7782
- __decorate([
7783
- Type(() => ServiceSubscription)
7784
- ], ServicePayment.prototype, "subscription", void 0);
7785
- __decorate([
7786
- Type(() => Date)
7787
- ], ServicePayment.prototype, "date", void 0);
7788
-
7789
- let ServicePaymentMethod$1 = class ServicePaymentMethod extends AbstractModel {
7790
- };
7791
-
7792
- var PaymentMethodBrandEnum;
7793
- (function (PaymentMethodBrandEnum) {
7794
- PaymentMethodBrandEnum["UNKNOWN"] = "Unknown";
7795
- PaymentMethodBrandEnum["AMEX"] = "American Express";
7796
- PaymentMethodBrandEnum["DINERS"] = "Diners Club";
7797
- PaymentMethodBrandEnum["DISCOVER"] = "Discover";
7798
- PaymentMethodBrandEnum["JCB"] = "JCB";
7799
- PaymentMethodBrandEnum["MASTERCARD"] = "Mastercard";
7800
- PaymentMethodBrandEnum["UNIONPAY"] = "UnionPay";
7801
- PaymentMethodBrandEnum["VISA"] = "Visa";
7802
- })(PaymentMethodBrandEnum || (PaymentMethodBrandEnum = {}));
7803
-
7804
- var ServicePaymentMethodCardBrandEnum;
7805
- (function (ServicePaymentMethodCardBrandEnum) {
7806
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNKNOWN"] = 0] = "UNKNOWN";
7807
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["AMEX"] = 1] = "AMEX";
7808
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DINERS"] = 2] = "DINERS";
7809
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DISCOVER"] = 3] = "DISCOVER";
7810
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["JCB"] = 4] = "JCB";
7811
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["MASTERCARD"] = 5] = "MASTERCARD";
7812
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNIONPAY"] = 6] = "UNIONPAY";
7813
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["VISA"] = 7] = "VISA";
7814
- })(ServicePaymentMethodCardBrandEnum || (ServicePaymentMethodCardBrandEnum = {}));
7815
-
7816
- var ServicePaymentMethodTypeEnum;
7817
- (function (ServicePaymentMethodTypeEnum) {
7818
- ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["AU_BECS_DEBIT"] = 1] = "AU_BECS_DEBIT";
7819
- ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["CARD"] = 2] = "CARD";
7820
- })(ServicePaymentMethodTypeEnum || (ServicePaymentMethodTypeEnum = {}));
7821
-
7822
- class ServicePaymentMethod extends ServicePaymentMethod$1 {
7823
- get logo() {
7824
- if (!this.isCard()) {
7825
- return null;
7826
- }
7827
- return `/assets/img/payment-methods/${this.cardBrand}.svg`;
7690
+ /**
7691
+ * Get property photo. Required by Photoable interface
7692
+ */
7693
+ getPhoto() {
7694
+ return this.photo;
7695
+ }
7696
+ get capitalCostsTotalAmount() {
7697
+ return this.stampDuty + this.legalFees + this.otherCapitalCosts;
7698
+ }
7699
+ get currentYearValuations() {
7700
+ return this.valuations.filter((valuation) => valuation.isCurrentYear());
7828
7701
  }
7829
- get brandName() {
7830
- return this.isCard() ? PaymentMethodBrandEnum[ServicePaymentMethodCardBrandEnum[this.cardBrand]] : 'BECS Direct Debit (AU)';
7702
+ get marketValue() {
7703
+ return this.actualValuation?.marketValue || 0;
7831
7704
  }
7832
- /**
7833
- * Get expiration date formatted string (MM/YY)
7834
- */
7835
- get expirationDate() {
7836
- if (!this.isCard()) {
7837
- return null;
7838
- }
7839
- return `${('0' + this.cardExpirationMonth).slice(-2)}/${this.cardExpirationYear.toString().slice(-2)}`;
7705
+ get currentYearForecast() {
7706
+ return this.forecasts.find((forecast) => forecast.isCurrentYear());
7840
7707
  }
7841
- get description() {
7842
- return `${this.brandName} ***${this.lastFourDigits}`;
7708
+ get forecastedRentalReturn() {
7709
+ return this.currentYearForecast?.rentalReturn || 0;
7843
7710
  }
7844
- isCard() {
7845
- return this.type === ServicePaymentMethodTypeEnum.CARD;
7711
+ get forecastedTaxPosition() {
7712
+ return this.currentYearForecast?.taxPosition || 0;
7846
7713
  }
7847
- }
7848
-
7849
- class User extends User$1 {
7850
- get fullName() {
7851
- return `${this.firstName} ${this.lastName}`;
7714
+ get forecastedCashPosition() {
7715
+ return this.currentYearForecast?.cashPosition || 0;
7852
7716
  }
7853
- get activeSubscription() {
7854
- return this.subscriptions.find((ss) => ss.isActive);
7717
+ get firstForecastYear() {
7718
+ return this.forecasts.reduce((min, forecast) => min > forecast.financialYear ? forecast.financialYear : min, new FinancialYear().year);
7855
7719
  }
7856
- get lastSubscription() {
7857
- return this.subscriptions[this.subscriptions.length - 1];
7720
+ get marketValueGrowth() {
7721
+ return (this.marketValue - this.purchasePrice) / this.marketValue;
7858
7722
  }
7859
- /**
7860
- * @TODO refactor
7861
- *
7862
- */
7863
- get position() {
7864
- switch (true) {
7865
- case this.isFirmOwner():
7866
- return USER_WORK_POSITION[UserRolesEnum.FIRM_OWNER];
7867
- case this.isManager():
7868
- return USER_WORK_POSITION[UserRolesEnum.FIRM_MANAGER];
7869
- case this.isEmployee():
7870
- return USER_WORK_POSITION[UserRolesEnum.EMPLOYEE];
7871
- default:
7872
- return '';
7873
- }
7723
+ get myShare() {
7724
+ return this.shares.find((share) => share.user.id === +localStorage.getItem('userId'));
7874
7725
  }
7875
- /**
7876
- * search roles including hierarchy
7877
- */
7878
- hasRoles(roles) {
7879
- roles = roles instanceof Array ? roles : [roles];
7880
- if (!roles.length) {
7881
- return true;
7882
- }
7883
- roles = flatten(roles.map((role) => USER_ROLES[role]));
7884
- return !!intersection(this.roles, roles).length;
7726
+ get actualValuation() {
7727
+ return this.valuations.reduce((maxDateValuation, valuation) => maxDateValuation.date > valuation.date ? maxDateValuation : valuation, this.valuations[0]);
7885
7728
  }
7886
- isOnboarding() {
7887
- return this.status === UserStatusEnum.ON_BOARDING;
7729
+ get claimPercent() {
7730
+ return this.currentYearForecast.claimPercent;
7888
7731
  }
7889
- hasSubscription() {
7890
- return this.roles.includes(UserRolesEnum.SUBSCRIPTION);
7732
+ get claimCoefficient() {
7733
+ return this.claimPercent / 100;
7891
7734
  }
7892
- isLoggedIn() {
7893
- return this.id === +localStorage.getItem('userId');
7735
+ get sharePercent() {
7736
+ return this.myShare.percent;
7894
7737
  }
7895
- isClient() {
7896
- return this.roles.includes(UserRolesEnum.CLIENT);
7738
+ get shareRatio() {
7739
+ return this.myShare.percent / 100;
7897
7740
  }
7898
- isEmployee() {
7899
- return this.isAccountant() || this.isAdvisor();
7741
+ get previousCategory() {
7742
+ let previousCategory;
7743
+ const movementsCount = this.categoryMovements.length;
7744
+ if (movementsCount > 1) {
7745
+ previousCategory = this.categoryMovements[movementsCount - 2].propertyCategory;
7746
+ }
7747
+ return previousCategory;
7900
7748
  }
7901
- isAccountant() {
7902
- return this.roles.includes(UserRolesEnum.ACCOUNTANT);
7749
+ getCurrentSubscription() {
7750
+ // always return first element because subscriptions array contains only one element
7751
+ return this.subscriptions[0];
7903
7752
  }
7904
- isAdvisor() {
7905
- return this.roles.includes(UserRolesEnum.ADVISOR);
7753
+ getForecastByYear(year) {
7754
+ return this.forecasts.find((forecast) => forecast.financialYear === year);
7906
7755
  }
7907
- isImpersonator() {
7908
- return this.roles.includes(UserRolesEnum.SWITCH_USER);
7756
+ get isShared() {
7757
+ return this.shares.length > 1;
7909
7758
  }
7910
7759
  /**
7911
- * Check if current user is firm owner
7760
+ * @TODO consider to move methods related with propertySale to separated class, since used just in one module yet
7761
+ * purchase costs - claimed costs, except `ppr to investment` exemption,
7762
+ * in that case it's equal to market value, when property became an investment property
7912
7763
  */
7913
- isFirmOwner() {
7914
- return this.roles.includes(UserRolesEnum.FIRM_OWNER);
7764
+ calculateCostBase(sale) {
7765
+ const marketValue = new PropertySaleTaxExemptionMetaFieldCollection(sale.taxExemptionMetaFields).getMarketValue();
7766
+ if (marketValue) {
7767
+ return marketValue;
7768
+ }
7769
+ return this.purchasePrice + this.capitalCostsTotalAmount + sale.holdingCosts + sale.structuralImprovementsWDV - sale.buildingAtCostClaimed;
7770
+ }
7771
+ calculateGrossCapitalGain(sale) {
7772
+ return round((sale.netPrice - this.calculateCostBase(sale)) * this.getPartialCGTExemptionRatio(sale) * this.shareRatio, 2);
7915
7773
  }
7916
7774
  /**
7917
- * Check if current user is firm manager
7775
+ * net capital gain includes tax exemption
7918
7776
  */
7919
- isManager() {
7920
- return this.roles.includes(UserRolesEnum.FIRM_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_OWNER);
7777
+ calculateNetCapitalGain(sale) {
7778
+ return this.getCGTExemptionRatio(sale) * sale.grossCapitalGain;
7921
7779
  }
7922
7780
  /**
7923
- * check if user has property tank access
7781
+ * guess tax exemption based on property details
7924
7782
  */
7925
- hasPropertyTank() {
7926
- return this.roles ?
7927
- this.roles.includes(UserRolesEnum.PROPERTY_TANK) :
7928
- !!this.getSubscriptionRole(UserRolesEnum.PROPERTY_TANK);
7783
+ getCGTExemption(sale) {
7784
+ if (sale.taxExemption) {
7785
+ return sale.taxExemption.id;
7786
+ }
7787
+ switch (true) {
7788
+ // exemption for main residence properties
7789
+ case this.category.id === PropertyCategoryListEnum.OWNER_OCCUPIED:
7790
+ return TaxExemptionEnum.PPR;
7791
+ // exemption for investment properties owned for at least one year
7792
+ case this.isOneYearExemptionApplicable(sale):
7793
+ return TaxExemptionEnum.ONE_YEAR_RULE;
7794
+ default:
7795
+ return null;
7796
+ }
7797
+ }
7798
+ getPartialCGTExemptionRatio(sale) {
7799
+ const metaFields = new PropertySaleTaxExemptionMetaFieldCollection(sale.taxExemptionMetaFields);
7800
+ switch (sale.taxExemption?.id) {
7801
+ case TaxExemptionEnum.INVESTMENT_TO_PPR:
7802
+ const ownershipDays = this.getOwnershipDuration(sale);
7803
+ return (ownershipDays - metaFields.getPPRDays()) / ownershipDays;
7804
+ case TaxExemptionEnum.PPR_TO_INVESTMENT:
7805
+ return metaFields.getClaimPercent() / 100;
7806
+ default:
7807
+ return 1;
7808
+ }
7929
7809
  }
7930
7810
  /**
7931
- * check if user has property tank access
7811
+ * tax exemption can reduce cgt from 100% to less (up to zero)
7932
7812
  */
7933
- hasWorkTank() {
7934
- return this.roles ?
7935
- this.roles.includes(UserRolesEnum.WORK_TANK) :
7936
- !!this.getSubscriptionRole(UserRolesEnum.WORK_TANK);
7813
+ getCGTExemptionRatio(sale) {
7814
+ switch (sale.taxExemption?.id) {
7815
+ // 50% exemption for investments owned for at least one year
7816
+ case TaxExemptionEnum.ONE_YEAR_RULE:
7817
+ return 0.5;
7818
+ case TaxExemptionEnum.INVESTMENT_TO_PPR:
7819
+ case TaxExemptionEnum.PPR_TO_INVESTMENT:
7820
+ return this.isOneYearExemptionApplicable(sale) ? 0.5 : 1;
7821
+ // full exemption
7822
+ case TaxExemptionEnum.PPR:
7823
+ case TaxExemptionEnum.SIX_YEARS_RULE:
7824
+ case TaxExemptionEnum.TRANSFER:
7825
+ case TaxExemptionEnum.OTHER:
7826
+ return 0;
7827
+ // no exemption
7828
+ default:
7829
+ return 1;
7830
+ }
7937
7831
  }
7938
7832
  /**
7939
- * Get user subscription role by provided role type
7940
- * @param roleType by which role should be returned
7833
+ * in cgt report we apply losses, which can reset 1 year rule (in case if there is no profit after loss)
7941
7834
  */
7942
- getSubscriptionRole(roleType) {
7943
- /**
7944
- * Add @TODO for Alex to check if we should use getLastSubscription here
7945
- */
7946
- return this.activeSubscription?.items
7947
- .find((subscriptionItem) => subscriptionItem.price.product.role.includes(roleType));
7835
+ isOneYearExemptionApplicable(sale) {
7836
+ return sale.grossCapitalGain > 0 && this.getOwnershipDuration(sale, 'years') > 0;
7948
7837
  }
7949
7838
  /**
7950
- * Get user's photo link
7839
+ * CGT is not applicable for properties acquired before 20.09.1985 (tax didn't exist before this date).
7840
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Capital gains or losses" section)
7951
7841
  */
7952
- getPhoto() {
7953
- return this.photo;
7842
+ isCGTApplicable() {
7843
+ return this.contractDate >= Property.preCGTAssetDate;
7954
7844
  }
7955
7845
  /**
7956
- * get user's initials
7846
+ * ownership duration from purchase till sale
7957
7847
  */
7958
- getPhotoPlaceholder() {
7959
- return `${this.firstName[0].toUpperCase()}${this.firstName[1]}`;
7960
- }
7961
- isCurrentFinancialYear() {
7962
- return new FinancialYear(new Date()).year === this.financialYear;
7848
+ getOwnershipDuration(sale, unitOfTime = 'days') {
7849
+ return moment(sale.date).diff(moment(this.contractDate), unitOfTime);
7963
7850
  }
7964
7851
  /**
7965
- * financial years available in the app for user
7966
- * starts from 2022 for new users and registeredYear - 1 for old users
7852
+ * Tax Position = Income - Expense - Interest - Depreciation
7853
+ * Where (Income - Expense - Interest) is cash position.
7854
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217415928/Dashboard+Property
7967
7855
  */
7968
- get financialYears() {
7969
- return range(Math.min(FinancialYear.toFinYear(this.createdAt) - 1, 2022), FinancialYear.toFinYear(new Date()) + 1);
7856
+ getTaxPosition(transactions, depreciations) {
7857
+ return transactions.grossClaimAmount - Math.abs(depreciations.claimAmount);
7970
7858
  }
7971
7859
  }
7860
+ /**
7861
+ * Property acquired before 20 September 1985 will generally be treated as pre-Capital Gains Tax (CGT) assets.
7862
+ * Any assets acquired before this day are CGT exempt (because the tax didn't exist before this date).
7863
+ */
7864
+ Property.preCGTAssetDate = new Date(1985, 9, 20);
7972
7865
  __decorate([
7973
- Type(() => ServiceSubscription)
7974
- ], User.prototype, "subscriptions", void 0);
7866
+ Type(() => Number)
7867
+ ], Property.prototype, "purchasePrice", void 0);
7975
7868
  __decorate([
7976
- Type(() => ClientDetails)
7977
- ], User.prototype, "clientDetails", void 0);
7869
+ Type(() => Number)
7870
+ ], Property.prototype, "growthPercent", void 0);
7978
7871
  __decorate([
7979
- Type(() => EmployeeDetails)
7980
- ], User.prototype, "employeeDetails", void 0);
7872
+ Type(() => Date)
7873
+ ], Property.prototype, "contractDate", void 0);
7981
7874
  __decorate([
7982
- Type(() => SoleDetails)
7983
- ], User.prototype, "soleDetails", void 0);
7875
+ Type(() => Date)
7876
+ ], Property.prototype, "settlementDate", void 0);
7984
7877
  __decorate([
7985
7878
  Type(() => Address)
7986
- ], User.prototype, "address", void 0);
7879
+ ], Property.prototype, "address", void 0);
7880
+ __decorate([
7881
+ Type(() => PropertyCategory)
7882
+ ], Property.prototype, "category", void 0);
7883
+ __decorate([
7884
+ Type(() => Number)
7885
+ ], Property.prototype, "stampDuty", void 0);
7886
+ __decorate([
7887
+ Type(() => Number)
7888
+ ], Property.prototype, "legalFees", void 0);
7889
+ __decorate([
7890
+ Type(() => Number)
7891
+ ], Property.prototype, "otherCapitalCosts", void 0);
7892
+ __decorate([
7893
+ Type(() => PropertyValuation)
7894
+ ], Property.prototype, "valuations", void 0);
7987
7895
  __decorate([
7988
- Type(() => Phone)
7989
- ], User.prototype, "phone", void 0);
7896
+ Type(() => PropertyForecast)
7897
+ ], Property.prototype, "forecasts", void 0);
7990
7898
  __decorate([
7991
- Type(() => Date)
7992
- ], User.prototype, "createdAt", void 0);
7899
+ Type(() => PropertyCategoryMovement)
7900
+ ], Property.prototype, "categoryMovements", void 0);
7993
7901
  __decorate([
7994
7902
  Type(() => User)
7995
- ], User.prototype, "clients", void 0);
7996
-
7997
- class PropertySubscription extends PropertySubscription$1 {
7998
- }
7903
+ ], Property.prototype, "user", void 0);
7999
7904
  __decorate([
8000
- Type(() => Date)
8001
- ], PropertySubscription.prototype, "createdAt", void 0);
7905
+ Type(() => PropertySubscription)
7906
+ ], Property.prototype, "subscriptions", void 0);
8002
7907
  __decorate([
8003
- Type(() => User)
8004
- ], PropertySubscription.prototype, "user", void 0);
7908
+ Exclude()
7909
+ ], Property.prototype, "documentFile", void 0);
8005
7910
 
8006
7911
  /**
8007
- * propertySale docs - https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4209508353/Property+Sold+button
7912
+ * @Todo TT-2143 should be removed when PropertySaleCostBaseForm refactored (cut property to separated form)
8008
7913
  */
8009
- class Property extends Property$1 {
8010
- get name() {
8011
- return this.address.name;
8012
- }
8013
- get isActive() {
8014
- return !!this.subscriptions?.length;
7914
+ class PropertySaleCostBase {
7915
+ static createFrom(property, propertySale, depreciations, holdingCosts) {
7916
+ return plainToClass(PropertySaleCostBase, {
7917
+ property: plainToClass(Property, property),
7918
+ sale: plainToClass(PropertySale, Object.assign({}, propertySale, {
7919
+ holdingCosts: propertySale.holdingCosts ?? Math.abs(holdingCosts.sumBy('amount')),
7920
+ structuralImprovementsWDV: propertySale.structuralImprovementsWDV ?? depreciations.getWithCapitalProject().getCloseBalanceByYear(),
7921
+ buildingAtCostClaimed: propertySale.buildingAtCostClaimed ?? depreciations.getWithoutCapitalProject().getClaimedAmountByYear(),
7922
+ })),
7923
+ });
8015
7924
  }
8016
- isOwn() {
8017
- return this.user.id === +localStorage.getItem('userId');
7925
+ }
7926
+
7927
+ class PropertySaleTaxExemptionMetaField extends PropertySaleTaxExemptionMetaField$1 {
7928
+ }
7929
+
7930
+ class TaxExemptionMetaField extends TaxExemptionMetaField$1 {
7931
+ }
7932
+
7933
+ /**
7934
+ * Calculation form control types
7935
+ */
7936
+ var CalculationFormTypeEnum;
7937
+ (function (CalculationFormTypeEnum) {
7938
+ CalculationFormTypeEnum[CalculationFormTypeEnum["INPUT"] = 1] = "INPUT";
7939
+ CalculationFormTypeEnum[CalculationFormTypeEnum["SELECT"] = 2] = "SELECT";
7940
+ })(CalculationFormTypeEnum || (CalculationFormTypeEnum = {}));
7941
+
7942
+ /**
7943
+ * Fields to implement custom calculation form
7944
+ */
7945
+ class CalculationFormItem {
7946
+ constructor() {
7947
+ // type of control (input, select, e.t.c)
7948
+ this.type = CalculationFormTypeEnum.SELECT;
8018
7949
  }
8019
- isSold() {
8020
- return !!this.myShare?.sale;
7950
+ }
7951
+ __decorate([
7952
+ Transform(({ obj }) => obj.type === CalculationFormTypeEnum.SELECT),
7953
+ Expose()
7954
+ ], CalculationFormItem.prototype, "isSelect", void 0);
7955
+
7956
+ const CAPITAL_COSTS_ITEMS = [
7957
+ plainToClass(CalculationFormItem, {
7958
+ name: 'rentingWholeProperty',
7959
+ value: null,
7960
+ label: 'Are you renting out the whole property?',
7961
+ type: CalculationFormTypeEnum.SELECT,
7962
+ dependentFields: ['howBigIsProperty', 'howBigIsLetArea', 'howBigIsCommonAreas'],
7963
+ isDisabled: false,
7964
+ validators: [Validators.required]
7965
+ }),
7966
+ plainToClass(CalculationFormItem, {
7967
+ name: 'rentingWholeYear',
7968
+ value: null,
7969
+ label: 'Are you renting out for the whole year?',
7970
+ type: CalculationFormTypeEnum.SELECT,
7971
+ dependentFields: ['howManyDays'],
7972
+ isDisabled: false,
7973
+ validators: [Validators.required]
7974
+ }),
7975
+ plainToClass(CalculationFormItem, {
7976
+ name: 'howBigIsProperty',
7977
+ value: null,
7978
+ label: 'How big is the property?',
7979
+ type: CalculationFormTypeEnum.INPUT,
7980
+ isDisabled: true,
7981
+ validators: [Validators.required, Validators.min(1)]
7982
+ }),
7983
+ plainToClass(CalculationFormItem, {
7984
+ name: 'howBigIsLetArea',
7985
+ value: null,
7986
+ label: 'How big is the let area?',
7987
+ type: CalculationFormTypeEnum.INPUT,
7988
+ isDisabled: true,
7989
+ validators: [Validators.required, Validators.min(1)]
7990
+ }),
7991
+ plainToClass(CalculationFormItem, {
7992
+ name: 'howBigIsCommonAreas',
7993
+ value: null,
7994
+ label: 'How big are the common areas?',
7995
+ type: CalculationFormTypeEnum.INPUT,
7996
+ isDisabled: true,
7997
+ validators: [Validators.required, Validators.min(1)]
7998
+ }),
7999
+ plainToClass(CalculationFormItem, {
8000
+ name: 'howManyDays',
8001
+ value: null,
8002
+ label: 'How many days of the year is the property available for rent?',
8003
+ type: CalculationFormTypeEnum.INPUT,
8004
+ isDisabled: true,
8005
+ validators: [Validators.required, Validators.min(1)]
8006
+ }),
8007
+ ];
8008
+
8009
+ /**
8010
+ * class contains equity information for passed financial year
8011
+ */
8012
+ class PropertyEquityChartItem {
8013
+ constructor(year, marketValue, loanBalance) {
8014
+ this.year = year;
8015
+ this.marketValue = marketValue || 0;
8016
+ this.loanBalance = loanBalance || 0;
8021
8017
  }
8022
8018
  /**
8023
- * Get initials of property. Required by Photoable interface
8019
+ * calculate equity position
8024
8020
  */
8025
- getPhotoPlaceholder() {
8026
- return this.name.split(' ')[1].slice(0, 2);
8021
+ get equityPosition() {
8022
+ return this.marketValue - this.loanBalance;
8027
8023
  }
8028
8024
  /**
8029
- * Get property photo. Required by Photoable interface
8025
+ * return this equity position instance as chart serie
8026
+ * @param type
8030
8027
  */
8031
- getPhoto() {
8032
- return this.photo;
8033
- }
8034
- get capitalCostsTotalAmount() {
8035
- return this.stampDuty + this.legalFees + this.otherCapitalCosts;
8036
- }
8037
- get currentYearValuations() {
8038
- return this.valuations.filter((valuation) => valuation.isCurrentYear());
8039
- }
8040
- get marketValue() {
8041
- return this.actualValuation?.marketValue || 0;
8042
- }
8043
- get currentYearForecast() {
8044
- return this.forecasts.find((forecast) => forecast.isCurrentYear());
8045
- }
8046
- get forecastedRentalReturn() {
8047
- return this.currentYearForecast?.rentalReturn || 0;
8048
- }
8049
- get forecastedTaxPosition() {
8050
- return this.currentYearForecast?.taxPosition || 0;
8051
- }
8052
- get forecastedCashPosition() {
8053
- return this.currentYearForecast?.cashPosition || 0;
8054
- }
8055
- get firstForecastYear() {
8056
- return this.forecasts.reduce((min, forecast) => min > forecast.financialYear ? forecast.financialYear : min, new FinancialYear().year);
8057
- }
8058
- get marketValueGrowth() {
8059
- return (this.marketValue - this.purchasePrice) / this.marketValue;
8060
- }
8061
- get myShare() {
8062
- return this.shares.find((share) => share.user.id === +localStorage.getItem('userId'));
8063
- }
8064
- get actualValuation() {
8065
- return this.valuations.reduce((maxDateValuation, valuation) => maxDateValuation.date > valuation.date ? maxDateValuation : valuation, this.valuations[0]);
8066
- }
8067
- get claimPercent() {
8068
- return this.currentYearForecast.claimPercent;
8069
- }
8070
- get claimCoefficient() {
8071
- return this.claimPercent / 100;
8072
- }
8073
- get sharePercent() {
8074
- return this.myShare.percent;
8075
- }
8076
- get shareRatio() {
8077
- return this.myShare.percent / 100;
8078
- }
8079
- get previousCategory() {
8080
- let previousCategory;
8081
- const movementsCount = this.categoryMovements.length;
8082
- if (movementsCount > 1) {
8083
- previousCategory = this.categoryMovements[movementsCount - 2].propertyCategory;
8084
- }
8085
- return previousCategory;
8028
+ getSerie(type) {
8029
+ return [this.year, this[type]];
8086
8030
  }
8087
- getCurrentSubscription() {
8088
- // always return first element because subscriptions array contains only one element
8089
- return this.subscriptions[0];
8031
+ }
8032
+
8033
+ var PropertyEquityChartTypeEnum;
8034
+ (function (PropertyEquityChartTypeEnum) {
8035
+ PropertyEquityChartTypeEnum["MARKET_VALUE"] = "marketValue";
8036
+ PropertyEquityChartTypeEnum["LOAN_BALANCE"] = "loanBalance";
8037
+ })(PropertyEquityChartTypeEnum || (PropertyEquityChartTypeEnum = {}));
8038
+
8039
+ // count of years for future values
8040
+ const FORECAST_YEARS = 25;
8041
+ /**
8042
+ * class contain actual and forecasted market values and loan balances for passed properties
8043
+ * X axis - years from the first actual data year to the last forecasted year
8044
+ * Y axis - amounts of market values, loan balances
8045
+ * Also on hover appear equity positions point
8046
+ */
8047
+ class PropertyEquityChartData {
8048
+ constructor(properties, bankAccounts, loans, registerDate) {
8049
+ this.registerDate = registerDate;
8050
+ this.properties = properties;
8051
+ this.bankAccounts = bankAccounts.getLoanAccounts();
8052
+ this.loans = loans;
8053
+ this.currentYear = new FinancialYear(new Date()).year;
8054
+ this.initItems();
8055
+ this.buildHistoryItems();
8056
+ this.buildActualItem();
8057
+ this.buildForecastedItems();
8058
+ this.checkZeroLoanBalance();
8059
+ this.checkZeroMarketValue();
8090
8060
  }
8091
- getForecastByYear(year) {
8092
- return this.forecasts.find((forecast) => forecast.financialYear === year);
8061
+ /**
8062
+ * get items list in chart series format
8063
+ * @param type
8064
+ */
8065
+ getChartSeries(type) {
8066
+ return this.list.map((item) => item.getSerie(type));
8093
8067
  }
8094
- get isShared() {
8095
- return this.shares.length > 1;
8068
+ /**
8069
+ * get prepared chart data
8070
+ */
8071
+ getChartData() {
8072
+ return [
8073
+ {
8074
+ id: 'marketValue',
8075
+ name: 'Market Value',
8076
+ series: this.getChartSeries(PropertyEquityChartTypeEnum.MARKET_VALUE),
8077
+ // display future market value with dash line and past market value with solid line
8078
+ zones: [{
8079
+ // line style after current calendar year
8080
+ value: this.currentYear,
8081
+ dashStyle: 'Solid'
8082
+ }, {
8083
+ // default line style
8084
+ dashStyle: 'Dash'
8085
+ }]
8086
+ },
8087
+ {
8088
+ // id used to add/remove serie to chart
8089
+ id: 'loanBalance',
8090
+ name: 'Loan Balance',
8091
+ series: this.getChartSeries(PropertyEquityChartTypeEnum.LOAN_BALANCE)
8092
+ }
8093
+ ];
8096
8094
  }
8097
8095
  /**
8098
- * @TODO consider to move methods related with propertySale to separated class, since used just in one module yet
8099
- * purchase costs - claimed costs, except `ppr to investment` exemption,
8100
- * in that case it's equal to market value, when property became an investment property
8096
+ * create empty equity position item for each year in collection
8101
8097
  */
8102
- calculateCostBase(sale) {
8103
- const marketValue = new PropertySaleTaxExemptionMetaFieldCollection(sale.taxExemptionMetaFields).getMarketValue();
8104
- if (marketValue) {
8105
- return marketValue;
8098
+ initItems() {
8099
+ this.list = [];
8100
+ for (let year = new FinancialYear(this.registerDate).year - 1; year <= (this.currentYear + FORECAST_YEARS); year++) {
8101
+ this.list.push(new PropertyEquityChartItem(year));
8106
8102
  }
8107
- return this.purchasePrice + this.capitalCostsTotalAmount + sale.holdingCosts + sale.structuralImprovementsWDV - sale.buildingAtCostClaimed;
8108
- }
8109
- calculateGrossCapitalGain(sale) {
8110
- return round((sale.netPrice - this.calculateCostBase(sale)) * this.getPartialCGTExemptionRatio(sale) * this.shareRatio, 2);
8111
8103
  }
8112
8104
  /**
8113
- * net capital gain includes tax exemption
8105
+ * collect equity position items with past values from properties forecasts
8114
8106
  */
8115
- calculateNetCapitalGain(sale) {
8116
- return this.getCGTExemptionRatio(sale) * sale.grossCapitalGain;
8107
+ buildHistoryItems() {
8108
+ // get items for past and current years
8109
+ const items = this.list.filter((item) => item.year <= this.currentYear);
8110
+ items.forEach((item) => {
8111
+ // increase item values with property actual forecasts for item year
8112
+ item.marketValue = this.properties.items.reduce((sum, property) => sum + this.getMarketValueForPropertyByYear(property, item.year), 0);
8113
+ item.loanBalance = Math.abs(this.properties.items.reduce((sum, property) => sum + this.getLoanBalanceForPropertyByYear(property, item.year), 0));
8114
+ });
8117
8115
  }
8118
8116
  /**
8119
- * guess tax exemption based on property details
8117
+ * set actual year's real data
8118
+ * @private
8120
8119
  */
8121
- getCGTExemption(sale) {
8122
- if (sale.taxExemption) {
8123
- return sale.taxExemption.id;
8124
- }
8125
- switch (true) {
8126
- // exemption for main residence properties
8127
- case this.category.id === PropertyCategoryListEnum.OWNER_OCCUPIED:
8128
- return TaxExemptionEnum.PPR;
8129
- // exemption for investment properties owned for at least one year
8130
- case this.isOneYearExemptionApplicable(sale):
8131
- return TaxExemptionEnum.ONE_YEAR_RULE;
8132
- default:
8133
- return null;
8134
- }
8135
- }
8136
- getPartialCGTExemptionRatio(sale) {
8137
- const metaFields = new PropertySaleTaxExemptionMetaFieldCollection(sale.taxExemptionMetaFields);
8138
- switch (sale.taxExemption?.id) {
8139
- case TaxExemptionEnum.INVESTMENT_TO_PPR:
8140
- const ownershipDays = this.getOwnershipDuration(sale);
8141
- return (ownershipDays - metaFields.getPPRDays()) / ownershipDays;
8142
- case TaxExemptionEnum.PPR_TO_INVESTMENT:
8143
- return metaFields.getClaimPercent() / 100;
8144
- default:
8145
- return 1;
8146
- }
8120
+ buildActualItem() {
8121
+ const item = this.list.find((i) => i.year === this.currentYear);
8122
+ item.marketValue = this.properties.marketValue;
8123
+ item.loanBalance = this.properties.items.reduce((sum, property) => sum + Math.abs(this.bankAccounts.getPropertyBalanceAmount(property.id)), 0);
8147
8124
  }
8148
8125
  /**
8149
- * tax exemption can reduce cgt from 100% to less (up to zero)
8126
+ * collect equity position items with forecasted (future) calculated values
8150
8127
  */
8151
- getCGTExemptionRatio(sale) {
8152
- switch (sale.taxExemption?.id) {
8153
- // 50% exemption for investments owned for at least one year
8154
- case TaxExemptionEnum.ONE_YEAR_RULE:
8155
- return 0.5;
8156
- case TaxExemptionEnum.INVESTMENT_TO_PPR:
8157
- case TaxExemptionEnum.PPR_TO_INVESTMENT:
8158
- return this.isOneYearExemptionApplicable(sale) ? 0.5 : 1;
8159
- // full exemption
8160
- case TaxExemptionEnum.PPR:
8161
- case TaxExemptionEnum.SIX_YEARS_RULE:
8162
- case TaxExemptionEnum.TRANSFER:
8163
- case TaxExemptionEnum.OTHER:
8164
- return 0;
8165
- // no exemption
8166
- default:
8167
- return 1;
8168
- }
8128
+ buildForecastedItems() {
8129
+ // calculate future values for all properties separately
8130
+ this.properties.items.forEach((property) => {
8131
+ let forecastedMarketValue = (property.growthPercent / 100) * property.marketValue + property.marketValue;
8132
+ // calculate future values for each future year for current handling property
8133
+ this.list
8134
+ .filter((item) => item.year > this.currentYear)
8135
+ .forEach((item) => {
8136
+ const propertyBankAccounts = this.bankAccounts.getByPropertyId(property.id);
8137
+ // increase loan balance amount for handling equity position item
8138
+ item.loanBalance += this.getLoanBalanceByYear(property, item.year, propertyBankAccounts, this.loans.getByBankAccountsIds(propertyBankAccounts.getIds()));
8139
+ // increase market value amount for handling equity position item
8140
+ item.marketValue += forecastedMarketValue;
8141
+ // increase current market value forecast for the next cycle iteration
8142
+ forecastedMarketValue += forecastedMarketValue * (property.growthPercent / 100);
8143
+ });
8144
+ });
8169
8145
  }
8170
8146
  /**
8171
- * in cgt report we apply losses, which can reset 1 year rule (in case if there is no profit after loss)
8147
+ * Get property loan balance by financial year
8148
+ * @param property Property instance for filter
8149
+ * @param year Financial year number
8150
+ * @param bankAccounts List of bank accounts
8151
+ * @param loans List of loans
8152
+ * @private
8172
8153
  */
8173
- isOneYearExemptionApplicable(sale) {
8174
- return sale.grossCapitalGain > 0 && this.getOwnershipDuration(sale, 'years') > 0;
8154
+ getLoanBalanceByYear(property, year, bankAccounts, loans) {
8155
+ return bankAccounts.items.reduce((totalSum, bankAccount) => totalSum + (bankAccount.getPropertyPercentage(property.id) * (loans.getByBankAccountId(bankAccount.id)?.getLastPaymentByYear(year)?.totalOwed || 0)), 0);
8156
+ }
8157
+ getMarketValueForPropertyByYear(property, year) {
8158
+ if (new FinancialYear(property.contractDate).year > year) {
8159
+ return 0;
8160
+ }
8161
+ return (property.getForecastByYear(year) || first(property.forecasts)).marketValue;
8162
+ }
8163
+ getLoanBalanceForPropertyByYear(property, year) {
8164
+ if (new FinancialYear(property.contractDate).year > year) {
8165
+ return 0;
8166
+ }
8167
+ return property.getForecastByYear(year)?.loanBalance || this.bankAccounts.getPropertyBalanceAmount(property.id);
8175
8168
  }
8176
8169
  /**
8177
- * CGT is not applicable for properties acquired before 20.09.1985 (tax didn't exist before this date).
8178
- * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Capital gains or losses" section)
8170
+ * Check if loan balance is 0 and set it as null (to not to draw point on the chart)
8179
8171
  */
8180
- isCGTApplicable() {
8181
- return this.contractDate >= Property.preCGTAssetDate;
8172
+ checkZeroLoanBalance() {
8173
+ this.list.forEach((item) => {
8174
+ if (item.loanBalance === 0) {
8175
+ item.loanBalance = null;
8176
+ }
8177
+ });
8182
8178
  }
8183
8179
  /**
8184
- * ownership duration from purchase till sale
8180
+ * Check if market value is 0 and set it as null (to not to draw point on the chart)
8185
8181
  */
8186
- getOwnershipDuration(sale, unitOfTime = 'days') {
8187
- return moment(sale.date).diff(moment(this.contractDate), unitOfTime);
8182
+ checkZeroMarketValue() {
8183
+ this.list.forEach((item) => {
8184
+ if (item.marketValue === 0) {
8185
+ item.marketValue = null;
8186
+ }
8187
+ });
8188
+ }
8189
+ }
8190
+
8191
+ var PropertyShareStatusEnum;
8192
+ (function (PropertyShareStatusEnum) {
8193
+ PropertyShareStatusEnum[PropertyShareStatusEnum["PENDING"] = 1] = "PENDING";
8194
+ PropertyShareStatusEnum[PropertyShareStatusEnum["APPROVED"] = 2] = "APPROVED";
8195
+ PropertyShareStatusEnum[PropertyShareStatusEnum["REJECTED"] = 3] = "REJECTED";
8196
+ })(PropertyShareStatusEnum || (PropertyShareStatusEnum = {}));
8197
+
8198
+ class PropertyShare extends PropertyShare$1 {
8199
+ isAccepted() {
8200
+ return this.status === PropertyShareStatusEnum.APPROVED;
8201
+ }
8202
+ isPending() {
8203
+ return this.status === PropertyShareStatusEnum.PENDING;
8204
+ }
8205
+ isRejected() {
8206
+ return this.status === PropertyShareStatusEnum.REJECTED;
8207
+ }
8208
+ get statusName() {
8209
+ return PropertyShareStatusEnum[this.status]?.toLowerCase();
8188
8210
  }
8189
8211
  /**
8190
- * Tax Position = Income - Expense - Interest - Depreciation
8191
- * Where (Income - Expense - Interest) is cash position.
8192
- * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217415928/Dashboard+Property
8212
+ * Return full user name if user is already registered.
8213
+ * Otherwise - return first name from invitation
8193
8214
  */
8194
- getTaxPosition(transactions, depreciations) {
8195
- return transactions.grossClaimAmount - Math.abs(depreciations.claimAmount);
8215
+ get userName() {
8216
+ return this.user ? this.user.fullName : `${this.invite.firstName}`;
8196
8217
  }
8197
8218
  }
8198
- /**
8199
- * Property acquired before 20 September 1985 will generally be treated as pre-Capital Gains Tax (CGT) assets.
8200
- * Any assets acquired before this day are CGT exempt (because the tax didn't exist before this date).
8201
- */
8202
- Property.preCGTAssetDate = new Date(1985, 9, 20);
8203
- __decorate([
8204
- Type(() => Number)
8205
- ], Property.prototype, "purchasePrice", void 0);
8206
- __decorate([
8207
- Type(() => Number)
8208
- ], Property.prototype, "growthPercent", void 0);
8209
8219
  __decorate([
8210
8220
  Type(() => Date)
8211
- ], Property.prototype, "contractDate", void 0);
8221
+ ], PropertyShare.prototype, "fromDate", void 0);
8212
8222
  __decorate([
8213
8223
  Type(() => Date)
8214
- ], Property.prototype, "settlementDate", void 0);
8215
- __decorate([
8216
- Type(() => Address)
8217
- ], Property.prototype, "address", void 0);
8218
- __decorate([
8219
- Type(() => PropertyCategory)
8220
- ], Property.prototype, "category", void 0);
8221
- __decorate([
8222
- Type(() => Number)
8223
- ], Property.prototype, "stampDuty", void 0);
8224
- __decorate([
8225
- Type(() => Number)
8226
- ], Property.prototype, "legalFees", void 0);
8227
- __decorate([
8228
- Type(() => Number)
8229
- ], Property.prototype, "otherCapitalCosts", void 0);
8230
- __decorate([
8231
- Type(() => PropertyValuation)
8232
- ], Property.prototype, "valuations", void 0);
8233
- __decorate([
8234
- Type(() => PropertyForecast)
8235
- ], Property.prototype, "forecasts", void 0);
8236
- __decorate([
8237
- Type(() => PropertyCategoryMovement)
8238
- ], Property.prototype, "categoryMovements", void 0);
8224
+ ], PropertyShare.prototype, "toDate", void 0);
8239
8225
  __decorate([
8240
8226
  Type(() => User)
8241
- ], Property.prototype, "user", void 0);
8227
+ ], PropertyShare.prototype, "user", void 0);
8242
8228
  __decorate([
8243
- Type(() => PropertySubscription)
8244
- ], Property.prototype, "subscriptions", void 0);
8229
+ Type(() => RegistrationInvite)
8230
+ ], PropertyShare.prototype, "invite", void 0);
8245
8231
  __decorate([
8246
- Exclude()
8247
- ], Property.prototype, "documentFile", void 0);
8232
+ Type(() => Property)
8233
+ ], PropertyShare.prototype, "property", void 0);
8234
+ __decorate([
8235
+ Transform(({ obj }) => obj.user ? obj.user.email : obj.invite.email)
8236
+ ], PropertyShare.prototype, "email", void 0);
8237
+
8238
+ /**
8239
+ * @TODO used only on dashboard, move from tt-core
8240
+ * Enum with properties ownership filter options
8241
+ */
8242
+ var ShareFilterOptionsEnum;
8243
+ (function (ShareFilterOptionsEnum) {
8244
+ ShareFilterOptionsEnum[ShareFilterOptionsEnum["ALL"] = 1] = "ALL";
8245
+ ShareFilterOptionsEnum[ShareFilterOptionsEnum["CREATED"] = 2] = "CREATED";
8246
+ ShareFilterOptionsEnum[ShareFilterOptionsEnum["SHARED"] = 3] = "SHARED";
8247
+ })(ShareFilterOptionsEnum || (ShareFilterOptionsEnum = {}));
8248
8248
 
8249
8249
  class BankAccountProperty extends BankAccountProperty$1 {
8250
8250
  }
@@ -8252,7 +8252,7 @@ __decorate([
8252
8252
  Type(() => Property)
8253
8253
  ], BankAccountProperty.prototype, "property", void 0);
8254
8254
  __decorate([
8255
- Transform(({ value }) => value || 100),
8255
+ Transform(({ value }) => isNaN(value) ? 100 : value),
8256
8256
  Expose()
8257
8257
  ], BankAccountProperty.prototype, "percent", void 0);
8258
8258
 
@@ -9180,9 +9180,9 @@ class JwtService extends JwtHelperService {
9180
9180
  return this.getUser().id === userId;
9181
9181
  }
9182
9182
  }
9183
- JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9184
- JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JwtService, providedIn: 'root' });
9185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JwtService, decorators: [{
9183
+ JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
9184
+ JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, providedIn: 'root' });
9185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, decorators: [{
9186
9186
  type: Injectable,
9187
9187
  args: [{
9188
9188
  providedIn: 'root'
@@ -9217,9 +9217,9 @@ class EventDispatcherService {
9217
9217
  this.eventSubject2.next(event);
9218
9218
  }
9219
9219
  }
9220
- EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9221
- EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
9222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EventDispatcherService, decorators: [{
9220
+ EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9221
+ EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
9222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, decorators: [{
9223
9223
  type: Injectable,
9224
9224
  args: [{
9225
9225
  providedIn: 'root'
@@ -9268,9 +9268,9 @@ class AuthService {
9268
9268
  location.replace(url);
9269
9269
  }
9270
9270
  }
9271
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9272
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AuthService, providedIn: 'root' });
9273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AuthService, decorators: [{
9271
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9272
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, providedIn: 'root' });
9273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, decorators: [{
9274
9274
  type: Injectable,
9275
9275
  args: [{
9276
9276
  providedIn: 'root'
@@ -9403,9 +9403,9 @@ class JwtInterceptor {
9403
9403
  });
9404
9404
  }
9405
9405
  }
9406
- JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JwtInterceptor, deps: [{ token: JwtService }, { token: AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9407
- JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JwtInterceptor });
9408
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JwtInterceptor, decorators: [{
9406
+ JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtInterceptor, deps: [{ token: JwtService }, { token: AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9407
+ JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtInterceptor });
9408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtInterceptor, decorators: [{
9409
9409
  type: Injectable
9410
9410
  }], ctorParameters: function () { return [{ type: JwtService }, { type: AuthService }, { type: undefined, decorators: [{
9411
9411
  type: Inject,
@@ -9438,9 +9438,9 @@ class UserSwitcherService {
9438
9438
  window.location.replace('/firm/dashboard');
9439
9439
  }
9440
9440
  }
9441
- UserSwitcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserSwitcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9442
- UserSwitcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserSwitcherService, providedIn: 'root' });
9443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserSwitcherService, decorators: [{
9441
+ UserSwitcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9442
+ UserSwitcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherService, providedIn: 'root' });
9443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherService, decorators: [{
9444
9444
  type: Injectable,
9445
9445
  args: [{
9446
9446
  providedIn: 'root'
@@ -9486,9 +9486,9 @@ class UserSwitcherInterceptor {
9486
9486
  return next.handle(this.switch(request, this.userSwitcherService.get()));
9487
9487
  }
9488
9488
  }
9489
- UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9490
- UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserSwitcherInterceptor });
9491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
9489
+ UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9490
+ UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherInterceptor });
9491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
9492
9492
  type: Injectable
9493
9493
  }], ctorParameters: function () { return [{ type: UserSwitcherService }, { type: undefined, decorators: [{
9494
9494
  type: Inject,
@@ -9767,9 +9767,9 @@ class PreloaderService {
9767
9767
  this.activePreloaders.next(activePreloaders);
9768
9768
  }
9769
9769
  }
9770
- PreloaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreloaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9771
- PreloaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreloaderService, providedIn: 'root' });
9772
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreloaderService, decorators: [{
9770
+ PreloaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9771
+ PreloaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderService, providedIn: 'root' });
9772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderService, decorators: [{
9773
9773
  type: Injectable,
9774
9774
  args: [{
9775
9775
  providedIn: 'root'
@@ -9797,9 +9797,9 @@ class PreloaderInterceptor {
9797
9797
  return Object.values(ENDPOINTS).find((endpoint) => endpoint.test(requestPath));
9798
9798
  }
9799
9799
  }
9800
- PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
9801
- PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreloaderInterceptor });
9802
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreloaderInterceptor, decorators: [{
9800
+ PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
9801
+ PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderInterceptor });
9802
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderInterceptor, decorators: [{
9803
9803
  type: Injectable
9804
9804
  }], ctorParameters: function () { return [{ type: PreloaderService }]; } });
9805
9805
 
@@ -9829,9 +9829,9 @@ class DataService {
9829
9829
  this.cache = this.createCollectionInstance(this.collectionClass, data.map((item) => this.createModelInstance(item)));
9830
9830
  }
9831
9831
  }
9832
- DataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9833
- DataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DataService, providedIn: 'root' });
9834
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DataService, decorators: [{
9832
+ DataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9833
+ DataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DataService, providedIn: 'root' });
9834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DataService, decorators: [{
9835
9835
  type: Injectable,
9836
9836
  args: [{
9837
9837
  providedIn: 'root'
@@ -9868,9 +9868,9 @@ class SseService {
9868
9868
  .pipe(map((messageEvent) => JSON.parse(messageEvent.data)));
9869
9869
  }
9870
9870
  }
9871
- SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9872
- SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SseService, providedIn: 'root' });
9873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SseService, decorators: [{
9871
+ SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
9872
+ SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, providedIn: 'root' });
9873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, decorators: [{
9874
9874
  type: Injectable,
9875
9875
  args: [{
9876
9876
  providedIn: 'root'
@@ -10084,9 +10084,9 @@ let RestService$1 = class RestService extends DataService {
10084
10084
  */
10085
10085
  listenEvents() { }
10086
10086
  };
10087
- RestService$1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RestService$1, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10088
- RestService$1.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RestService$1, providedIn: 'root' });
10089
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RestService$1, decorators: [{
10087
+ RestService$1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RestService$1, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10088
+ RestService$1.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RestService$1, providedIn: 'root' });
10089
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RestService$1, decorators: [{
10090
10090
  type: Injectable,
10091
10091
  args: [{
10092
10092
  providedIn: 'root'
@@ -10229,9 +10229,9 @@ class ToastService {
10229
10229
  }));
10230
10230
  }
10231
10231
  }
10232
- ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10233
- ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToastService, providedIn: 'root' });
10234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToastService, decorators: [{
10232
+ ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10233
+ ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToastService, providedIn: 'root' });
10234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ToastService, decorators: [{
10235
10235
  type: Injectable,
10236
10236
  args: [{
10237
10237
  providedIn: 'root'
@@ -10309,9 +10309,9 @@ class BankConnectionService extends RestService$1 {
10309
10309
  });
10310
10310
  }
10311
10311
  }
10312
- BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
10313
- BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
10314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankConnectionService, decorators: [{
10312
+ BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
10313
+ BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
10314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, decorators: [{
10315
10315
  type: Injectable,
10316
10316
  args: [{
10317
10317
  providedIn: 'root'
@@ -10451,9 +10451,9 @@ BasiqService.retrieveAccountsCheckInterval = 3000;
10451
10451
  * How long we will wait accounts retrieving, break after timeout if not retireved
10452
10452
  */
10453
10453
  BasiqService.retrieveAccountsTimeout = 20000;
10454
- BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
10455
- BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqService, providedIn: 'root' });
10456
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqService, decorators: [{
10454
+ BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
10455
+ BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, providedIn: 'root' });
10456
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, decorators: [{
10457
10457
  type: Injectable,
10458
10458
  args: [{
10459
10459
  providedIn: 'root'
@@ -10488,9 +10488,9 @@ class BasiqTokenService extends RestService$1 {
10488
10488
  return new BasiqToken(tokenResponse['access_token'], new Date(now + tokenResponse['expires_in'] * 1000));
10489
10489
  }
10490
10490
  }
10491
- BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqTokenService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10492
- BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
10493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqTokenService, decorators: [{
10491
+ BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
10492
+ BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
10493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, decorators: [{
10494
10494
  type: Injectable,
10495
10495
  args: [{
10496
10496
  providedIn: 'root'
@@ -10519,9 +10519,9 @@ class BasiqTokenInterceptor {
10519
10519
  });
10520
10520
  }
10521
10521
  }
10522
- BasiqTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqTokenInterceptor, deps: [{ token: BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
10523
- BasiqTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqTokenInterceptor });
10524
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqTokenInterceptor, decorators: [{
10522
+ BasiqTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenInterceptor, deps: [{ token: BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
10523
+ BasiqTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenInterceptor });
10524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenInterceptor, decorators: [{
10525
10525
  type: Injectable
10526
10526
  }], ctorParameters: function () { return [{ type: BasiqTokenService }]; } });
10527
10527
 
@@ -10703,9 +10703,9 @@ class UserService {
10703
10703
  });
10704
10704
  }
10705
10705
  }
10706
- UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10707
- UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserService, providedIn: 'root' });
10708
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserService, decorators: [{
10706
+ UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10707
+ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserService, providedIn: 'root' });
10708
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserService, decorators: [{
10709
10709
  type: Injectable,
10710
10710
  args: [{
10711
10711
  providedIn: 'root'
@@ -10735,17 +10735,17 @@ class BasiqClientIdInterceptor {
10735
10735
  });
10736
10736
  }
10737
10737
  }
10738
- BasiqClientIdInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqClientIdInterceptor, deps: [{ token: UserService }], target: i0.ɵɵFactoryTarget.Injectable });
10739
- BasiqClientIdInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqClientIdInterceptor });
10740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasiqClientIdInterceptor, decorators: [{
10738
+ BasiqClientIdInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqClientIdInterceptor, deps: [{ token: UserService }], target: i0.ɵɵFactoryTarget.Injectable });
10739
+ BasiqClientIdInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqClientIdInterceptor });
10740
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqClientIdInterceptor, decorators: [{
10741
10741
  type: Injectable
10742
10742
  }], ctorParameters: function () { return [{ type: UserService }]; } });
10743
10743
 
10744
10744
  class InterceptorsModule {
10745
10745
  }
10746
- InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10747
- InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: InterceptorsModule });
10748
- InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterceptorsModule, providers: [
10746
+ InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10747
+ InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: InterceptorsModule });
10748
+ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: InterceptorsModule, providers: [
10749
10749
  {
10750
10750
  provide: HTTP_INTERCEPTORS,
10751
10751
  useClass: CorelogicInterceptor,
@@ -10783,7 +10783,7 @@ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
10783
10783
  multi: true
10784
10784
  }
10785
10785
  ] });
10786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InterceptorsModule, decorators: [{
10786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: InterceptorsModule, decorators: [{
10787
10787
  type: NgModule,
10788
10788
  args: [{
10789
10789
  providers: [
@@ -10841,12 +10841,12 @@ class TtCoreModule {
10841
10841
  };
10842
10842
  }
10843
10843
  }
10844
- TtCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TtCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10845
- TtCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
10844
+ TtCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TtCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10845
+ TtCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
10846
10846
  InterceptorsModule] });
10847
- TtCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
10847
+ TtCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
10848
10848
  InterceptorsModule] });
10849
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TtCoreModule, decorators: [{
10849
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TtCoreModule, decorators: [{
10850
10850
  type: NgModule,
10851
10851
  args: [{
10852
10852
  declarations: [],
@@ -12389,9 +12389,9 @@ class AddressService {
12389
12389
  return this.countriesSubject.asObservable();
12390
12390
  }
12391
12391
  }
12392
- AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12393
- AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddressService, providedIn: 'root' });
12394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AddressService, decorators: [{
12392
+ AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12393
+ AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, providedIn: 'root' });
12394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, decorators: [{
12395
12395
  type: Injectable,
12396
12396
  args: [{
12397
12397
  providedIn: 'root'
@@ -12459,9 +12459,9 @@ class BankAccountService extends RestService$1 {
12459
12459
  });
12460
12460
  }
12461
12461
  }
12462
- BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankAccountService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12463
- BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankAccountService, providedIn: 'root' });
12464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankAccountService, decorators: [{
12462
+ BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12463
+ BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, providedIn: 'root' });
12464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, decorators: [{
12465
12465
  type: Injectable,
12466
12466
  args: [{
12467
12467
  providedIn: 'root'
@@ -12526,9 +12526,9 @@ class BankTransactionService extends RestService$1 {
12526
12526
  });
12527
12527
  }
12528
12528
  }
12529
- BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12530
- BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
12531
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankTransactionService, decorators: [{
12529
+ BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12530
+ BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
12531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, decorators: [{
12532
12532
  type: Injectable,
12533
12533
  args: [{
12534
12534
  providedIn: 'root'
@@ -12555,9 +12555,9 @@ class BankService extends RestService$1 {
12555
12555
  this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
12556
12556
  }
12557
12557
  }
12558
- BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12559
- BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankService, providedIn: 'root' });
12560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankService, decorators: [{
12558
+ BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12559
+ BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, providedIn: 'root' });
12560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, decorators: [{
12561
12561
  type: Injectable,
12562
12562
  args: [{
12563
12563
  providedIn: 'root'
@@ -12574,9 +12574,9 @@ class BudgetService extends RestService$1 {
12574
12574
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
12575
12575
  }
12576
12576
  }
12577
- BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BudgetService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12578
- BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BudgetService, providedIn: 'root' });
12579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BudgetService, decorators: [{
12577
+ BudgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BudgetService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12578
+ BudgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BudgetService, providedIn: 'root' });
12579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BudgetService, decorators: [{
12580
12580
  type: Injectable,
12581
12581
  args: [{
12582
12582
  providedIn: 'root'
@@ -12604,9 +12604,9 @@ class ChartAccountsDepreciationService extends RestService$1 {
12604
12604
  this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
12605
12605
  }
12606
12606
  }
12607
- ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12608
- ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
12609
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
12607
+ ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12608
+ ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
12609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
12610
12610
  type: Injectable,
12611
12611
  args: [{
12612
12612
  providedIn: 'root'
@@ -12646,9 +12646,9 @@ class ChartAccountsService extends RestService$1 {
12646
12646
  }));
12647
12647
  }
12648
12648
  }
12649
- ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12650
- ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
12651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsService, decorators: [{
12649
+ ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12650
+ ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
12651
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, decorators: [{
12652
12652
  type: Injectable,
12653
12653
  args: [{
12654
12654
  providedIn: 'root'
@@ -12717,9 +12717,9 @@ class ChatService extends RestService$1 {
12717
12717
  });
12718
12718
  }
12719
12719
  }
12720
- ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
12721
- ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChatService, providedIn: 'root' });
12722
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChatService, decorators: [{
12720
+ ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
12721
+ ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, providedIn: 'root' });
12722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, decorators: [{
12723
12723
  type: Injectable,
12724
12724
  args: [{
12725
12725
  providedIn: 'root'
@@ -12776,9 +12776,9 @@ class MessageService extends RestService$1 {
12776
12776
  });
12777
12777
  }
12778
12778
  }
12779
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
12780
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, providedIn: 'root' });
12781
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageService, decorators: [{
12779
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
12780
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageService, providedIn: 'root' });
12781
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageService, decorators: [{
12782
12782
  type: Injectable,
12783
12783
  args: [{
12784
12784
  providedIn: 'root'
@@ -12847,9 +12847,9 @@ class MessageDocumentService extends RestService$1 {
12847
12847
  return combineLatest(files.map((file) => this.add(chatId, file))).pipe(map((docsBase) => docsBase.map((docBase) => plainToClass(MessageDocument, docBase))));
12848
12848
  }
12849
12849
  }
12850
- MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12851
- MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
12852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MessageDocumentService, decorators: [{
12850
+ MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12851
+ MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
12852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, decorators: [{
12853
12853
  type: Injectable,
12854
12854
  args: [{
12855
12855
  providedIn: 'root'
@@ -12912,9 +12912,9 @@ class ReceiptService {
12912
12912
  return plainToClass(this.modelClass, data);
12913
12913
  }
12914
12914
  }
12915
- ReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReceiptService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
12916
- ReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReceiptService, providedIn: 'root' });
12917
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReceiptService, decorators: [{
12915
+ ReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ReceiptService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
12916
+ ReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ReceiptService, providedIn: 'root' });
12917
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ReceiptService, decorators: [{
12918
12918
  type: Injectable,
12919
12919
  args: [{
12920
12920
  providedIn: 'root'
@@ -12943,9 +12943,9 @@ class DepreciationReceiptService extends ReceiptService {
12943
12943
  this.listenEvents();
12944
12944
  }
12945
12945
  }
12946
- DepreciationReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationReceiptService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
12947
- DepreciationReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationReceiptService, providedIn: 'root' });
12948
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationReceiptService, decorators: [{
12946
+ DepreciationReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationReceiptService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
12947
+ DepreciationReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationReceiptService, providedIn: 'root' });
12948
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationReceiptService, decorators: [{
12949
12949
  type: Injectable,
12950
12950
  args: [{
12951
12951
  providedIn: 'root'
@@ -13078,9 +13078,9 @@ class DepreciationService extends RestService$1 {
13078
13078
  });
13079
13079
  }
13080
13080
  }
13081
- DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: DepreciationReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
13082
- DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationService, providedIn: 'root' });
13083
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationService, decorators: [{
13081
+ DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: DepreciationReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
13082
+ DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationService, providedIn: 'root' });
13083
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationService, decorators: [{
13084
13084
  type: Injectable,
13085
13085
  args: [{
13086
13086
  providedIn: 'root'
@@ -13130,9 +13130,9 @@ class DepreciationCapitalProjectService {
13130
13130
  }));
13131
13131
  }
13132
13132
  }
13133
- DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
13134
- DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
13135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
13133
+ DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
13134
+ DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
13135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
13136
13136
  type: Injectable,
13137
13137
  args: [{
13138
13138
  providedIn: 'root'
@@ -13342,9 +13342,9 @@ class RestService {
13342
13342
  */
13343
13343
  listenEvents() { }
13344
13344
  }
13345
- RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RestService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
13346
- RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RestService, providedIn: 'root' });
13347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RestService, decorators: [{
13345
+ RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RestService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
13346
+ RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RestService, providedIn: 'root' });
13347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RestService, decorators: [{
13348
13348
  type: Injectable,
13349
13349
  args: [{
13350
13350
  providedIn: 'root'
@@ -13361,9 +13361,9 @@ class DocumentService extends RestService {
13361
13361
  this.modelClass = Document;
13362
13362
  }
13363
13363
  }
13364
- DocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13365
- DocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentService, providedIn: 'root' });
13366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentService, decorators: [{
13364
+ DocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13365
+ DocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, providedIn: 'root' });
13366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentService, decorators: [{
13367
13367
  type: Injectable,
13368
13368
  args: [{
13369
13369
  providedIn: 'root'
@@ -13429,9 +13429,9 @@ class DocumentFolderService extends RestService {
13429
13429
  }));
13430
13430
  }
13431
13431
  }
13432
- DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13433
- DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
13434
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DocumentFolderService, decorators: [{
13432
+ DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13433
+ DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
13434
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: DocumentFolderService, decorators: [{
13435
13435
  type: Injectable,
13436
13436
  args: [{
13437
13437
  providedIn: 'root'
@@ -13506,9 +13506,9 @@ FacebookService.authOptions = {
13506
13506
  auth_type: 'rerequest',
13507
13507
  return_scopes: true
13508
13508
  };
13509
- FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
13510
- FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FacebookService, providedIn: 'root' });
13511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FacebookService, decorators: [{
13509
+ FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
13510
+ FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, providedIn: 'root' });
13511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, decorators: [{
13512
13512
  type: Injectable,
13513
13513
  args: [{
13514
13514
  providedIn: 'root'
@@ -13576,9 +13576,9 @@ class GoogleService {
13576
13576
  google.accounts.id.disableAutoSelect();
13577
13577
  }
13578
13578
  }
13579
- GoogleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GoogleService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
13580
- GoogleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GoogleService, providedIn: 'root' });
13581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GoogleService, decorators: [{
13579
+ GoogleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
13580
+ GoogleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, providedIn: 'root' });
13581
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, decorators: [{
13582
13582
  type: Injectable,
13583
13583
  args: [{
13584
13584
  providedIn: 'root'
@@ -13607,9 +13607,9 @@ class FileService extends RestService$1 {
13607
13607
  return this.http.get(`${this.apiUrl}/${file.id}/download`, { responseType: 'blob' });
13608
13608
  }
13609
13609
  }
13610
- FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13611
- FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, providedIn: 'root' });
13612
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, decorators: [{
13610
+ FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13611
+ FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, providedIn: 'root' });
13612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FileService, decorators: [{
13613
13613
  type: Injectable,
13614
13614
  args: [{
13615
13615
  providedIn: 'root'
@@ -13626,9 +13626,9 @@ class ClientIncomeTypesService extends RestService$1 {
13626
13626
  this.disabledMethods = ['postBatch', 'putBatch', 'delete', 'deleteBatch'];
13627
13627
  }
13628
13628
  }
13629
- ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientIncomeTypesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13630
- ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
13631
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
13629
+ ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientIncomeTypesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13630
+ ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
13631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
13632
13632
  type: Injectable,
13633
13633
  args: [{
13634
13634
  providedIn: 'root'
@@ -13745,9 +13745,9 @@ class ClientInviteService extends RestService {
13745
13745
  });
13746
13746
  }
13747
13747
  }
13748
- ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13749
- ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
13750
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInviteService, decorators: [{
13748
+ ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13749
+ ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
13750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientInviteService, decorators: [{
13751
13751
  type: Injectable,
13752
13752
  args: [{
13753
13753
  providedIn: 'root'
@@ -13834,9 +13834,9 @@ class ClientMovementService extends RestService {
13834
13834
  });
13835
13835
  }
13836
13836
  }
13837
- ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13838
- ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
13839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientMovementService, decorators: [{
13837
+ ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13838
+ ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
13839
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientMovementService, decorators: [{
13840
13840
  type: Injectable,
13841
13841
  args: [{
13842
13842
  providedIn: 'root'
@@ -13865,9 +13865,9 @@ class EmployeeService extends RestService {
13865
13865
  }));
13866
13866
  }
13867
13867
  }
13868
- EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13869
- EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeService, providedIn: 'root' });
13870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeService, decorators: [{
13868
+ EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13869
+ EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeService, providedIn: 'root' });
13870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeService, decorators: [{
13871
13871
  type: Injectable,
13872
13872
  args: [{
13873
13873
  providedIn: 'root'
@@ -13908,9 +13908,9 @@ class EmployeeInviteService extends RestService {
13908
13908
  }));
13909
13909
  }
13910
13910
  }
13911
- EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13912
- EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
13913
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EmployeeInviteService, decorators: [{
13911
+ EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13912
+ EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
13913
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EmployeeInviteService, decorators: [{
13914
13914
  type: Injectable,
13915
13915
  args: [{
13916
13916
  providedIn: 'root'
@@ -13935,9 +13935,9 @@ class ClientPortfolioReportService {
13935
13935
  }));
13936
13936
  }
13937
13937
  }
13938
- ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
13939
- ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
13940
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
13938
+ ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
13939
+ ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
13940
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
13941
13941
  type: Injectable,
13942
13942
  args: [{
13943
13943
  providedIn: 'root'
@@ -13999,9 +13999,9 @@ class FirmService {
13999
13999
  }));
14000
14000
  }
14001
14001
  }
14002
- FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
14003
- FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FirmService, providedIn: 'root' });
14004
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FirmService, decorators: [{
14002
+ FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
14003
+ FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FirmService, providedIn: 'root' });
14004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FirmService, decorators: [{
14005
14005
  type: Injectable,
14006
14006
  args: [{
14007
14007
  providedIn: 'root'
@@ -14074,9 +14074,9 @@ class IncomeSourceForecastService extends RestService {
14074
14074
  }).flat();
14075
14075
  }
14076
14076
  }
14077
- IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14078
- IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
14079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
14077
+ IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14078
+ IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
14079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
14080
14080
  type: Injectable,
14081
14081
  args: [{
14082
14082
  providedIn: 'root'
@@ -14146,9 +14146,9 @@ class SalaryForecastService extends RestService {
14146
14146
  }).flat();
14147
14147
  }
14148
14148
  }
14149
- SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14150
- SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
14151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalaryForecastService, decorators: [{
14149
+ SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14150
+ SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
14151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SalaryForecastService, decorators: [{
14152
14152
  type: Injectable,
14153
14153
  args: [{
14154
14154
  providedIn: 'root'
@@ -14224,9 +14224,9 @@ class SoleForecastService extends RestService {
14224
14224
  });
14225
14225
  }
14226
14226
  }
14227
- SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14228
- SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
14229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleForecastService, decorators: [{
14227
+ SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14228
+ SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
14229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleForecastService, decorators: [{
14230
14230
  type: Injectable,
14231
14231
  args: [{
14232
14232
  providedIn: 'root'
@@ -14305,9 +14305,9 @@ class IncomeSourceService extends RestService {
14305
14305
  });
14306
14306
  }
14307
14307
  }
14308
- IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14309
- IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
14310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceService, decorators: [{
14308
+ IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14309
+ IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
14310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceService, decorators: [{
14311
14311
  type: Injectable,
14312
14312
  args: [{
14313
14313
  providedIn: 'root'
@@ -14368,9 +14368,9 @@ class BorrowingExpenseService {
14368
14368
  }));
14369
14369
  }
14370
14370
  }
14371
- BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
14372
- BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
14373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BorrowingExpenseService, decorators: [{
14371
+ BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
14372
+ BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
14373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BorrowingExpenseService, decorators: [{
14374
14374
  type: Injectable,
14375
14375
  args: [{
14376
14376
  providedIn: 'root'
@@ -14450,9 +14450,9 @@ class LoanService extends RestService$1 {
14450
14450
  }));
14451
14451
  }
14452
14452
  }
14453
- LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14454
- LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoanService, providedIn: 'root' });
14455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoanService, decorators: [{
14453
+ LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14454
+ LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoanService, providedIn: 'root' });
14455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LoanService, decorators: [{
14456
14456
  type: Injectable,
14457
14457
  args: [{
14458
14458
  providedIn: 'root'
@@ -14471,9 +14471,9 @@ class PropertyCategoryService extends RestService$1 {
14471
14471
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
14472
14472
  }
14473
14473
  }
14474
- PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCategoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14475
- PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCategoryService, providedIn: 'root' });
14476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCategoryService, decorators: [{
14474
+ PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCategoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14475
+ PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCategoryService, providedIn: 'root' });
14476
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCategoryService, decorators: [{
14477
14477
  type: Injectable,
14478
14478
  args: [{
14479
14479
  providedIn: 'root'
@@ -14489,9 +14489,9 @@ class PropertyCategoryMovementService extends RestService$1 {
14489
14489
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
14490
14490
  }
14491
14491
  }
14492
- PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14493
- PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
14494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
14492
+ PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14493
+ PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
14494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
14495
14495
  type: Injectable,
14496
14496
  args: [{
14497
14497
  providedIn: 'root'
@@ -14533,9 +14533,9 @@ class PropertyDocumentService extends RestService$1 {
14533
14533
  });
14534
14534
  }
14535
14535
  }
14536
- PropertyDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14537
- PropertyDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyDocumentService, providedIn: 'root' });
14538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyDocumentService, decorators: [{
14536
+ PropertyDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14537
+ PropertyDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyDocumentService, providedIn: 'root' });
14538
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyDocumentService, decorators: [{
14539
14539
  type: Injectable,
14540
14540
  args: [{
14541
14541
  providedIn: 'root'
@@ -14614,9 +14614,9 @@ class TaxExemptionService extends DataService {
14614
14614
  this.setCache(TaxExemptions);
14615
14615
  }
14616
14616
  }
14617
- TaxExemptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxExemptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14618
- TaxExemptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxExemptionService, providedIn: 'root' });
14619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxExemptionService, decorators: [{
14617
+ TaxExemptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxExemptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14618
+ TaxExemptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxExemptionService, providedIn: 'root' });
14619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxExemptionService, decorators: [{
14620
14620
  type: Injectable,
14621
14621
  args: [{
14622
14622
  providedIn: 'root'
@@ -14632,9 +14632,9 @@ class PropertySaleService extends RestService$1 {
14632
14632
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
14633
14633
  }
14634
14634
  }
14635
- PropertySaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14636
- PropertySaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertySaleService, providedIn: 'root' });
14637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertySaleService, decorators: [{
14635
+ PropertySaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertySaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14636
+ PropertySaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertySaleService, providedIn: 'root' });
14637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertySaleService, decorators: [{
14638
14638
  type: Injectable,
14639
14639
  args: [{
14640
14640
  providedIn: 'root'
@@ -14681,9 +14681,9 @@ class PropertyShareService extends RestService$1 {
14681
14681
  this.listenCSE(PropertySale, ['post', 'delete'], this.resetCache);
14682
14682
  }
14683
14683
  }
14684
- PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyShareService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14685
- PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
14686
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyShareService, decorators: [{
14684
+ PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyShareService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14685
+ PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
14686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyShareService, decorators: [{
14687
14687
  type: Injectable,
14688
14688
  args: [{
14689
14689
  providedIn: 'root'
@@ -14780,9 +14780,9 @@ class PropertyService extends RestService$1 {
14780
14780
  }));
14781
14781
  }
14782
14782
  }
14783
- PropertyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14784
- PropertyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyService, providedIn: 'root' });
14785
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyService, decorators: [{
14783
+ PropertyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14784
+ PropertyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyService, providedIn: 'root' });
14785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyService, decorators: [{
14786
14786
  type: Injectable,
14787
14787
  args: [{
14788
14788
  providedIn: 'root'
@@ -14836,9 +14836,9 @@ class ServiceNotificationService extends RestService {
14836
14836
  });
14837
14837
  }
14838
14838
  }
14839
- ServiceNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServiceNotificationService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
14840
- ServiceNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServiceNotificationService, providedIn: 'root' });
14841
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServiceNotificationService, decorators: [{
14839
+ ServiceNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServiceNotificationService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
14840
+ ServiceNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServiceNotificationService, providedIn: 'root' });
14841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServiceNotificationService, decorators: [{
14842
14842
  type: Injectable,
14843
14843
  args: [{
14844
14844
  providedIn: 'root'
@@ -14887,9 +14887,9 @@ class SoleBusinessService extends RestService {
14887
14887
  }));
14888
14888
  }
14889
14889
  }
14890
- SoleBusinessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14891
- SoleBusinessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessService, providedIn: 'root' });
14892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessService, decorators: [{
14890
+ SoleBusinessService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14891
+ SoleBusinessService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessService, providedIn: 'root' });
14892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessService, decorators: [{
14893
14893
  type: Injectable,
14894
14894
  args: [{
14895
14895
  providedIn: 'root'
@@ -14904,9 +14904,9 @@ class SoleBusinessActivityService extends RestService {
14904
14904
  this.isHydra = true;
14905
14905
  }
14906
14906
  }
14907
- SoleBusinessActivityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessActivityService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14908
- SoleBusinessActivityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessActivityService, providedIn: 'root' });
14909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessActivityService, decorators: [{
14907
+ SoleBusinessActivityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessActivityService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14908
+ SoleBusinessActivityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessActivityService, providedIn: 'root' });
14909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessActivityService, decorators: [{
14910
14910
  type: Injectable,
14911
14911
  args: [{
14912
14912
  providedIn: 'root'
@@ -14932,9 +14932,9 @@ class SoleBusinessLossService extends RestService {
14932
14932
  });
14933
14933
  }
14934
14934
  }
14935
- SoleBusinessLossService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessLossService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14936
- SoleBusinessLossService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessLossService, providedIn: 'root' });
14937
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessLossService, decorators: [{
14935
+ SoleBusinessLossService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessLossService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14936
+ SoleBusinessLossService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessLossService, providedIn: 'root' });
14937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessLossService, decorators: [{
14938
14938
  type: Injectable,
14939
14939
  args: [{
14940
14940
  providedIn: 'root'
@@ -14952,9 +14952,9 @@ class SoleBusinessLossOffsetRuleService extends RestService {
14952
14952
  this.isHydra = true;
14953
14953
  }
14954
14954
  }
14955
- SoleBusinessLossOffsetRuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessLossOffsetRuleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14956
- SoleBusinessLossOffsetRuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessLossOffsetRuleService, providedIn: 'root' });
14957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleBusinessLossOffsetRuleService, decorators: [{
14955
+ SoleBusinessLossOffsetRuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessLossOffsetRuleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14956
+ SoleBusinessLossOffsetRuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessLossOffsetRuleService, providedIn: 'root' });
14957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleBusinessLossOffsetRuleService, decorators: [{
14958
14958
  type: Injectable,
14959
14959
  args: [{
14960
14960
  providedIn: 'root'
@@ -14969,9 +14969,9 @@ class SoleContactService extends RestService {
14969
14969
  this.isHydra = true;
14970
14970
  }
14971
14971
  }
14972
- SoleContactService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleContactService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14973
- SoleContactService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleContactService, providedIn: 'root' });
14974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleContactService, decorators: [{
14972
+ SoleContactService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleContactService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14973
+ SoleContactService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleContactService, providedIn: 'root' });
14974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleContactService, decorators: [{
14975
14975
  type: Injectable,
14976
14976
  args: [{
14977
14977
  providedIn: 'root'
@@ -15027,9 +15027,9 @@ class SoleDepreciationMethodService {
15027
15027
  });
15028
15028
  }
15029
15029
  }
15030
- SoleDepreciationMethodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleDepreciationMethodService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: EventDispatcherService }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
15031
- SoleDepreciationMethodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleDepreciationMethodService, providedIn: 'root' });
15032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleDepreciationMethodService, decorators: [{
15030
+ SoleDepreciationMethodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleDepreciationMethodService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: EventDispatcherService }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
15031
+ SoleDepreciationMethodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleDepreciationMethodService, providedIn: 'root' });
15032
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleDepreciationMethodService, decorators: [{
15033
15033
  type: Injectable,
15034
15034
  args: [{
15035
15035
  providedIn: 'root'
@@ -15082,9 +15082,9 @@ class SoleDetailsService {
15082
15082
  }));
15083
15083
  }
15084
15084
  }
15085
- SoleDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleDetailsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
15086
- SoleDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleDetailsService, providedIn: 'root' });
15087
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleDetailsService, decorators: [{
15085
+ SoleDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleDetailsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
15086
+ SoleDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleDetailsService, providedIn: 'root' });
15087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleDetailsService, decorators: [{
15088
15088
  type: Injectable,
15089
15089
  args: [{
15090
15090
  providedIn: 'root'
@@ -15157,9 +15157,9 @@ class SoleInvoiceService extends RestService {
15157
15157
  });
15158
15158
  }
15159
15159
  }
15160
- SoleInvoiceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleInvoiceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15161
- SoleInvoiceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleInvoiceService, providedIn: 'root' });
15162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleInvoiceService, decorators: [{
15160
+ SoleInvoiceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleInvoiceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15161
+ SoleInvoiceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleInvoiceService, providedIn: 'root' });
15162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleInvoiceService, decorators: [{
15163
15163
  type: Injectable,
15164
15164
  args: [{
15165
15165
  providedIn: 'root'
@@ -15174,9 +15174,9 @@ class SoleInvoiceTemplateService extends RestService {
15174
15174
  this.isHydra = true;
15175
15175
  }
15176
15176
  }
15177
- SoleInvoiceTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleInvoiceTemplateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15178
- SoleInvoiceTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleInvoiceTemplateService, providedIn: 'root' });
15179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SoleInvoiceTemplateService, decorators: [{
15177
+ SoleInvoiceTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleInvoiceTemplateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15178
+ SoleInvoiceTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleInvoiceTemplateService, providedIn: 'root' });
15179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SoleInvoiceTemplateService, decorators: [{
15180
15180
  type: Injectable,
15181
15181
  args: [{
15182
15182
  providedIn: 'root'
@@ -15191,9 +15191,9 @@ class BasReportService extends RestService {
15191
15191
  this.isHydra = true;
15192
15192
  }
15193
15193
  }
15194
- BasReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasReportService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15195
- BasReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasReportService, providedIn: 'root' });
15196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BasReportService, decorators: [{
15194
+ BasReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasReportService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15195
+ BasReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasReportService, providedIn: 'root' });
15196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasReportService, decorators: [{
15197
15197
  type: Injectable,
15198
15198
  args: [{
15199
15199
  providedIn: 'root'
@@ -15219,9 +15219,9 @@ class ServicePaymentService extends RestService$1 {
15219
15219
  return this.http.get(`${this.environment.apiV2}/service-payments/${payment.id}/invoice-url`);
15220
15220
  }
15221
15221
  }
15222
- ServicePaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePaymentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15223
- ServicePaymentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePaymentService, providedIn: 'root' });
15224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePaymentService, decorators: [{
15222
+ ServicePaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePaymentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15223
+ ServicePaymentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePaymentService, providedIn: 'root' });
15224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePaymentService, decorators: [{
15225
15225
  type: Injectable,
15226
15226
  args: [{
15227
15227
  providedIn: 'root'
@@ -15269,9 +15269,9 @@ class ServicePaymentMethodService extends RestService$1 {
15269
15269
  });
15270
15270
  }
15271
15271
  }
15272
- ServicePaymentMethodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePaymentMethodService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
15273
- ServicePaymentMethodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePaymentMethodService, providedIn: 'root' });
15274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePaymentMethodService, decorators: [{
15272
+ ServicePaymentMethodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePaymentMethodService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: SseService }], target: i0.ɵɵFactoryTarget.Injectable });
15273
+ ServicePaymentMethodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePaymentMethodService, providedIn: 'root' });
15274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePaymentMethodService, decorators: [{
15275
15275
  type: Injectable,
15276
15276
  args: [{
15277
15277
  providedIn: 'root'
@@ -15294,9 +15294,9 @@ class ServicePriceService extends RestService$1 {
15294
15294
  this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
15295
15295
  }
15296
15296
  }
15297
- ServicePriceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePriceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15298
- ServicePriceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePriceService, providedIn: 'root' });
15299
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServicePriceService, decorators: [{
15297
+ ServicePriceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePriceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15298
+ ServicePriceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePriceService, providedIn: 'root' });
15299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServicePriceService, decorators: [{
15300
15300
  type: Injectable,
15301
15301
  args: [{
15302
15302
  providedIn: 'root'
@@ -15411,9 +15411,9 @@ class SubscriptionService extends RestService$1 {
15411
15411
  });
15412
15412
  }
15413
15413
  }
15414
- SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SubscriptionService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: ToastService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
15415
- SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SubscriptionService, providedIn: 'root' });
15416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SubscriptionService, decorators: [{
15414
+ SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SubscriptionService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: SseService }, { token: ToastService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
15415
+ SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SubscriptionService, providedIn: 'root' });
15416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SubscriptionService, decorators: [{
15417
15417
  type: Injectable,
15418
15418
  args: [{
15419
15419
  providedIn: 'root'
@@ -15433,9 +15433,9 @@ class ServiceProductService extends RestService$1 {
15433
15433
  this.isApiPlatform = true;
15434
15434
  }
15435
15435
  }
15436
- ServiceProductService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServiceProductService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15437
- ServiceProductService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServiceProductService, providedIn: 'root' });
15438
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServiceProductService, decorators: [{
15436
+ ServiceProductService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServiceProductService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15437
+ ServiceProductService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServiceProductService, providedIn: 'root' });
15438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ServiceProductService, decorators: [{
15439
15439
  type: Injectable,
15440
15440
  args: [{
15441
15441
  providedIn: 'root'
@@ -15467,9 +15467,9 @@ class TaxReviewHistoryService extends RestService {
15467
15467
  });
15468
15468
  }
15469
15469
  }
15470
- TaxReviewHistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReviewHistoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15471
- TaxReviewHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReviewHistoryService, providedIn: 'root' });
15472
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReviewHistoryService, decorators: [{
15470
+ TaxReviewHistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReviewHistoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15471
+ TaxReviewHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReviewHistoryService, providedIn: 'root' });
15472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReviewHistoryService, decorators: [{
15473
15473
  type: Injectable,
15474
15474
  args: [{
15475
15475
  providedIn: 'root'
@@ -15558,9 +15558,9 @@ class TaxReviewService extends RestService {
15558
15558
  });
15559
15559
  }
15560
15560
  }
15561
- TaxReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReviewService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15562
- TaxReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReviewService, providedIn: 'root' });
15563
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReviewService, decorators: [{
15561
+ TaxReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReviewService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15562
+ TaxReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReviewService, providedIn: 'root' });
15563
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReviewService, decorators: [{
15564
15564
  type: Injectable,
15565
15565
  args: [{
15566
15566
  providedIn: 'root'
@@ -15617,9 +15617,9 @@ class TaxSummaryService {
15617
15617
  });
15618
15618
  }
15619
15619
  }
15620
- TaxSummaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxSummaryService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
15621
- TaxSummaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxSummaryService, providedIn: 'root' });
15622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxSummaryService, decorators: [{
15620
+ TaxSummaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxSummaryService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
15621
+ TaxSummaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxSummaryService, providedIn: 'root' });
15622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxSummaryService, decorators: [{
15623
15623
  type: Injectable,
15624
15624
  args: [{
15625
15625
  providedIn: 'root'
@@ -15638,9 +15638,9 @@ class AllocationRuleService extends RestService$1 {
15638
15638
  this.isApiPlatform = true;
15639
15639
  }
15640
15640
  }
15641
- AllocationRuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AllocationRuleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15642
- AllocationRuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AllocationRuleService, providedIn: 'root' });
15643
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AllocationRuleService, decorators: [{
15641
+ AllocationRuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AllocationRuleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15642
+ AllocationRuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AllocationRuleService, providedIn: 'root' });
15643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AllocationRuleService, decorators: [{
15644
15644
  type: Injectable,
15645
15645
  args: [{
15646
15646
  providedIn: 'root'
@@ -15730,9 +15730,9 @@ class TransactionAllocationService extends RestService {
15730
15730
  });
15731
15731
  }
15732
15732
  }
15733
- TransactionAllocationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionAllocationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15734
- TransactionAllocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionAllocationService, providedIn: 'root' });
15735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionAllocationService, decorators: [{
15733
+ TransactionAllocationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionAllocationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
15734
+ TransactionAllocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionAllocationService, providedIn: 'root' });
15735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionAllocationService, decorators: [{
15736
15736
  type: Injectable,
15737
15737
  args: [{
15738
15738
  providedIn: 'root'
@@ -15758,9 +15758,9 @@ class TransactionReceiptService extends ReceiptService {
15758
15758
  this.listenEvents();
15759
15759
  }
15760
15760
  }
15761
- TransactionReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionReceiptService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
15762
- TransactionReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionReceiptService, providedIn: 'root' });
15763
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionReceiptService, decorators: [{
15761
+ TransactionReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionReceiptService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
15762
+ TransactionReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionReceiptService, providedIn: 'root' });
15763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionReceiptService, decorators: [{
15764
15764
  type: Injectable,
15765
15765
  args: [{
15766
15766
  providedIn: 'root'
@@ -16069,9 +16069,9 @@ class TransactionService extends RestService {
16069
16069
  });
16070
16070
  }
16071
16071
  }
16072
- TransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: TransactionReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
16073
- TransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionService, providedIn: 'root' });
16074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionService, decorators: [{
16072
+ TransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionService, deps: [{ token: i1.HttpClient }, { token: EventDispatcherService }, { token: 'environment' }, { token: ToastService }, { token: TransactionReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
16073
+ TransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionService, providedIn: 'root' });
16074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionService, decorators: [{
16075
16075
  type: Injectable,
16076
16076
  args: [{
16077
16077
  providedIn: 'root'
@@ -16100,9 +16100,9 @@ class TutorialVideoService {
16100
16100
  }
16101
16101
  TutorialVideoService.googleUrl = `https://www.googleapis.com/drive/v3/files?fields=*&mimeType='video/mp4'&orderBy=name`;
16102
16102
  TutorialVideoService.parents = '1uLMLzi8WUy2go9xhfzJEwgFwOM43dukM';
16103
- TutorialVideoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TutorialVideoService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
16104
- TutorialVideoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TutorialVideoService, providedIn: 'root' });
16105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TutorialVideoService, decorators: [{
16103
+ TutorialVideoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TutorialVideoService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
16104
+ TutorialVideoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TutorialVideoService, providedIn: 'root' });
16105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TutorialVideoService, decorators: [{
16106
16106
  type: Injectable,
16107
16107
  args: [{
16108
16108
  providedIn: 'root'
@@ -16122,9 +16122,9 @@ class VehicleService extends RestService {
16122
16122
  this.modelClass = Vehicle;
16123
16123
  }
16124
16124
  }
16125
- VehicleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16126
- VehicleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleService, providedIn: 'root' });
16127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleService, decorators: [{
16125
+ VehicleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16126
+ VehicleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleService, providedIn: 'root' });
16127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleService, decorators: [{
16128
16128
  type: Injectable,
16129
16129
  args: [{
16130
16130
  providedIn: 'root'
@@ -16196,9 +16196,9 @@ class VehicleClaimService extends RestService {
16196
16196
  combineLatest(batch$).subscribe();
16197
16197
  }
16198
16198
  }
16199
- VehicleClaimService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleClaimService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16200
- VehicleClaimService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleClaimService, providedIn: 'root' });
16201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleClaimService, decorators: [{
16199
+ VehicleClaimService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleClaimService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16200
+ VehicleClaimService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleClaimService, providedIn: 'root' });
16201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleClaimService, decorators: [{
16202
16202
  type: Injectable,
16203
16203
  args: [{
16204
16204
  providedIn: 'root'
@@ -16275,9 +16275,9 @@ class VehicleClaimDetailsService {
16275
16275
  this.update(vehicleClaimDetails).subscribe();
16276
16276
  }
16277
16277
  }
16278
- VehicleClaimDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleClaimDetailsService, deps: [{ token: 'environment' }, { token: i1.HttpClient }, { token: EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
16279
- VehicleClaimDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleClaimDetailsService, providedIn: 'root' });
16280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleClaimDetailsService, decorators: [{
16278
+ VehicleClaimDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleClaimDetailsService, deps: [{ token: 'environment' }, { token: i1.HttpClient }, { token: EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
16279
+ VehicleClaimDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleClaimDetailsService, providedIn: 'root' });
16280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleClaimDetailsService, decorators: [{
16281
16281
  type: Injectable,
16282
16282
  args: [{
16283
16283
  providedIn: 'root'
@@ -16297,9 +16297,9 @@ class VehicleLogbookService extends RestService {
16297
16297
  this.modelClass = VehicleLogbook;
16298
16298
  }
16299
16299
  }
16300
- VehicleLogbookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleLogbookService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16301
- VehicleLogbookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleLogbookService, providedIn: 'root' });
16302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: VehicleLogbookService, decorators: [{
16300
+ VehicleLogbookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleLogbookService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16301
+ VehicleLogbookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleLogbookService, providedIn: 'root' });
16302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: VehicleLogbookService, decorators: [{
16303
16303
  type: Injectable,
16304
16304
  args: [{
16305
16305
  providedIn: 'root'
@@ -16316,9 +16316,9 @@ class AnnualClientDetailsService extends RestService$1 {
16316
16316
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch', 'delete'];
16317
16317
  }
16318
16318
  }
16319
- AnnualClientDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnualClientDetailsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16320
- AnnualClientDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnualClientDetailsService, providedIn: 'root' });
16321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnualClientDetailsService, decorators: [{
16319
+ AnnualClientDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AnnualClientDetailsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16320
+ AnnualClientDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AnnualClientDetailsService, providedIn: 'root' });
16321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AnnualClientDetailsService, decorators: [{
16322
16322
  type: Injectable,
16323
16323
  args: [{
16324
16324
  providedIn: 'root'
@@ -16349,9 +16349,9 @@ class OccupationService {
16349
16349
  return this.occupationsSubject.asObservable();
16350
16350
  }
16351
16351
  }
16352
- OccupationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OccupationService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
16353
- OccupationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OccupationService, providedIn: 'root' });
16354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OccupationService, decorators: [{
16352
+ OccupationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: OccupationService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
16353
+ OccupationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: OccupationService, providedIn: 'root' });
16354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: OccupationService, decorators: [{
16355
16355
  type: Injectable,
16356
16356
  args: [{
16357
16357
  providedIn: 'root'
@@ -16395,9 +16395,9 @@ class UserEventSettingService extends RestService {
16395
16395
  }));
16396
16396
  }
16397
16397
  }
16398
- UserEventSettingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserEventSettingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16399
- UserEventSettingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserEventSettingService, providedIn: 'root' });
16400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserEventSettingService, decorators: [{
16398
+ UserEventSettingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserEventSettingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16399
+ UserEventSettingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserEventSettingService, providedIn: 'root' });
16400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserEventSettingService, decorators: [{
16401
16401
  type: Injectable,
16402
16402
  args: [{
16403
16403
  providedIn: 'root'
@@ -16412,9 +16412,9 @@ class UserEventTypeService extends RestService {
16412
16412
  this.isHydra = true;
16413
16413
  }
16414
16414
  }
16415
- UserEventTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserEventTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16416
- UserEventTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserEventTypeService, providedIn: 'root' });
16417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserEventTypeService, decorators: [{
16415
+ UserEventTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserEventTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16416
+ UserEventTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserEventTypeService, providedIn: 'root' });
16417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserEventTypeService, decorators: [{
16418
16418
  type: Injectable,
16419
16419
  args: [{
16420
16420
  providedIn: 'root'
@@ -16431,9 +16431,9 @@ class UsersInviteService extends RestService {
16431
16431
  this.url = 'users/invite';
16432
16432
  }
16433
16433
  }
16434
- UsersInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UsersInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16435
- UsersInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UsersInviteService, providedIn: 'root' });
16436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UsersInviteService, decorators: [{
16434
+ UsersInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UsersInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16435
+ UsersInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UsersInviteService, providedIn: 'root' });
16436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UsersInviteService, decorators: [{
16437
16437
  type: Injectable,
16438
16438
  args: [{
16439
16439
  providedIn: 'root'
@@ -16453,9 +16453,9 @@ class HoldingService extends RestService$1 {
16453
16453
  this.listenCSE(HoldingSale, ['post', 'put', 'delete'], this.resetCache);
16454
16454
  }
16455
16455
  }
16456
- HoldingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16457
- HoldingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingService, providedIn: 'root' });
16458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingService, decorators: [{
16456
+ HoldingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16457
+ HoldingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, providedIn: 'root' });
16458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingService, decorators: [{
16459
16459
  type: Injectable,
16460
16460
  args: [{
16461
16461
  providedIn: 'root'
@@ -16472,9 +16472,9 @@ class HoldingTypeService extends RestService$1 {
16472
16472
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
16473
16473
  }
16474
16474
  }
16475
- HoldingTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16476
- HoldingTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeService, providedIn: 'root' });
16477
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeService, decorators: [{
16475
+ HoldingTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16476
+ HoldingTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, providedIn: 'root' });
16477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeService, decorators: [{
16478
16478
  type: Injectable,
16479
16479
  args: [{
16480
16480
  providedIn: 'root'
@@ -16491,9 +16491,9 @@ class HoldingSaleService extends RestService$1 {
16491
16491
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
16492
16492
  }
16493
16493
  }
16494
- HoldingSaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingSaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16495
- HoldingSaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingSaleService, providedIn: 'root' });
16496
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingSaleService, decorators: [{
16494
+ HoldingSaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16495
+ HoldingSaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, providedIn: 'root' });
16496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingSaleService, decorators: [{
16497
16497
  type: Injectable,
16498
16498
  args: [{
16499
16499
  providedIn: 'root'
@@ -16588,9 +16588,9 @@ class HoldingTypeExchangeService extends DataService {
16588
16588
  this.setCache(HoldingTypeExchanges);
16589
16589
  }
16590
16590
  }
16591
- HoldingTypeExchangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeExchangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16592
- HoldingTypeExchangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeExchangeService, providedIn: 'root' });
16593
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HoldingTypeExchangeService, decorators: [{
16591
+ HoldingTypeExchangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeExchangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16592
+ HoldingTypeExchangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeExchangeService, providedIn: 'root' });
16593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HoldingTypeExchangeService, decorators: [{
16594
16594
  type: Injectable,
16595
16595
  args: [{
16596
16596
  providedIn: 'root'
@@ -16694,9 +16694,9 @@ class IncomeSourceTypeService extends DataService {
16694
16694
  this.setCache(IncomeSourceTypes);
16695
16695
  }
16696
16696
  }
16697
- IncomeSourceTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceTypeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16698
- IncomeSourceTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceTypeService, providedIn: 'root' });
16699
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IncomeSourceTypeService, decorators: [{
16697
+ IncomeSourceTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceTypeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16698
+ IncomeSourceTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceTypeService, providedIn: 'root' });
16699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IncomeSourceTypeService, decorators: [{
16700
16700
  type: Injectable,
16701
16701
  args: [{
16702
16702
  providedIn: 'root'
@@ -16718,9 +16718,9 @@ class ChartAccountsValueService extends DataService {
16718
16718
  return this.getCache().find((ca) => ca.chartAccounts.id === chartAccountsId && new FinancialYear().year === ca.financialYear).value;
16719
16719
  }
16720
16720
  }
16721
- ChartAccountsValueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsValueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16722
- ChartAccountsValueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsValueService, providedIn: 'root' });
16723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartAccountsValueService, decorators: [{
16721
+ ChartAccountsValueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsValueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16722
+ ChartAccountsValueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsValueService, providedIn: 'root' });
16723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsValueService, decorators: [{
16724
16724
  type: Injectable,
16725
16725
  args: [{
16726
16726
  providedIn: 'root'
@@ -18810,9 +18810,9 @@ class TaxReturnItemService extends DataService {
18810
18810
  this.setCache(TaxReturnItems);
18811
18811
  }
18812
18812
  }
18813
- TaxReturnItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReturnItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18814
- TaxReturnItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReturnItemService, providedIn: 'root' });
18815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TaxReturnItemService, decorators: [{
18813
+ TaxReturnItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReturnItemService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18814
+ TaxReturnItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReturnItemService, providedIn: 'root' });
18815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TaxReturnItemService, decorators: [{
18816
18816
  type: Injectable,
18817
18817
  args: [{
18818
18818
  providedIn: 'root'
@@ -19032,9 +19032,9 @@ class AccountSetupService {
19032
19032
  return this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.getArray());
19033
19033
  }
19034
19034
  }
19035
- AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AccountSetupService, deps: [{ token: ClientIncomeTypesService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }, { token: SoleBusinessService }, { token: HoldingService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Injectable });
19036
- AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
19037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AccountSetupService, decorators: [{
19035
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, deps: [{ token: ClientIncomeTypesService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }, { token: SoleBusinessService }, { token: HoldingService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Injectable });
19036
+ AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
19037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, decorators: [{
19038
19038
  type: Injectable,
19039
19039
  args: [{
19040
19040
  providedIn: 'root'
@@ -19060,9 +19060,9 @@ class RewardfulService {
19060
19060
  });
19061
19061
  }
19062
19062
  }
19063
- RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
19064
- RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RewardfulService, providedIn: 'root' });
19065
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RewardfulService, decorators: [{
19063
+ RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
19064
+ RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, providedIn: 'root' });
19065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, decorators: [{
19066
19066
  type: Injectable,
19067
19067
  args: [{
19068
19068
  providedIn: 'root'
@@ -19107,9 +19107,9 @@ class AssetsService {
19107
19107
  return this.http.delete(`${this.environment.apiV2}/${asset.entityType}/${entityId}/${asset.type}/${asset.id}`);
19108
19108
  }
19109
19109
  }
19110
- AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
19111
- AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AssetsService, providedIn: 'root' });
19112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AssetsService, decorators: [{
19110
+ AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
19111
+ AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, providedIn: 'root' });
19112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, decorators: [{
19113
19113
  type: Injectable,
19114
19114
  args: [{
19115
19115
  providedIn: 'root'
@@ -19168,9 +19168,9 @@ class BankTransactionCalculationService {
19168
19168
  return allocations.getByBankTransactionsIds(bankTransactions.debitTransactions.getIds()).amount;
19169
19169
  }
19170
19170
  }
19171
- BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19172
- BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
19173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
19171
+ BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19172
+ BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
19173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
19174
19174
  type: Injectable,
19175
19175
  args: [{
19176
19176
  providedIn: 'root'
@@ -19199,9 +19199,9 @@ class BankAccountCalculationService {
19199
19199
  return bankAccounts.currentBalance - this.getTaxTankBalance(bankAccounts.getLoanAccounts(), bankTransactions, allocations);
19200
19200
  }
19201
19201
  }
19202
- BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
19203
- BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
19204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BankAccountCalculationService, decorators: [{
19202
+ BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
19203
+ BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
19204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, decorators: [{
19205
19205
  type: Injectable,
19206
19206
  args: [{
19207
19207
  providedIn: 'root'
@@ -19229,9 +19229,9 @@ class ExportFormatterService {
19229
19229
  }));
19230
19230
  }
19231
19231
  }
19232
- ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1$1.CurrencyPipe }, { token: i1$1.PercentPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
19233
- ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
19234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportFormatterService, decorators: [{
19232
+ ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1$1.CurrencyPipe }, { token: i1$1.PercentPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
19233
+ ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
19234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, decorators: [{
19235
19235
  type: Injectable,
19236
19236
  args: [{
19237
19237
  providedIn: 'root'
@@ -19252,9 +19252,9 @@ class HeaderTitleService {
19252
19252
  }), filter((route) => route.outlet === 'primary'), mergeMap((route) => route.data));
19253
19253
  }
19254
19254
  }
19255
- HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderTitleService, deps: [{ token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
19256
- HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
19257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderTitleService, decorators: [{
19255
+ HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, deps: [{ token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
19256
+ HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
19257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, decorators: [{
19258
19258
  type: Injectable,
19259
19259
  args: [{
19260
19260
  providedIn: 'root'
@@ -19288,9 +19288,9 @@ class IntercomService {
19288
19288
  window.Intercom('boot', connectionCredentials);
19289
19289
  }
19290
19290
  }
19291
- IntercomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IntercomService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
19292
- IntercomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IntercomService, providedIn: 'root' });
19293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IntercomService, decorators: [{
19291
+ IntercomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IntercomService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
19292
+ IntercomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IntercomService, providedIn: 'root' });
19293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: IntercomService, decorators: [{
19294
19294
  type: Injectable,
19295
19295
  args: [{
19296
19296
  providedIn: 'root'
@@ -19360,9 +19360,9 @@ class PdfFromDomElementService {
19360
19360
  .then((blob) => new File([blob], filename, { type: 'application/pdf' })));
19361
19361
  }
19362
19362
  }
19363
- PdfFromDomElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromDomElementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19364
- PdfFromDomElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromDomElementService, providedIn: 'root' });
19365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromDomElementService, decorators: [{
19363
+ PdfFromDomElementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromDomElementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19364
+ PdfFromDomElementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromDomElementService, providedIn: 'root' });
19365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromDomElementService, decorators: [{
19366
19366
  type: Injectable,
19367
19367
  args: [{
19368
19368
  providedIn: 'root'
@@ -19456,9 +19456,9 @@ class PdfFromTableService {
19456
19456
  .setTextColor(FILE_SETTINGS.text.colorPrimary);
19457
19457
  }
19458
19458
  }
19459
- PdfFromTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19460
- PdfFromTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromTableService, providedIn: 'root' });
19461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromTableService, decorators: [{
19459
+ PdfFromTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19460
+ PdfFromTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromTableService, providedIn: 'root' });
19461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromTableService, decorators: [{
19462
19462
  type: Injectable,
19463
19463
  args: [{
19464
19464
  providedIn: 'root'
@@ -19497,9 +19497,9 @@ class PdfFromDataTableService extends PdfFromTableService {
19497
19497
  return pdf;
19498
19498
  }
19499
19499
  }
19500
- PdfFromDataTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromDataTableService, deps: [{ token: ExportFormatterService }], target: i0.ɵɵFactoryTarget.Injectable });
19501
- PdfFromDataTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromDataTableService, providedIn: 'root' });
19502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromDataTableService, decorators: [{
19500
+ PdfFromDataTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromDataTableService, deps: [{ token: ExportFormatterService }], target: i0.ɵɵFactoryTarget.Injectable });
19501
+ PdfFromDataTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromDataTableService, providedIn: 'root' });
19502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromDataTableService, decorators: [{
19503
19503
  type: Injectable,
19504
19504
  args: [{
19505
19505
  providedIn: 'root'
@@ -19535,9 +19535,9 @@ class PdfFromHtmlTableService extends PdfFromTableService {
19535
19535
  return pdf;
19536
19536
  }
19537
19537
  }
19538
- PdfFromHtmlTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromHtmlTableService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
19539
- PdfFromHtmlTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromHtmlTableService, providedIn: 'root' });
19540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PdfFromHtmlTableService, decorators: [{
19538
+ PdfFromHtmlTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromHtmlTableService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
19539
+ PdfFromHtmlTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromHtmlTableService, providedIn: 'root' });
19540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PdfFromHtmlTableService, decorators: [{
19541
19541
  type: Injectable,
19542
19542
  args: [{
19543
19543
  providedIn: 'root'
@@ -19564,9 +19564,9 @@ class EquityPositionChartService {
19564
19564
  }))));
19565
19565
  }
19566
19566
  }
19567
- EquityPositionChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EquityPositionChartService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
19568
- EquityPositionChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EquityPositionChartService, providedIn: 'root' });
19569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EquityPositionChartService, decorators: [{
19567
+ EquityPositionChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EquityPositionChartService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
19568
+ EquityPositionChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EquityPositionChartService, providedIn: 'root' });
19569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EquityPositionChartService, decorators: [{
19570
19570
  type: Injectable,
19571
19571
  args: [{
19572
19572
  providedIn: 'root'
@@ -19719,9 +19719,9 @@ class PropertyCalculationService {
19719
19719
  }
19720
19720
  }
19721
19721
  }
19722
- PropertyCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19723
- PropertyCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCalculationService, providedIn: 'root' });
19724
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyCalculationService, decorators: [{
19722
+ PropertyCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19723
+ PropertyCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCalculationService, providedIn: 'root' });
19724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyCalculationService, decorators: [{
19725
19725
  type: Injectable,
19726
19726
  args: [{
19727
19727
  providedIn: 'root'
@@ -19772,9 +19772,9 @@ class PropertyTransactionReportService {
19772
19772
  .getWithoutBorrowingExpenses()));
19773
19773
  }
19774
19774
  }
19775
- PropertyTransactionReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyTransactionReportService, deps: [{ token: PropertyService }, { token: TransactionService }, { token: DepreciationService }, { token: ChartAccountsService }], target: i0.ɵɵFactoryTarget.Injectable });
19776
- PropertyTransactionReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyTransactionReportService, providedIn: 'root' });
19777
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PropertyTransactionReportService, decorators: [{
19775
+ PropertyTransactionReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyTransactionReportService, deps: [{ token: PropertyService }, { token: TransactionService }, { token: DepreciationService }, { token: ChartAccountsService }], target: i0.ɵɵFactoryTarget.Injectable });
19776
+ PropertyTransactionReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyTransactionReportService, providedIn: 'root' });
19777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PropertyTransactionReportService, decorators: [{
19778
19778
  type: Injectable,
19779
19779
  args: [{
19780
19780
  providedIn: 'root'
@@ -19842,9 +19842,9 @@ class TransactionCalculationService {
19842
19842
  return bankTransactions.sumBy('amount') - allocations.getByBankTransactionsIds(bankTransactions.getIds()).sumBy('amount');
19843
19843
  }
19844
19844
  }
19845
- TransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19846
- TransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionCalculationService, providedIn: 'root' });
19847
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TransactionCalculationService, decorators: [{
19845
+ TransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19846
+ TransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionCalculationService, providedIn: 'root' });
19847
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TransactionCalculationService, decorators: [{
19848
19848
  type: Injectable,
19849
19849
  args: [{
19850
19850
  providedIn: 'root'
@@ -19904,9 +19904,9 @@ class LogbookBestPeriodService {
19904
19904
  });
19905
19905
  }
19906
19906
  }
19907
- LogbookBestPeriodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogbookBestPeriodService, deps: [{ token: VehicleClaimDetailsService }, { token: VehicleClaimService }, { token: VehicleLogbookService }, { token: EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
19908
- LogbookBestPeriodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogbookBestPeriodService, providedIn: 'root' });
19909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogbookBestPeriodService, decorators: [{
19907
+ LogbookBestPeriodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LogbookBestPeriodService, deps: [{ token: VehicleClaimDetailsService }, { token: VehicleClaimService }, { token: VehicleLogbookService }, { token: EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
19908
+ LogbookBestPeriodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LogbookBestPeriodService, providedIn: 'root' });
19909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: LogbookBestPeriodService, decorators: [{
19910
19910
  type: Injectable,
19911
19911
  args: [{
19912
19912
  providedIn: 'root'
@@ -19984,9 +19984,9 @@ class XlsxService {
19984
19984
  FileSaver.saveAs(data, `${fileName}.xlsx`);
19985
19985
  }
19986
19986
  }
19987
- XlsxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: XlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19988
- XlsxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: XlsxService, providedIn: 'root' });
19989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: XlsxService, decorators: [{
19987
+ XlsxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: XlsxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19988
+ XlsxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: XlsxService, providedIn: 'root' });
19989
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: XlsxService, decorators: [{
19990
19990
  type: Injectable,
19991
19991
  args: [{
19992
19992
  providedIn: 'root'
@@ -20139,6 +20139,16 @@ class AbstractForm extends UntypedFormGroup {
20139
20139
  !!this.model && !!this.model['id'] && isEqual(this.value, this.initialValue) ? this.markAsSaved() : this.markAsUnsaved();
20140
20140
  });
20141
20141
  }
20142
+ /**
20143
+ * upgraded version of patchValue to skip duplicated changes
20144
+ */
20145
+ patchField(name, value, distinctUntilChanged = true) {
20146
+ const control = this.get(name);
20147
+ if (distinctUntilChanged && control.value === value) {
20148
+ return;
20149
+ }
20150
+ control.patchValue(value);
20151
+ }
20142
20152
  }
20143
20153
 
20144
20154
  /**
@@ -22674,7 +22684,7 @@ class TransactionBaseForm extends AbstractForm {
22674
22684
  this.get('gstAmount').patchValue(this.amountWithGST - this.amount);
22675
22685
  }
22676
22686
  updateAmount() {
22677
- this.get('amount').patchValue(this.isGST ? this.amountWithGST / ChartAccounts.GSTCoefficient : this.amountWithGST);
22687
+ this.patchField('amount', this.isGST ? this.amountWithGST / ChartAccounts.GSTCoefficient : this.amountWithGST);
22678
22688
  }
22679
22689
  isGstApplicable() {
22680
22690
  return !!this.registeredForGst && !!this.model.business;
@@ -23181,9 +23191,6 @@ var MessagesEnum;
23181
23191
  })(MessagesEnum || (MessagesEnum = {}));
23182
23192
 
23183
23193
  // @TODO Alex: Create indexes everywhere and break this file to imports from indexes
23184
- /**
23185
- * Public API Surface of tt-core
23186
- */
23187
23194
 
23188
23195
  /**
23189
23196
  * Generated bundle index. Do not edit.