taxtank-core 0.17.14 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/bundles/taxtank-core.umd.js +5717 -5317
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/account-setup-item.collection.js +2 -2
  4. package/esm2015/lib/collections/bank.collection.js +15 -0
  5. package/esm2015/lib/collections/collection-dictionary.js +1 -1
  6. package/esm2015/lib/collections/collection.js +41 -56
  7. package/esm2015/lib/collections/exportable.collection.js +1 -1
  8. package/esm2015/lib/collections/property/property.collection.js +3 -3
  9. package/esm2015/lib/collections/vehicle-logbook.collection.js +2 -2
  10. package/esm2015/lib/db/Models/abstract-model.js +1 -1
  11. package/esm2015/lib/db/Models/bank/bank.js +1 -1
  12. package/esm2015/lib/forms/abstract.form.js +18 -3
  13. package/esm2015/lib/forms/bank/bank-account-add-manual.form.js +19 -0
  14. package/esm2015/lib/forms/bank/bank-account-loan.form.js +20 -0
  15. package/esm2015/lib/forms/bank/bank-account-migrate.form.js +15 -0
  16. package/esm2015/lib/forms/bank/bank-account-properties.form.js +15 -0
  17. package/esm2015/lib/forms/bank/bank-account-property.form.js +13 -0
  18. package/esm2015/lib/forms/bank/bank-account.form.js +53 -0
  19. package/esm2015/lib/forms/bank/bank-login.form.js +19 -0
  20. package/esm2015/lib/forms/client/client-income-types.form.js +2 -8
  21. package/esm2015/lib/forms/index.js +8 -1
  22. package/esm2015/lib/forms/login/login.form.js +1 -1
  23. package/esm2015/lib/forms/register/register-client.form.js +4 -3
  24. package/esm2015/lib/forms/register/register-firm.form.js +2 -9
  25. package/esm2015/lib/forms/user/password.form.js +6 -6
  26. package/esm2015/lib/forms/user/reset-password.form.js +1 -1
  27. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +2 -2
  28. package/esm2015/lib/forms/vehicle/vehicle.form.js +6 -12
  29. package/esm2015/lib/interceptors/basiq.interceptor.js +35 -0
  30. package/esm2015/lib/interceptors/financial-year-interceptor.js +15 -4
  31. package/esm2015/lib/interceptors/interceptors.module.js +12 -1
  32. package/esm2015/lib/models/account-setup/account-setup-item.js +4 -2
  33. package/esm2015/lib/models/bank/bank-account-property.js +6 -2
  34. package/esm2015/lib/models/bank/bank-account.js +2 -1
  35. package/esm2015/lib/models/bank/bank-connection.js +18 -3
  36. package/esm2015/lib/models/bank/bank-login-data.js +6 -0
  37. package/esm2015/lib/models/bank/bank.js +6 -1
  38. package/esm2015/lib/models/client/client-portfolio-report.js +3 -2
  39. package/esm2015/lib/models/endpoint/endpoints.const.js +3 -1
  40. package/esm2015/lib/models/event/app-event-type.enum.js +39 -37
  41. package/esm2015/lib/models/loan/loan-payment.js +3 -2
  42. package/esm2015/lib/models/loan/loan.js +1 -6
  43. package/esm2015/lib/models/report/property/property-report-item.js +4 -2
  44. package/esm2015/lib/models/report/vehicle-expense/vehicle-expense.js +4 -2
  45. package/esm2015/lib/models/tax-summary/report-item-details.js +3 -2
  46. package/esm2015/lib/models/tax-summary/report-item.js +3 -2
  47. package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
  48. package/esm2015/lib/services/auth/auth.service.js +20 -4
  49. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +2 -5
  50. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +57 -2
  51. package/esm2015/lib/services/http/bank/basiq/basiq-connections-response.interface.js +2 -0
  52. package/esm2015/lib/services/http/bank/basiq/basiq-token-response.interface.js +2 -0
  53. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +42 -0
  54. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +35 -44
  55. package/esm2015/lib/services/http/rest/rest.service.js +1 -12
  56. package/esm2015/lib/services/http/user/user.service.js +7 -15
  57. package/esm2015/lib/validators/date-range.validator.js +22 -0
  58. package/esm2015/lib/validators/index.js +2 -1
  59. package/esm2015/lib/validators/password.validator.js +16 -3
  60. package/esm2015/lib/validators/require-autocomplete.js +14 -0
  61. package/esm2015/public-api.js +7 -1
  62. package/fesm2015/taxtank-core.js +6088 -5763
  63. package/fesm2015/taxtank-core.js.map +1 -1
  64. package/lib/collections/bank.collection.d.ts +7 -0
  65. package/lib/collections/collection-dictionary.d.ts +2 -1
  66. package/lib/collections/collection.d.ts +18 -31
  67. package/lib/collections/exportable.collection.d.ts +2 -1
  68. package/lib/db/Models/abstract-model.d.ts +1 -0
  69. package/lib/db/Models/bank/bank.d.ts +4 -0
  70. package/lib/forms/abstract.form.d.ts +18 -3
  71. package/lib/forms/bank/bank-account-add-manual.form.d.ts +10 -0
  72. package/lib/forms/bank/bank-account-loan.form.d.ts +5 -0
  73. package/lib/forms/bank/bank-account-migrate.form.d.ts +9 -0
  74. package/lib/forms/bank/bank-account-properties.form.d.ts +8 -0
  75. package/lib/forms/bank/bank-account-property.form.d.ts +5 -0
  76. package/lib/forms/bank/bank-account.form.d.ts +21 -0
  77. package/lib/forms/bank/bank-login.form.d.ts +11 -0
  78. package/lib/forms/client/client-income-types.form.d.ts +1 -2
  79. package/lib/forms/index.d.ts +7 -0
  80. package/lib/forms/login/login.form.d.ts +4 -1
  81. package/lib/forms/register/register-client.form.d.ts +1 -1
  82. package/lib/forms/register/register-firm.form.d.ts +2 -2
  83. package/lib/forms/user/password.form.d.ts +4 -1
  84. package/lib/forms/user/reset-password.form.d.ts +3 -1
  85. package/lib/forms/vehicle/vehicle-claim.form.d.ts +1 -1
  86. package/lib/forms/vehicle/vehicle.form.d.ts +3 -7
  87. package/lib/interceptors/basiq.interceptor.d.ts +15 -0
  88. package/lib/interceptors/financial-year-interceptor.d.ts +2 -0
  89. package/lib/models/account-setup/account-setup-item.d.ts +2 -1
  90. package/lib/models/bank/bank-account-property.d.ts +1 -0
  91. package/lib/models/bank/bank-account.d.ts +2 -0
  92. package/lib/models/bank/bank-connection.d.ts +8 -1
  93. package/lib/models/bank/bank-login-data.d.ts +17 -0
  94. package/lib/models/bank/bank.d.ts +1 -0
  95. package/lib/models/client/client-portfolio-report.d.ts +2 -1
  96. package/lib/models/event/app-event-type.enum.d.ts +38 -36
  97. package/lib/models/loan/loan-payment.d.ts +2 -1
  98. package/lib/models/loan/loan.d.ts +0 -2
  99. package/lib/models/report/property/property-report-item.d.ts +2 -1
  100. package/lib/models/report/vehicle-expense/vehicle-expense.d.ts +2 -1
  101. package/lib/models/tax-summary/report-item-details.d.ts +2 -1
  102. package/lib/models/tax-summary/report-item.d.ts +2 -1
  103. package/lib/services/auth/auth.service.d.ts +13 -2
  104. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +13 -1
  105. package/lib/services/http/bank/basiq/basiq-connections-response.interface.d.ts +9 -0
  106. package/lib/services/http/bank/basiq/basiq-token-response.interface.d.ts +9 -0
  107. package/lib/services/http/bank/basiq/basiq-token.service.d.ts +17 -0
  108. package/lib/services/http/bank/basiq/basiq.service.d.ts +20 -11
  109. package/lib/services/http/rest/rest.service.d.ts +0 -5
  110. package/lib/services/http/user/user.service.d.ts +0 -1
  111. package/lib/validators/date-range.validator.d.ts +5 -0
  112. package/lib/validators/index.d.ts +1 -0
  113. package/lib/validators/password.validator.d.ts +6 -0
  114. package/lib/validators/require-autocomplete.d.ts +5 -0
  115. package/package.json +1 -1
  116. package/public-api.d.ts +6 -0
