taxtank-core 0.8.6 → 0.8.7

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 (150) hide show
  1. package/bundles/taxtank-core.umd.js +94 -92
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/db/Models/transaction-base.js +2 -1
  4. package/esm2015/lib/services/http/address/address.service.js +39 -0
  5. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +118 -0
  6. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +52 -0
  7. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +89 -0
  8. package/esm2015/lib/services/http/bank/bank.service.js +24 -0
  9. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +94 -0
  10. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +38 -0
  11. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +89 -0
  12. package/esm2015/lib/services/http/chat/chat.service.js +77 -0
  13. package/esm2015/lib/services/http/chat/message/message.service.js +65 -0
  14. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +118 -0
  15. package/esm2015/lib/services/{depreciation/capital-project.service.js → http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js} +7 -7
  16. package/esm2015/lib/services/http/depreciation/depreciation.service.js +146 -0
  17. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +84 -0
  18. package/esm2015/lib/services/{client → http/firm/client-invite}/client-invite.service.js +7 -7
  19. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +98 -0
  20. package/esm2015/lib/services/http/firm/employee/employee.service.js +39 -0
  21. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +53 -0
  22. package/esm2015/lib/services/http/firm/firm.service.js +79 -0
  23. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +37 -0
  24. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +90 -0
  25. package/esm2015/lib/services/http/income-source/income-source.service.js +109 -0
  26. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +90 -0
  27. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +87 -0
  28. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +73 -0
  29. package/esm2015/lib/services/http/loan/loan.service.js +145 -0
  30. package/esm2015/lib/services/http/property/property-category/property-category.service.js +23 -0
  31. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +47 -0
  32. package/esm2015/lib/services/http/property/property-document/property-document.service.js +70 -0
  33. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +20 -0
  34. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +21 -0
  35. package/esm2015/lib/services/http/property/property-share/property-share.service.js +115 -0
  36. package/esm2015/lib/services/http/property/property.service.js +126 -0
  37. package/esm2015/lib/services/http/rest/rest.service.js +190 -0
  38. package/esm2015/lib/services/http/service-notification/service-notification.service.js +65 -0
  39. package/esm2015/lib/services/http/subscription/subscription.service.js +157 -0
  40. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +41 -0
  41. package/esm2015/lib/services/http/tax-review/tax-review.service.js +103 -0
  42. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +71 -0
  43. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +85 -0
  44. package/esm2015/lib/services/http/transaction/transaction.service.js +319 -0
  45. package/esm2015/lib/services/http/user/occupation/occupation.service.js +45 -0
  46. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +59 -0
  47. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +29 -0
  48. package/esm2015/lib/services/http/user/user.service.js +124 -0
  49. package/esm2015/lib/services/http/vehicle/vehicle.service.js +237 -0
  50. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +45 -0
  51. package/esm2015/public-api.js +48 -48
  52. package/fesm2015/taxtank-core.js +51 -49
  53. package/fesm2015/taxtank-core.js.map +1 -1
  54. package/lib/services/{address → http/address}/address.service.d.ts +1 -1
  55. package/lib/services/{bank → http/bank/bank-account}/bank-account.service.d.ts +5 -5
  56. package/lib/services/{bank → http/bank/bank-connection}/bank-connection.service.d.ts +5 -5
  57. package/lib/services/{bank → http/bank/bank-transaction}/bank-transaction.service.d.ts +5 -5
  58. package/lib/services/{bank → http/bank}/bank.service.d.ts +4 -4
  59. package/lib/services/{bank → http/bank/basiq}/basiq.service.d.ts +7 -7
  60. package/lib/services/{chart-accounts → http/chart-accounts/chart-accounts-depreciations}/chart-accounts-depreciations.service.d.ts +4 -4
  61. package/lib/services/{chart-accounts → http/chart-accounts}/chart-accounts.service.d.ts +3 -3
  62. package/lib/services/{chat → http/chat}/chat.service.d.ts +7 -7
  63. package/lib/services/{chat → http/chat/message}/message.service.d.ts +7 -7
  64. package/lib/services/{chat → http/chat/message-document}/message-document.service.d.ts +3 -3
  65. package/lib/services/{depreciation/capital-project.service.d.ts → http/depreciation/depreciation-capital-project/depreciation-capital-project.service.d.ts} +4 -4
  66. package/lib/services/{depreciation → http/depreciation}/depreciation.service.d.ts +5 -5
  67. package/lib/services/{document → http/document/document-folder}/document-folder.service.d.ts +6 -6
  68. package/lib/services/{client → http/firm/client-invite}/client-invite.service.d.ts +4 -4
  69. package/lib/services/{client → http/firm/client-movement}/client-movement.service.d.ts +7 -7
  70. package/lib/services/{employee → http/firm/employee}/employee.service.d.ts +4 -4
  71. package/lib/services/{employee → http/firm/employee-invite}/employee-invite.service.d.ts +4 -4
  72. package/lib/services/{firm → http/firm}/firm.service.d.ts +2 -2
  73. package/lib/services/{client → http/firm/portfolio-report}/client-portfolio-report.service.d.ts +1 -1
  74. package/lib/services/{income-source → http/income-source/income-source-forecast}/income-source-forecast.service.d.ts +5 -5
  75. package/lib/services/{income-source → http/income-source}/income-source.service.d.ts +8 -8
  76. package/lib/services/{income-source → http/income-source/salary-forecast}/salary-forecast.service.d.ts +6 -6
  77. package/lib/services/{income-source → http/income-source/sole-forecast}/sole-forecast.service.d.ts +5 -5
  78. package/lib/services/{borrowing-expense → http/loan/borrowing-expense}/borrowing-expense.service.d.ts +2 -2
  79. package/lib/services/{loan → http/loan}/loan.service.d.ts +6 -6
  80. package/lib/services/{property → http/property}/property-category/property-category.service.d.ts +4 -4
  81. package/lib/services/{property → http/property/property-category-movement}/property-category-movement.service.d.ts +4 -4
  82. package/lib/services/{property → http/property}/property-document/property-document.service.d.ts +5 -5
  83. package/lib/services/http/property/property-sale/property-sale.service.d.ts +10 -0
  84. package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +11 -0
  85. package/lib/services/{property → http/property}/property-share/property-share.service.d.ts +5 -5
  86. package/lib/services/{property → http/property}/property.service.d.ts +5 -5
  87. package/lib/services/{base-rest.service.d.ts → http/rest/rest.service.d.ts} +4 -4
  88. package/lib/services/http/service-notification/service-notification.service.d.ts +31 -0
  89. package/lib/services/{subscription → http/subscription}/subscription.service.d.ts +6 -6
  90. package/lib/services/{tax-review → http/tax-review/tax-review-history}/tax-review-history.service.d.ts +5 -5
  91. package/lib/services/{tax-review → http/tax-review}/tax-review.service.d.ts +6 -6
  92. package/lib/services/{tax-summary → http/tax-summary}/tax-summary.service.d.ts +2 -2
  93. package/lib/services/{transaction → http/transaction/transaction-allocation}/transaction-allocation.service.d.ts +6 -6
  94. package/lib/services/{transaction → http/transaction}/transaction.service.d.ts +7 -7
  95. package/lib/services/{user → http/user/occupation}/occupation.service.d.ts +1 -1
  96. package/lib/services/{user-event → http/user/user-event-setting}/user-event-setting.service.d.ts +5 -5
  97. package/lib/services/{user-event → http/user/user-event-type}/user-event-type.service.d.ts +5 -5
  98. package/lib/services/{user → http/user}/user.service.d.ts +3 -3
  99. package/lib/services/{work/work-tank.service.d.ts → http/vehicle/vehicle.service.d.ts} +9 -8
  100. package/lib/services/property/{equity-position-chart.service.d.ts → equity-position-chart/equity-position-chart.service.d.ts} +1 -1
  101. package/package.json +1 -1
  102. package/public-api.d.ts +47 -47
  103. package/esm2015/lib/services/address/address.service.js +0 -39
  104. package/esm2015/lib/services/bank/bank-account.service.js +0 -118
  105. package/esm2015/lib/services/bank/bank-connection.service.js +0 -52
  106. package/esm2015/lib/services/bank/bank-transaction.service.js +0 -89
  107. package/esm2015/lib/services/bank/bank.service.js +0 -24
  108. package/esm2015/lib/services/bank/basiq.service.js +0 -94
  109. package/esm2015/lib/services/base-rest.service.js +0 -190
  110. package/esm2015/lib/services/borrowing-expense/borrowing-expense.service.js +0 -73
  111. package/esm2015/lib/services/chart-accounts/chart-accounts-depreciations.service.js +0 -38
  112. package/esm2015/lib/services/chart-accounts/chart-accounts.service.js +0 -89
  113. package/esm2015/lib/services/chat/chat.service.js +0 -77
  114. package/esm2015/lib/services/chat/message-document.service.js +0 -118
  115. package/esm2015/lib/services/chat/message.service.js +0 -65
  116. package/esm2015/lib/services/client/client-movement.service.js +0 -98
  117. package/esm2015/lib/services/client/client-portfolio-report.service.js +0 -37
  118. package/esm2015/lib/services/depreciation/depreciation.service.js +0 -146
  119. package/esm2015/lib/services/document/document-folder.service.js +0 -84
  120. package/esm2015/lib/services/employee/employee-invite.service.js +0 -53
  121. package/esm2015/lib/services/employee/employee.service.js +0 -39
  122. package/esm2015/lib/services/firm/firm.service.js +0 -79
  123. package/esm2015/lib/services/income-source/income-source-forecast.service.js +0 -90
  124. package/esm2015/lib/services/income-source/income-source.service.js +0 -109
  125. package/esm2015/lib/services/income-source/salary-forecast.service.js +0 -90
  126. package/esm2015/lib/services/income-source/sole-forecast.service.js +0 -87
  127. package/esm2015/lib/services/loan/loan.service.js +0 -145
  128. package/esm2015/lib/services/notification/notification.service.js +0 -65
  129. package/esm2015/lib/services/property/equity-position-chart.service.js +0 -45
  130. package/esm2015/lib/services/property/property-category/property-category.service.js +0 -23
  131. package/esm2015/lib/services/property/property-category-movement.service.js +0 -47
  132. package/esm2015/lib/services/property/property-document/property-document.service.js +0 -70
  133. package/esm2015/lib/services/property/property-sale/property-sale.service.js +0 -20
  134. package/esm2015/lib/services/property/property-sale/tax-exemption/tax-exemption.service.js +0 -21
  135. package/esm2015/lib/services/property/property-share/property-share.service.js +0 -115
  136. package/esm2015/lib/services/property/property.service.js +0 -126
  137. package/esm2015/lib/services/subscription/subscription.service.js +0 -157
  138. package/esm2015/lib/services/tax-review/tax-review-history.service.js +0 -41
  139. package/esm2015/lib/services/tax-review/tax-review.service.js +0 -103
  140. package/esm2015/lib/services/tax-summary/tax-summary.service.js +0 -71
  141. package/esm2015/lib/services/transaction/transaction-allocation.service.js +0 -85
  142. package/esm2015/lib/services/transaction/transaction.service.js +0 -319
  143. package/esm2015/lib/services/user/occupation.service.js +0 -45
  144. package/esm2015/lib/services/user/user.service.js +0 -124
  145. package/esm2015/lib/services/user-event/user-event-setting.service.js +0 -59
  146. package/esm2015/lib/services/user-event/user-event-type.service.js +0 -29
  147. package/esm2015/lib/services/work/work-tank.service.js +0 -236
  148. package/lib/services/notification/notification.service.d.ts +0 -31
  149. package/lib/services/property/property-sale/property-sale.service.d.ts +0 -10
  150. package/lib/services/property/property-sale/tax-exemption/tax-exemption.service.d.ts +0 -11
