taxtank-core 0.8.4 → 0.9.0
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 +180 -134
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/tax-summary/report-item.collection.js +141 -0
- package/esm2015/lib/db/Models/transaction-base.js +2 -1
- package/esm2015/lib/models/tax-summary/report-item-details.js +9 -0
- package/esm2015/lib/models/tax-summary/report-item.js +15 -0
- package/esm2015/lib/models/tax-summary/tax-summary-section.js +5 -5
- package/esm2015/lib/models/toast/toast-type.enum.js +8 -0
- package/esm2015/lib/models/toast/toast.js +9 -0
- 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/lib/services/toast/toast.service.js +26 -0
- package/esm2015/public-api.js +54 -51
- package/fesm2015/taxtank-core.js +98 -56
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/{tax-return-category-item.collection.d.ts → tax-summary/report-item.collection.d.ts} +5 -5
- package/lib/models/tax-summary/{tax-return-category-item-details.d.ts → report-item-details.d.ts} +2 -2
- package/lib/models/tax-summary/{tax-return-category-item.d.ts → report-item.d.ts} +4 -4
- package/lib/models/tax-summary/tax-summary-section.d.ts +2 -2
- package/lib/models/toast/toast-type.enum.d.ts +6 -0
- package/lib/models/toast/toast.d.ts +10 -0
- 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/lib/services/toast/toast.service.d.ts +13 -0
- package/package.json +1 -1
- package/public-api.d.ts +53 -50
- package/esm2015/lib/collections/tax-return-category-item.collection.js +0 -141
- package/esm2015/lib/models/tax-summary/tax-return-category-item-details.js +0 -9
- package/esm2015/lib/models/tax-summary/tax-return-category-item.js +0 -15
- 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
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { UserEventTypeClientTypeEnum } from '../../db/Enums/user-event-type-client-type.enum';
|
|
5
|
-
import { BaseRestService } from '../base-rest.service';
|
|
6
|
-
import { BankAccount } from '../../models/bank/bank-account';
|
|
7
|
-
import { BasiqToken } from '../../models/bank/basiq-token';
|
|
8
|
-
import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
|
|
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
|
-
* basiq is a middleman between bank and user
|
|
14
|
-
* service is responsible for fetching bank related information
|
|
15
|
-
*/
|
|
16
|
-
export class BasiqService 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.tokenSubject = new ReplaySubject();
|
|
23
|
-
this.url = 'basiq/accounts';
|
|
24
|
-
this.modelClass = BankAccount;
|
|
25
|
-
this.listenEvents();
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Listen events from Event Dispatcher service
|
|
29
|
-
*/
|
|
30
|
-
listenEvents() {
|
|
31
|
-
this.listenToBankConnectionAdded();
|
|
32
|
-
this.listenNotifications();
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* access token to use basiq connect ui iframe
|
|
36
|
-
*/
|
|
37
|
-
getToken() {
|
|
38
|
-
if (!this.token || this.token.isExpired()) {
|
|
39
|
-
this.http.get(`${this.environment.apiV2}/basiq/tokens`)
|
|
40
|
-
.pipe(map((response) => {
|
|
41
|
-
const now = new Date().getTime();
|
|
42
|
-
return new BasiqToken(response['access_token'], new Date(now + response['expires_in'] * 1000));
|
|
43
|
-
}))
|
|
44
|
-
.subscribe((token) => {
|
|
45
|
-
this.tokenSubject.next(token);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
return this.tokenSubject.asObservable();
|
|
49
|
-
}
|
|
50
|
-
getConnections() {
|
|
51
|
-
return this.get().pipe(map((bankAccounts) => {
|
|
52
|
-
// get all connections
|
|
53
|
-
const connections = bankAccounts.map((bankAccount) => {
|
|
54
|
-
return bankAccount.bankConnection;
|
|
55
|
-
});
|
|
56
|
-
// return without duplicates
|
|
57
|
-
return [...new Map(connections.map((connection) => [connection.id, connection])).values()];
|
|
58
|
-
}));
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Listen to EventDispatcherService event related to added Bank connection
|
|
62
|
-
*/
|
|
63
|
-
listenToBankConnectionAdded() {
|
|
64
|
-
this.eventDispatcherService.on(AppEventTypeEnum.BANK_CONNECTION_ADDED).subscribe(() => {
|
|
65
|
-
this.fetch().subscribe((bankAccounts) => {
|
|
66
|
-
this.cache = bankAccounts;
|
|
67
|
-
this.updateCache();
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* listen to notifications to update basiq accounts list
|
|
73
|
-
*/
|
|
74
|
-
listenNotifications() {
|
|
75
|
-
this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
|
|
76
|
-
if (!notification.isRead && notification.eventType === UserEventTypeClientTypeEnum.BASIQ_NEW_ACCOUNTS) {
|
|
77
|
-
this.resetCache();
|
|
78
|
-
this.get().subscribe();
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
84
|
-
BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, providedIn: 'root' });
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, decorators: [{
|
|
86
|
-
type: Injectable,
|
|
87
|
-
args: [{
|
|
88
|
-
providedIn: 'root'
|
|
89
|
-
}]
|
|
90
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
91
|
-
type: Inject,
|
|
92
|
-
args: ['environment']
|
|
93
|
-
}] }]; } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9iYW5rL2Jhc2lxLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFJMUU7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxlQUE2QztJQU03RSxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVBuRCxpQkFBWSxHQUE4QixJQUFJLGFBQWEsRUFBYyxDQUFDO1FBQzFFLFFBQUcsR0FBVyxnQkFBZ0IsQ0FBQztRQUMvQixlQUFVLEdBQUcsV0FBVyxDQUFDO1FBUXZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZ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OzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IFVzZXJFdmVudFR5cGVDbGllbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1jbGllbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEJhc2VSZXN0U2VydmljZSB9IGZyb20gJy4uL2Jhc2UtcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEJhc2lxVG9rZW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFuay9iYXNpcS10b2tlbic7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5cbi8qKlxuICogYmFzaXEgaXMgYSBtaWRkbGVtYW4gYmV0d2VlbiBiYW5rIGFuZCB1c2VyXG4gKiBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyBiYW5rIHJlbGF0ZWQgaW5mb3JtYXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFzaXFTZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQ+IHtcbiAgdG9rZW46IEJhc2lxVG9rZW47XG4gIHRva2VuU3ViamVjdDogUmVwbGF5U3ViamVjdDxCYXNpcVRva2VuPiA9IG5ldyBSZXBsYXlTdWJqZWN0PEJhc2lxVG9rZW4+KCk7XG4gIHVybDogc3RyaW5nID0gJ2Jhc2lxL2FjY291bnRzJztcbiAgbW9kZWxDbGFzcyA9IEJhbmtBY2NvdW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGV2ZW50cyBmcm9tIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZVxuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9CYW5rQ29ubmVjdGlvbkFkZGVkKCk7XG4gICAgdGhpcy5saXN0ZW5Ob3RpZmljYXRpb25zKCk7XG4gIH1cblxuICAvKipcbiAgICogYWNjZXNzIHRva2VuIHRvIHVzZSBiYXNpcSBjb25uZWN0IHVpIGlmcmFtZVxuICAgKi9cbiAgZ2V0VG9rZW4oKTogT2JzZXJ2YWJsZTxCYXNpcVRva2VuPiB7XG4gICAgaWYgKCF0aGlzLnRva2VuIHx8IHRoaXMudG9rZW4uaXNFeHBpcmVkKCkpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFzaXEvdG9rZW5zYClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub3c6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICAgICAgICByZXR1cm4gbmV3IEJhc2lxVG9rZW4ocmVzcG9uc2VbJ2FjY2Vzc190b2tlbiddLCBuZXcgRGF0ZShub3cgKyByZXNwb25zZVsnZXhwaXJlc19pbiddICogMTAwMCkpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodG9rZW46IEJhc2lxVG9rZW4pID0+IHtcbiAgICAgICAgICB0aGlzLnRva2VuU3ViamVjdC5uZXh0KHRva2VuKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudG9rZW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0Q29ubmVjdGlvbnMoKTogT2JzZXJ2YWJsZTxCYW5rQ29ubmVjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XG4gICAgICAgIC8vIGdldCBhbGwgY29ubmVjdGlvbnNcbiAgICAgICAgY29uc3QgY29ubmVjdGlvbnM6IEJhbmtDb25uZWN0aW9uW10gPSBiYW5rQWNjb3VudHMubWFwKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYmFua0FjY291bnQuYmFua0Nvbm5lY3Rpb247XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHJldHVybiB3aXRob3V0IGR1cGxpY2F0ZXNcbiAgICAgICAgcmV0dXJuIFsuLi5uZXcgTWFwKGNvbm5lY3Rpb25zLm1hcCgoY29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pID0+IFtjb25uZWN0aW9uLmlkLCBjb25uZWN0aW9uXSkpLnZhbHVlcygpXTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIGFkZGVkIEJhbmsgY29ubmVjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0JhbmtDb25uZWN0aW9uQWRkZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFOS19DT05ORUNUSU9OX0FEREVEKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSBiYW5rQWNjb3VudHM7XG4gICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3RlbiB0byBub3RpZmljYXRpb25zIHRvIHVwZGF0ZSBiYXNpcSBhY2NvdW50cyBsaXN0XG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5pc1JlYWQgJiYgbm90aWZpY2F0aW9uLmV2ZW50VHlwZSA9PT0gVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtLkJBU0lRX05FV19BQ0NPVU5UUykge1xuICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { replace } from '../functions/array';
|
|
5
|
-
import { classToPlain, plainToClass } from 'class-transformer';
|
|
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
|
-
* Abstract base service that implements common services functionality
|
|
11
|
-
* and describe abstract methods/properties that have to be implemented in child services
|
|
12
|
-
* Model - entity service is working with
|
|
13
|
-
* BaseModel - base entity model that extends by Model
|
|
14
|
-
*/
|
|
15
|
-
export class BaseRestService {
|
|
16
|
-
constructor(http, eventDispatcherService, environment) {
|
|
17
|
-
this.http = http;
|
|
18
|
-
this.eventDispatcherService = eventDispatcherService;
|
|
19
|
-
this.environment = environment;
|
|
20
|
-
// subject for service cache
|
|
21
|
-
this.cacheSubject = new ReplaySubject(1);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* get cached list of all instances
|
|
25
|
-
*/
|
|
26
|
-
get() {
|
|
27
|
-
if (!this.cache) {
|
|
28
|
-
this.fetch().subscribe();
|
|
29
|
-
}
|
|
30
|
-
return this.cacheSubject.asObservable();
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* get instance by id from cache
|
|
34
|
-
* @param id ID of required item
|
|
35
|
-
*/
|
|
36
|
-
getById(id) {
|
|
37
|
-
return this.get()
|
|
38
|
-
.pipe(map((items) => {
|
|
39
|
-
return items.find((item) => item['id'] === id);
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* get list of items filtered by id.
|
|
44
|
-
* @param models Array of objects contains required items ids
|
|
45
|
-
*/
|
|
46
|
-
getByIds(models) {
|
|
47
|
-
const idsArray = models.map((model) => model['id']);
|
|
48
|
-
return this.get()
|
|
49
|
-
.pipe(map((items) => {
|
|
50
|
-
return items.filter((item) => idsArray.includes(item['id']));
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* add new instance and update cache
|
|
55
|
-
* @TODO rename to post
|
|
56
|
-
*/
|
|
57
|
-
add(model, shouldUpdateCache = true) {
|
|
58
|
-
return this.http.post(`${this.environment.apiV2}/${this.url}`, classToPlain(model))
|
|
59
|
-
.pipe(map((newItem) => {
|
|
60
|
-
if (!shouldUpdateCache) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
const newInstance = this.createModelInstance(this.modelClass, newItem);
|
|
64
|
-
if (this.cache) {
|
|
65
|
-
this.cache.push(newInstance);
|
|
66
|
-
this.updateCache();
|
|
67
|
-
}
|
|
68
|
-
return newInstance;
|
|
69
|
-
}));
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Add several new items
|
|
73
|
-
* @param models Array of new items for saving
|
|
74
|
-
* @param queryParams query parameters for request
|
|
75
|
-
* @TODO rename to postBatch
|
|
76
|
-
*/
|
|
77
|
-
addBatch(models, queryParams = {}) {
|
|
78
|
-
return this.http.post(`${this.environment.apiV2}/${this.url}`, classToPlain(models), queryParams)
|
|
79
|
-
.pipe(map((newItems) => {
|
|
80
|
-
const newInstances = newItems.map((item) => this.createModelInstance(this.modelClass, item));
|
|
81
|
-
if (this.cache) {
|
|
82
|
-
this.cache.push(...newInstances);
|
|
83
|
-
this.updateCache();
|
|
84
|
-
}
|
|
85
|
-
return newInstances;
|
|
86
|
-
}));
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Update item
|
|
90
|
-
* @param model Existing instance for updating
|
|
91
|
-
* @param queryParams query parameters for request
|
|
92
|
-
* @TODO rename to put
|
|
93
|
-
*/
|
|
94
|
-
update(model, queryParams = {}) {
|
|
95
|
-
return this.http.put(`${this.environment.apiV2}/${this.url}/${model['id']}`, classToPlain(model), queryParams)
|
|
96
|
-
.pipe(map((updatedItem) => {
|
|
97
|
-
const updatedInstance = this.createModelInstance(this.modelClass, updatedItem);
|
|
98
|
-
replace(this.cache, updatedInstance);
|
|
99
|
-
this.updateCache();
|
|
100
|
-
return updatedInstance;
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Update several items
|
|
105
|
-
* @param models Array of items for updating
|
|
106
|
-
* @param queryParams query parameters for request
|
|
107
|
-
* TODO rename to putBatch
|
|
108
|
-
*/
|
|
109
|
-
updateBatch(models, queryParams = {}) {
|
|
110
|
-
return this.http.put(`${this.environment.apiV2}/${this.url}`, classToPlain(models), queryParams)
|
|
111
|
-
.pipe(map((updatedItems) => {
|
|
112
|
-
const updatedInstances = updatedItems.map((item) => this.createModelInstance(this.modelClass, item));
|
|
113
|
-
updatedInstances.forEach((instance) => {
|
|
114
|
-
replace(this.cache, instance);
|
|
115
|
-
});
|
|
116
|
-
this.updateCache();
|
|
117
|
-
return updatedInstances;
|
|
118
|
-
}));
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* delete instance of class
|
|
122
|
-
* @param model Class instance for deleting
|
|
123
|
-
*/
|
|
124
|
-
delete(model) {
|
|
125
|
-
return this.http.delete(`${this.environment.apiV2}/${this.url}/${model['id']}`)
|
|
126
|
-
.pipe(map(() => {
|
|
127
|
-
this.cache = this.cache.filter((item) => item['id'] !== model['id']);
|
|
128
|
-
this.updateCache();
|
|
129
|
-
}));
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* delete multiple instances of class
|
|
133
|
-
* @param models Class instances array for deleting
|
|
134
|
-
*/
|
|
135
|
-
deleteBatch(models) {
|
|
136
|
-
return this.http.post(`${this.environment.apiV2}/${this.url}/delete`, models)
|
|
137
|
-
.pipe(map(() => {
|
|
138
|
-
const ids = models.map((model) => model['id']);
|
|
139
|
-
this.cache = this.cache.filter((item) => !ids.includes(item['id']));
|
|
140
|
-
this.updateCache();
|
|
141
|
-
}));
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* clear service cache
|
|
145
|
-
*/
|
|
146
|
-
resetCache() {
|
|
147
|
-
this.fetch().subscribe();
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* get list of base class instances directly from backend
|
|
151
|
-
*/
|
|
152
|
-
fetch() {
|
|
153
|
-
return this.http.get(`${this.environment.apiV2}/${this.url}`)
|
|
154
|
-
.pipe(map((response) => {
|
|
155
|
-
const items = (this.isHydra ? response['hydra:member'] : response)
|
|
156
|
-
.map((item) => {
|
|
157
|
-
return this.createModelInstance(this.modelClass, item);
|
|
158
|
-
});
|
|
159
|
-
this.cache = items;
|
|
160
|
-
this.updateCache();
|
|
161
|
-
return items;
|
|
162
|
-
}));
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Update cache subject with current cache array value
|
|
166
|
-
*/
|
|
167
|
-
updateCache() {
|
|
168
|
-
this.cacheSubject.next(this.cache.slice());
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Create new instance of class
|
|
172
|
-
* @param model The class for which you want to create an instance
|
|
173
|
-
* @param baseModel base model instance that we will use as constructor options
|
|
174
|
-
*/
|
|
175
|
-
createModelInstance(model, baseModel) {
|
|
176
|
-
return plainToClass(model, baseModel, { excludePrefixes: ['@'] });
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
BaseRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BaseRestService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
180
|
-
BaseRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BaseRestService, providedIn: 'root' });
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BaseRestService, decorators: [{
|
|
182
|
-
type: Injectable,
|
|
183
|
-
args: [{
|
|
184
|
-
providedIn: 'root'
|
|
185
|
-
}]
|
|
186
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
187
|
-
type: Inject,
|
|
188
|
-
args: ['environment']
|
|
189
|
-
}] }]; } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFzZS1yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFFL0Q7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQWdCLGVBQWU7SUFhbkMsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFGdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBUm5ELDRCQUE0QjtRQUNsQixpQkFBWSxHQUEyQixJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztJQVMvRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDMUI7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNkLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxLQUFjLEVBQUUs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IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjbGFzc1RvUGxhaW4sIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBBYnN0cmFjdCBiYXNlIHNlcnZpY2UgdGhhdCBpbXBsZW1lbnRzIGNvbW1vbiBzZXJ2aWNlcyBmdW5jdGlvbmFsaXR5XG4gKiBhbmQgZGVzY3JpYmUgYWJzdHJhY3QgbWV0aG9kcy9wcm9wZXJ0aWVzIHRoYXQgaGF2ZSB0byBiZSBpbXBsZW1lbnRlZCBpbiBjaGlsZCBzZXJ2aWNlc1xuICogTW9kZWwgLSBlbnRpdHkgc2VydmljZSBpcyB3b3JraW5nIHdpdGhcbiAqIEJhc2VNb2RlbCAtIGJhc2UgZW50aXR5IG1vZGVsIHRoYXQgZXh0ZW5kcyBieSBNb2RlbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUmVzdFNlcnZpY2U8QmFzZU1vZGVsLCBNb2RlbCBleHRlbmRzIEJhc2VNb2RlbD4ge1xuICAvLyB1cmwgcGFydCBmb3Igc2VydmljZSBlbnRpdHkgQVBJLiBIYXZlIHRvIGJlIGRlZmluZWQgaW4gZXh0ZW5kZWQgY2xhc3Nlc1xuICBhYnN0cmFjdCB1cmw6IHN0cmluZztcbiAgLy8gTW9kZWwgY2xhc3MgZm9yIGluc3RhbmNlcyBjcmVhdGluZ1xuICBhYnN0cmFjdCBtb2RlbENsYXNzO1xuICAvLyBAVE9ETyBNYWtlIGNhY2hlIFJlYWRvbmx5XG4gIC8vIGNhY2hlZCBhcnJheSBvZiBzZXJ2aWNlIGNsYXNzIGluc3RhbmNlc1xuICBwcm90ZWN0ZWQgY2FjaGU6IE1vZGVsW107XG4gIC8vIHN1YmplY3QgZm9yIHNlcnZpY2UgY2FjaGVcbiAgcHJvdGVjdGVkIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxNb2RlbFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PE1vZGVsW10+KDEpO1xuICAvLyBmbGFnIGZvciB3b3JrIHdpdGggQVBJIHBsYXRmb3JtXG4gIHByb3RlY3RlZCBpc0h5ZHJhOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGNhY2hlZCBsaXN0IG9mIGFsbCBpbnN0YW5jZXNcbiAgICovXG4gIGdldCgpOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGluc3RhbmNlIGJ5IGlkIGZyb20gY2FjaGVcbiAgICogQHBhcmFtIGlkIElEIG9mIHJlcXVpcmVkIGl0ZW1cbiAgICovXG4gIGdldEJ5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaXRlbXM6IE1vZGVsW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbTogTW9kZWwpID0+IGl0ZW1bJ2lkJ10gPT09IGlkKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgaXRlbXMgZmlsdGVyZWQgYnkgaWQuXG4gICAqIEBwYXJhbSBtb2RlbHMgQXJyYXkgb2Ygb2JqZWN0cyBjb250YWlucyByZXF1aXJlZCBpdGVtcyBpZHNcbiAgICovXG4gIGdldEJ5SWRzKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIGNvbnN0IGlkc0FycmF5OiBudW1iZXJbXSA9IG1vZGVscy5tYXAoKG1vZGVsOiBNb2RlbCkgPT4gbW9kZWxbJ2lkJ10pO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGl0ZW1zOiBNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbTogTW9kZWwpID0+IGlkc0FycmF5LmluY2x1ZGVzKGl0ZW1bJ2lkJ10pKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIG5ldyBpbnN0YW5jZSBhbmQgdXBkYXRlIGNhY2hlXG4gICAqIEBUT0RPIHJlbmFtZSB0byBwb3N0XG4gICAqL1xuICBhZGQobW9kZWw6IE1vZGVsLCBzaG91bGRVcGRhdGVDYWNoZTogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKG1vZGVsKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0l0ZW06IEJhc2VNb2RlbCkgPT4ge1xuICAgICAgICAgIGlmICghc2hvdWxkVXBkYXRlQ2FjaGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbmV3SW5zdGFuY2U6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgbmV3SXRlbSk7XG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaChuZXdJbnN0YW5jZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgc2V2ZXJhbCBuZXcgaXRlbXNcbiAgICogQHBhcmFtIG1vZGVscyBBcnJheSBvZiBuZXcgaXRlbXMgZm9yIHNhdmluZ1xuICAgKiBAcGFyYW0gcXVlcnlQYXJhbXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgcmVxdWVzdFxuICAgKiBAVE9ETyByZW5hbWUgdG8gcG9zdEJhdGNoXG4gICAqL1xuICBhZGRCYXRjaChtb2RlbHM6IE1vZGVsW10sIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbihtb2RlbHMpLCBxdWVyeVBhcmFtcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0l0ZW1zOiBCYXNlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0luc3RhbmNlczogTW9kZWxbXSA9IG5ld0l0ZW1zLm1hcCgoaXRlbTogQmFzZU1vZGVsKSA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCBpdGVtKSk7XG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5uZXdJbnN0YW5jZXMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXdJbnN0YW5jZXM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBpdGVtXG4gICAqIEBwYXJhbSBtb2RlbCBFeGlzdGluZyBpbnN0YW5jZSBmb3IgdXBkYXRpbmdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJlcXVlc3RcbiAgICogQFRPRE8gcmVuYW1lIHRvIHB1dFxuICAgKi9cbiAgdXBkYXRlKG1vZGVsOiBNb2RlbCwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bW9kZWxbJ2lkJ119YCwgY2xhc3NUb1BsYWluKG1vZGVsKSwgcXVlcnlQYXJhbXMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkSXRlbTogQmFzZU1vZGVsKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEluc3RhbmNlOiBNb2RlbCA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh0aGlzLm1vZGVsQ2xhc3MsIHVwZGF0ZWRJdGVtKTtcbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRJbnN0YW5jZSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnN0YW5jZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNldmVyYWwgaXRlbXNcbiAgICogQHBhcmFtIG1vZGVscyBBcnJheSBvZiBpdGVtcyBmb3IgdXBkYXRpbmdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJlcXVlc3RcbiAgICogVE9ETyByZW5hbWUgdG8gcHV0QmF0Y2hcbiAgICovXG4gIHVwZGF0ZUJhdGNoKG1vZGVsczogTW9kZWxbXSwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBjbGFzc1RvUGxhaW4obW9kZWxzKSwgcXVlcnlQYXJhbXMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkSXRlbXM6IEJhc2VNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEluc3RhbmNlczogTW9kZWxbXSA9IHVwZGF0ZWRJdGVtcy5tYXAoKGl0ZW06IEJhc2VNb2RlbCkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSkpO1xuICAgICAgICAgIHVwZGF0ZWRJbnN0YW5jZXMuZm9yRWFjaCgoaW5zdGFuY2U6IE1vZGVsKSA9PiB7XG4gICAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGluc3RhbmNlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnN0YW5jZXM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSBpbnN0YW5jZSBvZiBjbGFzc1xuICAgKiBAcGFyYW0gbW9kZWwgQ2xhc3MgaW5zdGFuY2UgZm9yIGRlbGV0aW5nXG4gICAqL1xuICBkZWxldGUobW9kZWw6IE1vZGVsKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHttb2RlbFsnaWQnXX1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gaXRlbVsnaWQnXSAhPT0gbW9kZWxbJ2lkJ10pO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZGVsZXRlIG11bHRpcGxlIGluc3RhbmNlcyBvZiBjbGFzc1xuICAgKiBAcGFyYW0gbW9kZWxzIENsYXNzIGluc3RhbmNlcyBhcnJheSBmb3IgZGVsZXRpbmdcbiAgICovXG4gIGRlbGV0ZUJhdGNoKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS9kZWxldGVgLCBtb2RlbHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpZHM6IG51bWJlcltdID0gbW9kZWxzLm1hcCgobW9kZWw6IE1vZGVsKTogbnVtYmVyID0+IG1vZGVsWydpZCddKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiAhaWRzLmluY2x1ZGVzKGl0ZW1bJ2lkJ10pKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsZWFyIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHJlc2V0Q2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGJhc2UgY2xhc3MgaW5zdGFuY2VzIGRpcmVjdGx5IGZyb20gYmFja2VuZFxuICAgKi9cbiAgcHJvdGVjdGVkIGZldGNoKCk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNlTW9kZWxbXSk6IE1vZGVsW10gPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zOiBNb2RlbFtdID0gKHRoaXMuaXNIeWRyYSA/IHJlc3BvbnNlWydoeWRyYTptZW1iZXInXSA6IHJlc3BvbnNlKVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogQmFzZU1vZGVsKTogTW9kZWwgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gaXRlbXM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBpdGVtcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNhY2hlIHN1YmplY3Qgd2l0aCBjdXJyZW50IGNhY2hlIGFycmF5IHZhbHVlXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlQ2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlLnNsaWNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgaW5zdGFuY2Ugb2YgY2xhc3NcbiAgICogQHBhcmFtIG1vZGVsIFRoZSBjbGFzcyBmb3Igd2hpY2ggeW91IHdhbnQgdG8gY3JlYXRlIGFuIGluc3RhbmNlXG4gICAqIEBwYXJhbSBiYXNlTW9kZWwgYmFzZSBtb2RlbCBpbnN0YW5jZSB0aGF0IHdlIHdpbGwgdXNlIGFzIGNvbnN0cnVjdG9yIG9wdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbEluc3RhbmNlKG1vZGVsOiBuZXcoYm06IEJhc2VNb2RlbCkgPT4gTW9kZWwsIGJhc2VNb2RlbDogQmFzZU1vZGVsKTogTW9kZWwge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MobW9kZWwsIGJhc2VNb2RlbCwgeyBleGNsdWRlUHJlZml4ZXM6IFsnQCddIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { plainToClass } from 'class-transformer';
|
|
5
|
-
import { BorrowingExpense } from '../../models/borrowing-expense/borrowing-expense';
|
|
6
|
-
import { BorrowingExpenseLoan } from '../../models/borrowing-expense/borrowing-expense-loan';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common/http";
|
|
9
|
-
export class BorrowingExpenseService {
|
|
10
|
-
constructor(http, environment) {
|
|
11
|
-
this.http = http;
|
|
12
|
-
this.environment = environment;
|
|
13
|
-
this.borrowingExpensesSubject = new ReplaySubject(1);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Get borrowing expenses
|
|
17
|
-
*/
|
|
18
|
-
get() {
|
|
19
|
-
if (!this._borrowingExpenses) {
|
|
20
|
-
this.http.get(`${this.environment.apiV2}/borrowing-expenses`)
|
|
21
|
-
.pipe(map((response) => {
|
|
22
|
-
return response.map((item) => plainToClass(BorrowingExpense, item));
|
|
23
|
-
}))
|
|
24
|
-
.subscribe((borrowingExpenses) => {
|
|
25
|
-
this._borrowingExpenses = borrowingExpenses;
|
|
26
|
-
this.borrowingExpensesSubject.next(this._borrowingExpenses);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
return this.borrowingExpensesSubject.asObservable();
|
|
30
|
-
}
|
|
31
|
-
getLoanBorrowingExpenses(loan) {
|
|
32
|
-
return this.get()
|
|
33
|
-
.pipe(map((borrowingExpenses) => {
|
|
34
|
-
// Loan borrowing expenses array
|
|
35
|
-
const borrowingExpensesLoan = [];
|
|
36
|
-
// Combined array of borrowing expenses list & loan borrowing expenses
|
|
37
|
-
const combinedBorrowingExpenses = [];
|
|
38
|
-
borrowingExpenses.forEach((borrowingExpense, index) => {
|
|
39
|
-
// Fill borrowingExpensesLoan with values based on borrowingExpenses list
|
|
40
|
-
borrowingExpensesLoan.push(plainToClass(BorrowingExpenseLoan, {
|
|
41
|
-
borrowingExpense: borrowingExpense,
|
|
42
|
-
loan: loan,
|
|
43
|
-
amount: 0,
|
|
44
|
-
id: null,
|
|
45
|
-
createdAt: null,
|
|
46
|
-
updatedAt: null,
|
|
47
|
-
createdBy: null,
|
|
48
|
-
updatedBy: null
|
|
49
|
-
}));
|
|
50
|
-
combinedBorrowingExpenses
|
|
51
|
-
.push(Object.assign(plainToClass(BorrowingExpenseLoan, {}), borrowingExpenses[index], borrowingExpensesLoan[index]));
|
|
52
|
-
// Find current loan borrowing expense in loan object by index
|
|
53
|
-
const targetBorrowingExpense = loan.borrowingExpenses.find((updBorrowingExpensesLoan) => updBorrowingExpensesLoan.borrowingExpense.id === borrowingExpensesLoan[index].borrowingExpense.id);
|
|
54
|
-
// ... and set its value to current loan borrowing expense in combinedBorrowingExpenses array
|
|
55
|
-
combinedBorrowingExpenses[index].amount = targetBorrowingExpense ? targetBorrowingExpense.amount : 0;
|
|
56
|
-
return combinedBorrowingExpenses;
|
|
57
|
-
});
|
|
58
|
-
return combinedBorrowingExpenses;
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
63
|
-
BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, providedIn: 'root' });
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BorrowingExpenseService, decorators: [{
|
|
65
|
-
type: Injectable,
|
|
66
|
-
args: [{
|
|
67
|
-
providedIn: 'root'
|
|
68
|
-
}]
|
|
69
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
70
|
-
type: Inject,
|
|
71
|
-
args: ['environment']
|
|
72
|
-
}] }]; } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9ycm93aW5nLWV4cGVuc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9ib3Jyb3dpbmctZXhwZW5zZS9ib3Jyb3dpbmctZXhwZW5zZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUVwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7O0FBSzdGLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFDVSxJQUFnQixFQUNTLFdBQWdCO1FBRHpDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDUyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUpuRCw2QkFBd0IsR0FBc0MsSUFBSSxhQUFhLENBQXFCLENBQUMsQ0FBQyxDQUFDO0lBS25HLENBQUM7SUFFTDs7T0FFRztJQUNILEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLHFCQUFxQixDQUFDO2lCQUMxRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3BCLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDM0UsQ0FBQyxDQUFDLENBQ0g7aUJBQ0EsU0FBUyxDQUFDLENBQUMsaUJBQXFDLEVBQUUsRUFBRTtnQkFDbkQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO2dCQUM1QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzlELENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsSUFBVztRQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUU7YUFDZCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsaUJBQXFDLEVBQUUsRUFBRTtZQUM1QyxnQ0FBZ0M7WUFDaEMsTUFBTSxxQkFBcUIsR0FBMkIsRUFBRSxDQUFDO1lBQ3pELHNFQUFzRTtZQUN0RSxNQUFNLHlCQUF5QixHQUEyQixFQUFFLENBQUM7WUFHN0QsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWtDLEVBQUUsS0FBYSxFQUFFLEVBQUU7Z0JBQzlFLHlFQUF5RTtnQkFDekUscUJBQXFCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRTtvQkFDNUQsZ0JBQWdCLEVBQUUsZ0JBQWdCO29CQUNsQyxJQUFJLEVBQUUsSUFBSTtvQkFDVixNQUFNLEVBQUUsQ0FBQztvQkFDVCxFQUFFLEVBQUUsSUFBSTtvQkFDUixTQUFTLEVBQUUsSUFBSTtvQkFDZixTQUFTLEVBQUUsSUFBSTtvQkFDZixTQUFTLEVBQUUsSUFBSTtvQkFDZixTQUFTLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQyxDQUFDLENBQUM7Z0JBRUoseUJBQXlCO3FCQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsb0JBQW9CLEVBQUUsRUFBMEIsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFL0ksOERBQThEO2dCQUM5RCxNQUFNLHNCQUFzQixHQUFRLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyx3QkFBOEMsRUFBRSxFQUFFLENBQ2pILHdCQUF3QixDQUFDLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFckcsNkZBQTZGO2dCQUM3Rix5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVyRyxPQUFPLHlCQUF5QixDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyx5QkFBeUIsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7cUhBcEVVLHVCQUF1Qiw0Q0FNeEIsYUFBYTt5SEFOWix1QkFBdUIsY0FGdEIsTUFBTTs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBCb3Jyb3dpbmdFeHBlbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlJztcbmltcG9ydCB7IExvYW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9hbi9sb2FuJztcbmltcG9ydCB7IEJvcnJvd2luZ0V4cGVuc2VMb2FuIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JvcnJvd2luZy1leHBlbnNlL2JvcnJvd2luZy1leHBlbnNlLWxvYW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCb3Jyb3dpbmdFeHBlbnNlU2VydmljZSB7XG4gIF9ib3Jyb3dpbmdFeHBlbnNlczogQm9ycm93aW5nRXhwZW5zZVtdO1xuICBib3Jyb3dpbmdFeHBlbnNlc1N1YmplY3Q6IFJlcGxheVN1YmplY3Q8Qm9ycm93aW5nRXhwZW5zZVtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PEJvcnJvd2luZ0V4cGVuc2VbXT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7IH1cblxuICAvKipcbiAgICogR2V0IGJvcnJvd2luZyBleHBlbnNlc1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8Qm9ycm93aW5nRXhwZW5zZVtdPiB7XG4gICAgaWYgKCF0aGlzLl9ib3Jyb3dpbmdFeHBlbnNlcykge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9ib3Jyb3dpbmctZXhwZW5zZXNgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5tYXAoKGl0ZW06IGFueSkgPT4gcGxhaW5Ub0NsYXNzKEJvcnJvd2luZ0V4cGVuc2UsIGl0ZW0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGJvcnJvd2luZ0V4cGVuc2VzOiBCb3Jyb3dpbmdFeHBlbnNlW10pID0+IHtcbiAgICAgICAgICB0aGlzLl9ib3Jyb3dpbmdFeHBlbnNlcyA9IGJvcnJvd2luZ0V4cGVuc2VzO1xuICAgICAgICAgIHRoaXMuYm9ycm93aW5nRXhwZW5zZXNTdWJqZWN0Lm5leHQodGhpcy5fYm9ycm93aW5nRXhwZW5zZXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ib3Jyb3dpbmdFeHBlbnNlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXRMb2FuQm9ycm93aW5nRXhwZW5zZXMobG9hbj86IExvYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChib3Jyb3dpbmdFeHBlbnNlczogQm9ycm93aW5nRXhwZW5zZVtdKSA9PiB7XG4gICAgICAgICAgLy8gTG9hbiBib3Jyb3dpbmcgZXhwZW5zZXMgYXJyYXlcbiAgICAgICAgICBjb25zdCBib3Jyb3dpbmdFeHBlbnNlc0xvYW46IEJvcnJvd2luZ0V4cGVuc2VMb2FuW10gPSBbXTtcbiAgICAgICAgICAvLyBDb21iaW5lZCBhcnJheSBvZiBib3Jyb3dpbmcgZXhwZW5zZXMgbGlzdCAmIGxvYW4gYm9ycm93aW5nIGV4cGVuc2VzXG4gICAgICAgICAgY29uc3QgY29tYmluZWRCb3Jyb3dpbmdFeHBlbnNlczogQm9ycm93aW5nRXhwZW5zZUxvYW5bXSA9IFtdO1xuXG5cbiAgICAgICAgICBib3Jyb3dpbmdFeHBlbnNlcy5mb3JFYWNoKChib3Jyb3dpbmdFeHBlbnNlOiBCb3Jyb3dpbmdFeHBlbnNlLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBGaWxsIGJvcnJvd2luZ0V4cGVuc2VzTG9hbiB3aXRoIHZhbHVlcyBiYXNlZCBvbiBib3Jyb3dpbmdFeHBlbnNlcyBsaXN0XG4gICAgICAgICAgICBib3Jyb3dpbmdFeHBlbnNlc0xvYW4ucHVzaChwbGFpblRvQ2xhc3MoQm9ycm93aW5nRXhwZW5zZUxvYW4sIHtcbiAgICAgICAgICAgICAgYm9ycm93aW5nRXhwZW5zZTogYm9ycm93aW5nRXhwZW5zZSxcbiAgICAgICAgICAgICAgbG9hbjogbG9hbixcbiAgICAgICAgICAgICAgYW1vdW50OiAwLFxuICAgICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICAgICAgY3JlYXRlZEF0OiBudWxsLFxuICAgICAgICAgICAgICB1cGRhdGVkQXQ6IG51bGwsXG4gICAgICAgICAgICAgIGNyZWF0ZWRCeTogbnVsbCxcbiAgICAgICAgICAgICAgdXBkYXRlZEJ5OiBudWxsXG4gICAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICAgIGNvbWJpbmVkQm9ycm93aW5nRXhwZW5zZXNcbiAgICAgICAgICAgICAgLnB1c2goT2JqZWN0LmFzc2lnbihwbGFpblRvQ2xhc3MoQm9ycm93aW5nRXhwZW5zZUxvYW4sIHt9IGFzIEJvcnJvd2luZ0V4cGVuc2VMb2FuKSwgYm9ycm93aW5nRXhwZW5zZXNbaW5kZXhdLCBib3Jyb3dpbmdFeHBlbnNlc0xvYW5baW5kZXhdKSk7XG5cbiAgICAgICAgICAgIC8vIEZpbmQgY3VycmVudCBsb2FuIGJvcnJvd2luZyBleHBlbnNlIGluIGxvYW4gb2JqZWN0IGJ5IGluZGV4XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRCb3Jyb3dpbmdFeHBlbnNlOiBhbnkgPSBsb2FuLmJvcnJvd2luZ0V4cGVuc2VzLmZpbmQoKHVwZEJvcnJvd2luZ0V4cGVuc2VzTG9hbjogQm9ycm93aW5nRXhwZW5zZUxvYW4pID0+XG4gICAgICAgICAgICAgIHVwZEJvcnJvd2luZ0V4cGVuc2VzTG9hbi5ib3Jyb3dpbmdFeHBlbnNlLmlkID09PSBib3Jyb3dpbmdFeHBlbnNlc0xvYW5baW5kZXhdLmJvcnJvd2luZ0V4cGVuc2UuaWQpO1xuXG4gICAgICAgICAgICAvLyAuLi4gYW5kIHNldCBpdHMgdmFsdWUgdG8gY3VycmVudCBsb2FuIGJvcnJvd2luZyBleHBlbnNlIGluIGNvbWJpbmVkQm9ycm93aW5nRXhwZW5zZXMgYXJyYXlcbiAgICAgICAgICAgIGNvbWJpbmVkQm9ycm93aW5nRXhwZW5zZXNbaW5kZXhdLmFtb3VudCA9IHRhcmdldEJvcnJvd2luZ0V4cGVuc2UgPyB0YXJnZXRCb3Jyb3dpbmdFeHBlbnNlLmFtb3VudCA6IDA7XG5cbiAgICAgICAgICAgIHJldHVybiBjb21iaW5lZEJvcnJvd2luZ0V4cGVuc2VzO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIGNvbWJpbmVkQm9ycm93aW5nRXhwZW5zZXM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BaseRestService } from '../base-rest.service';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { ChartAccountsDepreciation } from '../../models/chart-accounts/chart-accounts-depreciation';
|
|
5
|
-
import { FinancialYear } from '../../models/financial-year/financial-year';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Service to work with depreciation chart accounts
|
|
9
|
-
*/
|
|
10
|
-
export class ChartAccountsDepreciationService extends BaseRestService {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.url = 'chart-accounts-depreciations';
|
|
14
|
-
this.modelClass = ChartAccountsDepreciation;
|
|
15
|
-
this.isHydra = true;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Get depreciation chart accounts for current financial year
|
|
19
|
-
*/
|
|
20
|
-
getCurrent() {
|
|
21
|
-
return this.get()
|
|
22
|
-
.pipe(map((chartAccountsDepreciations) => {
|
|
23
|
-
return chartAccountsDepreciations
|
|
24
|
-
.find((chartAccountsDepreciation) => {
|
|
25
|
-
return chartAccountsDepreciation.effectiveYear === new FinancialYear().year;
|
|
26
|
-
});
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
-
ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
|
|
33
|
-
type: Injectable,
|
|
34
|
-
args: [{
|
|
35
|
-
providedIn: 'root'
|
|
36
|
-
}]
|
|
37
|
-
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtZGVwcmVjaWF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUUzRTs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxlQUF5RTtJQUgvSDs7UUFJRSxRQUFHLEdBQVcsOEJBQThCLENBQUM7UUFDN0MsZUFBVSxHQUFxQyx5QkFBeUIsQ0FBQztRQUN6RSxZQUFPLEdBQVksSUFBSSxDQUFDO0tBZ0J6QjtJQWRDOztPQUVHO0lBQ0gsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNkLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQywwQkFBdUQsRUFBRSxFQUFFO1lBQzlELE9BQU8sMEJBQTBCO2lCQUM5QixJQUFJLENBQUMsQ0FBQyx5QkFBb0QsRUFBVyxFQUFFO2dCQUN0RSxPQUFPLHlCQUF5QixDQUFDLGFBQWEsS0FBSyxJQUFJLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQztZQUM5RSxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOzs4SEFsQlUsZ0NBQWdDO2tJQUFoQyxnQ0FBZ0MsY0FGL0IsTUFBTTs0RkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbiBhcyBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggZGVwcmVjaWF0aW9uIGNoYXJ0IGFjY291bnRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25TZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25CYXNlLCBDaGFydEFjY291bnRzRGVwcmVjaWF0aW9uPiB7XG4gIHVybDogc3RyaW5nID0gJ2NoYXJ0LWFjY291bnRzLWRlcHJlY2lhdGlvbnMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbiA9IENoYXJ0QWNjb3VudHNEZXByZWNpYXRpb247XG4gIGlzSHlkcmE6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBHZXQgZGVwcmVjaWF0aW9uIGNoYXJ0IGFjY291bnRzIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXG4gICAqL1xuICBnZXRDdXJyZW50KCk6IE9ic2VydmFibGU8Q2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChjaGFydEFjY291bnRzRGVwcmVjaWF0aW9uczogQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbltdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNoYXJ0QWNjb3VudHNEZXByZWNpYXRpb25zXG4gICAgICAgICAgICAuZmluZCgoY2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbjogQ2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gY2hhcnRBY2NvdW50c0RlcHJlY2lhdGlvbi5lZmZlY3RpdmVZZWFyID09PSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { plainToClass } from 'class-transformer';
|
|
5
|
-
import { ChartAccounts } from '../../models/chart-accounts/chart-accounts';
|
|
6
|
-
import { ChartAccountsHeading } from '../../models/chart-accounts/chart-accounts-heading';
|
|
7
|
-
import { CHART_ACCOUNTS_CATEGORIES } from '../../models/chart-accounts/chart-accounts-categories.const';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common/http";
|
|
10
|
-
/**
|
|
11
|
-
* Chart accounts service
|
|
12
|
-
*/
|
|
13
|
-
export class ChartAccountsService {
|
|
14
|
-
constructor(http, environment) {
|
|
15
|
-
this.http = http;
|
|
16
|
-
this.environment = environment;
|
|
17
|
-
this.chartAccountsSubject = new ReplaySubject(1);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* get all parent and child chart accounts and group it
|
|
21
|
-
*/
|
|
22
|
-
getChartAccounts() {
|
|
23
|
-
if (!this._chartAccounts) {
|
|
24
|
-
this._chartAccounts = [];
|
|
25
|
-
this.http.get(`${this.environment.apiV2}/chart-accounts`)
|
|
26
|
-
.pipe(map((response) => {
|
|
27
|
-
return response.map((item) => plainToClass(ChartAccounts, item));
|
|
28
|
-
}))
|
|
29
|
-
.subscribe((chartAccounts) => {
|
|
30
|
-
this._chartAccounts = chartAccounts;
|
|
31
|
-
this.chartAccountsSubject.next(this._chartAccounts);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
return this.chartAccountsSubject.asObservable();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Get list of chart accounts heading
|
|
38
|
-
* @param categories
|
|
39
|
-
*/
|
|
40
|
-
getChartAccountsHeadings(categories = CHART_ACCOUNTS_CATEGORIES.all) {
|
|
41
|
-
return this.getChartAccounts()
|
|
42
|
-
.pipe(map((chartAccounts) => {
|
|
43
|
-
const filteredChartAccounts = chartAccounts.filter((ca) => categories.includes(ca.category));
|
|
44
|
-
const headings = [];
|
|
45
|
-
filteredChartAccounts.forEach((ca) => {
|
|
46
|
-
let heading = headings.find((h) => { var _a; return h.id === ((_a = ca.heading) === null || _a === void 0 ? void 0 : _a.id); });
|
|
47
|
-
if (!heading) {
|
|
48
|
-
heading = plainToClass(ChartAccountsHeading, ca.heading);
|
|
49
|
-
heading.chartAccounts = [];
|
|
50
|
-
headings.push(heading);
|
|
51
|
-
}
|
|
52
|
-
heading.chartAccounts.push(ca);
|
|
53
|
-
});
|
|
54
|
-
return headings;
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Get heading of chart accounts by it Id
|
|
59
|
-
* @param id
|
|
60
|
-
*/
|
|
61
|
-
getHeadingByChartAccountsId(id) {
|
|
62
|
-
return this.getChartAccountsById(id)
|
|
63
|
-
.pipe(map((chartAccounts) => {
|
|
64
|
-
return chartAccounts.heading;
|
|
65
|
-
}));
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Get chart accounts by Id
|
|
69
|
-
* @param id
|
|
70
|
-
*/
|
|
71
|
-
getChartAccountsById(id) {
|
|
72
|
-
return this.getChartAccounts()
|
|
73
|
-
.pipe(map((chartAccountsList) => {
|
|
74
|
-
return chartAccountsList.find((chartAccounts) => chartAccounts.id === id);
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
-
ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChartAccountsService, decorators: [{
|
|
81
|
-
type: Injectable,
|
|
82
|
-
args: [{
|
|
83
|
-
providedIn: 'root'
|
|
84
|
-
}]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
86
|
-
type: Inject,
|
|
87
|
-
args: ['environment']
|
|
88
|
-
}] }]; } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkRBQTZELENBQUM7OztBQUV4Rzs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFDVSxJQUFnQixFQUNPLFdBQWdCO1FBRHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDTyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUpqRCx5QkFBb0IsR0FBbUMsSUFBSSxhQUFhLENBQWtCLENBQUMsQ0FBQyxDQUFDO0lBTTdGLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDO2lCQUN0RCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBNEIsRUFBRSxFQUFFO2dCQUNuQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckYsQ0FBQyxDQUFDLENBQ0g7aUJBQ0EsU0FBUyxDQUFDLENBQUMsYUFBOEIsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0IsQ0FBQyxhQUEwQyx5QkFBeUIsQ0FBQyxHQUFHO1FBQzlGLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFO2FBQzNCLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxhQUE4QixFQUFFLEVBQUU7WUFDckMsTUFBTSxxQkFBcUIsR0FBb0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQWlCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDN0gsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQztZQUU1QyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFpQixFQUFFLEVBQUU7Z0JBQ2xELElBQUksT0FBTyxHQUF5QixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBdUIsRUFBRSxFQUFFLFdBQUMsT0FBQSxDQUFDLENBQUMsRUFBRSxNQUFLLE1BQUEsRUFBRSxDQUFDLE9BQU8sMENBQUUsRUFBRSxDQUFBLENBQUEsRUFBQSxDQUFDLENBQUM7Z0JBRXhHLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ1osT0FBTyxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3pELE9BQU8sQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO29CQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUN4QjtnQkFFRCxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsMkJBQTJCLENBQUMsRUFBVTtRQUNwQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7YUFDakMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGFBQTRCLEVBQUUsRUFBRTtZQUNuQyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0IsQ0FBQyxFQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixFQUFFO2FBQzNCLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxpQkFBa0MsRUFBRSxFQUFFO1lBQ3pDLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBNEIsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzRixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7a0hBbEZVLG9CQUFvQiw0Q0FNckIsYUFBYTtzSEFOWixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIGFzIENoYXJ0QWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZyB9IGZyb20gJy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1oZWFkaW5nJztcbmltcG9ydCB7IENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdCc7XG5cbi8qKlxuICogQ2hhcnQgYWNjb3VudHMgc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGFydEFjY291bnRzU2VydmljZSB7XG4gIF9jaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzW107XG4gIGNoYXJ0QWNjb3VudHNTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PENoYXJ0QWNjb3VudHNbXT4gPSBuZXcgUmVwbGF5U3ViamVjdDxDaGFydEFjY291bnRzW10+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgYWxsIHBhcmVudCBhbmQgY2hpbGQgY2hhcnQgYWNjb3VudHMgYW5kIGdyb3VwIGl0XG4gICAqL1xuICBnZXRDaGFydEFjY291bnRzKCk6IE9ic2VydmFibGU8Q2hhcnRBY2NvdW50c1tdPiB7XG4gICAgaWYgKCF0aGlzLl9jaGFydEFjY291bnRzKSB7XG4gICAgICB0aGlzLl9jaGFydEFjY291bnRzID0gW107XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2NoYXJ0LWFjY291bnRzYClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZTogQ2hhcnRBY2NvdW50QmFzZVtdKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UubWFwKChpdGVtOiBDaGFydEFjY291bnRCYXNlKSA9PiBwbGFpblRvQ2xhc3MoQ2hhcnRBY2NvdW50cywgaXRlbSkpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1tdKSA9PiB7XG4gICAgICAgICAgdGhpcy5fY2hhcnRBY2NvdW50cyA9IGNoYXJ0QWNjb3VudHM7XG4gICAgICAgICAgdGhpcy5jaGFydEFjY291bnRzU3ViamVjdC5uZXh0KHRoaXMuX2NoYXJ0QWNjb3VudHMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBjaGFydCBhY2NvdW50cyBoZWFkaW5nXG4gICAqIEBwYXJhbSBjYXRlZ29yaWVzXG4gICAqL1xuICBnZXRDaGFydEFjY291bnRzSGVhZGluZ3MoY2F0ZWdvcmllczogQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bVtdID0gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5hbGwpOiBPYnNlcnZhYmxlPENoYXJ0QWNjb3VudHNIZWFkaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRDaGFydEFjY291bnRzKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHNbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50c1tdID0gY2hhcnRBY2NvdW50cy5maWx0ZXIoKGNhOiBDaGFydEFjY291bnRzKSA9PiBjYXRlZ29yaWVzLmluY2x1ZGVzKGNhLmNhdGVnb3J5KSk7XG4gICAgICAgICAgY29uc3QgaGVhZGluZ3M6IENoYXJ0QWNjb3VudHNIZWFkaW5nW10gPSBbXTtcblxuICAgICAgICAgIGZpbHRlcmVkQ2hhcnRBY2NvdW50cy5mb3JFYWNoKChjYTogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgICAgICAgbGV0IGhlYWRpbmc6IENoYXJ0QWNjb3VudHNIZWFkaW5nID0gaGVhZGluZ3MuZmluZCgoaDogQ2hhcnRBY2NvdW50c0hlYWRpbmcpID0+IGguaWQgPT09IGNhLmhlYWRpbmc/LmlkKTtcblxuICAgICAgICAgICAgaWYgKCFoZWFkaW5nKSB7XG4gICAgICAgICAgICAgIGhlYWRpbmcgPSBwbGFpblRvQ2xhc3MoQ2hhcnRBY2NvdW50c0hlYWRpbmcsIGNhLmhlYWRpbmcpO1xuICAgICAgICAgICAgICBoZWFkaW5nLmNoYXJ0QWNjb3VudHMgPSBbXTtcbiAgICAgICAgICAgICAgaGVhZGluZ3MucHVzaChoZWFkaW5nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaGVhZGluZy5jaGFydEFjY291bnRzLnB1c2goY2EpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBoZWFkaW5ncztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGhlYWRpbmcgb2YgY2hhcnQgYWNjb3VudHMgYnkgaXQgSWRcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBnZXRIZWFkaW5nQnlDaGFydEFjY291bnRzSWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q2hhcnRBY2NvdW50c0hlYWRpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRDaGFydEFjY291bnRzQnlJZChpZClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgICAgICByZXR1cm4gY2hhcnRBY2NvdW50cy5oZWFkaW5nO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY2hhcnQgYWNjb3VudHMgYnkgSWRcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBnZXRDaGFydEFjY291bnRzQnlJZChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDaGFydEFjY291bnRzPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hhcnRBY2NvdW50cygpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChjaGFydEFjY291bnRzTGlzdDogQ2hhcnRBY2NvdW50c1tdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNoYXJ0QWNjb3VudHNMaXN0LmZpbmQoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IGNoYXJ0QWNjb3VudHMuaWQgPT09IGlkKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|