taxtank-core 0.33.115 → 0.33.116
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/README.md +5 -5
- package/esm2022/common/public-api.mjs +4 -0
- package/esm2022/common/src/common.module.mjs +38 -0
- package/esm2022/common/src/db/enums/index.mjs +2 -0
- package/esm2022/common/src/db/enums/user/index.mjs +2 -0
- package/esm2022/common/src/db/enums/user/user-roles.enum.mjs +18 -0
- package/esm2022/common/src/db/index.mjs +2 -0
- package/esm2022/common/src/interceptors/interceptors.module.mjs +28 -0
- package/esm2022/common/src/interceptors/jwt-interceptor.mjs +138 -0
- package/esm2022/common/src/services/auth/auth-messages.enum.mjs +5 -0
- package/esm2022/common/src/services/auth/auth-tokens.interface.mjs +2 -0
- package/esm2022/common/src/services/auth/auth.service.mjs +56 -0
- package/esm2022/common/src/services/auth/index.mjs +6 -0
- package/esm2022/common/src/services/auth/jwt-decoded.interface.mjs +2 -0
- package/esm2022/common/src/services/auth/jwt.service.mjs +52 -0
- package/esm2022/common/src/services/index.mjs +3 -0
- package/esm2022/common/src/services/mixpanel.service.mjs +60 -0
- package/esm2022/common/taxtank-core-common.mjs +5 -0
- package/esm2022/public-api.mjs +188 -0
- package/esm2022/src/lib/collections/account-setup-item.collection.mjs +12 -0
- package/esm2022/src/lib/collections/allocation-group.collection.mjs +9 -0
- package/esm2022/src/lib/collections/allocation-rule.collection.mjs +26 -0
- package/esm2022/src/lib/collections/asset-sale.collection.mjs +59 -0
- package/esm2022/src/lib/collections/bank-account.collection.mjs +120 -0
- package/esm2022/src/lib/collections/bank-transaction.collection.mjs +131 -0
- package/esm2022/src/lib/collections/chart-accounts/chart-accounts-value.collection.mjs +20 -0
- package/esm2022/src/lib/collections/chart-accounts/index.mjs +2 -0
- package/esm2022/src/lib/collections/chart-accounts.collection.mjs +26 -0
- package/esm2022/src/lib/collections/chat/chat.collection.mjs +8 -0
- package/esm2022/src/lib/collections/chat/index.mjs +4 -0
- package/esm2022/src/lib/collections/chat/message-document.collection.mjs +13 -0
- package/esm2022/src/lib/collections/chat/message.collection.mjs +31 -0
- package/esm2022/src/lib/collections/client-invite.collection.mjs +7 -0
- package/esm2022/src/lib/collections/client-movement.collection.mjs +48 -0
- package/esm2022/src/lib/collections/client-portfolio-report.collection.mjs +40 -0
- package/esm2022/src/lib/collections/client.collection.mjs +4 -0
- package/esm2022/src/lib/collections/collection-dictionary.mjs +124 -0
- package/esm2022/src/lib/collections/collection.mjs +176 -0
- package/esm2022/src/lib/collections/depreciation-forecast.collection.mjs +19 -0
- package/esm2022/src/lib/collections/depreciation.collection.mjs +112 -0
- package/esm2022/src/lib/collections/exportable.collection.mjs +19 -0
- package/esm2022/src/lib/collections/firm/employee-invite.collection.mjs +10 -0
- package/esm2022/src/lib/collections/firm/employee.collection.mjs +18 -0
- package/esm2022/src/lib/collections/firm/index.mjs +3 -0
- package/esm2022/src/lib/collections/holding/holding-sale.collection.mjs +41 -0
- package/esm2022/src/lib/collections/holding/holding-trade.collection.mjs +81 -0
- package/esm2022/src/lib/collections/holding/holding-type.collection.mjs +13 -0
- package/esm2022/src/lib/collections/holding/holding.collection.mjs +43 -0
- package/esm2022/src/lib/collections/holding/index.mjs +5 -0
- package/esm2022/src/lib/collections/home-office/home-office-claim.collection.mjs +7 -0
- package/esm2022/src/lib/collections/home-office/index.mjs +2 -0
- package/esm2022/src/lib/collections/income-source/income-source-forecast.collection.mjs +11 -0
- package/esm2022/src/lib/collections/income-source/income-source.collection.mjs +43 -0
- package/esm2022/src/lib/collections/income-source/index.mjs +3 -0
- package/esm2022/src/lib/collections/index.mjs +37 -0
- package/esm2022/src/lib/collections/loan/index.mjs +3 -0
- package/esm2022/src/lib/collections/loan/loan-payment.collection.mjs +40 -0
- package/esm2022/src/lib/collections/loan/loan.collection.mjs +46 -0
- package/esm2022/src/lib/collections/property/index.mjs +7 -0
- package/esm2022/src/lib/collections/property/property-category-movement.collection.mjs +23 -0
- package/esm2022/src/lib/collections/property/property-sale/index.mjs +3 -0
- package/esm2022/src/lib/collections/property/property-sale/property-sale-tax-exemption-meta-field.collection.mjs +17 -0
- package/esm2022/src/lib/collections/property/property-sale/property-sale.collection.mjs +13 -0
- package/esm2022/src/lib/collections/property/property-share.collection.mjs +20 -0
- package/esm2022/src/lib/collections/property/property-valuation.collection.mjs +14 -0
- package/esm2022/src/lib/collections/property/property.collection.mjs +113 -0
- package/esm2022/src/lib/collections/property/tax-exemption.collection.mjs +11 -0
- package/esm2022/src/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.mjs +12 -0
- package/esm2022/src/lib/collections/report/depreciation/depreciation-report-item.collection.mjs +12 -0
- package/esm2022/src/lib/collections/report/income-expense/transaction-report-item.collection.mjs +30 -0
- package/esm2022/src/lib/collections/report/index.mjs +8 -0
- package/esm2022/src/lib/collections/report/property/property-report-item-depreciation.collection.mjs +21 -0
- package/esm2022/src/lib/collections/report/property/property-report-item-transaction.collection.mjs +21 -0
- package/esm2022/src/lib/collections/report/property/property-report-item.collection.mjs +13 -0
- package/esm2022/src/lib/collections/report/vehicle-expense/vehicle-expense.collection.mjs +17 -0
- package/esm2022/src/lib/collections/sole/index.mjs +4 -0
- package/esm2022/src/lib/collections/sole/sole-business-loss.collection.mjs +41 -0
- package/esm2022/src/lib/collections/sole/sole-invoice-item.collection.mjs +10 -0
- package/esm2022/src/lib/collections/sole/sole-invoice.collection.mjs +40 -0
- package/esm2022/src/lib/collections/subscription/index.mjs +5 -0
- package/esm2022/src/lib/collections/subscription/service-price.collection.mjs +50 -0
- package/esm2022/src/lib/collections/subscription/service-product.collection.mjs +11 -0
- package/esm2022/src/lib/collections/subscription/service-subscription.collection.mjs +58 -0
- package/esm2022/src/lib/collections/subscription/subscription-item.collection.mjs +17 -0
- package/esm2022/src/lib/collections/tax-review.collection.mjs +47 -0
- package/esm2022/src/lib/collections/tax-summary/index.mjs +3 -0
- package/esm2022/src/lib/collections/tax-summary/report-item.collection.mjs +101 -0
- package/esm2022/src/lib/collections/tax-summary/tax-return-categories.const.mjs +113 -0
- package/esm2022/src/lib/collections/transaction/index.mjs +4 -0
- package/esm2022/src/lib/collections/transaction/transaction-allocation.collection.mjs +39 -0
- package/esm2022/src/lib/collections/transaction/transaction-base.collection.mjs +4 -0
- package/esm2022/src/lib/collections/transaction/transaction.collection.mjs +235 -0
- package/esm2022/src/lib/collections/user/user.collection.mjs +4 -0
- package/esm2022/src/lib/collections/user-event-setting.collection.mjs +10 -0
- package/esm2022/src/lib/collections/user-event-type-collection.mjs +11 -0
- package/esm2022/src/lib/collections/vehicle/best-vehicle-logbook.collection.mjs +94 -0
- package/esm2022/src/lib/collections/vehicle/index.mjs +4 -0
- package/esm2022/src/lib/collections/vehicle/vehicle-claim.collection.mjs +25 -0
- package/esm2022/src/lib/collections/vehicle/vehicle-logbook.collection.mjs +43 -0
- package/esm2022/src/lib/core.module.mjs +25 -0
- package/esm2022/src/lib/db/Enums/address-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/annual-frequency.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-comparison-operator.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-field.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-condition-operator.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/allocation-rule-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/bank/allocation-rule/index.mjs +5 -0
- package/esm2022/src/lib/db/Enums/bank/bank-account-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/bank-account-type.enum.mjs +13 -0
- package/esm2022/src/lib/db/Enums/bank/bank-connection-status.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/bank/bank-popular.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/bank/bank-provider.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/bank/bank-transaction-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/index.mjs +8 -0
- package/esm2022/src/lib/db/Enums/bank/loan/index.mjs +11 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-bank-type.enum.mjs +12 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-frequency.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-interest-type-label.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-interest-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-payout-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-frequency.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-type-label.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-repayment-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-type.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/bank/loan/loan-vehicle-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/business-chart-accounts.enum.mjs +48 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-adjustment-included-list.enum.mjs +19 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-category.enum.mjs +20 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-etp.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-list.enum.mjs +50 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-tax-deductible.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-taxable.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-heading-vehicle-list.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-holding-untaxed-income-list.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-keep-sign.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-list.enum.mjs +62 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-meta-field-list.enum.mjs +19 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-meta-field-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-property-adjustments-list.enum.mjs +50 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-salary-adjustments-list.enum.mjs +17 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/chart-accounts/index.mjs +17 -0
- package/esm2022/src/lib/db/Enums/chat-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/client/client-details-medicare-exemption.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/client/client-details-work-depreciation-calculation.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/client/client-details-working-holiday-maker.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/client/client-invite-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/client/client-invite-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/client/index.mjs +7 -0
- package/esm2022/src/lib/db/Enums/client/timezone.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/depreciation-calculation-percent.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/depreciation-calculation.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/depreciation-type.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/depreciation-write-off-amount.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/document-type.enum.mjs +5 -0
- package/esm2022/src/lib/db/Enums/file-type.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/firm/employee-invite-role.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/firm/firm-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/firm/index.mjs +3 -0
- package/esm2022/src/lib/db/Enums/holding/holding-trade-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/holding/holding-type-category.enum.mjs +18 -0
- package/esm2022/src/lib/db/Enums/holding/holding-type-exchange-list.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/holding/index.mjs +4 -0
- package/esm2022/src/lib/db/Enums/home-office/home-office-claim-method.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/home-office/index.mjs +2 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-forecast-trust-type.enum.mjs +15 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-holding.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-other.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-sole.enum.mjs +5 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type-list-work.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/income-source/income-source-type.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/income-source/index.mjs +7 -0
- package/esm2022/src/lib/db/Enums/index.mjs +13 -0
- package/esm2022/src/lib/db/Enums/invite-status.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/phone-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/property/property-category-list.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/property/property-depreciation-calculation.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/property/property-sale/tax-exemption-meta-field.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/property/property-sale/tax-exemption.enum.mjs +12 -0
- package/esm2022/src/lib/db/Enums/property/property-share-access.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/property/property-share-status.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/registration-invite-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/salary-forecast-frequency.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/service-notification-status.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/service-notification-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/setup-item-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/sole/index.mjs +6 -0
- package/esm2022/src/lib/db/Enums/sole/sole-depreciation-method.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/sole/sole-invoice-state.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/sole/sole-invoice-statuses.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/sole/sole-invoice-tax-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/sole/sole-invoice-template-tax-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/spare-document-spare-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/subscription/index.mjs +2 -0
- package/esm2022/src/lib/db/Enums/subscription/service-payment-method-card-brand.enum.mjs +12 -0
- package/esm2022/src/lib/db/Enums/subscription/service-payment-method-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/subscription/service-payment-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/subscription/service-price-list.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/subscription/service-price-recurring-interval.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/subscription/service-price-type.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/subscription/service-product-id.enum.mjs +11 -0
- package/esm2022/src/lib/db/Enums/subscription/service-product-status.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/subscription/service-subscription-status.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/tank-type.enum.mjs +10 -0
- package/esm2022/src/lib/db/Enums/tax-calculation-medicare-exemption.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/tax-calculation-type.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/tax-return/index.mjs +4 -0
- package/esm2022/src/lib/db/Enums/tax-return/tax-return-category-list.enum.mjs +66 -0
- package/esm2022/src/lib/db/Enums/tax-return/tax-return-category-section.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/tax-return/tax-return-item.enum.mjs +20 -0
- package/esm2022/src/lib/db/Enums/tax-review-status.enum.mjs +13 -0
- package/esm2022/src/lib/db/Enums/tax-summary-list.enum.mjs +17 -0
- package/esm2022/src/lib/db/Enums/tax-summary-section.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/tax-summary-tax-summary.enum.mjs +17 -0
- package/esm2022/src/lib/db/Enums/ticket-feedback.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/ticket-status.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/ticket-types.enum.mjs +5 -0
- package/esm2022/src/lib/db/Enums/transaction-operation.enum.mjs +8 -0
- package/esm2022/src/lib/db/Enums/transaction-source.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/transaction-type.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/user/gender.enum.mjs +14 -0
- package/esm2022/src/lib/db/Enums/user/index.mjs +2 -0
- package/esm2022/src/lib/db/Enums/user-event-status.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/user-event-type-client-type.enum.mjs +29 -0
- package/esm2022/src/lib/db/Enums/user-event-type-employee-type.enum.mjs +17 -0
- package/esm2022/src/lib/db/Enums/user-event-type-frequency.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/user-event-type-type.enum.mjs +53 -0
- package/esm2022/src/lib/db/Enums/user-event-type-user-type.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/user-medicare-exemption.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/user-status.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/user-title.enum.mjs +9 -0
- package/esm2022/src/lib/db/Enums/user-work-depreciation-calculation.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/user-working-holiday-maker.enum.mjs +7 -0
- package/esm2022/src/lib/db/Enums/vehicle-claim-details-method.enum.mjs +6 -0
- package/esm2022/src/lib/db/Enums/vehicle-logbook-purpose.enum.mjs +6 -0
- package/esm2022/src/lib/db/Json/chart-accounts/chart-accounts-value.json +530 -0
- package/esm2022/src/lib/db/Json/holding/holding-type-exchange.json +79 -0
- package/esm2022/src/lib/db/Json/income-source/income_source_type.json +62 -0
- package/esm2022/src/lib/db/Json/property/tax-exemption.json +47 -0
- package/esm2022/src/lib/db/Json/tax-return/tax-return-item.json +1778 -0
- package/esm2022/src/lib/db/Models/abstract-model.mjs +17 -0
- package/esm2022/src/lib/db/Models/address.mjs +4 -0
- package/esm2022/src/lib/db/Models/bank/bank-account-balance.mjs +9 -0
- package/esm2022/src/lib/db/Models/bank/bank-account-property.mjs +9 -0
- package/esm2022/src/lib/db/Models/bank/bank-account.mjs +10 -0
- package/esm2022/src/lib/db/Models/bank/bank-connection.mjs +5 -0
- package/esm2022/src/lib/db/Models/bank/bank-transaction-import.mjs +4 -0
- package/esm2022/src/lib/db/Models/bank/bank-transaction.mjs +5 -0
- package/esm2022/src/lib/db/Models/bank/bank.mjs +4 -0
- package/esm2022/src/lib/db/Models/bank/basiq-job-step.enum.mjs +8 -0
- package/esm2022/src/lib/db/Models/bank/basiq-job.mjs +4 -0
- package/esm2022/src/lib/db/Models/budget/budget-rule.mjs +4 -0
- package/esm2022/src/lib/db/Models/budget/budget.mjs +4 -0
- package/esm2022/src/lib/db/Models/budget/index.mjs +3 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-depreciation.mjs +4 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-heading.mjs +4 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts-value.mjs +4 -0
- package/esm2022/src/lib/db/Models/chart-accounts/chart-accounts.mjs +4 -0
- package/esm2022/src/lib/db/Models/client/annual-client-details.mjs +3 -0
- package/esm2022/src/lib/db/Models/client/client-details.mjs +4 -0
- package/esm2022/src/lib/db/Models/client/index.mjs +4 -0
- package/esm2022/src/lib/db/Models/client/occupation.mjs +4 -0
- package/esm2022/src/lib/db/Models/country.mjs +4 -0
- package/esm2022/src/lib/db/Models/depreciation/depreciation-capital-project.mjs +4 -0
- package/esm2022/src/lib/db/Models/depreciation/depreciation-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/depreciation/depreciation.mjs +10 -0
- package/esm2022/src/lib/db/Models/document/document-folder.mjs +4 -0
- package/esm2022/src/lib/db/Models/document/folder-document.mjs +4 -0
- package/esm2022/src/lib/db/Models/document/property-document.mjs +4 -0
- package/esm2022/src/lib/db/Models/file.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/accountant/tax-review.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/accountant/ticket.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/chat.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/client-invite.mjs +5 -0
- package/esm2022/src/lib/db/Models/firm/client-movement.mjs +5 -0
- package/esm2022/src/lib/db/Models/firm/employee-invite.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/firm-invite.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/firm.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/message-document.mjs +4 -0
- package/esm2022/src/lib/db/Models/firm/message.mjs +5 -0
- package/esm2022/src/lib/db/Models/holding/holding-sale.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/holding-trade-import.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/holding-trade.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/holding-type-exchange.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/holding-type.mjs +3 -0
- package/esm2022/src/lib/db/Models/holding/index.mjs +5 -0
- package/esm2022/src/lib/db/Models/incomeSource/income-source-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/incomeSource/income-source-type.mjs +4 -0
- package/esm2022/src/lib/db/Models/incomeSource/income-source.mjs +4 -0
- package/esm2022/src/lib/db/Models/incomeSource/salary-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/index.mjs +96 -0
- package/esm2022/src/lib/db/Models/loan/borrowing-expense-loan.mjs +4 -0
- package/esm2022/src/lib/db/Models/loan/borrowing-expense.mjs +4 -0
- package/esm2022/src/lib/db/Models/loan/loan-payout.mjs +13 -0
- package/esm2022/src/lib/db/Models/loan/loan.mjs +22 -0
- package/esm2022/src/lib/db/Models/observable-model.mjs +14 -0
- package/esm2022/src/lib/db/Models/phone.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/borrowing-report.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-category-movement.mjs +5 -0
- package/esm2022/src/lib/db/Models/property/property-category.mjs +5 -0
- package/esm2022/src/lib/db/Models/property/property-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-sale/property-sale-tax-exemption-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-sale/property-sale.mjs +5 -0
- package/esm2022/src/lib/db/Models/property/property-sale/tax-exemption-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-sale/tax-exemption.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-share.mjs +10 -0
- package/esm2022/src/lib/db/Models/property/property-subscription.mjs +4 -0
- package/esm2022/src/lib/db/Models/property/property-valuation.mjs +5 -0
- package/esm2022/src/lib/db/Models/property/property.mjs +30 -0
- package/esm2022/src/lib/db/Models/service-notification.mjs +4 -0
- package/esm2022/src/lib/db/Models/setup-item.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/bas-report.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business-activity.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business-allocation.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business-loss-offset-rule.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business-loss.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-business.mjs +5 -0
- package/esm2022/src/lib/db/Models/sole/sole-contact.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-depreciation-method.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-details.mjs +5 -0
- package/esm2022/src/lib/db/Models/sole/sole-forecast.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-invoice-item.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-invoice-template.mjs +4 -0
- package/esm2022/src/lib/db/Models/sole/sole-invoice.mjs +4 -0
- package/esm2022/src/lib/db/Models/spare/spare-document-category.mjs +4 -0
- package/esm2022/src/lib/db/Models/spare/spare-document.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-payment-method.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-payment.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-price.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-product.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-subscription-item.mjs +4 -0
- package/esm2022/src/lib/db/Models/subscription/service-subscription.mjs +5 -0
- package/esm2022/src/lib/db/Models/tax-calculation.mjs +4 -0
- package/esm2022/src/lib/db/Models/tax-return/index.mjs +4 -0
- package/esm2022/src/lib/db/Models/tax-return/tax-return-category.mjs +4 -0
- package/esm2022/src/lib/db/Models/tax-return/tax-return-item.mjs +4 -0
- package/esm2022/src/lib/db/Models/tax-return/tax-return.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/allocation-rule-condition.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/allocation-rule-transaction-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/allocation-rule-transaction.mjs +5 -0
- package/esm2022/src/lib/db/Models/transaction/allocation-rule.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/transaction-allocation.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/transaction-base.mjs +88 -0
- package/esm2022/src/lib/db/Models/transaction/transaction-meta-field.mjs +4 -0
- package/esm2022/src/lib/db/Models/transaction/transaction.mjs +5 -0
- package/esm2022/src/lib/db/Models/user/employee-details.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/registration-invite.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user-event-setting.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user-event-type-category.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user-event-type.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user-event.mjs +4 -0
- package/esm2022/src/lib/db/Models/user/user.mjs +5 -0
- package/esm2022/src/lib/db/Models/vehicle/vehicle-claim-details.mjs +4 -0
- package/esm2022/src/lib/db/Models/vehicle/vehicle-claim.mjs +5 -0
- package/esm2022/src/lib/db/Models/vehicle/vehicle-logbook.mjs +4 -0
- package/esm2022/src/lib/db/Models/vehicle/vehicle.mjs +4 -0
- package/esm2022/src/lib/db-static/chart-accounts/chart-accounts-values.mjs +9 -0
- package/esm2022/src/lib/forms/abstract.form.mjs +163 -0
- package/esm2022/src/lib/forms/address/address.form.mjs +188 -0
- package/esm2022/src/lib/forms/address/index.mjs +2 -0
- package/esm2022/src/lib/forms/aussie/aussie-appointment.form.mjs +19 -0
- package/esm2022/src/lib/forms/aussie/aussie-confirmation.form.mjs +12 -0
- package/esm2022/src/lib/forms/aussie/aussie-store.form.mjs +27 -0
- package/esm2022/src/lib/forms/aussie/index.mjs +4 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-add-manual.form.mjs +45 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-allocation.form.mjs +45 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-import.form.mjs +24 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-account-properties.form.mjs +63 -0
- package/esm2022/src/lib/forms/bank/bank-account/bank-accounts-import.form.mjs +50 -0
- package/esm2022/src/lib/forms/budget/budget.form.mjs +69 -0
- package/esm2022/src/lib/forms/budget/index.mjs +2 -0
- package/esm2022/src/lib/forms/chart-accounts/chart-accounts.form.mjs +14 -0
- package/esm2022/src/lib/forms/chart-accounts/index.mjs +2 -0
- package/esm2022/src/lib/forms/chat/chat-filter.form.mjs +36 -0
- package/esm2022/src/lib/forms/chat/index.mjs +2 -0
- package/esm2022/src/lib/forms/client/annual-client-details.form.mjs +38 -0
- package/esm2022/src/lib/forms/client/capital-loss.form.mjs +13 -0
- package/esm2022/src/lib/forms/client/index.mjs +3 -0
- package/esm2022/src/lib/forms/collection.form.mjs +29 -0
- package/esm2022/src/lib/forms/depreciation/depreciation.form.mjs +48 -0
- package/esm2022/src/lib/forms/depreciation/index.mjs +2 -0
- package/esm2022/src/lib/forms/document-folder/document-folder.form.mjs +11 -0
- package/esm2022/src/lib/forms/document-folder/document.form.mjs +11 -0
- package/esm2022/src/lib/forms/document-folder/index.mjs +3 -0
- package/esm2022/src/lib/forms/firm/client-invite-put.form.mjs +13 -0
- package/esm2022/src/lib/forms/firm/client-invite.form.mjs +18 -0
- package/esm2022/src/lib/forms/firm/client-movement.form.mjs +22 -0
- package/esm2022/src/lib/forms/firm/employee-details.form.mjs +21 -0
- package/esm2022/src/lib/forms/firm/employee-invite.form.mjs +24 -0
- package/esm2022/src/lib/forms/firm/firm-branch.form.mjs +13 -0
- package/esm2022/src/lib/forms/firm/firm-invite.form.mjs +18 -0
- package/esm2022/src/lib/forms/firm/firm.form.mjs +18 -0
- package/esm2022/src/lib/forms/firm/index.mjs +9 -0
- package/esm2022/src/lib/forms/form-validations.enum.mjs +12 -0
- package/esm2022/src/lib/forms/holding/holding-reinvest.form.mjs +85 -0
- package/esm2022/src/lib/forms/holding/holding-trade/holding-trade-filter.form.mjs +44 -0
- package/esm2022/src/lib/forms/holding/holding-trade/holding-trade.form.mjs +30 -0
- package/esm2022/src/lib/forms/holding/holding-trade/index.mjs +3 -0
- package/esm2022/src/lib/forms/holding/holding-trade-import.form.mjs +25 -0
- package/esm2022/src/lib/forms/holding/holding-type.form.mjs +16 -0
- package/esm2022/src/lib/forms/holding/index.mjs +5 -0
- package/esm2022/src/lib/forms/home-office/home-office-calculator.form.mjs +32 -0
- package/esm2022/src/lib/forms/home-office/home-office-claim.form.mjs +43 -0
- package/esm2022/src/lib/forms/home-office/home-office-log.form.mjs +15 -0
- package/esm2022/src/lib/forms/home-office/index.mjs +4 -0
- package/esm2022/src/lib/forms/index.mjs +32 -0
- package/esm2022/src/lib/forms/loan/index.mjs +2 -0
- package/esm2022/src/lib/forms/loan/loan.form.mjs +86 -0
- package/esm2022/src/lib/forms/login/login.form.mjs +11 -0
- package/esm2022/src/lib/forms/phone/index.mjs +2 -0
- package/esm2022/src/lib/forms/phone/phone.form.mjs +18 -0
- package/esm2022/src/lib/forms/property/borrowing-report.form.mjs +32 -0
- package/esm2022/src/lib/forms/property/index.mjs +10 -0
- package/esm2022/src/lib/forms/property/property-add.form.mjs +58 -0
- package/esm2022/src/lib/forms/property/property-category-movement-form.mjs +21 -0
- package/esm2022/src/lib/forms/property/property-document.form.mjs +14 -0
- package/esm2022/src/lib/forms/property/property-edit.form.mjs +17 -0
- package/esm2022/src/lib/forms/property/property-forecast.form.mjs +28 -0
- package/esm2022/src/lib/forms/property/property-sale/index.mjs +4 -0
- package/esm2022/src/lib/forms/property/property-sale/property-sale-cost-base.form.mjs +38 -0
- package/esm2022/src/lib/forms/property/property-sale/property-sale-cost-sale.form.mjs +66 -0
- package/esm2022/src/lib/forms/property/property-sale/property-sale-exemptions.form.mjs +107 -0
- package/esm2022/src/lib/forms/property/property-share.form.mjs +16 -0
- package/esm2022/src/lib/forms/property/property-valuation.form.mjs +40 -0
- package/esm2022/src/lib/forms/register/register-client.form.mjs +22 -0
- package/esm2022/src/lib/forms/register/register-firm.form.mjs +22 -0
- package/esm2022/src/lib/forms/report/my-tax/index.mjs +17 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.form.mjs +31 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.form.mjs +81 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.mjs +14 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.form.mjs +79 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-cgt.form.mjs +30 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-deductions.form.mjs +85 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-dividends.form.mjs +23 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-income-statements.form.mjs +108 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-income-tests.form.mjs +10 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-interest.form.mjs +12 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-losses.form.mjs +11 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-medicare.form.mjs +38 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-offsets.form.mjs +10 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-other-income.form.mjs +43 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.mjs +37 -0
- package/esm2022/src/lib/forms/report/my-tax/my-tax-rent.form.mjs +13 -0
- package/esm2022/src/lib/forms/sole/bas-report.form.mjs +63 -0
- package/esm2022/src/lib/forms/sole/index.mjs +12 -0
- package/esm2022/src/lib/forms/sole/invoice-payment.form.mjs +14 -0
- package/esm2022/src/lib/forms/sole/sole-business-allocations.form.mjs +64 -0
- package/esm2022/src/lib/forms/sole/sole-business-loss.form.mjs +24 -0
- package/esm2022/src/lib/forms/sole/sole-business.form.mjs +70 -0
- package/esm2022/src/lib/forms/sole/sole-contact.form.mjs +20 -0
- package/esm2022/src/lib/forms/sole/sole-depreciation-method.form.mjs +10 -0
- package/esm2022/src/lib/forms/sole/sole-details.form.mjs +12 -0
- package/esm2022/src/lib/forms/sole/sole-invoice-item.form.mjs +15 -0
- package/esm2022/src/lib/forms/sole/sole-invoice-template.form.mjs +15 -0
- package/esm2022/src/lib/forms/sole/sole-invoice.form.mjs +158 -0
- package/esm2022/src/lib/forms/tax-review/index.mjs +3 -0
- package/esm2022/src/lib/forms/tax-review/tax-review-filter-status.enum.mjs +6 -0
- package/esm2022/src/lib/forms/tax-review/tax-review-filter.form.mjs +49 -0
- package/esm2022/src/lib/forms/transaction/allocation-rule-condition.form.mjs +16 -0
- package/esm2022/src/lib/forms/transaction/allocation-rule-transaction-meta-field.form.mjs +12 -0
- package/esm2022/src/lib/forms/transaction/allocation-rule-transaction.form.mjs +146 -0
- package/esm2022/src/lib/forms/transaction/allocation-rule.form.mjs +188 -0
- package/esm2022/src/lib/forms/transaction/holding/holding-income.form.mjs +59 -0
- package/esm2022/src/lib/forms/transaction/index.mjs +9 -0
- package/esm2022/src/lib/forms/transaction/messages.enum.mjs +5 -0
- package/esm2022/src/lib/forms/transaction/sole/sole-income.form.mjs +17 -0
- package/esm2022/src/lib/forms/transaction/sole/sole-transaction.form.mjs +7 -0
- package/esm2022/src/lib/forms/transaction/transaction-base-filter.form.mjs +48 -0
- package/esm2022/src/lib/forms/transaction/transaction-base.form.mjs +98 -0
- package/esm2022/src/lib/forms/transaction/transaction.form.mjs +62 -0
- package/esm2022/src/lib/forms/transaction/work/work-expense.form.mjs +46 -0
- package/esm2022/src/lib/forms/transaction/work/work-income.form.mjs +90 -0
- package/esm2022/src/lib/forms/transaction/work/work-transaction.form.mjs +38 -0
- package/esm2022/src/lib/forms/user/client-details.form.mjs +35 -0
- package/esm2022/src/lib/forms/user/index.mjs +6 -0
- package/esm2022/src/lib/forms/user/password.form.mjs +14 -0
- package/esm2022/src/lib/forms/user/reset-password.form.mjs +11 -0
- package/esm2022/src/lib/forms/user/user-invite.form.mjs +17 -0
- package/esm2022/src/lib/forms/user/user.form.mjs +18 -0
- package/esm2022/src/lib/forms/vehicle/index.mjs +5 -0
- package/esm2022/src/lib/forms/vehicle/vehicle-claim-details.form.mjs +17 -0
- package/esm2022/src/lib/forms/vehicle/vehicle-claim.form.mjs +28 -0
- package/esm2022/src/lib/forms/vehicle/vehicle-logbook.form.mjs +62 -0
- package/esm2022/src/lib/forms/vehicle/vehicle.form.mjs +17 -0
- package/esm2022/src/lib/functions/array/index.mjs +5 -0
- package/esm2022/src/lib/functions/array/replace.mjs +6 -0
- package/esm2022/src/lib/functions/array/sort-deep.mjs +22 -0
- package/esm2022/src/lib/functions/array/sort.mjs +13 -0
- package/esm2022/src/lib/functions/array/to-array.mjs +7 -0
- package/esm2022/src/lib/functions/clone-deep.mjs +5 -0
- package/esm2022/src/lib/functions/create-date.mjs +8 -0
- package/esm2022/src/lib/functions/enum-to-list.mjs +13 -0
- package/esm2022/src/lib/functions/get-doc-icon.mjs +18 -0
- package/esm2022/src/lib/functions/mat-options-functions.mjs +13 -0
- package/esm2022/src/lib/functions/mat-sort-options.mjs +10 -0
- package/esm2022/src/lib/interceptors/aussie.interceptor.mjs +35 -0
- package/esm2022/src/lib/interceptors/basiq-client-id.interceptor.mjs +31 -0
- package/esm2022/src/lib/interceptors/basiq-token.interceptor.mjs +33 -0
- package/esm2022/src/lib/interceptors/corelogic-interceptor.mjs +41 -0
- package/esm2022/src/lib/interceptors/financial-year-interceptor.mjs +42 -0
- package/esm2022/src/lib/interceptors/interceptors.module.mjs +107 -0
- package/esm2022/src/lib/interceptors/preloader.interceptor.mjs +32 -0
- package/esm2022/src/lib/interceptors/rewardful.interceptor.mjs +43 -0
- package/esm2022/src/lib/interceptors/user-switcher-interceptor.mjs +40 -0
- package/esm2022/src/lib/interfaces/asset-entity-type.enum.mjs +12 -0
- package/esm2022/src/lib/interfaces/asset-type.enum.mjs +13 -0
- package/esm2022/src/lib/interfaces/asset.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/chart-data.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/chart-serie.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/document.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/documentable.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/event-listener.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/expense.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/income-source-forecast.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/index.mjs +14 -0
- package/esm2022/src/lib/interfaces/option.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/tank.interface.mjs +2 -0
- package/esm2022/src/lib/interfaces/updatable.interface.mjs +2 -0
- package/esm2022/src/lib/messages/index.mjs +2 -0
- package/esm2022/src/lib/messages/messages.enum.mjs +16 -0
- package/esm2022/src/lib/models/account-setup/account-setup-item.mjs +38 -0
- package/esm2022/src/lib/models/account-setup/account-setup-items.enum.mjs +19 -0
- package/esm2022/src/lib/models/address/address.mjs +50 -0
- package/esm2022/src/lib/models/address/country.mjs +18 -0
- package/esm2022/src/lib/models/address/index.mjs +4 -0
- package/esm2022/src/lib/models/address/states.enum.mjs +12 -0
- package/esm2022/src/lib/models/asset-sale.mjs +10 -0
- package/esm2022/src/lib/models/aussie/aussie-appointment.mjs +14 -0
- package/esm2022/src/lib/models/aussie/aussie-broker.mjs +33 -0
- package/esm2022/src/lib/models/aussie/aussie-store.interface.mjs +2 -0
- package/esm2022/src/lib/models/aussie/aussie-store.mjs +10 -0
- package/esm2022/src/lib/models/aussie/index.mjs +5 -0
- package/esm2022/src/lib/models/badge/badge-color.enum.mjs +8 -0
- package/esm2022/src/lib/models/badge/badge.mjs +14 -0
- package/esm2022/src/lib/models/bank/allocation-group.mjs +64 -0
- package/esm2022/src/lib/models/bank/bank-account-chart-data.mjs +30 -0
- package/esm2022/src/lib/models/bank/bank-account-property.mjs +14 -0
- package/esm2022/src/lib/models/bank/bank-account.mjs +166 -0
- package/esm2022/src/lib/models/bank/bank-connection.mjs +76 -0
- package/esm2022/src/lib/models/bank/bank-external-stats.mjs +8 -0
- package/esm2022/src/lib/models/bank/bank-transaction-chart-data.mjs +99 -0
- package/esm2022/src/lib/models/bank/bank-transaction-summary-fields.enum.mjs +6 -0
- package/esm2022/src/lib/models/bank/bank-transaction.mjs +78 -0
- package/esm2022/src/lib/models/bank/bank.mjs +37 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-config.mjs +12 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-connection-data.interface.mjs +2 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-connections-response.interface.mjs +2 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-job-response.mjs +15 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-job-step.mjs +18 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-job.mjs +4 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-token-response.interface.mjs +2 -0
- package/esm2022/src/lib/models/bank/basiq/basiq-token.mjs +15 -0
- package/esm2022/src/lib/models/bank/basiq/index.mjs +9 -0
- package/esm2022/src/lib/models/bank/index.mjs +13 -0
- package/esm2022/src/lib/models/bank/type-loan.const.mjs +6 -0
- package/esm2022/src/lib/models/borrowing-expense/borrowing-expense-loan.mjs +4 -0
- package/esm2022/src/lib/models/borrowing-expense/borrowing-expense.mjs +4 -0
- package/esm2022/src/lib/models/borrowing-expense/index.mjs +3 -0
- package/esm2022/src/lib/models/budget/budget-rule.mjs +14 -0
- package/esm2022/src/lib/models/budget/budget.mjs +18 -0
- package/esm2022/src/lib/models/budget/index.mjs +3 -0
- package/esm2022/src/lib/models/chart/chart-data.mjs +13 -0
- package/esm2022/src/lib/models/chart/chart-serie.mjs +7 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-categories.const.mjs +122 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-category.e-collection.mjs +48 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-depreciation.mjs +16 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-heading.mjs +4 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-meta-field.mjs +20 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-tax-labels.enum.mjs +7 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts-value.mjs +4 -0
- package/esm2022/src/lib/models/chart-accounts/chart-accounts.mjs +280 -0
- package/esm2022/src/lib/models/chart-accounts/index.mjs +9 -0
- package/esm2022/src/lib/models/chat/chat-view-type.enum.mjs +6 -0
- package/esm2022/src/lib/models/chat/chat.mjs +30 -0
- package/esm2022/src/lib/models/chat/index.mjs +5 -0
- package/esm2022/src/lib/models/chat/message-document.mjs +21 -0
- package/esm2022/src/lib/models/chat/message.mjs +43 -0
- package/esm2022/src/lib/models/client/annual-client-details.mjs +19 -0
- package/esm2022/src/lib/models/client/capital-loss.interface.mjs +2 -0
- package/esm2022/src/lib/models/client/capital-loss.mjs +15 -0
- package/esm2022/src/lib/models/client/client-details.mjs +30 -0
- package/esm2022/src/lib/models/client/client-invite.mjs +70 -0
- package/esm2022/src/lib/models/client/client-movement.mjs +26 -0
- package/esm2022/src/lib/models/client/client-portfolio-chart-data.mjs +55 -0
- package/esm2022/src/lib/models/client/client-portfolio-report.mjs +7 -0
- package/esm2022/src/lib/models/client/index.mjs +10 -0
- package/esm2022/src/lib/models/client/sharesight/index.mjs +4 -0
- package/esm2022/src/lib/models/client/sharesight/sharesight-details-messages.enum.mjs +9 -0
- package/esm2022/src/lib/models/client/sharesight/sharesight-details.interface.mjs +2 -0
- package/esm2022/src/lib/models/client/sharesight/sharesight-details.mjs +22 -0
- package/esm2022/src/lib/models/color/alphabet-colors.enum.mjs +30 -0
- package/esm2022/src/lib/models/date-range.mjs +10 -0
- package/esm2022/src/lib/models/depreciation/depreciation-capital-project.mjs +9 -0
- package/esm2022/src/lib/models/depreciation/depreciation-forecast.mjs +42 -0
- package/esm2022/src/lib/models/depreciation/depreciation-group-item.mjs +18 -0
- package/esm2022/src/lib/models/depreciation/depreciation-group.enum.mjs +10 -0
- package/esm2022/src/lib/models/depreciation/depreciation-group.mjs +20 -0
- package/esm2022/src/lib/models/depreciation/depreciation-groups.const.mjs +34 -0
- package/esm2022/src/lib/models/depreciation/depreciation-lvp-rate.enum.mjs +9 -0
- package/esm2022/src/lib/models/depreciation/depreciation.mjs +179 -0
- package/esm2022/src/lib/models/depreciation/index.mjs +9 -0
- package/esm2022/src/lib/models/dictionary/dictionary.mjs +50 -0
- package/esm2022/src/lib/models/dictionary/index.mjs +2 -0
- package/esm2022/src/lib/models/document/document-api-url-prefix.enum.mjs +9 -0
- package/esm2022/src/lib/models/document/document-file-types.const.mjs +23 -0
- package/esm2022/src/lib/models/document/document-folder.mjs +4 -0
- package/esm2022/src/lib/models/document/document.mjs +17 -0
- package/esm2022/src/lib/models/document/index.mjs +5 -0
- package/esm2022/src/lib/models/employee/employee-details.mjs +16 -0
- package/esm2022/src/lib/models/employee/employee-invite.mjs +30 -0
- package/esm2022/src/lib/models/endpoint/endpoint.mjs +23 -0
- package/esm2022/src/lib/models/endpoint/endpoints.const.mjs +273 -0
- package/esm2022/src/lib/models/event/app-event-type.enum.mjs +60 -0
- package/esm2022/src/lib/models/event/app-event.mjs +21 -0
- package/esm2022/src/lib/models/event/index.mjs +3 -0
- package/esm2022/src/lib/models/export/export-cell-type.enum.mjs +11 -0
- package/esm2022/src/lib/models/export/export-cell.mjs +6 -0
- package/esm2022/src/lib/models/export/export-data-table.mjs +3 -0
- package/esm2022/src/lib/models/export/export-format.enum.mjs +6 -0
- package/esm2022/src/lib/models/file/file.mjs +15 -0
- package/esm2022/src/lib/models/file/icons-file.enum.mjs +7 -0
- package/esm2022/src/lib/models/file/index.mjs +2 -0
- package/esm2022/src/lib/models/financial-year/financial-year.mjs +54 -0
- package/esm2022/src/lib/models/financial-year/index.mjs +5 -0
- package/esm2022/src/lib/models/financial-year/month-name-short.enum.mjs +21 -0
- package/esm2022/src/lib/models/financial-year/month-number.enum.mjs +21 -0
- package/esm2022/src/lib/models/financial-year/months.const.mjs +2 -0
- package/esm2022/src/lib/models/firm/firm-branch.interface.mjs +2 -0
- package/esm2022/src/lib/models/firm/firm-branch.mjs +22 -0
- package/esm2022/src/lib/models/firm/firm.mjs +26 -0
- package/esm2022/src/lib/models/firm/index.mjs +3 -0
- package/esm2022/src/lib/models/holding/holding-reinvest.mjs +22 -0
- package/esm2022/src/lib/models/holding/holding-sale.mjs +39 -0
- package/esm2022/src/lib/models/holding/holding-trade-import.mjs +16 -0
- package/esm2022/src/lib/models/holding/holding-trade.mjs +90 -0
- package/esm2022/src/lib/models/holding/holding-type-exchange.mjs +16 -0
- package/esm2022/src/lib/models/holding/holding-type.mjs +67 -0
- package/esm2022/src/lib/models/holding/holding.mjs +54 -0
- package/esm2022/src/lib/models/holding/index.mjs +8 -0
- package/esm2022/src/lib/models/home-office/home-office-claim.interface.mjs +2 -0
- package/esm2022/src/lib/models/home-office/home-office-claim.mjs +46 -0
- package/esm2022/src/lib/models/home-office/home-office-log.interface.mjs +2 -0
- package/esm2022/src/lib/models/home-office/home-office-log.mjs +18 -0
- package/esm2022/src/lib/models/home-office/index.mjs +5 -0
- package/esm2022/src/lib/models/income-position/income-position.mjs +9 -0
- package/esm2022/src/lib/models/income-source/income-source-chart-data.mjs +45 -0
- package/esm2022/src/lib/models/income-source/income-source-forecast.mjs +34 -0
- package/esm2022/src/lib/models/income-source/income-source-type.mjs +20 -0
- package/esm2022/src/lib/models/income-source/income-source.mjs +58 -0
- package/esm2022/src/lib/models/income-source/index.mjs +7 -0
- package/esm2022/src/lib/models/income-source/salary-forecast.mjs +36 -0
- package/esm2022/src/lib/models/income-source/sole-forecast.mjs +13 -0
- package/esm2022/src/lib/models/index.mjs +30 -0
- package/esm2022/src/lib/models/loan/index.mjs +5 -0
- package/esm2022/src/lib/models/loan/loan-max-number-of-payments.enum.mjs +11 -0
- package/esm2022/src/lib/models/loan/loan-payment.mjs +13 -0
- package/esm2022/src/lib/models/loan/loan-payout.mjs +11 -0
- package/esm2022/src/lib/models/loan/loan.mjs +84 -0
- package/esm2022/src/lib/models/notification/index.mjs +2 -0
- package/esm2022/src/lib/models/notification/notification.mjs +39 -0
- package/esm2022/src/lib/models/pdf/pdf-orientation.enum.mjs +6 -0
- package/esm2022/src/lib/models/pdf/pdf-settings.mjs +17 -0
- package/esm2022/src/lib/models/phone/phone.mjs +19 -0
- package/esm2022/src/lib/models/property/borrowing-report.mjs +50 -0
- package/esm2022/src/lib/models/property/calculation-form-item.mjs +17 -0
- package/esm2022/src/lib/models/property/calculation-form-type.enum.mjs +9 -0
- package/esm2022/src/lib/models/property/capital-costs-itmes.const.mjs +57 -0
- package/esm2022/src/lib/models/property/corelogic-suggestion.mjs +7 -0
- package/esm2022/src/lib/models/property/index.mjs +19 -0
- package/esm2022/src/lib/models/property/property-category-movement.mjs +24 -0
- package/esm2022/src/lib/models/property/property-category.mjs +15 -0
- package/esm2022/src/lib/models/property/property-corelogic-stats.interface.mjs +2 -0
- package/esm2022/src/lib/models/property/property-document.mjs +17 -0
- package/esm2022/src/lib/models/property/property-equity-chart-data.mjs +168 -0
- package/esm2022/src/lib/models/property/property-equity-chart-item.mjs +24 -0
- package/esm2022/src/lib/models/property/property-equity-chart-type.enum.mjs +6 -0
- package/esm2022/src/lib/models/property/property-forecast.mjs +45 -0
- package/esm2022/src/lib/models/property/property-sale/index.mjs +6 -0
- package/esm2022/src/lib/models/property/property-sale/property-sale-cost-base.mjs +20 -0
- package/esm2022/src/lib/models/property/property-sale/property-sale-tax-exemption-meta-field.mjs +4 -0
- package/esm2022/src/lib/models/property/property-sale/property-sale.mjs +55 -0
- package/esm2022/src/lib/models/property/property-sale/tax-exemption-meta-field.mjs +4 -0
- package/esm2022/src/lib/models/property/property-sale/tax-exemption.mjs +8 -0
- package/esm2022/src/lib/models/property/property-share.mjs +47 -0
- package/esm2022/src/lib/models/property/property-subscription.mjs +13 -0
- package/esm2022/src/lib/models/property/property-valuation.mjs +31 -0
- package/esm2022/src/lib/models/property/property.mjs +269 -0
- package/esm2022/src/lib/models/registration-invite/registration-invite.mjs +17 -0
- package/esm2022/src/lib/models/report/depreciation/depreciation-lvp-asset-type.enum.mjs +10 -0
- package/esm2022/src/lib/models/report/depreciation/depreciation-lvp-report-item.mjs +21 -0
- package/esm2022/src/lib/models/report/depreciation/depreciation-report-item.mjs +25 -0
- package/esm2022/src/lib/models/report/depreciation/index.mjs +4 -0
- package/esm2022/src/lib/models/report/income-expense/transaction-report-item.mjs +16 -0
- package/esm2022/src/lib/models/report/index.mjs +9 -0
- package/esm2022/src/lib/models/report/my-tax/ato-links.mjs +11 -0
- package/esm2022/src/lib/models/report/my-tax/index.mjs +26 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/business-income-or-losses-categories.const.mjs +27 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/business-type.enum.mjs +11 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/loss-type.enum.mjs +16 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.mjs +15 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.mjs +74 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.mjs +70 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-cgt/cgt-exemption-and-rollover-code.enum.mjs +9 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.mjs +30 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-clothing-type.enum.mjs +13 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-fields.const.mjs +62 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/deduction-self-education-type.enum.mjs +10 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.mjs +96 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-dividends/my-tax-dividends.mjs +17 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-estimate/my-tax-estimate.mjs +40 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.mjs +76 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-income-tests/my-tax-income-tests.mjs +8 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-interest/my-tax-interest.mjs +11 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-losses/my-tax-losses.mjs +11 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-offsets/my-tax-offsets.mjs +8 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-other-income/my-tax-other-income.mjs +47 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-partnerships-and-trusts/my-tax-partnerships-and-trusts.mjs +30 -0
- package/esm2022/src/lib/models/report/my-tax/my-tax-rent/my-tax-rent.mjs +43 -0
- package/esm2022/src/lib/models/report/property/index.mjs +4 -0
- package/esm2022/src/lib/models/report/property/property-report-item-depreciation.mjs +20 -0
- package/esm2022/src/lib/models/report/property/property-report-item-transaction.mjs +12 -0
- package/esm2022/src/lib/models/report/property/property-report-item.mjs +30 -0
- package/esm2022/src/lib/models/report/report.interface.mjs +2 -0
- package/esm2022/src/lib/models/report/reports.const.mjs +107 -0
- package/esm2022/src/lib/models/report/sole/index.mjs +2 -0
- package/esm2022/src/lib/models/report/sole/sole-business/sole-business-loss-report.mjs +17 -0
- package/esm2022/src/lib/models/report/vehicle-expense/vehicle-expense.mjs +15 -0
- package/esm2022/src/lib/models/service-subscription/index.mjs +10 -0
- package/esm2022/src/lib/models/service-subscription/module-url-list.const.mjs +12 -0
- package/esm2022/src/lib/models/service-subscription/payment-method-brand.enum.mjs +12 -0
- package/esm2022/src/lib/models/service-subscription/service-payment-method.mjs +31 -0
- package/esm2022/src/lib/models/service-subscription/service-payment.mjs +22 -0
- package/esm2022/src/lib/models/service-subscription/service-price.mjs +25 -0
- package/esm2022/src/lib/models/service-subscription/service-product-icons.enum.mjs +11 -0
- package/esm2022/src/lib/models/service-subscription/service-product-roles.const.mjs +11 -0
- package/esm2022/src/lib/models/service-subscription/service-product.mjs +27 -0
- package/esm2022/src/lib/models/service-subscription/service-promo-code-duration.enum.mjs +7 -0
- package/esm2022/src/lib/models/service-subscription/service-promo-code.mjs +30 -0
- package/esm2022/src/lib/models/service-subscription/service-subscription-item.mjs +24 -0
- package/esm2022/src/lib/models/service-subscription/service-subscription.mjs +161 -0
- package/esm2022/src/lib/models/sole/bas-report.mjs +42 -0
- package/esm2022/src/lib/models/sole/index.mjs +13 -0
- package/esm2022/src/lib/models/sole/sole-business-activity.mjs +4 -0
- package/esm2022/src/lib/models/sole/sole-business-allocation.mjs +18 -0
- package/esm2022/src/lib/models/sole/sole-business-loss-offset-rule.mjs +9 -0
- package/esm2022/src/lib/models/sole/sole-business-loss.mjs +27 -0
- package/esm2022/src/lib/models/sole/sole-business.mjs +57 -0
- package/esm2022/src/lib/models/sole/sole-contact.mjs +30 -0
- package/esm2022/src/lib/models/sole/sole-depreciation-method.mjs +8 -0
- package/esm2022/src/lib/models/sole/sole-details.mjs +10 -0
- package/esm2022/src/lib/models/sole/sole-invoice-item.mjs +70 -0
- package/esm2022/src/lib/models/sole/sole-invoice-template.mjs +31 -0
- package/esm2022/src/lib/models/sole/sole-invoice.mjs +139 -0
- package/esm2022/src/lib/models/tax-return/index.mjs +4 -0
- package/esm2022/src/lib/models/tax-return/tax-return-category.mjs +19 -0
- package/esm2022/src/lib/models/tax-return/tax-return-item.mjs +40 -0
- package/esm2022/src/lib/models/tax-return/tax-return.mjs +10 -0
- package/esm2022/src/lib/models/tax-review/tax-review.mjs +96 -0
- package/esm2022/src/lib/models/tax-summary/report-item-details.mjs +10 -0
- package/esm2022/src/lib/models/tax-summary/report-item.mjs +28 -0
- package/esm2022/src/lib/models/tax-summary/tax-summary-section.mjs +32 -0
- package/esm2022/src/lib/models/tax-summary/tax-summary-type.enum.mjs +9 -0
- package/esm2022/src/lib/models/tax-summary/tax-summary.mjs +153 -0
- package/esm2022/src/lib/models/toast/toast-type.enum.mjs +8 -0
- package/esm2022/src/lib/models/toast/toast.mjs +10 -0
- package/esm2022/src/lib/models/transaction/allocation-rule-condition.mjs +40 -0
- package/esm2022/src/lib/models/transaction/allocation-rule-transaction-meta-field.mjs +4 -0
- package/esm2022/src/lib/models/transaction/allocation-rule-transaction.mjs +110 -0
- package/esm2022/src/lib/models/transaction/allocation-rule.mjs +131 -0
- package/esm2022/src/lib/models/transaction/income-amount-type.enum.mjs +9 -0
- package/esm2022/src/lib/models/transaction/index.mjs +9 -0
- package/esm2022/src/lib/models/transaction/transaction-allocation.mjs +21 -0
- package/esm2022/src/lib/models/transaction/transaction-category.enum.mjs +8 -0
- package/esm2022/src/lib/models/transaction/transaction-meta-field.mjs +17 -0
- package/esm2022/src/lib/models/transaction/transaction.mjs +243 -0
- package/esm2022/src/lib/models/user/index.mjs +10 -0
- package/esm2022/src/lib/models/user/my-account-history-initiated-by.enum.mjs +6 -0
- package/esm2022/src/lib/models/user/my-account-history-status.enum.mjs +6 -0
- package/esm2022/src/lib/models/user/my-account-history-type.enum.mjs +7 -0
- package/esm2022/src/lib/models/user/my-account-history.mjs +3 -0
- package/esm2022/src/lib/models/user/occupation.mjs +4 -0
- package/esm2022/src/lib/models/user/user-roles.const.mjs +20 -0
- package/esm2022/src/lib/models/user/user-to-register.mjs +6 -0
- package/esm2022/src/lib/models/user/user-work-position.const.mjs +7 -0
- package/esm2022/src/lib/models/user/user.mjs +165 -0
- package/esm2022/src/lib/models/user-event/user-event-setting-field.enum.mjs +10 -0
- package/esm2022/src/lib/models/user-event/user-event-setting.mjs +18 -0
- package/esm2022/src/lib/models/user-event/user-event-type-category.mjs +4 -0
- package/esm2022/src/lib/models/user-event/user-event-type.mjs +23 -0
- package/esm2022/src/lib/models/vehicle/index.mjs +5 -0
- package/esm2022/src/lib/models/vehicle/vehicle-claim-details.mjs +26 -0
- package/esm2022/src/lib/models/vehicle/vehicle-claim.mjs +61 -0
- package/esm2022/src/lib/models/vehicle/vehicle-logbook.mjs +27 -0
- package/esm2022/src/lib/models/vehicle/vehicle.mjs +10 -0
- package/esm2022/src/lib/pipes/app-currency.pipe.mjs +23 -0
- package/esm2022/src/lib/pipes/app-percent.pipe.mjs +21 -0
- package/esm2022/src/lib/pipes/index.mjs +4 -0
- package/esm2022/src/lib/pipes/safe-url.pipe.mjs +21 -0
- package/esm2022/src/lib/services/account-setup/account-setup.service.mjs +160 -0
- package/esm2022/src/lib/services/account-setup/index.mjs +2 -0
- package/esm2022/src/lib/services/adblock/adblock.service.mjs +48 -0
- package/esm2022/src/lib/services/adblock/index.mjs +2 -0
- package/esm2022/src/lib/services/asset/assets.service.mjs +51 -0
- package/esm2022/src/lib/services/asset/index.mjs +2 -0
- package/esm2022/src/lib/services/bank/bank-account-calculation.service.mjs +32 -0
- package/esm2022/src/lib/services/bank/index.mjs +2 -0
- package/esm2022/src/lib/services/data.service.mjs +44 -0
- package/esm2022/src/lib/services/event/event-dispatcher.service.mjs +41 -0
- package/esm2022/src/lib/services/event/index.mjs +3 -0
- package/esm2022/src/lib/services/event/sse.service.mjs +48 -0
- package/esm2022/src/lib/services/export/export-formatter.service.mjs +34 -0
- package/esm2022/src/lib/services/export/index.mjs +2 -0
- package/esm2022/src/lib/services/firm/current-firm-branch.service.mjs +26 -0
- package/esm2022/src/lib/services/firm/index.mjs +2 -0
- package/esm2022/src/lib/services/header-title/header-title.service.mjs +28 -0
- package/esm2022/src/lib/services/header-title/index.mjs +2 -0
- package/esm2022/src/lib/services/http/address/address.service.mjs +37 -0
- package/esm2022/src/lib/services/http/address/index.mjs +2 -0
- package/esm2022/src/lib/services/http/aussie/aussie.service.mjs +33 -0
- package/esm2022/src/lib/services/http/aussie/index.mjs +2 -0
- package/esm2022/src/lib/services/http/bank/bank-account/bank-account.service.mjs +102 -0
- package/esm2022/src/lib/services/http/bank/bank-account/index.mjs +2 -0
- package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection-messages.enum.mjs +26 -0
- package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection.service.mjs +91 -0
- package/esm2022/src/lib/services/http/bank/bank-connection/index.mjs +3 -0
- package/esm2022/src/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +77 -0
- package/esm2022/src/lib/services/http/bank/bank-transaction/index.mjs +2 -0
- package/esm2022/src/lib/services/http/bank/bank.service.mjs +26 -0
- package/esm2022/src/lib/services/http/bank/basiq/basiq-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/bank/basiq/basiq-token.service.mjs +39 -0
- package/esm2022/src/lib/services/http/bank/basiq/basiq.service.mjs +159 -0
- package/esm2022/src/lib/services/http/bank/basiq/index.mjs +4 -0
- package/esm2022/src/lib/services/http/bank/index.mjs +6 -0
- package/esm2022/src/lib/services/http/budget/budget-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/budget/budget.service.mjs +23 -0
- package/esm2022/src/lib/services/http/budget/index.mjs +3 -0
- package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +26 -0
- package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-depreciations/index.mjs +2 -0
- package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/chart-accounts/chart-accounts.service.mjs +49 -0
- package/esm2022/src/lib/services/http/chart-accounts/index.mjs +4 -0
- package/esm2022/src/lib/services/http/chat/chat.service.mjs +88 -0
- package/esm2022/src/lib/services/http/chat/index.mjs +4 -0
- package/esm2022/src/lib/services/http/chat/message-document.service.mjs +80 -0
- package/esm2022/src/lib/services/http/chat/message.service.mjs +39 -0
- package/esm2022/src/lib/services/http/client/annual-client-details.service.mjs +23 -0
- package/esm2022/src/lib/services/http/client/capital-loss/capital-loss-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/client/capital-loss/capital-loss.service.mjs +23 -0
- package/esm2022/src/lib/services/http/client/capital-loss/index.mjs +3 -0
- package/esm2022/src/lib/services/http/client/client-coupon.service.mjs +27 -0
- package/esm2022/src/lib/services/http/client/index.mjs +6 -0
- package/esm2022/src/lib/services/http/client/occupation/occupation.service.mjs +43 -0
- package/esm2022/src/lib/services/http/client/sharesight-details.service.mjs +29 -0
- package/esm2022/src/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +27 -0
- package/esm2022/src/lib/services/http/depreciation/depreciation-capital-project/index.mjs +2 -0
- package/esm2022/src/lib/services/http/depreciation/depreciation.service.mjs +105 -0
- package/esm2022/src/lib/services/http/depreciation/index.mjs +3 -0
- package/esm2022/src/lib/services/http/document/document-folder/document-folder-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/document/document-folder/document-folder.service.mjs +26 -0
- package/esm2022/src/lib/services/http/document/document-folder/index.mjs +3 -0
- package/esm2022/src/lib/services/http/document/document-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/document/document.service.mjs +23 -0
- package/esm2022/src/lib/services/http/document/index.mjs +4 -0
- package/esm2022/src/lib/services/http/facebook/facebook-auth-options.interface.mjs +2 -0
- package/esm2022/src/lib/services/http/facebook/facebook-auth-response.interface.mjs +2 -0
- package/esm2022/src/lib/services/http/facebook/facebook-status-response.interface.mjs +2 -0
- package/esm2022/src/lib/services/http/facebook/facebook.service.mjs +87 -0
- package/esm2022/src/lib/services/http/facebook/index.mjs +2 -0
- package/esm2022/src/lib/services/http/file/file.service.mjs +39 -0
- package/esm2022/src/lib/services/http/file/index.mjs +2 -0
- package/esm2022/src/lib/services/http/firm/client-invite/client-invite-messages.enum.mjs +15 -0
- package/esm2022/src/lib/services/http/firm/client-invite/client-invite.service.mjs +104 -0
- package/esm2022/src/lib/services/http/firm/client-invite/index.mjs +3 -0
- package/esm2022/src/lib/services/http/firm/client-movement/client-movement-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/firm/client-movement/client-movement.service.mjs +86 -0
- package/esm2022/src/lib/services/http/firm/client-movement/index.mjs +3 -0
- package/esm2022/src/lib/services/http/firm/employee/employee-messages.enum.mjs +14 -0
- package/esm2022/src/lib/services/http/firm/employee/employee.service.mjs +48 -0
- package/esm2022/src/lib/services/http/firm/employee/index.mjs +3 -0
- package/esm2022/src/lib/services/http/firm/employee-invite/employee-invite.service.mjs +48 -0
- package/esm2022/src/lib/services/http/firm/employee-invite/index.mjs +2 -0
- package/esm2022/src/lib/services/http/firm/firm-branch/firm-branch-messages.enum.mjs +9 -0
- package/esm2022/src/lib/services/http/firm/firm-branch/firm-branch.service.mjs +23 -0
- package/esm2022/src/lib/services/http/firm/firm-branch/index.mjs +3 -0
- package/esm2022/src/lib/services/http/firm/firm-messages.enum.mjs +6 -0
- package/esm2022/src/lib/services/http/firm/firm.service.mjs +63 -0
- package/esm2022/src/lib/services/http/firm/index.mjs +9 -0
- package/esm2022/src/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +37 -0
- package/esm2022/src/lib/services/http/firm/portfolio-report/index.mjs +2 -0
- package/esm2022/src/lib/services/http/google/google.service.mjs +77 -0
- package/esm2022/src/lib/services/http/google/index.mjs +2 -0
- package/esm2022/src/lib/services/http/holding/holding-sale.service.mjs +25 -0
- package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import-messages.enum.mjs +9 -0
- package/esm2022/src/lib/services/http/holding/holding-trade-import/holding-trade-import.service.mjs +45 -0
- package/esm2022/src/lib/services/http/holding/holding-trade-messages.enum.mjs +10 -0
- package/esm2022/src/lib/services/http/holding/holding-trade.service.mjs +42 -0
- package/esm2022/src/lib/services/http/holding/holding-type-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/holding/holding-type.service.mjs +47 -0
- package/esm2022/src/lib/services/http/holding/index.mjs +9 -0
- package/esm2022/src/lib/services/http/home-office/home-office-claim-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/home-office/home-office-claim.service.mjs +25 -0
- package/esm2022/src/lib/services/http/home-office/home-office-log-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/home-office/home-office-log.service.mjs +31 -0
- package/esm2022/src/lib/services/http/home-office/index.mjs +5 -0
- package/esm2022/src/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +84 -0
- package/esm2022/src/lib/services/http/income-source/income-source-forecast/index.mjs +2 -0
- package/esm2022/src/lib/services/http/income-source/income-source-messages.enum.mjs +10 -0
- package/esm2022/src/lib/services/http/income-source/income-source.service.mjs +93 -0
- package/esm2022/src/lib/services/http/income-source/index.mjs +6 -0
- package/esm2022/src/lib/services/http/income-source/salary-forecast/index.mjs +2 -0
- package/esm2022/src/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +83 -0
- package/esm2022/src/lib/services/http/income-source/sole-forecast/index.mjs +2 -0
- package/esm2022/src/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +91 -0
- package/esm2022/src/lib/services/http/index.mjs +32 -0
- package/esm2022/src/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +74 -0
- package/esm2022/src/lib/services/http/loan/borrowing-expense/index.mjs +2 -0
- package/esm2022/src/lib/services/http/loan/index.mjs +4 -0
- package/esm2022/src/lib/services/http/loan/loan-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/loan/loan.service.mjs +94 -0
- package/esm2022/src/lib/services/http/pdf/pdf.service.mjs +30 -0
- package/esm2022/src/lib/services/http/property/borrowing-report/borrowing-report-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/property/borrowing-report/borrowing-report.service.mjs +23 -0
- package/esm2022/src/lib/services/http/property/borrowing-report/index.mjs +3 -0
- package/esm2022/src/lib/services/http/property/index.mjs +10 -0
- package/esm2022/src/lib/services/http/property/property-category/index.mjs +2 -0
- package/esm2022/src/lib/services/http/property/property-category/property-category.service.mjs +26 -0
- package/esm2022/src/lib/services/http/property/property-category-movement/index.mjs +2 -0
- package/esm2022/src/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +33 -0
- package/esm2022/src/lib/services/http/property/property-document/index.mjs +3 -0
- package/esm2022/src/lib/services/http/property/property-document/property-document-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/property/property-document/property-document.service.mjs +26 -0
- package/esm2022/src/lib/services/http/property/property-messages.enum.mjs +11 -0
- package/esm2022/src/lib/services/http/property/property-sale/index.mjs +3 -0
- package/esm2022/src/lib/services/http/property/property-sale/property-sale.service.mjs +25 -0
- package/esm2022/src/lib/services/http/property/property-share/index.mjs +2 -0
- package/esm2022/src/lib/services/http/property/property-share/property-share.service.mjs +68 -0
- package/esm2022/src/lib/services/http/property/property-valuation/index.mjs +3 -0
- package/esm2022/src/lib/services/http/property/property-valuation/property-valuation-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/property/property-valuation/property-valuation.service.mjs +24 -0
- package/esm2022/src/lib/services/http/property/property.service.mjs +136 -0
- package/esm2022/src/lib/services/http/rest/http-error-messages.const.mjs +14 -0
- package/esm2022/src/lib/services/http/rest/http-method.type.mjs +2 -0
- package/esm2022/src/lib/services/http/rest/index.mjs +5 -0
- package/esm2022/src/lib/services/http/rest/rest-method.type.mjs +2 -0
- package/esm2022/src/lib/services/http/rest/rest-old.service.mjs +247 -0
- package/esm2022/src/lib/services/http/rest/rest.service.mjs +356 -0
- package/esm2022/src/lib/services/http/rest-messages.enum.mjs +7 -0
- package/esm2022/src/lib/services/http/service-notification/index.mjs +2 -0
- package/esm2022/src/lib/services/http/service-notification/service-notification.service.mjs +72 -0
- package/esm2022/src/lib/services/http/setup-item/setup-item.service.mjs +23 -0
- package/esm2022/src/lib/services/http/sole/bas-report/bas-report-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/sole/bas-report/bas-report.service.mjs +20 -0
- package/esm2022/src/lib/services/http/sole/bas-report/index.mjs +3 -0
- package/esm2022/src/lib/services/http/sole/index.mjs +11 -0
- package/esm2022/src/lib/services/http/sole/sole-business/index.mjs +3 -0
- package/esm2022/src/lib/services/http/sole/sole-business/sole-business-messages.enum.mjs +5 -0
- package/esm2022/src/lib/services/http/sole/sole-business/sole-business.service.mjs +24 -0
- package/esm2022/src/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +20 -0
- package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +23 -0
- package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +41 -0
- package/esm2022/src/lib/services/http/sole/sole-contact/sole-contact.service.mjs +20 -0
- package/esm2022/src/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +73 -0
- package/esm2022/src/lib/services/http/sole/sole-details/sole-details.service.mjs +33 -0
- package/esm2022/src/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +46 -0
- package/esm2022/src/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +20 -0
- package/esm2022/src/lib/services/http/subscription/index.mjs +7 -0
- package/esm2022/src/lib/services/http/subscription/service-payment/service-payment.service.mjs +33 -0
- package/esm2022/src/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +45 -0
- package/esm2022/src/lib/services/http/subscription/service-price/service-price.service.mjs +26 -0
- package/esm2022/src/lib/services/http/subscription/service-product/service-product.service.mjs +23 -0
- package/esm2022/src/lib/services/http/subscription/service-subscription/subscription-messages.enum.mjs +10 -0
- package/esm2022/src/lib/services/http/subscription/service-subscription/subscription.service.mjs +84 -0
- package/esm2022/src/lib/services/http/tax-review/index.mjs +4 -0
- package/esm2022/src/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +45 -0
- package/esm2022/src/lib/services/http/tax-review/tax-review-messages.enum.mjs +20 -0
- package/esm2022/src/lib/services/http/tax-review/tax-review.service.mjs +106 -0
- package/esm2022/src/lib/services/http/tax-summary/index.mjs +2 -0
- package/esm2022/src/lib/services/http/tax-summary/tax-summary.service.mjs +71 -0
- package/esm2022/src/lib/services/http/transaction/index.mjs +5 -0
- package/esm2022/src/lib/services/http/transaction/prior-transaction.service.mjs +33 -0
- package/esm2022/src/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +26 -0
- package/esm2022/src/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +117 -0
- package/esm2022/src/lib/services/http/transaction/transaction.service.mjs +273 -0
- package/esm2022/src/lib/services/http/user/financial-year/financial-year.service.mjs +29 -0
- package/esm2022/src/lib/services/http/user/index.mjs +8 -0
- package/esm2022/src/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +23 -0
- package/esm2022/src/lib/services/http/user/user-event-type/user-event-type.service.mjs +23 -0
- package/esm2022/src/lib/services/http/user/user-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/user/user.service.mjs +112 -0
- package/esm2022/src/lib/services/http/user/users-invite/users-invite.service.mjs +23 -0
- package/esm2022/src/lib/services/http/vehicle/index.mjs +6 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-claim-details.service.mjs +74 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-claim.service.mjs +49 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/index.mjs +3 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook.service.mjs +26 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle-messages.enum.mjs +8 -0
- package/esm2022/src/lib/services/http/vehicle/vehicle.service.mjs +25 -0
- package/esm2022/src/lib/services/http/youtube/index.mjs +3 -0
- package/esm2022/src/lib/services/http/youtube/youtube-video.interface.mjs +2 -0
- package/esm2022/src/lib/services/http/youtube/youtube.service.mjs +34 -0
- package/esm2022/src/lib/services/index.mjs +19 -0
- package/esm2022/src/lib/services/intercom/index.mjs +2 -0
- package/esm2022/src/lib/services/intercom/intercom.service.mjs +41 -0
- package/esm2022/src/lib/services/json/chart-accounts/chart-accounts-value.service.mjs +23 -0
- package/esm2022/src/lib/services/json/holding/holding-type-exchange.service.mjs +23 -0
- package/esm2022/src/lib/services/json/income-source/income-source-type.service.mjs +23 -0
- package/esm2022/src/lib/services/json/index.mjs +6 -0
- package/esm2022/src/lib/services/json/tax-exemption/tax-exemption.service.mjs +23 -0
- package/esm2022/src/lib/services/json/tax-return/tax-return-item.service.mjs +23 -0
- package/esm2022/src/lib/services/pdf/index.mjs +6 -0
- package/esm2022/src/lib/services/pdf/js-pdf.mjs +10 -0
- package/esm2022/src/lib/services/pdf/pdf-from-dom-element/file-settings.mjs +21 -0
- package/esm2022/src/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +47 -0
- package/esm2022/src/lib/services/pdf/pdf-from-table/file-settings.mjs +36 -0
- package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +46 -0
- package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +42 -0
- package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +63 -0
- package/esm2022/src/lib/services/preloader/index.mjs +2 -0
- package/esm2022/src/lib/services/preloader/preloader.service.mjs +30 -0
- package/esm2022/src/lib/services/property/corelogic/corelogic-messages.enum.mjs +5 -0
- package/esm2022/src/lib/services/property/corelogic/corelogic.service.mjs +48 -0
- package/esm2022/src/lib/services/property/corelogic/index.mjs +3 -0
- package/esm2022/src/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +39 -0
- package/esm2022/src/lib/services/property/equity-position-chart/index.mjs +2 -0
- package/esm2022/src/lib/services/property/index.mjs +4 -0
- package/esm2022/src/lib/services/property/property-calculation/index.mjs +2 -0
- package/esm2022/src/lib/services/property/property-calculation/property-calculation.service.mjs +158 -0
- package/esm2022/src/lib/services/report/index.mjs +2 -0
- package/esm2022/src/lib/services/report/property/property-transaction-report.service.mjs +68 -0
- package/esm2022/src/lib/services/toast/index.mjs +2 -0
- package/esm2022/src/lib/services/toast/toast.service.mjs +59 -0
- package/esm2022/src/lib/services/user/index.mjs +2 -0
- package/esm2022/src/lib/services/user/user-switcher.service.mjs +37 -0
- package/esm2022/src/lib/services/xlsx/index.mjs +2 -0
- package/esm2022/src/lib/services/xlsx/xlsx.service.mjs +102 -0
- package/esm2022/src/lib/validators/at-least-one-enabled.validator.mjs +9 -0
- package/esm2022/src/lib/validators/at-least-one.validator.mjs +9 -0
- package/esm2022/src/lib/validators/autocomplete.validator.mjs +8 -0
- package/esm2022/src/lib/validators/conditional.validator.mjs +26 -0
- package/esm2022/src/lib/validators/current-fin-year.validator.mjs +15 -0
- package/esm2022/src/lib/validators/date/max-date.validator.mjs +17 -0
- package/esm2022/src/lib/validators/date/min-date.validator.mjs +17 -0
- package/esm2022/src/lib/validators/date-range.validator.mjs +22 -0
- package/esm2022/src/lib/validators/fields-sum.validator.mjs +24 -0
- package/esm2022/src/lib/validators/file.validator.mjs +36 -0
- package/esm2022/src/lib/validators/greater-than.validator.mjs +12 -0
- package/esm2022/src/lib/validators/group.validator.mjs +11 -0
- package/esm2022/src/lib/validators/index.mjs +15 -0
- package/esm2022/src/lib/validators/match-sum.validator.mjs +16 -0
- package/esm2022/src/lib/validators/password-match.validator.mjs +17 -0
- package/esm2022/src/lib/validators/password.validator.mjs +20 -0
- package/esm2022/src/lib/validators/phone-number.validator.mjs +9 -0
- package/esm2022/src/lib/validators/required-length.validator.mjs +12 -0
- package/esm2022/src/lib/validators/string/alpha-space.validator.mjs +10 -0
- package/esm2022/src/lib/validators/unique-email.validator.mjs +19 -0
- package/esm2022/taxtank-core.mjs +5 -0
- package/fesm2022/taxtank-core-common.mjs +20 -20
- package/fesm2022/taxtank-core-common.mjs.map +1 -1
- package/fesm2022/taxtank-core.mjs +445 -453
- package/fesm2022/taxtank-core.mjs.map +1 -1
- package/package.json +19 -15
- package/src/lib/db/Enums/holding/holding-type-category.enum.d.ts +3 -3
- package/src/lib/db/Models/setup-item.d.ts +0 -2
- package/src/lib/models/index.d.ts +0 -1
- package/src/lib/services/account-setup/account-setup.service.d.ts +2 -4
@@ -0,0 +1,131 @@
|
|
1
|
+
import { TransactionOperationEnum } from '../db/Enums/transaction-operation.enum';
|
2
|
+
import { Collection } from './collection';
|
3
|
+
/**
|
4
|
+
* Maximal delay between transfer transactions
|
5
|
+
*/
|
6
|
+
const TRANSACTION_TRANSFER_DELAY = 96 * 3600 * 1000;
|
7
|
+
/**
|
8
|
+
* Collection of bank transactions.
|
9
|
+
* IMPORTANT: Create this collection based on bank transactions from TransactionAllocationService
|
10
|
+
* @TODO find way to accept interface with allocation instead of bankTransaction to prevent wrong usage
|
11
|
+
* because all amounts calculates with allocated amounts but not from bank transactions amounts.
|
12
|
+
*/
|
13
|
+
export class BankTransactionCollection extends Collection {
|
14
|
+
getAmount() {
|
15
|
+
return this.sumBy('amount');
|
16
|
+
}
|
17
|
+
/**
|
18
|
+
* Difference between total bank transactions amount and sum of allocations for passed bank transactions
|
19
|
+
*/
|
20
|
+
getUnallocatedAmount(allocations) {
|
21
|
+
return this.getAmount() - allocations.getByBankTransactionsIds(this.getIds()).amount;
|
22
|
+
}
|
23
|
+
getAllocatedAmount(allocations) {
|
24
|
+
return allocations.getByBankTransactionsIds(this.getIds()).amount;
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* get date of the last transaction
|
28
|
+
*/
|
29
|
+
getLastTransactionDate() {
|
30
|
+
return new Date(Math.max.apply(Math, this.items.map((bankTransaction) => bankTransaction.date)));
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* get list of credit transactions
|
34
|
+
*/
|
35
|
+
get creditTransactions() {
|
36
|
+
return new BankTransactionCollection(this.items.filter((bankTransaction) => bankTransaction.isCredit()));
|
37
|
+
}
|
38
|
+
/**
|
39
|
+
* get list of debit transactions
|
40
|
+
*/
|
41
|
+
get debitTransactions() {
|
42
|
+
return new BankTransactionCollection(this.items.filter((bankTransaction) => bankTransaction.isDebit()));
|
43
|
+
}
|
44
|
+
/**
|
45
|
+
* get difference between debit and credit transactions amounts
|
46
|
+
*/
|
47
|
+
get balanceAmount() {
|
48
|
+
return this.items.reduce((sum, bankTransaction) => sum + bankTransaction.balanceAmount, 0);
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* get list of transactions for passed month
|
52
|
+
* @param monthIndex Month number from 0 to 11
|
53
|
+
*/
|
54
|
+
getTransactionsByMonth(monthIndex) {
|
55
|
+
return new BankTransactionCollection(this.items.filter((bankTransaction) => bankTransaction.date.getMonth() === monthIndex));
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* get list of transactions by provided bank accounts
|
59
|
+
* @param bankAccounts by which transactions should be returned
|
60
|
+
*/
|
61
|
+
getByBankAccounts(bankAccounts) {
|
62
|
+
const bankAccountIds = bankAccounts.map((bankAccount) => bankAccount.id);
|
63
|
+
return new BankTransactionCollection(this.items.filter((bankTransaction) => bankAccountIds.includes(bankTransaction.bankAccount.id)));
|
64
|
+
}
|
65
|
+
/**
|
66
|
+
* get list of transactions by provided ids of bank accounts
|
67
|
+
* @param ids of bank accounts
|
68
|
+
*/
|
69
|
+
getByBankAccountsIds(ids) {
|
70
|
+
return new BankTransactionCollection(this.items.filter((bankTransaction) => ids.includes(bankTransaction.bankAccount.id)));
|
71
|
+
}
|
72
|
+
/**
|
73
|
+
* Find Bank Transaction available for transfer
|
74
|
+
*/
|
75
|
+
findTransfer(bankTransaction) {
|
76
|
+
return this.items.find((item) => item.amount + bankTransaction.amount === 0 &&
|
77
|
+
Math.abs(bankTransaction.date.getTime() - item.date.getTime()) < TRANSACTION_TRANSFER_DELAY);
|
78
|
+
}
|
79
|
+
/**
|
80
|
+
* Group bank transactions by transaction id.
|
81
|
+
* Each group is bank transaction collection and contains bank transactions related to transactions via allocations
|
82
|
+
*/
|
83
|
+
groupByTransaction(allocations) {
|
84
|
+
// Group allocations by transaction id
|
85
|
+
const allocationsByTransactions = allocations.groupBy('transaction.id');
|
86
|
+
// Init an empty dictionary we will fill below
|
87
|
+
const bankTransactionsByTransactions = new BankTransactionCollection([]).groupBy();
|
88
|
+
// Fill dictionary with the same keys as at allocationsByTransactions
|
89
|
+
allocationsByTransactions.keys.forEach((key) => {
|
90
|
+
bankTransactionsByTransactions.add(key, this.getByAllocations(allocationsByTransactions.get(key)));
|
91
|
+
});
|
92
|
+
return bankTransactionsByTransactions;
|
93
|
+
}
|
94
|
+
/**
|
95
|
+
* Get collection of bank transactions related with passed allocations
|
96
|
+
*/
|
97
|
+
getByAllocations(allocations) {
|
98
|
+
return new BankTransactionCollection(this.items.filter((bankTransaction) => allocations.hasBankTransaction(bankTransaction)));
|
99
|
+
}
|
100
|
+
/**
|
101
|
+
* Set allocate operation for bank transactions with amounts equal to salary
|
102
|
+
*/
|
103
|
+
preselectAllocateOperationForSalary(salaryIncomeSources) {
|
104
|
+
// incomeSource.salaryForecasts[0] because each income source has only one forecast for current fin year
|
105
|
+
const salaryAmounts = salaryIncomeSources.map((incomeSource) => incomeSource.salaryForecasts[0]?.netPay || 0);
|
106
|
+
this.items.forEach((bankTransaction) => {
|
107
|
+
if (salaryAmounts.includes(bankTransaction.amount)) {
|
108
|
+
bankTransaction.operation = TransactionOperationEnum.ALLOCATE;
|
109
|
+
}
|
110
|
+
});
|
111
|
+
}
|
112
|
+
getAllocated(allocations) {
|
113
|
+
return this.filter((bankTransaction) => bankTransaction.isAllocated(allocations));
|
114
|
+
}
|
115
|
+
getUnallocated(allocations) {
|
116
|
+
return this.filter((bankTransaction) => !bankTransaction.isAllocated(allocations));
|
117
|
+
}
|
118
|
+
/**
|
119
|
+
* Allocated sum of credit transactions
|
120
|
+
*/
|
121
|
+
getCreditAmount(allocations) {
|
122
|
+
return this.creditTransactions.getAllocatedAmount(allocations);
|
123
|
+
}
|
124
|
+
/**
|
125
|
+
* Allocated sum of debit transactions
|
126
|
+
*/
|
127
|
+
getDebitAmount(allocations) {
|
128
|
+
return this.debitTransactions.getAllocatedAmount(allocations);
|
129
|
+
}
|
130
|
+
}
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSzFDOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBVyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUU1RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxVQUEyQjtJQUN4RSxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkYsQ0FBQztJQUVELGtCQUFrQixDQUFDLFdBQTRDO1FBQzdELE9BQU8sV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDcEYsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDbkYsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsZUFBZ0MsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVEOzs7T0FHRztJQUNILHNCQUFzQixDQUFDLFVBQTJCO1FBQ2hELE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUN4RyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLFlBQW1DO1FBQ25ELE1BQU0sY0FBYyxHQUFhLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFaEcsT0FBTyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUNwRCxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FDOUYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQixDQUFDLEdBQWE7UUFDaEMsT0FBTyxJQUFJLHlCQUF5QixDQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN0RyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLGVBQWdDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFxQixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUNqRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLDBCQUEwQixDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQixDQUFDLFdBQTRDO1FBQzdELHNDQUFzQztRQUN0QyxNQUFNLHlCQUF5QixHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RSw4Q0FBOEM7UUFDOUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRW5GLHFFQUFxRTtRQUNyRSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDM0QsOEJBQThCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sOEJBQThCLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsV0FBNEM7UUFDM0QsT0FBTyxJQUFJLHlCQUF5QixDQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWdDLEVBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUNsSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUNBQW1DLENBQUMsbUJBQW1DO1FBQ3JFLHdHQUF3RztRQUN4RyxNQUFNLGFBQWEsR0FBYSxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU5SSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWdDLEVBQVEsRUFBRTtZQUM1RCxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsRCxlQUFlLENBQUMsU0FBUyxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQzthQUMvRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxXQUE0QztRQUN2RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFXLEVBQUUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUE0QztRQUN6RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFXLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsV0FBNEM7UUFDMUQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFdBQTRDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSB9IGZyb20gJy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmltcG9ydCB7IEJhbmtBY2NvdW50LCBCYW5rVHJhbnNhY3Rpb24sIEluY29tZVNvdXJjZSwgTW9udGhOdW1iZXJFbnVtIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudENvbGxlY3Rpb24gfSBmcm9tICcuL2JhbmstYWNjb3VudC5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBNYXhpbWFsIGRlbGF5IGJldHdlZW4gdHJhbnNmZXIgdHJhbnNhY3Rpb25zXG4gKi9cbmNvbnN0IFRSQU5TQUNUSU9OX1RSQU5TRkVSX0RFTEFZOiBudW1iZXIgPSA5NiAqIDM2MDAgKiAxMDAwO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgYmFuayB0cmFuc2FjdGlvbnMuXG4gKiBJTVBPUlRBTlQ6IENyZWF0ZSB0aGlzIGNvbGxlY3Rpb24gYmFzZWQgb24gYmFuayB0cmFuc2FjdGlvbnMgZnJvbSBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlXG4gKiBAVE9ETyBmaW5kIHdheSB0byBhY2NlcHQgaW50ZXJmYWNlIHdpdGggYWxsb2NhdGlvbiBpbnN0ZWFkIG9mIGJhbmtUcmFuc2FjdGlvbiB0byBwcmV2ZW50IHdyb25nIHVzYWdlXG4gKiBiZWNhdXNlIGFsbCBhbW91bnRzIGNhbGN1bGF0ZXMgd2l0aCBhbGxvY2F0ZWQgYW1vdW50cyBidXQgbm90IGZyb20gYmFuayB0cmFuc2FjdGlvbnMgYW1vdW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPEJhbmtUcmFuc2FjdGlvbj4ge1xuICBnZXRBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogRGlmZmVyZW5jZSBiZXR3ZWVuIHRvdGFsIGJhbmsgdHJhbnNhY3Rpb25zIGFtb3VudCBhbmQgc3VtIG9mIGFsbG9jYXRpb25zIGZvciBwYXNzZWQgYmFuayB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW1vdW50KCkgLSBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHModGhpcy5nZXRJZHMoKSkuYW1vdW50O1xuICB9XG5cbiAgZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnMuZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKHRoaXMuZ2V0SWRzKCkpLmFtb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGF0ZSBvZiB0aGUgbGFzdCB0cmFuc2FjdGlvblxuICAgKi9cbiAgZ2V0TGFzdFRyYW5zYWN0aW9uRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoTWF0aC5tYXguYXBwbHkoTWF0aCwgdGhpcy5pdGVtcy5tYXAoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uZGF0ZSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBjcmVkaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXQgY3JlZGl0VHJhbnNhY3Rpb25zKCk6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmlzQ3JlZGl0KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBkZWJpdCB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldCBkZWJpdFRyYW5zYWN0aW9ucygpOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGJhbmtUcmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgZGlmZmVyZW5jZSBiZXR3ZWVuIGRlYml0IGFuZCBjcmVkaXQgdHJhbnNhY3Rpb25zIGFtb3VudHNcbiAgICovXG4gIGdldCBiYWxhbmNlQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IHN1bSArIGJhbmtUcmFuc2FjdGlvbi5iYWxhbmNlQW1vdW50LCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgZm9yIHBhc3NlZCBtb250aFxuICAgKiBAcGFyYW0gbW9udGhJbmRleCBNb250aCBudW1iZXIgZnJvbSAwIHRvIDExXG4gICAqL1xuICBnZXRUcmFuc2FjdGlvbnNCeU1vbnRoKG1vbnRoSW5kZXg6IE1vbnRoTnVtYmVyRW51bSk6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGhJbmRleClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBieSBwcm92aWRlZCBiYW5rIGFjY291bnRzXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudHMgYnkgd2hpY2ggdHJhbnNhY3Rpb25zIHNob3VsZCBiZSByZXR1cm5lZFxuICAgKi9cbiAgZ2V0QnlCYW5rQWNjb3VudHMoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICBjb25zdCBiYW5rQWNjb3VudElkczogbnVtYmVyW10gPSBiYW5rQWNjb3VudHMubWFwKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmlkKTtcblxuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcihcbiAgICAgIChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua0FjY291bnRJZHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LmlkKVxuICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBieSBwcm92aWRlZCBpZHMgb2YgYmFuayBhY2NvdW50c1xuICAgKiBAcGFyYW0gaWRzIG9mIGJhbmsgYWNjb3VudHNcbiAgICovXG4gIGdldEJ5QmFua0FjY291bnRzSWRzKGlkczogbnVtYmVyW10pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGlkcy5pbmNsdWRlcyhiYW5rVHJhbnNhY3Rpb24uYmFua0FjY291bnQuaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZCBCYW5rIFRyYW5zYWN0aW9uIGF2YWlsYWJsZSBmb3IgdHJhbnNmZXJcbiAgICovXG4gIGZpbmRUcmFuc2ZlcihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IEJhbmtUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBpdGVtLmFtb3VudCArIGJhbmtUcmFuc2FjdGlvbi5hbW91bnQgPT09IDAgJiZcbiAgICAgICAgTWF0aC5hYnMoYmFua1RyYW5zYWN0aW9uLmRhdGUuZ2V0VGltZSgpIC0gaXRlbS5kYXRlLmdldFRpbWUoKSkgPCBUUkFOU0FDVElPTl9UUkFOU0ZFUl9ERUxBWSk7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgYmFuayB0cmFuc2FjdGlvbnMgYnkgdHJhbnNhY3Rpb24gaWQuXG4gICAqIEVhY2ggZ3JvdXAgaXMgYmFuayB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uIGFuZCBjb250YWlucyBiYW5rIHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIHRyYW5zYWN0aW9ucyB2aWEgYWxsb2NhdGlvbnNcbiAgICovXG4gIGdyb3VwQnlUcmFuc2FjdGlvbihhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24+IHtcbiAgICAvLyBHcm91cCBhbGxvY2F0aW9ucyBieSB0cmFuc2FjdGlvbiBpZFxuICAgIGNvbnN0IGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbnMgPSBhbGxvY2F0aW9ucy5ncm91cEJ5KCd0cmFuc2FjdGlvbi5pZCcpO1xuICAgIC8vIEluaXQgYW4gZW1wdHkgZGljdGlvbmFyeSB3ZSB3aWxsIGZpbGwgYmVsb3dcbiAgICBjb25zdCBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnMgPSBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihbXSkuZ3JvdXBCeSgpO1xuXG4gICAgLy8gRmlsbCBkaWN0aW9uYXJ5IHdpdGggdGhlIHNhbWUga2V5cyBhcyBhdCBhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25zXG4gICAgYWxsb2NhdGlvbnNCeVRyYW5zYWN0aW9ucy5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnMuYWRkKGtleSwgdGhpcy5nZXRCeUFsbG9jYXRpb25zKGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbnMuZ2V0KGtleSkpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgYmFuayB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHBhc3NlZCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbnMuaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYWxsb2NhdGUgb3BlcmF0aW9uIGZvciBiYW5rIHRyYW5zYWN0aW9ucyB3aXRoIGFtb3VudHMgZXF1YWwgdG8gc2FsYXJ5XG4gICAqL1xuICBwcmVzZWxlY3RBbGxvY2F0ZU9wZXJhdGlvbkZvclNhbGFyeShzYWxhcnlJbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IHZvaWQge1xuICAgIC8vIGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHNbMF0gYmVjYXVzZSBlYWNoIGluY29tZSBzb3VyY2UgaGFzIG9ubHkgb25lIGZvcmVjYXN0IGZvciBjdXJyZW50IGZpbiB5ZWFyXG4gICAgY29uc3Qgc2FsYXJ5QW1vdW50czogbnVtYmVyW10gPSBzYWxhcnlJbmNvbWVTb3VyY2VzLm1hcCgoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpOiBudW1iZXIgPT4gaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXT8ubmV0UGF5IHx8IDApO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgaWYgKHNhbGFyeUFtb3VudHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmFtb3VudCkpIHtcbiAgICAgICAgYmFua1RyYW5zYWN0aW9uLm9wZXJhdGlvbiA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5BTExPQ0FURTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGJhbmtUcmFuc2FjdGlvbi5pc0FsbG9jYXRlZChhbGxvY2F0aW9ucykpO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhYmFua1RyYW5zYWN0aW9uLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb2NhdGVkIHN1bSBvZiBjcmVkaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRDcmVkaXRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNyZWRpdFRyYW5zYWN0aW9ucy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG9jYXRlZCBzdW0gb2YgZGViaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXREZWJpdEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGViaXRUcmFuc2FjdGlvbnMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { Collection } from '../collection';
|
2
|
+
import { FinancialYear } from '../../models';
|
3
|
+
import { BusinessChartAccountsEnum, ChartAccountsListEnum } from '../../db/Enums';
|
4
|
+
export class ChartAccountsValueCollection extends Collection {
|
5
|
+
/**
|
6
|
+
* $ amount u can claim per 1km
|
7
|
+
*/
|
8
|
+
getKmsRate(isSole) {
|
9
|
+
const chartAccountsId = isSole ? BusinessChartAccountsEnum.KMS_TRAVELLED : ChartAccountsListEnum.KMS_TRAVELLED;
|
10
|
+
return this.find((ca) => ca.chartAccounts.id === chartAccountsId && new FinancialYear().year === ca.financialYear).value;
|
11
|
+
}
|
12
|
+
/**
|
13
|
+
* $ amount u can claim per 1hour
|
14
|
+
*/
|
15
|
+
getHoursRate(isSole) {
|
16
|
+
const chartAccountsId = isSole ? BusinessChartAccountsEnum.HOME_OFFICE_HOURS : ChartAccountsListEnum.HOME_OFFICE_HOURS;
|
17
|
+
return this.find((ca) => ca.chartAccounts.id === chartAccountsId && new FinancialYear().year === ca.financialYear).value;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtdmFsdWUuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy12YWx1ZS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFzQixhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFVBQThCO0lBQzlFOztPQUVHO0lBQ0gsVUFBVSxDQUFDLE1BQWU7UUFDeEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQztRQUMvRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQ2QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLGVBQWUsSUFBSSxJQUFJLGFBQWEsRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsYUFBYSxDQUNqRyxDQUFDLEtBQUssQ0FBQztJQUNWLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxNQUFlO1FBQzFCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDO1FBQ3ZILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssZUFBZSxJQUFJLElBQUksYUFBYSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxhQUFhLENBQ2pHLENBQUMsS0FBSyxDQUFDO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c1ZhbHVlLCBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEJ1c2luZXNzQ2hhcnRBY2NvdW50c0VudW0sIENoYXJ0QWNjb3VudHNMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIENoYXJ0QWNjb3VudHNWYWx1ZUNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHNWYWx1ZT57XG4gIC8qKlxuICAgKiAkIGFtb3VudCB1IGNhbiBjbGFpbSBwZXIgMWttXG4gICAqL1xuICBnZXRLbXNSYXRlKGlzU29sZTogYm9vbGVhbik6IG51bWJlciB7XG4gICAgY29uc3QgY2hhcnRBY2NvdW50c0lkID0gaXNTb2xlID8gQnVzaW5lc3NDaGFydEFjY291bnRzRW51bS5LTVNfVFJBVkVMTEVEIDogQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktNU19UUkFWRUxMRUQ7XG4gICAgcmV0dXJuIHRoaXMuZmluZChcbiAgICAgIChjYSkgPT4gY2EuY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkICYmIG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhciA9PT0gY2EuZmluYW5jaWFsWWVhclxuICAgICkudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogJCBhbW91bnQgdSBjYW4gY2xhaW0gcGVyIDFob3VyXG4gICAqL1xuICBnZXRIb3Vyc1JhdGUoaXNTb2xlOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICBjb25zdCBjaGFydEFjY291bnRzSWQgPSBpc1NvbGUgPyBCdXNpbmVzc0NoYXJ0QWNjb3VudHNFbnVtLkhPTUVfT0ZGSUNFX0hPVVJTIDogQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkhPTUVfT0ZGSUNFX0hPVVJTO1xuICAgIHJldHVybiB0aGlzLmZpbmQoXG4gICAgICAoY2EpID0+IGNhLmNoYXJ0QWNjb3VudHMuaWQgPT09IGNoYXJ0QWNjb3VudHNJZCAmJiBuZXcgRmluYW5jaWFsWWVhcigpLnllYXIgPT09IGNhLmZpbmFuY2lhbFllYXJcbiAgICApLnZhbHVlO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './chart-accounts-value.collection';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvY2hhcnQtYWNjb3VudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYWNjb3VudHMtdmFsdWUuY29sbGVjdGlvbic7XG4iXX0=
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { Collection } from './collection';
|
2
|
+
import { FinancialYear } from '../models';
|
3
|
+
import { ChartAccountsListEnum } from '../db/Enums';
|
4
|
+
export class ChartAccountsCollection extends Collection {
|
5
|
+
constructor(items = []) {
|
6
|
+
super(items);
|
7
|
+
// Sort personal chart accounts by name (TT-1950)
|
8
|
+
// @TODO Alex: implement general initial sorting solution in parent class
|
9
|
+
this.items.sort((a, b) => {
|
10
|
+
if (a.isPersonal() && b.isPersonal()) {
|
11
|
+
return a.name > b.name ? 1 : -1;
|
12
|
+
}
|
13
|
+
return 0;
|
14
|
+
});
|
15
|
+
}
|
16
|
+
getManual() {
|
17
|
+
return this.filter(chartAccounts => !!chartAccounts.user);
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* Get 'Kms travelled for work' related chart account value
|
21
|
+
*/
|
22
|
+
getVehicleKmsRate(year = new FinancialYear().year) {
|
23
|
+
return this.findBy('id', ChartAccountsListEnum.KMS_TRAVELLED).getValueByYear(year).value;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jaGFydC1hY2NvdW50cy5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFpQixhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxVQUF5QjtJQUNwRSxZQUFZLFFBQXlCLEVBQUU7UUFDckMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsaURBQWlEO1FBQ2pELHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWdCLEVBQUUsQ0FBZ0IsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDcEMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakM7WUFFRCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLE9BQWUsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUMxRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMsIEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0xpc3RFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMnO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRBY2NvdW50c0NvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPENoYXJ0QWNjb3VudHM+IHtcbiAgY29uc3RydWN0b3IoaXRlbXM6IENoYXJ0QWNjb3VudHNbXSA9IFtdKSB7XG4gICAgc3VwZXIoaXRlbXMpO1xuXG4gICAgLy8gU29ydCBwZXJzb25hbCBjaGFydCBhY2NvdW50cyBieSBuYW1lIChUVC0xOTUwKVxuICAgIC8vIEBUT0RPIEFsZXg6IGltcGxlbWVudCBnZW5lcmFsIGluaXRpYWwgc29ydGluZyBzb2x1dGlvbiBpbiBwYXJlbnQgY2xhc3NcbiAgICB0aGlzLml0ZW1zLnNvcnQoKGE6IENoYXJ0QWNjb3VudHMsIGI6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIGlmIChhLmlzUGVyc29uYWwoKSAmJiBiLmlzUGVyc29uYWwoKSkge1xuICAgICAgICByZXR1cm4gYS5uYW1lID4gYi5uYW1lID8gMSA6IC0xO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gMDtcbiAgICB9KTtcbiAgfVxuXG4gIGdldE1hbnVhbCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoY2hhcnRBY2NvdW50cyA9PiAhIWNoYXJ0QWNjb3VudHMudXNlcik7XG4gIH1cblxuICAvKipcbiAgICogR2V0ICdLbXMgdHJhdmVsbGVkIGZvciB3b3JrJyByZWxhdGVkIGNoYXJ0IGFjY291bnQgdmFsdWVcbiAgICovXG4gIGdldFZlaGljbGVLbXNSYXRlKHllYXI6IG51bWJlciA9IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmluZEJ5KCdpZCcsIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTVNfVFJBVkVMTEVEKS5nZXRWYWx1ZUJ5WWVhcih5ZWFyKS52YWx1ZVxuICB9XG59XG4iXX0=
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { Collection } from '../collection';
|
2
|
+
import { ChatStatusEnum } from '../../db/Enums/chat-status.enum';
|
3
|
+
export class ChatCollection extends Collection {
|
4
|
+
getActive() {
|
5
|
+
return this.filterBy('status', ChatStatusEnum.ACTIVE);
|
6
|
+
}
|
7
|
+
}
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NoYXQvY2hhdC5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBZ0I7SUFDbEQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ2hhdFN0YXR1c0VudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGF0LXN0YXR1cy5lbnVtJztcblxuZXhwb3J0IGNsYXNzIENoYXRDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxDaGF0PiB7XG4gIGdldEFjdGl2ZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgnc3RhdHVzJywgQ2hhdFN0YXR1c0VudW0uQUNUSVZFKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export * from './chat.collection';
|
2
|
+
export * from './message-document.collection';
|
3
|
+
export * from './message.collection';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvY2hhdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhdC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5jb2xsZWN0aW9uJztcbiJdfQ==
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Collection } from '../collection';
|
2
|
+
/**
|
3
|
+
* Collection of MessageDocument instances
|
4
|
+
*/
|
5
|
+
export class MessageDocumentCollection extends Collection {
|
6
|
+
/**
|
7
|
+
* get list of documents which are not attached to any message
|
8
|
+
*/
|
9
|
+
getUnattached() {
|
10
|
+
return new MessageDocumentCollection(this.items.filter((doc) => !doc.message));
|
11
|
+
}
|
12
|
+
}
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NoYXQvbWVzc2FnZS1kb2N1bWVudC5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsVUFBMkI7SUFDeEU7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxJQUFJLHlCQUF5QixDQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQW9CLEVBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTWVzc2FnZURvY3VtZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIE1lc3NhZ2VEb2N1bWVudCBpbnN0YW5jZXNcbiAqL1xuZXhwb3J0IGNsYXNzIE1lc3NhZ2VEb2N1bWVudENvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPE1lc3NhZ2VEb2N1bWVudD4ge1xuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgZG9jdW1lbnRzIHdoaWNoIGFyZSBub3QgYXR0YWNoZWQgdG8gYW55IG1lc3NhZ2VcbiAgICovXG4gIGdldFVuYXR0YWNoZWQoKTogTWVzc2FnZURvY3VtZW50Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBNZXNzYWdlRG9jdW1lbnRDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRvYzogTWVzc2FnZURvY3VtZW50KTogYm9vbGVhbiA9PiAhZG9jLm1lc3NhZ2UpXG4gICAgKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { Collection } from '../collection';
|
2
|
+
import uniqBy from 'lodash/uniqBy';
|
3
|
+
export class MessageCollection extends Collection {
|
4
|
+
getFirstUnreadMessage(user) {
|
5
|
+
return this.items.find((message) => !message.isRead() && message.isFromEmployee() !== user.isEmployee());
|
6
|
+
}
|
7
|
+
/**
|
8
|
+
* Get List of unread chats
|
9
|
+
*/
|
10
|
+
getUnread() {
|
11
|
+
return this.items.filter((message) => !message.readAt);
|
12
|
+
}
|
13
|
+
getFromActiveChats() {
|
14
|
+
return this.filter((message) => message.chat.isActive());
|
15
|
+
}
|
16
|
+
/**
|
17
|
+
* Get amount of chats that contains unread messages
|
18
|
+
*/
|
19
|
+
getUnreadChatsAmount(isFromEmployee = false) {
|
20
|
+
// filtered messages for client/employee
|
21
|
+
const filteredMessages = this.filter((message) => isFromEmployee ? message.isFromEmployee() : !message.isFromEmployee());
|
22
|
+
return uniqBy(filteredMessages.getFromActiveChats().getUnread(), 'chat.id').length;
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* Check if chat has unread chats
|
26
|
+
*/
|
27
|
+
hasUnread() {
|
28
|
+
return !!this.getUnread().length;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NoYXQvbWVzc2FnZS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBR25DLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFtQjtJQUN4RCxxQkFBcUIsQ0FBQyxJQUFVO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFnQixFQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUN4SCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFnQixFQUFXLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsS0FBSztRQUN6Qyx3Q0FBd0M7UUFDeEMsTUFBTSxnQkFBZ0IsR0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFeEksT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgTWVzc2FnZSwgVXNlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuXG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248TWVzc2FnZT4ge1xuICBnZXRGaXJzdFVucmVhZE1lc3NhZ2UodXNlcjogVXNlcik6IE1lc3NhZ2Uge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKG1lc3NhZ2U6IE1lc3NhZ2UpOiBib29sZWFuID0+ICFtZXNzYWdlLmlzUmVhZCgpICYmIG1lc3NhZ2UuaXNGcm9tRW1wbG95ZWUoKSAhPT0gdXNlci5pc0VtcGxveWVlKClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBMaXN0IG9mIHVucmVhZCBjaGF0c1xuICAgKi9cbiAgZ2V0VW5yZWFkKCk6IE1lc3NhZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKChtZXNzYWdlOiBNZXNzYWdlKTogYm9vbGVhbiA9PiAhbWVzc2FnZS5yZWFkQXQpO1xuICB9XG5cbiAgZ2V0RnJvbUFjdGl2ZUNoYXRzKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigobWVzc2FnZTogTWVzc2FnZSkgPT4gbWVzc2FnZS5jaGF0LmlzQWN0aXZlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbW91bnQgb2YgY2hhdHMgdGhhdCBjb250YWlucyB1bnJlYWQgbWVzc2FnZXNcbiAgICovXG4gIGdldFVucmVhZENoYXRzQW1vdW50KGlzRnJvbUVtcGxveWVlID0gZmFsc2UpOiBudW1iZXIge1xuICAgIC8vIGZpbHRlcmVkIG1lc3NhZ2VzIGZvciBjbGllbnQvZW1wbG95ZWVcbiAgICBjb25zdCBmaWx0ZXJlZE1lc3NhZ2VzOiB0aGlzID0gdGhpcy5maWx0ZXIoKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IGlzRnJvbUVtcGxveWVlID8gbWVzc2FnZS5pc0Zyb21FbXBsb3llZSgpIDogIW1lc3NhZ2UuaXNGcm9tRW1wbG95ZWUoKSk7XG5cbiAgICByZXR1cm4gdW5pcUJ5KGZpbHRlcmVkTWVzc2FnZXMuZ2V0RnJvbUFjdGl2ZUNoYXRzKCkuZ2V0VW5yZWFkKCksICdjaGF0LmlkJykubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGNoYXQgaGFzIHVucmVhZCBjaGF0c1xuICAgKi9cbiAgaGFzVW5yZWFkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0VW5yZWFkKCkubGVuZ3RoO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { Collection } from './collection';
|
2
|
+
export class ClientInviteCollection extends Collection {
|
3
|
+
getPending() {
|
4
|
+
return this.filter((invite) => invite.isPending());
|
5
|
+
}
|
6
|
+
}
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NsaWVudC1pbnZpdGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxVQUF3QjtJQUNsRSxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDbGllbnRJbnZpdGUgfSBmcm9tICcuLi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbnZpdGUnO1xuXG5leHBvcnQgY2xhc3MgQ2xpZW50SW52aXRlQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248Q2xpZW50SW52aXRlPiB7XG4gIGdldFBlbmRpbmcoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpbnZpdGU6IENsaWVudEludml0ZSkgPT4gaW52aXRlLmlzUGVuZGluZygpKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { Collection } from './collection';
|
2
|
+
import { SERVICE_PRODUCT_ROLES } from '../models';
|
3
|
+
import { EmployeeCollection } from './firm';
|
4
|
+
import { ClientCollection } from './client.collection';
|
5
|
+
import { FirmTypeEnum } from '../db/Enums';
|
6
|
+
import { CollectionDictionary } from './collection-dictionary';
|
7
|
+
import { ServiceSubscriptionCollection } from './subscription';
|
8
|
+
/**
|
9
|
+
* Collection of tax review
|
10
|
+
*/
|
11
|
+
export class ClientMovementCollection extends Collection {
|
12
|
+
get active() {
|
13
|
+
return new ClientMovementCollection(this.items.filter((clientMovement) => !clientMovement.dateTo));
|
14
|
+
}
|
15
|
+
get employees() {
|
16
|
+
return new EmployeeCollection(this.items.map((clientMovement) => clientMovement.employee));
|
17
|
+
}
|
18
|
+
get clients() {
|
19
|
+
return new ClientCollection(this.items.map((clientMovement) => clientMovement.client));
|
20
|
+
}
|
21
|
+
get accountant() {
|
22
|
+
return this.items.filter((clientMovement) => clientMovement.firm.type === FirmTypeEnum.ACCOUNTANT)[0] ?? null;
|
23
|
+
}
|
24
|
+
get advisors() {
|
25
|
+
return new ClientMovementCollection(this.items.filter((clientMovement) => clientMovement.firm.type === FirmTypeEnum.ADVISOR));
|
26
|
+
}
|
27
|
+
getByEmployeeId(id) {
|
28
|
+
return new ClientMovementCollection(this.items.filter((clientMovement) => clientMovement.employee.id === id));
|
29
|
+
}
|
30
|
+
getByFirmType(firmType) {
|
31
|
+
return new ClientMovementCollection(this.items.filter((clientMovement) => clientMovement.firm.type === firmType));
|
32
|
+
}
|
33
|
+
/**
|
34
|
+
* group clients (client movements) by tanks
|
35
|
+
*/
|
36
|
+
groupByRoles() {
|
37
|
+
const dictionary = new CollectionDictionary(new ClientMovementCollection());
|
38
|
+
SERVICE_PRODUCT_ROLES.forEach((role) => {
|
39
|
+
const movements = this.filter(movement => {
|
40
|
+
const subscriptions = new ServiceSubscriptionCollection(movement.client.subscriptions).filterByRole(role);
|
41
|
+
return (subscriptions.getPaid().last ?? subscriptions.getTrials().first)?.isActive;
|
42
|
+
});
|
43
|
+
dictionary.add(role, movements);
|
44
|
+
});
|
45
|
+
return dictionary;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvY2xpZW50LW1vdmVtZW50LmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFVBQTBCO0lBQ3RFLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDaEksQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSx3QkFBd0IsQ0FDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQ3pHLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVU7UUFDeEIsT0FBTyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBOEIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoSSxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQXNCO1FBQ2xDLE9BQU8sSUFBSSx3QkFBd0IsQ0FDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FDN0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLElBQUksd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQW1CLEVBQUUsRUFBRTtZQUNwRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUxRyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDO1lBQ3JGLENBQUMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENsaWVudE1vdmVtZW50LCBTRVJWSUNFX1BST0RVQ1RfUk9MRVMgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRW1wbG95ZWVDb2xsZWN0aW9uIH0gZnJvbSAnLi9maXJtJztcbmltcG9ydCB7IENsaWVudENvbGxlY3Rpb24gfSBmcm9tICcuL2NsaWVudC5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEZpcm1UeXBlRW51bSB9IGZyb20gJy4uL2RiL0VudW1zJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJ3RheHRhbmstY29yZS9jb21tb24nO1xuaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3N1YnNjcmlwdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0YXggcmV2aWV3XG4gKi9cbmV4cG9ydCBjbGFzcyBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPENsaWVudE1vdmVtZW50PiB7XG4gIGdldCBhY3RpdmUoKTogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigoY2xpZW50TW92ZW1lbnQ6IENsaWVudE1vdmVtZW50KSA9PiAhY2xpZW50TW92ZW1lbnQuZGF0ZVRvKSk7XG4gIH1cblxuICBnZXQgZW1wbG95ZWVzKCk6IEVtcGxveWVlQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBFbXBsb3llZUNvbGxlY3Rpb24odGhpcy5pdGVtcy5tYXAoKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4gY2xpZW50TW92ZW1lbnQuZW1wbG95ZWUpKTtcbiAgfVxuXG4gIGdldCBjbGllbnRzKCk6IENsaWVudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQ2xpZW50Q29sbGVjdGlvbih0aGlzLml0ZW1zLm1hcCgoY2xpZW50TW92ZW1lbnQ6IENsaWVudE1vdmVtZW50KSA9PiBjbGllbnRNb3ZlbWVudC5jbGllbnQpKTtcbiAgfVxuXG4gIGdldCBhY2NvdW50YW50KCk6IENsaWVudE1vdmVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4gY2xpZW50TW92ZW1lbnQuZmlybS50eXBlID09PSBGaXJtVHlwZUVudW0uQUNDT1VOVEFOVClbMF0gPz8gbnVsbDtcbiAgfVxuXG4gIGdldCBhZHZpc29ycygpOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4gY2xpZW50TW92ZW1lbnQuZmlybS50eXBlID09PSBGaXJtVHlwZUVudW0uQURWSVNPUilcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlFbXBsb3llZUlkKGlkOiBudW1iZXIpOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uKHRoaXMuaXRlbXMuZmlsdGVyKChjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpID0+IGNsaWVudE1vdmVtZW50LmVtcGxveWVlLmlkID09PSBpZCkpO1xuICB9XG5cbiAgZ2V0QnlGaXJtVHlwZShmaXJtVHlwZTogRmlybVR5cGVFbnVtKTogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpID0+IGNsaWVudE1vdmVtZW50LmZpcm0udHlwZSA9PT0gZmlybVR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBncm91cCBjbGllbnRzIChjbGllbnQgbW92ZW1lbnRzKSBieSB0YW5rc1xuICAgKi9cbiAgZ3JvdXBCeVJvbGVzKCk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PENsaWVudE1vdmVtZW50Q29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkobmV3IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbigpKTtcblxuICAgIFNFUlZJQ0VfUFJPRFVDVF9ST0xFUy5mb3JFYWNoKChyb2xlOiBVc2VyUm9sZXNFbnVtKSA9PiB7XG4gICAgICBjb25zdCBtb3ZlbWVudHMgPSB0aGlzLmZpbHRlcihtb3ZlbWVudCA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBuZXcgU2VydmljZVN1YnNjcmlwdGlvbkNvbGxlY3Rpb24obW92ZW1lbnQuY2xpZW50LnN1YnNjcmlwdGlvbnMpLmZpbHRlckJ5Um9sZShyb2xlKTtcblxuICAgICAgICByZXR1cm4gKHN1YnNjcmlwdGlvbnMuZ2V0UGFpZCgpLmxhc3QgPz8gc3Vic2NyaXB0aW9ucy5nZXRUcmlhbHMoKS5maXJzdCk/LmlzQWN0aXZlO1xuICAgICAgfSk7XG4gICAgICBkaWN0aW9uYXJ5LmFkZChyb2xlLCBtb3ZlbWVudHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRpY3Rpb25hcnk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,40 @@
|
|
1
|
+
/**
|
2
|
+
* Collection of employee clients tax summary information
|
3
|
+
*/
|
4
|
+
import { Collection } from './collection';
|
5
|
+
export class ClientPortfolioReportCollection extends Collection {
|
6
|
+
get marketValue() {
|
7
|
+
return this.sumBy('marketValue');
|
8
|
+
}
|
9
|
+
get loanBalance() {
|
10
|
+
return this.sumBy('loanBalance');
|
11
|
+
}
|
12
|
+
get equityPosition() {
|
13
|
+
return this.sumBy('equityPosition');
|
14
|
+
}
|
15
|
+
/**
|
16
|
+
* Get average market value if there are more than 1 item in the collection
|
17
|
+
*/
|
18
|
+
get averageMarketValue() {
|
19
|
+
return this.items.length > 1 ? this.marketValue / this.items.length : null;
|
20
|
+
}
|
21
|
+
/**
|
22
|
+
* Get average loan balance if there are more than 1 item in the collection
|
23
|
+
*/
|
24
|
+
get averageLoanBalance() {
|
25
|
+
return this.items.length > 1 ? this.loanBalance / this.items.length : null;
|
26
|
+
}
|
27
|
+
/**
|
28
|
+
* Get average equity position if there are more than 1 item in the collection
|
29
|
+
*/
|
30
|
+
get averageEquityPosition() {
|
31
|
+
return this.items.length > 1 ? this.equityPosition / this.items.length : null;
|
32
|
+
}
|
33
|
+
/**
|
34
|
+
* Return report by provided category name
|
35
|
+
*/
|
36
|
+
getByCategoryName(name) {
|
37
|
+
return this.items.find((item) => item.category === name);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LXBvcnRmb2xpby1yZXBvcnQuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydC5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsVUFBaUM7SUFDcEYsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0UsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNoRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUEyQixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzNGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29sbGVjdGlvbiBvZiBlbXBsb3llZSBjbGllbnRzIHRheCBzdW1tYXJ5IGluZm9ybWF0aW9uXG4gKi9cbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2xpZW50UG9ydGZvbGlvUmVwb3J0IH0gZnJvbSAnLi4vbW9kZWxzL2NsaWVudC9jbGllbnQtcG9ydGZvbGlvLXJlcG9ydCc7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnRQb3J0Zm9saW9SZXBvcnRDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxDbGllbnRQb3J0Zm9saW9SZXBvcnQ+IHtcbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ21hcmtldFZhbHVlJyk7XG4gIH1cblxuICBnZXQgbG9hbkJhbGFuY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnbG9hbkJhbGFuY2UnKTtcbiAgfVxuXG4gIGdldCBlcXVpdHlQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdlcXVpdHlQb3NpdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhdmVyYWdlIG1hcmtldCB2YWx1ZSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDEgaXRlbSBpbiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IGF2ZXJhZ2VNYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IDEgPyB0aGlzLm1hcmtldFZhbHVlIC8gdGhpcy5pdGVtcy5sZW5ndGggOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhdmVyYWdlIGxvYW4gYmFsYW5jZSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDEgaXRlbSBpbiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IGF2ZXJhZ2VMb2FuQmFsYW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IDEgPyB0aGlzLmxvYW5CYWxhbmNlIC8gdGhpcy5pdGVtcy5sZW5ndGggOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhdmVyYWdlIGVxdWl0eSBwb3NpdGlvbiBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDEgaXRlbSBpbiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IGF2ZXJhZ2VFcXVpdHlQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IDEgPyB0aGlzLmVxdWl0eVBvc2l0aW9uIC8gdGhpcy5pdGVtcy5sZW5ndGggOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiByZXBvcnQgYnkgcHJvdmlkZWQgY2F0ZWdvcnkgbmFtZVxuICAgKi9cbiAgZ2V0QnlDYXRlZ29yeU5hbWUobmFtZTogc3RyaW5nKTogQ2xpZW50UG9ydGZvbGlvUmVwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBDbGllbnRQb3J0Zm9saW9SZXBvcnQpOiBib29sZWFuID0+IGl0ZW0uY2F0ZWdvcnkgPT09IG5hbWUpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { Collection } from './collection';
|
2
|
+
export class ClientCollection extends Collection {
|
3
|
+
}
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvY2xpZW50LmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBZ0I7Q0FDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgQ2xpZW50Q29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VXNlcj4ge1xufVxuIl19
|
@@ -0,0 +1,124 @@
|
|
1
|
+
import get from 'lodash/get';
|
2
|
+
import flatten from 'lodash/flatten';
|
3
|
+
import hasIn from 'lodash/hasIn';
|
4
|
+
import intersection from 'lodash/intersection';
|
5
|
+
import uniqBy from 'lodash/uniqBy';
|
6
|
+
/**
|
7
|
+
* @TODO refactor with Map
|
8
|
+
* List of collections grouped by passed property
|
9
|
+
*/
|
10
|
+
export class CollectionDictionary {
|
11
|
+
constructor(collection, path = 'id') {
|
12
|
+
/**
|
13
|
+
* List of grouped collections
|
14
|
+
*/
|
15
|
+
this.items = {};
|
16
|
+
this.collectionConstructor = collection.constructor;
|
17
|
+
// group if provided path was found in the 1st collection's item
|
18
|
+
if (collection.length && hasIn(collection.items[0], path.split('.')[0])) {
|
19
|
+
this.groupItems(collection, path);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* List of collections keys
|
24
|
+
*/
|
25
|
+
get keys() {
|
26
|
+
return Object.keys(this.items);
|
27
|
+
}
|
28
|
+
get values() {
|
29
|
+
return Object.values(this.items);
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* push new elements in existing item
|
33
|
+
*/
|
34
|
+
addTo(key, ...models) {
|
35
|
+
if (!this.items[key]) {
|
36
|
+
this.add(key);
|
37
|
+
}
|
38
|
+
this.items[key].push(...models);
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* Add new item by key
|
42
|
+
*/
|
43
|
+
add(key, value = this.createCollection([])) {
|
44
|
+
this.items[key] = value;
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* Get collection by key or return empty collection if key does not exist
|
48
|
+
*/
|
49
|
+
get(key) {
|
50
|
+
return this.items[key] ? this.items[key] : this.createCollection([]);
|
51
|
+
}
|
52
|
+
/**
|
53
|
+
* @TODO bad name, it just gets items by keys, same as get method by multiple keys
|
54
|
+
* Join several collections by ids, return collection of uniq models (skip duplicates)
|
55
|
+
*/
|
56
|
+
merge(keys) {
|
57
|
+
if (!this.length) {
|
58
|
+
return this.createCollection([]);
|
59
|
+
}
|
60
|
+
return this.createCollection(uniqBy(flatten(keys.map((key) => this.get(key.toString()).items)), 'id'));
|
61
|
+
}
|
62
|
+
/**
|
63
|
+
* Create instance of collection
|
64
|
+
*/
|
65
|
+
createCollection(items = []) {
|
66
|
+
return new this.collectionConstructor(items);
|
67
|
+
}
|
68
|
+
get length() {
|
69
|
+
return this.keys.length;
|
70
|
+
}
|
71
|
+
/**
|
72
|
+
* @Todo find a better solution to get list of the sorted keys
|
73
|
+
* Get array of the "keys" by provided order
|
74
|
+
*/
|
75
|
+
getSortedKeys(isDesc = false) {
|
76
|
+
return this.keys.sort((a, b) => {
|
77
|
+
if (a > b) {
|
78
|
+
return !isDesc ? 1 : -1;
|
79
|
+
}
|
80
|
+
if (a < b) {
|
81
|
+
return !isDesc ? -1 : 1;
|
82
|
+
}
|
83
|
+
return 0;
|
84
|
+
});
|
85
|
+
}
|
86
|
+
keysIntersection(keys) {
|
87
|
+
return intersection(keys.map((key) => key.toString()), this.keys);
|
88
|
+
}
|
89
|
+
/**
|
90
|
+
* Group collection items by passed path into items object
|
91
|
+
*/
|
92
|
+
groupItems(collection, path) {
|
93
|
+
// Create empty initial object for groups
|
94
|
+
const obj = {};
|
95
|
+
// Group collection items
|
96
|
+
collection.items.forEach((item) => {
|
97
|
+
const keys = Array.isArray(get(item, path)) ? get(item, path) : [get(item, path)];
|
98
|
+
keys.forEach(key => {
|
99
|
+
// if object does not have property for grouping it will be grouped as 'other'
|
100
|
+
if (key === undefined) {
|
101
|
+
key = 'other';
|
102
|
+
}
|
103
|
+
if (!obj[key]) {
|
104
|
+
obj[key] = [];
|
105
|
+
}
|
106
|
+
obj[key].push(item);
|
107
|
+
});
|
108
|
+
});
|
109
|
+
// Create collections from groups
|
110
|
+
Object.keys(obj).forEach((key) => {
|
111
|
+
this.items[key] = this.createCollection(obj[key]);
|
112
|
+
});
|
113
|
+
}
|
114
|
+
filter(callback) {
|
115
|
+
const collectionDictionary = new CollectionDictionary(this.createCollection());
|
116
|
+
for (const key in this.items) {
|
117
|
+
if (callback(this.get(key))) {
|
118
|
+
collectionDictionary.add(key, this.get(key));
|
119
|
+
}
|
120
|
+
}
|
121
|
+
return collectionDictionary;
|
122
|
+
}
|
123
|
+
}
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBR2pDLE9BQU8sWUFBWSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUVuQzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBVy9CLFlBQVksVUFBc0IsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQVYvQzs7V0FFRztRQUNILFVBQUssR0FBa0MsRUFBRSxDQUFDO1FBUXhDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsV0FBa0QsQ0FBQztRQUMzRixnRUFBZ0U7UUFDaEUsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2RSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FB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b0JBQW9CLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2xvZGFzaC9mbGF0dGVuJztcbmltcG9ydCBoYXNJbiBmcm9tICdsb2Rhc2gvaGFzSW4nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiBhcyBCYXNlQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vZGIvTW9kZWxzJztcbmltcG9ydCBpbnRlcnNlY3Rpb24gZnJvbSAnbG9kYXNoL2ludGVyc2VjdGlvbic7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuXG4vKipcbiAqIEBUT0RPIHJlZmFjdG9yIHdpdGggTWFwXG4gKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGdyb3VwZWQgYnkgcGFzc2VkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uIGV4dGVuZHMgQmFzZUNvbGxlY3Rpb248b2JqZWN0Pj4ge1xuICAvKipcbiAgICogTGlzdCBvZiBncm91cGVkIGNvbGxlY3Rpb25zXG4gICAqL1xuICBpdGVtczogeyBba2V5OiBzdHJpbmddOiBDb2xsZWN0aW9uIH0gPSB7fTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZnVuY3Rpb24gb2YgcGFzc2VkIGNvbGxlY3Rpb24gZm9yIGNyZWF0aW5nIG5ldyBpbnN0YW5jZXNcbiAgICovXG4gIHByaXZhdGUgY29sbGVjdGlvbkNvbnN0cnVjdG9yOiBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLCBwYXRoID0gJ2lkJykge1xuICAgIHRoaXMuY29sbGVjdGlvbkNvbnN0cnVjdG9yID0gY29sbGVjdGlvbi5jb25zdHJ1Y3RvciBhcyBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcbiAgICAvLyBncm91cCBpZiBwcm92aWRlZCBwYXRoIHdhcyBmb3VuZCBpbiB0aGUgMXN0IGNvbGxlY3Rpb24ncyBpdGVtXG4gICAgaWYgKGNvbGxlY3Rpb24ubGVuZ3RoICYmIGhhc0luKGNvbGxlY3Rpb24uaXRlbXNbMF0sIHBhdGguc3BsaXQoJy4nKVswXSkpIHtcbiAgICAgIHRoaXMuZ3JvdXBJdGVtcyhjb2xsZWN0aW9uLCBwYXRoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBjb2xsZWN0aW9ucyBrZXlzXG4gICAqL1xuICBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgZ2V0IHZhbHVlcygpOiBDb2xsZWN0aW9uW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIHB1c2ggbmV3IGVsZW1lbnRzIGluIGV4aXN0aW5nIGl0ZW1cbiAgICovXG4gIGFkZFRvKGtleTogc3RyaW5nIHwgbnVtYmVyLCAuLi5tb2RlbHM6IEFic3RyYWN0TW9kZWxbXSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pdGVtc1trZXldKSB7XG4gICAgICB0aGlzLmFkZChrZXkpO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXNba2V5XS5wdXNoKC4uLm1vZGVscyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBpdGVtIGJ5IGtleVxuICAgKi9cbiAgYWRkKGtleTogc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZTogQ29sbGVjdGlvbiA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSkpIHtcbiAgICB0aGlzLml0ZW1zW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBieSBrZXkgb3IgcmV0dXJuIGVtcHR5IGNvbGxlY3Rpb24gaWYga2V5IGRvZXMgbm90IGV4aXN0XG4gICAqL1xuICBnZXQoa2V5OiBzdHJpbmcgfCBudW1iZXIpOiBDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc1trZXldID8gdGhpcy5pdGVtc1trZXldIDogdGhpcy5jcmVhdGVDb2xsZWN0aW9uKFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBiYWQgbmFtZSwgaXQganVzdCBnZXRzIGl0ZW1zIGJ5IGtleXMsIHNhbWUgYXMgZ2V0IG1ldGhvZCBieSBtdWx0aXBsZSBrZXlzXG4gICAqIEpvaW4gc2V2ZXJhbCBjb2xsZWN0aW9ucyBieSBpZHMsIHJldHVybiBjb2xsZWN0aW9uIG9mIHVuaXEgbW9kZWxzIChza2lwIGR1cGxpY2F0ZXMpXG4gICAqL1xuICBtZXJnZShrZXlzOiBudW1iZXJbXSB8IHN0cmluZ1tdKTogQ29sbGVjdGlvbiB7XG4gICAgaWYgKCF0aGlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihcbiAgICAgIHVuaXFCeShmbGF0dGVuKGtleXMubWFwKChrZXk6IG51bWJlciB8IHN0cmluZyk6IG9iamVjdFtdID0+IHRoaXMuZ2V0KGtleS50b1N0cmluZygpKS5pdGVtcykpLCAnaWQnKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGluc3RhbmNlIG9mIGNvbGxlY3Rpb25cbiAgICovXG4gIGNyZWF0ZUNvbGxlY3Rpb24oaXRlbXM6IG9iamVjdFtdID0gW10pOiBDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuY29sbGVjdGlvbkNvbnN0cnVjdG9yKGl0ZW1zKTtcbiAgfVxuXG4gIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVG9kbyBmaW5kIGEgYmV0dGVyIHNvbHV0aW9uIHRvIGdldCBsaXN0IG9mIHRoZSBzb3J0ZWQga2V5c1xuICAgKiBHZXQgYXJyYXkgb2YgdGhlIFwia2V5c1wiIGJ5IHByb3ZpZGVkIG9yZGVyXG4gICAqL1xuICBnZXRTb3J0ZWRLZXlzKGlzRGVzYyA9IGZhbHNlKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmtleXMuc29ydCgoYTogYW55LCBiOiBhbnkpOiBudW1iZXIgPT4ge1xuICAgICAgaWYgKGEgPiBiKSB7XG4gICAgICAgIHJldHVybiAhaXNEZXNjID8gMSA6IC0xO1xuICAgICAgfVxuICAgICAgaWYgKGEgPCBiKSB7XG4gICAgICAgIHJldHVybiAhaXNEZXNjID8gLTEgOiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gIH1cblxuICBrZXlzSW50ZXJzZWN0aW9uKGtleXM6IHN0cmluZ1tdIHwgbnVtYmVyW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGludGVyc2VjdGlvbihrZXlzLm1hcCgoa2V5OiBzdHJpbmcgfCBudW1iZXIpID0+IGtleS50b1N0cmluZygpKSwgdGhpcy5rZXlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcm91cCBjb2xsZWN0aW9uIGl0ZW1zIGJ5IHBhc3NlZCBwYXRoIGludG8gaXRlbXMgb2JqZWN0XG4gICAqL1xuICBwcml2YXRlIGdyb3VwSXRlbXMoY29sbGVjdGlvbjogQ29sbGVjdGlvbiwgcGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gQ3JlYXRlIGVtcHR5IGluaXRpYWwgb2JqZWN0IGZvciBncm91cHNcbiAgICBjb25zdCBvYmo6IHsgW2tleTogc3RyaW5nXTogQXJyYXk8b2JqZWN0PiB9ID0ge307XG5cbiAgICAvLyBHcm91cCBjb2xsZWN0aW9uIGl0ZW1zXG4gICAgY29sbGVjdGlvbi5pdGVtcy5mb3JFYWNoKChpdGVtOiBvYmplY3QpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheShnZXQoaXRlbSwgcGF0aCkpID8gZ2V0KGl0ZW0sIHBhdGgpIDogW2dldChpdGVtLCBwYXRoKV07XG5cbiAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAvLyBpZiBvYmplY3QgZG9lcyBub3QgaGF2ZSBwcm9wZXJ0eSBmb3IgZ3JvdXBpbmcgaXQgd2lsbCBiZSBncm91cGVkIGFzICdvdGhlcidcbiAgICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAga2V5ID0gJ290aGVyJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghb2JqW2tleV0pIHtcbiAgICAgICAgICBvYmpba2V5XSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgb2JqW2tleV0ucHVzaChpdGVtKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGNvbGxlY3Rpb25zIGZyb20gZ3JvdXBzXG4gICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKChrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgdGhpcy5pdGVtc1trZXldID0gdGhpcy5jcmVhdGVDb2xsZWN0aW9uKG9ialtrZXldKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZpbHRlcihjYWxsYmFjazogKGNvbGxlY3Rpb246IENvbGxlY3Rpb24pID0+IGJvb2xlYW4pOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uPiB7XG4gICAgY29uc3QgY29sbGVjdGlvbkRpY3Rpb25hcnkgPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkodGhpcy5jcmVhdGVDb2xsZWN0aW9uKCkpO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5pdGVtcykge1xuICAgICAgaWYgKGNhbGxiYWNrKHRoaXMuZ2V0KGtleSkpKSB7XG4gICAgICAgIGNvbGxlY3Rpb25EaWN0aW9uYXJ5LmFkZChrZXksIHRoaXMuZ2V0KGtleSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb2xsZWN0aW9uRGljdGlvbmFyeTtcbiAgfVxufVxuIl19
|