@@ -1,90 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { plainToClass } from 'class-transformer';
4
- import { BaseRestService } from '../base-rest.service';
5
- import { SalaryForecast } from '../../models/income-source/salary-forecast';
6
- import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
7
- import { IncomeSource } from '../../models/income-source/income-source';
8
- import { AppEvent } from '../../models/event/app-event';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- import * as i2 from "../event/event-dispatcher.service";
12
- /**
13
- * Service to work with Salary Forecasts
14
- */
15
- export class SalaryForecastService extends BaseRestService {
16
- constructor(http, eventDispatcherService, environment) {
17
- super(http, eventDispatcherService, environment);
18
- this.http = http;
19
- this.eventDispatcherService = eventDispatcherService;
20
- this.environment = environment;
21
- this.modelClass = SalaryForecast;
22
- this.url = 'salary-forecasts';
23
- this.listenEvents();
24
- }
25
- /**
26
- * Listen to Income Sources events
27
- */
28
- listenEvents() {
29
- this.listenToAddedIncomeSources();
30
- this.listenToUpdatedIncomeSources();
31
- }
32
- /**
33
- * Listen to EventDispatcherService event related to added Income Sources
34
- */
35
- listenToAddedIncomeSources() {
36
- this.eventDispatcherService.on(AppEventTypeEnum.INCOME_SOURCES_CREATED)
37
- .pipe(map((incomeSources) => incomeSources
38
- .filter((incomeSource) => incomeSource.isSalaryIncome())))
39
- .subscribe((incomeSources) => {
40
- const salaryForecasts = this.assignSalaryForecasts(incomeSources);
41
- if (salaryForecasts.length) {
42
- this.addBatch(salaryForecasts).subscribe((createdSalaryForecasts) => {
43
- this.eventDispatcherService
44
- .dispatch(new AppEvent(AppEventTypeEnum.INCOME_SOURCES_FORECASTS_CREATED, createdSalaryForecasts));
45
- });
46
- }
47
- });
48
- }
49
- /**
50
- * Listen to EventDispatcherService event related to updated Income Sources
51
- */
52
- listenToUpdatedIncomeSources() {
53
- this.eventDispatcherService.on(AppEventTypeEnum.INCOME_SOURCES_UPDATED)
54
- .subscribe((incomeSources) => {
55
- const salaryForecasts = this.assignSalaryForecasts(incomeSources);
56
- if (salaryForecasts.length) {
57
- this.updateBatch(salaryForecasts).subscribe((updatedSalaryForecasts) => {
58
- this.eventDispatcherService
59
- .dispatch(new AppEvent(AppEventTypeEnum.INCOME_SOURCES_FORECASTS_UPDATED, updatedSalaryForecasts));
60
- });
61
- }
62
- });
63
- }
64
- /**
65
- * Assign salary forecasts based on provided income sources
66
- * @param incomeSources by which salary forecasts will be assigned
67
- */
68
- assignSalaryForecasts(incomeSources) {
69
- return incomeSources.map((incomeSource) => {
70
- incomeSource.salaryForecasts = incomeSource.salaryForecasts
71
- .map((salaryForecast) => {
72
- salaryForecast.incomeSource = plainToClass(IncomeSource, { id: incomeSource.id });
73
- return salaryForecast;
74
- });
75
- return incomeSource.salaryForecasts;
76
- }).flat();
77
- }
78
- }
79
- SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
80
- SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, decorators: [{
82
- type: Injectable,
83
- args: [{
84
- providedIn: 'root'
85
- }]
86
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
87
- type: Inject,
88
- args: ['environment']
89
- }] }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsYXJ5LWZvcmVjYXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaW5jb21lLXNvdXJjZS9zYWxhcnktZm9yZWNhc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUV4RDs7R0FFRztBQUlILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFtRDtJQUk1RixZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQU5uRCxlQUFVLEdBQTBCLGNBQWMsQ0FBQztRQUNuRCxRQUFHLEdBQVcsa0JBQWtCLENBQUM7UUFRL0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsYUFBNkIsRUFBRSxFQUFFLENBQUMsYUFBYTthQUNqRCxNQUFNLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUMxRTthQUNBLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUUzQyxNQUFNLGVBQWUsR0FBcUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BGLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxzQkFBd0MsRUFBRSxFQUFFO29CQUNwRixJQUFJLENBQUMsc0JBQXNCO3lCQUN4QixRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0NBQWdDLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO2dCQUN2RyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxTQUFTLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUU7WUFDM0MsTUFBTSxlQUFlLEdBQXFCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNwRixJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsc0JBQXdDLEVBQUUsRUFBRTtvQkFDdkYsSUFBSSxDQUFDLHNCQUFzQjt5QkFDeEIsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxFQUFFLHNCQUFzQixDQUFDLENBQUMsQ0FBQztnQkFDdkcsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNLLHFCQUFxQixDQUFDLGFBQTZCO1FBQ3pELE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUN0RCxZQUFZLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxlQUFlO2lCQUN4RCxHQUFHLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUU7Z0JBQ3RDLGNBQWMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQztnQkFDaEYsT0FBTyxjQUFjLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPLFlBQVksQ0FBQyxlQUFlLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDWixDQUFDOzttSEF2RVUscUJBQXFCLGtGQU90QixhQUFhO3VIQVBaLHFCQUFxQixjQUZwQixNQUFNOzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FsYXJ5Rm9yZWNhc3QgYXMgU2FsYXJ5Rm9yZWNhc3RCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3NhbGFyeS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYWxhcnlGb3JlY2FzdCB9IGZyb20gJy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggU2FsYXJ5IEZvcmVjYXN0c1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTYWxhcnlGb3JlY2FzdFNlcnZpY2UgZXh0ZW5kcyBCYXNlUmVzdFNlcnZpY2U8U2FsYXJ5Rm9yZWNhc3RCYXNlLCBTYWxhcnlGb3JlY2FzdD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBTYWxhcnlGb3JlY2FzdCA9IFNhbGFyeUZvcmVjYXN0O1xuICB1cmw6IHN0cmluZyA9ICdzYWxhcnktZm9yZWNhc3RzJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBJbmNvbWUgU291cmNlcyBldmVudHNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQWRkZWRJbmNvbWVTb3VyY2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRJbmNvbWVTb3VyY2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBhZGRlZCBJbmNvbWUgU291cmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0FkZGVkSW5jb21lU291cmNlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5JTkNPTUVfU09VUkNFU19DUkVBVEVEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pID0+IGluY29tZVNvdXJjZXNcbiAgICAgICAgICAuZmlsdGVyKChpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZSkgPT4gaW5jb21lU291cmNlLmlzU2FsYXJ5SW5jb21lKCkpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pID0+IHtcblxuICAgICAgICBjb25zdCBzYWxhcnlGb3JlY2FzdHM6IFNhbGFyeUZvcmVjYXN0W10gPSB0aGlzLmFzc2lnblNhbGFyeUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKHNhbGFyeUZvcmVjYXN0cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmFkZEJhdGNoKHNhbGFyeUZvcmVjYXN0cykuc3Vic2NyaWJlKChjcmVhdGVkU2FsYXJ5Rm9yZWNhc3RzOiBTYWxhcnlGb3JlY2FzdFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2VcbiAgICAgICAgICAgICAgLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19DUkVBVEVELCBjcmVhdGVkU2FsYXJ5Rm9yZWNhc3RzKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBJbmNvbWUgU291cmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRJbmNvbWVTb3VyY2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX1VQREFURUQpXG4gICAgICAuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSkgPT4ge1xuICAgICAgICBjb25zdCBzYWxhcnlGb3JlY2FzdHM6IFNhbGFyeUZvcmVjYXN0W10gPSB0aGlzLmFzc2lnblNhbGFyeUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKHNhbGFyeUZvcmVjYXN0cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJhdGNoKHNhbGFyeUZvcmVjYXN0cykuc3Vic2NyaWJlKCh1cGRhdGVkU2FsYXJ5Rm9yZWNhc3RzOiBTYWxhcnlGb3JlY2FzdFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2VcbiAgICAgICAgICAgICAgLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19VUERBVEVELCB1cGRhdGVkU2FsYXJ5Rm9yZWNhc3RzKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc2lnbiBzYWxhcnkgZm9yZWNhc3RzIGJhc2VkIG9uIHByb3ZpZGVkIGluY29tZSBzb3VyY2VzXG4gICAqIEBwYXJhbSBpbmNvbWVTb3VyY2VzIGJ5IHdoaWNoIHNhbGFyeSBmb3JlY2FzdHMgd2lsbCBiZSBhc3NpZ25lZFxuICAgKi9cbiAgcHJpdmF0ZSBhc3NpZ25TYWxhcnlGb3JlY2FzdHMoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pOiBTYWxhcnlGb3JlY2FzdFtdIHtcbiAgICByZXR1cm4gaW5jb21lU291cmNlcy5tYXAoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiB7XG4gICAgICBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzID0gaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1xuICAgICAgICAubWFwKChzYWxhcnlGb3JlY2FzdDogU2FsYXJ5Rm9yZWNhc3QpID0+IHtcbiAgICAgICAgICBzYWxhcnlGb3JlY2FzdC5pbmNvbWVTb3VyY2UgPSBwbGFpblRvQ2xhc3MoSW5jb21lU291cmNlLCB7aWQ6IGluY29tZVNvdXJjZS5pZH0pO1xuICAgICAgICAgIHJldHVybiBzYWxhcnlGb3JlY2FzdDtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0cztcbiAgICB9KS5mbGF0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,87 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { plainToClass } from 'class-transformer';
4
- import { BaseRestService } from '../base-rest.service';
5
- import { SoleForecast } from '../../models/income-source/sole-forecast';
6
- import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
7
- import { IncomeSource } from '../../models/income-source/income-source';
8
- import { AppEvent } from '../../models/event/app-event';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- import * as i2 from "../event/event-dispatcher.service";
12
- export class SoleForecastService extends BaseRestService {
13
- constructor(http, eventDispatcherService, environment) {
14
- super(http, eventDispatcherService, environment);
15
- this.http = http;
16
- this.eventDispatcherService = eventDispatcherService;
17
- this.environment = environment;
18
- this.modelClass = SoleForecast;
19
- this.url = 'sole-forecasts';
20
- this.listenEvents();
21
- }
22
- /**
23
- * Listen to Income Sources events
24
- */
25
- listenEvents() {
26
- this.listenToAddedIncomeSources();
27
- this.listenToUpdatedIncomeSources();
28
- }
29
- /**
30
- * Listen to EventDispatcherService event related to added Income Sources
31
- */
32
- listenToAddedIncomeSources() {
33
- this.eventDispatcherService.on(AppEventTypeEnum.INCOME_SOURCES_CREATED)
34
- .pipe(map((incomeSources) => incomeSources
35
- .filter((incomeSource) => incomeSource.isSoleIncome())))
36
- .subscribe((incomeSources) => {
37
- const soleForecasts = this.assignSoleForecasts(incomeSources);
38
- if (soleForecasts.length) {
39
- this.addBatch(soleForecasts).subscribe((createdSoleForecasts) => {
40
- this.eventDispatcherService
41
- .dispatch(new AppEvent(AppEventTypeEnum.INCOME_SOURCES_FORECASTS_CREATED, createdSoleForecasts));
42
- });
43
- }
44
- });
45
- }
46
- /**
47
- * Listen to EventDispatcherService event related to updated Income Sources
48
- */
49
- listenToUpdatedIncomeSources() {
50
- this.eventDispatcherService.on(AppEventTypeEnum.INCOME_SOURCES_UPDATED)
51
- .subscribe((incomeSources) => {
52
- const soleForecasts = this.assignSoleForecasts(incomeSources);
53
- if (soleForecasts.length) {
54
- this.updateBatch(soleForecasts).subscribe((updatedSoleForecasts) => {
55
- this.eventDispatcherService
56
- .dispatch(new AppEvent(AppEventTypeEnum.INCOME_SOURCES_FORECASTS_UPDATED, updatedSoleForecasts));
57
- });
58
- }
59
- });
60
- }
61
- /**
62
- * Assign sole forecasts based on provided income sources
63
- * @param incomeSources by which sole forecasts will be assigned
64
- */
65
- assignSoleForecasts(incomeSources) {
66
- return incomeSources.map((incomeSource) => {
67
- incomeSource.soleForecasts = incomeSource.soleForecasts
68
- .map((soleForecast) => {
69
- soleForecast.incomeSource = plainToClass(IncomeSource, { id: incomeSource.id });
70
- return soleForecast;
71
- });
72
- return incomeSource.soleForecasts;
73
- }).flat();
74
- }
75
- }
76
- SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
77
- SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root'
82
- }]
83
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
84
- type: Inject,
85
- args: ['environment']
86
- }] }]; } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1mb3JlY2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2luY29tZS1zb3VyY2Uvc29sZS1mb3JlY2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBS3hELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUErQztJQUl0RixZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQU5uRCxlQUFVLEdBQXdCLFlBQVksQ0FBQztRQUMvQyxRQUFHLEdBQVcsZ0JBQWdCLENBQUM7UUFRN0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsYUFBNkIsRUFBRSxFQUFFLENBQUMsYUFBYTthQUNqRCxNQUFNLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUN4RTthQUNBLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUUzQyxNQUFNLGFBQWEsR0FBbUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlFLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0MsRUFBRSxFQUFFO29CQUM5RSxJQUFJLENBQUMsc0JBQXNCO3lCQUN4QixRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0NBQWdDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO2dCQUNyRyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxTQUFTLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUU7WUFDM0MsTUFBTSxhQUFhLEdBQW1CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM5RSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9DLEVBQUUsRUFBRTtvQkFDakYsSUFBSSxDQUFDLHNCQUFzQjt5QkFDeEIsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDckcsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNLLG1CQUFtQixDQUFDLGFBQTZCO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUN0RCxZQUFZLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhO2lCQUNwRCxHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7Z0JBQ2xDLFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQztnQkFDOUUsT0FBTyxZQUFZLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDWixDQUFDOztpSEF2RVUsbUJBQW1CLGtGQU9wQixhQUFhO3FIQVBaLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNvbGVGb3JlY2FzdCBhcyBTb2xlRm9yZWNhc3RCYXNlfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvc29sZS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBCYXNlUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9iYXNlLXJlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTb2xlRm9yZWNhc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zb2xlLWZvcmVjYXN0JztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU29sZUZvcmVjYXN0U2VydmljZSBleHRlbmRzIEJhc2VSZXN0U2VydmljZTxTb2xlRm9yZWNhc3RCYXNlLCBTb2xlRm9yZWNhc3Q+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFNvbGVGb3JlY2FzdCA9IFNvbGVGb3JlY2FzdDtcbiAgdXJsOiBzdHJpbmcgPSAnc29sZS1mb3JlY2FzdHMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEluY29tZSBTb3VyY2VzIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9BZGRlZEluY29tZVNvdXJjZXMoKTtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZEluY29tZVNvdXJjZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIGFkZGVkIEluY29tZSBTb3VyY2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvQWRkZWRJbmNvbWVTb3VyY2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0NSRUFURUQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSkgPT4gaW5jb21lU291cmNlc1xuICAgICAgICAgIC5maWx0ZXIoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiBpbmNvbWVTb3VyY2UuaXNTb2xlSW5jb21lKCkpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pID0+IHtcblxuICAgICAgICBjb25zdCBzb2xlRm9yZWNhc3RzOiBTb2xlRm9yZWNhc3RbXSA9IHRoaXMuYXNzaWduU29sZUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKHNvbGVGb3JlY2FzdHMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5hZGRCYXRjaChzb2xlRm9yZWNhc3RzKS5zdWJzY3JpYmUoKGNyZWF0ZWRTb2xlRm9yZWNhc3RzOiBTb2xlRm9yZWNhc3RbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlXG4gICAgICAgICAgICAgIC5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5JTkNPTUVfU09VUkNFU19GT1JFQ0FTVFNfQ1JFQVRFRCwgY3JlYXRlZFNvbGVGb3JlY2FzdHMpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIEluY29tZSBTb3VyY2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvVXBkYXRlZEluY29tZVNvdXJjZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGluY29tZVNvdXJjZXM6IEluY29tZVNvdXJjZVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNvbGVGb3JlY2FzdHM6IFNvbGVGb3JlY2FzdFtdID0gdGhpcy5hc3NpZ25Tb2xlRm9yZWNhc3RzKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoc29sZUZvcmVjYXN0cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJhdGNoKHNvbGVGb3JlY2FzdHMpLnN1YnNjcmliZSgodXBkYXRlZFNvbGVGb3JlY2FzdHM6IFNvbGVGb3JlY2FzdFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2VcbiAgICAgICAgICAgICAgLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19VUERBVEVELCB1cGRhdGVkU29sZUZvcmVjYXN0cykpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NpZ24gc29sZSBmb3JlY2FzdHMgYmFzZWQgb24gcHJvdmlkZWQgaW5jb21lIHNvdXJjZXNcbiAgICogQHBhcmFtIGluY29tZVNvdXJjZXMgYnkgd2hpY2ggc29sZSBmb3JlY2FzdHMgd2lsbCBiZSBhc3NpZ25lZFxuICAgKi9cbiAgcHJpdmF0ZSBhc3NpZ25Tb2xlRm9yZWNhc3RzKGluY29tZVNvdXJjZXM6IEluY29tZVNvdXJjZVtdKTogU29sZUZvcmVjYXN0W10ge1xuICAgIHJldHVybiBpbmNvbWVTb3VyY2VzLm1hcCgoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGluY29tZVNvdXJjZS5zb2xlRm9yZWNhc3RzID0gaW5jb21lU291cmNlLnNvbGVGb3JlY2FzdHNcbiAgICAgICAgLm1hcCgoc29sZUZvcmVjYXN0OiBTb2xlRm9yZWNhc3QpID0+IHtcbiAgICAgICAgICBzb2xlRm9yZWNhc3QuaW5jb21lU291cmNlID0gcGxhaW5Ub0NsYXNzKEluY29tZVNvdXJjZSwge2lkOiBpbmNvbWVTb3VyY2UuaWR9KTtcbiAgICAgICAgICByZXR1cm4gc29sZUZvcmVjYXN0O1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiBpbmNvbWVTb3VyY2Uuc29sZUZvcmVjYXN0cztcbiAgICB9KS5mbGF0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,145 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { replace } from '../../functions/array';
4
- import { BaseRestService } from '../base-rest.service';
5
- import { plainToClass } from 'class-transformer';
6
- import { Loan } from '../../models/loan/loan';
7
- import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
8
- import { AppEvent } from '../../models/event/app-event';
9
- import { LoanPayout } from '../../models/loan/loan-payout';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common/http";
12
- import * as i2 from "../event/event-dispatcher.service";
13
- /**
14
- * Service that handling loans logic
15
- */
16
- export class LoanService extends BaseRestService {
17
- constructor(http, eventDispatcherService, environment) {
18
- super(http, eventDispatcherService, environment);
19
- this.http = http;
20
- this.eventDispatcherService = eventDispatcherService;
21
- this.environment = environment;
22
- this.url = 'bank-accounts/loans';
23
- this.modelClass = Loan;
24
- this.listenEvents();
25
- }
26
- /**
27
- * Listen to Loans events
28
- */
29
- listenEvents() {
30
- this.listenToAddedLoans();
31
- this.listenToUpdatedBankAccounts();
32
- }
33
- listenToAddedLoans() {
34
- this.eventDispatcherService.on(AppEventTypeEnum.BANK_ACCOUNT_CREATED)
35
- .subscribe((bankAccounts) => {
36
- // fetch loans when loan bank account created
37
- if (bankAccounts.find(ba => !!ba.loan)) {
38
- this.resetCache();
39
- }
40
- });
41
- }
42
- listenToUpdatedBankAccounts() {
43
- this.eventDispatcherService.on(AppEventTypeEnum.BANK_ACCOUNT_UPDATED)
44
- .subscribe((updatedBankAccount) => {
45
- if (!!updatedBankAccount.loan) {
46
- this.resetCache();
47
- }
48
- });
49
- }
50
- /**
51
- * Create Loan
52
- */
53
- add(model) {
54
- return this.addBatch([model])
55
- .pipe(map((newLoan) => {
56
- return newLoan[0];
57
- }));
58
- }
59
- /**
60
- * Updated loan
61
- * @param loan
62
- */
63
- update(loan) {
64
- return this.http.put(`${this.environment.apiV2}/${this.url}/${loan.id}`, loan)
65
- .pipe(map((updatedLoanBase) => {
66
- const updatedLoan = plainToClass(Loan, updatedLoanBase);
67
- // if loan type is NOT vehicle - fire EventDispatcher event
68
- if (!updatedLoan.isVehicle()) {
69
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.LOAN_UPDATED, null));
70
- }
71
- replace(this.cache, updatedLoan);
72
- this.updateCache();
73
- return updatedLoan;
74
- }));
75
- }
76
- /**
77
- * Get list of vehicle loans
78
- */
79
- getVehicleLoans() {
80
- return this.get()
81
- .pipe(map((loans) => {
82
- return loans.filter((loan) => loan.isVehicle());
83
- }));
84
- }
85
- /**
86
- * Calculate loan payments
87
- * @param loan
88
- */
89
- calculateLoanPayments(loan) {
90
- return this.http.post(`${this.environment.apiV2}/${this.url}/calculation`, loan).pipe(map((response) => {
91
- return plainToClass(Loan, response);
92
- }));
93
- }
94
- /**
95
- * Add new loan payout
96
- * @param loan
97
- * @param paidOutLoan
98
- */
99
- addPayoutLoan(loan, paidOutLoan) {
100
- return this.http.post(`${this.environment.apiV2}/loans/${loan.id}/payout`, paidOutLoan).pipe(map((response) => {
101
- loan.payout = plainToClass(LoanPayout, response);
102
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.LOAN_PAYOUT_UPDATED, null));
103
- // reset cache to fetch loans with updated data
104
- this.resetCache();
105
- }));
106
- }
107
- /**
108
- * Delete loan payout
109
- * @param loan
110
- * @param payout
111
- */
112
- deletePayoutLoan(loan, payout) {
113
- return this.http.delete(`${this.environment.apiV2}/loans/${loan.id}/payout/${payout.id}`).pipe(map(() => {
114
- loan.payout = null;
115
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.LOAN_PAYOUT_UPDATED, null));
116
- // reset cache to fetch loans with updated data
117
- this.resetCache();
118
- }));
119
- }
120
- /**
121
- * Update loan payout
122
- * @param loan
123
- * @param paidOutLoan
124
- */
125
- updatePayoutLoan(loan, paidOutLoan) {
126
- return this.http.put(`${this.environment.apiV2}/loans/${loan.id}/payout/${paidOutLoan.id}`, paidOutLoan).pipe(map((response) => {
127
- loan.payout = plainToClass(LoanPayout, response);
128
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.LOAN_PAYOUT_UPDATED, null));
129
- // reset cache to fetch loans with updated data
130
- this.resetCache();
131
- }));
132
- }
133
- }
134
- LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
135
- LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, providedIn: 'root' });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, decorators: [{
137
- type: Injectable,
138
- args: [{
139
- providedIn: 'root'
140
- }]
141
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
142
- type: Inject,
143
- args: ['environment']
144
- }] }]; } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2xvYW4vbG9hbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUUzRDs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBK0I7SUFJOUQsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFObkQsUUFBRyxHQUFXLHFCQUFxQixDQUFDO1FBQ3BDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBUTdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZ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SCxnQkFBZ0IsQ0FBQyxJQUFVLEVBQUUsV0FBdUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQyxFQUFFLFdBQVcsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDM0csR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMvRiwrQ0FBK0M7WUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FDRixDQUFDLENBQUM7SUFDUCxDQUFDOzt5R0EvSVUsV0FBVyxrRkFPWixhQUFhOzZHQVBaLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvYW4gYXMgTG9hbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvbG9hbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBCYXNlUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9iYXNlLXJlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBMb2FuIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgTG9hblBheW91dCB9IGZyb20gJy4uLy4uL21vZGVscy9sb2FuL2xvYW4tcGF5b3V0JztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaGFuZGxpbmcgbG9hbnMgbG9naWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9hblNlcnZpY2UgZXh0ZW5kcyBCYXNlUmVzdFNlcnZpY2U8TG9hbkJhc2UsIExvYW4+IHtcbiAgdXJsOiBzdHJpbmcgPSAnYmFuay1hY2NvdW50cy9sb2Fucyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBMb2FuID0gTG9hbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBMb2FucyBldmVudHNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQWRkZWRMb2FucygpO1xuICAgIHRoaXMubGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnRzKCk7XG4gIH1cblxuICBsaXN0ZW5Ub0FkZGVkTG9hbnMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX0NSRUFURUQpXG4gICAgICAuc3Vic2NyaWJlKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pID0+IHtcbiAgICAgICAgLy8gZmV0Y2ggbG9hbnMgd2hlbiBsb2FuIGJhbmsgYWNjb3VudCBjcmVhdGVkXG4gICAgICAgIGlmIChiYW5rQWNjb3VudHMuZmluZChiYSA9PiAhIWJhLmxvYW4pKSB7XG4gICAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnRzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9VUERBVEVEKVxuICAgICAgLnN1YnNjcmliZSgodXBkYXRlZEJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoISF1cGRhdGVkQmFua0FjY291bnQubG9hbikge1xuICAgICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgTG9hblxuICAgKi9cbiAgYWRkKG1vZGVsOiBMb2FuKTogT2JzZXJ2YWJsZTxMb2FuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQmF0Y2goW21vZGVsXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0xvYW46IExvYW5bXSk6IExvYW4gPT4ge1xuICAgICAgICAgIHJldHVybiBuZXdMb2FuWzBdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVkIGxvYW5cbiAgICogQHBhcmFtIGxvYW5cbiAgICovXG4gIHVwZGF0ZShsb2FuOiBMb2FuKTogT2JzZXJ2YWJsZTxMb2FuPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtsb2FuLmlkfWAsIGxvYW4pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkTG9hbkJhc2U6IExvYW5CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZExvYW46IExvYW4gPSBwbGFpblRvQ2xhc3MoTG9hbiwgdXBkYXRlZExvYW5CYXNlKTtcbiAgICAgICAgICAvLyBpZiBsb2FuIHR5cGUgaXMgTk9UIHZlaGljbGUgLSBmaXJlIEV2ZW50RGlzcGF0Y2hlciBldmVudFxuICAgICAgICAgIGlmICghdXBkYXRlZExvYW4uaXNWZWhpY2xlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5MT0FOX1VQREFURUQsIG51bGwpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRMb2FuKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRMb2FuO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiB2ZWhpY2xlIGxvYW5zXG4gICAqL1xuICBnZXRWZWhpY2xlTG9hbnMoKTogT2JzZXJ2YWJsZTxMb2FuW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobG9hbnM6IExvYW5bXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBsb2Fucy5maWx0ZXIoKGxvYW46IExvYW4pID0+IGxvYW4uaXNWZWhpY2xlKCkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgbG9hbiBwYXltZW50c1xuICAgKiBAcGFyYW0gbG9hblxuICAgKi9cbiAgY2FsY3VsYXRlTG9hblBheW1lbnRzKGxvYW46IExvYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS9jYWxjdWxhdGlvbmAsIGxvYW4pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhMb2FuLCByZXNwb25zZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBsb2FuIHBheW91dFxuICAgKiBAcGFyYW0gbG9hblxuICAgKiBAcGFyYW0gcGFpZE91dExvYW5cbiAgICovXG4gIGFkZFBheW91dExvYW4obG9hbjogTG9hbiwgcGFpZE91dExvYW46IExvYW5QYXlvdXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9sb2Fucy8ke2xvYW4uaWR9L3BheW91dGAsIHBhaWRPdXRMb2FuKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgbG9hbi5wYXlvdXQgPSBwbGFpblRvQ2xhc3MoTG9hblBheW91dCwgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5MT0FOX1BBWU9VVF9VUERBVEVELCBudWxsKSk7XG4gICAgICAgICAgLy8gcmVzZXQgY2FjaGUgdG8gZmV0Y2ggbG9hbnMgd2l0aCB1cGRhdGVkIGRhdGFcbiAgICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgICAgfVxuICAgICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGxvYW4gcGF5b3V0XG4gICAqIEBwYXJhbSBsb2FuXG4gICAqIEBwYXJhbSBwYXlvdXRcbiAgICovXG4gIGRlbGV0ZVBheW91dExvYW4obG9hbjogTG9hbiwgcGF5b3V0OiBMb2FuUGF5b3V0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9sb2Fucy8ke2xvYW4uaWR9L3BheW91dC8ke3BheW91dC5pZH1gKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBsb2FuLnBheW91dCA9IG51bGw7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkxPQU5fUEFZT1VUX1VQREFURUQsIG51bGwpKTtcbiAgICAgICAgICAvLyByZXNldCBjYWNoZSB0byBmZXRjaCBsb2FucyB3aXRoIHVwZGF0ZWQgZGF0YVxuICAgICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgICB9XG4gICAgICApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgbG9hbiBwYXlvdXRcbiAgICogQHBhcmFtIGxvYW5cbiAgICogQHBhcmFtIHBhaWRPdXRMb2FuXG4gICAqL1xuICB1cGRhdGVQYXlvdXRMb2FuKGxvYW46IExvYW4sIHBhaWRPdXRMb2FuOiBMb2FuUGF5b3V0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9sb2Fucy8ke2xvYW4uaWR9L3BheW91dC8ke3BhaWRPdXRMb2FuLmlkfWAsIHBhaWRPdXRMb2FuKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgbG9hbi5wYXlvdXQgPSBwbGFpblRvQ2xhc3MoTG9hblBheW91dCwgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5MT0FOX1BBWU9VVF9VUERBVEVELCBudWxsKSk7XG4gICAgICAgICAgLy8gcmVzZXQgY2FjaGUgdG8gZmV0Y2ggbG9hbnMgd2l0aCB1cGRhdGVkIGRhdGFcbiAgICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgICAgfVxuICAgICAgKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,65 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { Notification } from '../../models/notification/notification';
3
- import { replace } from '../../functions/array';
4
- import { plainToClass } from 'class-transformer';
5
- import { BaseRestService } from '../base-rest.service';
6
- import { AppEvent } from '../../models/event/app-event';
7
- import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
8
- import clone from 'lodash/clone';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
- import * as i2 from "../event/event-dispatcher.service";
12
- import * as i3 from "../event/sse.service";
13
- /**
14
- * Service to handle service notifications logic
15
- */
16
- export class NotificationService extends BaseRestService {
17
- constructor(http, eventDispatcherService, environment, sseService) {
18
- super(http, eventDispatcherService, environment);
19
- this.http = http;
20
- this.eventDispatcherService = eventDispatcherService;
21
- this.environment = environment;
22
- this.sseService = sseService;
23
- this.modelClass = Notification;
24
- this.url = 'service-notifications';
25
- this.isHydra = true;
26
- this.listenEvents();
27
- }
28
- /**
29
- * SSE and Event Dispatcher Services listeners
30
- */
31
- listenEvents() {
32
- this.listenNotifications();
33
- }
34
- /**
35
- * subscribe to new chat messages
36
- */
37
- listenNotifications() {
38
- this.sseService.on(`serviceNotification`).subscribe((notificationBase) => {
39
- const notification = plainToClass(Notification, notificationBase);
40
- const cache = clone(this.cache);
41
- // update existing notification if read and add new notification if not read
42
- if (notification.isRead) {
43
- replace(cache, notification);
44
- }
45
- else {
46
- cache.unshift(notification);
47
- }
48
- this.cache = cache;
49
- this.cacheSubject.next(this.cache);
50
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.NOTIFICATION_ADDED, notification));
51
- });
52
- }
53
- }
54
- NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: NotificationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
55
- NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: NotificationService, providedIn: 'root' });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: NotificationService, decorators: [{
57
- type: Injectable,
58
- args: [{
59
- providedIn: 'root'
60
- }]
61
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
62
- type: Inject,
63
- args: ['environment']
64
- }] }, { type: i3.SseService }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUd0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFBOzs7OztBQUNoQzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUErQztJQUt0RixZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQixFQUN6QyxVQUFzQjtRQUU5QixLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBTHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBUmhDLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLFFBQUcsR0FBVyx1QkFBdUIsQ0FBQztRQUN0QyxZQUFPLEdBQVksSUFBSSxDQUFDO1FBU3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsZ0JBQWtDLEVBQVEsRUFBRTtZQUMvRixNQUFNLFlBQVksR0FBaUIsWUFBWSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2hGLE1BQU0sS0FBSyxHQUFtQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hELDRFQUE0RTtZQUM1RSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM3QjtZQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDeEcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEF2Q1UsbUJBQW1CLGtGQVFwQixhQUFhO3FIQVJaLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VydmljZU5vdGlmaWNhdGlvbiBhcyBOb3RpZmljYXRpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3NlcnZpY2Utbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTc2VTZXJ2aWNlIH0gZnJvbSAnLi4vZXZlbnQvc3NlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgY2xvbmUgZnJvbSAnbG9kYXNoL2Nsb25lJ1xuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSBzZXJ2aWNlIG5vdGlmaWNhdGlvbnMgbG9naWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSBleHRlbmRzIEJhc2VSZXN0U2VydmljZTxOb3RpZmljYXRpb25CYXNlLCBOb3RpZmljYXRpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgTm90aWZpY2F0aW9uID0gTm90aWZpY2F0aW9uO1xuICB1cmw6IHN0cmluZyA9ICdzZXJ2aWNlLW5vdGlmaWNhdGlvbnMnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIHByaXZhdGUgc3NlU2VydmljZTogU3NlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTU0UgYW5kIEV2ZW50IERpc3BhdGNoZXIgU2VydmljZXMgbGlzdGVuZXJzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4gIH1cblxuICAvKipcbiAgICogc3Vic2NyaWJlIHRvIG5ldyBjaGF0IG1lc3NhZ2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBzZXJ2aWNlTm90aWZpY2F0aW9uYCkuc3Vic2NyaWJlKChub3RpZmljYXRpb25CYXNlOiBOb3RpZmljYXRpb25CYXNlKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbiA9IHBsYWluVG9DbGFzcyhOb3RpZmljYXRpb24sIG5vdGlmaWNhdGlvbkJhc2UpO1xuICAgICAgY29uc3QgY2FjaGU6IE5vdGlmaWNhdGlvbltdID0gY2xvbmUodGhpcy5jYWNoZSk7XG4gICAgICAvLyB1cGRhdGUgZXhpc3Rpbmcgbm90aWZpY2F0aW9uIGlmIHJlYWQgYW5kIGFkZCBuZXcgbm90aWZpY2F0aW9uIGlmIG5vdCByZWFkXG4gICAgICBpZiAobm90aWZpY2F0aW9uLmlzUmVhZCkge1xuICAgICAgICByZXBsYWNlKGNhY2hlLCBub3RpZmljYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FjaGUudW5zaGlmdChub3RpZmljYXRpb24pO1xuICAgICAgfVxuICAgICAgdGhpcy5jYWNoZSA9IGNhY2hlO1xuICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQsIG5vdGlmaWNhdGlvbikpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,45 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { plainToClass } from 'class-transformer';
4
- import { ChartData } from '../../models/chart/chart-data';
5
- import { ChartSerie } from '../../models/chart/chart-serie';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common/http";
8
- /**
9
- * Service for get property equity position half-year history chart data
10
- */
11
- export class EquityPositionChartService {
12
- constructor(http, environment) {
13
- this.http = http;
14
- this.environment = environment;
15
- }
16
- get() {
17
- // @TODO refactor backend
18
- return this.http.get(`${this.environment.apiV2}/properties/categories/equity`)
19
- .pipe(map((response) => {
20
- return response.map((item) => {
21
- return plainToClass(ChartData, {
22
- name: item.category.name,
23
- data: item.equity.map((serie) => {
24
- return plainToClass(ChartSerie, {
25
- label: serie.date,
26
- value: serie.amount
27
- });
28
- })
29
- });
30
- });
31
- }));
32
- }
33
- }
34
- EquityPositionChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
35
- EquityPositionChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, providedIn: 'root' });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, decorators: [{
37
- type: Injectable,
38
- args: [{
39
- providedIn: 'root'
40
- }]
41
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
42
- type: Inject,
43
- args: ['environment']
44
- }] }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1aXR5LXBvc2l0aW9uLWNoYXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcHJvcGVydHkvZXF1aXR5LXBvc2l0aW9uLWNoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFNUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ1UsSUFBZ0IsRUFDTyxXQUFnQjtRQUR2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ08sZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFDN0MsQ0FBQztJQUVMLEdBQUc7UUFDRCx5QkFBeUI7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSywrQkFBK0IsQ0FBQzthQUMzRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZSxFQUFlLEVBQUU7WUFDbkMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8sWUFBWSxDQUFDLFNBQVMsRUFBRTtvQkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtvQkFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7d0JBQ25DLE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRTs0QkFDOUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJOzRCQUNqQixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU07eUJBQ3BCLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUM7aUJBQ0gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7d0hBeEJVLDBCQUEwQiw0Q0FHM0IsYUFBYTs0SEFIWiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhcnQvY2hhcnQtZGF0YSc7XG5pbXBvcnQgeyBDaGFydFNlcmllIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXJ0L2NoYXJ0LXNlcmllJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBnZXQgcHJvcGVydHkgZXF1aXR5IHBvc2l0aW9uIGhhbGYteWVhciBoaXN0b3J5IGNoYXJ0IGRhdGFcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXF1aXR5UG9zaXRpb25DaGFydFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7IH1cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxDaGFydERhdGFbXT4ge1xuICAgIC8vIEBUT0RPIHJlZmFjdG9yIGJhY2tlbmRcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9wcm9wZXJ0aWVzL2NhdGVnb3JpZXMvZXF1aXR5YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnlbXSk6IENoYXJ0RGF0YVtdID0+IHtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoQ2hhcnREYXRhLCB7XG4gICAgICAgICAgICAgIG5hbWU6IGl0ZW0uY2F0ZWdvcnkubmFtZSxcbiAgICAgICAgICAgICAgZGF0YTogaXRlbS5lcXVpdHkubWFwKChzZXJpZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhDaGFydFNlcmllLCB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogc2VyaWUuZGF0ZSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZXJpZS5hbW91bnRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -1,23 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BaseRestService } from '../../base-rest.service';
3
- import { PropertyCategory } from '../../../models/property/property-category';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Service for work with Property Categories
7
- */
8
- export class PropertyCategoryService extends BaseRestService {
9
- constructor() {
10
- super(...arguments);
11
- this.modelClass = PropertyCategory;
12
- this.url = 'properties/categories';
13
- }
14
- }
15
- PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16
- PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, providedIn: 'root' });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, decorators: [{
18
- type: Injectable,
19
- args: [{
20
- providedIn: 'root'
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS9wcm9wZXJ0eS1jYXRlZ29yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUU5RTs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxlQUF1RDtJQUhwRzs7UUFJRSxlQUFVLEdBQTRCLGdCQUFnQixDQUFDO1FBQ3ZELFFBQUcsR0FBVyx1QkFBdUIsQ0FBQztLQUN2Qzs7cUhBSFksdUJBQXVCO3lIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeSBhcyBQcm9wZXJ0eUNhdGVnb3J5QmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQgeyBCYXNlUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9iYXNlLXJlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5JztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JrIHdpdGggUHJvcGVydHkgQ2F0ZWdvcmllc1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUNhdGVnb3J5U2VydmljZSBleHRlbmRzIEJhc2VSZXN0U2VydmljZTxQcm9wZXJ0eUNhdGVnb3J5QmFzZSwgUHJvcGVydHlDYXRlZ29yeT57XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eUNhdGVnb3J5ID0gUHJvcGVydHlDYXRlZ29yeTtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcy9jYXRlZ29yaWVzJztcbn1cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { PropertyCategoryMovement } from '../../models/property/property-category-movement';
3
- import { BaseRestService } from '../base-rest.service';
4
- import { map } from 'rxjs/operators';
5
- import { AppEvent } from '../../models/event/app-event';
6
- import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
7
- import * as i0 from "@angular/core";
8
- export class PropertyCategoryMovementService extends BaseRestService {
9
- constructor() {
10
- super(...arguments);
11
- this.modelClass = PropertyCategoryMovement;
12
- this.url = 'properties/category-movements';
13
- }
14
- add(model) {
15
- return super.add(model).pipe(map((newMovement) => {
16
- // @TODO Alex: we need to teach restService to dispatch events + limit list of methods (not all services have all 4 or even more considering batch requests) + collections
17
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_MOVEMENT_CREATED, null));
18
- return newMovement;
19
- }));
20
- }
21
- update(model) {
22
- return super.update(model).pipe(map((updatedMovement) => {
23
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_MOVEMENT_CREATED, null));
24
- return updatedMovement;
25
- }));
26
- }
27
- delete(model) {
28
- return super.delete(model).pipe(map(() => {
29
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_MOVEMENT_CREATED, null));
30
- }));
31
- }
32
- // @TODO Alex: Move to collection
33
- getByPropertyId(id) {
34
- return this.get().pipe(map((movements) => {
35
- return movements.filter((movement) => movement.property.id === id);
36
- }));
37
- }
38
- }
39
- PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
40
- PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
42
- type: Injectable,
43
- args: [{
44
- providedIn: 'root'
45
- }]
46
- }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBSzFFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxlQUF1RTtJQUg1SDs7UUFJRSxlQUFVLEdBQW9DLHdCQUF3QixDQUFDO1FBQ3ZFLFFBQUcsR0FBVywrQkFBK0IsQ0FBQztLQXFDL0M7SUFuQ0MsR0FBRyxDQUFDLEtBQStCO1FBQ2pDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLFdBQXFDLEVBQTRCLEVBQUU7WUFDdEUsMEtBQTBLO1lBQzFLLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUNwRyxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUErQjtRQUNwQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsQ0FBQyxlQUF5QyxFQUE0QixFQUFFO1lBQzFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyRyxPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUErQjtRQUNwQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsR0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLGVBQWUsQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLENBQUMsU0FBcUMsRUFBOEIsRUFBRTtZQUN4RSxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQyxFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUN2RyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7NkhBdENVLCtCQUErQjtpSUFBL0IsK0JBQStCLGNBRjlCLE1BQU07NEZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgYXMgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQgeyBCYXNlUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9iYXNlLXJlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50U2VydmljZSBleHRlbmRzIEJhc2VSZXN0U2VydmljZTxQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRCYXNlLCBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQ+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCA9IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudDtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcy9jYXRlZ29yeS1tb3ZlbWVudHMnO1xuXG4gIGFkZChtb2RlbDogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KTogT2JzZXJ2YWJsZTxQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQ+IHtcbiAgICByZXR1cm4gc3VwZXIuYWRkKG1vZGVsKS5waXBlKFxuICAgICAgbWFwKChuZXdNb3ZlbWVudDogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KTogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50ID0+IHtcbiAgICAgICAgLy8gQFRPRE8gQWxleDogd2UgbmVlZCB0byB0ZWFjaCByZXN0U2VydmljZSB0byBkaXNwYXRjaCBldmVudHMgKyBsaW1pdCBsaXN0IG9mIG1ldGhvZHMgKG5vdCBhbGwgc2VydmljZXMgaGF2ZSBhbGwgNCBvciBldmVuIG1vcmUgY29uc2lkZXJpbmcgYmF0Y2ggcmVxdWVzdHMpICsgY29sbGVjdGlvbnNcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0NSRUFURUQsIG51bGwpKVxuICAgICAgICByZXR1cm4gbmV3TW92ZW1lbnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUobW9kZWw6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCk6IE9ic2VydmFibGU8UHJvcGVydHlDYXRlZ29yeU1vdmVtZW50PiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShtb2RlbCkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZE1vdmVtZW50OiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQpOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfTU9WRU1FTlRfQ1JFQVRFRCwgbnVsbCkpO1xuICAgICAgICByZXR1cm4gdXBkYXRlZE1vdmVtZW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKG1vZGVsOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlKG1vZGVsKS5waXBlKFxuICAgICAgbWFwKCgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0NSRUFURUQsIG51bGwpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8vIEBUT0RPIEFsZXg6IE1vdmUgdG8gY29sbGVjdGlvblxuICBnZXRCeVByb3BlcnR5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChtb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdKTogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W10gPT4ge1xuICAgICAgICByZXR1cm4gbW92ZW1lbnRzLmZpbHRlcigobW92ZW1lbnQ6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCk6IGJvb2xlYW4gPT4gbW92ZW1lbnQucHJvcGVydHkuaWQgPT09IGlkKVxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=