taxtank-core 0.28.117 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taxtank-core.umd.js +8542 -8749
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/bank-account.collection.js +5 -1
- package/esm2015/lib/collections/chart-accounts.collection.js +12 -2
- package/esm2015/lib/collections/chat/chat.collection.js +26 -0
- package/esm2015/lib/collections/chat/index.js +4 -0
- package/esm2015/lib/collections/chat/message-document.collection.js +13 -0
- package/esm2015/lib/collections/chat/message.collection.js +33 -0
- package/esm2015/lib/collections/collection.js +5 -1
- package/esm2015/lib/collections/index.js +25 -3
- package/esm2015/lib/collections/loan/index.js +3 -0
- package/esm2015/lib/collections/loan/loan.collection.js +7 -1
- package/esm2015/lib/collections/property/index.js +2 -1
- package/esm2015/lib/collections/property/property-share.collection.js +13 -0
- package/esm2015/lib/collections/report/index.js +7 -0
- package/esm2015/lib/collections/sole/index.js +2 -1
- package/esm2015/lib/collections/subscription/index.js +2 -0
- package/esm2015/lib/collections/tax-summary/index.js +3 -0
- package/esm2015/lib/collections/user-event-type-collection.js +7 -0
- package/esm2015/lib/db/Models/bank/bank-account.js +3 -3
- package/esm2015/lib/db/Models/bank/bank-connection.js +3 -3
- package/esm2015/lib/db/Models/bank/bank-transaction-rule.js +4 -0
- package/esm2015/lib/db/Models/bank/bank-transaction.js +3 -3
- package/esm2015/lib/db/Models/document/document-base.js +4 -0
- package/esm2015/lib/db/Models/firm/firm-invite.js +4 -0
- package/esm2015/lib/db/Models/firm/message.js +3 -3
- package/esm2015/lib/db/Models/index.js +102 -0
- package/esm2015/lib/db/Models/loan/loan-payout.js +3 -3
- package/esm2015/lib/db/Models/loan/loan.js +3 -3
- package/esm2015/lib/db/Models/property/property-category-movement.js +3 -3
- package/esm2015/lib/db/Models/property/property-category.js +3 -3
- package/esm2015/lib/db/Models/property/property-sale/property-sale.js +3 -3
- package/esm2015/lib/db/Models/property/property-share.js +3 -3
- package/esm2015/lib/db/Models/spare/spare-document-category.js +4 -0
- package/esm2015/lib/db/Models/spare/spare-document.js +4 -0
- package/esm2015/lib/db/Models/tax-calculation.js +4 -0
- package/esm2015/lib/db/Models/transaction/transaction-base.js +3 -3
- package/esm2015/lib/forms/transaction/transaction.form.js +2 -2
- package/esm2015/lib/interceptors/basiq-client-id.interceptor.js +3 -3
- package/esm2015/lib/interceptors/basiq-token.interceptor.js +5 -5
- package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
- package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
- package/esm2015/lib/interceptors/interceptors.module.js +4 -4
- package/esm2015/lib/interceptors/jwt-interceptor.js +3 -3
- package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
- package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
- package/esm2015/lib/interfaces/index.js +18 -0
- package/esm2015/lib/models/bank/basiq/basiq-token.js +4 -2
- package/esm2015/lib/models/borrowing-expense/index.js +3 -0
- package/esm2015/lib/models/chart-accounts/index.js +2 -2
- package/esm2015/lib/models/chat/index.js +5 -0
- package/esm2015/lib/models/depreciation/depreciation-lvp-rate.enum.js +9 -0
- package/esm2015/lib/models/depreciation/index.js +10 -0
- package/esm2015/lib/models/dictionary/index.js +2 -0
- package/esm2015/lib/models/event/app-event-type.enum.js +68 -70
- package/esm2015/lib/models/event/index.js +3 -0
- package/esm2015/lib/models/financial-year/index.js +5 -0
- package/esm2015/lib/models/index.js +12 -2
- package/esm2015/lib/models/loan/index.js +5 -0
- package/esm2015/lib/models/notification/index.js +2 -0
- package/esm2015/lib/models/property/index.js +18 -0
- package/esm2015/lib/models/property/property.js +1 -3
- package/esm2015/lib/models/user/index.js +10 -0
- package/esm2015/lib/services/account-setup/account-setup.service.js +6 -6
- package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +3 -3
- package/esm2015/lib/services/asset/assets.service.js +3 -3
- package/esm2015/lib/services/auth/auth.service.js +3 -3
- package/esm2015/lib/services/auth/jwt.service.js +3 -3
- package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
- package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
- package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
- package/esm2015/lib/services/event/sse.service.js +3 -3
- package/esm2015/lib/services/export/export-formatter.service.js +3 -3
- package/esm2015/lib/services/header-title/header-title.service.js +3 -3
- package/esm2015/lib/services/http/address/address.service.js +3 -3
- package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +16 -71
- package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +39 -42
- package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +17 -33
- package/esm2015/lib/services/http/bank/bank.service.js +15 -10
- package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +17 -20
- package/esm2015/lib/services/http/bank/basiq/basiq.service.js +15 -27
- package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +10 -21
- package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +20 -64
- package/esm2015/lib/services/http/chat/chat.service.js +24 -30
- package/esm2015/lib/services/http/chat/index.js +3 -3
- package/esm2015/lib/services/http/chat/message-document.service.js +78 -0
- package/esm2015/lib/services/http/chat/message.service.js +68 -0
- package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.js +3 -3
- package/esm2015/lib/services/http/depreciation/depreciation.service.js +29 -57
- package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
- package/esm2015/lib/services/http/document/document.service.js +3 -3
- package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
- package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
- package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
- package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
- package/esm2015/lib/services/http/firm/firm.service.js +3 -3
- package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
- package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
- package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
- package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
- package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
- package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +7 -4
- package/esm2015/lib/services/http/loan/index.js +1 -1
- package/esm2015/lib/services/http/loan/loan.service.js +20 -69
- package/esm2015/lib/services/http/property/property-category/property-category.service.js +10 -7
- package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +10 -34
- package/esm2015/lib/services/http/property/property-document/property-document.service.js +11 -21
- package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +10 -27
- package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +11 -8
- package/esm2015/lib/services/http/property/property-share/property-share.service.js +15 -89
- package/esm2015/lib/services/http/property/property.service.js +16 -34
- package/esm2015/lib/services/http/receipt/receipt.service.js +3 -3
- package/esm2015/lib/services/http/rest/rest-old.service.js +3 -3
- package/esm2015/lib/services/http/rest/rest.service.js +13 -10
- package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
- package/esm2015/lib/services/http/sole/bas-report/bas-report.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-business/sole-business.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-contact/sole-contact.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-details/sole-details.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +3 -3
- package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +3 -3
- package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
- package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
- package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
- package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
- package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
- package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +6 -7
- package/esm2015/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.js +3 -3
- package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
- package/esm2015/lib/services/http/tutorial-video/tutorial-video.service.js +3 -3
- package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
- package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
- package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
- package/esm2015/lib/services/http/user/user.service.js +3 -3
- package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
- package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
- package/esm2015/lib/services/intercom/intercom.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
- package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
- package/esm2015/lib/services/preloader/preloader.service.js +3 -3
- package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
- package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
- package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
- package/esm2015/lib/services/report/property/property-transaction-report.service.js +7 -9
- package/esm2015/lib/services/toast/toast.service.js +3 -3
- package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
- package/esm2015/lib/services/user/user-switcher.service.js +3 -3
- package/esm2015/lib/services/vehicle/logbook-best-period.service.js +3 -3
- package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
- package/esm2015/lib/tt-core.module.js +4 -4
- package/esm2015/public-api.js +1 -85
- package/fesm2015/taxtank-core.js +6987 -7252
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/bank-account.collection.d.ts +1 -0
- package/lib/collections/chart-accounts.collection.d.ts +1 -0
- package/lib/collections/{chat.collection.d.ts → chat/chat.collection.d.ts} +2 -3
- package/lib/collections/chat/index.d.ts +3 -0
- package/lib/collections/{message-document.collection.d.ts → chat/message-document.collection.d.ts} +2 -2
- package/lib/collections/{message.collection.d.ts → chat/message.collection.d.ts} +2 -3
- package/lib/collections/collection.d.ts +1 -0
- package/lib/collections/index.d.ts +23 -2
- package/lib/collections/loan/index.d.ts +2 -0
- package/lib/collections/loan/loan.collection.d.ts +4 -0
- package/lib/collections/property/index.d.ts +1 -0
- package/lib/collections/property/property-share.collection.d.ts +6 -0
- package/lib/collections/report/index.d.ts +6 -0
- package/lib/collections/sole/index.d.ts +1 -0
- package/lib/collections/subscription/index.d.ts +1 -0
- package/lib/collections/tax-summary/index.d.ts +2 -0
- package/lib/collections/user-event-type-collection.d.ts +7 -0
- package/lib/db/Models/bank/bank-account.d.ts +2 -2
- package/lib/db/Models/bank/bank-connection.d.ts +2 -2
- package/lib/db/Models/bank/bank-transaction-rule.d.ts +26 -0
- package/lib/db/Models/bank/bank-transaction.d.ts +2 -2
- package/lib/db/Models/document/document-base.d.ts +11 -0
- package/lib/db/Models/firm/firm-invite.d.ts +15 -0
- package/lib/db/Models/firm/message.d.ts +2 -2
- package/lib/db/Models/index.d.ts +101 -0
- package/lib/db/Models/loan/loan-payout.d.ts +2 -2
- package/lib/db/Models/loan/loan.d.ts +2 -2
- package/lib/db/Models/property/property-category-movement.d.ts +2 -2
- package/lib/db/Models/property/property-category.d.ts +2 -2
- package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -2
- package/lib/db/Models/property/property-share.d.ts +2 -2
- package/lib/db/Models/spare/spare-document-category.d.ts +7 -0
- package/lib/db/Models/spare/spare-document.d.ts +16 -0
- package/lib/db/Models/tax-calculation.d.ts +19 -0
- package/lib/db/Models/transaction/transaction-base.d.ts +2 -2
- package/lib/interfaces/index.d.ts +17 -0
- package/lib/models/bank/basiq/basiq-token.d.ts +2 -1
- package/lib/models/borrowing-expense/index.d.ts +2 -0
- package/lib/models/chart-accounts/index.d.ts +1 -1
- package/lib/models/chat/index.d.ts +4 -0
- package/lib/models/depreciation/depreciation-lvp-rate.enum.d.ts +7 -0
- package/lib/models/depreciation/index.d.ts +9 -0
- package/lib/models/dictionary/index.d.ts +1 -0
- package/lib/models/event/app-event-type.enum.d.ts +67 -69
- package/lib/models/event/index.d.ts +2 -0
- package/lib/models/financial-year/index.d.ts +4 -0
- package/lib/models/index.d.ts +11 -1
- package/lib/models/loan/index.d.ts +4 -0
- package/lib/models/notification/index.d.ts +1 -0
- package/lib/models/property/index.d.ts +17 -0
- package/lib/models/property/property.d.ts +0 -2
- package/lib/models/user/index.d.ts +9 -0
- package/lib/services/http/bank/bank-account/bank-account.service.d.ts +10 -25
- package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +18 -8
- package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +10 -13
- package/lib/services/http/bank/bank.service.d.ts +10 -7
- package/lib/services/http/bank/basiq/basiq-token.service.d.ts +10 -9
- package/lib/services/http/bank/basiq/basiq.service.d.ts +12 -15
- package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +8 -10
- package/lib/services/http/chart-accounts/chart-accounts.service.d.ts +11 -24
- package/lib/services/http/chat/chat.service.d.ts +12 -11
- package/lib/services/http/chat/index.d.ts +2 -2
- package/lib/services/http/chat/message-document.service.d.ts +35 -0
- package/lib/services/http/chat/message.service.d.ts +38 -0
- package/lib/services/http/depreciation/depreciation.service.d.ts +12 -23
- package/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts +3 -0
- package/lib/services/http/loan/loan.service.d.ts +16 -29
- package/lib/services/http/property/property-category/property-category.service.d.ts +8 -5
- package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +8 -10
- package/lib/services/http/property/property-document/property-document.service.d.ts +9 -11
- package/lib/services/http/property/property-sale/property-sale.service.d.ts +8 -14
- package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +9 -6
- package/lib/services/http/property/property-share/property-share.service.d.ts +10 -22
- package/lib/services/http/property/property.service.d.ts +9 -9
- package/lib/services/http/rest/rest.service.d.ts +6 -4
- package/lib/services/report/property/property-transaction-report.service.d.ts +2 -3
- package/package.json +1 -1
- package/public-api.d.ts +0 -84
- package/esm2015/lib/collections/chat.collection.js +0 -26
- package/esm2015/lib/collections/message-document.collection.js +0 -13
- package/esm2015/lib/collections/message.collection.js +0 -33
- package/esm2015/lib/services/http/chat/message/index.js +0 -2
- package/esm2015/lib/services/http/chat/message/message.service.js +0 -61
- package/esm2015/lib/services/http/chat/message-document/index.js +0 -2
- package/esm2015/lib/services/http/chat/message-document/message-document.service.js +0 -118
- package/lib/services/http/chat/message/index.d.ts +0 -1
- package/lib/services/http/chat/message/message.service.d.ts +0 -28
- package/lib/services/http/chat/message-document/index.d.ts +0 -1
- package/lib/services/http/chat/message-document/message-document.service.d.ts +0 -50
|
@@ -25,9 +25,9 @@ export class BankAccountCalculationService {
|
|
|
25
25
|
return bankAccounts.currentBalance - this.getTaxTankBalance(bankAccounts.getLoanAccounts(), bankTransactions, allocations);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
29
|
-
BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
28
|
+
BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: i1.BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountCalculationService, decorators: [{
|
|
31
31
|
type: Injectable,
|
|
32
32
|
args: [{
|
|
33
33
|
providedIn: 'root'
|
|
@@ -54,9 +54,9 @@ export class BankTransactionCalculationService {
|
|
|
54
54
|
return allocations.getByBankTransactionsIds(bankTransactions.debitTransactions.getIds()).amount;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
58
|
-
BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
57
|
+
BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
|
|
60
60
|
type: Injectable,
|
|
61
61
|
args: [{
|
|
62
62
|
providedIn: 'root'
|
|
@@ -30,9 +30,9 @@ export class EventDispatcherService {
|
|
|
30
30
|
this.eventSubject2.next(event);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
34
|
-
EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
33
|
+
EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EventDispatcherService, decorators: [{
|
|
36
36
|
type: Injectable,
|
|
37
37
|
args: [{
|
|
38
38
|
providedIn: 'root'
|
|
@@ -36,9 +36,9 @@ export class SseService {
|
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
40
|
-
SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
39
|
+
SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: i1.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SseService, providedIn: 'root' });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SseService, decorators: [{
|
|
42
42
|
type: Injectable,
|
|
43
43
|
args: [{
|
|
44
44
|
providedIn: 'root'
|
|
@@ -20,9 +20,9 @@ export class ExportFormatterService {
|
|
|
20
20
|
}));
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
24
|
-
ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
23
|
+
ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1.CurrencyPipe }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ExportFormatterService, decorators: [{
|
|
26
26
|
type: Injectable,
|
|
27
27
|
args: [{
|
|
28
28
|
providedIn: 'root'
|
|
@@ -17,9 +17,9 @@ export class HeaderTitleService {
|
|
|
17
17
|
}), filter((route) => route.outlet === 'primary'), mergeMap((route) => route.data));
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
21
|
-
HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
20
|
+
HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeaderTitleService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeaderTitleService, decorators: [{
|
|
23
23
|
type: Injectable,
|
|
24
24
|
args: [{
|
|
25
25
|
providedIn: 'root'
|
|
@@ -25,9 +25,9 @@ export class AddressService {
|
|
|
25
25
|
return this.countriesSubject.asObservable();
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
29
|
-
AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
28
|
+
AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AddressService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AddressService, decorators: [{
|
|
31
31
|
type: Injectable,
|
|
32
32
|
args: [{
|
|
33
33
|
providedIn: 'root'
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
+
import { AppEventTypeEnum, BankAccount, BankConnection, BankTransaction, PropertyShare } from '../../../../models';
|
|
3
|
+
import { RestService } from '../../rest';
|
|
4
|
+
import { BankAccountCollection } from '../../../../collections';
|
|
2
5
|
import { map } from 'rxjs/operators';
|
|
3
|
-
import _ from 'lodash';
|
|
4
|
-
import { replace } from '../../../../functions/array';
|
|
5
6
|
import { plainToClass } from 'class-transformer';
|
|
6
|
-
import { RestService } from '../../rest/rest-old.service';
|
|
7
|
-
import { BankAccount } from '../../../../models/bank/bank-account';
|
|
8
|
-
import { AppEvent } from '../../../../models/event/app-event';
|
|
9
|
-
import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
|
|
10
|
-
import { BankAccountCollection } from '../../../../collections/bank-account.collection';
|
|
11
7
|
import * as i0 from "@angular/core";
|
|
12
8
|
/**
|
|
13
9
|
* Service that handling user's bank accounts logic
|
|
@@ -15,100 +11,49 @@ import * as i0 from "@angular/core";
|
|
|
15
11
|
export class BankAccountService extends RestService {
|
|
16
12
|
constructor() {
|
|
17
13
|
super(...arguments);
|
|
18
|
-
|
|
19
|
-
this.url = 'bank-accounts';
|
|
14
|
+
this.endpointUri = 'bank-accounts';
|
|
20
15
|
this.modelClass = BankAccount;
|
|
16
|
+
this.collectionClass = BankAccountCollection;
|
|
17
|
+
this.disabledMethods = ['post', 'putBatch', 'delete', 'deleteBatch'];
|
|
21
18
|
}
|
|
22
19
|
/**
|
|
23
20
|
* Listen system notifications and update cache when got basiq notification received
|
|
24
21
|
*/
|
|
25
22
|
listenEvents() {
|
|
26
23
|
this.listenToEventDispatcherChanges();
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
* @param bankAccounts
|
|
31
|
-
* @param queryParams
|
|
32
|
-
*/
|
|
33
|
-
addBatch(bankAccounts, queryParams = {}) {
|
|
34
|
-
return this.http.post(`${this.environment.apiV2}/${this.url}`, bankAccounts)
|
|
35
|
-
.pipe(map((newBankAccountsBase) => {
|
|
36
|
-
const newBankAccounts = newBankAccountsBase.map((bankAccountBase) => plainToClass(BankAccount, bankAccountBase));
|
|
37
|
-
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_ACCOUNT_CREATED, newBankAccounts));
|
|
38
|
-
const tempCache = _.cloneDeep(this.cache);
|
|
39
|
-
tempCache.push(...newBankAccounts);
|
|
40
|
-
this.cache = tempCache;
|
|
41
|
-
this.updateCache();
|
|
42
|
-
return newBankAccounts;
|
|
43
|
-
}));
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Update bank account and fire event
|
|
47
|
-
*/
|
|
48
|
-
update(bankAccount) {
|
|
49
|
-
return super.update(bankAccount).pipe(map((updatedBankAccount) => {
|
|
50
|
-
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_ACCOUNT_UPDATED, updatedBankAccount));
|
|
51
|
-
return updatedBankAccount;
|
|
52
|
-
}));
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Update bank account opening balance
|
|
56
|
-
* @param bankAccount Bank account for balance updating
|
|
57
|
-
*/
|
|
58
|
-
updateOpeningBalance(bankAccount) {
|
|
59
|
-
return this.http.put(`${this.environment.apiV2}/${this.url}/${bankAccount.id}/opening-balances/${bankAccount.getCurrentYearBalance().id}`, bankAccount.getCurrentYearBalance())
|
|
60
|
-
.pipe(map((response) => {
|
|
61
|
-
const tempCache = _.cloneDeep(this.cache);
|
|
62
|
-
replace(tempCache[tempCache.findIndex((ba) => ba.id === bankAccount.id)].balances, response);
|
|
63
|
-
this.cache = tempCache;
|
|
64
|
-
this.updateCache();
|
|
65
|
-
}));
|
|
24
|
+
this.listenCSE(BankTransaction, ['post', 'delete'], this.resetCache);
|
|
25
|
+
this.listenCSE(PropertyShare, ['put'], this.resetCache);
|
|
26
|
+
this.listenCSE(BankConnection, ['post'], this.resetCache);
|
|
66
27
|
}
|
|
67
28
|
/**
|
|
68
29
|
* Update bank account current balance
|
|
30
|
+
* @TODO Vik: refactor once backend updated (should be separated endpoint for BankAccountBalance entity)
|
|
69
31
|
*/
|
|
70
32
|
updateCurrentBalance(bankAccount) {
|
|
71
|
-
return this.http.put(`${this.
|
|
33
|
+
return this.http.put(`${this.apiUrl}/${bankAccount.id}/balance`, bankAccount)
|
|
72
34
|
.pipe(map((response) => {
|
|
73
35
|
const updatedBankAccount = plainToClass(BankAccount, response);
|
|
74
|
-
|
|
75
|
-
this.updateCache();
|
|
76
|
-
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_ACCOUNT_UPDATED, updatedBankAccount));
|
|
36
|
+
this.handleResponse([updatedBankAccount], 'put');
|
|
77
37
|
return updatedBankAccount;
|
|
78
38
|
}));
|
|
79
39
|
}
|
|
80
|
-
getOwn() {
|
|
81
|
-
return this.get()
|
|
82
|
-
.pipe(map((bankAccounts) => {
|
|
83
|
-
return bankAccounts.filter((bankAccount) => bankAccount.isOwner(+localStorage.getItem('userId')));
|
|
84
|
-
}));
|
|
85
|
-
}
|
|
86
|
-
getByConnection(connection) {
|
|
87
|
-
return this.get().pipe(map((bankAccounts) => {
|
|
88
|
-
return new BankAccountCollection(bankAccounts).filterBy('bankConnection.id', connection.id);
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
40
|
/**
|
|
92
41
|
* Listen to EventDispatcherService events
|
|
93
42
|
*/
|
|
94
43
|
listenToEventDispatcherChanges() {
|
|
95
44
|
this.eventDispatcherService.on([
|
|
96
|
-
AppEventTypeEnum.PROPERTY_SHARE_UPDATED,
|
|
97
45
|
AppEventTypeEnum.LOAN_PAYOUT_UPDATED,
|
|
98
|
-
AppEventTypeEnum.BANK_CONNECTION_ADDED,
|
|
99
|
-
AppEventTypeEnum.BANK_TRANSACTIONS_ADDED,
|
|
100
|
-
AppEventTypeEnum.BANK_TRANSACTIONS_DELETED
|
|
101
46
|
]).subscribe(() => {
|
|
102
47
|
this.resetCache();
|
|
103
48
|
});
|
|
104
49
|
}
|
|
105
50
|
}
|
|
106
|
-
BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
107
|
-
BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
51
|
+
BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountService, providedIn: 'root' });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankAccountService, decorators: [{
|
|
109
54
|
type: Injectable,
|
|
110
55
|
args: [{
|
|
111
56
|
providedIn: 'root'
|
|
112
57
|
}]
|
|
113
58
|
}] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUdoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFFeEY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBeUM7SUFIakY7O1FBSUUsc0NBQXNDO1FBQ3RDLFFBQUcsR0FBVyxlQUFlLENBQUM7UUFDOUIsZUFBVSxHQUFHLFdBQVcsQ0FBQztLQTJHMUI7SUF6R0M7O09BRUc7SUFDSCxZQUFZO1FBQ1YsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsWUFBMkIsRUFBRSxjQUFzQixFQUFFO1FBQzVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENB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OztnSEE3R1Usa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgYXMgQmFua0FjY291bnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LW9sZC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9iYW5rLWFjY291bnQuY29sbGVjdGlvbic7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIHVzZXIncyBiYW5rIGFjY291bnRzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQ+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyBhcGkgdXJsIHBhcmFtZXRlciBmb3IgYmFuayBhY2NvdW50c1xuICB1cmw6IHN0cmluZyA9ICdiYW5rLWFjY291bnRzJztcbiAgbW9kZWxDbGFzcyA9IEJhbmtBY2NvdW50O1xuXG4gIC8qKlxuICAgKiBMaXN0ZW4gc3lzdGVtIG5vdGlmaWNhdGlvbnMgYW5kIHVwZGF0ZSBjYWNoZSB3aGVuIGdvdCBiYXNpcSBub3RpZmljYXRpb24gcmVjZWl2ZWRcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvRXZlbnREaXNwYXRjaGVyQ2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZWQgbWFudWFsIGJhbmsgYWNjb3VudFxuICAgKiBAcGFyYW0gYmFua0FjY291bnRzXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtc1xuICAgKi9cbiAgYWRkQmF0Y2goYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdLCBxdWVyeVBhcmFtczogb2JqZWN0ID0ge30pOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBiYW5rQWNjb3VudHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdCYW5rQWNjb3VudHNCYXNlOiBCYW5rQWNjb3VudEJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0JhbmtBY2NvdW50czogQmFua0FjY291bnRbXSA9IG5ld0JhbmtBY2NvdW50c0Jhc2UubWFwKChiYW5rQWNjb3VudEJhc2U6IEJhbmtBY2NvdW50QmFzZSk6IEJhbmtBY2NvdW50ID0+IHBsYWluVG9DbGFzcyhCYW5rQWNjb3VudCwgYmFua0FjY291bnRCYXNlKSk7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9DUkVBVEVELCBuZXdCYW5rQWNjb3VudHMpKTtcbiAgICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IEJhbmtBY2NvdW50W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB0ZW1wQ2FjaGUucHVzaCguLi5uZXdCYW5rQWNjb3VudHMpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBuZXdCYW5rQWNjb3VudHM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgYW5kIGZpcmUgZXZlbnRcbiAgICovXG4gIHVwZGF0ZShiYW5rQWNjb3VudDogQmFua0FjY291bnQpOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50PiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShiYW5rQWNjb3VudCkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZEJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX1VQREFURUQsIHVwZGF0ZWRCYW5rQWNjb3VudCkpO1xuICAgICAgICByZXR1cm4gdXBkYXRlZEJhbmtBY2NvdW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgb3BlbmluZyBiYWxhbmNlXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudCBCYW5rIGFjY291bnQgZm9yIGJhbGFuY2UgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZU9wZW5pbmdCYWxhbmNlKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtiYW5rQWNjb3VudC5pZH0vb3BlbmluZy1iYWxhbmNlcy8ke2JhbmtBY2NvdW50LmdldEN1cnJlbnRZZWFyQmFsYW5jZSgpLmlkfWAsIGJhbmtBY2NvdW50LmdldEN1cnJlbnRZZWFyQmFsYW5jZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogQmFua0FjY291bnRbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0ZW1wQ2FjaGVbdGVtcENhY2hlLmZpbmRJbmRleCgoYmE6IEJhbmtBY2NvdW50KSA9PiBiYS5pZCA9PT0gYmFua0FjY291bnQuaWQpXS5iYWxhbmNlcywgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYmFuayBhY2NvdW50IGN1cnJlbnQgYmFsYW5jZVxuICAgKi9cbiAgdXBkYXRlQ3VycmVudEJhbGFuY2UoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogT2JzZXJ2YWJsZTxCYW5rQWNjb3VudD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7YmFua0FjY291bnQuaWR9L2JhbGFuY2VgLCBiYW5rQWNjb3VudClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkQmFua0FjY291bnQ6IEJhbmtBY2NvdW50ID0gcGxhaW5Ub0NsYXNzKEJhbmtBY2NvdW50LCByZXNwb25zZSk7XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRCYW5rQWNjb3VudCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9VUERBVEVELCB1cGRhdGVkQmFua0FjY291bnQpKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEJhbmtBY2NvdW50O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldE93bigpOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGJhbmtBY2NvdW50cy5maWx0ZXIoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4gYmFua0FjY291bnQuaXNPd25lcigrbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgZ2V0QnlDb25uZWN0aW9uKGNvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKTogT2JzZXJ2YWJsZTxCYW5rQWNjb3VudENvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pOiBCYW5rQWNjb3VudENvbGxlY3Rpb24gPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEJhbmtBY2NvdW50Q29sbGVjdGlvbihiYW5rQWNjb3VudHMpLmZpbHRlckJ5KCdiYW5rQ29ubmVjdGlvbi5pZCcsIGNvbm5lY3Rpb24uaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0V2ZW50RGlzcGF0Y2hlckNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uTE9BTl9QQVlPVVRfVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uQkFOS19DT05ORUNUSU9OX0FEREVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5CQU5LX1RSQU5TQUNUSU9OU19BRERFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uQkFOS19UUkFOU0FDVElPTlNfREVMRVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuSCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRWpEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQWdFO0lBSHhHOztRQUlFLGdCQUFXLEdBQVcsZUFBZSxDQUFDO1FBQ3RDLGVBQVUsR0FBdUIsV0FBVyxDQUFDO1FBQzdDLG9CQUFlLEdBQWlDLHFCQUFxQixDQUFDO1FBQ3RFLG9CQUFlLEdBQWlCLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FzQy9FO0lBcENDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsb0JBQW9CLENBQUMsV0FBd0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQzthQUMxRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sa0JBQWtCLEdBQWdCLFlBQVksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFakQsT0FBTyxrQkFBa0IsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssOEJBQThCO1FBQ3BDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7WUFDN0IsZ0JBQWdCLENBQUMsbUJBQW1CO1NBQ3JDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2dIQXpDVSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSwgQmFua0FjY291bnQsIEJhbmtDb25uZWN0aW9uLCBCYW5rVHJhbnNhY3Rpb24sIFByb3BlcnR5U2hhcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0JztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIHVzZXIncyBiYW5rIGFjY291bnRzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtBY2NvdW50QmFzZSwgQmFua0FjY291bnQsIEJhbmtBY2NvdW50Q29sbGVjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGVuZHBvaW50VXJpOiBzdHJpbmcgPSAnYmFuay1hY2NvdW50cyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBCYW5rQWNjb3VudCA9IEJhbmtBY2NvdW50O1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBCYW5rQWNjb3VudENvbGxlY3Rpb24gPSBCYW5rQWNjb3VudENvbGxlY3Rpb247XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0JywgJ3B1dEJhdGNoJywgJ2RlbGV0ZScsICdkZWxldGVCYXRjaCddO1xuXG4gIC8qKlxuICAgKiBMaXN0ZW4gc3lzdGVtIG5vdGlmaWNhdGlvbnMgYW5kIHVwZGF0ZSBjYWNoZSB3aGVuIGdvdCBiYXNpcSBub3RpZmljYXRpb24gcmVjZWl2ZWRcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvRXZlbnREaXNwYXRjaGVyQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuQ1NFKEJhbmtUcmFuc2FjdGlvbiwgWydwb3N0JywgJ2RlbGV0ZSddLCB0aGlzLnJlc2V0Q2FjaGUpO1xuICAgIHRoaXMubGlzdGVuQ1NFKFByb3BlcnR5U2hhcmUsIFsncHV0J10sIHRoaXMucmVzZXRDYWNoZSk7XG4gICAgdGhpcy5saXN0ZW5DU0UoQmFua0Nvbm5lY3Rpb24sIFsncG9zdCddLCB0aGlzLnJlc2V0Q2FjaGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgY3VycmVudCBiYWxhbmNlXG4gICAqIEBUT0RPIFZpazogcmVmYWN0b3Igb25jZSBiYWNrZW5kIHVwZGF0ZWQgKHNob3VsZCBiZSBzZXBhcmF0ZWQgZW5kcG9pbnQgZm9yIEJhbmtBY2NvdW50QmFsYW5jZSBlbnRpdHkpXG4gICAqL1xuICB1cGRhdGVDdXJyZW50QmFsYW5jZShiYW5rQWNjb3VudDogQmFua0FjY291bnQpOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9LyR7YmFua0FjY291bnQuaWR9L2JhbGFuY2VgLCBiYW5rQWNjb3VudClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkQmFua0FjY291bnQ6IEJhbmtBY2NvdW50ID0gcGxhaW5Ub0NsYXNzKEJhbmtBY2NvdW50LCByZXNwb25zZSk7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbdXBkYXRlZEJhbmtBY2NvdW50XSwgJ3B1dCcpO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRCYW5rQWNjb3VudDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvRXZlbnREaXNwYXRjaGVyQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW1xuICAgICAgQXBwRXZlbnRUeXBlRW51bS5MT0FOX1BBWU9VVF9VUERBVEVELFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,50 +1,47 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
2
|
import { catchError, map } from 'rxjs/operators';
|
|
3
3
|
import { plainToClass } from 'class-transformer';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
|
|
7
|
-
import cloneDeep from 'lodash/cloneDeep';
|
|
8
|
-
import { replace } from '../../../../functions/array';
|
|
9
|
-
import { AppEvent } from '../../../../models/event/app-event';
|
|
4
|
+
import { RestService } from '../../rest';
|
|
5
|
+
import { AppEvent, AppEventTypeEnum, BankConnection, BankAccount } from '../../../../models';
|
|
10
6
|
import { UserEventTypeTypeEnum } from '../../../../db/Enums/user-event-type-type.enum';
|
|
11
7
|
import { throwError as observableThrowError } from 'rxjs/internal/observable/throwError';
|
|
8
|
+
import { Collection } from '../../../../collections';
|
|
12
9
|
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common/http";
|
|
11
|
+
import * as i2 from "../../../event";
|
|
12
|
+
import * as i3 from "../../../toast";
|
|
13
13
|
/**
|
|
14
14
|
* BankConnection means user account at specific bank (usually each user has only one at the same bank)
|
|
15
15
|
* service handles BankConnection management
|
|
16
16
|
*/
|
|
17
17
|
export class BankConnectionService extends RestService {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(
|
|
18
|
+
constructor(http, eventDispatcherService, environment, toastService) {
|
|
19
|
+
super(http, eventDispatcherService, environment);
|
|
20
|
+
this.http = http;
|
|
21
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
22
|
+
this.environment = environment;
|
|
23
|
+
this.toastService = toastService;
|
|
20
24
|
this.modelClass = BankConnection;
|
|
21
|
-
this.
|
|
25
|
+
this.collectionClass = Collection;
|
|
26
|
+
this.endpointUri = 'bank-connections';
|
|
27
|
+
this.disabledMethods = ['postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
|
|
22
28
|
}
|
|
23
29
|
listenEvents() {
|
|
24
|
-
this.
|
|
30
|
+
this.listenCSE(BankAccount, ['post'], this.resetCache);
|
|
25
31
|
this.listenNotifications();
|
|
26
32
|
this.listenBasiqLogin();
|
|
27
33
|
}
|
|
28
|
-
|
|
29
|
-
return this.http.post(
|
|
30
|
-
.pipe(map((
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (this.cache) {
|
|
35
|
-
if (bankConnection.id) {
|
|
36
|
-
const tempCache = cloneDeep(this.cache);
|
|
37
|
-
replace(tempCache, connection);
|
|
38
|
-
this.cache = tempCache;
|
|
39
|
-
this.cacheSubject.next(this.cache);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
this.cache.push(connection);
|
|
43
|
-
this.cacheSubject.next(cloneDeep(this.cache));
|
|
44
|
-
}
|
|
34
|
+
post(bankConnection) {
|
|
35
|
+
return this.http.post(this.apiUrl, bankConnection)
|
|
36
|
+
.pipe(map((response) => {
|
|
37
|
+
const result = plainToClass(BankConnection, response);
|
|
38
|
+
if (bankConnection.id) {
|
|
39
|
+
this.handleResponse([result], 'put');
|
|
45
40
|
}
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
else {
|
|
42
|
+
this.handleResponse([result], 'post');
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
48
45
|
}), catchError((error) => {
|
|
49
46
|
// Show error when user provided wrong login data
|
|
50
47
|
if (error.status === 401) {
|
|
@@ -57,11 +54,6 @@ export class BankConnectionService extends RestService {
|
|
|
57
54
|
return observableThrowError(error);
|
|
58
55
|
}));
|
|
59
56
|
}
|
|
60
|
-
listenToAddedBankAccounts() {
|
|
61
|
-
this.eventDispatcherService.on(AppEventTypeEnum.BANK_ACCOUNT_CREATED).subscribe(() => {
|
|
62
|
-
this.resetCache();
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
57
|
/**
|
|
66
58
|
* Update cache when basiq accounts were retrieved or login to basic was failed to get actual connections statuses
|
|
67
59
|
*/
|
|
@@ -82,8 +74,10 @@ export class BankConnectionService extends RestService {
|
|
|
82
74
|
*/
|
|
83
75
|
listenBasiqLogin() {
|
|
84
76
|
this.eventDispatcherService.on(AppEventTypeEnum.BASIQ_LOGIN_SUCCESS).subscribe((data) => {
|
|
85
|
-
this.
|
|
86
|
-
.subscribe(() => {
|
|
77
|
+
this.post(plainToClass(BankConnection, { id: data.connectionId, basiqJob: { externalId: data.jobId } }))
|
|
78
|
+
.subscribe((connection) => {
|
|
79
|
+
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_CONNECTION_ADDED, connection));
|
|
80
|
+
},
|
|
87
81
|
// When user already has some bank accounts in handling connection and trying to login with different credentials, backend can not save this connection.
|
|
88
82
|
// So we should handle this case as failed login
|
|
89
83
|
() => {
|
|
@@ -96,12 +90,15 @@ BankConnectionService.userEventTypes = [
|
|
|
96
90
|
UserEventTypeTypeEnum.BASIQ_NEW_ACCOUNTS,
|
|
97
91
|
UserEventTypeTypeEnum.BASIQ_AUTHORIZATION_FAIL
|
|
98
92
|
];
|
|
99
|
-
BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
100
|
-
BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
93
|
+
BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
94
|
+
BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankConnectionService, decorators: [{
|
|
102
96
|
type: Injectable,
|
|
103
97
|
args: [{
|
|
104
98
|
providedIn: 'root'
|
|
105
99
|
}]
|
|
106
|
-
}] }
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1jb25uZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstY29ubmVjdGlvbi9iYW5rLWNvbm5lY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFaEYsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXRELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUd2RixPQUFPLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBRXpGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxXQUErQztJQUgxRjs7UUFTRSxlQUFVLEdBQUcsY0FBYyxDQUFDO1FBQzVCLFFBQUcsR0FBVyxrQkFBa0IsQ0FBQztLQXdGbEM7SUF0RkMsWUFBWTtRQUNWLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUks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LENBQUMsSUFBeUIsRUFBRSxFQUFFO1lBQzNHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUNwRyxTQUFTLENBQ1IsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNULHdKQUF3SjtZQUN4SixnREFBZ0Q7WUFDaEQsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNoRyxDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7QUE3Rk0sb0NBQWMsR0FBNEI7SUFDL0MscUJBQXFCLENBQUMsa0JBQWtCO0lBQ3hDLHFCQUFxQixDQUFDLHdCQUF3QjtDQUMvQyxDQUFDO21IQUpTLHFCQUFxQjt1SEFBckIscUJBQXFCLGNBRnBCLE1BQU07NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uIGFzIEJhbmtDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstY29ubmVjdGlvbic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCYXNpcUNvbm5lY3Rpb25EYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3dFcnJvciB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS90aHJvd0Vycm9yJztcblxuLyoqXG4gKiBCYW5rQ29ubmVjdGlvbiBtZWFucyB1c2VyIGFjY291bnQgYXQgc3BlY2lmaWMgYmFuayAodXN1YWxseSBlYWNoIHVzZXIgaGFzIG9ubHkgb25lIGF0IHRoZSBzYW1lIGJhbmspXG4gKiBzZXJ2aWNlIGhhbmRsZXMgQmFua0Nvbm5lY3Rpb24gbWFuYWdlbWVudFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYW5rQ29ubmVjdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxCYW5rQ29ubmVjdGlvbkJhc2UsIEJhbmtDb25uZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgc3RhdGljIHVzZXJFdmVudFR5cGVzOiBVc2VyRXZlbnRUeXBlVHlwZUVudW1bXSA9IFtcbiAgICBVc2VyRXZlbnRUeXBlVHlwZUVudW0uQkFTSVFfTkVXX0FDQ09VTlRTLFxuICAgIFVzZXJFdmVudFR5cGVUeXBlRW51bS5CQVNJUV9BVVRIT1JJWkFUSU9OX0ZBSUxcbiAgXTtcblxuICBtb2RlbENsYXNzID0gQmFua0Nvbm5lY3Rpb247XG4gIHVybDogc3RyaW5nID0gJ2JhbmstY29ubmVjdGlvbnMnO1xuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQWRkZWRCYW5rQWNjb3VudHMoKTtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgICB0aGlzLmxpc3RlbkJhc2lxTG9naW4oKTtcbiAgfVxuXG4gIGFkZChiYW5rQ29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pOiBPYnNlcnZhYmxlPEJhbmtDb25uZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgYmFua0Nvbm5lY3Rpb24pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChiYW5rQ29ubmVjdGlvbkJhc2U6IEJhbmtDb25uZWN0aW9uQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uID0gcGxhaW5Ub0NsYXNzKEJhbmtDb25uZWN0aW9uLCBiYW5rQ29ubmVjdGlvbkJhc2UpO1xuXG4gICAgICAgICAgLy8gV2UgdXNlIHRoaXMgZW5kcG9pbnQgZm9yIGNyZWF0ZSBhbmQgcmVjb25uZWN0IGJhbmsgY29ubmVjdGlvbnMgYmVjYXVzZSBvZiBiYXNpcSBsb2dpYy5cbiAgICAgICAgICAvLyBTbyB3ZSB0cnkgdG8gcmVwbGFjZSBiYW5rIGNvbm5lY3Rpb24gaW4gY2FjaGUgZm9yIHJlY29ubmVjdGlvbiBjYXNlLlxuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICBpZiAoYmFua0Nvbm5lY3Rpb24uaWQpIHtcbiAgICAgICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBCYW5rQ29ubmVjdGlvbltdID0gY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgICAgICByZXBsYWNlKHRlbXBDYWNoZSwgY29ubmVjdGlvbik7XG5cbiAgICAgICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaChjb25uZWN0aW9uKVxuICAgICAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KGNsb25lRGVlcCh0aGlzLmNhY2hlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQ09OTkVDVElPTl9BRERFRCwgY29ubmVjdGlvbikpO1xuXG4gICAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhCYW5rQ29ubmVjdGlvbiwgY29ubmVjdGlvbik7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAvLyBTaG93IGVycm9yIHdoZW4gdXNlciBwcm92aWRlZCB3cm9uZyBsb2dpbiBkYXRhXG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5lcnJvcignSW52YWxpZCBjcmVkZW50aWFscycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFNob3cgZXJyb3Igd2hlbiB1c2VyIHByb3ZpZGVkIGFub3RoZXIgbG9naW4gKG5vdCBsb2dpbiBoZSB1c2VkIGJlZm9yZSlcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKCdQbGVhc2UgZW50ZXIgdGhlIGxvZ2luIHlvdSB1c2VkIGJlZm9yZScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgbGlzdGVuVG9BZGRlZEJhbmtBY2NvdW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5CQU5LX0FDQ09VTlRfQ1JFQVRFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIGJhc2lxIGFjY291bnRzIHdlcmUgcmV0cmlldmVkIG9yIGxvZ2luIHRvIGJhc2ljIHdhcyBmYWlsZWQgdG8gZ2V0IGFjdHVhbCBjb25uZWN0aW9ucyBzdGF0dXNlc1xuICAgKi9cbiAgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICAvLyBAVE9ETyB2aWsgbGlzdGVuIHNzZSB3aGVuIGJhY2tlbmQgdXBkYXRlZFxuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICAgICAgLy8gQFRvZG8gVFQtMjI4MCBBbGV4IHJlZmFjdG9yIFNlcnZpY2VOb3RpZmljYXRpb24gaXNSZWFkIGxvZ2ljLiBXZSBkb24ndCBuZWVkIHRvIGtub3cgaGVyZSB3aGV0aGVyIG5vdGlmaWNhdGlvbiB3YXMgcmVhZCBvciBub3RcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChCYW5rQ29ubmVjdGlvblNlcnZpY2UudXNlckV2ZW50VHlwZXMuaW5jbHVkZXMobm90aWZpY2F0aW9uLmV2ZW50VHlwZSkpIHtcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlL3JlY29ubmVjdCBiYW5rIGNvbm5lY3Rpb24gd2hlbiB1c2VyIHN1Y2Nlc3NmdWxseSBsb2dnZWQgaW4gdG8gYmFzaXFcbiAgICovXG4gIGxpc3RlbkJhc2lxTG9naW4oKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFTSVFfTE9HSU5fU1VDQ0VTUykuc3Vic2NyaWJlKChkYXRhOiBCYXNpcUNvbm5lY3Rpb25EYXRhKSA9PiB7XG4gICAgICB0aGlzLmFkZChwbGFpblRvQ2xhc3MoQmFua0Nvbm5lY3Rpb24sIHsgaWQ6IGRhdGEuY29ubmVjdGlvbklkLCBiYXNpcUpvYjogeyBleHRlcm5hbElkOiBkYXRhLmpvYklkIH0gfSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKCkgPT4geyB9LFxuICAgICAgICAgIC8vIFdoZW4gdXNlciBhbHJlYWR5IGhhcyBzb21lIGJhbmsgYWNjb3VudHMgaW4gaGFuZGxpbmcgY29ubmVjdGlvbiBhbmQgdHJ5aW5nIHRvIGxvZ2luIHdpdGggZGlmZmVyZW50IGNyZWRlbnRpYWxzLCBiYWNrZW5kIGNhbiBub3Qgc2F2ZSB0aGlzIGNvbm5lY3Rpb24uXG4gICAgICAgICAgLy8gU28gd2Ugc2hvdWxkIGhhbmRsZSB0aGlzIGNhc2UgYXMgZmFpbGVkIGxvZ2luXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0xPR0lOX0ZBSUxFRCwgbnVsbCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
101
|
+
type: Inject,
|
|
102
|
+
args: ['environment']
|
|
103
|
+
}] }, { type: i3.ToastService }]; } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1jb25uZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9iYW5rL2JhbmstY29ubmVjdGlvbi9iYW5rLWNvbm5lY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBcUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVoSSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV2RixPQUFPLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUlyRDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBMkU7SUFXcEgsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0IsRUFDekMsWUFBMEI7UUFFbEMsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUx2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDekMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFUcEMsZUFBVSxH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WUFDekcsQ0FBQztZQUNELHdKQUF3SjtZQUN4SixnREFBZ0Q7WUFDaEQsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNoRyxDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7QUF6Rk0sb0NBQWMsR0FBNEI7SUFDL0MscUJBQXFCLENBQUMsa0JBQWtCO0lBQ3hDLHFCQUFxQixDQUFDLHdCQUF3QjtDQUMvQyxDQUFDO21IQUpTLHFCQUFxQixrRkFjdEIsYUFBYTt1SEFkWixxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFlSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uIGFzIEJhbmtDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QnO1xuaW1wb3J0IHsgQXBwRXZlbnQsIEFwcEV2ZW50VHlwZUVudW0sIEJhbmtDb25uZWN0aW9uLCBCYW5rQWNjb3VudCwgQmFzaXFDb25uZWN0aW9uRGF0YSwgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3dFcnJvciB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS90aHJvd0Vycm9yJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b2FzdCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXZlbnQnO1xuXG4vKipcbiAqIEJhbmtDb25uZWN0aW9uIG1lYW5zIHVzZXIgYWNjb3VudCBhdCBzcGVjaWZpYyBiYW5rICh1c3VhbGx5IGVhY2ggdXNlciBoYXMgb25seSBvbmUgYXQgdGhlIHNhbWUgYmFuaylcbiAqIHNlcnZpY2UgaGFuZGxlcyBCYW5rQ29ubmVjdGlvbiBtYW5hZ2VtZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtDb25uZWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtDb25uZWN0aW9uQmFzZSwgQmFua0Nvbm5lY3Rpb24sIENvbGxlY3Rpb248QmFua0Nvbm5lY3Rpb24+PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgc3RhdGljIHVzZXJFdmVudFR5cGVzOiBVc2VyRXZlbnRUeXBlVHlwZUVudW1bXSA9IFtcbiAgICBVc2VyRXZlbnRUeXBlVHlwZUVudW0uQkFTSVFfTkVXX0FDQ09VTlRTLFxuICAgIFVzZXJFdmVudFR5cGVUeXBlRW51bS5CQVNJUV9BVVRIT1JJWkFUSU9OX0ZBSUxcbiAgXTtcblxuICBtb2RlbENsYXNzOiB0eXBlb2YgQmFua0Nvbm5lY3Rpb24gPSBCYW5rQ29ubmVjdGlvbjtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgQ29sbGVjdGlvbiA9IENvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpOiBzdHJpbmcgPSAnYmFuay1jb25uZWN0aW9ucyc7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0QmF0Y2gnLCAncHV0JywgJ3B1dEJhdGNoJywgJ2RlbGV0ZScsICdkZWxldGVCYXRjaCddO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DU0UoQmFua0FjY291bnQsIFsncG9zdCddLCB0aGlzLnJlc2V0Q2FjaGUpO1xuICAgIHRoaXMubGlzdGVuTm90aWZpY2F0aW9ucygpO1xuICAgIHRoaXMubGlzdGVuQmFzaXFMb2dpbigpO1xuICB9XG5cbiAgcG9zdChiYW5rQ29ubmVjdGlvbjogQmFua0Nvbm5lY3Rpb24pOiBPYnNlcnZhYmxlPEJhbmtDb25uZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYXBpVXJsLCBiYW5rQ29ubmVjdGlvbilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYW5rQ29ubmVjdGlvbkJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IEJhbmtDb25uZWN0aW9uID0gcGxhaW5Ub0NsYXNzKEJhbmtDb25uZWN0aW9uLCByZXNwb25zZSk7XG4gICAgICAgICAgaWYgKGJhbmtDb25uZWN0aW9uLmlkKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtyZXN1bHRdLCAncHV0Jyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW3Jlc3VsdF0sICdwb3N0Jyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIC8vIFNob3cgZXJyb3Igd2hlbiB1c2VyIHByb3ZpZGVkIHdyb25nIGxvZ2luIGRhdGFcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKCdJbnZhbGlkIGNyZWRlbnRpYWxzJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2hvdyBlcnJvciB3aGVuIHVzZXIgcHJvdmlkZWQgYW5vdGhlciBsb2dpbiAobm90IGxvZ2luIGhlIHVzZWQgYmVmb3JlKVxuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoJ1BsZWFzZSBlbnRlciB0aGUgbG9naW4geW91IHVzZWQgYmVmb3JlJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgd2hlbiBiYXNpcSBhY2NvdW50cyB3ZXJlIHJldHJpZXZlZCBvciBsb2dpbiB0byBiYXNpYyB3YXMgZmFpbGVkIHRvIGdldCBhY3R1YWwgY29ubmVjdGlvbnMgc3RhdHVzZXNcbiAgICovXG4gIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgLy8gQFRPRE8gdmlrIGxpc3RlbiBzc2Ugd2hlbiBiYWNrZW5kIHVwZGF0ZWRcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIC8vIEBUb2RvIFRULTIyODAgQWxleCByZWZhY3RvciBTZXJ2aWNlTm90aWZpY2F0aW9uIGlzUmVhZCBsb2dpYy4gV2UgZG9uJ3QgbmVlZCB0byBrbm93IGhlcmUgd2hldGhlciBub3RpZmljYXRpb24gd2FzIHJlYWQgb3Igbm90XG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5pc1JlYWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoQmFua0Nvbm5lY3Rpb25TZXJ2aWNlLnVzZXJFdmVudFR5cGVzLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi5ldmVudFR5cGUpKSB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZS9yZWNvbm5lY3QgYmFuayBjb25uZWN0aW9uIHdoZW4gdXNlciBzdWNjZXNzZnVsbHkgbG9nZ2VkIGluIHRvIGJhc2lxXG4gICAqL1xuICBsaXN0ZW5CYXNpcUxvZ2luKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBU0lRX0xPR0lOX1NVQ0NFU1MpLnN1YnNjcmliZSgoZGF0YTogQmFzaXFDb25uZWN0aW9uRGF0YSkgPT4ge1xuXG4gICAgICB0aGlzLnBvc3QocGxhaW5Ub0NsYXNzKEJhbmtDb25uZWN0aW9uLCB7IGlkOiBkYXRhLmNvbm5lY3Rpb25JZCwgYmFzaXFKb2I6IHsgZXh0ZXJuYWxJZDogZGF0YS5qb2JJZCB9IH0pKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQ09OTkVDVElPTl9BRERFRCwgY29ubmVjdGlvbikpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gV2hlbiB1c2VyIGFscmVhZHkgaGFzIHNvbWUgYmFuayBhY2NvdW50cyBpbiBoYW5kbGluZyBjb25uZWN0aW9uIGFuZCB0cnlpbmcgdG8gbG9naW4gd2l0aCBkaWZmZXJlbnQgY3JlZGVudGlhbHMsIGJhY2tlbmQgY2FuIG5vdCBzYXZlIHRoaXMgY29ubmVjdGlvbi5cbiAgICAgICAgICAvLyBTbyB3ZSBzaG91bGQgaGFuZGxlIHRoaXMgY2FzZSBhcyBmYWlsZWQgbG9naW5cbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQkFTSVFfTE9HSU5fRkFJTEVELCBudWxsKSk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { map } from 'rxjs/operators';
|
|
3
|
-
import { RestService } from '../../rest
|
|
3
|
+
import { RestService } from '../../rest';
|
|
4
4
|
import { plainToClass } from 'class-transformer';
|
|
5
|
-
import { BankTransaction } from '../../../../models
|
|
6
|
-
import { FinancialYear } from '../../../../models/financial-year/financial-year';
|
|
7
|
-
import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
|
|
5
|
+
import { AppEvent, AppEventTypeEnum, BankTransaction, FinancialYear } from '../../../../models';
|
|
8
6
|
import { UserEventTypeTypeEnum } from '../../../../db/Enums/user-event-type-type.enum';
|
|
9
|
-
import {
|
|
7
|
+
import { BankTransactionCollection } from '../../../../collections';
|
|
10
8
|
import * as i0 from "@angular/core";
|
|
11
9
|
/**
|
|
12
10
|
* Service for bank transactions business logic
|
|
@@ -14,29 +12,20 @@ import * as i0 from "@angular/core";
|
|
|
14
12
|
export class BankTransactionService extends RestService {
|
|
15
13
|
constructor() {
|
|
16
14
|
super(...arguments);
|
|
17
|
-
|
|
18
|
-
this.url = 'bank-transactions';
|
|
15
|
+
this.endpointUri = 'bank-transactions';
|
|
19
16
|
this.modelClass = BankTransaction;
|
|
17
|
+
this.collectionClass = BankTransactionCollection;
|
|
18
|
+
this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'deleteBatch'];
|
|
20
19
|
}
|
|
21
20
|
listenEvents() {
|
|
22
21
|
this.listenBankTransactionsImport();
|
|
23
22
|
}
|
|
24
23
|
;
|
|
25
|
-
/**
|
|
26
|
-
* get list of bank transactions for passed bank account id
|
|
27
|
-
* @param bankAccountId Id of bank account we search bank transactions for
|
|
28
|
-
*/
|
|
29
|
-
getByBankAccountId(bankAccountId) {
|
|
30
|
-
return this.get()
|
|
31
|
-
.pipe(map((bankTransactions) => {
|
|
32
|
-
return bankTransactions.filter((bankTransaction) => bankTransaction.bankAccount.id === bankAccountId);
|
|
33
|
-
}));
|
|
34
|
-
}
|
|
35
24
|
/**
|
|
36
25
|
* Get list of bank transactions for provided financial year
|
|
37
26
|
* @TODO VIK/Alex: consider to use one endpoint to get bank transactions for 2 fin years
|
|
38
27
|
*/
|
|
39
|
-
|
|
28
|
+
getByYear(finYear) {
|
|
40
29
|
return this.http.get(`${this.environment.apiV2}/bank-transactions?financialYear=${finYear}`)
|
|
41
30
|
.pipe(map((bankTransactionsBase) => {
|
|
42
31
|
return bankTransactionsBase.map((bankTransaction) => plainToClass(BankTransaction, bankTransaction));
|
|
@@ -52,20 +41,15 @@ export class BankTransactionService extends RestService {
|
|
|
52
41
|
formData.append('file', file);
|
|
53
42
|
return this.http.post(`${this.environment.apiV2}/bank-accounts/${bankAccountId}/bank-transaction-imports`, formData)
|
|
54
43
|
.pipe(map((response) => {
|
|
55
|
-
const
|
|
44
|
+
const result = response
|
|
45
|
+
.map((baseTransaction) => plainToClass(BankTransaction, baseTransaction))
|
|
46
|
+
// we are interesting only current fin year bank transactions
|
|
47
|
+
.filter((bankTransaction) => new FinancialYear().includes(bankTransaction.date));
|
|
56
48
|
// push new items to cache only if we already have cache. Otherwise cache will contain only new items.
|
|
57
49
|
if (this.cache) {
|
|
58
|
-
|
|
59
|
-
this.cache.push(...newBankTransactions.filter((bt) => new FinancialYear().includes(bt.date)));
|
|
60
|
-
this.updateCache();
|
|
50
|
+
this.handleResponse(result, 'post');
|
|
61
51
|
}
|
|
62
|
-
|
|
63
|
-
return newBankTransactions;
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
delete(model) {
|
|
67
|
-
return super.delete(model).pipe(map(() => {
|
|
68
|
-
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_TRANSACTIONS_DELETED, model));
|
|
52
|
+
return result;
|
|
69
53
|
}));
|
|
70
54
|
}
|
|
71
55
|
/**
|
|
@@ -80,12 +64,12 @@ export class BankTransactionService extends RestService {
|
|
|
80
64
|
});
|
|
81
65
|
}
|
|
82
66
|
}
|
|
83
|
-
BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
84
|
-
BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
67
|
+
BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BankTransactionService, decorators: [{
|
|
86
70
|
type: Injectable,
|
|
87
71
|
args: [{
|
|
88
72
|
providedIn: 'root'
|
|
89
73
|
}]
|
|
90
74
|
}] });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvYmFuay9iYW5rLXRyYW5zYWN0aW9uL2JhbmstdHJhbnNhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFFOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRXBFOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQTRFO0lBSHhIOztRQUlFLGdCQUFXLEdBQVcsbUJBQW1CLENBQUM7UUFDMUMsZUFBVSxHQUEyQixlQUFlLENBQUM7UUFDckQsb0JBQWUsR0FBcUMseUJBQXlCLENBQUM7UUFDOUUsb0JBQWUsR0FBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7S0F3RHpGO0lBdERDLFlBQVk7UUFDVixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQUEsQ0FBQztJQUVGOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxPQUFlO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssb0NBQW9DLE9BQU8sRUFBRSxDQUFDO2FBQ3pGLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxvQkFBMkMsRUFBRSxFQUFFO1lBQ2xELE9BQU8sb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZ0MsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3hILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxhQUFxQixFQUFFLElBQVU7UUFDdEMsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGtCQUFrQixhQUFhLDJCQUEyQixFQUFFLFFBQVEsQ0FBQzthQUNqSCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBK0IsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sTUFBTSxHQUFzQixRQUFRO2lCQUN2QyxHQUFHLENBQUMsQ0FBQyxlQUFvQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDO2dCQUM5Riw2REFBNkQ7aUJBQzVELE1BQU0sQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BHLHNHQUFzRztZQUN0RyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDckM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssNEJBQTRCO1FBQ2xDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDM0csSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQywyQkFBMkIsRUFBRTtnQkFDeEcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDbkI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O29IQTNEVSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQUZyQixNQUFNOzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYW5rVHJhbnNhY3Rpb24gYXMgQmFua1RyYW5zYWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQXBwRXZlbnQsIEFwcEV2ZW50VHlwZUVudW0sIEJhbmtUcmFuc2FjdGlvbiwgRmluYW5jaWFsWWVhciwgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgYmFuayB0cmFuc2FjdGlvbnMgYnVzaW5lc3MgbG9naWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFua1RyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPEJhbmtUcmFuc2FjdGlvbkJhc2UsIEJhbmtUcmFuc2FjdGlvbiwgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGVuZHBvaW50VXJpOiBzdHJpbmcgPSAnYmFuay10cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQmFua1RyYW5zYWN0aW9uID0gQmFua1RyYW5zYWN0aW9uO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uID0gQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbjtcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3QnLCAncG9zdEJhdGNoJywgJ3B1dCcsICdwdXRCYXRjaCcsICdkZWxldGVCYXRjaCddO1xuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkJhbmtUcmFuc2FjdGlvbnNJbXBvcnQoKTtcbiAgfTtcblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgYmFuayB0cmFuc2FjdGlvbnMgZm9yIHByb3ZpZGVkIGZpbmFuY2lhbCB5ZWFyXG4gICAqIEBUT0RPIFZJSy9BbGV4OiBjb25zaWRlciB0byB1c2Ugb25lIGVuZHBvaW50IHRvIGdldCBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgMiBmaW4geWVhcnNcbiAgICovXG4gIGdldEJ5WWVhcihmaW5ZZWFyOiBudW1iZXIpOiBPYnNlcnZhYmxlPEJhbmtUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFuay10cmFuc2FjdGlvbnM/ZmluYW5jaWFsWWVhcj0ke2ZpblllYXJ9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGJhbmtUcmFuc2FjdGlvbnNCYXNlOiBCYW5rVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gYmFua1RyYW5zYWN0aW9uc0Jhc2UubWFwKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gcGxhaW5Ub0NsYXNzKEJhbmtUcmFuc2FjdGlvbiwgYmFua1RyYW5zYWN0aW9uKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGltcG9ydCBiYW5rIHRyYW5zYWN0aW9ucyBmcm9tIGNzdiBmaWxlXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudElkIEJhbmsgYWNjb3VudCBpZCB3ZSBpbXBvcnQgYmFuayB0cmFuc2FjdGlvbnMgZm9yXG4gICAqIEBwYXJhbSBmaWxlIEZpbGUgd2l0aCBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgaW1wb3J0XG4gICAqL1xuICBpbXBvcnQoYmFua0FjY291bnRJZDogbnVtYmVyLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxCYW5rVHJhbnNhY3Rpb25bXT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2JhbmstYWNjb3VudHMvJHtiYW5rQWNjb3VudElkfS9iYW5rLXRyYW5zYWN0aW9uLWltcG9ydHNgLCBmb3JtRGF0YSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYW5rVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQ6IEJhbmtUcmFuc2FjdGlvbltdID0gcmVzcG9uc2VcbiAgICAgICAgICAgIC5tYXAoKGJhc2VUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKEJhbmtUcmFuc2FjdGlvbiwgYmFzZVRyYW5zYWN0aW9uKSlcbiAgICAgICAgICAgIC8vIHdlIGFyZSBpbnRlcmVzdGluZyBvbmx5IGN1cnJlbnQgZmluIHllYXIgYmFuayB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBuZXcgRmluYW5jaWFsWWVhcigpLmluY2x1ZGVzKGJhbmtUcmFuc2FjdGlvbi5kYXRlKSk7XG4gICAgICAgICAgLy8gcHVzaCBuZXcgaXRlbXMgdG8gY2FjaGUgb25seSBpZiB3ZSBhbHJlYWR5IGhhdmUgY2FjaGUuIE90aGVyd2lzZSBjYWNoZSB3aWxsIGNvbnRhaW4gb25seSBuZXcgaXRlbXMuXG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzdWx0LCAncG9zdCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIG1vdmUgdG8gc3NlIHdoZW4gYmFja2VuZCBzZW5kIG1lcmN1cmUgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuQmFua1RyYW5zYWN0aW9uc0ltcG9ydCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlVHlwZUVudW0uQkFTSVFfRklSU1RfSU1QT1JUX0NPTVBMRVRFKSB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5CQU5LX1RSQU5TQUNUSU9OU19BRERFRCwgW10pKTtcbiAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|