@@ -0,0 +1,7 @@
1
+ import { Collection } from './collection';
2
+ import { Bank } from '../models/bank/bank';
3
+ export declare class BankCollection extends Collection<Bank> {
4
+ static tobBanksIds: number[];
5
+ constructor(banks: Bank[]);
6
+ sortByPopularity(): void;
7
+ }
@@ -1,8 +1,9 @@
1
1
  import { Collection as BaseCollection } from './collection';
2
+ import { AbstractModel } from '../db/Models/abstract-model';
2
3
  /**
3
4
  * List of collections grouped by passed property
4
5
  */
5
- export declare class CollectionDictionary<Collection extends BaseCollection<object>> {
6
+ export declare class CollectionDictionary<Collection extends BaseCollection<AbstractModel>> {
6
7
  /**
7
8
  * List of grouped collections
8
9
  */
@@ -1,49 +1,36 @@
1
1
  import { CollectionDictionary } from './collection-dictionary';
2
+ import { AbstractModel } from '../db/Models/abstract-model';
2
3
  /**
3
4
  * Base collection class. Contains common properties and methods for all collections
4
5
  */
5
- export declare class Collection<Model extends object> implements Iterable<Model> {
6
+ export declare class Collection<Model extends AbstractModel> implements Iterable<Model> {
6
7
  items: Model[];
7
8
  constructor(items?: Model[]);
8
- create(items?: Model[]): this;
9
9
  /**
10
10
  * Iterator that allow to iterate collection items
11
11
  */
12
12
  [Symbol.iterator](): Iterator<Model>;
13
+ create(items?: Model[]): this;
14
+ get length(): number;
15
+ toArray(): Model[];
13
16
  get first(): Model;
14
17
  get last(): Model;
15
- push(item: Model): number;
16
- replaceBy(path: string, item: Model): this;
17
- removeBy(path: string, item: Model): this;
18
- toArray(): Model[];
19
- groupBy(path?: string): CollectionDictionary<Collection<Model>>;
20
- /**
21
- * @TODO remove and use dictionary instead
22
- */
23
- indexBy(path: string): object;
24
- /**
25
- * get collection length
26
- */
27
- get length(): number;
28
- /**
29
- * Get list of items ids
30
- */
31
18
  getIds(): number[];
32
- getBy(path: string, value: any): this;
33
- getByIds(ids: number[]): Model[];
34
- findBy(path: string, value: any): Model | null;
35
- findIndexBy(path: string, value: any): number;
19
+ sortBy(field?: string, isDesc?: boolean): void;
36
20
  /**
37
21
  * Get total sum of items by field
38
22
  */
39
23
  sumBy(path: string): number;
40
- /**
41
- * Filter items by specific provided callback
42
- */
43
- filter(callback: (item: Model) => boolean): Collection<Model>;
44
- /**
45
- * Sort collection items by provided field
46
- */
47
- sortBy(field?: string, isDesc?: boolean): void;
48
- getByDateRange(from: Date, to: Date, dateField?: string): this;
24
+ groupBy(path?: string): CollectionDictionary<Collection<Model>>;
25
+ indexBy(path: string): object;
26
+ filter(callback: (item: Model) => boolean): this;
27
+ filterBy(path: string, values: any): this;
28
+ filterByRange(path: string, from: any, to: any): this;
29
+ find(callback: (item: Model) => boolean): Model | null;
30
+ findBy(path: string, value: any): Model | null;
31
+ findIndexBy(path: string, value: any): number;
32
+ push(...items: Model[]): this;
33
+ replaceBy(path: string, value: any, item: Model): this;
34
+ remove(items: Model[]): this;
35
+ removeBy(path: string, value: any): this;
49
36
  }
@@ -1,7 +1,8 @@
1
1
  import { Collection } from './collection';
2
2
  import { ExportDataTable } from '../models/export/export-data-table';
3
3
  import { ExportCell } from '../models/export/export-cell';
4
- export declare abstract class ExportableCollection<Model extends object> extends Collection<Model> {
4
+ import { AbstractModel } from '../db/Models/abstract-model';
5
+ export declare abstract class ExportableCollection<Model extends AbstractModel> extends Collection<Model> {
5
6
  abstract getExportHeader(type?: string): string[];
6
7
  abstract getExportBody(type?: string): ExportCell[][];
7
8
  getExportFooter(type?: string): ExportCell[];
@@ -1,3 +1,4 @@
1
1
  export declare class AbstractModel {
2
+ id?: any;
2
3
  hasValue(value: any, path?: string): boolean;
3
4
  }
@@ -2,7 +2,11 @@ import { FinancialDataSystem } from './financial-data-system';
2
2
  import { AbstractModel } from '../abstract-model';
3
3
  export declare class Bank extends AbstractModel {
4
4
  name?: string;
5
+ shortName?: string;
5
6
  externalId?: string;
7
+ loginFields?: {
8
+ [key: string]: string;
9
+ };
6
10
  logo?: string;
7
11
  id?: number;
8
12
  deletedAt?: Date;
@@ -1,4 +1,19 @@
1
- import { FormGroup } from '@angular/forms';
2
- export declare abstract class AbstractForm extends FormGroup {
3
- submit(): object;
1
+ import { AbstractControl, AbstractControlOptions, AsyncValidatorFn, FormGroup, ValidatorFn } from '@angular/forms';
2
+ import { Type } from '@angular/core';
3
+ /**
4
+ * Abstract form class
5
+ */
6
+ export declare abstract class AbstractForm<Model> extends FormGroup {
7
+ protected modelClass: Type<Model>;
8
+ model: Model | object;
9
+ submitted: boolean;
10
+ protected constructor(controls: {
11
+ [key: string]: AbstractControl;
12
+ }, model?: Model | object, validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);
13
+ /**
14
+ * Check validation and return a new instance of generic model.
15
+ * Merge form value to initial object
16
+ * @param data Additional data object which be merged to form value
17
+ */
18
+ submit(data?: object): Model;
4
19
  }
@@ -0,0 +1,10 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { BankAccount } from '../../models/bank/bank-account';
3
+ import { BankConnection } from '../../models/bank/bank-connection';
4
+ /**
5
+ * Form is using for manual bank account creation (not Basiq), prepares bank account data for the next saving.
6
+ */
7
+ export declare class BankAccountAddManualForm extends AbstractForm<BankAccount> {
8
+ static accountNumberPattern: string;
9
+ constructor(connection: BankConnection);
10
+ }
@@ -0,0 +1,5 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { Loan } from '../../models/loan/loan';
3
+ export declare class BankAccountLoanForm extends AbstractForm<Loan> {
4
+ constructor(loan?: Loan);
5
+ }
@@ -0,0 +1,9 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ export declare class BankAccountMigrateForm extends AbstractForm<{
3
+ migrateFrom: Date;
4
+ migrateTo: Date;
5
+ }> {
6
+ static minDate: Date;
7
+ static maxDate: Date;
8
+ constructor();
9
+ }
@@ -0,0 +1,8 @@
1
+ import { FormArray } from '@angular/forms';
2
+ import { BankAccountProperty } from '../../models/bank/bank-account-property';
3
+ export declare class BankAccountPropertiesForm extends FormArray {
4
+ private isLoan;
5
+ private bankAccountProperties;
6
+ constructor(isLoan: boolean, bankAccountProperties?: BankAccountProperty[]);
7
+ add(): void;
8
+ }
@@ -0,0 +1,5 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { BankAccountProperty } from '../../models/bank/bank-account-property';
3
+ export declare class BankAccountPropertyForm extends AbstractForm<BankAccountProperty> {
4
+ constructor(isLoan: boolean, bankAccountProperty?: BankAccountProperty);
5
+ }
@@ -0,0 +1,21 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { BankAccount } from '../../models/bank/bank-account';
3
+ import { BankAccountPropertiesForm } from './bank-account-properties.form';
4
+ import { IEventListener } from '../../interfaces/event-listener.interface';
5
+ /**
6
+ * Form for additional data for bank accounts. Allow user to set tank type, loan and properties for new not-saved bank accounts.
7
+ * Works with manual and basiq bank accounts.
8
+ */
9
+ export declare class BankAccountForm extends AbstractForm<BankAccount> implements IEventListener {
10
+ private bankAccount;
11
+ constructor(bankAccount?: BankAccount);
12
+ listenEvents(): void;
13
+ get properties(): BankAccountPropertiesForm;
14
+ isLoan(): boolean;
15
+ isPropertyTank(): boolean;
16
+ private addPropertiesArray;
17
+ /**
18
+ * Add/Remove properties form array depending on selected tank type
19
+ */
20
+ private listenTankTypeChanges;
21
+ }
@@ -0,0 +1,11 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { BankConnection } from '../../models/bank/bank-connection';
3
+ import { BankLoginData } from '../../models/bank/bank-login-data';
4
+ /**
5
+ * Form with basiq bank login fields.
6
+ * https://api.basiq.io/v2.0/docs/build-your-own-1#step-3-create-a-connection
7
+ */
8
+ export declare class BankLoginForm extends AbstractForm<BankLoginData> {
9
+ private connection;
10
+ constructor(connection: BankConnection);
11
+ }
@@ -1,7 +1,6 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
2
  import { ClientIncomeTypes } from '../../models/client/client-income-types';
3
- export declare class ClientIncomeTypesForm extends AbstractForm {
3
+ export declare class ClientIncomeTypesForm extends AbstractForm<ClientIncomeTypes> {
4
4
  private clientIncomeTypes;
5
5
  constructor(clientIncomeTypes: ClientIncomeTypes);
6
- submit(): object;
7
6
  }
@@ -1,4 +1,11 @@
1
1
  export * from './abstract.form';
2
+ export * from './bank/bank-account.form';
3
+ export * from './bank/bank-account-loan.form';
4
+ export * from './bank/bank-account-add-manual.form';
5
+ export * from './bank/bank-account-migrate.form';
6
+ export * from './bank/bank-account-property.form';
7
+ export * from './bank/bank-account-properties.form';
8
+ export * from './bank/bank-login.form';
2
9
  export * from './client/client-income-types.form';
3
10
  export * from './login/login.form';
4
11
  export * from './register/register-client.form';
@@ -1,4 +1,7 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
- export declare class LoginForm extends AbstractForm {
2
+ export declare class LoginForm extends AbstractForm<{
3
+ email: string;
4
+ password: string;
5
+ }> {
3
6
  constructor();
4
7
  }
@@ -1,5 +1,5 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
- export declare class RegisterClientForm extends AbstractForm {
2
+ export declare class RegisterClientForm extends AbstractForm<object> {
3
3
  constructor(referenceCode?: string);
4
4
  submit(): object;
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
2
  import { FirmTypeEnum } from '../../db/Enums/firm-type.enum';
3
- export declare class RegisterFirmForm extends AbstractForm {
3
+ import { Firm } from '../../models/firm/firm';
4
+ export declare class RegisterFirmForm extends AbstractForm<Firm> {
4
5
  private firmType;
5
6
  constructor(firmType: FirmTypeEnum, referenceCode?: string);
6
- submit(): object;
7
7
  }
@@ -1,4 +1,7 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
- export declare class PasswordForm extends AbstractForm {
2
+ export declare class PasswordForm extends AbstractForm<{
3
+ password: string;
4
+ confirm: string;
5
+ }> {
3
6
  constructor();
4
7
  }
@@ -1,4 +1,6 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
- export declare class ResetPasswordForm extends AbstractForm {
2
+ export declare class ResetPasswordForm extends AbstractForm<{
3
+ email: string;
4
+ }> {
3
5
  constructor();
4
6
  }
@@ -1,7 +1,7 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
2
  import { VehicleClaim } from '../../models/logbook/vehicle-claim';
3
3
  import { VehicleLogbookCollection } from '../../collections/vehicle-logbook.collection';
4
- export declare class VehicleClaimForm extends AbstractForm {
4
+ export declare class VehicleClaimForm extends AbstractForm<VehicleClaim> {
5
5
  private vehicleClaim;
6
6
  private logbooks;
7
7
  constructor(vehicleClaim: VehicleClaim, logbooks: VehicleLogbookCollection);
@@ -1,11 +1,7 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
2
  import { Vehicle } from '../../models/logbook/vehicle';
3
- import { VehicleClaim } from '../../models/logbook/vehicle-claim';
4
- export declare class VehicleForm extends AbstractForm {
3
+ export declare class VehicleForm extends AbstractForm<Vehicle> {
5
4
  private vehicle;
6
- constructor(vehicle: Vehicle);
7
- /**
8
- * @TODO save model, add generics and handle it in AbstractForm
9
- */
10
- submit(): VehicleClaim;
5
+ static maxNameLength: number;
6
+ constructor(vehicle?: Vehicle);
11
7
  }
@@ -0,0 +1,15 @@
1
+ import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { BasiqTokenService } from '../services/http/bank/basiq/basiq-token.service';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Interceptor which adds user's basiq token to any http request to basiq api
7
+ */
8
+ export declare class BasiqInterceptor implements HttpInterceptor {
9
+ private basiqTokenService;
10
+ constructor(basiqTokenService: BasiqTokenService);
11
+ intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
12
+ private addToken;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<BasiqInterceptor, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<BasiqInterceptor>;
15
+ }
@@ -6,6 +6,8 @@ import * as i0 from "@angular/core";
6
6
  * @TODO now we can get current fin year from user on backend. So we can remove this interceptor
7
7
  */
8
8
  export declare class FinancialYearInterceptor implements HttpInterceptor {
9
+ private environment;
10
+ constructor(environment: any);
9
11
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<FinancialYearInterceptor, never>;
11
13
  static ɵprov: i0.ɵɵInjectableDeclaration<FinancialYearInterceptor>;
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Account setup item instance is using for account setup checklist
3
3
  */
4
- export declare class AccountSetupItem {
4
+ import { AbstractModel } from '../../db/Models/abstract-model';
5
+ export declare class AccountSetupItem extends AbstractModel {
5
6
  title: string;
6
7
  description: string;
7
8
  url: string;
@@ -2,4 +2,5 @@ import { BankAccountProperty as BankAccountPropertyBase } from '../../db/Models/
2
2
  import { Property } from '../property/property';
3
3
  export declare class BankAccountProperty extends BankAccountPropertyBase {
4
4
  property: Property;
5
+ percent: number;
5
6
  }
@@ -1,9 +1,11 @@
1
1
  import { BankAccount as BankAccountBase } from '../../db/Models/bank/bank-account';
2
+ import { BankAccountTypeEnum } from '../../db/Enums/bank-account-type.enum';
2
3
  import { Loan } from '../loan/loan';
3
4
  import { BankAccountBalance } from '../../db/Models/bank/bank-account-balance';
4
5
  import { BankAccountProperty } from './bank-account-property';
5
6
  import { BankConnection } from './bank-connection';
6
7
  export declare class BankAccount extends BankAccountBase {
8
+ static loanTypes: BankAccountTypeEnum[];
7
9
  bankAccountProperties: BankAccountProperty[];
8
10
  balances: BankAccountBalance[];
9
11
  loan: Loan;
@@ -7,5 +7,12 @@ export declare class BankConnection extends BankConnectionBase {
7
7
  /**
8
8
  * Check if status of connection is inactive (invalid)
9
9
  */
10
- isInactive(): boolean;
10
+ isInvalid(): boolean;
11
+ isPending(): boolean;
12
+ isActive(): boolean;
13
+ /**
14
+ * login required for new or disconnected external connections
15
+ */
16
+ isLoginRequired(): boolean;
17
+ setPending(): void;
11
18
  }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Login data object for basiq banks
3
+ */
4
+ export declare class BankLoginData {
5
+ /**
6
+ * Object with bank external id
7
+ */
8
+ institution: {
9
+ id: string;
10
+ };
11
+ /**
12
+ * Dynamic login data fields. These fields may be different for different banks
13
+ */
14
+ [key: string]: string | {
15
+ id: string;
16
+ };
17
+ }
@@ -1,6 +1,7 @@
1
1
  import { Bank as BankBase } from '../../db/Models/bank/bank';
2
2
  import { Photoable } from '../../interfaces/photoable';
3
3
  export declare class Bank extends BankBase implements Photoable {
4
+ logo: string;
4
5
  getInitials(): string;
5
6
  getPhoto(): string;
6
7
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Class describes client's portfolio report information
3
3
  */
4
- export declare class ClientPortfolioReport {
4
+ import { AbstractModel } from '../../db/Models/abstract-model';
5
+ export declare class ClientPortfolioReport extends AbstractModel {
5
6
  category: string;
6
7
  count: number;
7
8
  marketValue: number;
@@ -6,40 +6,42 @@ export declare enum AppEventTypeEnum {
6
6
  BANK_TRANSACTION_ALLOCATED = 4,
7
7
  BASIQ_CONSENT_UPDATED = 5,
8
8
  BASIQ_CONNECTION_UPDATED = 6,
9
- CLIENT_INVITE_ACCEPTED = 7,
10
- CLIENT_OPEN_CHAT = 8,
11
- CLIENT_TRANSFER_TO_OTHER_EMPLOYEE = 9,
12
- DEPRECIATION_DELETED = 10,
13
- DEPRECIATIONS_CREATED = 11,
14
- INCOME_SOURCES_CREATED = 12,
15
- INCOME_SOURCES_UPDATED = 13,
16
- INCOME_SOURCES_FORECASTS_CREATED = 14,
17
- INCOME_SOURCES_FORECASTS_UPDATED = 15,
18
- LOAN_UPDATED = 16,
19
- LOAN_PAYOUT_UPDATED = 17,
20
- MESSAGE_CREATED = 18,
21
- MESSAGE_FILE_CREATED = 19,
22
- MESSAGE_FILE_DELETED = 20,
23
- NOTIFICATION_ADDED = 21,
24
- PROPERTY_UPDATED_WITH_DOCUMENT = 22,
25
- PROPERTY_DOCUMENT_ADDED = 23,
26
- PROPERTY_MOVEMENT_CREATED = 24,
27
- PROPERTY_MOVEMENT_UPDATED = 25,
28
- PROPERTY_MOVEMENT_DELETED = 26,
29
- PROPERTY_SHARE_UPDATED = 27,
30
- PROPERTY_SUBSCRIPTION_ADDED = 28,
31
- PROPERTY_SUBSCRIPTION_DELETED = 29,
32
- PROPERTY_VALUATION_DOCUMENT_CREATED = 30,
33
- SERVICE_SUBSCRIPTION_UPDATED = 31,
34
- TAX_REVIEW_UPDATED = 32,
35
- TRANSACTION_CREATED = 33,
36
- TRANSACTION_DELETED = 34,
37
- TRANSACTION_UPDATED = 35,
38
- TRANSACTIONS_CREATED = 36,
39
- USER_UPDATED = 37,
40
- VEHICLE_CLAIM_UPDATED = 38,
41
- VEHICLE_CLAIM_CREATED = 39,
42
- VEHICLE_LOGBOOK_CREATED = 40,
43
- VEHICLE_LOGBOOK_UPDATED = 41,
44
- VEHICLE_LOGBOOK_DELETED = 42
9
+ BASIQ_JOB_CREATED = 7,
10
+ CLIENT_INVITE_ACCEPTED = 8,
11
+ CLIENT_OPEN_CHAT = 9,
12
+ CLIENT_TRANSFER_TO_OTHER_EMPLOYEE = 10,
13
+ CURRENT_USER_GET_FAILED = 11,
14
+ DEPRECIATION_DELETED = 12,
15
+ DEPRECIATIONS_CREATED = 13,
16
+ INCOME_SOURCES_CREATED = 14,
17
+ INCOME_SOURCES_UPDATED = 15,
18
+ INCOME_SOURCES_FORECASTS_CREATED = 16,
19
+ INCOME_SOURCES_FORECASTS_UPDATED = 17,
20
+ LOAN_UPDATED = 18,
21
+ LOAN_PAYOUT_UPDATED = 19,
22
+ MESSAGE_CREATED = 20,
23
+ MESSAGE_FILE_CREATED = 21,
24
+ MESSAGE_FILE_DELETED = 22,
25
+ NOTIFICATION_ADDED = 23,
26
+ PROPERTY_UPDATED_WITH_DOCUMENT = 24,
27
+ PROPERTY_DOCUMENT_ADDED = 25,
28
+ PROPERTY_MOVEMENT_CREATED = 26,
29
+ PROPERTY_MOVEMENT_UPDATED = 27,
30
+ PROPERTY_MOVEMENT_DELETED = 28,
31
+ PROPERTY_SHARE_UPDATED = 29,
32
+ PROPERTY_SUBSCRIPTION_ADDED = 30,
33
+ PROPERTY_SUBSCRIPTION_DELETED = 31,
34
+ PROPERTY_VALUATION_DOCUMENT_CREATED = 32,
35
+ SERVICE_SUBSCRIPTION_UPDATED = 33,
36
+ TAX_REVIEW_UPDATED = 34,
37
+ TRANSACTION_CREATED = 35,
38
+ TRANSACTION_DELETED = 36,
39
+ TRANSACTION_UPDATED = 37,
40
+ TRANSACTIONS_CREATED = 38,
41
+ USER_UPDATED = 39,
42
+ VEHICLE_CLAIM_UPDATED = 40,
43
+ VEHICLE_CLAIM_CREATED = 41,
44
+ VEHICLE_LOGBOOK_CREATED = 42,
45
+ VEHICLE_LOGBOOK_UPDATED = 43,
46
+ VEHICLE_LOGBOOK_DELETED = 44
45
47
  }
@@ -1,7 +1,8 @@
1
+ import { AbstractModel } from '../../db/Models/abstract-model';
1
2
  /**
2
3
  * Loan payment class
3
4
  */
4
- export declare class LoanPayment {
5
+ export declare class LoanPayment extends AbstractModel {
5
6
  date: Date;
6
7
  interestAccrued: number;
7
8
  interestBalance: number;
@@ -1,12 +1,10 @@
1
1
  import { Loan as LoanBase } from '../../db/Models/loan/loan';
2
- import { LoanRepaymentTypeEnum } from '../../db/Enums/loan-repayment-type.enum';
3
2
  import { LoanPayment } from './loan-payment';
4
3
  import { LoanPayout } from './loan-payout';
5
4
  export declare class Loan extends LoanBase {
6
5
  payments: LoanPayment[];
7
6
  commencementDate: Date;
8
7
  payout: LoanPayout;
9
- repaymentType: LoanRepaymentTypeEnum;
10
8
  currentBalance: number;
11
9
  /**
12
10
  * Check if loan type is related to LoanVehicleTypeEnum
@@ -1,9 +1,10 @@
1
1
  import { Property } from '../../property/property';
2
2
  import { ChartAccounts } from '../../chart-accounts/chart-accounts';
3
+ import { AbstractModel } from '../../../db/Models/abstract-model';
3
4
  /**
4
5
  * Class with property transactions report entities
5
6
  */
6
- export declare class PropertyReportItem {
7
+ export declare class PropertyReportItem extends AbstractModel {
7
8
  amount: number;
8
9
  description: string;
9
10
  /**
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Vehicle expense for logbook section
3
3
  */
4
- export declare class VehicleExpense {
4
+ import { AbstractModel } from '../../../db/Models/abstract-model';
5
+ export declare class VehicleExpense extends AbstractModel {
5
6
  description: string;
6
7
  amount: number;
7
8
  claimPercent: number;
@@ -1,11 +1,12 @@
1
1
  import { TaxReturnCategorySectionEnum } from '../../db/Enums/tax-return-category-section.enum';
2
+ import { AbstractModel } from '../../db/Models/abstract-model';
2
3
  /**
3
4
  * Used in tax summary reports to show specific details relating to an amount in the report.
4
5
  * See structure in ReportItem class.
5
6
  * Example an amount of $550 for property income could be comprised of 2 different property amounts of $300 and $250.
6
7
  * This is useful in providing drill-down information for the tax summary report.
7
8
  */
8
- export declare class ReportItemDetails {
9
+ export declare class ReportItemDetails extends AbstractModel {
9
10
  amount: number;
10
11
  name: string;
11
12
  type: number;
@@ -1,11 +1,12 @@
1
1
  import { TaxReturnCategory } from '../../db/Models/tax-return/tax-return-category';
2
2
  import { ReportItemDetails } from './report-item-details';
3
3
  import { ReportItemCollection } from '../../collections/tax-summary/report-item.collection';
4
+ import { AbstractModel } from '../../db/Models/abstract-model';
4
5
  /**
5
6
  * Used in tax summary reports to show amounts relating to a tax return category entity and details of what this
6
7
  * amount is comprised of. Example here shows an amount of $951.96 and also details of what this amount is comprised of:
7
8
  */
8
- export declare class ReportItem {
9
+ export declare class ReportItem extends AbstractModel {
9
10
  amount: number;
10
11
  details: ReportItemDetails[];
11
12
  taxReturnCategory: TaxReturnCategory;
@@ -1,13 +1,24 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import { JwtService } from './jwt.service';
4
+ import { IEventListener } from "../../interfaces/event-listener.interface";
5
+ import { EventDispatcherService } from "../event/event-dispatcher.service";
4
6
  import * as i0 from "@angular/core";
5
- export declare class AuthService {
7
+ export declare class AuthService implements IEventListener {
6
8
  private http;
7
9
  private jwtService;
10
+ private eventDispatcherService;
8
11
  private environment;
9
12
  isLoggedInSubject: BehaviorSubject<boolean>;
10
- constructor(http: HttpClient, jwtService: JwtService, environment: any);
13
+ constructor(http: HttpClient, jwtService: JwtService, eventDispatcherService: EventDispatcherService, environment: any);
14
+ /**
15
+ * Listen to Event Dispatcher events
16
+ */
17
+ listenEvents(): void;
18
+ /**
19
+ * User logout if failed current user get
20
+ */
21
+ listenUserGetFailed(): void;
11
22
  setAuth(response: any): void;
12
23
  login(username: string, password: string): import("rxjs").Observable<any>;
13
24
  refresh(refreshToken: string): import("rxjs").Observable<any>;