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.
- package/bundles/taxtank-core.umd.js +94 -92
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/db/Models/transaction-base.js +2 -1
- package/esm2015/lib/services/http/address/address.service.js +39 -0
- package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +118 -0
- package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +52 -0
- package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +89 -0
- package/esm2015/lib/services/http/bank/bank.service.js +24 -0
- package/esm2015/lib/services/http/bank/basiq/basiq.service.js +94 -0
- package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +38 -0
- package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +89 -0
- package/esm2015/lib/services/http/chat/chat.service.js +77 -0
- package/esm2015/lib/services/http/chat/message/message.service.js +65 -0
- package/esm2015/lib/services/http/chat/message-document/message-document.service.js +118 -0
- package/esm2015/lib/services/{depreciation/capital-project.service.js → http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js} +7 -7
- package/esm2015/lib/services/http/depreciation/depreciation.service.js +146 -0
- package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +84 -0
- package/esm2015/lib/services/{client → http/firm/client-invite}/client-invite.service.js +7 -7
- package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +98 -0
- package/esm2015/lib/services/http/firm/employee/employee.service.js +39 -0
- package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +53 -0
- package/esm2015/lib/services/http/firm/firm.service.js +79 -0
- package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +37 -0
- package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +90 -0
- package/esm2015/lib/services/http/income-source/income-source.service.js +109 -0
- package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +90 -0
- package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +87 -0
- package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +73 -0
- package/esm2015/lib/services/http/loan/loan.service.js +145 -0
- package/esm2015/lib/services/http/property/property-category/property-category.service.js +23 -0
- package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +47 -0
- package/esm2015/lib/services/http/property/property-document/property-document.service.js +70 -0
- package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +20 -0
- package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +21 -0
- package/esm2015/lib/services/http/property/property-share/property-share.service.js +115 -0
- package/esm2015/lib/services/http/property/property.service.js +126 -0
- package/esm2015/lib/services/http/rest/rest.service.js +190 -0
- package/esm2015/lib/services/http/service-notification/service-notification.service.js +65 -0
- package/esm2015/lib/services/http/subscription/subscription.service.js +157 -0
- package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +41 -0
- package/esm2015/lib/services/http/tax-review/tax-review.service.js +103 -0
- package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +71 -0
- package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +85 -0
- package/esm2015/lib/services/http/transaction/transaction.service.js +319 -0
- package/esm2015/lib/services/http/user/occupation/occupation.service.js +45 -0
- package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +59 -0
- package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +29 -0
- package/esm2015/lib/services/http/user/user.service.js +124 -0
- package/esm2015/lib/services/http/vehicle/vehicle.service.js +237 -0
- package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +45 -0
- package/esm2015/public-api.js +48 -48
- package/fesm2015/taxtank-core.js +51 -49
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/services/{address → http/address}/address.service.d.ts +1 -1
- package/lib/services/{bank → http/bank/bank-account}/bank-account.service.d.ts +5 -5
- package/lib/services/{bank → http/bank/bank-connection}/bank-connection.service.d.ts +5 -5
- package/lib/services/{bank → http/bank/bank-transaction}/bank-transaction.service.d.ts +5 -5
- package/lib/services/{bank → http/bank}/bank.service.d.ts +4 -4
- package/lib/services/{bank → http/bank/basiq}/basiq.service.d.ts +7 -7
- package/lib/services/{chart-accounts → http/chart-accounts/chart-accounts-depreciations}/chart-accounts-depreciations.service.d.ts +4 -4
- package/lib/services/{chart-accounts → http/chart-accounts}/chart-accounts.service.d.ts +3 -3
- package/lib/services/{chat → http/chat}/chat.service.d.ts +7 -7
- package/lib/services/{chat → http/chat/message}/message.service.d.ts +7 -7
- package/lib/services/{chat → http/chat/message-document}/message-document.service.d.ts +3 -3
- package/lib/services/{depreciation/capital-project.service.d.ts → http/depreciation/depreciation-capital-project/depreciation-capital-project.service.d.ts} +4 -4
- package/lib/services/{depreciation → http/depreciation}/depreciation.service.d.ts +5 -5
- package/lib/services/{document → http/document/document-folder}/document-folder.service.d.ts +6 -6
- package/lib/services/{client → http/firm/client-invite}/client-invite.service.d.ts +4 -4
- package/lib/services/{client → http/firm/client-movement}/client-movement.service.d.ts +7 -7
- package/lib/services/{employee → http/firm/employee}/employee.service.d.ts +4 -4
- package/lib/services/{employee → http/firm/employee-invite}/employee-invite.service.d.ts +4 -4
- package/lib/services/{firm → http/firm}/firm.service.d.ts +2 -2
- package/lib/services/{client → http/firm/portfolio-report}/client-portfolio-report.service.d.ts +1 -1
- package/lib/services/{income-source → http/income-source/income-source-forecast}/income-source-forecast.service.d.ts +5 -5
- package/lib/services/{income-source → http/income-source}/income-source.service.d.ts +8 -8
- package/lib/services/{income-source → http/income-source/salary-forecast}/salary-forecast.service.d.ts +6 -6
- package/lib/services/{income-source → http/income-source/sole-forecast}/sole-forecast.service.d.ts +5 -5
- package/lib/services/{borrowing-expense → http/loan/borrowing-expense}/borrowing-expense.service.d.ts +2 -2
- package/lib/services/{loan → http/loan}/loan.service.d.ts +6 -6
- package/lib/services/{property → http/property}/property-category/property-category.service.d.ts +4 -4
- package/lib/services/{property → http/property/property-category-movement}/property-category-movement.service.d.ts +4 -4
- package/lib/services/{property → http/property}/property-document/property-document.service.d.ts +5 -5
- package/lib/services/http/property/property-sale/property-sale.service.d.ts +10 -0
- package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +11 -0
- package/lib/services/{property → http/property}/property-share/property-share.service.d.ts +5 -5
- package/lib/services/{property → http/property}/property.service.d.ts +5 -5
- package/lib/services/{base-rest.service.d.ts → http/rest/rest.service.d.ts} +4 -4
- package/lib/services/http/service-notification/service-notification.service.d.ts +31 -0
- package/lib/services/{subscription → http/subscription}/subscription.service.d.ts +6 -6
- package/lib/services/{tax-review → http/tax-review/tax-review-history}/tax-review-history.service.d.ts +5 -5
- package/lib/services/{tax-review → http/tax-review}/tax-review.service.d.ts +6 -6
- package/lib/services/{tax-summary → http/tax-summary}/tax-summary.service.d.ts +2 -2
- package/lib/services/{transaction → http/transaction/transaction-allocation}/transaction-allocation.service.d.ts +6 -6
- package/lib/services/{transaction → http/transaction}/transaction.service.d.ts +7 -7
- package/lib/services/{user → http/user/occupation}/occupation.service.d.ts +1 -1
- package/lib/services/{user-event → http/user/user-event-setting}/user-event-setting.service.d.ts +5 -5
- package/lib/services/{user-event → http/user/user-event-type}/user-event-type.service.d.ts +5 -5
- package/lib/services/{user → http/user}/user.service.d.ts +3 -3
- package/lib/services/{work/work-tank.service.d.ts → http/vehicle/vehicle.service.d.ts} +9 -8
- package/lib/services/property/{equity-position-chart.service.d.ts → equity-position-chart/equity-position-chart.service.d.ts} +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +47 -47
- package/esm2015/lib/services/address/address.service.js +0 -39
- package/esm2015/lib/services/bank/bank-account.service.js +0 -118
- package/esm2015/lib/services/bank/bank-connection.service.js +0 -52
- package/esm2015/lib/services/bank/bank-transaction.service.js +0 -89
- package/esm2015/lib/services/bank/bank.service.js +0 -24
- package/esm2015/lib/services/bank/basiq.service.js +0 -94
- package/esm2015/lib/services/base-rest.service.js +0 -190
- package/esm2015/lib/services/borrowing-expense/borrowing-expense.service.js +0 -73
- package/esm2015/lib/services/chart-accounts/chart-accounts-depreciations.service.js +0 -38
- package/esm2015/lib/services/chart-accounts/chart-accounts.service.js +0 -89
- package/esm2015/lib/services/chat/chat.service.js +0 -77
- package/esm2015/lib/services/chat/message-document.service.js +0 -118
- package/esm2015/lib/services/chat/message.service.js +0 -65
- package/esm2015/lib/services/client/client-movement.service.js +0 -98
- package/esm2015/lib/services/client/client-portfolio-report.service.js +0 -37
- package/esm2015/lib/services/depreciation/depreciation.service.js +0 -146
- package/esm2015/lib/services/document/document-folder.service.js +0 -84
- package/esm2015/lib/services/employee/employee-invite.service.js +0 -53
- package/esm2015/lib/services/employee/employee.service.js +0 -39
- package/esm2015/lib/services/firm/firm.service.js +0 -79
- package/esm2015/lib/services/income-source/income-source-forecast.service.js +0 -90
- package/esm2015/lib/services/income-source/income-source.service.js +0 -109
- package/esm2015/lib/services/income-source/salary-forecast.service.js +0 -90
- package/esm2015/lib/services/income-source/sole-forecast.service.js +0 -87
- package/esm2015/lib/services/loan/loan.service.js +0 -145
- package/esm2015/lib/services/notification/notification.service.js +0 -65
- package/esm2015/lib/services/property/equity-position-chart.service.js +0 -45
- package/esm2015/lib/services/property/property-category/property-category.service.js +0 -23
- package/esm2015/lib/services/property/property-category-movement.service.js +0 -47
- package/esm2015/lib/services/property/property-document/property-document.service.js +0 -70
- package/esm2015/lib/services/property/property-sale/property-sale.service.js +0 -20
- package/esm2015/lib/services/property/property-sale/tax-exemption/tax-exemption.service.js +0 -21
- package/esm2015/lib/services/property/property-share/property-share.service.js +0 -115
- package/esm2015/lib/services/property/property.service.js +0 -126
- package/esm2015/lib/services/subscription/subscription.service.js +0 -157
- package/esm2015/lib/services/tax-review/tax-review-history.service.js +0 -41
- package/esm2015/lib/services/tax-review/tax-review.service.js +0 -103
- package/esm2015/lib/services/tax-summary/tax-summary.service.js +0 -71
- package/esm2015/lib/services/transaction/transaction-allocation.service.js +0 -85
- package/esm2015/lib/services/transaction/transaction.service.js +0 -319
- package/esm2015/lib/services/user/occupation.service.js +0 -45
- package/esm2015/lib/services/user/user.service.js +0 -124
- package/esm2015/lib/services/user-event/user-event-setting.service.js +0 -59
- package/esm2015/lib/services/user-event/user-event-type.service.js +0 -29
- package/esm2015/lib/services/work/work-tank.service.js +0 -236
- package/lib/services/notification/notification.service.d.ts +0 -31
- package/lib/services/property/property-sale/property-sale.service.d.ts +0 -10
- package/lib/services/property/property-sale/tax-exemption/tax-exemption.service.d.ts +0 -11
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { RestService } from '../../rest/rest.service';
|
|
3
|
+
import { TaxReview } from '../../../../models/tax-review/tax-review';
|
|
4
|
+
import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "../../../event/event-dispatcher.service";
|
|
9
|
+
/**
|
|
10
|
+
* Service to work with tax review history
|
|
11
|
+
*/
|
|
12
|
+
export class TaxReviewHistoryService extends RestService {
|
|
13
|
+
constructor(http, eventDispatcherService, environment) {
|
|
14
|
+
super(http, eventDispatcherService, environment);
|
|
15
|
+
this.http = http;
|
|
16
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
17
|
+
this.environment = environment;
|
|
18
|
+
this.url = 'tax-reviews/history';
|
|
19
|
+
this.modelClass = TaxReview;
|
|
20
|
+
// subscribe on tax review updating
|
|
21
|
+
eventDispatcherService.on(AppEventTypeEnum.TAX_REVIEW_UPDATED).subscribe((taxReview) => {
|
|
22
|
+
const tempCache = _.cloneDeep(this.cache);
|
|
23
|
+
// insert element at the beginning of the array
|
|
24
|
+
tempCache.unshift(taxReview);
|
|
25
|
+
this.cache = tempCache;
|
|
26
|
+
this.updateCache();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
TaxReviewHistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewHistoryService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
+
TaxReviewHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewHistoryService, providedIn: 'root' });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewHistoryService, decorators: [{
|
|
33
|
+
type: Injectable,
|
|
34
|
+
args: [{
|
|
35
|
+
providedIn: 'root'
|
|
36
|
+
}]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
38
|
+
type: Inject,
|
|
39
|
+
args: ['environment']
|
|
40
|
+
}] }]; } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldmlldy1oaXN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC90YXgtcmV2aWV3L3RheC1yZXZpZXctaGlzdG9yeS90YXgtcmV2aWV3LWhpc3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7OztBQUV2Qjs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxXQUFxQztJQUloRixZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQU5uRCxRQUFHLEdBQVcscUJBQXFCLENBQUM7UUFDcEMsZUFBVSxHQUFxQixTQUFTLENBQUM7UUFRdkMsbUNBQW1DO1FBQ25DLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQW9CLEVBQVEsRUFBRTtZQUN0RyxNQUFNLFNBQVMsR0FBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsK0NBQStDO1lBQy9DLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBbEJVLHVCQUF1QixrRkFPeEIsYUFBYTt5SEFQWix1QkFBdUIsY0FGdEIsTUFBTTs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRheFJldmlldyBhcyBUYXhSZXZpZXdCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3RheC1yZXZpZXcnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGF4UmV2aWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3RheC1yZXZpZXcvdGF4LXJldmlldyc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIHRheCByZXZpZXcgaGlzdG9yeVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUYXhSZXZpZXdIaXN0b3J5U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRheFJldmlld0Jhc2UsIFRheFJldmlldz4ge1xuICB1cmw6IHN0cmluZyA9ICd0YXgtcmV2aWV3cy9oaXN0b3J5JztcbiAgbW9kZWxDbGFzczogdHlwZW9mIFRheFJldmlldyA9IFRheFJldmlldztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgICAvLyBzdWJzY3JpYmUgb24gdGF4IHJldmlldyB1cGRhdGluZ1xuICAgIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5UQVhfUkVWSUVXX1VQREFURUQpLnN1YnNjcmliZSgodGF4UmV2aWV3OiBUYXhSZXZpZXcpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHRlbXBDYWNoZTogVGF4UmV2aWV3W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgIC8vIGluc2VydCBlbGVtZW50IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5XG4gICAgICB0ZW1wQ2FjaGUudW5zaGlmdCh0YXhSZXZpZXcpO1xuICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import _ from 'lodash';
|
|
4
|
+
import { replace } from '../../../functions/array';
|
|
5
|
+
import { RestService } from '../rest/rest.service';
|
|
6
|
+
import { plainToClass } from 'class-transformer';
|
|
7
|
+
import { TaxReview } from '../../../models/tax-review/tax-review';
|
|
8
|
+
import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
|
|
9
|
+
import { AppEvent } from '../../../models/event/app-event';
|
|
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 to work with tax review
|
|
15
|
+
*/
|
|
16
|
+
export class TaxReviewService extends RestService {
|
|
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 = 'tax-reviews';
|
|
23
|
+
this.modelClass = TaxReview;
|
|
24
|
+
this.listenEvents();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Listen events from SSE and Event Dispatcher services
|
|
28
|
+
*/
|
|
29
|
+
listenEvents() {
|
|
30
|
+
this.listenFirmChanges();
|
|
31
|
+
this.listenClientTransfer();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Add new Tax Review (request from client to firm)
|
|
35
|
+
* @param finYear
|
|
36
|
+
*/
|
|
37
|
+
request(finYear) {
|
|
38
|
+
return this.http.post(`${this.environment.apiV2}/${this.url}?financialYear=${finYear}`, {})
|
|
39
|
+
.pipe(map((newTaxReview) => {
|
|
40
|
+
const taxReview = plainToClass(TaxReview, newTaxReview);
|
|
41
|
+
const tempCache = _.cloneDeep(this.cache);
|
|
42
|
+
tempCache.push(taxReview);
|
|
43
|
+
this.cache = tempCache;
|
|
44
|
+
this.updateCache();
|
|
45
|
+
return taxReview;
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Update tax review
|
|
50
|
+
* @param taxReview to be updated
|
|
51
|
+
*/
|
|
52
|
+
update(taxReview) {
|
|
53
|
+
return this.http.put(`${this.environment.apiV2}/${this.url}/${taxReview.id}`, taxReview)
|
|
54
|
+
.pipe(map((updatedTaxReview) => {
|
|
55
|
+
const updatedInstance = plainToClass(TaxReview, updatedTaxReview);
|
|
56
|
+
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.TAX_REVIEW_UPDATED, updatedInstance));
|
|
57
|
+
const tempCache = _.cloneDeep(this.cache);
|
|
58
|
+
replace(tempCache, updatedInstance);
|
|
59
|
+
this.cache = tempCache;
|
|
60
|
+
this.updateCache();
|
|
61
|
+
return updatedInstance;
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Clear cache when user reject firm
|
|
66
|
+
*/
|
|
67
|
+
listenFirmChanges() {
|
|
68
|
+
this.eventDispatcherService.on([AppEventTypeEnum.CLIENT_MOVEMENT_CLOSED, AppEventTypeEnum.CLIENT_INVITE_ACCEPTED])
|
|
69
|
+
.subscribe(() => {
|
|
70
|
+
this.cache = [];
|
|
71
|
+
this.updateCache();
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Update firm for all transferred clients
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
listenClientTransfer() {
|
|
79
|
+
this.eventDispatcherService.on(AppEventTypeEnum.CLIENT_TRANSFER_TO_OTHER_EMPLOYEE)
|
|
80
|
+
.subscribe((transferredClients) => {
|
|
81
|
+
const tempCache = _.cloneDeep(this.cache);
|
|
82
|
+
transferredClients.forEach((transferredClient) => {
|
|
83
|
+
const taxReviewIndex = tempCache.findIndex((taxReview) => taxReview.id === transferredClient.id);
|
|
84
|
+
// @TODO vik
|
|
85
|
+
// tempCache[taxReviewIndex].employee = transferredClient.accountant;
|
|
86
|
+
});
|
|
87
|
+
this.cache = tempCache;
|
|
88
|
+
this.updateCache();
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
TaxReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
|
+
TaxReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewService, providedIn: 'root' });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewService, decorators: [{
|
|
95
|
+
type: Injectable,
|
|
96
|
+
args: [{
|
|
97
|
+
providedIn: 'root'
|
|
98
|
+
}]
|
|
99
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
100
|
+
type: Inject,
|
|
101
|
+
args: ['environment']
|
|
102
|
+
}] }]; } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdGF4LXJldmlldy90YXgtcmV2aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBRzNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQXFDO0lBSXpFLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFKdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTm5ELFFBQUcsR0FBVyxhQUFhLENBQUM7UUFDNUIsZUFBVSxHQUFxQixTQUFTLENBQUM7UUFRdkMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFF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cUVBQXFFO1lBQ3ZFLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OEdBMUZVLGdCQUFnQixrRkFPakIsYUFBYTtrSEFQWixnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGF4UmV2aWV3IGFzIFRheFJldmlld0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdGF4LXJldmlldyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRheFJldmlldyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90YXgtcmV2aWV3L3RheC1yZXZpZXcnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci91c2VyJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCB0YXggcmV2aWV3XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRheFJldmlld1NlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxUYXhSZXZpZXdCYXNlLCBUYXhSZXZpZXc+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICB1cmw6IHN0cmluZyA9ICd0YXgtcmV2aWV3cyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBUYXhSZXZpZXcgPSBUYXhSZXZpZXc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gU1NFIGFuZCBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5GaXJtQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuQ2xpZW50VHJhbnNmZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgbmV3IFRheCBSZXZpZXcgKHJlcXVlc3QgZnJvbSBjbGllbnQgdG8gZmlybSlcbiAgICogQHBhcmFtIGZpblllYXJcbiAgICovXG4gIHJlcXVlc3QoZmluWWVhcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxUYXhSZXZpZXc+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0/ZmluYW5jaWFsWWVhcj0ke2ZpblllYXJ9YCwge30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUYXhSZXZpZXc6IFRheFJldmlld0Jhc2UpOiBUYXhSZXZpZXcgPT4ge1xuICAgICAgICAgIGNvbnN0IHRheFJldmlldzogVGF4UmV2aWV3ID0gcGxhaW5Ub0NsYXNzKFRheFJldmlldywgbmV3VGF4UmV2aWV3KTtcbiAgICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IFRheFJldmlld1tdID0gXy5jbG9uZURlZXAodGhpcy5jYWNoZSk7XG4gICAgICAgICAgdGVtcENhY2hlLnB1c2godGF4UmV2aWV3KTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGVtcENhY2hlO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdGF4UmV2aWV3O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGF4IHJldmlld1xuICAgKiBAcGFyYW0gdGF4UmV2aWV3IHRvIGJlIHVwZGF0ZWRcbiAgICovXG4gIHVwZGF0ZSh0YXhSZXZpZXc6IFRheFJldmlldyk6IE9ic2VydmFibGU8VGF4UmV2aWV3PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHt0YXhSZXZpZXcuaWR9YCwgdGF4UmV2aWV3KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZFRheFJldmlldzogVGF4UmV2aWV3QmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRJbnN0YW5jZTogVGF4UmV2aWV3ID0gcGxhaW5Ub0NsYXNzKFRheFJldmlldywgdXBkYXRlZFRheFJldmlldyk7XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVEFYX1JFVklFV19VUERBVEVELCB1cGRhdGVkSW5zdGFuY2UpKTtcblxuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogVGF4UmV2aWV3W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICByZXBsYWNlKHRlbXBDYWNoZSwgdXBkYXRlZEluc3RhbmNlKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGVtcENhY2hlO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkSW5zdGFuY2U7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIGNhY2hlIHdoZW4gdXNlciByZWplY3QgZmlybVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5GaXJtQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uQ0xJRU5UX01PVkVNRU5UX0NMT1NFRCwgQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfSU5WSVRFX0FDQ0VQVEVEXSlcbiAgICAgIC5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlID0gW107XG4gICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBmaXJtIGZvciBhbGwgdHJhbnNmZXJyZWQgY2xpZW50c1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5DbGllbnRUcmFuc2ZlcigpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfVFJBTlNGRVJfVE9fT1RIRVJfRU1QTE9ZRUUpXG4gICAgICAuc3Vic2NyaWJlKCh0cmFuc2ZlcnJlZENsaWVudHM6IFVzZXJbXSk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IFRheFJldmlld1tdID0gXy5jbG9uZURlZXAodGhpcy5jYWNoZSk7XG5cbiAgICAgICAgdHJhbnNmZXJyZWRDbGllbnRzLmZvckVhY2goKHRyYW5zZmVycmVkQ2xpZW50OiBVc2VyKTogdm9pZCA9PiB7XG4gICAgICAgICAgY29uc3QgdGF4UmV2aWV3SW5kZXg6IG51bWJlciA9IHRlbXBDYWNoZS5maW5kSW5kZXgoKHRheFJldmlldzogVGF4UmV2aWV3KTogYm9vbGVhbiA9PiB0YXhSZXZpZXcuaWQgPT09IHRyYW5zZmVycmVkQ2xpZW50LmlkKTtcbiAgICAgICAgICAvLyBAVE9ETyB2aWtcbiAgICAgICAgICAvLyB0ZW1wQ2FjaGVbdGF4UmV2aWV3SW5kZXhdLmVtcGxveWVlID0gdHJhbnNmZXJyZWRDbGllbnQuYWNjb3VudGFudDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { ReplaySubject } from 'rxjs';
|
|
3
|
+
import { plainToClass } from 'class-transformer';
|
|
4
|
+
import { TaxSummary } from '../../../models/tax-summary/tax-summary';
|
|
5
|
+
import { TaxSummaryTypeEnum } from '../../../models/tax-summary/tax-summary-type.enum';
|
|
6
|
+
import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common/http";
|
|
9
|
+
import * as i2 from "../../event/event-dispatcher.service";
|
|
10
|
+
/**
|
|
11
|
+
* Service to work with tax summary logic
|
|
12
|
+
*/
|
|
13
|
+
export class TaxSummaryService {
|
|
14
|
+
constructor(http, eventDispatcherService, environment) {
|
|
15
|
+
this.http = http;
|
|
16
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
17
|
+
this.environment = environment;
|
|
18
|
+
this.taxSummaryActualsSubject = new ReplaySubject(1);
|
|
19
|
+
this.taxSummaryForecastsSubject = new ReplaySubject(1);
|
|
20
|
+
this.listenEvents();
|
|
21
|
+
}
|
|
22
|
+
listenEvents() {
|
|
23
|
+
this.listenToIncomeSourceForecastsEvents();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get actual tax summary items
|
|
27
|
+
*/
|
|
28
|
+
getActuals() {
|
|
29
|
+
this.http.get(`${this.environment.apiV2}/tax-summary/${TaxSummaryTypeEnum.ACTUALS}`, {})
|
|
30
|
+
.subscribe((response) => {
|
|
31
|
+
const taxSummary = plainToClass(TaxSummary, response);
|
|
32
|
+
this.taxSummaryActualsSubject.next(taxSummary);
|
|
33
|
+
return taxSummary;
|
|
34
|
+
});
|
|
35
|
+
return this.taxSummaryActualsSubject.asObservable();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get forecast tax summary items
|
|
39
|
+
*/
|
|
40
|
+
getForecast() {
|
|
41
|
+
this.http.get(`${this.environment.apiV2}/tax-summary/${TaxSummaryTypeEnum.FORECASTS}`, {})
|
|
42
|
+
.subscribe((response) => {
|
|
43
|
+
const taxSummary = plainToClass(TaxSummary, response);
|
|
44
|
+
this.taxSummaryForecastsSubject.next(taxSummary);
|
|
45
|
+
return taxSummary;
|
|
46
|
+
});
|
|
47
|
+
return this.taxSummaryForecastsSubject.asObservable();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Listen to EventDispatcherService events related to Income source forecasts
|
|
51
|
+
*/
|
|
52
|
+
listenToIncomeSourceForecastsEvents() {
|
|
53
|
+
this.eventDispatcherService
|
|
54
|
+
.on([AppEventTypeEnum.INCOME_SOURCES_FORECASTS_CREATED, AppEventTypeEnum.INCOME_SOURCES_FORECASTS_UPDATED])
|
|
55
|
+
.subscribe(() => {
|
|
56
|
+
this.getForecast().subscribe();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
TaxSummaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxSummaryService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
+
TaxSummaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxSummaryService, providedIn: 'root' });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxSummaryService, decorators: [{
|
|
63
|
+
type: Injectable,
|
|
64
|
+
args: [{
|
|
65
|
+
providedIn: 'root'
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: ['environment']
|
|
70
|
+
}] }]; } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXN1bW1hcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBRTdFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNVLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUNyQixXQUFnQjtRQUZ6QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFObkQsNkJBQXdCLEdBQThCLElBQUksYUFBYSxDQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLCtCQUEwQixHQUE4QixJQUFJLGFBQWEsQ0FBYSxDQUFDLENBQUMsQ0FBQztRQU92RixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsbUNBQW1DLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssZ0JBQWdCLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUNyRixTQUFTLENBQUMsQ0FBQyxRQUFnQixFQUFjLEVBQUU7WUFDeEMsTUFBTSxVQUFVLEdBQWUsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUMsQ0FDRixDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGdCQUFnQixrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7YUFDdkYsU0FBUyxDQUFDLENBQUMsUUFBZ0IsRUFBYyxFQUFFO1lBQ3hDLE1BQU0sVUFBVSxHQUFlLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLENBQ0YsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNLLG1DQUFtQztRQUN6QyxJQUFJLENBQUMsc0JBQXNCO2FBQ3hCLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxFQUFFLGdCQUFnQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7YUFDMUcsU0FBUyxDQUFDLEdBQVMsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0FyRFUsaUJBQWlCLGtGQU9sQixhQUFhO21IQVBaLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRheFN1bW1hcnkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnknO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYXhTdW1tYXJ5VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdGF4LXN1bW1hcnkvdGF4LXN1bW1hcnktdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggdGF4IHN1bW1hcnkgbG9naWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGF4U3VtbWFyeVNlcnZpY2Uge1xuICB0YXhTdW1tYXJ5QWN0dWFsc1N1YmplY3Q6IFJlcGxheVN1YmplY3Q8VGF4U3VtbWFyeT4gPSBuZXcgUmVwbGF5U3ViamVjdDxUYXhTdW1tYXJ5PigxKTtcbiAgdGF4U3VtbWFyeUZvcmVjYXN0c1N1YmplY3Q6IFJlcGxheVN1YmplY3Q8VGF4U3VtbWFyeT4gPSBuZXcgUmVwbGF5U3ViamVjdDxUYXhTdW1tYXJ5PigxKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvSW5jb21lU291cmNlRm9yZWNhc3RzRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFjdHVhbCB0YXggc3VtbWFyeSBpdGVtc1xuICAgKi9cbiAgZ2V0QWN0dWFscygpOiBPYnNlcnZhYmxlPFRheFN1bW1hcnk+IHtcbiAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3RheC1zdW1tYXJ5LyR7VGF4U3VtbWFyeVR5cGVFbnVtLkFDVFVBTFN9YCwge30pXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogb2JqZWN0KTogVGF4U3VtbWFyeSA9PiB7XG4gICAgICAgICAgY29uc3QgdGF4U3VtbWFyeTogVGF4U3VtbWFyeSA9IHBsYWluVG9DbGFzcyhUYXhTdW1tYXJ5LCByZXNwb25zZSk7XG4gICAgICAgICAgdGhpcy50YXhTdW1tYXJ5QWN0dWFsc1N1YmplY3QubmV4dCh0YXhTdW1tYXJ5KTtcbiAgICAgICAgICByZXR1cm4gdGF4U3VtbWFyeTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICByZXR1cm4gdGhpcy50YXhTdW1tYXJ5QWN0dWFsc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZvcmVjYXN0IHRheCBzdW1tYXJ5IGl0ZW1zXG4gICAqL1xuICBnZXRGb3JlY2FzdCgpOiBPYnNlcnZhYmxlPFRheFN1bW1hcnk+IHtcbiAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3RheC1zdW1tYXJ5LyR7VGF4U3VtbWFyeVR5cGVFbnVtLkZPUkVDQVNUU31gLCB7fSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBvYmplY3QpOiBUYXhTdW1tYXJ5ID0+IHtcbiAgICAgICAgICBjb25zdCB0YXhTdW1tYXJ5OiBUYXhTdW1tYXJ5ID0gcGxhaW5Ub0NsYXNzKFRheFN1bW1hcnksIHJlc3BvbnNlKTtcbiAgICAgICAgICB0aGlzLnRheFN1bW1hcnlGb3JlY2FzdHNTdWJqZWN0Lm5leHQodGF4U3VtbWFyeSk7XG4gICAgICAgICAgcmV0dXJuIHRheFN1bW1hcnk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgcmV0dXJuIHRoaXMudGF4U3VtbWFyeUZvcmVjYXN0c1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnRzIHJlbGF0ZWQgdG8gSW5jb21lIHNvdXJjZSBmb3JlY2FzdHNcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9JbmNvbWVTb3VyY2VGb3JlY2FzdHNFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlXG4gICAgICAub24oW0FwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfRk9SRUNBU1RTX0NSRUFURUQsIEFwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfRk9SRUNBU1RTX1VQREFURURdKVxuICAgICAgLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Rm9yZWNhc3QoKS5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { TransactionAllocation } from '../../../../models/transaction/transaction-allocation';
|
|
3
|
+
import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
|
|
4
|
+
import { RestService } from '../../rest/rest.service';
|
|
5
|
+
import { map } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "../../../event/event-dispatcher.service";
|
|
9
|
+
// @TODO Don't look at the commented code. Will be refactored/removed during TT-1503
|
|
10
|
+
/**
|
|
11
|
+
* Service for transaction allocations business logic
|
|
12
|
+
* @TODO alex refactor
|
|
13
|
+
*/
|
|
14
|
+
export class TransactionAllocationService extends RestService {
|
|
15
|
+
constructor(http, eventDispatcherService, environment) {
|
|
16
|
+
super(http, eventDispatcherService, environment);
|
|
17
|
+
this.http = http;
|
|
18
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
19
|
+
this.environment = environment;
|
|
20
|
+
// API URL param for transaction allocations
|
|
21
|
+
this.url = 'transactions-allocations';
|
|
22
|
+
this.modelClass = TransactionAllocation;
|
|
23
|
+
this.listenEvents();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Add single transaction allocation
|
|
27
|
+
*/
|
|
28
|
+
add(allocation) {
|
|
29
|
+
return this.addBatch([allocation]).pipe(map((newAllocations) => newAllocations[0]));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* get list of transactions allocations related with passed bank transactions list
|
|
33
|
+
*/
|
|
34
|
+
getByTransactions(transactions) {
|
|
35
|
+
const ids = transactions.map((transaction) => transaction.id);
|
|
36
|
+
return this.get()
|
|
37
|
+
.pipe(map((transactionAllocations) => {
|
|
38
|
+
return transactionAllocations.filter((allocation) => ids.includes(allocation.transaction.id));
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
listenEvents() {
|
|
42
|
+
this.onTransactionsCreated();
|
|
43
|
+
this.onDepreciationCreated();
|
|
44
|
+
this.onTransactionDeleted();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Reset cache on transactions created
|
|
48
|
+
*/
|
|
49
|
+
onTransactionsCreated() {
|
|
50
|
+
this.eventDispatcherService.on(AppEventTypeEnum.TRANSACTIONS_CREATED).subscribe(() => {
|
|
51
|
+
// Update allocations cache to synchronize data and fire subscriptions
|
|
52
|
+
this.resetCache();
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Reset cache on depreciation created
|
|
57
|
+
*/
|
|
58
|
+
onDepreciationCreated() {
|
|
59
|
+
this.eventDispatcherService.on(AppEventTypeEnum.DEPRECIATIONS_CREATED).subscribe(() => {
|
|
60
|
+
// Update allocations cache to synchronize data and fire subscriptions
|
|
61
|
+
this.resetCache();
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reset cache on transaction deleted
|
|
66
|
+
*/
|
|
67
|
+
onTransactionDeleted() {
|
|
68
|
+
this.eventDispatcherService.on(AppEventTypeEnum.TRANSACTION_DELETED).subscribe(() => {
|
|
69
|
+
// Update allocations cache to synchronize data and fire subscriptions
|
|
70
|
+
this.resetCache();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
TransactionAllocationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionAllocationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
TransactionAllocationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionAllocationService, providedIn: 'root' });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionAllocationService, decorators: [{
|
|
77
|
+
type: Injectable,
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root'
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
82
|
+
type: Inject,
|
|
83
|
+
args: ['environment']
|
|
84
|
+
}] }]; } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVyQyxvRkFBb0Y7QUFFcEY7OztHQUdHO0FBSUgsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFdBQTZEO0lBSzdHLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFKdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBUG5ELDRDQUE0QztRQUM1QyxRQUFHLEdBQVcsMEJBQTBCLENBQUM7UUFDekMsZUFBVSxHQUFHLHFCQUFxQixDQUFDO1FBUWpDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsVUFBaUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxDQUFDLGNBQXVDLEVBQXlCLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLFlBQTJCO1FBQzNDLE1BQU0sR0FBRyxHQUFhLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckYsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ2QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLHNCQUErQyxFQUFFLEVBQUU7WUFDdEQsT0FBTyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFpQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2SCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCO1FBQzNCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBUyxFQUFFO1lBQ3pGLHNFQUFzRTtZQUN0RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFTLEVBQUU7WUFDMUYsc0VBQXNFO1lBQ3RFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQVMsRUFBRTtZQUN4RixzRUFBc0U7WUFDdEUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEhBdEVVLDRCQUE0QixrRkFRN0IsYUFBYTs4SEFSWiw0QkFBNEIsY0FGM0IsTUFBTTs0RkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gYXMgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBAVE9ETyBEb24ndCBsb29rIGF0IHRoZSBjb21tZW50ZWQgY29kZS4gV2lsbCBiZSByZWZhY3RvcmVkL3JlbW92ZWQgZHVyaW5nIFRULTE1MDNcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB0cmFuc2FjdGlvbiBhbGxvY2F0aW9ucyBidXNpbmVzcyBsb2dpY1xuICogQFRPRE8gYWxleCByZWZhY3RvclxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8VHJhbnNhY3Rpb25BbGxvY2F0aW9uQmFzZSwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uPiB7XG4gIC8vIEFQSSBVUkwgcGFyYW0gZm9yIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25zXG4gIHVybDogc3RyaW5nID0gJ3RyYW5zYWN0aW9ucy1hbGxvY2F0aW9ucyc7XG4gIG1vZGVsQ2xhc3MgPSBUcmFuc2FjdGlvbkFsbG9jYXRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgc2luZ2xlIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25cbiAgICovXG4gIGFkZChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQWxsb2NhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFthbGxvY2F0aW9uXSkucGlwZShcbiAgICAgIG1hcCgobmV3QWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdKTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uID0+IG5ld0FsbG9jYXRpb25zWzBdKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGFsbG9jYXRpb25zIHJlbGF0ZWQgd2l0aCBwYXNzZWQgYmFuayB0cmFuc2FjdGlvbnMgbGlzdFxuICAgKi9cbiAgZ2V0QnlUcmFuc2FjdGlvbnModHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbkFsbG9jYXRpb25bXT4ge1xuICAgIGNvbnN0IGlkczogbnVtYmVyW10gPSB0cmFuc2FjdGlvbnMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHRyYW5zYWN0aW9uLmlkKTtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25BbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25BbGxvY2F0aW9ucy5maWx0ZXIoKGFsbG9jYXRpb246IFRyYW5zYWN0aW9uQWxsb2NhdGlvbikgPT4gaWRzLmluY2x1ZGVzKGFsbG9jYXRpb24udHJhbnNhY3Rpb24uaWQpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLm9uVHJhbnNhY3Rpb25zQ3JlYXRlZCgpO1xuICAgIHRoaXMub25EZXByZWNpYXRpb25DcmVhdGVkKCk7XG4gICAgdGhpcy5vblRyYW5zYWN0aW9uRGVsZXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGNhY2hlIG9uIHRyYW5zYWN0aW9ucyBjcmVhdGVkXG4gICAqL1xuICBwcml2YXRlIG9uVHJhbnNhY3Rpb25zQ3JlYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTlNfQ1JFQVRFRCkuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgIC8vIFVwZGF0ZSBhbGxvY2F0aW9ucyBjYWNoZSB0byBzeW5jaHJvbml6ZSBkYXRhIGFuZCBmaXJlIHN1YnNjcmlwdGlvbnNcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGNhY2hlIG9uIGRlcHJlY2lhdGlvbiBjcmVhdGVkXG4gICAqL1xuICBwcml2YXRlIG9uRGVwcmVjaWF0aW9uQ3JlYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05TX0NSRUFURUQpLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAvLyBVcGRhdGUgYWxsb2NhdGlvbnMgY2FjaGUgdG8gc3luY2hyb25pemUgZGF0YSBhbmQgZmlyZSBzdWJzY3JpcHRpb25zXG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBjYWNoZSBvbiB0cmFuc2FjdGlvbiBkZWxldGVkXG4gICAqL1xuICBwcml2YXRlIG9uVHJhbnNhY3Rpb25EZWxldGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0RFTEVURUQpLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAvLyBVcGRhdGUgYWxsb2NhdGlvbnMgY2FjaGUgdG8gc3luY2hyb25pemUgZGF0YSBhbmQgZmlyZSBzdWJzY3JpcHRpb25zXG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|