taxtank-core 0.32.16 → 0.32.18
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/esm2022/lib/collections/collection.mjs +9 -3
- package/esm2022/lib/collections/property/index.mjs +2 -1
- package/esm2022/lib/collections/property/property-category-movement.collection.mjs +12 -4
- package/esm2022/lib/collections/property/property-valuation.collection.mjs +4 -0
- package/esm2022/lib/collections/property/property.collection.mjs +31 -33
- package/esm2022/lib/db/Models/firm/client-movement.mjs +3 -3
- package/esm2022/lib/db/Models/property/property.mjs +1 -1
- package/esm2022/lib/db/Models/user/registration-invite.mjs +1 -1
- package/esm2022/lib/forms/property/index.mjs +5 -1
- package/esm2022/lib/forms/property/property-add.form.mjs +69 -0
- package/esm2022/lib/forms/property/property-category-movement-form.mjs +22 -0
- package/esm2022/lib/forms/property/property-forecast.form.mjs +29 -0
- package/esm2022/lib/forms/property/property-share.form.mjs +16 -0
- package/esm2022/lib/forms/property/property-valuation.form.mjs +5 -3
- package/esm2022/lib/models/client/client-movement.mjs +3 -3
- package/esm2022/lib/models/depreciation/depreciation.mjs +1 -1
- package/esm2022/lib/models/endpoint/endpoints.const.mjs +10 -12
- package/esm2022/lib/models/event/app-event-type.enum.mjs +55 -57
- package/esm2022/lib/models/property/index.mjs +1 -2
- package/esm2022/lib/models/property/property-category-movement.mjs +5 -1
- package/esm2022/lib/models/property/property-valuation.mjs +1 -4
- package/esm2022/lib/models/property/property.mjs +15 -26
- package/esm2022/lib/services/data.service.mjs +2 -3
- package/esm2022/lib/services/event/sse.service.mjs +2 -2
- package/esm2022/lib/services/http/address/address.service.mjs +2 -2
- package/esm2022/lib/services/http/bank/bank-account/bank-account.service.mjs +8 -7
- package/esm2022/lib/services/http/bank/bank-connection/bank-connection.service.mjs +11 -20
- package/esm2022/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +11 -6
- package/esm2022/lib/services/http/bank/bank.service.mjs +1 -2
- package/esm2022/lib/services/http/bank/basiq/basiq.service.mjs +7 -7
- package/esm2022/lib/services/http/budget/budget.service.mjs +1 -2
- package/esm2022/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +1 -2
- package/esm2022/lib/services/http/chat/chat.service.mjs +11 -13
- package/esm2022/lib/services/http/chat/message-document.service.mjs +13 -9
- package/esm2022/lib/services/http/chat/message.service.mjs +9 -41
- package/esm2022/lib/services/http/client/capital-gain/annual-client-details.service.mjs +1 -2
- package/esm2022/lib/services/http/depreciation/depreciation.service.mjs +6 -5
- package/esm2022/lib/services/http/document/document.service.mjs +1 -2
- package/esm2022/lib/services/http/file/file.service.mjs +1 -2
- package/esm2022/lib/services/http/firm/client-income/client-income-types.service.mjs +1 -2
- package/esm2022/lib/services/http/firm/client-invite/client-invite.service.mjs +17 -31
- package/esm2022/lib/services/http/firm/client-movement/client-movement.service.mjs +21 -25
- package/esm2022/lib/services/http/firm/firm.service.mjs +2 -2
- package/esm2022/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +1 -1
- package/esm2022/lib/services/http/holding/holding-sale.service.mjs +1 -2
- package/esm2022/lib/services/http/holding/holding-type.service.mjs +1 -2
- package/esm2022/lib/services/http/holding/holding.service.mjs +12 -8
- package/esm2022/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +12 -7
- package/esm2022/lib/services/http/income-source/income-source.service.mjs +12 -7
- package/esm2022/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +12 -10
- package/esm2022/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +12 -10
- package/esm2022/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +1 -1
- package/esm2022/lib/services/http/loan/loan.service.mjs +14 -9
- package/esm2022/lib/services/http/property/borrowing-report/borrowing-report.service.mjs +1 -2
- package/esm2022/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +6 -4
- package/esm2022/lib/services/http/property/property-document/property-document.service.mjs +2 -28
- package/esm2022/lib/services/http/property/property-share/property-share.service.mjs +12 -7
- package/esm2022/lib/services/http/property/property-valuation/property-valuation.service.mjs +5 -16
- package/esm2022/lib/services/http/property/property.service.mjs +26 -50
- package/esm2022/lib/services/http/rest/rest-old.service.mjs +13 -19
- package/esm2022/lib/services/http/rest/rest.service.mjs +53 -34
- package/esm2022/lib/services/http/service-notification/service-notification.service.mjs +16 -18
- package/esm2022/lib/services/http/setup-item/setup-item.service.mjs +1 -2
- package/esm2022/lib/services/http/sole/bas-report/bas-report.service.mjs +1 -2
- package/esm2022/lib/services/http/sole/sole-business/sole-business.service.mjs +2 -4
- package/esm2022/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +1 -2
- package/esm2022/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +1 -2
- package/esm2022/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +12 -8
- package/esm2022/lib/services/http/sole/sole-contact/sole-contact.service.mjs +1 -2
- package/esm2022/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +7 -7
- package/esm2022/lib/services/http/sole/sole-details/sole-details.service.mjs +2 -2
- package/esm2022/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +12 -9
- package/esm2022/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +1 -2
- package/esm2022/lib/services/http/subscription/service-payment/service-payment.service.mjs +1 -2
- package/esm2022/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +10 -27
- package/esm2022/lib/services/http/subscription/service-price/service-price.service.mjs +1 -2
- package/esm2022/lib/services/http/subscription/service-product/service-product.service.mjs +1 -2
- package/esm2022/lib/services/http/subscription/service-subscription/subscription.service.mjs +11 -28
- package/esm2022/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +12 -7
- package/esm2022/lib/services/http/tax-review/tax-review.service.mjs +11 -6
- package/esm2022/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
- package/esm2022/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +1 -2
- package/esm2022/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +11 -6
- package/esm2022/lib/services/http/transaction/transaction.service.mjs +6 -7
- package/esm2022/lib/services/http/tutorial-video/tutorial-video.service.mjs +1 -1
- package/esm2022/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +1 -2
- package/esm2022/lib/services/http/user/user-event-type/user-event-type.service.mjs +1 -2
- package/esm2022/lib/services/http/user/user.service.mjs +20 -17
- package/esm2022/lib/services/http/vehicle/vehicle-claim-details.service.mjs +5 -6
- package/esm2022/lib/services/http/vehicle/vehicle-claim.service.mjs +1 -1
- package/esm2022/lib/services/property/property-calculation/property-calculation.service.mjs +2 -3
- package/fesm2022/taxtank-core.mjs +747 -720
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/lib/collections/collection.d.ts +2 -1
- package/lib/collections/property/index.d.ts +1 -0
- package/lib/collections/property/property-category-movement.collection.d.ts +5 -1
- package/lib/collections/property/property-valuation.collection.d.ts +4 -0
- package/lib/collections/property/property.collection.d.ts +12 -16
- package/lib/db/Models/firm/client-movement.d.ts +2 -2
- package/lib/db/Models/property/property.d.ts +1 -0
- package/lib/db/Models/user/registration-invite.d.ts +1 -0
- package/lib/forms/property/index.d.ts +4 -0
- package/lib/forms/property/property-add.form.d.ts +16 -0
- package/lib/forms/property/property-category-movement-form.d.ts +6 -0
- package/lib/forms/property/property-forecast.form.d.ts +13 -0
- package/lib/forms/property/property-share.form.d.ts +8 -0
- package/lib/forms/property/property-valuation.form.d.ts +1 -1
- package/lib/models/client/client-movement.d.ts +2 -2
- package/lib/models/event/app-event-type.enum.d.ts +54 -56
- package/lib/models/property/index.d.ts +0 -1
- package/lib/models/property/property-category-movement.d.ts +1 -0
- package/lib/models/property/property-valuation.d.ts +0 -1
- package/lib/models/property/property.d.ts +5 -7
- package/lib/services/data.service.d.ts +1 -1
- package/lib/services/event/sse.service.d.ts +1 -1
- package/lib/services/http/bank/bank-account/bank-account.service.d.ts +1 -1
- package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +3 -11
- package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +2 -0
- package/lib/services/http/bank/bank.service.d.ts +0 -1
- package/lib/services/http/budget/budget.service.d.ts +0 -1
- package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +0 -1
- package/lib/services/http/chat/chat.service.d.ts +3 -7
- package/lib/services/http/chat/message-document.service.d.ts +2 -1
- package/lib/services/http/chat/message.service.d.ts +3 -19
- package/lib/services/http/client/capital-gain/annual-client-details.service.d.ts +0 -1
- package/lib/services/http/depreciation/depreciation.service.d.ts +2 -1
- package/lib/services/http/document/document.service.d.ts +0 -1
- package/lib/services/http/file/file.service.d.ts +0 -1
- package/lib/services/http/firm/client-income/client-income-types.service.d.ts +0 -1
- package/lib/services/http/firm/client-invite/client-invite.service.d.ts +5 -6
- package/lib/services/http/firm/client-movement/client-movement.service.d.ts +7 -10
- package/lib/services/http/holding/holding-sale.service.d.ts +0 -1
- package/lib/services/http/holding/holding-type.service.d.ts +0 -1
- package/lib/services/http/holding/holding.service.d.ts +2 -1
- package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +2 -0
- package/lib/services/http/income-source/income-source.service.d.ts +4 -2
- package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +4 -2
- package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +4 -2
- package/lib/services/http/loan/loan.service.d.ts +2 -0
- package/lib/services/http/property/borrowing-report/borrowing-report.service.d.ts +0 -1
- package/lib/services/http/property/property-document/property-document.service.d.ts +1 -10
- package/lib/services/http/property/property-share/property-share.service.d.ts +2 -0
- package/lib/services/http/property/property-valuation/property-valuation.service.d.ts +2 -7
- package/lib/services/http/property/property.service.d.ts +8 -17
- package/lib/services/http/rest/rest-old.service.d.ts +4 -10
- package/lib/services/http/rest/rest.service.d.ts +7 -20
- package/lib/services/http/service-notification/service-notification.service.d.ts +9 -10
- package/lib/services/http/setup-item/setup-item.service.d.ts +1 -2
- package/lib/services/http/sole/bas-report/bas-report.service.d.ts +0 -1
- package/lib/services/http/sole/sole-business/sole-business.service.d.ts +0 -1
- package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts +0 -1
- package/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.d.ts +0 -1
- package/lib/services/http/sole/sole-business-loss/sole-business-loss.service.d.ts +3 -2
- package/lib/services/http/sole/sole-contact/sole-contact.service.d.ts +0 -1
- package/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.d.ts +3 -3
- package/lib/services/http/sole/sole-invoice/sole-invoice.service.d.ts +3 -2
- package/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.d.ts +0 -1
- package/lib/services/http/subscription/service-payment/service-payment.service.d.ts +0 -1
- package/lib/services/http/subscription/service-payment-method/service-payment-method.service.d.ts +4 -8
- package/lib/services/http/subscription/service-price/service-price.service.d.ts +0 -1
- package/lib/services/http/subscription/service-product/service-product.service.d.ts +0 -1
- package/lib/services/http/subscription/service-subscription/subscription.service.d.ts +5 -6
- package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +3 -1
- package/lib/services/http/tax-review/tax-review.service.d.ts +2 -0
- package/lib/services/http/tax-summary/tax-summary.service.d.ts +2 -2
- package/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.d.ts +0 -1
- package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +2 -0
- package/lib/services/http/transaction/transaction.service.d.ts +1 -3
- package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +0 -1
- package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +0 -1
- package/lib/services/http/user/user.service.d.ts +4 -6
- package/lib/services/http/vehicle/vehicle-claim-details.service.d.ts +1 -1
- package/lib/services/property/property-calculation/property-calculation.service.d.ts +6 -6
- package/package.json +1 -1
- package/esm2022/lib/models/property/share-filter-options.enum.mjs +0 -11
- package/lib/models/property/share-filter-options.enum.d.ts +0 -9
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Property as PropertyBase } from '../../db/Models/property/property';
|
|
3
|
+
import { PropertyShare } from '../../db/Models';
|
|
3
4
|
import { PropertySubscription } from './property-subscription';
|
|
4
5
|
import { Exclude, Type } from 'class-transformer';
|
|
5
6
|
import { Address } from '../address';
|
|
6
7
|
import { PropertyCategory } from './property-category';
|
|
7
8
|
import { PropertyValuation } from './property-valuation';
|
|
8
9
|
import { PropertyForecast } from './property-forecast';
|
|
9
|
-
import { PropertyCategoryMovement } from './property-category-movement';
|
|
10
10
|
import { User } from '../user';
|
|
11
|
-
import { FinancialYear } from '../financial-year';
|
|
12
11
|
import { TaxExemptionEnum } from '../../db/Enums/property/property-sale/tax-exemption.enum';
|
|
13
12
|
import { PropertyCategoryListEnum } from '../../db/Enums/property/property-category-list.enum';
|
|
14
13
|
import moment from 'moment';
|
|
15
14
|
import { PropertySaleTaxExemptionMetaFieldCollection } from '../../collections';
|
|
16
15
|
import round from 'lodash/round';
|
|
17
16
|
import { AppFile } from '../file';
|
|
17
|
+
import { PropertyCategoryMovement } from './property-category-movement';
|
|
18
18
|
/**
|
|
19
19
|
* propertySale docs - https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4209508353/Property+Sold+button
|
|
20
20
|
*/
|
|
@@ -39,11 +39,8 @@ export class Property extends PropertyBase {
|
|
|
39
39
|
get capitalCostsTotalAmount() {
|
|
40
40
|
return this.stampDuty + this.legalFees + this.otherCapitalCosts;
|
|
41
41
|
}
|
|
42
|
-
get currentYearValuations() {
|
|
43
|
-
return this.valuations.filter((valuation) => valuation.isCurrentYear());
|
|
44
|
-
}
|
|
45
42
|
get marketValue() {
|
|
46
|
-
return this.
|
|
43
|
+
return this.valuation?.marketValue || 0;
|
|
47
44
|
}
|
|
48
45
|
get currentYearForecast() {
|
|
49
46
|
return this.forecasts.find((forecast) => forecast.isCurrentYear());
|
|
@@ -57,18 +54,12 @@ export class Property extends PropertyBase {
|
|
|
57
54
|
get forecastedCashPosition() {
|
|
58
55
|
return this.currentYearForecast?.cashPosition || 0;
|
|
59
56
|
}
|
|
60
|
-
get firstForecastYear() {
|
|
61
|
-
return this.forecasts.reduce((min, forecast) => min > forecast.financialYear ? forecast.financialYear : min, new FinancialYear().year);
|
|
62
|
-
}
|
|
63
57
|
get marketValueGrowth() {
|
|
64
58
|
return (this.marketValue - this.purchasePrice) / this.marketValue;
|
|
65
59
|
}
|
|
66
60
|
get myShare() {
|
|
67
61
|
return this.shares.find((share) => share.user.id === +localStorage.getItem('userId'));
|
|
68
62
|
}
|
|
69
|
-
get actualValuation() {
|
|
70
|
-
return this.valuations.reduce((maxDateValuation, valuation) => maxDateValuation.date > valuation.date ? maxDateValuation : valuation, this.valuations[0]);
|
|
71
|
-
}
|
|
72
63
|
get claimPercent() {
|
|
73
64
|
return this.currentYearForecast.claimPercent;
|
|
74
65
|
}
|
|
@@ -81,14 +72,6 @@ export class Property extends PropertyBase {
|
|
|
81
72
|
get shareRatio() {
|
|
82
73
|
return this.myShare.percent / 100;
|
|
83
74
|
}
|
|
84
|
-
get previousCategory() {
|
|
85
|
-
let previousCategory;
|
|
86
|
-
const movementsCount = this.categoryMovements.length;
|
|
87
|
-
if (movementsCount > 1) {
|
|
88
|
-
previousCategory = this.categoryMovements[movementsCount - 2].propertyCategory;
|
|
89
|
-
}
|
|
90
|
-
return previousCategory;
|
|
91
|
-
}
|
|
92
75
|
getCurrentSubscription() {
|
|
93
76
|
// always return first element because subscriptions array contains only one element
|
|
94
77
|
return this.subscriptions[0];
|
|
@@ -232,6 +215,9 @@ __decorate([
|
|
|
232
215
|
__decorate([
|
|
233
216
|
Type(() => PropertyCategory)
|
|
234
217
|
], Property.prototype, "category", void 0);
|
|
218
|
+
__decorate([
|
|
219
|
+
Type(() => PropertyCategoryMovement)
|
|
220
|
+
], Property.prototype, "categoryMovements", void 0);
|
|
235
221
|
__decorate([
|
|
236
222
|
Type(() => Number)
|
|
237
223
|
], Property.prototype, "stampDuty", void 0);
|
|
@@ -241,15 +227,18 @@ __decorate([
|
|
|
241
227
|
__decorate([
|
|
242
228
|
Type(() => Number)
|
|
243
229
|
], Property.prototype, "otherCapitalCosts", void 0);
|
|
244
|
-
__decorate([
|
|
245
|
-
Type(() => PropertyValuation)
|
|
246
|
-
], Property.prototype, "valuations", void 0);
|
|
247
230
|
__decorate([
|
|
248
231
|
Type(() => PropertyForecast)
|
|
249
232
|
], Property.prototype, "forecasts", void 0);
|
|
250
233
|
__decorate([
|
|
251
|
-
Type(() =>
|
|
252
|
-
], Property.prototype, "
|
|
234
|
+
Type(() => PropertyShare)
|
|
235
|
+
], Property.prototype, "shares", void 0);
|
|
236
|
+
__decorate([
|
|
237
|
+
Type(() => PropertyValuation)
|
|
238
|
+
], Property.prototype, "valuations", void 0);
|
|
239
|
+
__decorate([
|
|
240
|
+
Type(() => PropertyValuation)
|
|
241
|
+
], Property.prototype, "valuation", void 0);
|
|
253
242
|
__decorate([
|
|
254
243
|
Type(() => User)
|
|
255
244
|
], Property.prototype, "user", void 0);
|
|
@@ -262,4 +251,4 @@ __decorate([
|
|
|
262
251
|
__decorate([
|
|
263
252
|
Exclude()
|
|
264
253
|
], Property.prototype, "documentFile", void 0);
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdsQzs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQUN4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cm9wZXJ0eUJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB9IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5IH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZhbHVhdGlvbiB9IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5Rm9yZWNhc3QgfSBmcm9tICcuL3Byb3BlcnR5LWZvcmVjYXN0JztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IFRheEV4ZW1wdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24uZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi9wcm9wZXJ0eS1zYWxlJztcbmltcG9ydCB7IHVuaXRPZlRpbWUgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiwgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuaW1wb3J0IHsgQXBwRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHsgTXBUcmFja2FibGVJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBwcm9wZXJ0eVNhbGUgZG9jcyAtIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDIwOTUwODM1My9Qcm9wZXJ0eStTb2xkK2J1dHRvblxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgZXh0ZW5kcyBQcm9wZXJ0eUJhc2UgaW1wbGVtZW50cyBNcFRyYWNrYWJsZUludGVyZmFjZSB7XG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBhY3F1aXJlZCBiZWZvcmUgMjAgU2VwdGVtYmVyIDE5ODUgd2lsbCBnZW5lcmFsbHkgYmUgdHJlYXRlZCBhcyBwcmUtQ2FwaXRhbCBHYWlucyBUYXggKENHVCkgYXNzZXRzLlxuICAgKiBBbnkgYXNzZXRzIGFjcXVpcmVkIGJlZm9yZSB0aGlzIGRheSBhcmUgQ0dUIGV4ZW1wdCAoYmVjYXVzZSB0aGUgdGF4IGRpZG4ndCBleGlzdCBiZWZvcmUgdGhpcyBkYXRlKS5cbiAgICovXG4gIHN0YXRpYyBwcmVDR1RBc3NldERhdGU6IERhdGUgPSBuZXcgRGF0ZSgxOTg1LCA5LCAyMCk7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICAgIHB1cmNoYXNlUHJpY2U6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gICAgZ3Jvd3RoUGVyY2VudDogbnVtYmVyXG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgICBjb250cmFjdERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgICBzZXR0bGVtZW50RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICAgIGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeSlcbiAgICBjYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gICAgc3RhbXBEdXR5PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgICBsZWdhbEZlZXM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICAgIG90aGVyQ2FwaXRhbENvc3RzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5VmFsdWF0aW9uKVxuICAgIHZhbHVhdGlvbnM6IFByb3BlcnR5VmFsdWF0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlGb3JlY2FzdClcbiAgICBmb3JlY2FzdHM6IFByb3BlcnR5Rm9yZWNhc3RbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQpXG4gICAgY2F0ZWdvcnlNb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gICAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVN1YnNjcmlwdGlvbilcbiAgICBzdWJzY3JpcHRpb25zOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gICAgZmlsZTogQXBwRmlsZTtcblxuICAvLyBjb3VsZCBiZSBGaWxlIHdoZW4ganVzdCBhZGRlZCBuZXcgaW1hZ2VcbiAgQEV4Y2x1ZGUoKVxuICAgIGRvY3VtZW50RmlsZTogRmlsZTtcblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFkZHJlc3MubmFtZTtcbiAgfVxuXG4gIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN1YnNjcmlwdGlvbnM/Lmxlbmd0aDtcbiAgfVxuXG4gIGlzT3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyk7XG4gIH1cblxuICBpc1NvbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5teVNoYXJlPy5zYWxlO1xuICB9XG5cbiAgZ2V0IGNhcGl0YWxDb3N0c1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3RhbXBEdXR5ICsgdGhpcy5sZWdhbEZlZXMgKyB0aGlzLm90aGVyQ2FwaXRhbENvc3RzO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyVmFsdWF0aW9ucygpOiBQcm9wZXJ0eVZhbHVhdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb25zLmZpbHRlcigodmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbik6IGJvb2xlYW4gPT4gdmFsdWF0aW9uLmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3R1YWxWYWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZENhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNhc2hQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZpcnN0Rm9yZWNhc3RZZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLnJlZHVjZSgobWluOiBudW1iZXIsIGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogbnVtYmVyID0+IG1pbiA+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPyBmb3JlY2FzdC5maW5hbmNpYWxZZWFyIDogbWluLCBuZXcgRmluYW5jaWFsWWVhcigpLnllYXIpO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlR3Jvd3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLm1hcmtldFZhbHVlIC0gdGhpcy5wdXJjaGFzZVByaWNlKSAvIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGFjdHVhbFZhbHVhdGlvbigpOiBQcm9wZXJ0eVZhbHVhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWF0aW9ucy5yZWR1Y2UoKG1heERhdGVWYWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uLCB2YWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uKSA9PiBtYXhEYXRlVmFsdWF0aW9uLmRhdGUgPiB2YWx1YXRpb24uZGF0ZSA/IG1heERhdGVWYWx1YXRpb24gOiB2YWx1YXRpb24sIHRoaXMudmFsdWF0aW9uc1swXSk7XG4gIH1cblxuICBnZXQgY2xhaW1QZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5jbGFpbVBlcmNlbnQ7XG4gIH1cblxuICBnZXQgY2xhaW1Db2VmZmljaWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltUGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIGdldCBzaGFyZVBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQ7XG4gIH1cblxuICBnZXQgc2hhcmVSYXRpbygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm15U2hhcmUucGVyY2VudCAvIDEwMDtcbiAgfVxuXG4gIGdldCBwcmV2aW91c0NhdGVnb3J5KCk6IFByb3BlcnR5Q2F0ZWdvcnkge1xuICAgIGxldCBwcmV2aW91c0NhdGVnb3J5OiBQcm9wZXJ0eUNhdGVnb3J5O1xuXG4gICAgY29uc3QgbW92ZW1lbnRzQ291bnQ6IG51bWJlciA9IHRoaXMuY2F0ZWdvcnlNb3ZlbWVudHMubGVuZ3RoO1xuXG4gICAgaWYgKG1vdmVtZW50c0NvdW50ID4gMSkge1xuICAgICAgcHJldmlvdXNDYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcnlNb3ZlbWVudHNbbW92ZW1lbnRzQ291bnQgLSAyXS5wcm9wZXJ0eUNhdGVnb3J5O1xuICAgIH1cblxuICAgIHJldHVybiBwcmV2aW91c0NhdGVnb3J5O1xuICB9XG5cbiAgZ2V0Q3VycmVudFN1YnNjcmlwdGlvbigpOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB7XG4gICAgLy8gYWx3YXlzIHJldHVybiBmaXJzdCBlbGVtZW50IGJlY2F1c2Ugc3Vic2NyaXB0aW9ucyBhcnJheSBjb250YWlucyBvbmx5IG9uZSBlbGVtZW50XG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uc1swXTtcbiAgfVxuXG4gIGdldEZvcmVjYXN0QnlZZWFyKHllYXI6IG51bWJlcik6IFByb3BlcnR5Rm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0geWVhcik7XG4gIH1cblxuICBnZXQgaXNTaGFyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVzLmxlbmd0aCA+IDE7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gY29uc2lkZXIgdG8gbW92ZSBtZXRob2RzIHJlbGF0ZWQgd2l0aCBwcm9wZXJ0eVNhbGUgdG8gc2VwYXJhdGVkIGNsYXNzLCBzaW5jZSB1c2VkIGp1c3QgaW4gb25lIG1vZHVsZSB5ZXRcbiAgICogcHVyY2hhc2UgY29zdHMgLSBjbGFpbWVkIGNvc3RzLCBleGNlcHQgYHBwciB0byBpbnZlc3RtZW50YCBleGVtcHRpb24sXG4gICAqIGluIHRoYXQgY2FzZSBpdCdzIGVxdWFsIHRvIG1hcmtldCB2YWx1ZSwgd2hlbiBwcm9wZXJ0eSBiZWNhbWUgYW4gaW52ZXN0bWVudCBwcm9wZXJ0eVxuICAgKi9cbiAgY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXJrZXRWYWx1ZTogbnVtYmVyID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKS5nZXRNYXJrZXRWYWx1ZSgpO1xuICAgIGlmIChtYXJrZXRWYWx1ZSkge1xuICAgICAgcmV0dXJuIG1hcmtldFZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnB1cmNoYXNlUHJpY2UgKyB0aGlzLmNhcGl0YWxDb3N0c1RvdGFsQW1vdW50ICsgc2FsZS5ob2xkaW5nQ29zdHMgKyBzYWxlLnN0cnVjdHVyYWxJbXByb3ZlbWVudHNXRFYgLSBzYWxlLmJ1aWxkaW5nQXRDb3N0Q2xhaW1lZDtcbiAgfVxuXG4gIGNhbGN1bGF0ZUdyb3NzQ2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcm91bmQoKHNhbGUubmV0UHJpY2UgLSB0aGlzLmNhbGN1bGF0ZUNvc3RCYXNlKHNhbGUpKSAqIHRoaXMuZ2V0UGFydGlhbENHVEV4ZW1wdGlvblJhdGlvKHNhbGUpICogdGhpcy5zaGFyZVJhdGlvLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXQgY2FwaXRhbCBnYWluIGluY2x1ZGVzIHRheCBleGVtcHRpb25cbiAgICovXG4gIGNhbGN1bGF0ZU5ldENhcGl0YWxHYWluKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiBzYWxlLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cblxuICAvKipcbiAgICogZ3Vlc3MgdGF4IGV4ZW1wdGlvbiBiYXNlZCBvbiBwcm9wZXJ0eSBkZXRhaWxzXG4gICAqL1xuICBnZXRDR1RFeGVtcHRpb24oc2FsZTogUHJvcGVydHlTYWxlKTogVGF4RXhlbXB0aW9uRW51bSB7XG4gICAgaWYgKHNhbGUudGF4RXhlbXB0aW9uKSB7XG4gICAgICByZXR1cm4gc2FsZS50YXhFeGVtcHRpb24uaWQ7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAvLyBleGVtcHRpb24gZm9yIG1haW4gcmVzaWRlbmNlIHByb3BlcnRpZXNcbiAgICAgIGNhc2UgdGhpcy5jYXRlZ29yeS5pZCA9PT0gUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtLk9XTkVSX09DQ1VQSUVEOlxuICAgICAgICByZXR1cm4gVGF4RXhlbXB0aW9uRW51bS5QUFI7XG4gICAgICAvLyBleGVtcHRpb24gZm9yIGludmVzdG1lbnQgcHJvcGVydGllcyBvd25lZCBmb3IgYXQgbGVhc3Qgb25lIHllYXJcbiAgICAgIGNhc2UgdGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKHNhbGUpOlxuICAgICAgICByZXR1cm4gVGF4RXhlbXB0aW9uRW51bS5PTkVfWUVBUl9SVUxFO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFydGlhbENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWV0YUZpZWxkczogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcyk7XG5cbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLklOVkVTVE1FTlRfVE9fUFBSOlxuICAgICAgICBjb25zdCBvd25lcnNoaXBEYXlzID0gdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlKTtcbiAgICAgICAgcmV0dXJuIChvd25lcnNoaXBEYXlzIC0gbWV0YUZpZWxkcy5nZXRQUFJEYXlzKCkpIC8gb3duZXJzaGlwRGF5cztcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIG1ldGFGaWVsZHMuZ2V0Q2xhaW1QZXJjZW50KCkgLyAxMDA7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdGF4IGV4ZW1wdGlvbiBjYW4gcmVkdWNlIGNndCBmcm9tIDEwMCUgdG8gbGVzcyAodXAgdG8gemVybylcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgc3dpdGNoIChzYWxlLnRheEV4ZW1wdGlvbj8uaWQpIHtcbiAgICAgIC8vIDUwJSBleGVtcHRpb24gZm9yIGludmVzdG1lbnRzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU6XG4gICAgICAgIHJldHVybiAwLjU7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIHJldHVybiB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSkgPyAwLjUgOiAxO1xuICAgICAgLy8gZnVsbCBleGVtcHRpb25cbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uU0lYX1lFQVJTX1JVTEU6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uVFJBTlNGRVI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT1RIRVI6XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgLy8gbm8gZXhlbXB0aW9uXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogaW4gY2d0IHJlcG9ydCB3ZSBhcHBseSBsb3NzZXMsIHdoaWNoIGNhbiByZXNldCAxIHllYXIgcnVsZSAoaW4gY2FzZSBpZiB0aGVyZSBpcyBubyBwcm9maXQgYWZ0ZXIgbG9zcylcbiAgICovXG4gIGlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZTogUHJvcGVydHlTYWxlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbiA+IDAgJiYgdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlLCAneWVhcnMnKSA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQ0dUIGlzIG5vdCBhcHBsaWNhYmxlIGZvciBwcm9wZXJ0aWVzIGFjcXVpcmVkIGJlZm9yZSAyMC4wOS4xOTg1ICh0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChcIkNhcGl0YWwgZ2FpbnMgb3IgbG9zc2VzXCIgc2VjdGlvbilcbiAgICovXG4gIGlzQ0dUQXBwbGljYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cmFjdERhdGUgPj0gUHJvcGVydHkucHJlQ0dUQXNzZXREYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIG93bmVyc2hpcCBkdXJhdGlvbiBmcm9tIHB1cmNoYXNlIHRpbGwgc2FsZVxuICAgKi9cbiAgZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZTogUHJvcGVydHlTYWxlLCB1bml0T2ZUaW1lOiB1bml0T2ZUaW1lLkRpZmYgPSAnZGF5cycpOiBudW1iZXIge1xuICAgIHJldHVybiBtb21lbnQoc2FsZS5kYXRlKS5kaWZmKG1vbWVudCh0aGlzLmNvbnRyYWN0RGF0ZSksIHVuaXRPZlRpbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRheCBQb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2UgLSBJbnRlcmVzdCAtIERlcHJlY2lhdGlvblxuICAgKiBXaGVyZSAoSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0KSBpcyBjYXNoIHBvc2l0aW9uLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzQxNTkyOC9EYXNoYm9hcmQrUHJvcGVydHlcbiAgICovXG4gIGdldFRheFBvc2l0aW9uKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb25zLmdyb3NzQ2xhaW1BbW91bnQgLSBNYXRoLmFicyhkZXByZWNpYXRpb25zLmNsYWltQW1vdW50KTtcbiAgfVxuXG4gIGdldCBtb250aGx5SW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5pbmNvbWUgLyAxMjtcbiAgfVxuXG4gIGdldCBtb250aGx5RXhwZW5zZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuZXhwZW5zZSAvIDEyO1xuICB9XG5cbiAgZ2V0TXBEYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnQ2F0ZWdvcnknOiB0aGlzLmNhdGVnb3J5Lm5hbWUsXG4gICAgICAnVGF4YWJsZSc6IHRoaXMuY2F0ZWdvcnkuaXNUYXhJbmNsdXNpdmUgPyAnWWVzJyA6ICdObycsXG4gICAgICAnU2hhcmVkJzogdGhpcy5pc1NoYXJlZCA/ICdZZXMnIDogJ05vJyxcbiAgICAgICdPd25lcnNoaXAgJSc6IGAke3RoaXMubXlTaGFyZS5wZXJjZW50fSVgXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RTs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQUN4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QUMsSUFBSSxDQUFDO3NDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7K0NBQ0s7QUFHdEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3NDQUNOO0FBR2Q7SUFEQyxPQUFPLEVBQUU7OENBQ1MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eSBhcyBQcm9wZXJ0eUJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB9IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEV4Y2x1ZGUsIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5IH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZhbHVhdGlvbiB9IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5Rm9yZWNhc3QgfSBmcm9tICcuL3Byb3BlcnR5LWZvcmVjYXN0JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IFRheEV4ZW1wdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24uZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi9wcm9wZXJ0eS1zYWxlJztcbmltcG9ydCB7IHVuaXRPZlRpbWUgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiwgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCByb3VuZCBmcm9tICdsb2Rhc2gvcm91bmQnO1xuaW1wb3J0IHsgQXBwRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHsgTXBUcmFja2FibGVJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuXG4vKipcbiAqIHByb3BlcnR5U2FsZSBkb2NzIC0gaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80MjA5NTA4MzUzL1Byb3BlcnR5K1NvbGQrYnV0dG9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eSBleHRlbmRzIFByb3BlcnR5QmFzZSBpbXBsZW1lbnRzIE1wVHJhY2thYmxlSW50ZXJmYWNlIHtcbiAgLyoqXG4gICAqIFByb3BlcnR5IGFjcXVpcmVkIGJlZm9yZSAyMCBTZXB0ZW1iZXIgMTk4NSB3aWxsIGdlbmVyYWxseSBiZSB0cmVhdGVkIGFzIHByZS1DYXBpdGFsIEdhaW5zIFRheCAoQ0dUKSBhc3NldHMuXG4gICAqIEFueSBhc3NldHMgYWNxdWlyZWQgYmVmb3JlIHRoaXMgZGF5IGFyZSBDR1QgZXhlbXB0IChiZWNhdXNlIHRoZSB0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKi9cbiAgc3RhdGljIHByZUNHVEFzc2V0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODUsIDksIDIwKTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHB1cmNoYXNlUHJpY2U6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGdyb3d0aFBlcmNlbnQ6IG51bWJlclxuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNvbnRyYWN0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBzZXR0bGVtZW50RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnkpXG4gIGNhdGVnb3J5OiBQcm9wZXJ0eUNhdGVnb3J5O1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudClcbiAgY2F0ZWdvcnlNb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgc3RhbXBEdXR5PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgbGVnYWxGZWVzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgb3RoZXJDYXBpdGFsQ29zdHM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlGb3JlY2FzdClcbiAgZm9yZWNhc3RzOiBQcm9wZXJ0eUZvcmVjYXN0W107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlTaGFyZSlcbiAgc2hhcmVzOiBQcm9wZXJ0eVNoYXJlW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbnM6IFByb3BlcnR5VmFsdWF0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb247XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVN1YnNjcmlwdGlvbilcbiAgc3Vic2NyaXB0aW9uczogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIEBFeGNsdWRlKClcbiAgZG9jdW1lbnRGaWxlOiBGaWxlO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzcy5uYW1lO1xuICB9XG5cbiAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3Vic2NyaXB0aW9ucz8ubGVuZ3RoO1xuICB9XG5cbiAgaXNPd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKTtcbiAgfVxuXG4gIGlzU29sZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm15U2hhcmU/LnNhbGU7XG4gIH1cblxuICBnZXQgY2FwaXRhbENvc3RzVG90YWxBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGFtcER1dHkgKyB0aGlzLmxlZ2FsRmVlcyArIHRoaXMub3RoZXJDYXBpdGFsQ29zdHM7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZENhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNhc2hQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlR3Jvd3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLm1hcmtldFZhbHVlIC0gdGhpcy5wdXJjaGFzZVByaWNlKSAvIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgZ2V0IGNsYWltQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNoYXJlUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLmhvbGRpbmdDb3N0cyArIHNhbGUuc3RydWN0dXJhbEltcHJvdmVtZW50c1dEViAtIHNhbGUuYnVpbGRpbmdBdENvc3RDbGFpbWVkO1xuICB9XG5cbiAgY2FsY3VsYXRlR3Jvc3NDYXBpdGFsR2FpbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCgoc2FsZS5uZXRQcmljZSAtIHRoaXMuY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZSkpICogdGhpcy5nZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiB0aGlzLnNoYXJlUmF0aW8sIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gaW5jbHVkZXMgdGF4IGV4ZW1wdGlvblxuICAgKi9cbiAgY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhRmllbGRzOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICAgIGNvbnN0IG93bmVyc2hpcERheXMgPSB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUpO1xuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhRmllbGRzLmdldFBQUkRheXMoKSkgLyBvd25lcnNoaXBEYXlzO1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUl9UT19JTlZFU1RNRU5UOlxuICAgICAgICByZXR1cm4gbWV0YUZpZWxkcy5nZXRDbGFpbVBlcmNlbnQoKSAvIDEwMDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlKSA/IDAuNSA6IDE7XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBpbiBjZ3QgcmVwb3J0IHdlIGFwcGx5IGxvc3Nlcywgd2hpY2ggY2FuIHJlc2V0IDEgeWVhciBydWxlIChpbiBjYXNlIGlmIHRoZXJlIGlzIG5vIHByb2ZpdCBhZnRlciBsb3NzKVxuICAgKi9cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NhcGl0YWxHYWluID4gMCAmJiB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUsICd5ZWFycycpID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDR1QgaXMgbm90IGFwcGxpY2FibGUgZm9yIHByb3BlcnRpZXMgYWNxdWlyZWQgYmVmb3JlIDIwLjA5LjE5ODUgKHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgaXNDR1RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGF0ZSA+PSBQcm9wZXJ0eS5wcmVDR1RBc3NldERhdGU7XG4gIH1cblxuICAvKipcbiAgICogb3duZXJzaGlwIGR1cmF0aW9uIGZyb20gcHVyY2hhc2UgdGlsbCBzYWxlXG4gICAqL1xuICBnZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUsIHVuaXRPZlRpbWU6IHVuaXRPZlRpbWUuRGlmZiA9ICdkYXlzJyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vbWVudChzYWxlLmRhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmluY29tZSAvIDEyO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlFeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5leHBlbnNlIC8gMTI7XG4gIH1cblxuICBnZXRNcERhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdDYXRlZ29yeSc6IHRoaXMuY2F0ZWdvcnkubmFtZSxcbiAgICAgICdUYXhhYmxlJzogdGhpcy5jYXRlZ29yeS5pc1RheEluY2x1c2l2ZSA/ICdZZXMnIDogJ05vJyxcbiAgICAgICdTaGFyZWQnOiB0aGlzLmlzU2hhcmVkID8gJ1llcycgOiAnTm8nLFxuICAgICAgJ093bmVyc2hpcCAlJzogYCR7dGhpcy5teVNoYXJlLnBlcmNlbnR9JWBcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,8 +9,7 @@ export class DataService {
|
|
|
9
9
|
* @param model Single object or array from which will be created model instance(s)
|
|
10
10
|
*/
|
|
11
11
|
createModelInstance(model) {
|
|
12
|
-
|
|
13
|
-
return plainToClass(this.modelClass, model, { excludePrefixes: ['@'] });
|
|
12
|
+
return plainToClass(this.modelClass, model);
|
|
14
13
|
}
|
|
15
14
|
createCollectionInstance(collectionClass, items) {
|
|
16
15
|
return new collectionClass(items);
|
|
@@ -42,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
42
41
|
providedIn: 'root'
|
|
43
42
|
}]
|
|
44
43
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2RhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7O0FBS2pDLE1BQU0sT0FBZ0IsV0FBVztJQWtCL0I7Ozs7T0FJRztJQUNPLG1CQUFtQixDQUFDLEtBQWE7UUFDekMsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsd0JBQXdCLENBQUMsZUFBd0QsRUFBRSxLQUFjO1FBQ3pHLE9BQU8sSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsSUFBVztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FDeEMsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQ25ELENBQUM7SUFDSixDQUFDOytHQXJEbUIsV0FBVzttSEFBWCxXQUFXLGNBRm5CLE1BQU07OzRGQUVFLFdBQVc7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IGNsb25lIGZyb20gJ2xvZGFzaC9jbG9uZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGFTZXJ2aWNlPEJhc2VNb2RlbCwgTW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsLCBDb2xsZWN0aW9uTW9kZWwgZXh0ZW5kcyBDb2xsZWN0aW9uPE1vZGVsPj4ge1xuICBkYXRhOiBCYXNlTW9kZWxbXTtcblxuICAvKipcbiAgICogTW9kZWwgY2xhc3MgZm9yIGluc3RhbmNlcyBjcmVhdGluZ1xuICAgKi9cbiAgYWJzdHJhY3QgbW9kZWxDbGFzcztcblxuICAvKipcbiAgICogQ29sbGVjdGlvbiBNb2RlbCBjbGFzcyBmb3IgaW5zdGFuY2VzIGNyZWF0aW5nXG4gICAqL1xuICBhYnN0cmFjdCBjb2xsZWN0aW9uQ2xhc3M7XG5cbiAgLyoqXG4gICAqIENhY2hlZCBhcnJheSBvZiBzZXJ2aWNlIGNsYXNzIGluc3RhbmNlc1xuICAgKi9cbiAgcHJvdGVjdGVkIGNhY2hlOiBDb2xsZWN0aW9uTW9kZWw7XG5cbiAgLyoqXG4gICAqIEBUT0RPIHVzZSBleGNsdWRlRXh0cmFuZW91c1ZhbHVlcyB3aGVuIGFsbCBtb2RlbHMgcmVmYWN0b3JlZCAoZXhwb3NlZCBhbGwgbmVlZGVkIHByb3BlcnRpZXMpXG4gICAqIENyZWF0ZSBuZXcgaW5zdGFuY2Ugb2YgY2xhc3NcbiAgICogQHBhcmFtIG1vZGVsIFNpbmdsZSBvYmplY3Qgb3IgYXJyYXkgZnJvbSB3aGljaCB3aWxsIGJlIGNyZWF0ZWQgbW9kZWwgaW5zdGFuY2UocylcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbEluc3RhbmNlKG1vZGVsOiBvYmplY3QpOiBNb2RlbCB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyh0aGlzLm1vZGVsQ2xhc3MsIG1vZGVsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb2xsZWN0aW9uSW5zdGFuY2UoY29sbGVjdGlvbkNsYXNzOiBuZXcgKGl0ZW1zOiBNb2RlbFtdKSA9PiBDb2xsZWN0aW9uTW9kZWwsIGl0ZW1zOiBNb2RlbFtdKTogQ29sbGVjdGlvbk1vZGVsIHtcbiAgICByZXR1cm4gbmV3IGNvbGxlY3Rpb25DbGFzcyhpdGVtcyk7XG4gIH1cblxuICAvKipcbiAgICogbmV2ZXIgcmV0dXJuIGNhY2hlIGRpcmVjdGx5IHRvIHByZXZlbnQgdXBkYXRlXG4gICAqL1xuICBnZXRDYWNoZSgpOiBDb2xsZWN0aW9uTW9kZWwge1xuICAgIHJldHVybiBjbG9uZSh0aGlzLmNhY2hlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXZlciByZXR1cm4gY2FjaGUgZGlyZWN0bHkgdG8gcHJldmVudCB1cGRhdGVcbiAgICovXG4gIGdldENhY2hlRmlyc3QoKTogTW9kZWwge1xuICAgIHJldHVybiBjbG9uZSh0aGlzLmNhY2hlPy5maXJzdCk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gdmlrIGFueVtdIGJlY2F1c2Ugb2YgcHJvYmxlbXMgd2l0aCBiYXNlIG1vZGVscyBleHRlbmRpbmcgYWJzdHJhY3RNb2RlbFxuICAgKi9cbiAgc2V0Q2FjaGUoZGF0YTogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uSW5zdGFuY2UoXG4gICAgICB0aGlzLmNvbGxlY3Rpb25DbGFzcyxcbiAgICAgIGRhdGEubWFwKChpdGVtKSA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoaXRlbSkpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { map } from 'rxjs/operators';
|
|
4
4
|
import { EventSourcePolyfill } from 'event-source-polyfill/src/eventsource.min.js';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../auth
|
|
6
|
+
import * as i1 from "../auth";
|
|
7
7
|
/**
|
|
8
8
|
* server sent events service
|
|
9
9
|
* https://symfony.com/doc/current/mercure.html
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
45
45
|
type: Inject,
|
|
46
46
|
args: ['environment']
|
|
47
47
|
}] }]; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvZXZlbnQvc3NlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQUduRjs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNVLElBQVksRUFDWixVQUFzQixFQUNDLFdBQWdCO1FBRnZDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0MsZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFFakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsRUFBRSxDQUFDLEtBQWE7UUFDZCxNQUFNLEdBQUcsR0FBUSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkgsbUNBQW1DO1FBQ25DLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxNQUFNLEVBQUUsR0FBd0IsSUFBSSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNELE9BQU8sRUFBRTtvQkFDUCxhQUFhLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO2lCQUN0RDthQUNGLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFtQixFQUFRLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7YUFDQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDM0UsQ0FBQztJQUNOLENBQUM7K0dBN0JVLFVBQVUsa0VBSVgsYUFBYTttSEFKWixVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFdmVudFNvdXJjZVBvbHlmaWxsIH0gZnJvbSAnZXZlbnQtc291cmNlLXBvbHlmaWxsL3NyYy9ldmVudHNvdXJjZS5taW4uanMnO1xuaW1wb3J0IHsgSnd0U2VydmljZSB9IGZyb20gJy4uL2F1dGgnO1xuXG4vKipcbiAqIHNlcnZlciBzZW50IGV2ZW50cyBzZXJ2aWNlXG4gKiBodHRwczovL3N5bWZvbnkuY29tL2RvYy9jdXJyZW50L21lcmN1cmUuaHRtbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTc2VTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBqd3RTZXJ2aWNlOiBKd3RTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3QgdG8gdXJsIGZvciBzZXJ2ZXIgZXZlbnRzXG4gICAqL1xuICBvbih0b3BpYzogc3RyaW5nKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICBjb25zdCB1cmw6IFVSTCA9IG5ldyBVUkwodGhpcy5lbnZpcm9ubWVudC5tZXJjdXJlVXJsKTtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndG9waWMnLCBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS91c2Vycy8ke3RoaXMuand0U2VydmljZS5kZWNvZGVUb2tlbigpLnVzZXJuYW1lfS8ke3RvcGljfWApO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp0eXBlZGVmXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3QgZXM6IEV2ZW50U291cmNlUG9seWZpbGwgPSBuZXcgRXZlbnRTb3VyY2VQb2x5ZmlsbCh1cmwsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHRoaXMuand0U2VydmljZS5nZXRUb2tlbigpLFxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgZXMub25tZXNzYWdlID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKTogdm9pZCA9PiBvYnNlcnZlci5uZXh0KGV2ZW50KSk7XG4gICAgICB9O1xuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChtZXNzYWdlRXZlbnQ6IE1lc3NhZ2VFdmVudCk6IG9iamVjdCA9PiBKU09OLnBhcnNlKG1lc3NhZ2VFdmVudC5kYXRhKSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -14,7 +14,7 @@ export class AddressService {
|
|
|
14
14
|
getCountries() {
|
|
15
15
|
if (!this._countries) {
|
|
16
16
|
this.http.get(`${this.environment.apiV2}/countries`)
|
|
17
|
-
.pipe(map((response) => response
|
|
17
|
+
.pipe(map((response) => response.map((item) => plainToClass(Country, item))))
|
|
18
18
|
.subscribe((countries) => {
|
|
19
19
|
this._countries = countries;
|
|
20
20
|
this.countriesSubject.next(countries);
|
|
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34
34
|
type: Inject,
|
|
35
35
|
args: ['environment']
|
|
36
36
|
}] }]; } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYWRkcmVzcy9hZGRyZXNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBS2pELE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQ1UsSUFBZ0IsRUFDTyxXQUFnQjtRQUR2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ08sZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFKakQscUJBQWdCLEdBQTZCLElBQUksYUFBYSxDQUFZLENBQUMsQ0FBQyxDQUFDO0lBS3pFLENBQUM7SUFFTCxZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssWUFBWSxDQUFDO2lCQUNqRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3pGO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLFNBQW9CLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7K0dBdEJVLGNBQWMsNENBTWYsYUFBYTttSEFOWixjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYWRkcmVzcy9jb3VudHJ5JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWRkcmVzc1NlcnZpY2Uge1xuICBfY291bnRyaWVzOiBDb3VudHJ5W107XG4gIGNvdW50cmllc1N1YmplY3Q6IFJlcGxheVN1YmplY3Q8Q291bnRyeVtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PENvdW50cnlbXT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkgeyB9XG5cbiAgZ2V0Q291bnRyaWVzKCk6IE9ic2VydmFibGU8Q291bnRyeVtdPiB7XG4gICAgaWYgKCF0aGlzLl9jb3VudHJpZXMpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vY291bnRyaWVzYClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0W10pID0+IHJlc3BvbnNlLm1hcCgoaXRlbTogb2JqZWN0KSA9PiBwbGFpblRvQ2xhc3MoQ291bnRyeSwgaXRlbSkpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvdW50cmllczogQ291bnRyeVtdKSA9PiB7XG4gICAgICAgICAgdGhpcy5fY291bnRyaWVzID0gY291bnRyaWVzO1xuICAgICAgICAgIHRoaXMuY291bnRyaWVzU3ViamVjdC5uZXh0KGNvdW50cmllcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvdW50cmllc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -12,7 +12,7 @@ import * as i2 from "../../../event";
|
|
|
12
12
|
*/
|
|
13
13
|
export class BankAccountService extends RestService {
|
|
14
14
|
constructor(http, eventDispatcherService, sseService, environment) {
|
|
15
|
-
super(
|
|
15
|
+
super(environment);
|
|
16
16
|
this.http = http;
|
|
17
17
|
this.eventDispatcherService = eventDispatcherService;
|
|
18
18
|
this.sseService = sseService;
|
|
@@ -21,16 +21,17 @@ export class BankAccountService extends RestService {
|
|
|
21
21
|
this.modelClass = BankAccount;
|
|
22
22
|
this.collectionClass = BankAccountCollection;
|
|
23
23
|
this.disabledMethods = ['post', 'putBatch', 'delete', 'deleteBatch'];
|
|
24
|
-
this.
|
|
24
|
+
this.listenEvents();
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Listen system notifications and update cache when got basiq notification received
|
|
28
28
|
*/
|
|
29
29
|
listenEvents() {
|
|
30
30
|
this.listenToEventDispatcherChanges();
|
|
31
|
-
this.listenCSE(BankTransaction, ['post', 'delete']
|
|
32
|
-
this.listenCSE(PropertyShare, ['put']
|
|
33
|
-
this.listenCSE(BankConnection, ['post']
|
|
31
|
+
this.listenCSE(BankTransaction, this.refreshCache, ['post', 'delete']);
|
|
32
|
+
this.listenCSE(PropertyShare, this.refreshCache, ['put']);
|
|
33
|
+
this.listenCSE(BankConnection, this.refreshCache, ['post']);
|
|
34
|
+
this.listenConnections();
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
37
|
* Update bank account current balance
|
|
@@ -56,7 +57,7 @@ export class BankAccountService extends RestService {
|
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
/**
|
|
59
|
-
* @TODO
|
|
60
|
+
* @TODO remove when TT-3826 is ready
|
|
60
61
|
* manualConnection moved to basiq, old manual bankAccounts closed to let user add automated bankAccounts (because there is no reliable way to merge)
|
|
61
62
|
*/
|
|
62
63
|
listenConnections() {
|
|
@@ -76,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
76
77
|
type: Inject,
|
|
77
78
|
args: ['environment']
|
|
78
79
|
}] }]; } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkgsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBSWpEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQWdFO0lBTXRHLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQzlDLFVBQXNCLEVBQ0MsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBTFQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVRuRCxnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUM5QixlQUFVLEdBQXVCLFdBQVcsQ0FBQztRQUM3QyxvQkFBZSxHQUFpQyxxQkFBcUIsQ0FBQztRQUN0RSxvQkFBZSxHQUFpQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBUzVFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0IsQ0FBQyxXQUF3QjtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDO2FBQzFFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7WUFDdkIsTUFBTSxrQkFBa0IsR0FBZ0IsWUFBWSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVqRCxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyw4QkFBOEI7UUFDcEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyxtQkFBbUI7WUFDcEMsZ0JBQWdCLENBQUMsdUJBQXVCO1NBQ3pDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUE4QixFQUFRLEVBQUU7WUFDdkYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EvRFUsa0JBQWtCLDRHQVVuQixhQUFhO21IQVZaLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFXSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IGFzIEJhbmtBY2NvdW50QmFzZSwgQmFua0Nvbm5lY3Rpb24gYXMgQmFua0Nvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0sIEJhbmtBY2NvdW50LCBCYW5rQ29ubmVjdGlvbiwgQmFua1RyYW5zYWN0aW9uLCBQcm9wZXJ0eVNoYXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQmFua0FjY291bnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSwgU3NlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2V2ZW50JztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIHVzZXIncyBiYW5rIGFjY291bnRzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQsIEJhbmtBY2NvdW50Q29sbGVjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGVuZHBvaW50VXJpID0gJ2JhbmstYWNjb3VudHMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQmFua0FjY291bnQgPSBCYW5rQWNjb3VudDtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQmFua0FjY291bnRDb2xsZWN0aW9uID0gQmFua0FjY291bnRDb2xsZWN0aW9uO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdCcsICdwdXRCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc3NlU2VydmljZTogU3NlU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICApIHtcbiAgICBzdXBlcihlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gc3lzdGVtIG5vdGlmaWNhdGlvbnMgYW5kIHVwZGF0ZSBjYWNoZSB3aGVuIGdvdCBiYXNpcSBub3RpZmljYXRpb24gcmVjZWl2ZWRcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvRXZlbnREaXNwYXRjaGVyQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuQ1NFKEJhbmtUcmFuc2FjdGlvbiwgdGhpcy5yZWZyZXNoQ2FjaGUsIFsncG9zdCcsICdkZWxldGUnXSk7XG4gICAgdGhpcy5saXN0ZW5DU0UoUHJvcGVydHlTaGFyZSwgdGhpcy5yZWZyZXNoQ2FjaGUsIFsncHV0J10pO1xuICAgIHRoaXMubGlzdGVuQ1NFKEJhbmtDb25uZWN0aW9uLCB0aGlzLnJlZnJlc2hDYWNoZSwgWydwb3N0J10pO1xuICAgIHRoaXMubGlzdGVuQ29ubmVjdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYmFuayBhY2NvdW50IGN1cnJlbnQgYmFsYW5jZVxuICAgKiBAVE9ETyBWaWs6IHJlZmFjdG9yIG9uY2UgYmFja2VuZCB1cGRhdGVkIChzaG91bGQgYmUgc2VwYXJhdGVkIGVuZHBvaW50IGZvciBCYW5rQWNjb3VudEJhbGFuY2UgZW50aXR5KVxuICAgKi9cbiAgdXBkYXRlQ3VycmVudEJhbGFuY2UoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogT2JzZXJ2YWJsZTxCYW5rQWNjb3VudD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuYXBpVXJsfS8ke2JhbmtBY2NvdW50LmlkfS9iYWxhbmNlYCwgYmFua0FjY291bnQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogb2JqZWN0KSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCA9IHBsYWluVG9DbGFzcyhCYW5rQWNjb3VudCwgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW3VwZGF0ZWRCYW5rQWNjb3VudF0sICdwdXQnKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkQmFua0FjY291bnQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0V2ZW50RGlzcGF0Y2hlckNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uTE9BTl9QQVlPVVRfVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uQkFOS19UUkFOU0FDVElPTlNfQURERURcbiAgICBdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZWZyZXNoQ2FjaGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyByZW1vdmUgd2hlbiBUVC0zODI2IGlzIHJlYWR5XG4gICAqIG1hbnVhbENvbm5lY3Rpb24gbW92ZWQgdG8gYmFzaXEsIG9sZCBtYW51YWwgYmFua0FjY291bnRzIGNsb3NlZCB0byBsZXQgdXNlciBhZGQgYXV0b21hdGVkIGJhbmtBY2NvdW50cyAoYmVjYXVzZSB0aGVyZSBpcyBubyByZWxpYWJsZSB3YXkgdG8gbWVyZ2UpXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkNvbm5lY3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuc3NlU2VydmljZS5vbihgYmFua0Nvbm5lY3Rpb25zYCkuc3Vic2NyaWJlKChjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbkJhc2UpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,25 +7,24 @@ import { throwError as observableThrowError } from 'rxjs';
|
|
|
7
7
|
import { Collection } from '../../../../collections';
|
|
8
8
|
import { BankConnectionMessagesEnum } from './bank-connection-messages.enum';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/common/http";
|
|
11
|
-
import * as i2 from "../../../event";
|
|
12
10
|
/**
|
|
13
11
|
* BankConnection means user account at specific bank (usually each user has only one at the same bank)
|
|
14
12
|
* service handles BankConnection management
|
|
15
13
|
*/
|
|
16
14
|
export class BankConnectionService extends RestService {
|
|
17
|
-
constructor(
|
|
18
|
-
super(
|
|
19
|
-
this.http = http;
|
|
20
|
-
this.eventDispatcherService = eventDispatcherService;
|
|
21
|
-
this.sseService = sseService;
|
|
15
|
+
constructor(environment) {
|
|
16
|
+
super(environment);
|
|
22
17
|
this.environment = environment;
|
|
23
|
-
this.isApiPlatform = true;
|
|
24
18
|
this.modelClass = BankConnection;
|
|
25
19
|
this.collectionClass = Collection;
|
|
26
20
|
this.endpointUri = 'bank-connections';
|
|
27
21
|
this.disabledMethods = ['postBatch', 'putBatch', 'delete', 'deleteBatch'];
|
|
28
|
-
this.
|
|
22
|
+
this.mercureTopic = 'bankConnections';
|
|
23
|
+
this.listenEvents();
|
|
24
|
+
}
|
|
25
|
+
listenEvents() {
|
|
26
|
+
// @TODO remove when TT-3826 is ready
|
|
27
|
+
this.listenSSE();
|
|
29
28
|
}
|
|
30
29
|
/**
|
|
31
30
|
* there is no put BankConnection method, we have to post to update
|
|
@@ -70,15 +69,7 @@ export class BankConnectionService extends RestService {
|
|
|
70
69
|
deactivate(bankConnection) {
|
|
71
70
|
return this.put(bankConnection, null, `${this.apiUrl}/${bankConnection.id}/deactivate`);
|
|
72
71
|
}
|
|
73
|
-
|
|
74
|
-
* connection's status updated in background on backend, so reset cache required to inform user
|
|
75
|
-
*/
|
|
76
|
-
listenBankConnections() {
|
|
77
|
-
this.sseService.on(`bankConnections`).subscribe((bankConnection) => {
|
|
78
|
-
this.refreshCache();
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: i2.SseService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankConnectionService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
82
73
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankConnectionService, providedIn: 'root' }); }
|
|
83
74
|
}
|
|
84
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankConnectionService, decorators: [{
|
|
@@ -86,8 +77,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
86
77
|
args: [{
|
|
87
78
|
providedIn: 'root'
|
|
88
79
|
}]
|
|
89
|
-
}], ctorParameters: function () { return [{ type:
|
|
80
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
90
81
|
type: Inject,
|
|
91
82
|
args: ['environment']
|
|
92
83
|
}] }]; } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1jb25uZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstY29ubmVjdGlvbi9iYW5rLWNvbm5lY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdwRCxPQUFPLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFN0U7OztHQUdHO0FBSUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFdBQTJFO0lBT3BILFlBQTZDLFdBQWdCO1FBQzNELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUR3QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQU43RCxlQUFVLEdBQTBCLGNBQWMsQ0FBQztRQUNuRCxvQkFBZSxHQUFzQixVQUFVLENBQUM7UUFDaEQsZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQztRQUNqQyxvQkFBZSxHQUFpQixDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ25GLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7UUFJL0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLGNBQThCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUM7YUFDL0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQTRCLEVBQUUsRUFBRTtZQUNuQyxNQUFNLE1BQU0sR0FBbUIsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUV0RSxJQUFJLGNBQWMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN0QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRXRDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNwQixRQUFRLElBQUksRUFBRTt3QkFDWixLQUFLLE1BQU0sQ0FBQyxjQUFjLEVBQUU7NEJBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxDQUFDOzRCQUNwRSxNQUFNO3dCQUNSLEtBQUssTUFBTSxDQUFDLG1CQUFtQixFQUFFOzRCQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDOzRCQUN6RSxNQUFNO3FCQUNUO2lCQUNGO2FBQ0Y7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMsaURBQWlEO1lBQ2pELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDekU7WUFFRCx5RUFBeUU7WUFDekUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUN0RTtZQUVELE9BQU8sb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsY0FBOEI7UUFDckMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxVQUFVLENBQUMsY0FBOEI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzFGLENBQUM7K0dBcEVVLHFCQUFxQixrQkFPWixhQUFhO21IQVB0QixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUWMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiBhcyBCYW5rQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0JztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbk1lc3NhZ2VzRW51bSB9IGZyb20gJy4vYmFuay1jb25uZWN0aW9uLW1lc3NhZ2VzLmVudW0nO1xuXG4vKipcbiAqIEJhbmtDb25uZWN0aW9uIG1lYW5zIHVzZXIgYWNjb3VudCBhdCBzcGVjaWZpYyBiYW5rICh1c3VhbGx5IGVhY2ggdXNlciBoYXMgb25seSBvbmUgYXQgdGhlIHNhbWUgYmFuaylcbiAqIHNlcnZpY2UgaGFuZGxlcyBCYW5rQ29ubmVjdGlvbiBtYW5hZ2VtZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtDb25uZWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtDb25uZWN0aW9uQmFzZSwgQmFua0Nvbm5lY3Rpb24sIENvbGxlY3Rpb248QmFua0Nvbm5lY3Rpb24+PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIEJhbmtDb25uZWN0aW9uID0gQmFua0Nvbm5lY3Rpb247XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIENvbGxlY3Rpb24gPSBDb2xsZWN0aW9uO1xuICBlbmRwb2ludFVyaSA9ICdiYW5rLWNvbm5lY3Rpb25zJztcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3RCYXRjaCcsICdwdXRCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcbiAgbWVyY3VyZVRvcGljID0gJ2JhbmtDb25uZWN0aW9ucyc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIHN1cGVyKGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCkge1xuICAgIC8vIEBUT0RPIHJlbW92ZSB3aGVuIFRULTM4MjYgaXMgcmVhZHlcbiAgICB0aGlzLmxpc3RlblNTRSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRoZXJlIGlzIG5vIHB1dCBCYW5rQ29ubmVjdGlvbiBtZXRob2QsIHdlIGhhdmUgdG8gcG9zdCB0byB1cGRhdGVcbiAgICogUE9TVCBlbmRwb2ludCBpcyB1c2luZyBmb3IgY3JlYXRlIGFuZCBmb3IgdXBkYXRlLlxuICAgKi9cbiAgcG9zdChiYW5rQ29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pOiBPYnNlcnZhYmxlPEJhbmtDb25uZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYXBpVXJsLCBiYW5rQ29ubmVjdGlvbilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYW5rQ29ubmVjdGlvbkJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IEJhbmtDb25uZWN0aW9uID0gcGxhaW5Ub0NsYXNzKEJhbmtDb25uZWN0aW9uLCByZXNwb25zZSk7XG5cbiAgICAgICAgICBpZiAoYmFua0Nvbm5lY3Rpb24uaWQpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW3Jlc3VsdF0sICdwdXQnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbcmVzdWx0XSwgJ3Bvc3QnKTtcblxuICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0Jhc2lxKCkpIHtcbiAgICAgICAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSByZXN1bHQuaXNMb2dpblN1Y2Nlc3MoKTpcbiAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3MoQmFua0Nvbm5lY3Rpb25NZXNzYWdlc0VudW0uTE9HSU5fU1VDQ0VTUyk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIHJlc3VsdC5pc0FjY291bnRzUmV0cmlldmVkKCk6XG4gICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKEJhbmtDb25uZWN0aW9uTWVzc2FnZXNFbnVtLkFDQ09VTlRTX1JFVFJJRVZFRCk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAvLyBTaG93IGVycm9yIHdoZW4gdXNlciBwcm92aWRlZCB3cm9uZyBsb2dpbiBkYXRhXG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcihCYW5rQ29ubmVjdGlvbk1lc3NhZ2VzRW51bS5JTlZBTElEX0NSRURFTlRJQUxTKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBTaG93IGVycm9yIHdoZW4gdXNlciBwcm92aWRlZCBhbm90aGVyIGxvZ2luIChub3QgbG9naW4gaGUgdXNlZCBiZWZvcmUpXG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcihCYW5rQ29ubmVjdGlvbk1lc3NhZ2VzRW51bS5XUk9OR19MT0dJTl9EQVRBKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKVxuICB9XG5cbiAgYWN0aXZhdGUoYmFua0Nvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKTogT2JzZXJ2YWJsZTxCYW5rQ29ubmVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLnB1dChiYW5rQ29ubmVjdGlvbiwgbnVsbCwgYCR7dGhpcy5hcGlVcmx9LyR7YmFua0Nvbm5lY3Rpb24uaWR9L2FjdGl2YXRlYCk7XG4gIH1cblxuICBkZWFjdGl2YXRlKGJhbmtDb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbik6IE9ic2VydmFibGU8QmFua0Nvbm5lY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5wdXQoYmFua0Nvbm5lY3Rpb24sIG51bGwsIGAke3RoaXMuYXBpVXJsfS8ke2JhbmtDb25uZWN0aW9uLmlkfS9kZWFjdGl2YXRlYCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
2
|
import { map } from 'rxjs/operators';
|
|
3
3
|
import { RestService } from '../../rest';
|
|
4
4
|
import { plainToClass } from 'class-transformer';
|
|
@@ -10,12 +10,14 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
* Service for bank transactions business logic
|
|
11
11
|
*/
|
|
12
12
|
export class BankTransactionService extends RestService {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(
|
|
13
|
+
constructor(environment) {
|
|
14
|
+
super(environment);
|
|
15
|
+
this.environment = environment;
|
|
15
16
|
this.endpointUri = 'bank-transactions';
|
|
16
17
|
this.modelClass = BankTransaction;
|
|
17
18
|
this.collectionClass = BankTransactionCollection;
|
|
18
19
|
this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'deleteBatch'];
|
|
20
|
+
this.listenEvents();
|
|
19
21
|
}
|
|
20
22
|
listenEvents() {
|
|
21
23
|
this.listenBankTransactionsImport();
|
|
@@ -60,7 +62,7 @@ export class BankTransactionService extends RestService {
|
|
|
60
62
|
}
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankTransactionService, deps:
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankTransactionService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
66
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankTransactionService, providedIn: 'root' }); }
|
|
65
67
|
}
|
|
66
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankTransactionService, decorators: [{
|
|
@@ -68,5 +70,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
68
70
|
args: [{
|
|
69
71
|
providedIn: 'root'
|
|
70
72
|
}]
|
|
71
|
-
}]
|
|
72
|
-
|
|
73
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
74
|
+
type: Inject,
|
|
75
|
+
args: ['environment']
|
|
76
|
+
}] }]; } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLXRyYW5zYWN0aW9uL2JhbmstdHJhbnNhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBRTlHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUVwRTs7R0FFRztBQUlILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUE0RTtJQU10SCxZQUE2QyxXQUFnQjtRQUMzRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFEd0IsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFMN0QsZ0JBQVcsR0FBRyxtQkFBbUIsQ0FBQztRQUNsQyxlQUFVLEdBQTJCLGVBQWUsQ0FBQztRQUNyRCxvQkFBZSxHQUFxQyx5QkFBeUIsQ0FBQztRQUM5RSxvQkFBZSxHQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUl0RixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE9BQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxvQ0FBb0MsT0FBTyxFQUFFLENBQUM7YUFDekYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLG9CQUEyQyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FDckssQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGFBQXFCLEVBQUUsSUFBVTtRQUN0QyxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssa0JBQWtCLGFBQWEsMkJBQTJCLEVBQUUsUUFBUSxDQUFDO2FBQ2pILElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUErQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxNQUFNLEdBQXNCLFFBQVE7aUJBQ3ZDLEdBQUcsQ0FBQyxDQUFDLGVBQW9DLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7Z0JBQzlGLDZEQUE2RDtpQkFDNUQsTUFBTSxDQUFDLENBQUMsZUFBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEcsc0dBQXNHO1lBQ3RHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNyQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUMzRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLDJCQUEyQixFQUFFO2dCQUN4RyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E5RFUsc0JBQXNCLGtCQU1iLGFBQWE7bUhBTnRCLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiBhcyBCYW5rVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBBcHBFdmVudCwgQXBwRXZlbnRUeXBlRW51bSwgQmFua1RyYW5zYWN0aW9uLCBGaW5hbmNpYWxZZWFyLCBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVzZXJFdmVudFR5cGVUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBiYW5rIHRyYW5zYWN0aW9ucyBidXNpbmVzcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYW5rVHJhbnNhY3Rpb25TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8QmFua1RyYW5zYWN0aW9uQmFzZSwgQmFua1RyYW5zYWN0aW9uLCBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgZW5kcG9pbnRVcmkgPSAnYmFuay10cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQmFua1RyYW5zYWN0aW9uID0gQmFua1RyYW5zYWN0aW9uO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uID0gQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbjtcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3QnLCAncG9zdEJhdGNoJywgJ3B1dCcsICdwdXRCYXRjaCcsICdkZWxldGVCYXRjaCddO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICBzdXBlcihlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkJhbmtUcmFuc2FjdGlvbnNJbXBvcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgcHJvdmlkZWQgZmluYW5jaWFsIHllYXJcbiAgICogQFRPRE8gVklLL0FsZXg6IGNvbnNpZGVyIHRvIHVzZSBvbmUgZW5kcG9pbnQgdG8gZ2V0IGJhbmsgdHJhbnNhY3Rpb25zIGZvciAyIGZpbiB5ZWFyc1xuICAgKi9cbiAgZ2V0QnlZZWFyKGZpblllYXI6IG51bWJlcik6IE9ic2VydmFibGU8QmFua1RyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYW5rLXRyYW5zYWN0aW9ucz9maW5hbmNpYWxZZWFyPSR7ZmluWWVhcn1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFua1RyYW5zYWN0aW9uc0Jhc2U6IEJhbmtUcmFuc2FjdGlvbkJhc2VbXSkgPT4gYmFua1RyYW5zYWN0aW9uc0Jhc2UubWFwKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gcGxhaW5Ub0NsYXNzKEJhbmtUcmFuc2FjdGlvbiwgYmFua1RyYW5zYWN0aW9uKSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGltcG9ydCBiYW5rIHRyYW5zYWN0aW9ucyBmcm9tIGNzdiBmaWxlXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudElkIEJhbmsgYWNjb3VudCBpZCB3ZSBpbXBvcnQgYmFuayB0cmFuc2FjdGlvbnMgZm9yXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgd2l0aCBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgaW1wb3J0XG4gICAqL1xuICBpbXBvcnQoYmFua0FjY291bnRJZDogbnVtYmVyLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxCYW5rVHJhbnNhY3Rpb25bXT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2JhbmstYWNjb3VudHMvJHtiYW5rQWNjb3VudElkfS9iYW5rLXRyYW5zYWN0aW9uLWltcG9ydHNgLCBmb3JtRGF0YSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYW5rVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IEJhbmtUcmFuc2FjdGlvbltdID0gcmVzcG9uc2VcbiAgICAgICAgICAgIC5tYXAoKGJhc2VUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKEJhbmtUcmFuc2FjdGlvbiwgYmFzZVRyYW5zYWN0aW9uKSlcbiAgICAgICAgICAgIC8vIHdlIGFyZSBpbnRlcmVzdGluZyBvbmx5IGN1cnJlbnQgZmluIHllYXIgYmFuayB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBuZXcgRmluYW5jaWFsWWVhcigpLmluY2x1ZGVzKGJhbmtUcmFuc2FjdGlvbi5kYXRlKSk7XG4gICAgICAgICAgLy8gcHVzaCBuZXcgaXRlbXMgdG8gY2FjaGUgb25seSBpZiB3ZSBhbHJlYWR5IGhhdmUgY2FjaGUuIE90aGVyd2lzZSBjYWNoZSB3aWxsIGNvbnRhaW4gb25seSBuZXcgaXRlbXMuXG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzdWx0LCAncG9zdCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gc3NlIHdoZW4gYmFja2VuZCBzZW5kIG1lcmN1cmUgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuQmFua1RyYW5zYWN0aW9uc0ltcG9ydCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlVHlwZUVudW0uQkFTSVFfRklSU1RfSU1QT1JUX0NPTVBMRVRFKSB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQU5LX1RSQU5TQUNUSU9OU19BRERFRCwgW10pKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoQ2FjaGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -12,7 +12,6 @@ export class BankService extends RestService {
|
|
|
12
12
|
this.modelClass = Bank;
|
|
13
13
|
this.collectionClass = Collection;
|
|
14
14
|
this.endpointUri = 'banks';
|
|
15
|
-
this.isApiPlatform = true;
|
|
16
15
|
this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
|
|
17
16
|
}
|
|
18
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -24,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
24
23
|
providedIn: 'root'
|
|
25
24
|
}]
|
|
26
25
|
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRWxEOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUE2QztJQUg5RTs7UUFJRSxlQUFVLEdBQWdCLElBQUksQ0FBQztRQUMvQixvQkFBZSxHQUFzQixVQUFVLENBQUM7UUFDaEQsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFDdEIsb0JBQWUsR0FBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBQ25HOytHQUxZLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFuayBhcyBCYW5rQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBCYW5rIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBoYW5kbGluZyBiYW5rcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYW5rU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtCYXNlLCBCYW5rLCBDb2xsZWN0aW9uPEJhbms+PiB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBCYW5rID0gQmFuaztcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ29sbGVjdGlvbiA9IENvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ2JhbmtzJztcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3QnLCAncG9zdEJhdGNoJywgJ3B1dCcsICdwdXRCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcbn1cbiJdfQ==
|