taxtank-core 0.1.1 → 0.1.2
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 +12021 -0
- package/bundles/taxtank-core.umd.js.map +1 -0
- package/esm2015/lib/collections/abstract.collection.js +67 -0
- package/esm2015/lib/collections/bank-account.collection.js +135 -0
- package/esm2015/lib/collections/bank-transaction.collection.js +119 -0
- package/esm2015/lib/collections/client-movement.collection.js +31 -0
- package/esm2015/lib/collections/client-portfolio-report.collection.js +40 -0
- package/esm2015/lib/collections/client.collection.js +4 -0
- package/esm2015/lib/collections/collection-dictionary.js +83 -0
- package/esm2015/lib/collections/depreciation-forecast.collection.js +19 -0
- package/esm2015/lib/collections/depreciation.collection.js +67 -0
- package/esm2015/lib/collections/employee.collection.js +12 -0
- package/esm2015/lib/collections/income-source.collection.js +38 -0
- package/esm2015/lib/collections/loan.collection.js +18 -0
- package/esm2015/lib/collections/logbook.collection.js +97 -0
- package/esm2015/lib/collections/message-document.collection.js +13 -0
- package/esm2015/lib/collections/message.collection.js +21 -0
- package/esm2015/lib/collections/property.collection.js +65 -0
- package/esm2015/lib/collections/service-price.collection.js +10 -0
- package/esm2015/lib/collections/service-subscription.collection.js +17 -0
- package/esm2015/lib/collections/tax-return-category-item.collection.js +141 -0
- package/esm2015/lib/collections/tax-review.collection.js +55 -0
- package/esm2015/lib/collections/transaction-allocation.collection.js +40 -0
- package/esm2015/lib/collections/transaction.collection.js +120 -0
- package/esm2015/lib/collections/user-event-setting.collection.js +62 -0
- package/esm2015/lib/db/Enums/address-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/bank-account-status.enum.js +6 -0
- package/esm2015/lib/db/Enums/bank-account-type.enum.js +12 -0
- package/esm2015/lib/db/Enums/bank-connection-status.enum.js +7 -0
- package/esm2015/lib/db/Enums/bank-transaction-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/chart-accounts-category.enum.js +15 -0
- package/esm2015/lib/db/Enums/chart-accounts-etp.enum.js +9 -0
- package/esm2015/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.js +8 -0
- package/esm2015/lib/db/Enums/chart-accounts-heading-taxable.enum.js +8 -0
- package/esm2015/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.js +6 -0
- package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +21 -0
- package/esm2015/lib/db/Enums/chart-accounts-metadata-list.enum.js +16 -0
- package/esm2015/lib/db/Enums/chart-accounts-metadata-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/chart-accounts-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/chat-status.enum.js +6 -0
- package/esm2015/lib/db/Enums/client-details-medicare-exemption.enum.js +7 -0
- package/esm2015/lib/db/Enums/client-details-work-depreciation-calculation.enum.js +6 -0
- package/esm2015/lib/db/Enums/client-details-working-holiday-maker.enum.js +7 -0
- package/esm2015/lib/db/Enums/client-invite-status.enum.js +6 -0
- package/esm2015/lib/db/Enums/client-invite-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/depreciation-calculation-percent.enum.js +9 -0
- package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +9 -0
- package/esm2015/lib/db/Enums/depreciation-type.enum.js +8 -0
- package/esm2015/lib/db/Enums/depreciation-write-off-amount.enum.js +6 -0
- package/esm2015/lib/db/Enums/firm-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/income-source-type-list-other.enum.js +8 -0
- package/esm2015/lib/db/Enums/income-source-type-list-salary.enum.js +5 -0
- package/esm2015/lib/db/Enums/income-source-type-list-work.enum.js +10 -0
- package/esm2015/lib/db/Enums/income-source-type.enum.js +7 -0
- package/esm2015/lib/db/Enums/invite-status.enum.js +7 -0
- package/esm2015/lib/db/Enums/loan-bank-type.enum.js +12 -0
- package/esm2015/lib/db/Enums/loan-frequency.enum.js +8 -0
- package/esm2015/lib/db/Enums/loan-interest-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/loan-payout-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/loan-repayment-frequency.enum.js +7 -0
- package/esm2015/lib/db/Enums/loan-repayment-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/loan-type.enum.js +14 -0
- package/esm2015/lib/db/Enums/loan-vehicle-type.enum.js +7 -0
- package/esm2015/lib/db/Enums/phone-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/property-depreciation-calculation.enum.js +6 -0
- package/esm2015/lib/db/Enums/property-owner-access.enum.js +6 -0
- package/esm2015/lib/db/Enums/property-owner-status.enum.js +7 -0
- package/esm2015/lib/db/Enums/registration-invite-status.enum.js +6 -0
- package/esm2015/lib/db/Enums/salary-forecast-frequency.enum.js +8 -0
- package/esm2015/lib/db/Enums/service-notification-status.enum.js +7 -0
- package/esm2015/lib/db/Enums/service-notification-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/service-payment-status.enum.js +6 -0
- package/esm2015/lib/db/Enums/service-price-recurring-interval.enum.js +8 -0
- package/esm2015/lib/db/Enums/service-price-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/service-subscription-status.enum.js +10 -0
- package/esm2015/lib/db/Enums/spare-document-spare-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/tank-type.enum.js +7 -0
- package/esm2015/lib/db/Enums/tax-calculation-medicare-exemption.enum.js +6 -0
- package/esm2015/lib/db/Enums/tax-calculation-type.enum.js +14 -0
- package/esm2015/lib/db/Enums/tax-return-category-list.enum.js +28 -0
- package/esm2015/lib/db/Enums/tax-return-category-section.enum.js +8 -0
- package/esm2015/lib/db/Enums/tax-review-status.enum.js +13 -0
- package/esm2015/lib/db/Enums/tax-summary-list.enum.js +17 -0
- package/esm2015/lib/db/Enums/tax-summary-section.enum.js +8 -0
- package/esm2015/lib/db/Enums/tax-summary-tax-summary.enum.js +17 -0
- package/esm2015/lib/db/Enums/ticket-feedback.enum.js +6 -0
- package/esm2015/lib/db/Enums/ticket-status.enum.js +9 -0
- package/esm2015/lib/db/Enums/ticket-types.enum.js +5 -0
- package/esm2015/lib/db/Enums/transaction-operation.enum.js +7 -0
- package/esm2015/lib/db/Enums/transaction-source.enum.js +6 -0
- package/esm2015/lib/db/Enums/transaction-type.enum.js +6 -0
- package/esm2015/lib/db/Enums/user-event-status.enum.js +8 -0
- package/esm2015/lib/db/Enums/user-event-type-frequency.enum.js +8 -0
- package/esm2015/lib/db/Enums/user-event-type-reminder-type.enum.js +8 -0
- package/esm2015/lib/db/Enums/user-event-type-reminder.enum.js +7 -0
- package/esm2015/lib/db/Enums/user-event-type-type.enum.js +35 -0
- package/esm2015/lib/db/Enums/user-medicare-exemption.enum.js +7 -0
- package/esm2015/lib/db/Enums/user-roles.enum.js +15 -0
- package/esm2015/lib/db/Enums/user-status.enum.js +8 -0
- package/esm2015/lib/db/Enums/user-title.enum.js +9 -0
- package/esm2015/lib/db/Enums/user-work-depreciation-calculation.enum.js +6 -0
- package/esm2015/lib/db/Enums/user-working-holiday-maker.enum.js +7 -0
- package/esm2015/lib/db/Enums/vehicle-claim-method.enum.js +6 -0
- package/esm2015/lib/db/Enums/vehicle-logbook-purpose.enum.js +6 -0
- package/esm2015/lib/db/Models/address.js +3 -0
- package/esm2015/lib/db/Models/bank-account-balance.js +3 -0
- package/esm2015/lib/db/Models/bank-account-property.js +3 -0
- package/esm2015/lib/db/Models/bank-account.js +3 -0
- package/esm2015/lib/db/Models/bank-connection.js +3 -0
- package/esm2015/lib/db/Models/bank-transaction-import.js +3 -0
- package/esm2015/lib/db/Models/bank-transaction.js +3 -0
- package/esm2015/lib/db/Models/bank.js +3 -0
- package/esm2015/lib/db/Models/basiq-job.js +3 -0
- package/esm2015/lib/db/Models/borrowing-expense-loan.js +3 -0
- package/esm2015/lib/db/Models/borrowing-expense.js +3 -0
- package/esm2015/lib/db/Models/capital-cost-property.js +3 -0
- package/esm2015/lib/db/Models/capital-cost.js +3 -0
- package/esm2015/lib/db/Models/chart-accounts-depreciation.js +3 -0
- package/esm2015/lib/db/Models/chart-accounts-heading.js +3 -0
- package/esm2015/lib/db/Models/chart-accounts-metadata.js +3 -0
- package/esm2015/lib/db/Models/chart-accounts-value.js +3 -0
- package/esm2015/lib/db/Models/chart-accounts.js +3 -0
- package/esm2015/lib/db/Models/chat.js +3 -0
- package/esm2015/lib/db/Models/client-details.js +3 -0
- package/esm2015/lib/db/Models/client-invite.js +3 -0
- package/esm2015/lib/db/Models/client-movement.js +3 -0
- package/esm2015/lib/db/Models/country.js +3 -0
- package/esm2015/lib/db/Models/depreciation-capital-project.js +3 -0
- package/esm2015/lib/db/Models/depreciation-forecast.js +3 -0
- package/esm2015/lib/db/Models/depreciation-receipt.js +3 -0
- package/esm2015/lib/db/Models/depreciation.js +4 -0
- package/esm2015/lib/db/Models/document-folder.js +3 -0
- package/esm2015/lib/db/Models/document.js +3 -0
- package/esm2015/lib/db/Models/employee-details.js +3 -0
- package/esm2015/lib/db/Models/employee-invite.js +3 -0
- package/esm2015/lib/db/Models/financial-data-system.js +3 -0
- package/esm2015/lib/db/Models/firm.js +3 -0
- package/esm2015/lib/db/Models/income-source-forecast.js +3 -0
- package/esm2015/lib/db/Models/income-source-type.js +3 -0
- package/esm2015/lib/db/Models/income-source.js +3 -0
- package/esm2015/lib/db/Models/loan-payout.js +3 -0
- package/esm2015/lib/db/Models/loan.js +3 -0
- package/esm2015/lib/db/Models/message-document.js +3 -0
- package/esm2015/lib/db/Models/message.js +3 -0
- package/esm2015/lib/db/Models/occupation.js +3 -0
- package/esm2015/lib/db/Models/phone.js +3 -0
- package/esm2015/lib/db/Models/property-capital-cost.js +3 -0
- package/esm2015/lib/db/Models/property-category-movement.js +3 -0
- package/esm2015/lib/db/Models/property-category.js +3 -0
- package/esm2015/lib/db/Models/property-document.js +3 -0
- package/esm2015/lib/db/Models/property-forecast.js +3 -0
- package/esm2015/lib/db/Models/property-owner.js +3 -0
- package/esm2015/lib/db/Models/property-sold.js +3 -0
- package/esm2015/lib/db/Models/property-subscription.js +3 -0
- package/esm2015/lib/db/Models/property-valuation.js +3 -0
- package/esm2015/lib/db/Models/property.js +3 -0
- package/esm2015/lib/db/Models/registration-invite.js +3 -0
- package/esm2015/lib/db/Models/salary-forecast.js +3 -0
- package/esm2015/lib/db/Models/service-notification.js +3 -0
- package/esm2015/lib/db/Models/service-payment.js +3 -0
- package/esm2015/lib/db/Models/service-price.js +3 -0
- package/esm2015/lib/db/Models/service-product.js +3 -0
- package/esm2015/lib/db/Models/service-subscription-item.js +3 -0
- package/esm2015/lib/db/Models/service-subscription.js +3 -0
- package/esm2015/lib/db/Models/tax-return-category.js +3 -0
- package/esm2015/lib/db/Models/tax-return-item.js +3 -0
- package/esm2015/lib/db/Models/tax-return.js +3 -0
- package/esm2015/lib/db/Models/tax-review.js +3 -0
- package/esm2015/lib/db/Models/ticket.js +3 -0
- package/esm2015/lib/db/Models/transaction-allocation.js +3 -0
- package/esm2015/lib/db/Models/transaction-base.js +20 -0
- package/esm2015/lib/db/Models/transaction-metadata.js +3 -0
- package/esm2015/lib/db/Models/transaction-receipt.js +3 -0
- package/esm2015/lib/db/Models/transaction.js +4 -0
- package/esm2015/lib/db/Models/user-event-setting.js +3 -0
- package/esm2015/lib/db/Models/user-event-type.js +3 -0
- package/esm2015/lib/db/Models/user-event.js +3 -0
- package/esm2015/lib/db/Models/user.js +3 -0
- package/esm2015/lib/db/Models/vehicle-claim.js +3 -0
- package/esm2015/lib/db/Models/vehicle-logbook.js +3 -0
- package/esm2015/lib/db/Models/vehicle.js +3 -0
- package/esm2015/lib/functions/array/index.js +4 -0
- package/esm2015/lib/functions/array/replace.js +6 -0
- package/esm2015/lib/functions/array/sort-deep.js +22 -0
- package/esm2015/lib/functions/array/sort.js +13 -0
- package/esm2015/lib/functions/clone-deep.js +5 -0
- package/esm2015/lib/functions/create-date.js +8 -0
- package/esm2015/lib/functions/enum-to-list.js +13 -0
- package/esm2015/lib/functions/get-doc-icon.js +18 -0
- package/esm2015/lib/functions/mat-options-functions.js +10 -0
- package/esm2015/lib/functions/mat-sort-options.js +10 -0
- package/esm2015/lib/functions/round-to.js +10 -0
- package/esm2015/lib/functions/tax-review-filter-predicate.js +10 -0
- package/esm2015/lib/interfaces/asset-entity-type.enum.js +12 -0
- package/esm2015/lib/interfaces/asset-type.enum.js +11 -0
- package/esm2015/lib/interfaces/asset.interface.js +2 -0
- package/esm2015/lib/interfaces/chart-data.interface.js +2 -0
- package/esm2015/lib/interfaces/chart-serie.interface.js +2 -0
- package/esm2015/lib/interfaces/document.interface.js +2 -0
- package/esm2015/lib/interfaces/documentable.interface.js +2 -0
- package/esm2015/lib/interfaces/event-listener.interface.js +2 -0
- package/esm2015/lib/interfaces/income-source-forecast.interface.js +2 -0
- package/esm2015/lib/interfaces/option.interface.js +2 -0
- package/esm2015/lib/interfaces/photoable.js +2 -0
- package/esm2015/lib/interfaces/receipt.interface.js +2 -0
- package/esm2015/lib/interfaces/salary-forecast.interface.js +2 -0
- package/esm2015/lib/interfaces/tank.interface.js +2 -0
- package/esm2015/lib/models/address/address.js +24 -0
- package/esm2015/lib/models/address/country.js +16 -0
- package/esm2015/lib/models/bank/bank-account-chart-data.js +34 -0
- package/esm2015/lib/models/bank/bank-account-property.js +10 -0
- package/esm2015/lib/models/bank/bank-account-types.const.js +15 -0
- package/esm2015/lib/models/bank/bank-account.js +122 -0
- package/esm2015/lib/models/bank/bank-connection.js +14 -0
- package/esm2015/lib/models/bank/bank-transaction-chart-data.js +106 -0
- package/esm2015/lib/models/bank/bank-transaction-summary-fields.enum.js +6 -0
- package/esm2015/lib/models/bank/bank-transaction.js +67 -0
- package/esm2015/lib/models/bank/bank.js +23 -0
- package/esm2015/lib/models/bank/basiq-job.js +4 -0
- package/esm2015/lib/models/bank/basiq-token.js +13 -0
- package/esm2015/lib/models/bank/type-loan.const.js +7 -0
- package/esm2015/lib/models/borrowing-expense/borrowing-expense-loan.js +4 -0
- package/esm2015/lib/models/borrowing-expense/borrowing-expense.js +4 -0
- package/esm2015/lib/models/chart/chart-data.js +13 -0
- package/esm2015/lib/models/chart/chart-serie.js +7 -0
- package/esm2015/lib/models/chart-accounts/chart-accounts-categories.const.js +85 -0
- package/esm2015/lib/models/chart-accounts/chart-accounts-depreciation.js +16 -0
- package/esm2015/lib/models/chart-accounts/chart-accounts-heading.js +4 -0
- package/esm2015/lib/models/chart-accounts/chart-accounts-metadata.js +14 -0
- package/esm2015/lib/models/chart-accounts/chart-accounts-tax-labels.enum.js +7 -0
- package/esm2015/lib/models/chart-accounts/chart-accounts.js +120 -0
- package/esm2015/lib/models/chat/chat-view-type.enum.js +6 -0
- package/esm2015/lib/models/chat/chat.js +23 -0
- package/esm2015/lib/models/chat/message-document.js +20 -0
- package/esm2015/lib/models/chat/message.js +39 -0
- package/esm2015/lib/models/client/client-details.js +4 -0
- package/esm2015/lib/models/client/client-invite.js +67 -0
- package/esm2015/lib/models/client/client-movement.js +27 -0
- package/esm2015/lib/models/client/client-portfolio-chart-data.js +57 -0
- package/esm2015/lib/models/client/client-portfolio-report.js +6 -0
- package/esm2015/lib/models/depreciation/depreciation-capital-project.js +9 -0
- package/esm2015/lib/models/depreciation/depreciation-forecast.js +22 -0
- package/esm2015/lib/models/depreciation/depreciation-group-item.js +14 -0
- package/esm2015/lib/models/depreciation/depreciation-group.enum.js +9 -0
- package/esm2015/lib/models/depreciation/depreciation-group.js +15 -0
- package/esm2015/lib/models/depreciation/depreciation-groups.const.js +29 -0
- package/esm2015/lib/models/depreciation/depreciation-receipt.js +11 -0
- package/esm2015/lib/models/depreciation/depreciation.js +159 -0
- package/esm2015/lib/models/document/document-api-url-prefix.enum.js +9 -0
- package/esm2015/lib/models/document/document-file-types.const.js +23 -0
- package/esm2015/lib/models/document/document-folder.js +10 -0
- package/esm2015/lib/models/document/document.js +24 -0
- package/esm2015/lib/models/employee/employee-details.js +10 -0
- package/esm2015/lib/models/employee/employee-invite.js +14 -0
- package/esm2015/lib/models/endpoint/endpoint.js +23 -0
- package/esm2015/lib/models/endpoint/endpoints.const.js +142 -0
- package/esm2015/lib/models/event/app-event-type.enum.js +39 -0
- package/esm2015/lib/models/event/app-event.js +10 -0
- package/esm2015/lib/models/file/icons-file.enum.js +7 -0
- package/esm2015/lib/models/financial-year/financial-year.js +44 -0
- package/esm2015/lib/models/financial-year/month-name-short.enum.js +21 -0
- package/esm2015/lib/models/financial-year/month-number.enum.js +21 -0
- package/esm2015/lib/models/financial-year/months.const.js +2 -0
- package/esm2015/lib/models/firm/firm.js +30 -0
- package/esm2015/lib/models/income-position/income-position.js +9 -0
- package/esm2015/lib/models/income-source/income-source-chart-data.js +45 -0
- package/esm2015/lib/models/income-source/income-source-forecast.js +31 -0
- package/esm2015/lib/models/income-source/income-source-type.js +27 -0
- package/esm2015/lib/models/income-source/income-source.js +51 -0
- package/esm2015/lib/models/income-source/salary-forecast.js +14 -0
- package/esm2015/lib/models/loan/loan-max-number-of-payments.enum.js +10 -0
- package/esm2015/lib/models/loan/loan-payment.js +12 -0
- package/esm2015/lib/models/loan/loan-payout.js +11 -0
- package/esm2015/lib/models/loan/loan.js +39 -0
- package/esm2015/lib/models/logbook/default-vehicle-expense.js +20 -0
- package/esm2015/lib/models/logbook/logbook-period.js +11 -0
- package/esm2015/lib/models/logbook/logbook-purpose-options.const.js +6 -0
- package/esm2015/lib/models/logbook/vehicle-claim.js +26 -0
- package/esm2015/lib/models/logbook/vehicle-logbook.js +16 -0
- package/esm2015/lib/models/logbook/vehicle.js +39 -0
- package/esm2015/lib/models/notification/notification-event-types.const.js +43 -0
- package/esm2015/lib/models/notification/notification.js +63 -0
- package/esm2015/lib/models/phone/phone.js +12 -0
- package/esm2015/lib/models/property/calculation-form-item.js +17 -0
- package/esm2015/lib/models/property/calculation-form-type.enum.js +9 -0
- package/esm2015/lib/models/property/capital-costs-itmes.const.js +57 -0
- package/esm2015/lib/models/property/corelogic-suggestion.js +7 -0
- package/esm2015/lib/models/property/ownership-filter-options.enum.js +10 -0
- package/esm2015/lib/models/property/property-capital-cost.js +4 -0
- package/esm2015/lib/models/property/property-category-movement.js +20 -0
- package/esm2015/lib/models/property/property-category.js +8 -0
- package/esm2015/lib/models/property/property-document.js +17 -0
- package/esm2015/lib/models/property/property-equity-chart-data.js +155 -0
- package/esm2015/lib/models/property/property-equity-chart-item.js +24 -0
- package/esm2015/lib/models/property/property-equity-chart-type.enum.js +6 -0
- package/esm2015/lib/models/property/property-forecast.js +52 -0
- package/esm2015/lib/models/property/property-owner.js +48 -0
- package/esm2015/lib/models/property/property-sold.js +12 -0
- package/esm2015/lib/models/property/property-subscription.js +13 -0
- package/esm2015/lib/models/property/property-valuation.js +23 -0
- package/esm2015/lib/models/property/property.js +130 -0
- package/esm2015/lib/models/registration-invite/registration-invite.js +10 -0
- package/esm2015/lib/models/service-subscription/module-url-list.const.js +12 -0
- package/esm2015/lib/models/service-subscription/service-payment.js +10 -0
- package/esm2015/lib/models/service-subscription/service-price.js +10 -0
- package/esm2015/lib/models/service-subscription/service-product.js +10 -0
- package/esm2015/lib/models/service-subscription/service-subscription-item.js +13 -0
- package/esm2015/lib/models/service-subscription/service-subscription.js +128 -0
- package/esm2015/lib/models/service-subscription/subscription-description.const.js +8 -0
- package/esm2015/lib/models/service-subscription/subscription-title.const.js +8 -0
- package/esm2015/lib/models/service-subscription/subscription-type.enum.js +8 -0
- package/esm2015/lib/models/tax-review/tax-review.js +86 -0
- package/esm2015/lib/models/tax-summary/tax-return-category-item-details.js +9 -0
- package/esm2015/lib/models/tax-summary/tax-return-category-item.js +15 -0
- package/esm2015/lib/models/tax-summary/tax-summary-section.js +30 -0
- package/esm2015/lib/models/tax-summary/tax-summary-type.enum.js +9 -0
- package/esm2015/lib/models/tax-summary/tax-summary.js +71 -0
- package/esm2015/lib/models/transaction/income-amount-type.enum.js +9 -0
- package/esm2015/lib/models/transaction/transaction-allocation.js +21 -0
- package/esm2015/lib/models/transaction/transaction-metadata.js +10 -0
- package/esm2015/lib/models/transaction/transaction-receipt.js +11 -0
- package/esm2015/lib/models/transaction/transaction.js +214 -0
- package/esm2015/lib/models/user/my-account-history-initiated-by.enum.js +6 -0
- package/esm2015/lib/models/user/my-account-history-status.enum.js +6 -0
- package/esm2015/lib/models/user/my-account-history-type.enum.js +7 -0
- package/esm2015/lib/models/user/my-account-history.js +3 -0
- package/esm2015/lib/models/user/occupation.js +4 -0
- package/esm2015/lib/models/user/user-roles.const.js +13 -0
- package/esm2015/lib/models/user/user-to-register.js +6 -0
- package/esm2015/lib/models/user/user-work-position.const.js +7 -0
- package/esm2015/lib/models/user/user.js +138 -0
- package/esm2015/lib/models/user-event/user-event-category.enum.js +11 -0
- package/esm2015/lib/models/user-event/user-event-category.js +6 -0
- package/esm2015/lib/models/user-event/user-event-setting-field.enum.js +10 -0
- package/esm2015/lib/models/user-event/user-event-setting.js +18 -0
- package/esm2015/lib/models/user-event/user-event-type.js +24 -0
- package/esm2015/lib/services/address/address.service.js +39 -0
- package/esm2015/lib/services/asset/assets.service.js +51 -0
- package/esm2015/lib/services/auth/auth.service.js +46 -0
- package/esm2015/lib/services/auth/jwt.service.js +36 -0
- package/esm2015/lib/services/bank/bank-account-calculation.service.js +30 -0
- package/esm2015/lib/services/bank/bank-account.service.js +108 -0
- package/esm2015/lib/services/bank/bank-connection.service.js +43 -0
- package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +65 -0
- package/esm2015/lib/services/bank/bank-transaction.service.js +89 -0
- package/esm2015/lib/services/bank/bank.service.js +24 -0
- package/esm2015/lib/services/bank/basiq.service.js +94 -0
- package/esm2015/lib/services/base-rest.service.js +190 -0
- package/esm2015/lib/services/borrowing-expense/borrowing-expense.service.js +73 -0
- package/esm2015/lib/services/chart-accounts/chart-accounts-depreciations.service.js +38 -0
- package/esm2015/lib/services/chart-accounts/chart-accounts.service.js +89 -0
- package/esm2015/lib/services/chat/chat.service.js +77 -0
- package/esm2015/lib/services/chat/message-document.service.js +118 -0
- package/esm2015/lib/services/chat/message.service.js +65 -0
- package/esm2015/lib/services/client/client-invite.service.js +102 -0
- package/esm2015/lib/services/client/client-movement.service.js +98 -0
- package/esm2015/lib/services/client/client-portfolio-report.service.js +37 -0
- package/esm2015/lib/services/depreciation/capital-project.service.js +62 -0
- package/esm2015/lib/services/depreciation/depreciation.service.js +146 -0
- package/esm2015/lib/services/document/document-folder.service.js +84 -0
- package/esm2015/lib/services/employee/employee-invite.service.js +53 -0
- package/esm2015/lib/services/employee/employee.service.js +39 -0
- package/esm2015/lib/services/event/event-dispatcher.service.js +30 -0
- package/esm2015/lib/services/event/sse.service.js +46 -0
- package/esm2015/lib/services/firm/firm.service.js +79 -0
- package/esm2015/lib/services/header-title/header-title.service.js +28 -0
- package/esm2015/lib/services/income-source/income-source-forecast.service.js +90 -0
- package/esm2015/lib/services/income-source/income-source.service.js +109 -0
- package/esm2015/lib/services/income-source/salary-forecast.service.js +90 -0
- package/esm2015/lib/services/intercom/intercom.service.js +41 -0
- package/esm2015/lib/services/loan/loan.service.js +145 -0
- package/esm2015/lib/services/notification/notification.service.js +65 -0
- package/esm2015/lib/services/preloader/preloader.service.js +30 -0
- package/esm2015/lib/services/property/corelogic.service.js +46 -0
- package/esm2015/lib/services/property/property-calculation.service.js +121 -0
- package/esm2015/lib/services/property/property-capital-cost.service.js +46 -0
- package/esm2015/lib/services/property/property-category.service.js +23 -0
- package/esm2015/lib/services/property/property-document.service.js +68 -0
- package/esm2015/lib/services/property/property-owner.service.js +123 -0
- package/esm2015/lib/services/property/property-sold.service.js +23 -0
- package/esm2015/lib/services/property/property.service.js +115 -0
- package/esm2015/lib/services/subscription/subscription.service.js +138 -0
- package/esm2015/lib/services/tax-review/tax-review-history.service.js +41 -0
- package/esm2015/lib/services/tax-review/tax-review.service.js +103 -0
- package/esm2015/lib/services/tax-summary/tax-summary.service.js +71 -0
- package/esm2015/lib/services/transaction/transaction-allocation.service.js +85 -0
- package/esm2015/lib/services/transaction/transaction-calculation.service.js +47 -0
- package/esm2015/lib/services/transaction/transaction.service.js +319 -0
- package/esm2015/lib/services/user/occupation.service.js +45 -0
- package/esm2015/lib/services/user/user-switcher.service.js +37 -0
- package/esm2015/lib/services/user/user.service.js +124 -0
- package/esm2015/lib/services/user-event/user-event-setting.service.js +59 -0
- package/esm2015/lib/services/user-event/user-event-type.service.js +29 -0
- package/esm2015/lib/services/work/work-tank.service.js +236 -0
- package/esm2015/lib/tt-core.module.js +31 -0
- package/esm2015/public-api.js +337 -0
- package/esm2015/taxtank-core.js +5 -0
- package/fesm2015/taxtank-core.js +9777 -0
- package/fesm2015/taxtank-core.js.map +1 -0
- package/lib/collections/abstract.collection.d.ts +40 -0
- package/lib/collections/bank-account.collection.d.ts +67 -0
- package/lib/collections/bank-transaction.collection.d.ts +72 -0
- package/lib/collections/client-movement.collection.d.ts +17 -0
- package/lib/collections/client-portfolio-report.collection.d.ts +26 -0
- package/lib/collections/client.collection.d.ts +4 -0
- package/lib/collections/collection-dictionary.d.ts +44 -0
- package/lib/collections/depreciation-forecast.collection.d.ts +11 -0
- package/lib/collections/depreciation.collection.d.ts +27 -0
- package/lib/collections/employee.collection.d.ts +6 -0
- package/lib/collections/income-source.collection.d.ts +25 -0
- package/lib/collections/loan.collection.d.ts +14 -0
- package/lib/collections/logbook.collection.d.ts +19 -0
- package/lib/collections/message-document.collection.d.ts +11 -0
- package/lib/collections/message.collection.d.ts +14 -0
- package/lib/collections/property.collection.d.ts +33 -0
- package/lib/collections/service-price.collection.d.ts +6 -0
- package/lib/collections/service-subscription.collection.d.ts +8 -0
- package/lib/collections/tax-return-category-item.collection.d.ts +68 -0
- package/lib/collections/tax-review.collection.d.ts +35 -0
- package/lib/collections/transaction-allocation.collection.d.ts +23 -0
- package/lib/collections/transaction.collection.d.ts +76 -0
- package/lib/collections/user-event-setting.collection.d.ts +30 -0
- package/lib/db/Enums/address-type.enum.d.ts +4 -0
- package/lib/db/Enums/bank-account-status.enum.d.ts +4 -0
- package/lib/db/Enums/bank-account-type.enum.d.ts +10 -0
- package/lib/db/Enums/bank-connection-status.enum.d.ts +5 -0
- package/lib/db/Enums/bank-transaction-type.enum.d.ts +4 -0
- package/lib/db/Enums/chart-accounts-category.enum.d.ts +13 -0
- package/lib/db/Enums/chart-accounts-etp.enum.d.ts +7 -0
- package/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.d.ts +6 -0
- package/lib/db/Enums/chart-accounts-heading-taxable.enum.d.ts +6 -0
- package/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.d.ts +4 -0
- package/lib/db/Enums/chart-accounts-list.enum.d.ts +19 -0
- package/lib/db/Enums/chart-accounts-metadata-list.enum.d.ts +14 -0
- package/lib/db/Enums/chart-accounts-metadata-type.enum.d.ts +4 -0
- package/lib/db/Enums/chart-accounts-type.enum.d.ts +4 -0
- package/lib/db/Enums/chat-status.enum.d.ts +4 -0
- package/lib/db/Enums/client-details-medicare-exemption.enum.d.ts +5 -0
- package/lib/db/Enums/client-details-work-depreciation-calculation.enum.d.ts +4 -0
- package/lib/db/Enums/client-details-working-holiday-maker.enum.d.ts +5 -0
- package/lib/db/Enums/client-invite-status.enum.d.ts +4 -0
- package/lib/db/Enums/client-invite-type.enum.d.ts +4 -0
- package/lib/db/Enums/depreciation-calculation-percent.enum.d.ts +7 -0
- package/lib/db/Enums/depreciation-calculation.enum.d.ts +7 -0
- package/lib/db/Enums/depreciation-type.enum.d.ts +6 -0
- package/lib/db/Enums/depreciation-write-off-amount.enum.d.ts +4 -0
- package/lib/db/Enums/firm-type.enum.d.ts +4 -0
- package/lib/db/Enums/income-source-type-list-other.enum.d.ts +6 -0
- package/lib/db/Enums/income-source-type-list-salary.enum.d.ts +3 -0
- package/lib/db/Enums/income-source-type-list-work.enum.d.ts +8 -0
- package/lib/db/Enums/income-source-type.enum.d.ts +5 -0
- package/lib/db/Enums/invite-status.enum.d.ts +5 -0
- package/lib/db/Enums/loan-bank-type.enum.d.ts +10 -0
- package/lib/db/Enums/loan-frequency.enum.d.ts +6 -0
- package/lib/db/Enums/loan-interest-type.enum.d.ts +4 -0
- package/lib/db/Enums/loan-payout-type.enum.d.ts +4 -0
- package/lib/db/Enums/loan-repayment-frequency.enum.d.ts +5 -0
- package/lib/db/Enums/loan-repayment-type.enum.d.ts +4 -0
- package/lib/db/Enums/loan-type.enum.d.ts +12 -0
- package/lib/db/Enums/loan-vehicle-type.enum.d.ts +5 -0
- package/lib/db/Enums/phone-type.enum.d.ts +4 -0
- package/lib/db/Enums/property-depreciation-calculation.enum.d.ts +4 -0
- package/lib/db/Enums/property-owner-access.enum.d.ts +4 -0
- package/lib/db/Enums/property-owner-status.enum.d.ts +5 -0
- package/lib/db/Enums/registration-invite-status.enum.d.ts +4 -0
- package/lib/db/Enums/salary-forecast-frequency.enum.d.ts +6 -0
- package/lib/db/Enums/service-notification-status.enum.d.ts +5 -0
- package/lib/db/Enums/service-notification-type.enum.d.ts +4 -0
- package/lib/db/Enums/service-payment-status.enum.d.ts +4 -0
- package/lib/db/Enums/service-price-recurring-interval.enum.d.ts +6 -0
- package/lib/db/Enums/service-price-type.enum.d.ts +4 -0
- package/lib/db/Enums/service-subscription-status.enum.d.ts +8 -0
- package/lib/db/Enums/spare-document-spare-type.enum.d.ts +4 -0
- package/lib/db/Enums/tank-type.enum.d.ts +5 -0
- package/lib/db/Enums/tax-calculation-medicare-exemption.enum.d.ts +4 -0
- package/lib/db/Enums/tax-calculation-type.enum.d.ts +12 -0
- package/lib/db/Enums/tax-return-category-list.enum.d.ts +26 -0
- package/lib/db/Enums/tax-return-category-section.enum.d.ts +6 -0
- package/lib/db/Enums/tax-review-status.enum.d.ts +11 -0
- package/lib/db/Enums/tax-summary-list.enum.d.ts +15 -0
- package/lib/db/Enums/tax-summary-section.enum.d.ts +6 -0
- package/lib/db/Enums/tax-summary-tax-summary.enum.d.ts +15 -0
- package/lib/db/Enums/ticket-feedback.enum.d.ts +4 -0
- package/lib/db/Enums/ticket-status.enum.d.ts +7 -0
- package/lib/db/Enums/ticket-types.enum.d.ts +3 -0
- package/lib/db/Enums/transaction-operation.enum.d.ts +5 -0
- package/lib/db/Enums/transaction-source.enum.d.ts +4 -0
- package/lib/db/Enums/transaction-type.enum.d.ts +4 -0
- package/lib/db/Enums/user-event-status.enum.d.ts +6 -0
- package/lib/db/Enums/user-event-type-frequency.enum.d.ts +6 -0
- package/lib/db/Enums/user-event-type-reminder-type.enum.d.ts +6 -0
- package/lib/db/Enums/user-event-type-reminder.enum.d.ts +5 -0
- package/lib/db/Enums/user-event-type-type.enum.d.ts +33 -0
- package/lib/db/Enums/user-medicare-exemption.enum.d.ts +5 -0
- package/lib/db/Enums/user-roles.enum.d.ts +13 -0
- package/lib/db/Enums/user-status.enum.d.ts +6 -0
- package/lib/db/Enums/user-title.enum.d.ts +7 -0
- package/lib/db/Enums/user-work-depreciation-calculation.enum.d.ts +4 -0
- package/lib/db/Enums/user-working-holiday-maker.enum.d.ts +5 -0
- package/lib/db/Enums/vehicle-claim-method.enum.d.ts +4 -0
- package/lib/db/Enums/vehicle-logbook-purpose.enum.d.ts +4 -0
- package/lib/db/Models/address.d.ts +19 -0
- package/lib/db/Models/bank-account-balance.d.ts +12 -0
- package/lib/db/Models/bank-account-property.d.ts +8 -0
- package/lib/db/Models/bank-account.d.ts +33 -0
- package/lib/db/Models/bank-connection.d.ts +14 -0
- package/lib/db/Models/bank-transaction-import.d.ts +11 -0
- package/lib/db/Models/bank-transaction.d.ts +16 -0
- package/lib/db/Models/bank.d.ts +11 -0
- package/lib/db/Models/basiq-job.d.ts +8 -0
- package/lib/db/Models/borrowing-expense-loan.d.ts +14 -0
- package/lib/db/Models/borrowing-expense.d.ts +7 -0
- package/lib/db/Models/capital-cost-property.d.ts +13 -0
- package/lib/db/Models/capital-cost.d.ts +4 -0
- package/lib/db/Models/chart-accounts-depreciation.d.ts +10 -0
- package/lib/db/Models/chart-accounts-heading.d.ts +6 -0
- package/lib/db/Models/chart-accounts-metadata.d.ts +11 -0
- package/lib/db/Models/chart-accounts-value.d.ts +12 -0
- package/lib/db/Models/chart-accounts.d.ts +23 -0
- package/lib/db/Models/chat.d.ts +17 -0
- package/lib/db/Models/client-details.d.ts +29 -0
- package/lib/db/Models/client-invite.d.ts +16 -0
- package/lib/db/Models/client-movement.d.ts +12 -0
- package/lib/db/Models/country.d.ts +5 -0
- package/lib/db/Models/depreciation-capital-project.d.ts +13 -0
- package/lib/db/Models/depreciation-forecast.d.ts +18 -0
- package/lib/db/Models/depreciation-receipt.d.ts +11 -0
- package/lib/db/Models/depreciation.d.ts +42 -0
- package/lib/db/Models/document-folder.d.ts +9 -0
- package/lib/db/Models/document.d.ts +11 -0
- package/lib/db/Models/employee-details.d.ts +7 -0
- package/lib/db/Models/employee-invite.d.ts +9 -0
- package/lib/db/Models/financial-data-system.d.ts +9 -0
- package/lib/db/Models/firm.d.ts +28 -0
- package/lib/db/Models/income-source-forecast.d.ts +12 -0
- package/lib/db/Models/income-source-type.d.ts +8 -0
- package/lib/db/Models/income-source.d.ts +20 -0
- package/lib/db/Models/loan-payout.d.ts +12 -0
- package/lib/db/Models/loan.d.ts +33 -0
- package/lib/db/Models/message-document.d.ts +15 -0
- package/lib/db/Models/message.d.ts +15 -0
- package/lib/db/Models/occupation.d.ts +5 -0
- package/lib/db/Models/phone.d.ts +12 -0
- package/lib/db/Models/property-capital-cost.d.ts +13 -0
- package/lib/db/Models/property-category-movement.d.ts +17 -0
- package/lib/db/Models/property-category.d.ts +13 -0
- package/lib/db/Models/property-document.d.ts +13 -0
- package/lib/db/Models/property-forecast.d.ts +14 -0
- package/lib/db/Models/property-owner.d.ts +20 -0
- package/lib/db/Models/property-sold.d.ts +12 -0
- package/lib/db/Models/property-subscription.d.ts +9 -0
- package/lib/db/Models/property-valuation.d.ts +12 -0
- package/lib/db/Models/property.d.ts +41 -0
- package/lib/db/Models/registration-invite.d.ts +12 -0
- package/lib/db/Models/salary-forecast.d.ts +15 -0
- package/lib/db/Models/service-notification.d.ts +13 -0
- package/lib/db/Models/service-payment.d.ts +11 -0
- package/lib/db/Models/service-price.d.ts +15 -0
- package/lib/db/Models/service-product.d.ts +12 -0
- package/lib/db/Models/service-subscription-item.d.ts +9 -0
- package/lib/db/Models/service-subscription.d.ts +14 -0
- package/lib/db/Models/tax-return-category.d.ts +12 -0
- package/lib/db/Models/tax-return-item.d.ts +15 -0
- package/lib/db/Models/tax-return.d.ts +8 -0
- package/lib/db/Models/tax-review.d.ts +13 -0
- package/lib/db/Models/ticket.d.ts +19 -0
- package/lib/db/Models/transaction-allocation.d.ts +8 -0
- package/lib/db/Models/transaction-base.d.ts +22 -0
- package/lib/db/Models/transaction-metadata.d.ts +11 -0
- package/lib/db/Models/transaction-receipt.d.ts +11 -0
- package/lib/db/Models/transaction.d.ts +43 -0
- package/lib/db/Models/user-event-setting.d.ts +10 -0
- package/lib/db/Models/user-event-type.d.ts +15 -0
- package/lib/db/Models/user-event.d.ts +13 -0
- package/lib/db/Models/user.d.ts +51 -0
- package/lib/db/Models/vehicle-claim.d.ts +11 -0
- package/lib/db/Models/vehicle-logbook.d.ts +16 -0
- package/lib/db/Models/vehicle.d.ts +8 -0
- package/lib/functions/array/index.d.ts +3 -0
- package/lib/functions/array/replace.d.ts +1 -0
- package/lib/functions/array/sort-deep.d.ts +1 -0
- package/lib/functions/array/sort.d.ts +1 -0
- package/lib/functions/clone-deep.d.ts +1 -0
- package/lib/functions/create-date.d.ts +5 -0
- package/lib/functions/enum-to-list.d.ts +2 -0
- package/lib/functions/get-doc-icon.d.ts +7 -0
- package/lib/functions/mat-options-functions.d.ts +2 -0
- package/lib/functions/mat-sort-options.d.ts +7 -0
- package/lib/functions/round-to.d.ts +6 -0
- package/lib/functions/tax-review-filter-predicate.d.ts +7 -0
- package/lib/interfaces/asset-entity-type.enum.d.ts +10 -0
- package/lib/interfaces/asset-type.enum.d.ts +8 -0
- package/lib/interfaces/asset.interface.d.ts +17 -0
- package/lib/interfaces/chart-data.interface.d.ts +10 -0
- package/lib/interfaces/chart-serie.interface.d.ts +8 -0
- package/lib/interfaces/document.interface.d.ts +18 -0
- package/lib/interfaces/documentable.interface.d.ts +8 -0
- package/lib/interfaces/event-listener.interface.d.ts +9 -0
- package/lib/interfaces/income-source-forecast.interface.d.ts +7 -0
- package/lib/interfaces/option.interface.d.ts +4 -0
- package/lib/interfaces/photoable.d.ts +13 -0
- package/lib/interfaces/receipt.interface.d.ts +12 -0
- package/lib/interfaces/salary-forecast.interface.d.ts +16 -0
- package/lib/interfaces/tank.interface.d.ts +7 -0
- package/lib/models/address/address.d.ts +11 -0
- package/lib/models/address/country.d.ts +11 -0
- package/lib/models/bank/bank-account-chart-data.d.ts +17 -0
- package/lib/models/bank/bank-account-property.d.ts +5 -0
- package/lib/models/bank/bank-account-types.const.d.ts +7 -0
- package/lib/models/bank/bank-account.d.ts +72 -0
- package/lib/models/bank/bank-connection.d.ts +7 -0
- package/lib/models/bank/bank-transaction-chart-data.d.ts +30 -0
- package/lib/models/bank/bank-transaction-summary-fields.enum.d.ts +4 -0
- package/lib/models/bank/bank-transaction.d.ts +38 -0
- package/lib/models/bank/bank.d.ts +8 -0
- package/lib/models/bank/basiq-job.d.ts +3 -0
- package/lib/models/bank/basiq-token.d.ts +9 -0
- package/lib/models/bank/type-loan.const.d.ts +2 -0
- package/lib/models/borrowing-expense/borrowing-expense-loan.d.ts +3 -0
- package/lib/models/borrowing-expense/borrowing-expense.d.ts +3 -0
- package/lib/models/chart/chart-data.d.ts +9 -0
- package/lib/models/chart/chart-serie.d.ts +8 -0
- package/lib/models/chart-accounts/chart-accounts-categories.const.d.ts +4 -0
- package/lib/models/chart-accounts/chart-accounts-depreciation.d.ts +7 -0
- package/lib/models/chart-accounts/chart-accounts-heading.d.ts +5 -0
- package/lib/models/chart-accounts/chart-accounts-metadata.d.ts +8 -0
- package/lib/models/chart-accounts/chart-accounts-tax-labels.enum.d.ts +5 -0
- package/lib/models/chart-accounts/chart-accounts.d.ts +66 -0
- package/lib/models/chat/chat-view-type.enum.d.ts +4 -0
- package/lib/models/chat/chat.d.ts +10 -0
- package/lib/models/chat/message-document.d.ts +11 -0
- package/lib/models/chat/message.d.ts +20 -0
- package/lib/models/client/client-details.d.ts +3 -0
- package/lib/models/client/client-invite.d.ts +34 -0
- package/lib/models/client/client-movement.d.ts +12 -0
- package/lib/models/client/client-portfolio-chart-data.d.ts +11 -0
- package/lib/models/client/client-portfolio-report.d.ts +10 -0
- package/lib/models/depreciation/depreciation-capital-project.d.ts +5 -0
- package/lib/models/depreciation/depreciation-forecast.d.ts +8 -0
- package/lib/models/depreciation/depreciation-group-item.d.ts +10 -0
- package/lib/models/depreciation/depreciation-group.d.ts +11 -0
- package/lib/models/depreciation/depreciation-group.enum.d.ts +7 -0
- package/lib/models/depreciation/depreciation-groups.const.d.ts +9 -0
- package/lib/models/depreciation/depreciation-receipt.d.ts +8 -0
- package/lib/models/depreciation/depreciation.d.ts +69 -0
- package/lib/models/document/document-api-url-prefix.enum.d.ts +7 -0
- package/lib/models/document/document-file-types.const.d.ts +3 -0
- package/lib/models/document/document-folder.d.ts +7 -0
- package/lib/models/document/document.d.ts +21 -0
- package/lib/models/employee/employee-details.d.ts +5 -0
- package/lib/models/employee/employee-invite.d.ts +7 -0
- package/lib/models/endpoint/endpoint.d.ts +22 -0
- package/lib/models/endpoint/endpoints.const.d.ts +7 -0
- package/lib/models/event/app-event-type.enum.d.ts +37 -0
- package/lib/models/event/app-event.d.ts +9 -0
- package/lib/models/file/icons-file.enum.d.ts +5 -0
- package/lib/models/financial-year/financial-year.d.ts +19 -0
- package/lib/models/financial-year/month-name-short.enum.d.ts +19 -0
- package/lib/models/financial-year/month-number.enum.d.ts +19 -0
- package/lib/models/financial-year/months.const.d.ts +1 -0
- package/lib/models/firm/firm.d.ts +18 -0
- package/lib/models/income-position/income-position.d.ts +9 -0
- package/lib/models/income-source/income-source-chart-data.d.ts +14 -0
- package/lib/models/income-source/income-source-forecast.d.ts +22 -0
- package/lib/models/income-source/income-source-type.d.ts +8 -0
- package/lib/models/income-source/income-source.d.ts +27 -0
- package/lib/models/income-source/salary-forecast.d.ts +16 -0
- package/lib/models/loan/loan-max-number-of-payments.enum.d.ts +8 -0
- package/lib/models/loan/loan-payment.d.ts +13 -0
- package/lib/models/loan/loan-payout.d.ts +9 -0
- package/lib/models/loan/loan.d.ts +20 -0
- package/lib/models/logbook/default-vehicle-expense.d.ts +5 -0
- package/lib/models/logbook/logbook-period.d.ts +6 -0
- package/lib/models/logbook/logbook-purpose-options.const.d.ts +4 -0
- package/lib/models/logbook/vehicle-claim.d.ts +15 -0
- package/lib/models/logbook/vehicle-logbook.d.ts +6 -0
- package/lib/models/logbook/vehicle.d.ts +12 -0
- package/lib/models/notification/notification-event-types.const.d.ts +7 -0
- package/lib/models/notification/notification.d.ts +16 -0
- package/lib/models/phone/phone.d.ts +6 -0
- package/lib/models/property/calculation-form-item.d.ts +15 -0
- package/lib/models/property/calculation-form-type.enum.d.ts +7 -0
- package/lib/models/property/capital-costs-itmes.const.d.ts +2 -0
- package/lib/models/property/corelogic-suggestion.d.ts +18 -0
- package/lib/models/property/ownership-filter-options.enum.d.ts +8 -0
- package/lib/models/property/property-capital-cost.d.ts +3 -0
- package/lib/models/property/property-category-movement.d.ts +9 -0
- package/lib/models/property/property-category.d.ts +4 -0
- package/lib/models/property/property-document.d.ts +14 -0
- package/lib/models/property/property-equity-chart-data.d.ts +62 -0
- package/lib/models/property/property-equity-chart-item.d.ts +19 -0
- package/lib/models/property/property-equity-chart-type.enum.d.ts +4 -0
- package/lib/models/property/property-forecast.d.ts +28 -0
- package/lib/models/property/property-owner.d.ts +21 -0
- package/lib/models/property/property-sold.d.ts +5 -0
- package/lib/models/property/property-subscription.d.ts +6 -0
- package/lib/models/property/property-valuation.d.ts +9 -0
- package/lib/models/property/property.d.ts +55 -0
- package/lib/models/registration-invite/registration-invite.d.ts +6 -0
- package/lib/models/service-subscription/module-url-list.const.d.ts +6 -0
- package/lib/models/service-subscription/service-payment.d.ts +5 -0
- package/lib/models/service-subscription/service-price.d.ts +5 -0
- package/lib/models/service-subscription/service-product.d.ts +5 -0
- package/lib/models/service-subscription/service-subscription-item.d.ts +6 -0
- package/lib/models/service-subscription/service-subscription.d.ts +55 -0
- package/lib/models/service-subscription/subscription-description.const.d.ts +3 -0
- package/lib/models/service-subscription/subscription-title.const.d.ts +3 -0
- package/lib/models/service-subscription/subscription-type.enum.d.ts +6 -0
- package/lib/models/tax-review/tax-review.d.ts +52 -0
- package/lib/models/tax-summary/tax-return-category-item-details.d.ts +13 -0
- package/lib/models/tax-summary/tax-return-category-item.d.ts +18 -0
- package/lib/models/tax-summary/tax-summary-section.d.ts +12 -0
- package/lib/models/tax-summary/tax-summary-type.enum.d.ts +7 -0
- package/lib/models/tax-summary/tax-summary.d.ts +44 -0
- package/lib/models/transaction/income-amount-type.enum.d.ts +7 -0
- package/lib/models/transaction/transaction-allocation.d.ts +12 -0
- package/lib/models/transaction/transaction-metadata.d.ts +5 -0
- package/lib/models/transaction/transaction-receipt.d.ts +8 -0
- package/lib/models/transaction/transaction.d.ts +98 -0
- package/lib/models/user/my-account-history-initiated-by.enum.d.ts +4 -0
- package/lib/models/user/my-account-history-status.enum.d.ts +4 -0
- package/lib/models/user/my-account-history-type.enum.d.ts +5 -0
- package/lib/models/user/my-account-history.d.ts +11 -0
- package/lib/models/user/occupation.d.ts +3 -0
- package/lib/models/user/user-roles.const.d.ts +4 -0
- package/lib/models/user/user-to-register.d.ts +7 -0
- package/lib/models/user/user-work-position.const.d.ts +3 -0
- package/lib/models/user/user.d.ts +64 -0
- package/lib/models/user-event/user-event-category.d.ts +8 -0
- package/lib/models/user-event/user-event-category.enum.d.ts +9 -0
- package/lib/models/user-event/user-event-setting-field.enum.d.ts +8 -0
- package/lib/models/user-event/user-event-setting.d.ts +6 -0
- package/lib/models/user-event/user-event-type.d.ts +5 -0
- package/lib/services/address/address.service.d.ts +14 -0
- package/lib/services/asset/assets.service.d.ts +34 -0
- package/lib/services/auth/auth.service.d.ts +17 -0
- package/lib/services/auth/jwt.service.d.ts +16 -0
- package/lib/services/bank/bank-account-calculation.service.d.ts +19 -0
- package/lib/services/bank/bank-account.service.d.ts +47 -0
- package/lib/services/bank/bank-connection.service.d.ts +22 -0
- package/lib/services/bank/bank-transaction-calculation.service.d.ts +41 -0
- package/lib/services/bank/bank-transaction.service.d.ts +38 -0
- package/lib/services/bank/bank.service.d.ts +14 -0
- package/lib/services/bank/basiq.service.d.ts +42 -0
- package/lib/services/base-rest.service.d.ts +91 -0
- package/lib/services/borrowing-expense/borrowing-expense.service.d.ts +19 -0
- package/lib/services/chart-accounts/chart-accounts-depreciations.service.d.ts +19 -0
- package/lib/services/chart-accounts/chart-accounts.service.d.ts +37 -0
- package/lib/services/chat/chat.service.d.ts +31 -0
- package/lib/services/chat/message-document.service.d.ts +50 -0
- package/lib/services/chat/message.service.d.ts +31 -0
- package/lib/services/client/client-invite.service.d.ts +36 -0
- package/lib/services/client/client-movement.service.d.ts +40 -0
- package/lib/services/client/client-portfolio-report.service.d.ts +16 -0
- package/lib/services/depreciation/capital-project.service.d.ts +20 -0
- package/lib/services/depreciation/depreciation.service.d.ts +59 -0
- package/lib/services/document/document-folder.service.d.ts +40 -0
- package/lib/services/employee/employee-invite.service.d.ts +21 -0
- package/lib/services/employee/employee.service.d.ts +16 -0
- package/lib/services/event/event-dispatcher.service.d.ts +17 -0
- package/lib/services/event/sse.service.d.ts +16 -0
- package/lib/services/firm/firm.service.d.ts +27 -0
- package/lib/services/header-title/header-title.service.d.ts +11 -0
- package/lib/services/income-source/income-source-forecast.service.d.ts +36 -0
- package/lib/services/income-source/income-source.service.d.ts +48 -0
- package/lib/services/income-source/salary-forecast.service.d.ts +37 -0
- package/lib/services/intercom/intercom.service.d.ts +21 -0
- package/lib/services/loan/loan.service.d.ts +63 -0
- package/lib/services/notification/notification.service.d.ts +31 -0
- package/lib/services/preloader/preloader.service.d.ts +12 -0
- package/lib/services/property/corelogic.service.d.ts +15 -0
- package/lib/services/property/property-calculation.service.d.ts +33 -0
- package/lib/services/property/property-capital-cost.service.d.ts +20 -0
- package/lib/services/property/property-category.service.d.ts +13 -0
- package/lib/services/property/property-document.service.d.ts +31 -0
- package/lib/services/property/property-owner.service.d.ts +52 -0
- package/lib/services/property/property-sold.service.d.ts +13 -0
- package/lib/services/property/property.service.d.ts +50 -0
- package/lib/services/subscription/subscription.service.d.ts +47 -0
- package/lib/services/tax-review/tax-review-history.service.d.ts +19 -0
- package/lib/services/tax-review/tax-review.service.d.ts +44 -0
- package/lib/services/tax-summary/tax-summary.service.d.ts +31 -0
- package/lib/services/transaction/transaction-allocation.service.d.ts +43 -0
- package/lib/services/transaction/transaction-calculation.service.d.ts +29 -0
- package/lib/services/transaction/transaction.service.d.ts +92 -0
- package/lib/services/user/occupation.service.d.ts +20 -0
- package/lib/services/user/user-switcher.service.d.ts +20 -0
- package/lib/services/user/user.service.d.ts +60 -0
- package/lib/services/user-event/user-event-setting.service.d.ts +22 -0
- package/lib/services/user-event/user-event-type.service.d.ts +17 -0
- package/lib/services/work/work-tank.service.d.ts +93 -0
- package/lib/tt-core.module.d.ts +9 -0
- package/package.json +10 -3
- package/public-api.d.ts +336 -0
- package/taxtank-core.d.ts +5 -0
- package/.browserslistrc +0 -16
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -12
- package/src/lib/collections/abstract.collection.ts +0 -83
- package/src/lib/collections/bank-account.collection.ts +0 -171
- package/src/lib/collections/bank-transaction.collection.ts +0 -153
- package/src/lib/collections/client-movement.collection.ts +0 -42
- package/src/lib/collections/client-portfolio-report.collection.ts +0 -47
- package/src/lib/collections/client.collection.ts +0 -5
- package/src/lib/collections/collection-dictionary.ts +0 -112
- package/src/lib/collections/depreciation-forecast.collection.ts +0 -25
- package/src/lib/collections/depreciation.collection.ts +0 -113
- package/src/lib/collections/employee.collection.ts +0 -14
- package/src/lib/collections/income-source.collection.ts +0 -44
- package/src/lib/collections/loan.collection.ts +0 -22
- package/src/lib/collections/logbook.collection.ts +0 -129
- package/src/lib/collections/message-document.collection.ts +0 -16
- package/src/lib/collections/message.collection.ts +0 -27
- package/src/lib/collections/property.collection.ts +0 -88
- package/src/lib/collections/service-price.collection.ts +0 -13
- package/src/lib/collections/service-subscription.collection.ts +0 -20
- package/src/lib/collections/tax-return-category-item.collection.ts +0 -148
- package/src/lib/collections/tax-review.collection.ts +0 -64
- package/src/lib/collections/transaction-allocation.collection.ts +0 -54
- package/src/lib/collections/transaction.collection.ts +0 -170
- package/src/lib/collections/user-event-setting.collection.ts +0 -70
- package/src/lib/db/Enums/address-type.enum.ts +0 -4
- package/src/lib/db/Enums/bank-account-status.enum.ts +0 -4
- package/src/lib/db/Enums/bank-account-type.enum.ts +0 -10
- package/src/lib/db/Enums/bank-connection-status.enum.ts +0 -5
- package/src/lib/db/Enums/bank-transaction-type.enum.ts +0 -4
- package/src/lib/db/Enums/chart-accounts-category.enum.ts +0 -13
- package/src/lib/db/Enums/chart-accounts-etp.enum.ts +0 -7
- package/src/lib/db/Enums/chart-accounts-heading-tax-deductible.enum.ts +0 -6
- package/src/lib/db/Enums/chart-accounts-heading-taxable.enum.ts +0 -6
- package/src/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.ts +0 -4
- package/src/lib/db/Enums/chart-accounts-list.enum.ts +0 -19
- package/src/lib/db/Enums/chart-accounts-metadata-list.enum.ts +0 -14
- package/src/lib/db/Enums/chart-accounts-metadata-type.enum.ts +0 -4
- package/src/lib/db/Enums/chart-accounts-type.enum.ts +0 -4
- package/src/lib/db/Enums/chat-status.enum.ts +0 -4
- package/src/lib/db/Enums/client-details-medicare-exemption.enum.ts +0 -5
- package/src/lib/db/Enums/client-details-work-depreciation-calculation.enum.ts +0 -4
- package/src/lib/db/Enums/client-details-working-holiday-maker.enum.ts +0 -5
- package/src/lib/db/Enums/client-invite-status.enum.ts +0 -4
- package/src/lib/db/Enums/client-invite-type.enum.ts +0 -4
- package/src/lib/db/Enums/depreciation-calculation-percent.enum.ts +0 -7
- package/src/lib/db/Enums/depreciation-calculation.enum.ts +0 -7
- package/src/lib/db/Enums/depreciation-type.enum.ts +0 -6
- package/src/lib/db/Enums/depreciation-write-off-amount.enum.ts +0 -4
- package/src/lib/db/Enums/firm-type.enum.ts +0 -4
- package/src/lib/db/Enums/income-source-type-list-other.enum.ts +0 -6
- package/src/lib/db/Enums/income-source-type-list-salary.enum.ts +0 -3
- package/src/lib/db/Enums/income-source-type-list-work.enum.ts +0 -8
- package/src/lib/db/Enums/income-source-type.enum.ts +0 -5
- package/src/lib/db/Enums/invite-status.enum.ts +0 -5
- package/src/lib/db/Enums/loan-bank-type.enum.ts +0 -10
- package/src/lib/db/Enums/loan-frequency.enum.ts +0 -6
- package/src/lib/db/Enums/loan-interest-type.enum.ts +0 -4
- package/src/lib/db/Enums/loan-payout-type.enum.ts +0 -4
- package/src/lib/db/Enums/loan-repayment-frequency.enum.ts +0 -5
- package/src/lib/db/Enums/loan-repayment-type.enum.ts +0 -4
- package/src/lib/db/Enums/loan-type.enum.ts +0 -12
- package/src/lib/db/Enums/loan-vehicle-type.enum.ts +0 -5
- package/src/lib/db/Enums/phone-type.enum.ts +0 -4
- package/src/lib/db/Enums/property-depreciation-calculation.enum.ts +0 -4
- package/src/lib/db/Enums/property-owner-access.enum.ts +0 -4
- package/src/lib/db/Enums/property-owner-status.enum.ts +0 -5
- package/src/lib/db/Enums/registration-invite-status.enum.ts +0 -4
- package/src/lib/db/Enums/salary-forecast-frequency.enum.ts +0 -6
- package/src/lib/db/Enums/service-notification-status.enum.ts +0 -5
- package/src/lib/db/Enums/service-notification-type.enum.ts +0 -4
- package/src/lib/db/Enums/service-payment-status.enum.ts +0 -4
- package/src/lib/db/Enums/service-price-recurring-interval.enum.ts +0 -6
- package/src/lib/db/Enums/service-price-type.enum.ts +0 -4
- package/src/lib/db/Enums/service-subscription-status.enum.ts +0 -8
- package/src/lib/db/Enums/spare-document-spare-type.enum.ts +0 -4
- package/src/lib/db/Enums/tank-type.enum.ts +0 -5
- package/src/lib/db/Enums/tax-calculation-medicare-exemption.enum.ts +0 -4
- package/src/lib/db/Enums/tax-calculation-type.enum.ts +0 -12
- package/src/lib/db/Enums/tax-return-category-list.enum.ts +0 -26
- package/src/lib/db/Enums/tax-return-category-section.enum.ts +0 -6
- package/src/lib/db/Enums/tax-review-status.enum.ts +0 -11
- package/src/lib/db/Enums/tax-summary-list.enum.ts +0 -15
- package/src/lib/db/Enums/tax-summary-section.enum.ts +0 -6
- package/src/lib/db/Enums/tax-summary-tax-summary.enum.ts +0 -15
- package/src/lib/db/Enums/ticket-feedback.enum.ts +0 -4
- package/src/lib/db/Enums/ticket-status.enum.ts +0 -7
- package/src/lib/db/Enums/ticket-types.enum.ts +0 -3
- package/src/lib/db/Enums/transaction-operation.enum.ts +0 -5
- package/src/lib/db/Enums/transaction-source.enum.ts +0 -4
- package/src/lib/db/Enums/transaction-type.enum.ts +0 -4
- package/src/lib/db/Enums/user-event-status.enum.ts +0 -6
- package/src/lib/db/Enums/user-event-type-frequency.enum.ts +0 -6
- package/src/lib/db/Enums/user-event-type-reminder-type.enum.ts +0 -6
- package/src/lib/db/Enums/user-event-type-reminder.enum.ts +0 -5
- package/src/lib/db/Enums/user-event-type-type.enum.ts +0 -33
- package/src/lib/db/Enums/user-medicare-exemption.enum.ts +0 -5
- package/src/lib/db/Enums/user-roles.enum.ts +0 -13
- package/src/lib/db/Enums/user-status.enum.ts +0 -6
- package/src/lib/db/Enums/user-title.enum.ts +0 -7
- package/src/lib/db/Enums/user-work-depreciation-calculation.enum.ts +0 -4
- package/src/lib/db/Enums/user-working-holiday-maker.enum.ts +0 -5
- package/src/lib/db/Enums/vehicle-claim-method.enum.ts +0 -4
- package/src/lib/db/Enums/vehicle-logbook-purpose.enum.ts +0 -4
- package/src/lib/db/Models/address.ts +0 -20
- package/src/lib/db/Models/bank-account-balance.ts +0 -13
- package/src/lib/db/Models/bank-account-property.ts +0 -9
- package/src/lib/db/Models/bank-account.ts +0 -34
- package/src/lib/db/Models/bank-connection.ts +0 -15
- package/src/lib/db/Models/bank-provider-account.ts +0 -13
- package/src/lib/db/Models/bank-transaction-import.ts +0 -12
- package/src/lib/db/Models/bank-transaction-rule.ts +0 -26
- package/src/lib/db/Models/bank-transaction.ts +0 -17
- package/src/lib/db/Models/bank.ts +0 -12
- package/src/lib/db/Models/basiq-job.ts +0 -9
- package/src/lib/db/Models/borrowing-expense-loan.ts +0 -15
- package/src/lib/db/Models/borrowing-expense.ts +0 -7
- package/src/lib/db/Models/capital-cost-property.ts +0 -14
- package/src/lib/db/Models/capital-cost.ts +0 -4
- package/src/lib/db/Models/chart-accounts-depreciation.ts +0 -11
- package/src/lib/db/Models/chart-accounts-heading.ts +0 -7
- package/src/lib/db/Models/chart-accounts-metadata.ts +0 -12
- package/src/lib/db/Models/chart-accounts-value.ts +0 -13
- package/src/lib/db/Models/chart-accounts.ts +0 -24
- package/src/lib/db/Models/chat.ts +0 -18
- package/src/lib/db/Models/client-details.ts +0 -30
- package/src/lib/db/Models/client-invite.ts +0 -17
- package/src/lib/db/Models/client-movement.ts +0 -13
- package/src/lib/db/Models/country.ts +0 -5
- package/src/lib/db/Models/depreciation-capital-project.ts +0 -14
- package/src/lib/db/Models/depreciation-forecast.ts +0 -19
- package/src/lib/db/Models/depreciation-receipt.ts +0 -12
- package/src/lib/db/Models/depreciation.ts +0 -43
- package/src/lib/db/Models/document-base.ts +0 -10
- package/src/lib/db/Models/document-folder.ts +0 -10
- package/src/lib/db/Models/document.ts +0 -12
- package/src/lib/db/Models/employee-details.ts +0 -8
- package/src/lib/db/Models/employee-invite.ts +0 -10
- package/src/lib/db/Models/financial-data-system.ts +0 -10
- package/src/lib/db/Models/firm-invite.ts +0 -15
- package/src/lib/db/Models/firm.ts +0 -29
- package/src/lib/db/Models/income-source-forecast.ts +0 -13
- package/src/lib/db/Models/income-source-type.ts +0 -9
- package/src/lib/db/Models/income-source.ts +0 -21
- package/src/lib/db/Models/loan-payout.ts +0 -13
- package/src/lib/db/Models/loan.ts +0 -34
- package/src/lib/db/Models/message-document.ts +0 -16
- package/src/lib/db/Models/message.ts +0 -16
- package/src/lib/db/Models/occupation.ts +0 -5
- package/src/lib/db/Models/phone.ts +0 -13
- package/src/lib/db/Models/property-capital-cost.ts +0 -14
- package/src/lib/db/Models/property-category-movement.ts +0 -18
- package/src/lib/db/Models/property-category.ts +0 -14
- package/src/lib/db/Models/property-document.ts +0 -14
- package/src/lib/db/Models/property-forecast.ts +0 -15
- package/src/lib/db/Models/property-owner.ts +0 -21
- package/src/lib/db/Models/property-sold.ts +0 -13
- package/src/lib/db/Models/property-subscription.ts +0 -10
- package/src/lib/db/Models/property-valuation.ts +0 -13
- package/src/lib/db/Models/property.ts +0 -42
- package/src/lib/db/Models/registration-invite.ts +0 -13
- package/src/lib/db/Models/salary-forecast.ts +0 -16
- package/src/lib/db/Models/service-notification.ts +0 -14
- package/src/lib/db/Models/service-payment.ts +0 -12
- package/src/lib/db/Models/service-price.ts +0 -16
- package/src/lib/db/Models/service-product.ts +0 -13
- package/src/lib/db/Models/service-subscription-item.ts +0 -10
- package/src/lib/db/Models/service-subscription.ts +0 -15
- package/src/lib/db/Models/spare-document-category.ts +0 -6
- package/src/lib/db/Models/spare-document.ts +0 -16
- package/src/lib/db/Models/tax-calculation.ts +0 -19
- package/src/lib/db/Models/tax-return-category.ts +0 -13
- package/src/lib/db/Models/tax-return-item.ts +0 -16
- package/src/lib/db/Models/tax-return.ts +0 -9
- package/src/lib/db/Models/tax-review.ts +0 -14
- package/src/lib/db/Models/ticket.ts +0 -20
- package/src/lib/db/Models/transaction-allocation.ts +0 -9
- package/src/lib/db/Models/transaction-base.ts +0 -33
- package/src/lib/db/Models/transaction-metadata.ts +0 -12
- package/src/lib/db/Models/transaction-receipt.ts +0 -12
- package/src/lib/db/Models/transaction.ts +0 -44
- package/src/lib/db/Models/user-event-setting.ts +0 -11
- package/src/lib/db/Models/user-event-type.ts +0 -16
- package/src/lib/db/Models/user-event.ts +0 -14
- package/src/lib/db/Models/user.ts +0 -52
- package/src/lib/db/Models/vehicle-claim.ts +0 -12
- package/src/lib/db/Models/vehicle-logbook.ts +0 -17
- package/src/lib/db/Models/vehicle.ts +0 -9
- package/src/lib/functions/array/index.ts +0 -3
- package/src/lib/functions/array/replace.ts +0 -5
- package/src/lib/functions/array/sort-deep.ts +0 -19
- package/src/lib/functions/array/sort.ts +0 -8
- package/src/lib/functions/clone-deep.ts +0 -4
- package/src/lib/functions/create-date.ts +0 -7
- package/src/lib/functions/enum-to-list.ts +0 -16
- package/src/lib/functions/get-doc-icon.ts +0 -21
- package/src/lib/functions/mat-options-functions.ts +0 -11
- package/src/lib/functions/mat-sort-options.ts +0 -9
- package/src/lib/functions/round-to.ts +0 -9
- package/src/lib/functions/tax-review-filter-predicate.ts +0 -11
- package/src/lib/interfaces/asset-entity-type.enum.ts +0 -10
- package/src/lib/interfaces/asset-type.enum.ts +0 -9
- package/src/lib/interfaces/asset.interface.ts +0 -18
- package/src/lib/interfaces/chart-data.interface.ts +0 -11
- package/src/lib/interfaces/chart-serie.interface.ts +0 -8
- package/src/lib/interfaces/document.interface.ts +0 -20
- package/src/lib/interfaces/documentable.interface.ts +0 -9
- package/src/lib/interfaces/event-listener.interface.ts +0 -9
- package/src/lib/interfaces/income-source-forecast.interface.ts +0 -7
- package/src/lib/interfaces/option.interface.ts +0 -4
- package/src/lib/interfaces/photoable.ts +0 -14
- package/src/lib/interfaces/receipt.interface.ts +0 -13
- package/src/lib/interfaces/salary-forecast.interface.ts +0 -17
- package/src/lib/interfaces/tank.interface.ts +0 -9
- package/src/lib/models/address/address.ts +0 -24
- package/src/lib/models/address/country.ts +0 -17
- package/src/lib/models/bank/bank-account-chart-data.ts +0 -42
- package/src/lib/models/bank/bank-account-property.ts +0 -8
- package/src/lib/models/bank/bank-account-types.const.ts +0 -15
- package/src/lib/models/bank/bank-account.ts +0 -136
- package/src/lib/models/bank/bank-connection.ts +0 -12
- package/src/lib/models/bank/bank-transaction-chart-data.ts +0 -132
- package/src/lib/models/bank/bank-transaction-summary-fields.enum.ts +0 -4
- package/src/lib/models/bank/bank-transaction.ts +0 -74
- package/src/lib/models/bank/bank.ts +0 -21
- package/src/lib/models/bank/basiq-job.ts +0 -4
- package/src/lib/models/bank/basiq-token.ts +0 -16
- package/src/lib/models/bank/type-loan.const.ts +0 -7
- package/src/lib/models/borrowing-expense/borrowing-expense-loan.ts +0 -4
- package/src/lib/models/borrowing-expense/borrowing-expense.ts +0 -4
- package/src/lib/models/chart/chart-data.ts +0 -13
- package/src/lib/models/chart/chart-serie.ts +0 -8
- package/src/lib/models/chart-accounts/chart-accounts-categories.const.ts +0 -85
- package/src/lib/models/chart-accounts/chart-accounts-depreciation.ts +0 -14
- package/src/lib/models/chart-accounts/chart-accounts-heading.ts +0 -6
- package/src/lib/models/chart-accounts/chart-accounts-metadata.ts +0 -15
- package/src/lib/models/chart-accounts/chart-accounts-tax-labels.enum.ts +0 -5
- package/src/lib/models/chart-accounts/chart-accounts.ts +0 -137
- package/src/lib/models/chat/chat-view-type.enum.ts +0 -4
- package/src/lib/models/chat/chat.ts +0 -23
- package/src/lib/models/chat/message-document.ts +0 -18
- package/src/lib/models/chat/message.ts +0 -40
- package/src/lib/models/client/client-details.ts +0 -4
- package/src/lib/models/client/client-invite.ts +0 -70
- package/src/lib/models/client/client-movement.ts +0 -25
- package/src/lib/models/client/client-portfolio-chart-data.ts +0 -65
- package/src/lib/models/client/client-portfolio-report.ts +0 -10
- package/src/lib/models/depreciation/depreciation-capital-project.ts +0 -10
- package/src/lib/models/depreciation/depreciation-forecast.ts +0 -31
- package/src/lib/models/depreciation/depreciation-group-item.ts +0 -20
- package/src/lib/models/depreciation/depreciation-group.enum.ts +0 -7
- package/src/lib/models/depreciation/depreciation-group.ts +0 -25
- package/src/lib/models/depreciation/depreciation-groups.const.ts +0 -35
- package/src/lib/models/depreciation/depreciation-receipt.ts +0 -9
- package/src/lib/models/depreciation/depreciation.ts +0 -174
- package/src/lib/models/document/document-api-url-prefix.enum.ts +0 -7
- package/src/lib/models/document/document-file-types.const.ts +0 -22
- package/src/lib/models/document/document-folder.ts +0 -11
- package/src/lib/models/document/document.ts +0 -29
- package/src/lib/models/employee/employee-details.ts +0 -8
- package/src/lib/models/employee/employee-invite.ts +0 -12
- package/src/lib/models/endpoint/endpoint.ts +0 -35
- package/src/lib/models/endpoint/endpoints.const.ts +0 -157
- package/src/lib/models/event/app-event-type.enum.ts +0 -37
- package/src/lib/models/event/app-event.ts +0 -9
- package/src/lib/models/file/icons-file.enum.ts +0 -5
- package/src/lib/models/financial-year/financial-year.ts +0 -57
- package/src/lib/models/financial-year/month-name-short.enum.ts +0 -19
- package/src/lib/models/financial-year/month-number.enum.ts +0 -19
- package/src/lib/models/financial-year/months.const.ts +0 -1
- package/src/lib/models/firm/firm.ts +0 -31
- package/src/lib/models/income-position/income-position.ts +0 -13
- package/src/lib/models/income-source/income-source-chart-data.ts +0 -57
- package/src/lib/models/income-source/income-source-forecast.ts +0 -35
- package/src/lib/models/income-source/income-source-type.ts +0 -30
- package/src/lib/models/income-source/income-source.ts +0 -57
- package/src/lib/models/income-source/salary-forecast.ts +0 -23
- package/src/lib/models/loan/loan-max-number-of-payments.enum.ts +0 -8
- package/src/lib/models/loan/loan-payment.ts +0 -17
- package/src/lib/models/loan/loan-payout.ts +0 -13
- package/src/lib/models/loan/loan.ts +0 -38
- package/src/lib/models/logbook/default-vehicle-expense.ts +0 -20
- package/src/lib/models/logbook/logbook-period.ts +0 -12
- package/src/lib/models/logbook/logbook-purpose-options.const.ts +0 -6
- package/src/lib/models/logbook/vehicle-claim.ts +0 -27
- package/src/lib/models/logbook/vehicle-logbook.ts +0 -16
- package/src/lib/models/logbook/vehicle.ts +0 -46
- package/src/lib/models/notification/notification-event-types.const.ts +0 -43
- package/src/lib/models/notification/notification.ts +0 -66
- package/src/lib/models/phone/phone.ts +0 -10
- package/src/lib/models/property/calculation-form-item.ts +0 -24
- package/src/lib/models/property/calculation-form-type.enum.ts +0 -7
- package/src/lib/models/property/capital-costs-itmes.const.ts +0 -57
- package/src/lib/models/property/corelogic-suggestion.ts +0 -18
- package/src/lib/models/property/ownership-filter-options.enum.ts +0 -8
- package/src/lib/models/property/property-capital-cost.ts +0 -4
- package/src/lib/models/property/property-category-movement.ts +0 -18
- package/src/lib/models/property/property-category.ts +0 -9
- package/src/lib/models/property/property-document.ts +0 -21
- package/src/lib/models/property/property-equity-chart-data.ts +0 -188
- package/src/lib/models/property/property-equity-chart-item.ts +0 -35
- package/src/lib/models/property/property-equity-chart-type.enum.ts +0 -4
- package/src/lib/models/property/property-forecast.ts +0 -55
- package/src/lib/models/property/property-owner.ts +0 -50
- package/src/lib/models/property/property-sold.ts +0 -10
- package/src/lib/models/property/property-subscription.ts +0 -11
- package/src/lib/models/property/property-valuation.ts +0 -24
- package/src/lib/models/property/property.ts +0 -157
- package/src/lib/models/registration-invite/registration-invite.ts +0 -12
- package/src/lib/models/service-subscription/module-url-list.const.ts +0 -11
- package/src/lib/models/service-subscription/service-payment.ts +0 -8
- package/src/lib/models/service-subscription/service-price.ts +0 -8
- package/src/lib/models/service-subscription/service-product.ts +0 -11
- package/src/lib/models/service-subscription/service-subscription-item.ts +0 -12
- package/src/lib/models/service-subscription/service-subscription.ts +0 -151
- package/src/lib/models/service-subscription/subscription-description.const.ts +0 -8
- package/src/lib/models/service-subscription/subscription-title.const.ts +0 -8
- package/src/lib/models/service-subscription/subscription-type.enum.ts +0 -6
- package/src/lib/models/tax-review/tax-review.ts +0 -96
- package/src/lib/models/tax-summary/tax-return-category-item-details.ts +0 -14
- package/src/lib/models/tax-summary/tax-return-category-item.ts +0 -22
- package/src/lib/models/tax-summary/tax-summary-section.ts +0 -32
- package/src/lib/models/tax-summary/tax-summary-type.enum.ts +0 -7
- package/src/lib/models/tax-summary/tax-summary.ts +0 -79
- package/src/lib/models/transaction/income-amount-type.enum.ts +0 -7
- package/src/lib/models/transaction/transaction-allocation.ts +0 -20
- package/src/lib/models/transaction/transaction-metadata.ts +0 -8
- package/src/lib/models/transaction/transaction-receipt.ts +0 -9
- package/src/lib/models/transaction/transaction.ts +0 -241
- package/src/lib/models/user/my-account-history-initiated-by.enum.ts +0 -4
- package/src/lib/models/user/my-account-history-status.enum.ts +0 -4
- package/src/lib/models/user/my-account-history-type.enum.ts +0 -5
- package/src/lib/models/user/my-account-history.ts +0 -12
- package/src/lib/models/user/occupation.ts +0 -4
- package/src/lib/models/user/user-roles.const.ts +0 -13
- package/src/lib/models/user/user-to-register.ts +0 -7
- package/src/lib/models/user/user-work-position.const.ts +0 -7
- package/src/lib/models/user/user.ts +0 -160
- package/src/lib/models/user-event/user-event-category.enum.ts +0 -9
- package/src/lib/models/user-event/user-event-category.ts +0 -9
- package/src/lib/models/user-event/user-event-setting-field.enum.ts +0 -8
- package/src/lib/models/user-event/user-event-setting.ts +0 -11
- package/src/lib/models/user-event/user-event-type.ts +0 -22
- package/src/lib/services/address/address.service.spec.ts +0 -12
- package/src/lib/services/address/address.service.ts +0 -36
- package/src/lib/services/asset/assets.service.spec.ts +0 -12
- package/src/lib/services/asset/assets.service.ts +0 -51
- package/src/lib/services/auth/auth.service.ts +0 -48
- package/src/lib/services/auth/jwt.service.ts +0 -37
- package/src/lib/services/bank/bank-account-calculation.service.spec.ts +0 -16
- package/src/lib/services/bank/bank-account-calculation.service.ts +0 -38
- package/src/lib/services/bank/bank-account.service.spec.ts +0 -12
- package/src/lib/services/bank/bank-account.service.ts +0 -120
- package/src/lib/services/bank/bank-connection.service.spec.ts +0 -12
- package/src/lib/services/bank/bank-connection.service.ts +0 -42
- package/src/lib/services/bank/bank-transaction-calculation.service.spec.ts +0 -16
- package/src/lib/services/bank/bank-transaction-calculation.service.ts +0 -71
- package/src/lib/services/bank/bank-transaction.service.spec.ts +0 -12
- package/src/lib/services/bank/bank-transaction.service.ts +0 -97
- package/src/lib/services/bank/bank.service.spec.ts +0 -12
- package/src/lib/services/bank/bank.service.ts +0 -16
- package/src/lib/services/bank/basiq.service.spec.ts +0 -12
- package/src/lib/services/bank/basiq.service.ts +0 -103
- package/src/lib/services/base-rest.service.spec.ts +0 -13
- package/src/lib/services/base-rest.service.ts +0 -229
- package/src/lib/services/borrowing-expense/borrowing-expense.service.spec.ts +0 -12
- package/src/lib/services/borrowing-expense/borrowing-expense.service.ts +0 -82
- package/src/lib/services/chart-accounts/chart-accounts-depreciations.service.spec.ts +0 -16
- package/src/lib/services/chart-accounts/chart-accounts-depreciations.service.ts +0 -34
- package/src/lib/services/chart-accounts/chart-accounts.service.spec.ts +0 -12
- package/src/lib/services/chart-accounts/chart-accounts.service.ts +0 -101
- package/src/lib/services/chat/chat.service.spec.ts +0 -16
- package/src/lib/services/chat/chat.service.ts +0 -79
- package/src/lib/services/chat/message-document.service.spec.ts +0 -16
- package/src/lib/services/chat/message-document.service.ts +0 -133
- package/src/lib/services/chat/message.service.spec.ts +0 -16
- package/src/lib/services/chat/message.service.ts +0 -61
- package/src/lib/services/client/client-invite.service.spec.ts +0 -16
- package/src/lib/services/client/client-invite.service.ts +0 -111
- package/src/lib/services/client/client-movement.service.spec.ts +0 -16
- package/src/lib/services/client/client-movement.service.ts +0 -114
- package/src/lib/services/client/client-portfolio-report.service.spec.ts +0 -16
- package/src/lib/services/client/client-portfolio-report.service.ts +0 -34
- package/src/lib/services/depreciation/capital-project.service.spec.ts +0 -16
- package/src/lib/services/depreciation/capital-project.service.ts +0 -69
- package/src/lib/services/depreciation/depreciation.service.spec.ts +0 -12
- package/src/lib/services/depreciation/depreciation.service.ts +0 -171
- package/src/lib/services/document/document-folder.service.spec.ts +0 -16
- package/src/lib/services/document/document-folder.service.ts +0 -95
- package/src/lib/services/employee/employee-invite.service.spec.ts +0 -16
- package/src/lib/services/employee/employee-invite.service.ts +0 -53
- package/src/lib/services/employee/employee.service.spec.ts +0 -16
- package/src/lib/services/employee/employee.service.ts +0 -35
- package/src/lib/services/event/event-dispatcher.service.spec.ts +0 -16
- package/src/lib/services/event/event-dispatcher.service.ts +0 -29
- package/src/lib/services/event/sse.service.spec.ts +0 -16
- package/src/lib/services/event/sse.service.ts +0 -42
- package/src/lib/services/firm/firm.service.spec.ts +0 -16
- package/src/lib/services/firm/firm.service.ts +0 -93
- package/src/lib/services/header-title/header-title.service.spec.ts +0 -12
- package/src/lib/services/header-title/header-title.service.ts +0 -31
- package/src/lib/services/income-source/income-source-forecast.service.spec.ts +0 -16
- package/src/lib/services/income-source/income-source-forecast.service.ts +0 -91
- package/src/lib/services/income-source/income-source.service.spec.ts +0 -12
- package/src/lib/services/income-source/income-source.service.ts +0 -127
- package/src/lib/services/income-source/salary-forecast.service.spec.ts +0 -16
- package/src/lib/services/income-source/salary-forecast.service.ts +0 -92
- package/src/lib/services/intercom/intercom.service.spec.ts +0 -16
- package/src/lib/services/intercom/intercom.service.ts +0 -37
- package/src/lib/services/loan/loan.service.spec.ts +0 -12
- package/src/lib/services/loan/loan.service.ts +0 -166
- package/src/lib/services/notification/notification.service.spec.ts +0 -12
- package/src/lib/services/notification/notification.service.ts +0 -60
- package/src/lib/services/preloader/preloader.service.spec.ts +0 -16
- package/src/lib/services/preloader/preloader.service.ts +0 -28
- package/src/lib/services/property/corelogic.service.spec.ts +0 -12
- package/src/lib/services/property/corelogic.service.ts +0 -47
- package/src/lib/services/property/property-calculation.service.spec.ts +0 -16
- package/src/lib/services/property/property-calculation.service.ts +0 -166
- package/src/lib/services/property/property-capital-cost.service.ts +0 -42
- package/src/lib/services/property/property-category.service.spec.ts +0 -16
- package/src/lib/services/property/property-category.service.ts +0 -15
- package/src/lib/services/property/property-document.service.spec.ts +0 -16
- package/src/lib/services/property/property-document.service.ts +0 -74
- package/src/lib/services/property/property-owner.service.spec.ts +0 -12
- package/src/lib/services/property/property-owner.service.ts +0 -134
- package/src/lib/services/property/property-sold.service.spec.ts +0 -16
- package/src/lib/services/property/property-sold.service.ts +0 -15
- package/src/lib/services/property/property.service.spec.ts +0 -12
- package/src/lib/services/property/property.service.ts +0 -136
- package/src/lib/services/subscription/subscription.service.spec.ts +0 -12
- package/src/lib/services/subscription/subscription.service.ts +0 -153
- package/src/lib/services/tax-review/tax-review-history.service.spec.ts +0 -16
- package/src/lib/services/tax-review/tax-review-history.service.ts +0 -35
- package/src/lib/services/tax-review/tax-review.service.spec.ts +0 -16
- package/src/lib/services/tax-review/tax-review.service.ts +0 -114
- package/src/lib/services/tax-summary/tax-summary.service.ts +0 -70
- package/src/lib/services/transaction/transaction-allocation.service.spec.ts +0 -12
- package/src/lib/services/transaction/transaction-allocation.service.ts +0 -92
- package/src/lib/services/transaction/transaction-calculation.service.spec.ts +0 -16
- package/src/lib/services/transaction/transaction-calculation.service.ts +0 -50
- package/src/lib/services/transaction/transaction.service.spec.ts +0 -12
- package/src/lib/services/transaction/transaction.service.ts +0 -374
- package/src/lib/services/user/occupation.service.spec.ts +0 -12
- package/src/lib/services/user/occupation.service.ts +0 -42
- package/src/lib/services/user/user-switcher.service.ts +0 -34
- package/src/lib/services/user/user.service.spec.ts +0 -12
- package/src/lib/services/user/user.service.ts +0 -140
- package/src/lib/services/user-event/user-event-setting.service.spec.ts +0 -16
- package/src/lib/services/user-event/user-event-setting.service.ts +0 -60
- package/src/lib/services/user-event/user-event-type.service.spec.ts +0 -16
- package/src/lib/services/user-event/user-event-type.service.ts +0 -24
- package/src/lib/services/work/work-tank.service.spec.ts +0 -12
- package/src/lib/services/work/work-tank.service.ts +0 -277
- package/src/lib/tt-core.module.ts +0 -22
- package/src/lib/tt-core.service.spec.ts +0 -16
- package/src/lib/tt-core.service.ts +0 -17
- package/src/public-api.ts +0 -425
- package/src/test.ts +0 -27
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { plainToClass } from 'class-transformer';
|
|
4
|
+
import { BankConnection } from '../../models/bank/bank-connection';
|
|
5
|
+
import { BaseRestService } from '../base-rest.service';
|
|
6
|
+
import { AppEvent } from '../../models/event/app-event';
|
|
7
|
+
import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common/http";
|
|
10
|
+
import * as i2 from "../event/event-dispatcher.service";
|
|
11
|
+
/**
|
|
12
|
+
* BankConnection means user account at specific bank (usually each user has only one at the same bank)
|
|
13
|
+
* service handles BankConnection management
|
|
14
|
+
*/
|
|
15
|
+
export class BankConnectionService extends BaseRestService {
|
|
16
|
+
constructor(http, eventDispatcherService, environment) {
|
|
17
|
+
super(http, eventDispatcherService, environment);
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
20
|
+
this.environment = environment;
|
|
21
|
+
this.modelClass = BankConnection;
|
|
22
|
+
this.url = 'bank-connections';
|
|
23
|
+
}
|
|
24
|
+
post(bankConnection) {
|
|
25
|
+
return this.http.post(`${this.environment.apiV2}/${this.url}`, bankConnection)
|
|
26
|
+
.pipe(map((bankConnectionBase) => {
|
|
27
|
+
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.BANK_CONNECTION_ADDED, null));
|
|
28
|
+
return plainToClass(BankConnection, bankConnectionBase);
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankConnectionService, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{
|
|
37
|
+
providedIn: 'root'
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
40
|
+
type: Inject,
|
|
41
|
+
args: ['environment']
|
|
42
|
+
}] }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1jb25uZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9iYW5rLWNvbm5lY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7O0FBRTFFOzs7R0FHRztBQUlILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFtRDtJQUk1RixZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQU5uRCxlQUFVLEdBQUcsY0FBYyxDQUFDO1FBQzVCLFFBQUcsR0FBVyxrQkFBa0IsQ0FBQztJQVFqQyxDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQThCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxDQUFDO2FBQzNFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxrQkFBc0MsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVqRyxPQUFPLFlBQVksQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7bUhBckJVLHFCQUFxQixrRkFPdEIsYUFBYTt1SEFQWixxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYW5rQ29ubmVjdGlvbiBhcyBCYW5rQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuay1jb25uZWN0aW9uJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFua0Nvbm5lY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFuay9iYW5rLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5cbi8qKlxuICogQmFua0Nvbm5lY3Rpb24gbWVhbnMgdXNlciBhY2NvdW50IGF0IHNwZWNpZmljIGJhbmsgKHVzdWFsbHkgZWFjaCB1c2VyIGhhcyBvbmx5IG9uZSBhdCB0aGUgc2FtZSBiYW5rKVxuICogc2VydmljZSBoYW5kbGVzIEJhbmtDb25uZWN0aW9uIG1hbmFnZW1lbnRcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFua0Nvbm5lY3Rpb25TZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPEJhbmtDb25uZWN0aW9uQmFzZSwgQmFua0Nvbm5lY3Rpb24+IHtcbiAgbW9kZWxDbGFzcyA9IEJhbmtDb25uZWN0aW9uO1xuICB1cmw6IHN0cmluZyA9ICdiYW5rLWNvbm5lY3Rpb25zJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgfVxuXG4gIHBvc3QoYmFua0Nvbm5lY3Rpb246IEJhbmtDb25uZWN0aW9uKTogT2JzZXJ2YWJsZTxCYW5rQ29ubmVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGJhbmtDb25uZWN0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFua0Nvbm5lY3Rpb25CYXNlOiBCYW5rQ29ubmVjdGlvbkJhc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQkFOS19DT05ORUNUSU9OX0FEREVELCBudWxsKSk7XG5cbiAgICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKEJhbmtDb25uZWN0aW9uLCBiYW5rQ29ubmVjdGlvbkJhc2UpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BankTransactionCollection } from '../../collections/bank-transaction.collection';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @TODO move to collection
|
|
6
|
+
*/
|
|
7
|
+
export class BankTransactionCalculationService {
|
|
8
|
+
/**
|
|
9
|
+
* Sum of allocations for passed bank transactions
|
|
10
|
+
*/
|
|
11
|
+
getAllocatedAmount(bankTransactions, allocations) {
|
|
12
|
+
return allocations.getByBankTransactionsIds(bankTransactions.getIds()).amount;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Difference between total bank transactions amount and sum of allocations for passed bank transactions
|
|
16
|
+
*/
|
|
17
|
+
getUnallocatedAmount(bankTransactionCollection, allocations) {
|
|
18
|
+
return bankTransactionCollection.getAmount() - allocations.amount;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check if bank transaction is allocated
|
|
22
|
+
*/
|
|
23
|
+
isAllocated(bankTransaction, allocations) {
|
|
24
|
+
return bankTransaction.amount === this.getAllocatedAmount(new BankTransactionCollection([bankTransaction]), allocations);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get collection of allocated bank transactions
|
|
28
|
+
* @TODO Alex: consider to move to collection
|
|
29
|
+
*/
|
|
30
|
+
getAllocatedBankTransactions(bankTransactions, allocations) {
|
|
31
|
+
return new BankTransactionCollection(bankTransactions.items.filter((bankTransaction) => {
|
|
32
|
+
return this.isAllocated(bankTransaction, allocations);
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get collection of unallocated bank transactions
|
|
37
|
+
* @TODO Alex: consider to move to collection
|
|
38
|
+
*/
|
|
39
|
+
getUnallocatedBankTransactions(bankTransactions, allocations) {
|
|
40
|
+
return new BankTransactionCollection(bankTransactions.items.filter((bankTransaction) => {
|
|
41
|
+
return !this.isAllocated(bankTransaction, allocations);
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Allocated sum of credit transactions
|
|
46
|
+
*/
|
|
47
|
+
getCreditAmount(bankTransactions, allocations) {
|
|
48
|
+
return allocations.getByBankTransactionsIds(bankTransactions.creditTransactions.getIds()).amount;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Allocated sum of debit transactions
|
|
52
|
+
*/
|
|
53
|
+
getDebitAmount(bankTransactions, allocations) {
|
|
54
|
+
return allocations.getByBankTransactionsIds(bankTransactions.debitTransactions.getIds()).amount;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
|
|
60
|
+
type: Injectable,
|
|
61
|
+
args: [{
|
|
62
|
+
providedIn: 'root'
|
|
63
|
+
}]
|
|
64
|
+
}] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2JhbmsvYmFuay10cmFuc2FjdGlvbi1jYWxjdWxhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBSTFGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGlDQUFpQztJQUM1Qzs7T0FFRztJQUNILGtCQUFrQixDQUFDLGdCQUEyQyxFQUFFLFdBQTRDO1FBQzFHLE9BQU8sV0FBVyxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLHlCQUFvRCxFQUFFLFdBQTRDO1FBQ3JILE9BQU8seUJBQXlCLENBQUMsU0FBUyxFQUFFLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsZUFBZ0MsRUFBRSxXQUE0QztRQUN4RixPQUFPLGVBQWUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUkseUJBQXlCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFRDs7O09BR0c7SUFDSCw0QkFBNEIsQ0FBQyxnQkFBMkMsRUFBRSxXQUE0QztRQUNwSCxPQUFPLElBQUkseUJBQXlCLENBQ2xDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFXLEVBQUU7WUFDMUUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILDhCQUE4QixDQUFDLGdCQUEyQyxFQUFFLFdBQTRDO1FBQ3RILE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWdDLEVBQVcsRUFBRTtZQUMxRSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxnQkFBMkMsRUFBRSxXQUE0QztRQUN2RyxPQUFPLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsZ0JBQTJDLEVBQUUsV0FBNEM7UUFDdEcsT0FBTyxXQUFXLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEcsQ0FBQzs7K0hBMURVLGlDQUFpQzttSUFBakMsaUNBQWlDLGNBRmhDLE1BQU07NEZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9iYW5rLXRyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBAVE9ETyBtb3ZlIHRvIGNvbGxlY3Rpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFua1RyYW5zYWN0aW9uQ2FsY3VsYXRpb25TZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFN1bSBvZiBhbGxvY2F0aW9ucyBmb3IgcGFzc2VkIGJhbmsgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRBbGxvY2F0ZWRBbW91bnQoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiwgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoYmFua1RyYW5zYWN0aW9ucy5nZXRJZHMoKSkuYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIERpZmZlcmVuY2UgYmV0d2VlbiB0b3RhbCBiYW5rIHRyYW5zYWN0aW9ucyBhbW91bnQgYW5kIHN1bSBvZiBhbGxvY2F0aW9ucyBmb3IgcGFzc2VkIGJhbmsgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChiYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbikge1xuICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uLmdldEFtb3VudCgpIC0gYWxsb2NhdGlvbnMuYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGJhbmsgdHJhbnNhY3Rpb24gaXMgYWxsb2NhdGVkXG4gICAqL1xuICBpc0FsbG9jYXRlZChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbiwgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gYmFua1RyYW5zYWN0aW9uLmFtb3VudCA9PT0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQobmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oW2JhbmtUcmFuc2FjdGlvbl0pLCBhbGxvY2F0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgYWxsb2NhdGVkIGJhbmsgdHJhbnNhY3Rpb25zXG4gICAqIEBUT0RPIEFsZXg6IGNvbnNpZGVyIHRvIG1vdmUgdG8gY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0QWxsb2NhdGVkQmFua1RyYW5zYWN0aW9ucyhiYW5rVHJhbnNhY3Rpb25zOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIGJhbmtUcmFuc2FjdGlvbnMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0FsbG9jYXRlZChiYW5rVHJhbnNhY3Rpb24sIGFsbG9jYXRpb25zKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB1bmFsbG9jYXRlZCBiYW5rIHRyYW5zYWN0aW9uc1xuICAgKiBAVE9ETyBBbGV4OiBjb25zaWRlciB0byBtb3ZlIHRvIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldFVuYWxsb2NhdGVkQmFua1RyYW5zYWN0aW9ucyhiYW5rVHJhbnNhY3Rpb25zOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIGJhbmtUcmFuc2FjdGlvbnMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNBbGxvY2F0ZWQoYmFua1RyYW5zYWN0aW9uLCBhbGxvY2F0aW9ucyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb2NhdGVkIHN1bSBvZiBjcmVkaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRDcmVkaXRBbW91bnQoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiwgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoYmFua1RyYW5zYWN0aW9ucy5jcmVkaXRUcmFuc2FjdGlvbnMuZ2V0SWRzKCkpLmFtb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvY2F0ZWQgc3VtIG9mIGRlYml0IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0RGViaXRBbW91bnQoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiwgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoYmFua1RyYW5zYWN0aW9ucy5kZWJpdFRyYW5zYWN0aW9ucy5nZXRJZHMoKSkuYW1vdW50O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { BaseRestService } from '../base-rest.service';
|
|
4
|
+
import { plainToClass } from 'class-transformer';
|
|
5
|
+
import { UserEventTypeTypeEnum } from '../../db/Enums/user-event-type-type.enum';
|
|
6
|
+
import { BankTransaction } from '../../models/bank/bank-transaction';
|
|
7
|
+
import { FinancialYear } from '../../models/financial-year/financial-year';
|
|
8
|
+
import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common/http";
|
|
11
|
+
import * as i2 from "../event/event-dispatcher.service";
|
|
12
|
+
/**
|
|
13
|
+
* Service for bank transactions business logic
|
|
14
|
+
*/
|
|
15
|
+
export class BankTransactionService extends BaseRestService {
|
|
16
|
+
constructor(http, eventDispatcherService, environment) {
|
|
17
|
+
super(http, eventDispatcherService, environment);
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
20
|
+
this.environment = environment;
|
|
21
|
+
// url part for BankTransaction API
|
|
22
|
+
this.url = 'bank-transactions';
|
|
23
|
+
this.modelClass = BankTransaction;
|
|
24
|
+
this.listenEvents();
|
|
25
|
+
}
|
|
26
|
+
listenEvents() {
|
|
27
|
+
this.listenBankTransactionsImport();
|
|
28
|
+
}
|
|
29
|
+
;
|
|
30
|
+
/**
|
|
31
|
+
* get list of bank transactions for passed bank account id
|
|
32
|
+
* @param bankAccountId Id of bank account we search bank transactions for
|
|
33
|
+
*/
|
|
34
|
+
getByBankAccountId(bankAccountId) {
|
|
35
|
+
return this.get()
|
|
36
|
+
.pipe(map((bankTransactions) => {
|
|
37
|
+
return bankTransactions.filter((bankTransaction) => bankTransaction.bankAccount.id === bankAccountId);
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get list of bank transactions for provided financial year
|
|
42
|
+
* @TODO VIK/Alex: consider to use one endpoint to get bank transactions for 2 fin years
|
|
43
|
+
*/
|
|
44
|
+
getTransactionsByYear(finYear) {
|
|
45
|
+
return this.http.get(`${this.environment.apiV2}/bank-transactions?financialYear=${finYear}`)
|
|
46
|
+
.pipe(map((bankTransactionsBase) => {
|
|
47
|
+
return bankTransactionsBase.map((bankTransaction) => plainToClass(BankTransaction, bankTransaction));
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* import bank transactions from csv file
|
|
52
|
+
* @param bankAccountId Bank account id we import bank transactions for
|
|
53
|
+
* @param file File with bank transactions for import
|
|
54
|
+
*/
|
|
55
|
+
import(bankAccountId, file) {
|
|
56
|
+
const formData = new FormData();
|
|
57
|
+
formData.append('file', file);
|
|
58
|
+
return this.http.post(`${this.environment.apiV2}/bank-accounts/${bankAccountId}/bank-transaction-imports`, formData)
|
|
59
|
+
.pipe(map((response) => {
|
|
60
|
+
const newBankTransactions = response.map((bankTransaction) => plainToClass(BankTransaction, bankTransaction));
|
|
61
|
+
// push new items to cache only if we already have cache. Otherwise cache will contain only new items.
|
|
62
|
+
if (this.cache) {
|
|
63
|
+
// just current year's transactions should be added
|
|
64
|
+
this.cache.push(...newBankTransactions.filter((bt) => new FinancialYear().includes(bt.date)));
|
|
65
|
+
this.updateCache();
|
|
66
|
+
}
|
|
67
|
+
return newBankTransactions;
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
listenBankTransactionsImport() {
|
|
71
|
+
this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
|
|
72
|
+
if (!notification.isRead && notification.eventType === UserEventTypeTypeEnum.BASIQ_FIRST_IMPORT_COMPLETE) {
|
|
73
|
+
this.resetCache();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
+
BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankTransactionService, decorators: [{
|
|
81
|
+
type: Injectable,
|
|
82
|
+
args: [{
|
|
83
|
+
providedIn: 'root'
|
|
84
|
+
}]
|
|
85
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
86
|
+
type: Inject,
|
|
87
|
+
args: ['environment']
|
|
88
|
+
}] }]; } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2JhbmsvYmFuay10cmFuc2FjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFHMUU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBcUQ7SUFLL0YsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFQbkQsbUNBQW1DO1FBQ25DLFFBQUcsR0FBVyxtQkFBbUIsQ0FBQztRQUNsQyxlQUFVLEdBQUcsZUFBZSxDQUFDO1FBUTNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQUEsQ0FBQztJQUVGOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLGFBQXFCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNkLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxnQkFBbUMsRUFBRSxFQUFFO1lBQzFDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZ0MsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssYUFBYSxDQUFDLENBQUM7UUFDekgsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxPQUFlO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssb0NBQW9DLE9BQU8sRUFBRSxDQUFDO2FBQ3pGLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxvQkFBMkMsRUFBRSxFQUFFO1lBQ2xELE9BQU8sb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZ0MsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3hILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxhQUFxQixFQUFFLElBQVU7UUFDdEMsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGtCQUFrQixhQUFhLDJCQUEyQixFQUFFLFFBQVEsQ0FBQzthQUNqSCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBK0IsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sbUJBQW1CLEdBQXNCLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFvQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDdEosc0dBQXNHO1lBQ3RHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxtREFBbUQ7Z0JBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0csSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BCO1lBRUQsT0FBTyxtQkFBbUIsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVPLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQzNHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUsscUJBQXFCLENBQUMsMkJBQTJCLEVBQUU7Z0JBQ3hHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBM0VVLHNCQUFzQixrRkFRdkIsYUFBYTt3SEFSWixzQkFBc0IsY0FGckIsTUFBTTs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiBhcyBCYW5rVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2JhbmstdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFVzZXJFdmVudFR5cGVUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBiYW5rIHRyYW5zYWN0aW9ucyBidXNpbmVzcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYW5rVHJhbnNhY3Rpb25TZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPEJhbmtUcmFuc2FjdGlvbkJhc2UsIEJhbmtUcmFuc2FjdGlvbj4ge1xuICAvLyB1cmwgcGFydCBmb3IgQmFua1RyYW5zYWN0aW9uIEFQSVxuICB1cmw6IHN0cmluZyA9ICdiYW5rLXRyYW5zYWN0aW9ucyc7XG4gIG1vZGVsQ2xhc3MgPSBCYW5rVHJhbnNhY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQmFua1RyYW5zYWN0aW9uc0ltcG9ydCgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgcGFzc2VkIGJhbmsgYWNjb3VudCBpZFxuICAgKiBAcGFyYW0gYmFua0FjY291bnRJZCBJZCBvZiBiYW5rIGFjY291bnQgd2Ugc2VhcmNoIGJhbmsgdHJhbnNhY3Rpb25zIGZvclxuICAgKi9cbiAgZ2V0QnlCYW5rQWNjb3VudElkKGJhbmtBY2NvdW50SWQ6IG51bWJlcik6IE9ic2VydmFibGU8QmFua1RyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gYmFua1RyYW5zYWN0aW9ucy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uYmFua0FjY291bnQuaWQgPT09IGJhbmtBY2NvdW50SWQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBiYW5rIHRyYW5zYWN0aW9ucyBmb3IgcHJvdmlkZWQgZmluYW5jaWFsIHllYXJcbiAgICogQFRPRE8gVklLL0FsZXg6IGNvbnNpZGVyIHRvIHVzZSBvbmUgZW5kcG9pbnQgdG8gZ2V0IGJhbmsgdHJhbnNhY3Rpb25zIGZvciAyIGZpbiB5ZWFyc1xuICAgKi9cbiAgZ2V0VHJhbnNhY3Rpb25zQnlZZWFyKGZpblllYXI6IG51bWJlcik6IE9ic2VydmFibGU8QmFua1RyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYW5rLXRyYW5zYWN0aW9ucz9maW5hbmNpYWxZZWFyPSR7ZmluWWVhcn1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFua1RyYW5zYWN0aW9uc0Jhc2U6IEJhbmtUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb25zQmFzZS5tYXAoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBwbGFpblRvQ2xhc3MoQmFua1RyYW5zYWN0aW9uLCBiYW5rVHJhbnNhY3Rpb24pKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogaW1wb3J0IGJhbmsgdHJhbnNhY3Rpb25zIGZyb20gY3N2IGZpbGVcbiAgICogQHBhcmFtIGJhbmtBY2NvdW50SWQgQmFuayBhY2NvdW50IGlkIHdlIGltcG9ydCBiYW5rIHRyYW5zYWN0aW9ucyBmb3JcbiAgICogQHBhcmFtIGZpbGUgRmlsZSB3aXRoIGJhbmsgdHJhbnNhY3Rpb25zIGZvciBpbXBvcnRcbiAgICovXG4gIGltcG9ydChiYW5rQWNjb3VudElkOiBudW1iZXIsIGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPEJhbmtUcmFuc2FjdGlvbltdPiB7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vYmFuay1hY2NvdW50cy8ke2JhbmtBY2NvdW50SWR9L2JhbmstdHJhbnNhY3Rpb24taW1wb3J0c2AsIGZvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IEJhbmtUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0JhbmtUcmFuc2FjdGlvbnM6IEJhbmtUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbkJhc2UpID0+IHBsYWluVG9DbGFzcyhCYW5rVHJhbnNhY3Rpb24sIGJhbmtUcmFuc2FjdGlvbikpO1xuICAgICAgICAgIC8vIHB1c2ggbmV3IGl0ZW1zIHRvIGNhY2hlIG9ubHkgaWYgd2UgYWxyZWFkeSBoYXZlIGNhY2hlLiBPdGhlcndpc2UgY2FjaGUgd2lsbCBjb250YWluIG9ubHkgbmV3IGl0ZW1zLlxuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICAvLyBqdXN0IGN1cnJlbnQgeWVhcidzIHRyYW5zYWN0aW9ucyBzaG91bGQgYmUgYWRkZWRcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5uZXdCYW5rVHJhbnNhY3Rpb25zLmZpbHRlcigoYnQ6IEJhbmtUcmFuc2FjdGlvbikgPT4gbmV3IEZpbmFuY2lhbFllYXIoKS5pbmNsdWRlcyhidC5kYXRlKSkpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXdCYW5rVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuQmFua1RyYW5zYWN0aW9uc0ltcG9ydCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlVHlwZUVudW0uQkFTSVFfRklSU1RfSU1QT1JUX0NPTVBMRVRFKSB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Bank } from '../../models/bank/bank';
|
|
3
|
+
import { BaseRestService } from '../base-rest.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Service that handling banks logic
|
|
7
|
+
*/
|
|
8
|
+
export class BankService extends BaseRestService {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.modelClass = Bank;
|
|
12
|
+
this.url = 'banks';
|
|
13
|
+
this.isHydra = true;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, providedIn: 'root' });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BankService, decorators: [{
|
|
19
|
+
type: Injectable,
|
|
20
|
+
args: [{
|
|
21
|
+
providedIn: 'root'
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2JhbmsvYmFuay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFdkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQStCO0lBSGhFOztRQUlFLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLFFBQUcsR0FBVyxPQUFPLENBQUM7UUFDdEIsWUFBTyxHQUFZLElBQUksQ0FBQztLQUN6Qjs7eUdBSlksV0FBVzs2R0FBWCxXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhbmsgYXMgQmFua0Jhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuayc7XG5pbXBvcnQgeyBCYW5rIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuayc7XG5pbXBvcnQgeyBCYXNlUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9iYXNlLXJlc3Quc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIGJhbmtzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtTZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPEJhbmtCYXNlLCBCYW5rPiB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBCYW5rID0gQmFuaztcbiAgdXJsOiBzdHJpbmcgPSAnYmFua3MnO1xuICBpc0h5ZHJhOiBib29sZWFuID0gdHJ1ZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { ReplaySubject } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { UserEventTypeTypeEnum } from '../../db/Enums/user-event-type-type.enum';
|
|
5
|
+
import { BaseRestService } from '../base-rest.service';
|
|
6
|
+
import { BankAccount } from '../../models/bank/bank-account';
|
|
7
|
+
import { BasiqToken } from '../../models/bank/basiq-token';
|
|
8
|
+
import { AppEventTypeEnum } from '../../models/event/app-event-type.enum';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common/http";
|
|
11
|
+
import * as i2 from "../event/event-dispatcher.service";
|
|
12
|
+
/**
|
|
13
|
+
* basiq is a middleman between bank and user
|
|
14
|
+
* service is responsible for fetching bank related information
|
|
15
|
+
*/
|
|
16
|
+
export class BasiqService extends BaseRestService {
|
|
17
|
+
constructor(http, eventDispatcherService, environment) {
|
|
18
|
+
super(http, eventDispatcherService, environment);
|
|
19
|
+
this.http = http;
|
|
20
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
21
|
+
this.environment = environment;
|
|
22
|
+
this.tokenSubject = new ReplaySubject();
|
|
23
|
+
this.url = 'basiq/accounts';
|
|
24
|
+
this.modelClass = BankAccount;
|
|
25
|
+
this.listenEvents();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Listen events from Event Dispatcher service
|
|
29
|
+
*/
|
|
30
|
+
listenEvents() {
|
|
31
|
+
this.listenToBankConnectionAdded();
|
|
32
|
+
this.listenNotifications();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* access token to use basiq connect ui iframe
|
|
36
|
+
*/
|
|
37
|
+
getToken() {
|
|
38
|
+
if (!this.token || this.token.isExpired()) {
|
|
39
|
+
this.http.get(`${this.environment.apiV2}/basiq/tokens`)
|
|
40
|
+
.pipe(map((response) => {
|
|
41
|
+
const now = new Date().getTime();
|
|
42
|
+
return new BasiqToken(response['access_token'], new Date(now + response['expires_in'] * 1000));
|
|
43
|
+
}))
|
|
44
|
+
.subscribe((token) => {
|
|
45
|
+
this.tokenSubject.next(token);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return this.tokenSubject.asObservable();
|
|
49
|
+
}
|
|
50
|
+
getConnections() {
|
|
51
|
+
return this.get().pipe(map((bankAccounts) => {
|
|
52
|
+
// get all connections
|
|
53
|
+
const connections = bankAccounts.map((bankAccount) => {
|
|
54
|
+
return bankAccount.bankConnection;
|
|
55
|
+
});
|
|
56
|
+
// return without duplicates
|
|
57
|
+
return [...new Map(connections.map((connection) => [connection.id, connection])).values()];
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Listen to EventDispatcherService event related to added Bank connection
|
|
62
|
+
*/
|
|
63
|
+
listenToBankConnectionAdded() {
|
|
64
|
+
this.eventDispatcherService.on(AppEventTypeEnum.BANK_CONNECTION_ADDED).subscribe(() => {
|
|
65
|
+
this.fetch().subscribe((bankAccounts) => {
|
|
66
|
+
this.cache = bankAccounts;
|
|
67
|
+
this.updateCache();
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* listen to notifications to update basiq accounts list
|
|
73
|
+
*/
|
|
74
|
+
listenNotifications() {
|
|
75
|
+
this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
|
|
76
|
+
if (!notification.isRead && notification.eventType === UserEventTypeTypeEnum.BASIQ_NEW_ACCOUNTS) {
|
|
77
|
+
this.resetCache();
|
|
78
|
+
this.get().subscribe();
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
84
|
+
BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, providedIn: 'root' });
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqService, decorators: [{
|
|
86
|
+
type: Injectable,
|
|
87
|
+
args: [{
|
|
88
|
+
providedIn: 'root'
|
|
89
|
+
}]
|
|
90
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
91
|
+
type: Inject,
|
|
92
|
+
args: ['environment']
|
|
93
|
+
}] }]; } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9iYW5rL2Jhc2lxLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFJMUU7OztHQUdHO0FBSUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxlQUE2QztJQU03RSxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVBuRCxpQkFBWSxHQUE4QixJQUFJLGFBQWEsRUFBYyxDQUFDO1FBQzFFLFFBQUcsR0FBVyxnQkFBZ0IsQ0FBQztRQUMvQixlQUFVLEdBQUcsV0FBVyxDQUFDO1FBUXZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZ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OzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCBhcyBCYW5rQWNjb3VudEJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IFVzZXJFdmVudFR5cGVUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgQmFzaXFUb2tlbiB9IGZyb20gJy4uLy4uL21vZGVscy9iYW5rL2Jhc2lxLXRva2VuJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEJhbmtDb25uZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1jb25uZWN0aW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uJztcblxuLyoqXG4gKiBiYXNpcSBpcyBhIG1pZGRsZW1hbiBiZXR3ZWVuIGJhbmsgYW5kIHVzZXJcbiAqIHNlcnZpY2UgaXMgcmVzcG9uc2libGUgZm9yIGZldGNoaW5nIGJhbmsgcmVsYXRlZCBpbmZvcm1hdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNpcVNlcnZpY2UgZXh0ZW5kcyBCYXNlUmVzdFNlcnZpY2U8QmFua0FjY291bnRCYXNlLCBCYW5rQWNjb3VudD4ge1xuICB0b2tlbjogQmFzaXFUb2tlbjtcbiAgdG9rZW5TdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEJhc2lxVG9rZW4+ID0gbmV3IFJlcGxheVN1YmplY3Q8QmFzaXFUb2tlbj4oKTtcbiAgdXJsOiBzdHJpbmcgPSAnYmFzaXEvYWNjb3VudHMnO1xuICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ub0JhbmtDb25uZWN0aW9uQWRkZWQoKTtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhY2Nlc3MgdG9rZW4gdG8gdXNlIGJhc2lxIGNvbm5lY3QgdWkgaWZyYW1lXG4gICAqL1xuICBnZXRUb2tlbigpOiBPYnNlcnZhYmxlPEJhc2lxVG9rZW4+IHtcbiAgICBpZiAoIXRoaXMudG9rZW4gfHwgdGhpcy50b2tlbi5pc0V4cGlyZWQoKSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9iYXNpcS90b2tlbnNgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vdzogbnVtYmVyID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBuZXcgQmFzaXFUb2tlbihyZXNwb25zZVsnYWNjZXNzX3Rva2VuJ10sIG5ldyBEYXRlKG5vdyArIHJlc3BvbnNlWydleHBpcmVzX2luJ10gKiAxMDAwKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh0b2tlbjogQmFzaXFUb2tlbikgPT4ge1xuICAgICAgICAgIHRoaXMudG9rZW5TdWJqZWN0Lm5leHQodG9rZW4pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50b2tlblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXRDb25uZWN0aW9ucygpOiBPYnNlcnZhYmxlPEJhbmtDb25uZWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pID0+IHtcbiAgICAgICAgLy8gZ2V0IGFsbCBjb25uZWN0aW9uc1xuICAgICAgICBjb25zdCBjb25uZWN0aW9uczogQmFua0Nvbm5lY3Rpb25bXSA9IGJhbmtBY2NvdW50cy5tYXAoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuICAgICAgICAgIHJldHVybiBiYW5rQWNjb3VudC5iYW5rQ29ubmVjdGlvbjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gcmV0dXJuIHdpdGhvdXQgZHVwbGljYXRlc1xuICAgICAgICByZXR1cm4gWy4uLm5ldyBNYXAoY29ubmVjdGlvbnMubWFwKChjb25uZWN0aW9uOiBCYW5rQ29ubmVjdGlvbikgPT4gW2Nvbm5lY3Rpb24uaWQsIGNvbm5lY3Rpb25dKSkudmFsdWVzKCldO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gYWRkZWQgQmFuayBjb25uZWN0aW9uXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvQmFua0Nvbm5lY3Rpb25BZGRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5CQU5LX0NPTk5FQ1RJT05fQURERUQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKChiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pID0+IHtcbiAgICAgICAgdGhpcy5jYWNoZSA9IGJhbmtBY2NvdW50cztcbiAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogbGlzdGVuIHRvIG5vdGlmaWNhdGlvbnMgdG8gdXBkYXRlIGJhc2lxIGFjY291bnRzIGxpc3RcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pOiB2b2lkID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlVHlwZUVudW0uQkFTSVFfTkVXX0FDQ09VTlRTKSB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgICB0aGlzLmdldCgpLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { ReplaySubject } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { replace } from '../functions/array';
|
|
5
|
+
import { classToPlain, plainToClass } from 'class-transformer';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "./event/event-dispatcher.service";
|
|
9
|
+
/**
|
|
10
|
+
* Abstract base service that implements common services functionality
|
|
11
|
+
* and describe abstract methods/properties that have to be implemented in child services
|
|
12
|
+
* Model - entity service is working with
|
|
13
|
+
* BaseModel - base entity model that extends by Model
|
|
14
|
+
*/
|
|
15
|
+
export class BaseRestService {
|
|
16
|
+
constructor(http, eventDispatcherService, environment) {
|
|
17
|
+
this.http = http;
|
|
18
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
19
|
+
this.environment = environment;
|
|
20
|
+
// subject for service cache
|
|
21
|
+
this.cacheSubject = new ReplaySubject(1);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* get cached list of all instances
|
|
25
|
+
*/
|
|
26
|
+
get() {
|
|
27
|
+
if (!this.cache) {
|
|
28
|
+
this.fetch().subscribe();
|
|
29
|
+
}
|
|
30
|
+
return this.cacheSubject.asObservable();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* get instance by id from cache
|
|
34
|
+
* @param id ID of required item
|
|
35
|
+
*/
|
|
36
|
+
getById(id) {
|
|
37
|
+
return this.get()
|
|
38
|
+
.pipe(map((items) => {
|
|
39
|
+
return items.find((item) => item['id'] === id);
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* get list of items filtered by id.
|
|
44
|
+
* @param models Array of objects contains required items ids
|
|
45
|
+
*/
|
|
46
|
+
getByIds(models) {
|
|
47
|
+
const idsArray = models.map((model) => model['id']);
|
|
48
|
+
return this.get()
|
|
49
|
+
.pipe(map((items) => {
|
|
50
|
+
return items.filter((item) => idsArray.includes(item['id']));
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* add new instance and update cache
|
|
55
|
+
* @TODO rename to post
|
|
56
|
+
*/
|
|
57
|
+
add(model, shouldUpdateCache = true) {
|
|
58
|
+
return this.http.post(`${this.environment.apiV2}/${this.url}`, classToPlain(model))
|
|
59
|
+
.pipe(map((newItem) => {
|
|
60
|
+
if (!shouldUpdateCache) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
const newInstance = this.createModelInstance(this.modelClass, newItem);
|
|
64
|
+
if (this.cache) {
|
|
65
|
+
this.cache.push(newInstance);
|
|
66
|
+
this.updateCache();
|
|
67
|
+
}
|
|
68
|
+
return newInstance;
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Add several new items
|
|
73
|
+
* @param models Array of new items for saving
|
|
74
|
+
* @param queryParams query parameters for request
|
|
75
|
+
* @TODO rename to postBatch
|
|
76
|
+
*/
|
|
77
|
+
addBatch(models, queryParams = {}) {
|
|
78
|
+
return this.http.post(`${this.environment.apiV2}/${this.url}`, classToPlain(models), queryParams)
|
|
79
|
+
.pipe(map((newItems) => {
|
|
80
|
+
const newInstances = newItems.map((item) => this.createModelInstance(this.modelClass, item));
|
|
81
|
+
if (this.cache) {
|
|
82
|
+
this.cache.push(...newInstances);
|
|
83
|
+
this.updateCache();
|
|
84
|
+
}
|
|
85
|
+
return newInstances;
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Update item
|
|
90
|
+
* @param model Existing instance for updating
|
|
91
|
+
* @param queryParams query parameters for request
|
|
92
|
+
* @TODO rename to put
|
|
93
|
+
*/
|
|
94
|
+
update(model, queryParams = {}) {
|
|
95
|
+
return this.http.put(`${this.environment.apiV2}/${this.url}/${model['id']}`, classToPlain(model), queryParams)
|
|
96
|
+
.pipe(map((updatedItem) => {
|
|
97
|
+
const updatedInstance = this.createModelInstance(this.modelClass, updatedItem);
|
|
98
|
+
replace(this.cache, updatedInstance);
|
|
99
|
+
this.updateCache();
|
|
100
|
+
return updatedInstance;
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Update several items
|
|
105
|
+
* @param models Array of items for updating
|
|
106
|
+
* @param queryParams query parameters for request
|
|
107
|
+
* TODO rename to putBatch
|
|
108
|
+
*/
|
|
109
|
+
updateBatch(models, queryParams = {}) {
|
|
110
|
+
return this.http.put(`${this.environment.apiV2}/${this.url}`, classToPlain(models), queryParams)
|
|
111
|
+
.pipe(map((updatedItems) => {
|
|
112
|
+
const updatedInstances = updatedItems.map((item) => this.createModelInstance(this.modelClass, item));
|
|
113
|
+
updatedInstances.forEach((instance) => {
|
|
114
|
+
replace(this.cache, instance);
|
|
115
|
+
});
|
|
116
|
+
this.updateCache();
|
|
117
|
+
return updatedInstances;
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* delete instance of class
|
|
122
|
+
* @param model Class instance for deleting
|
|
123
|
+
*/
|
|
124
|
+
delete(model) {
|
|
125
|
+
return this.http.delete(`${this.environment.apiV2}/${this.url}/${model['id']}`)
|
|
126
|
+
.pipe(map(() => {
|
|
127
|
+
this.cache = this.cache.filter((item) => item['id'] !== model['id']);
|
|
128
|
+
this.updateCache();
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* delete multiple instances of class
|
|
133
|
+
* @param models Class instances array for deleting
|
|
134
|
+
*/
|
|
135
|
+
deleteBatch(models) {
|
|
136
|
+
return this.http.post(`${this.environment.apiV2}/${this.url}/delete`, models)
|
|
137
|
+
.pipe(map(() => {
|
|
138
|
+
const ids = models.map((model) => model['id']);
|
|
139
|
+
this.cache = this.cache.filter((item) => !ids.includes(item['id']));
|
|
140
|
+
this.updateCache();
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* clear service cache
|
|
145
|
+
*/
|
|
146
|
+
resetCache() {
|
|
147
|
+
this.fetch().subscribe();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* get list of base class instances directly from backend
|
|
151
|
+
*/
|
|
152
|
+
fetch() {
|
|
153
|
+
return this.http.get(`${this.environment.apiV2}/${this.url}`)
|
|
154
|
+
.pipe(map((response) => {
|
|
155
|
+
const items = (this.isHydra ? response['hydra:member'] : response)
|
|
156
|
+
.map((item) => {
|
|
157
|
+
return this.createModelInstance(this.modelClass, item);
|
|
158
|
+
});
|
|
159
|
+
this.cache = items;
|
|
160
|
+
this.updateCache();
|
|
161
|
+
return items;
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Update cache subject with current cache array value
|
|
166
|
+
*/
|
|
167
|
+
updateCache() {
|
|
168
|
+
this.cacheSubject.next(this.cache.slice());
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Create new instance of class
|
|
172
|
+
* @param model The class for which you want to create an instance
|
|
173
|
+
* @param baseModel base model instance that we will use as constructor options
|
|
174
|
+
*/
|
|
175
|
+
createModelInstance(model, baseModel) {
|
|
176
|
+
return plainToClass(model, baseModel, { excludePrefixes: ['@'] });
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
BaseRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BaseRestService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
180
|
+
BaseRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BaseRestService, providedIn: 'root' });
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BaseRestService, decorators: [{
|
|
182
|
+
type: Injectable,
|
|
183
|
+
args: [{
|
|
184
|
+
providedIn: 'root'
|
|
185
|
+
}]
|
|
186
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
187
|
+
type: Inject,
|
|
188
|
+
args: ['environment']
|
|
189
|
+
}] }]; } });
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1yZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFzZS1yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFFL0Q7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQWdCLGVBQWU7SUFhbkMsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFGdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBUm5ELDRCQUE0QjtRQUNsQixpQkFBWSxHQUEyQixJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztJQVMvRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDMUI7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNkLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxLQUFjLEVBQUUs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IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjbGFzc1RvUGxhaW4sIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBBYnN0cmFjdCBiYXNlIHNlcnZpY2UgdGhhdCBpbXBsZW1lbnRzIGNvbW1vbiBzZXJ2aWNlcyBmdW5jdGlvbmFsaXR5XG4gKiBhbmQgZGVzY3JpYmUgYWJzdHJhY3QgbWV0aG9kcy9wcm9wZXJ0aWVzIHRoYXQgaGF2ZSB0byBiZSBpbXBsZW1lbnRlZCBpbiBjaGlsZCBzZXJ2aWNlc1xuICogTW9kZWwgLSBlbnRpdHkgc2VydmljZSBpcyB3b3JraW5nIHdpdGhcbiAqIEJhc2VNb2RlbCAtIGJhc2UgZW50aXR5IG1vZGVsIHRoYXQgZXh0ZW5kcyBieSBNb2RlbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlUmVzdFNlcnZpY2U8QmFzZU1vZGVsLCBNb2RlbCBleHRlbmRzIEJhc2VNb2RlbD4ge1xuICAvLyB1cmwgcGFydCBmb3Igc2VydmljZSBlbnRpdHkgQVBJLiBIYXZlIHRvIGJlIGRlZmluZWQgaW4gZXh0ZW5kZWQgY2xhc3Nlc1xuICBhYnN0cmFjdCB1cmw6IHN0cmluZztcbiAgLy8gTW9kZWwgY2xhc3MgZm9yIGluc3RhbmNlcyBjcmVhdGluZ1xuICBhYnN0cmFjdCBtb2RlbENsYXNzO1xuICAvLyBAVE9ETyBNYWtlIGNhY2hlIFJlYWRvbmx5XG4gIC8vIGNhY2hlZCBhcnJheSBvZiBzZXJ2aWNlIGNsYXNzIGluc3RhbmNlc1xuICBwcm90ZWN0ZWQgY2FjaGU6IE1vZGVsW107XG4gIC8vIHN1YmplY3QgZm9yIHNlcnZpY2UgY2FjaGVcbiAgcHJvdGVjdGVkIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxNb2RlbFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PE1vZGVsW10+KDEpO1xuICAvLyBmbGFnIGZvciB3b3JrIHdpdGggQVBJIHBsYXRmb3JtXG4gIHByb3RlY3RlZCBpc0h5ZHJhOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGNhY2hlZCBsaXN0IG9mIGFsbCBpbnN0YW5jZXNcbiAgICovXG4gIGdldCgpOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGluc3RhbmNlIGJ5IGlkIGZyb20gY2FjaGVcbiAgICogQHBhcmFtIGlkIElEIG9mIHJlcXVpcmVkIGl0ZW1cbiAgICovXG4gIGdldEJ5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaXRlbXM6IE1vZGVsW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbTogTW9kZWwpID0+IGl0ZW1bJ2lkJ10gPT09IGlkKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgaXRlbXMgZmlsdGVyZWQgYnkgaWQuXG4gICAqIEBwYXJhbSBtb2RlbHMgQXJyYXkgb2Ygb2JqZWN0cyBjb250YWlucyByZXF1aXJlZCBpdGVtcyBpZHNcbiAgICovXG4gIGdldEJ5SWRzKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIGNvbnN0IGlkc0FycmF5OiBudW1iZXJbXSA9IG1vZGVscy5tYXAoKG1vZGVsOiBNb2RlbCkgPT4gbW9kZWxbJ2lkJ10pO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGl0ZW1zOiBNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbTogTW9kZWwpID0+IGlkc0FycmF5LmluY2x1ZGVzKGl0ZW1bJ2lkJ10pKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIG5ldyBpbnN0YW5jZSBhbmQgdXBkYXRlIGNhY2hlXG4gICAqIEBUT0RPIHJlbmFtZSB0byBwb3N0XG4gICAqL1xuICBhZGQobW9kZWw6IE1vZGVsLCBzaG91bGRVcGRhdGVDYWNoZTogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKG1vZGVsKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0l0ZW06IEJhc2VNb2RlbCkgPT4ge1xuICAgICAgICAgIGlmICghc2hvdWxkVXBkYXRlQ2FjaGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbmV3SW5zdGFuY2U6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgbmV3SXRlbSk7XG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaChuZXdJbnN0YW5jZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgc2V2ZXJhbCBuZXcgaXRlbXNcbiAgICogQHBhcmFtIG1vZGVscyBBcnJheSBvZiBuZXcgaXRlbXMgZm9yIHNhdmluZ1xuICAgKiBAcGFyYW0gcXVlcnlQYXJhbXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgcmVxdWVzdFxuICAgKiBAVE9ETyByZW5hbWUgdG8gcG9zdEJhdGNoXG4gICAqL1xuICBhZGRCYXRjaChtb2RlbHM6IE1vZGVsW10sIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbihtb2RlbHMpLCBxdWVyeVBhcmFtcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0l0ZW1zOiBCYXNlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0luc3RhbmNlczogTW9kZWxbXSA9IG5ld0l0ZW1zLm1hcCgoaXRlbTogQmFzZU1vZGVsKSA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCBpdGVtKSk7XG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5uZXdJbnN0YW5jZXMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXdJbnN0YW5jZXM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBpdGVtXG4gICAqIEBwYXJhbSBtb2RlbCBFeGlzdGluZyBpbnN0YW5jZSBmb3IgdXBkYXRpbmdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJlcXVlc3RcbiAgICogQFRPRE8gcmVuYW1lIHRvIHB1dFxuICAgKi9cbiAgdXBkYXRlKG1vZGVsOiBNb2RlbCwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bW9kZWxbJ2lkJ119YCwgY2xhc3NUb1BsYWluKG1vZGVsKSwgcXVlcnlQYXJhbXMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkSXRlbTogQmFzZU1vZGVsKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEluc3RhbmNlOiBNb2RlbCA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh0aGlzLm1vZGVsQ2xhc3MsIHVwZGF0ZWRJdGVtKTtcbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRJbnN0YW5jZSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnN0YW5jZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNldmVyYWwgaXRlbXNcbiAgICogQHBhcmFtIG1vZGVscyBBcnJheSBvZiBpdGVtcyBmb3IgdXBkYXRpbmdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJlcXVlc3RcbiAgICogVE9ETyByZW5hbWUgdG8gcHV0QmF0Y2hcbiAgICovXG4gIHVwZGF0ZUJhdGNoKG1vZGVsczogTW9kZWxbXSwgcXVlcnlQYXJhbXM6IG9iamVjdCA9IHt9KTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBjbGFzc1RvUGxhaW4obW9kZWxzKSwgcXVlcnlQYXJhbXMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkSXRlbXM6IEJhc2VNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEluc3RhbmNlczogTW9kZWxbXSA9IHVwZGF0ZWRJdGVtcy5tYXAoKGl0ZW06IEJhc2VNb2RlbCkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSkpO1xuICAgICAgICAgIHVwZGF0ZWRJbnN0YW5jZXMuZm9yRWFjaCgoaW5zdGFuY2U6IE1vZGVsKSA9PiB7XG4gICAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGluc3RhbmNlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnN0YW5jZXM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSBpbnN0YW5jZSBvZiBjbGFzc1xuICAgKiBAcGFyYW0gbW9kZWwgQ2xhc3MgaW5zdGFuY2UgZm9yIGRlbGV0aW5nXG4gICAqL1xuICBkZWxldGUobW9kZWw6IE1vZGVsKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHttb2RlbFsnaWQnXX1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gaXRlbVsnaWQnXSAhPT0gbW9kZWxbJ2lkJ10pO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZGVsZXRlIG11bHRpcGxlIGluc3RhbmNlcyBvZiBjbGFzc1xuICAgKiBAcGFyYW0gbW9kZWxzIENsYXNzIGluc3RhbmNlcyBhcnJheSBmb3IgZGVsZXRpbmdcbiAgICovXG4gIGRlbGV0ZUJhdGNoKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS9kZWxldGVgLCBtb2RlbHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpZHM6IG51bWJlcltdID0gbW9kZWxzLm1hcCgobW9kZWw6IE1vZGVsKTogbnVtYmVyID0+IG1vZGVsWydpZCddKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiAhaWRzLmluY2x1ZGVzKGl0ZW1bJ2lkJ10pKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsZWFyIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHJlc2V0Q2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGJhc2UgY2xhc3MgaW5zdGFuY2VzIGRpcmVjdGx5IGZyb20gYmFja2VuZFxuICAgKi9cbiAgcHJvdGVjdGVkIGZldGNoKCk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNlTW9kZWxbXSk6IE1vZGVsW10gPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zOiBNb2RlbFtdID0gKHRoaXMuaXNIeWRyYSA/IHJlc3BvbnNlWydoeWRyYTptZW1iZXInXSA6IHJlc3BvbnNlKVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogQmFzZU1vZGVsKTogTW9kZWwgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gaXRlbXM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBpdGVtcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNhY2hlIHN1YmplY3Qgd2l0aCBjdXJyZW50IGNhY2hlIGFycmF5IHZhbHVlXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlQ2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlLnNsaWNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgaW5zdGFuY2Ugb2YgY2xhc3NcbiAgICogQHBhcmFtIG1vZGVsIFRoZSBjbGFzcyBmb3Igd2hpY2ggeW91IHdhbnQgdG8gY3JlYXRlIGFuIGluc3RhbmNlXG4gICAqIEBwYXJhbSBiYXNlTW9kZWwgYmFzZSBtb2RlbCBpbnN0YW5jZSB0aGF0IHdlIHdpbGwgdXNlIGFzIGNvbnN0cnVjdG9yIG9wdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbEluc3RhbmNlKG1vZGVsOiBuZXcoYm06IEJhc2VNb2RlbCkgPT4gTW9kZWwsIGJhc2VNb2RlbDogQmFzZU1vZGVsKTogTW9kZWwge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MobW9kZWwsIGJhc2VNb2RlbCwgeyBleGNsdWRlUHJlZml4ZXM6IFsnQCddIH0pO1xuICB9XG59XG4iXX0=
|