taxtank-core 0.20.1 → 0.21.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 +754 -617
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/collection.js +6 -3
- package/esm2015/lib/db/Enums/bank-popular.enum.js +14 -0
- package/esm2015/lib/forms/abstract.form.js +11 -4
- package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +75 -0
- package/esm2015/lib/forms/bank/bank-account/bank-account-import.form.js +43 -0
- package/esm2015/lib/forms/bank/bank-account/bank-account-loan.form.js +23 -0
- package/esm2015/lib/forms/bank/bank-account/bank-account-properties.form.js +36 -0
- package/esm2015/lib/forms/bank/bank-account/bank-accounts-import.form.js +50 -0
- package/esm2015/lib/forms/index.js +6 -7
- package/esm2015/lib/forms/report/my-tax/my-tax-income-statements.form.js +3 -3
- package/esm2015/lib/forms/user/password.form.js +3 -2
- package/esm2015/lib/forms/user/reset-password.form.js +2 -1
- package/esm2015/lib/interceptors/basiq.interceptor.js +3 -3
- package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
- package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
- package/esm2015/lib/interceptors/interceptors.module.js +4 -4
- package/esm2015/lib/interceptors/jwt-interceptor.js +9 -4
- package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
- package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
- package/esm2015/lib/models/bank/bank.js +7 -2
- package/esm2015/lib/models/dictionary/dictionary.js +35 -0
- package/esm2015/lib/services/account-setup/account-setup.service.js +3 -3
- package/esm2015/lib/services/asset/assets.service.js +3 -3
- package/esm2015/lib/services/auth/auth.service.js +3 -3
- package/esm2015/lib/services/auth/jwt.service.js +3 -3
- package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
- package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
- package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
- package/esm2015/lib/services/event/sse.service.js +3 -3
- package/esm2015/lib/services/export/export-formatter.service.js +3 -3
- package/esm2015/lib/services/header-title/header-title.service.js +3 -3
- package/esm2015/lib/services/http/address/address.service.js +3 -3
- package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +10 -4
- package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +18 -48
- package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +3 -3
- package/esm2015/lib/services/http/bank/bank.service.js +11 -4
- package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +3 -3
- package/esm2015/lib/services/http/bank/basiq/basiq.service.js +55 -17
- package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +3 -3
- package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +3 -3
- package/esm2015/lib/services/http/chat/chat.service.js +3 -3
- package/esm2015/lib/services/http/chat/message/message.service.js +3 -3
- package/esm2015/lib/services/http/chat/message-document/message-document.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation.service.js +3 -3
- package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
- package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
- package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
- package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
- package/esm2015/lib/services/http/firm/firm.service.js +3 -3
- package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
- package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
- package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
- package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
- package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
- package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +3 -3
- package/esm2015/lib/services/http/loan/loan.service.js +3 -3
- package/esm2015/lib/services/http/property/property-category/property-category.service.js +3 -3
- package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +3 -3
- package/esm2015/lib/services/http/property/property-document/property-document.service.js +3 -3
- package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +3 -3
- package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +3 -3
- package/esm2015/lib/services/http/property/property-share/property-share.service.js +3 -3
- package/esm2015/lib/services/http/property/property.service.js +3 -3
- package/esm2015/lib/services/http/rest/rest.service.js +3 -3
- package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
- package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
- package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
- package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
- package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
- package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
- package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +3 -3
- package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
- package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
- package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
- package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
- package/esm2015/lib/services/http/user/user.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
- package/esm2015/lib/services/intercom/intercom.service.js +3 -3
- package/esm2015/lib/services/kompassify/kompassify.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
- package/esm2015/lib/services/preloader/preloader.service.js +3 -3
- package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
- package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
- package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
- package/esm2015/lib/services/report/property/property-transaction-report.service.js +3 -3
- package/esm2015/lib/services/toast/toast.service.js +3 -3
- package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
- package/esm2015/lib/services/user/user-switcher.service.js +3 -3
- package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
- package/esm2015/lib/tt-core.module.js +4 -4
- package/esm2015/lib/validators/at-least-one-enabled.validator.js +11 -0
- package/esm2015/lib/validators/autocomplete.validator.js +10 -0
- package/esm2015/lib/validators/index.js +2 -3
- package/esm2015/public-api.js +2 -2
- package/fesm2015/taxtank-core.js +705 -562
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/collection.d.ts +2 -1
- package/lib/db/Enums/bank-popular.enum.d.ts +12 -0
- package/lib/forms/abstract.form.d.ts +5 -3
- package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts +25 -0
- package/lib/forms/bank/bank-account/bank-account-import.form.d.ts +15 -0
- package/lib/forms/bank/bank-account/bank-account-loan.form.d.ts +8 -0
- package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +11 -0
- package/lib/forms/bank/bank-account/bank-accounts-import.form.d.ts +12 -0
- package/lib/forms/index.d.ts +5 -6
- package/lib/models/bank/bank.d.ts +1 -0
- package/lib/models/dictionary/dictionary.d.ts +12 -0
- package/lib/services/http/bank/bank-account/bank-account.service.d.ts +3 -0
- package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +0 -8
- package/lib/services/http/bank/bank.service.d.ts +2 -0
- package/lib/services/http/bank/basiq/basiq.service.d.ts +12 -3
- package/lib/validators/at-least-one-enabled.validator.d.ts +5 -0
- package/lib/validators/{require-autocomplete.d.ts → autocomplete.validator.d.ts} +2 -1
- package/lib/validators/index.d.ts +1 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2015/lib/collections/bank.collection.js +0 -15
- package/esm2015/lib/forms/bank/bank-account-add-manual.form.js +0 -19
- package/esm2015/lib/forms/bank/bank-account-loan.form.js +0 -20
- package/esm2015/lib/forms/bank/bank-account-migrate.form.js +0 -15
- package/esm2015/lib/forms/bank/bank-account-properties.form.js +0 -15
- package/esm2015/lib/forms/bank/bank-account-property.form.js +0 -13
- package/esm2015/lib/forms/bank/bank-account.form.js +0 -66
- package/esm2015/lib/validators/require-autocomplete.js +0 -14
- package/esm2015/lib/validators/require-select.validator.js +0 -15
- package/lib/collections/bank.collection.d.ts +0 -7
- package/lib/forms/bank/bank-account-add-manual.form.d.ts +0 -10
- package/lib/forms/bank/bank-account-loan.form.d.ts +0 -5
- package/lib/forms/bank/bank-account-migrate.form.d.ts +0 -9
- package/lib/forms/bank/bank-account-properties.form.d.ts +0 -8
- package/lib/forms/bank/bank-account-property.form.d.ts +0 -5
- package/lib/forms/bank/bank-account.form.d.ts +0 -28
- package/lib/validators/require-select.validator.d.ts +0 -5
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { Bank } from '../../../models/bank/bank';
|
|
3
3
|
import { RestService } from '../rest/rest.service';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
/**
|
|
6
7
|
* Service that handling banks logic
|
|
@@ -12,13 +13,19 @@ export class BankService extends RestService {
|
|
|
12
13
|
this.url = 'banks';
|
|
13
14
|
this.isHydra = true;
|
|
14
15
|
}
|
|
16
|
+
get() {
|
|
17
|
+
return super.get().pipe(map((banks) => {
|
|
18
|
+
// exclude basiq banks without login fields (basiq may return broken banks without loginFields)
|
|
19
|
+
return banks.filter((bank) => !bank.externalId || (bank.externalId && bank.loginFields));
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
15
22
|
}
|
|
16
|
-
BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
17
|
-
BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
23
|
+
BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, providedIn: 'root' });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, decorators: [{
|
|
19
26
|
type: Injectable,
|
|
20
27
|
args: [{
|
|
21
28
|
providedIn: 'root'
|
|
22
29
|
}]
|
|
23
30
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFckM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQTJCO0lBSDVEOztRQUlFLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLFFBQUcsR0FBVyxPQUFPLENBQUM7UUFDdEIsWUFBTyxHQUFZLElBQUksQ0FBQztLQVV6QjtJQVJDLEdBQUc7UUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3JCLEdBQUcsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ3BCLCtGQUErRjtZQUMvRixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDakcsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O3lHQVpVLFdBQVc7NkdBQVgsV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYW5rIGFzIEJhbmtCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL2JhbmsvYmFuayc7XG5pbXBvcnQgeyBCYW5rIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuayc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaGFuZGxpbmcgYmFua3MgbG9naWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFua1NlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYW5rQmFzZSwgQmFuaz4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQmFuayA9IEJhbms7XG4gIHVybDogc3RyaW5nID0gJ2JhbmtzJztcbiAgaXNIeWRyYTogYm9vbGVhbiA9IHRydWU7XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8QmFua1tdPiB7XG4gICAgcmV0dXJuIHN1cGVyLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKGJhbmtzOiBCYW5rW10pID0+IHtcbiAgICAgICAgLy8gZXhjbHVkZSBiYXNpcSBiYW5rcyB3aXRob3V0IGxvZ2luIGZpZWxkcyAoYmFzaXEgbWF5IHJldHVybiBicm9rZW4gYmFua3Mgd2l0aG91dCBsb2dpbkZpZWxkcylcbiAgICAgICAgcmV0dXJuIGJhbmtzLmZpbHRlcigoYmFuazogQmFuaykgPT4gIWJhbmsuZXh0ZXJuYWxJZCB8fCAoYmFuay5leHRlcm5hbElkICYmIGJhbmsubG9naW5GaWVsZHMpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -28,9 +28,9 @@ export class BasiqTokenService {
|
|
|
28
28
|
return this.cacheSubject.asObservable();
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
32
|
-
BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
31
|
+
BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenService, decorators: [{
|
|
34
34
|
type: Injectable,
|
|
35
35
|
args: [{
|
|
36
36
|
providedIn: 'root'
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
2
|
+
import { catchError, map, mergeMap } from 'rxjs/operators';
|
|
3
3
|
import { UserEventTypeClientTypeEnum } from '../../../../db/Enums/user-event-type-client-type.enum';
|
|
4
4
|
import { RestService } from '../../rest/rest.service';
|
|
5
5
|
import { BankAccount } from '../../../../models/bank/bank-account';
|
|
6
6
|
import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
|
|
7
|
-
import {
|
|
7
|
+
import { BankConnection } from '../../../../models/bank/bank-connection';
|
|
8
|
+
import { BankAccountCollection } from '../../../../collections/bank-account.collection';
|
|
9
|
+
import { plainToClass } from 'class-transformer';
|
|
10
|
+
import { throwError as observableThrowError } from 'rxjs/internal/observable/throwError';
|
|
8
11
|
import * as i0 from "@angular/core";
|
|
9
12
|
import * as i1 from "@angular/common/http";
|
|
10
13
|
import * as i2 from "../../../event/event-dispatcher.service";
|
|
@@ -15,9 +18,7 @@ import * as i4 from "../bank-connection/bank-connection.service";
|
|
|
15
18
|
* service is responsible for fetching bank related information
|
|
16
19
|
*/
|
|
17
20
|
export class BasiqService extends RestService {
|
|
18
|
-
constructor(http, eventDispatcherService, environment, toastService,
|
|
19
|
-
// init BankConnectionService to listen events
|
|
20
|
-
bankConnectionService) {
|
|
21
|
+
constructor(http, eventDispatcherService, environment, toastService, bankConnectionService) {
|
|
21
22
|
super(http, eventDispatcherService, environment, toastService);
|
|
22
23
|
this.http = http;
|
|
23
24
|
this.eventDispatcherService = eventDispatcherService;
|
|
@@ -34,21 +35,58 @@ export class BasiqService extends RestService {
|
|
|
34
35
|
this.listenNotifications();
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
|
-
* Create
|
|
38
|
+
* Create a new Bank connection based on Basiq job.
|
|
39
|
+
* Here we have nested requests because we need to get a job id before we create a bank connection.
|
|
40
|
+
* There is no way to use event dispatcher because we expect some errors from bank-connections API, but in components
|
|
41
|
+
* we interact with basiq service.
|
|
38
42
|
*/
|
|
39
|
-
createConnection(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
createConnection(loginData, userId) {
|
|
44
|
+
// Send login data to basiq API to create a basiq job
|
|
45
|
+
return this.http.post(`${BasiqService.basiqApiUrl}/users/${userId}/connections`, loginData)
|
|
46
|
+
.pipe(mergeMap((response) => {
|
|
47
|
+
// Create bank connection based on basiq job
|
|
48
|
+
return this.bankConnectionService.add(plainToClass(BankConnection, { basiqJob: { externalId: response.id } }));
|
|
49
|
+
}), catchError((error) => {
|
|
50
|
+
// Show error when user provided wrong login data
|
|
51
|
+
if (error.status === 401) {
|
|
52
|
+
this.toastService.error('Invalid credentials');
|
|
53
|
+
}
|
|
54
|
+
return observableThrowError(error);
|
|
43
55
|
}));
|
|
44
56
|
}
|
|
45
57
|
/**
|
|
46
58
|
* Update disconnected bank connection
|
|
59
|
+
* Here we have nested requests because we need to get a job id before we create a bank connection.
|
|
60
|
+
* There is no way to use event dispatcher because we expect some errors from bank-connections API, but in components
|
|
61
|
+
* we interact with basiq service.
|
|
47
62
|
*/
|
|
48
63
|
updateConnection(data, userId, connection) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
64
|
+
// Send login data to basiq API to create a basiq job
|
|
65
|
+
return this.http.post(`${BasiqService.basiqApiUrl}/users/${userId}/connections`, Object.assign(data, { id: connection.externalId }))
|
|
66
|
+
.pipe(
|
|
67
|
+
// Create bank connection based on basiq job
|
|
68
|
+
mergeMap((response) => {
|
|
69
|
+
return this.bankConnectionService.add(plainToClass(BankConnection, Object.assign({ id: connection.id, basiqJob: { externalId: response.id } })));
|
|
70
|
+
}), catchError((error) => {
|
|
71
|
+
// Show error when user provided wrong login data
|
|
72
|
+
if (error.status === 401) {
|
|
73
|
+
this.toastService.error('Invalid credentials');
|
|
74
|
+
}
|
|
75
|
+
// Show error when user provided another login (not login he used before)
|
|
76
|
+
if (error.status === 400) {
|
|
77
|
+
this.toastService.error('Please enter the login you used before');
|
|
78
|
+
}
|
|
79
|
+
return observableThrowError(error);
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
getByConnection(connection) {
|
|
83
|
+
return this.get().pipe(map((bankAccounts) => {
|
|
84
|
+
return new BankAccountCollection(bankAccounts).filterBy('bankConnection.id', connection.id);
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
getNotImportedByConnection(savedAccounts, connection) {
|
|
88
|
+
return this.getByConnection(connection).pipe(map((bankAccounts) => {
|
|
89
|
+
return bankAccounts.removeBy('accountId', savedAccounts.mapBy('accountId'));
|
|
52
90
|
}));
|
|
53
91
|
}
|
|
54
92
|
/**
|
|
@@ -63,9 +101,9 @@ export class BasiqService extends RestService {
|
|
|
63
101
|
}
|
|
64
102
|
}
|
|
65
103
|
BasiqService.basiqApiUrl = 'https://au-api.basiq.io';
|
|
66
|
-
BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
67
|
-
BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
104
|
+
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' }, { token: i3.ToastService }, { token: i4.BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
105
|
+
BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, providedIn: 'root' });
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, decorators: [{
|
|
69
107
|
type: Injectable,
|
|
70
108
|
args: [{
|
|
71
109
|
providedIn: 'root'
|
|
@@ -74,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
74
112
|
type: Inject,
|
|
75
113
|
args: ['environment']
|
|
76
114
|
}] }, { type: i3.ToastService }, { type: i4.BankConnectionService }]; } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQVNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUc5RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQXlDO0lBTXpFLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3ZDLFlBQTBCO0lBQ3BDLDhDQUE4QztJQUN0QyxxQkFBNEM7UUFFcEQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFQckQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRTVCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFUdEQsUUFBRyxHQUFXLGdCQUFnQixDQUFDO1FBQy9CLGVBQVUsR0FBRyxXQUFXLENBQUM7SUFXekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLElBQW1CLEVBQUUsTUFBYyxFQUFFLFVBQTBCO1FBQzlFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxVQUFVLE1BQU0sY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDekYsR0FBRyxDQUFDLENBQUMsUUFBa0MsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFFekgsT0FBTyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsTUFBYyxFQUFFLFVBQTBCO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxVQUFVLE1BQU0sY0FBYyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNySSxHQUFHLENBQUMsQ0FBQyxRQUFrQyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUMsQ0FBQTtZQUUvSCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBUSxFQUFFO1lBQ2pILElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUssMkJBQTJCLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3JHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUExRE0sd0JBQVcsR0FBVyx5QkFBeUIsQ0FBQzswR0FENUMsWUFBWSxrRkFTYixhQUFhOzhHQVRaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IGFzIEJhbmtBY2NvdW50QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtY2xpZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2JhbmstY29ubmVjdGlvbi9iYW5rLWNvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2lxQ29ubmVjdGlvbnNSZXNwb25zZSB9IGZyb20gJy4vYmFzaXEtY29ubmVjdGlvbnMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBCYW5rTG9naW5EYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1sb2dpbi1kYXRhJztcblxuLyoqXG4gKiBiYXNpcSBpcyBhIG1pZGRsZW1hbiBiZXR3ZWVuIGJhbmsgYW5kIHVzZXJcbiAqIHNlcnZpY2UgaXMgcmVzcG9uc2libGUgZm9yIGZldGNoaW5nIGJhbmsgcmVsYXRlZCBpbmZvcm1hdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNpcVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYW5rQWNjb3VudEJhc2UsIEJhbmtBY2NvdW50PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgc3RhdGljIGJhc2lxQXBpVXJsOiBzdHJpbmcgPSAnaHR0cHM6Ly9hdS1hcGkuYmFzaXEuaW8nO1xuXG4gIHVybDogc3RyaW5nID0gJ2Jhc2lxL2FjY291bnRzJztcbiAgbW9kZWxDbGFzcyA9IEJhbmtBY2NvdW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIC8vIGluaXQgQmFua0Nvbm5lY3Rpb25TZXJ2aWNlIHRvIGxpc3RlbiBldmVudHNcbiAgICBwcml2YXRlIGJhbmtDb25uZWN0aW9uU2VydmljZTogQmFua0Nvbm5lY3Rpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50LCB0b2FzdFNlcnZpY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgQmFzaXEgam9iIGZvciB0aGUgbmV3IGJhbmsgY29ubmVjdGlvbiBjcmVhdGlvblxuICAgKi9cbiAgY3JlYXRlQ29ubmVjdGlvbihkYXRhOiBCYW5rTG9naW5EYXRhLCB1c2VySWQ6IHN0cmluZywgY29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtCYXNpcVNlcnZpY2UuYmFzaXFBcGlVcmx9L3VzZXJzLyR7dXNlcklkfS9jb25uZWN0aW9uc2AsIGRhdGEpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBCYXNpcUNvbm5lY3Rpb25zUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0pPQl9DUkVBVEVELCB7am9iSWQ6IHJlc3BvbnNlLmlkLCBjb25uZWN0aW9ufSkpO1xuXG4gICAgICAgIHJldHVybiByZXNwb25zZS5pZDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZGlzY29ubmVjdGVkIGJhbmsgY29ubmVjdGlvblxuICAgKi9cbiAgdXBkYXRlQ29ubmVjdGlvbihkYXRhOiBvYmplY3QsIHVzZXJJZDogc3RyaW5nLCBjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbik6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke0Jhc2lxU2VydmljZS5iYXNpcUFwaVVybH0vdXNlcnMvJHt1c2VySWR9L2Nvbm5lY3Rpb25zYCwgT2JqZWN0LmFzc2lnbihkYXRhLCB7aWQ6IGNvbm5lY3Rpb24uZXh0ZXJuYWxJZH0pKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogQmFzaXFDb25uZWN0aW9uc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQVNJUV9DT05ORUNUSU9OX1VQREFURUQsIHtqb2JJZDogcmVzcG9uc2UuaWQsIGNvbm5lY3Rpb259KSlcblxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuaWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogbGlzdGVuIHRvIG5vdGlmaWNhdGlvbnMgdG8gdXBkYXRlIGJhc2lxIGFjY291bnRzIGxpc3RcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pOiB2b2lkID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0uQkFTSVFfTkVXX0FDQ09VTlRTKSB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQVN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7QUFFekY7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUF5QztJQU16RSxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQixFQUN2QyxZQUEwQixFQUM1QixxQkFBNEM7UUFFcEQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFOckQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3ZDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzVCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFSdEQsUUFBRyxHQUFXLGdCQUFnQixDQUFDO1FBQy9CLGVBQVUsR0FBRyxXQUFXLENBQUM7SUFVekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLFNBQXdCLEVBQUUsTUFBYztRQUN2RCxxREFBcUQ7UUFDckQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxXQUFXLFVBQVUsTUFBTSxjQUFjLEVBQUUsU0FBUyxDQUFDO2FBQ3hGLElBQUksQ0FDSCxRQUFRLENBQUMsQ0FBQyxRQUFrQyxFQUFFLEVBQUU7WUFDOUMsNENBQTRDO1lBQzVDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUMsUUFBUSxFQUFFLEVBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUM3RyxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMsaURBQWlEO1lBQ2pELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7YUFDaEQ7WUFFRCxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFtQixFQUFFLE1BQWMsRUFBRSxVQUEwQjtRQUM5RSxxREFBcUQ7UUFDckQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxXQUFXLFVBQVUsTUFBTSxjQUFjLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBQyxDQUFDLENBQUM7YUFDL0gsSUFBSTtRQUNILDRDQUE0QztRQUM1QyxRQUFRLENBQUMsQ0FBQyxRQUFrQyxFQUFFLEVBQUU7WUFDOUMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvSSxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMsaURBQWlEO1lBQ2pELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7YUFDaEQ7WUFFRCx5RUFBeUU7WUFDekUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQzthQUNuRTtZQUVELE9BQU8sb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsVUFBMEI7UUFDeEMsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsQ0FBQyxZQUEyQixFQUFFLEVBQUU7WUFDbEMsT0FBTyxJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxhQUFvQyxFQUFFLFVBQTBCO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzFDLEdBQUcsQ0FBQyxDQUFDLFlBQW1DLEVBQUUsRUFBRTtZQUMxQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFRLEVBQUU7WUFDakgsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSywyQkFBMkIsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDckcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRHTSx3QkFBVyxHQUFXLHlCQUF5QixDQUFDOzBHQUQ1QyxZQUFZLGtGQVNiLGFBQWE7OEdBVFosWUFBWSxjQUZYLE1BQU07NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IGFzIEJhbmtBY2NvdW50QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtY2xpZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9iYW5rLWNvbm5lY3Rpb24vYmFuay1jb25uZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBCYXNpcUNvbm5lY3Rpb25zUmVzcG9uc2UgfSBmcm9tICcuL2Jhc2lxLWNvbm5lY3Rpb25zLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYW5rTG9naW5EYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1sb2dpbi1kYXRhJztcbmltcG9ydCB7IEJhbmtBY2NvdW50Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL2JhbmstYWNjb3VudC5jb2xsZWN0aW9uJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3IgfSBmcm9tICdyeGpzL2ludGVybmFsL29ic2VydmFibGUvdGhyb3dFcnJvcic7XG5cbi8qKlxuICogYmFzaXEgaXMgYSBtaWRkbGVtYW4gYmV0d2VlbiBiYW5rIGFuZCB1c2VyXG4gKiBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyBiYW5rIHJlbGF0ZWQgaW5mb3JtYXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFzaXFTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFua0FjY291bnRCYXNlLCBCYW5rQWNjb3VudD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIHN0YXRpYyBiYXNpcUFwaVVybDogc3RyaW5nID0gJ2h0dHBzOi8vYXUtYXBpLmJhc2lxLmlvJztcblxuICB1cmw6IHN0cmluZyA9ICdiYXNpcS9hY2NvdW50cyc7XG4gIG1vZGVsQ2xhc3MgPSBCYW5rQWNjb3VudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIHByb3RlY3RlZCB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGJhbmtDb25uZWN0aW9uU2VydmljZTogQmFua0Nvbm5lY3Rpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50LCB0b2FzdFNlcnZpY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgQmFuayBjb25uZWN0aW9uIGJhc2VkIG9uIEJhc2lxIGpvYi5cbiAgICogSGVyZSB3ZSBoYXZlIG5lc3RlZCByZXF1ZXN0cyBiZWNhdXNlIHdlIG5lZWQgdG8gZ2V0IGEgam9iIGlkIGJlZm9yZSB3ZSBjcmVhdGUgYSBiYW5rIGNvbm5lY3Rpb24uXG4gICAqIFRoZXJlIGlzIG5vIHdheSB0byB1c2UgZXZlbnQgZGlzcGF0Y2hlciBiZWNhdXNlIHdlIGV4cGVjdCBzb21lIGVycm9ycyBmcm9tIGJhbmstY29ubmVjdGlvbnMgQVBJLCBidXQgaW4gY29tcG9uZW50c1xuICAgKiB3ZSBpbnRlcmFjdCB3aXRoIGJhc2lxIHNlcnZpY2UuXG4gICAqL1xuICBjcmVhdGVDb25uZWN0aW9uKGxvZ2luRGF0YTogQmFua0xvZ2luRGF0YSwgdXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJhbmtDb25uZWN0aW9uPiB7XG4gICAgLy8gU2VuZCBsb2dpbiBkYXRhIHRvIGJhc2lxIEFQSSB0byBjcmVhdGUgYSBiYXNpcSBqb2JcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7QmFzaXFTZXJ2aWNlLmJhc2lxQXBpVXJsfS91c2Vycy8ke3VzZXJJZH0vY29ubmVjdGlvbnNgLCBsb2dpbkRhdGEpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHJlc3BvbnNlOiBCYXNpcUNvbm5lY3Rpb25zUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAvLyBDcmVhdGUgYmFuayBjb25uZWN0aW9uIGJhc2VkIG9uIGJhc2lxIGpvYlxuICAgICAgICAgIHJldHVybiB0aGlzLmJhbmtDb25uZWN0aW9uU2VydmljZS5hZGQocGxhaW5Ub0NsYXNzKEJhbmtDb25uZWN0aW9uLCB7YmFzaXFKb2I6IHtleHRlcm5hbElkOiByZXNwb25zZS5pZH19KSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAvLyBTaG93IGVycm9yIHdoZW4gdXNlciBwcm92aWRlZCB3cm9uZyBsb2dpbiBkYXRhXG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcignSW52YWxpZCBjcmVkZW50aWFscycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBkaXNjb25uZWN0ZWQgYmFuayBjb25uZWN0aW9uXG4gICAqIEhlcmUgd2UgaGF2ZSBuZXN0ZWQgcmVxdWVzdHMgYmVjYXVzZSB3ZSBuZWVkIHRvIGdldCBhIGpvYiBpZCBiZWZvcmUgd2UgY3JlYXRlIGEgYmFuayBjb25uZWN0aW9uLlxuICAgKiBUaGVyZSBpcyBubyB3YXkgdG8gdXNlIGV2ZW50IGRpc3BhdGNoZXIgYmVjYXVzZSB3ZSBleHBlY3Qgc29tZSBlcnJvcnMgZnJvbSBiYW5rLWNvbm5lY3Rpb25zIEFQSSwgYnV0IGluIGNvbXBvbmVudHNcbiAgICogd2UgaW50ZXJhY3Qgd2l0aCBiYXNpcSBzZXJ2aWNlLlxuICAgKi9cbiAgdXBkYXRlQ29ubmVjdGlvbihkYXRhOiBCYW5rTG9naW5EYXRhLCB1c2VySWQ6IHN0cmluZywgY29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pOiBPYnNlcnZhYmxlPEJhbmtDb25uZWN0aW9uPiB7XG4gICAgLy8gU2VuZCBsb2dpbiBkYXRhIHRvIGJhc2lxIEFQSSB0byBjcmVhdGUgYSBiYXNpcSBqb2JcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7QmFzaXFTZXJ2aWNlLmJhc2lxQXBpVXJsfS91c2Vycy8ke3VzZXJJZH0vY29ubmVjdGlvbnNgLCBPYmplY3QuYXNzaWduKGRhdGEsIHtpZDogY29ubmVjdGlvbi5leHRlcm5hbElkfSkpXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gQ3JlYXRlIGJhbmsgY29ubmVjdGlvbiBiYXNlZCBvbiBiYXNpcSBqb2JcbiAgICAgICAgbWVyZ2VNYXAoKHJlc3BvbnNlOiBCYXNpcUNvbm5lY3Rpb25zUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5iYW5rQ29ubmVjdGlvblNlcnZpY2UuYWRkKHBsYWluVG9DbGFzcyhCYW5rQ29ubmVjdGlvbiwgT2JqZWN0LmFzc2lnbih7aWQ6IGNvbm5lY3Rpb24uaWQsIGJhc2lxSm9iOiB7ZXh0ZXJuYWxJZDogcmVzcG9uc2UuaWR9fSkpKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIC8vIFNob3cgZXJyb3Igd2hlbiB1c2VyIHByb3ZpZGVkIHdyb25nIGxvZ2luIGRhdGFcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKCdJbnZhbGlkIGNyZWRlbnRpYWxzJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2hvdyBlcnJvciB3aGVuIHVzZXIgcHJvdmlkZWQgYW5vdGhlciBsb2dpbiAobm90IGxvZ2luIGhlIHVzZWQgYmVmb3JlKVxuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoJ1BsZWFzZSBlbnRlciB0aGUgbG9naW4geW91IHVzZWQgYmVmb3JlJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRCeUNvbm5lY3Rpb24oY29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50Q29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEJhbmtBY2NvdW50Q29sbGVjdGlvbihiYW5rQWNjb3VudHMpLmZpbHRlckJ5KCdiYW5rQ29ubmVjdGlvbi5pZCcsIGNvbm5lY3Rpb24uaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Tm90SW1wb3J0ZWRCeUNvbm5lY3Rpb24oc2F2ZWRBY2NvdW50czogQmFua0FjY291bnRDb2xsZWN0aW9uLCBjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbik6IE9ic2VydmFibGU8QmFua0FjY291bnRDb2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDb25uZWN0aW9uKGNvbm5lY3Rpb24pLnBpcGUoXG4gICAgICBtYXAoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRDb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBiYW5rQWNjb3VudHMucmVtb3ZlQnkoJ2FjY291bnRJZCcsIHNhdmVkQWNjb3VudHMubWFwQnkoJ2FjY291bnRJZCcpKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIGxpc3RlbiB0byBub3RpZmljYXRpb25zIHRvIHVwZGF0ZSBiYXNpcSBhY2NvdW50cyBsaXN0XG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5pc1JlYWQgJiYgbm90aWZpY2F0aW9uLmV2ZW50VHlwZSA9PT0gVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtLkJBU0lRX05FV19BQ0NPVU5UUykge1xuICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -27,9 +27,9 @@ export class ChartAccountsDepreciationService extends RestService {
|
|
|
27
27
|
}));
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
31
|
-
ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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
33
|
type: Injectable,
|
|
34
34
|
args: [{
|
|
35
35
|
providedIn: 'root'
|
|
@@ -75,9 +75,9 @@ export class ChartAccountsService {
|
|
|
75
75
|
}));
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
79
|
-
ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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
81
|
type: Injectable,
|
|
82
82
|
args: [{
|
|
83
83
|
providedIn: 'root'
|
|
@@ -74,9 +74,9 @@ export class ChatService extends RestService {
|
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
78
|
-
ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
77
|
+
ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
+
ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, providedIn: 'root' });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ChatService, decorators: [{
|
|
80
80
|
type: Injectable,
|
|
81
81
|
args: [{
|
|
82
82
|
providedIn: 'root'
|
|
@@ -47,9 +47,9 @@ export class MessageService extends RestService {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
51
|
-
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
50
|
+
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, providedIn: 'root' });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageService, decorators: [{
|
|
53
53
|
type: Injectable,
|
|
54
54
|
args: [{
|
|
55
55
|
providedIn: 'root'
|
|
@@ -104,9 +104,9 @@ export class MessageDocumentService {
|
|
|
104
104
|
}));
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
108
|
-
MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
107
|
+
MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
108
|
+
MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MessageDocumentService, decorators: [{
|
|
110
110
|
type: Injectable,
|
|
111
111
|
args: [{
|
|
112
112
|
providedIn: 'root'
|
|
@@ -48,9 +48,9 @@ export class DepreciationCapitalProjectService {
|
|
|
48
48
|
}));
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
52
|
-
DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
51
|
+
DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
|
|
54
54
|
type: Injectable,
|
|
55
55
|
args: [{
|
|
56
56
|
providedIn: 'root'
|
|
@@ -94,9 +94,9 @@ export class DepreciationService extends RestService {
|
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
98
|
-
DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
97
|
+
DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
98
|
+
DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, providedIn: 'root' });
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, decorators: [{
|
|
100
100
|
type: Injectable,
|
|
101
101
|
args: [{
|
|
102
102
|
providedIn: 'root'
|
|
@@ -65,9 +65,9 @@ export class DocumentFolderService extends RestService {
|
|
|
65
65
|
}));
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
69
|
-
DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
68
|
+
DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, decorators: [{
|
|
71
71
|
type: Injectable,
|
|
72
72
|
args: [{
|
|
73
73
|
providedIn: 'root'
|
|
@@ -76,9 +76,9 @@ FacebookService.authOptions = {
|
|
|
76
76
|
auth_type: 'rerequest',
|
|
77
77
|
return_scopes: true
|
|
78
78
|
};
|
|
79
|
-
FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
80
|
-
FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
79
|
+
FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: i2.ToastService }, { token: i3.JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
80
|
+
FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, providedIn: 'root' });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, decorators: [{
|
|
82
82
|
type: Injectable,
|
|
83
83
|
args: [{
|
|
84
84
|
providedIn: 'root'
|
|
@@ -38,9 +38,9 @@ export class ClientIncomeTypesService {
|
|
|
38
38
|
}));
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
42
|
-
ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
41
|
+
ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
|
|
44
44
|
type: Injectable,
|
|
45
45
|
args: [{
|
|
46
46
|
providedIn: 'root'
|
|
@@ -91,9 +91,9 @@ export class ClientInviteService extends RestService {
|
|
|
91
91
|
}));
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
95
|
-
ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
94
|
+
ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
95
|
+
ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, decorators: [{
|
|
97
97
|
type: Injectable,
|
|
98
98
|
args: [{
|
|
99
99
|
providedIn: 'root'
|
|
@@ -78,9 +78,9 @@ export class ClientMovementService extends RestService {
|
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
82
|
-
ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
81
|
+
ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
82
|
+
ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, decorators: [{
|
|
84
84
|
type: Injectable,
|
|
85
85
|
args: [{
|
|
86
86
|
providedIn: 'root'
|
|
@@ -28,9 +28,9 @@ export class EmployeeService extends RestService {
|
|
|
28
28
|
}));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
32
|
-
EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
31
|
+
EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, providedIn: 'root' });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, decorators: [{
|
|
34
34
|
type: Injectable,
|
|
35
35
|
args: [{
|
|
36
36
|
providedIn: 'root'
|
|
@@ -42,9 +42,9 @@ export class EmployeeInviteService extends RestService {
|
|
|
42
42
|
}));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
46
|
-
EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
45
|
+
EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, decorators: [{
|
|
48
48
|
type: Injectable,
|
|
49
49
|
args: [{
|
|
50
50
|
providedIn: 'root'
|
|
@@ -65,9 +65,9 @@ export class FirmService {
|
|
|
65
65
|
}));
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
69
|
-
FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
68
|
+
FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, providedIn: 'root' });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, decorators: [{
|
|
71
71
|
type: Injectable,
|
|
72
72
|
args: [{
|
|
73
73
|
providedIn: 'root'
|
|
@@ -23,9 +23,9 @@ export class ClientPortfolioReportService {
|
|
|
23
23
|
}));
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
27
|
-
ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
26
|
+
ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
+
ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
|
|
29
29
|
type: Injectable,
|
|
30
30
|
args: [{
|
|
31
31
|
providedIn: 'root'
|
|
@@ -70,9 +70,9 @@ export class IncomeSourceForecastService extends RestService {
|
|
|
70
70
|
}).flat();
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
74
|
-
IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
73
|
+
IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
|
|
76
76
|
type: Injectable,
|
|
77
77
|
args: [{
|
|
78
78
|
providedIn: 'root'
|
|
@@ -90,9 +90,9 @@ export class IncomeSourceService extends RestService {
|
|
|
90
90
|
return this.incomeSourceTypeSubject.asObservable();
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
94
|
-
IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
93
|
+
IncomeSourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
94
|
+
IncomeSourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, providedIn: 'root' });
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceService, decorators: [{
|
|
96
96
|
type: Injectable,
|
|
97
97
|
args: [{
|
|
98
98
|
providedIn: 'root'
|
|
@@ -70,9 +70,9 @@ export class SalaryForecastService extends RestService {
|
|
|
70
70
|
}).flat();
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
74
|
-
SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
73
|
+
SalaryForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
SalaryForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, providedIn: 'root' });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SalaryForecastService, decorators: [{
|
|
76
76
|
type: Injectable,
|
|
77
77
|
args: [{
|
|
78
78
|
providedIn: 'root'
|
|
@@ -67,9 +67,9 @@ export class SoleForecastService extends RestService {
|
|
|
67
67
|
}).flat();
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
71
|
-
SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
70
|
+
SoleForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
71
|
+
SoleForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, providedIn: 'root' });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleForecastService, decorators: [{
|
|
73
73
|
type: Injectable,
|
|
74
74
|
args: [{
|
|
75
75
|
providedIn: 'root'
|
|
@@ -59,9 +59,9 @@ export class BorrowingExpenseService {
|
|
|
59
59
|
}));
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
BorrowingExpenseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
63
|
-
BorrowingExpenseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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
65
|
type: Injectable,
|
|
66
66
|
args: [{
|
|
67
67
|
providedIn: 'root'
|
|
@@ -125,9 +125,9 @@ export class LoanService extends RestService {
|
|
|
125
125
|
}));
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
129
|
-
LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
128
|
+
LoanService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
129
|
+
LoanService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, providedIn: 'root' });
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: LoanService, decorators: [{
|
|
131
131
|
type: Injectable,
|
|
132
132
|
args: [{
|
|
133
133
|
providedIn: 'root'
|
|
@@ -12,9 +12,9 @@ export class PropertyCategoryService extends RestService {
|
|
|
12
12
|
this.url = 'properties/categories';
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
16
|
-
PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
15
|
+
PropertyCategoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
PropertyCategoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, providedIn: 'root' });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryService, decorators: [{
|
|
18
18
|
type: Injectable,
|
|
19
19
|
args: [{
|
|
20
20
|
providedIn: 'root'
|
|
@@ -36,9 +36,9 @@ export class PropertyCategoryMovementService extends RestService {
|
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
40
|
-
PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
39
|
+
PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyCategoryMovementService, decorators: [{
|
|
42
42
|
type: Injectable,
|
|
43
43
|
args: [{
|
|
44
44
|
providedIn: 'root'
|
|
@@ -50,9 +50,9 @@ export class PropertyDocumentService extends RestService {
|
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
PropertyDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
54
|
-
PropertyDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
53
|
+
PropertyDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
54
|
+
PropertyDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, providedIn: 'root' });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyDocumentService, decorators: [{
|
|
56
56
|
type: Injectable,
|
|
57
57
|
args: [{
|
|
58
58
|
providedIn: 'root'
|