taxtank-core 1.0.25 → 1.0.27

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 (29) hide show
  1. package/README.md +5 -5
  2. package/fesm2022/taxtank-core-common.mjs.map +1 -1
  3. package/fesm2022/taxtank-core.mjs +211 -255
  4. package/fesm2022/taxtank-core.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/src/lib/collections/account-setup-item.collection.d.ts +1 -5
  7. package/src/lib/collections/bank-account.collection.d.ts +1 -1
  8. package/src/lib/collections/subscription/service-subscription.collection.d.ts +0 -2
  9. package/src/lib/db/Enums/client/timezone.enum.d.ts +4 -1
  10. package/src/lib/db/Enums/index.d.ts +0 -1
  11. package/src/lib/db/Enums/setup-item-type.enum.d.ts +2 -8
  12. package/src/lib/db/Models/property/property.d.ts +0 -1
  13. package/src/lib/db/Models/setup-item.d.ts +1 -4
  14. package/src/lib/models/account-setup/account-setup-item.d.ts +12 -5
  15. package/src/lib/models/account-setup/account-setup-items.enum.d.ts +11 -29
  16. package/src/lib/models/index.d.ts +0 -1
  17. package/src/lib/models/user/user.d.ts +1 -1
  18. package/src/lib/services/account-setup/account-setup.service.d.ts +14 -32
  19. package/src/lib/services/http/firm/firm.service.d.ts +4 -0
  20. package/src/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts +1 -2
  21. package/src/lib/services/http/rest/rest-old.service.d.ts +0 -1
  22. package/src/lib/services/http/rest/rest.service.d.ts +0 -1
  23. package/src/lib/services/http/setup-item/setup-item.service.d.ts +1 -1
  24. package/src/lib/services/http/transaction/index.d.ts +1 -0
  25. package/src/lib/services/http/transaction/invoice-transactions.service.d.ts +20 -0
  26. package/src/lib/services/http/transaction/transaction.service.d.ts +0 -1
  27. package/src/lib/services/http/user/user.service.d.ts +3 -4
  28. package/src/lib/models/account-setup/account-setup-item-status.enum.d.ts +0 -5
  29. package/src/lib/models/account-setup/index.d.ts +0 -3
@@ -4,8 +4,8 @@ import * as i1$1 from '@angular/common';
4
4
  import { formatDate, CommonModule, CurrencyPipe, DatePipe } from '@angular/common';
5
5
  import * as i1 from '@angular/common/http';
6
6
  import { HttpParams, HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
7
- import { map, catchError, mergeMap, filter, finalize, switchMap, first as first$1, startWith, debounceTime, distinctUntilChanged } from 'rxjs/operators';
8
- import { ReplaySubject, throwError, Subject, Observable, shareReplay, of, forkJoin, combineLatest, BehaviorSubject, from, merge as merge$1 } from 'rxjs';
7
+ import { map, catchError, mergeMap, filter, first as first$1, finalize, startWith, debounceTime, distinctUntilChanged } from 'rxjs/operators';
8
+ import { ReplaySubject, throwError, Subject, Observable, of, forkJoin, combineLatest, BehaviorSubject, from, merge as merge$1 } from 'rxjs';
9
9
  import { plainToClass, Type, Transform, Exclude, Expose, classToPlain } from 'class-transformer';
10
10
  import 'reflect-metadata';
11
11
  import { __decorate } from 'tslib';
@@ -33,8 +33,6 @@ import merge from 'lodash/merge';
33
33
  import * as i4 from '@angular/router';
34
34
  import { NavigationEnd } from '@angular/router';
35
35
  import _ from 'lodash';
36
- import remove from 'lodash/remove';
37
- import pick from 'lodash/pick';
38
36
  import { checkAdBlock } from 'adblock-checker';
39
37
  import { jsPDF } from 'jspdf';
40
38
  import { applyPlugin } from 'jspdf-autotable';
@@ -496,9 +494,6 @@ let Property$1 = class Property extends ObservableModel {
496
494
  this.corelogicLastRequest = null;
497
495
  }
498
496
  static { this.className = 'Property'; }
499
- get capitalCosts() {
500
- return this.legalFees + this.otherCapitalCosts + this.stampDuty;
501
- }
502
497
  };
503
498
  __decorate([
504
499
  Type(() => Number)
@@ -892,6 +887,9 @@ var TimezoneEnum;
892
887
  TimezoneEnum["ADELAIDE"] = "Australia/Adelaide";
893
888
  TimezoneEnum["SYDNEY"] = "Australia/Sydney";
894
889
  TimezoneEnum["LORD_HOWE"] = "Australia/Lord_Howe";
890
+ TimezoneEnum["VIC"] = "Australia/Melbourne";
891
+ TimezoneEnum["TAS"] = "Australia/Hobart";
892
+ TimezoneEnum["ACT"] = "Australia/Canberra";
895
893
  })(TimezoneEnum || (TimezoneEnum = {}));
896
894
 
897
895
  var AnnualFrequencyEnum;
@@ -1456,18 +1454,6 @@ var HomeOfficeClaimMethodEnum;
1456
1454
  HomeOfficeClaimMethodEnum[HomeOfficeClaimMethodEnum["OCCUPANCY"] = 3] = "OCCUPANCY";
1457
1455
  })(HomeOfficeClaimMethodEnum || (HomeOfficeClaimMethodEnum = {}));
1458
1456
 
1459
- var SetupItemTypeEnum;
1460
- (function (SetupItemTypeEnum) {
1461
- SetupItemTypeEnum[SetupItemTypeEnum["EMPLOYEE"] = 0] = "EMPLOYEE";
1462
- SetupItemTypeEnum[SetupItemTypeEnum["WORK"] = 1] = "WORK";
1463
- SetupItemTypeEnum[SetupItemTypeEnum["PROPERTIES"] = 2] = "PROPERTIES";
1464
- SetupItemTypeEnum[SetupItemTypeEnum["PROPERTY"] = 3] = "PROPERTY";
1465
- SetupItemTypeEnum[SetupItemTypeEnum["BUSINESS"] = 4] = "BUSINESS";
1466
- SetupItemTypeEnum[SetupItemTypeEnum["HOLDING"] = 5] = "HOLDING";
1467
- SetupItemTypeEnum[SetupItemTypeEnum["BANK_ACCOUNTS"] = 6] = "BANK_ACCOUNTS";
1468
- SetupItemTypeEnum[SetupItemTypeEnum["BANK_ACCOUNT"] = 7] = "BANK_ACCOUNT";
1469
- })(SetupItemTypeEnum || (SetupItemTypeEnum = {}));
1470
-
1471
1457
  /**
1472
1458
  * @TODO not used for now
1473
1459
  * Bank subclass, average bank response time for some operations in milliseconds
@@ -5381,72 +5367,61 @@ __decorate([
5381
5367
  class SetupItem extends AbstractModel {
5382
5368
  }
5383
5369
 
5384
- var AccountSetupItemStatusEnum;
5385
- (function (AccountSetupItemStatusEnum) {
5386
- AccountSetupItemStatusEnum[AccountSetupItemStatusEnum["PENDING"] = 1] = "PENDING";
5387
- AccountSetupItemStatusEnum[AccountSetupItemStatusEnum["ACHIEVED"] = 2] = "ACHIEVED";
5388
- AccountSetupItemStatusEnum[AccountSetupItemStatusEnum["SKIPPED"] = 3] = "SKIPPED";
5389
- })(AccountSetupItemStatusEnum || (AccountSetupItemStatusEnum = {}));
5390
-
5391
- class AccountSetupItem extends SetupItem {
5392
- get isPending() {
5393
- return this.status === AccountSetupItemStatusEnum.PENDING;
5394
- }
5395
- get isAchieved() {
5396
- return this.status === AccountSetupItemStatusEnum.SKIPPED;
5397
- }
5398
- get isCompleted() {
5399
- return [AccountSetupItemStatusEnum.ACHIEVED, AccountSetupItemStatusEnum.SKIPPED].includes(this.status);
5400
- }
5401
- get isSkipped() {
5402
- return this.status === AccountSetupItemStatusEnum.SKIPPED;
5403
- }
5404
- }
5405
-
5406
5370
  /**
5407
- * TODO remove
5371
+ * Enum list of all possible account setup items ids. Using with [ACCOUNT_SETUP_ITEMS]{@link ACCOUNT_SETUP_ITEMS}
5372
+ * @TODO Vik/Nikita: Do we need to generate it from backend? If some ids changed?
5408
5373
  */
5409
5374
  var AccountSetupItemsEnum;
5410
5375
  (function (AccountSetupItemsEnum) {
5411
- // firm
5412
- AccountSetupItemsEnum[AccountSetupItemsEnum["FIRM_DETAILS"] = 9] = "FIRM_DETAILS";
5413
- AccountSetupItemsEnum[AccountSetupItemsEnum["FIRM_EMPLOYEES"] = 10] = "FIRM_EMPLOYEES";
5414
- AccountSetupItemsEnum[AccountSetupItemsEnum["FIRM_CLIENTS"] = 11] = "FIRM_CLIENTS";
5415
- // work
5416
- AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_SALARY"] = 1] = "WORK_SALARY";
5417
- AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_OTHER_INCOME"] = 2] = "WORK_OTHER_INCOME";
5418
- AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_VEHICLE_CLAIM"] = 5] = "WORK_VEHICLE_CLAIM";
5419
- AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_HOME_OFFICE"] = 13] = "WORK_HOME_OFFICE";
5420
- AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_BANK_ACCOUNT"] = 14] = "WORK_BANK_ACCOUNT";
5421
- AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_DEPRECIATION"] = 15] = "WORK_DEPRECIATION";
5422
- // properties
5376
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SALARY"] = 1] = "SALARY";
5377
+ AccountSetupItemsEnum[AccountSetupItemsEnum["OTHER_INCOME"] = 2] = "OTHER_INCOME";
5423
5378
  AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY"] = 3] = "PROPERTY";
5424
- AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTIES"] = 29] = "PROPERTIES";
5425
- AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTIES_BANK_ACCOUNT"] = 30] = "PROPERTIES_BANK_ACCOUNT";
5426
- // property
5427
- AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY_CAPITAL_COST"] = 17] = "PROPERTY_CAPITAL_COST";
5428
- AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY_RENT_INCOME"] = 18] = "PROPERTY_RENT_INCOME";
5429
- AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY_DEPRECIATION"] = 19] = "PROPERTY_DEPRECIATION";
5430
- AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY_CO_OWNER"] = 20] = "PROPERTY_CO_OWNER";
5431
- // sole
5379
+ AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_FEEDS"] = 4] = "BANK_FEEDS";
5380
+ AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_LOGBOOK"] = 5] = "WORK_LOGBOOK";
5381
+ AccountSetupItemsEnum[AccountSetupItemsEnum["TRANSACTION_ALLOCATE"] = 6] = "TRANSACTION_ALLOCATE";
5432
5382
  AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BUSINESS"] = 7] = "SOLE_BUSINESS";
5433
- AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BUSINESSES"] = 33] = "SOLE_BUSINESSES";
5434
- AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_VEHICLE_CLAIM"] = 12] = "SOLE_VEHICLE_CLAIM";
5435
- AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_HOME_OFFICE"] = 21] = "SOLE_HOME_OFFICE";
5436
- AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_DEPRECIATION"] = 22] = "SOLE_DEPRECIATION";
5437
- AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BANK_ACCOUNT"] = 23] = "SOLE_BANK_ACCOUNT";
5438
- // holding
5439
- AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDING_TRADE"] = 8] = "HOLDING_TRADE";
5440
- AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDING_INTEGRATION"] = 25] = "HOLDING_INTEGRATION";
5441
- AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDING_REPORTS"] = 36] = "HOLDING_REPORTS";
5442
- // bank accounts
5443
- AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_CONNECTION"] = 4] = "BANK_CONNECTION";
5444
- AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_ACCOUNT"] = 26] = "BANK_ACCOUNT";
5445
- AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_ALLOCATION"] = 6] = "BANK_ALLOCATION";
5446
- AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_RULE"] = 27] = "BANK_RULE";
5447
- AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_BORROWING_EXPENSE"] = 28] = "BANK_BORROWING_EXPENSE";
5383
+ AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDINGS"] = 8] = "HOLDINGS";
5384
+ AccountSetupItemsEnum[AccountSetupItemsEnum["FIRM_DETAILS"] = 9] = "FIRM_DETAILS";
5385
+ AccountSetupItemsEnum[AccountSetupItemsEnum["INVITE_TEAM"] = 10] = "INVITE_TEAM";
5386
+ AccountSetupItemsEnum[AccountSetupItemsEnum["INVITE_CLIENTS"] = 11] = "INVITE_CLIENTS";
5448
5387
  })(AccountSetupItemsEnum || (AccountSetupItemsEnum = {}));
5449
5388
 
5389
+ class AccountSetupItem extends SetupItem {
5390
+ get isSalary() {
5391
+ return this.id === AccountSetupItemsEnum.SALARY;
5392
+ }
5393
+ get isOtherIncome() {
5394
+ return this.id === AccountSetupItemsEnum.OTHER_INCOME;
5395
+ }
5396
+ get isProperty() {
5397
+ return this.id === AccountSetupItemsEnum.PROPERTY;
5398
+ }
5399
+ get isBankFeeds() {
5400
+ return this.id === AccountSetupItemsEnum.BANK_FEEDS;
5401
+ }
5402
+ get isWorkLogbook() {
5403
+ return this.id === AccountSetupItemsEnum.WORK_LOGBOOK;
5404
+ }
5405
+ get isTransactionAllocate() {
5406
+ return this.id === AccountSetupItemsEnum.TRANSACTION_ALLOCATE;
5407
+ }
5408
+ get isSoleBusiness() {
5409
+ return this.id === AccountSetupItemsEnum.SOLE_BUSINESS;
5410
+ }
5411
+ get isHoldings() {
5412
+ return this.id === AccountSetupItemsEnum.HOLDINGS;
5413
+ }
5414
+ get isFirmDetails() {
5415
+ return this.id === AccountSetupItemsEnum.FIRM_DETAILS;
5416
+ }
5417
+ get isInviteTeam() {
5418
+ return this.id === AccountSetupItemsEnum.INVITE_TEAM;
5419
+ }
5420
+ get isInviteClients() {
5421
+ return this.id === AccountSetupItemsEnum.INVITE_CLIENTS;
5422
+ }
5423
+ }
5424
+
5450
5425
  class User extends User$1 {
5451
5426
  constructor() {
5452
5427
  super(...arguments);
@@ -8558,9 +8533,6 @@ class ServiceSubscriptionCollection extends Collection {
8558
8533
  getPaid() {
8559
8534
  return this.filter((subscription) => !!subscription.stripeId);
8560
8535
  }
8561
- getRoles() {
8562
- return this.items.flatMap((subscription) => subscription.roles);
8563
- }
8564
8536
  getActivePaid() {
8565
8537
  return this.getActive().find((subscription) => !!subscription.stripeId);
8566
8538
  }
@@ -8587,9 +8559,6 @@ class ServiceSubscriptionCollection extends Collection {
8587
8559
  filterByRole(role) {
8588
8560
  return this.filter((subscription) => subscription.roles.includes(role));
8589
8561
  }
8590
- findByRole(role) {
8591
- return this.filterByRole(role).first;
8592
- }
8593
8562
  hasPropertyTank() {
8594
8563
  return !!this.getItems().propertiesItem;
8595
8564
  }
@@ -8995,25 +8964,11 @@ class AllocationRuleCollection extends Collection {
8995
8964
  class AccountSetupItemCollection extends Collection {
8996
8965
  constructor(items) {
8997
8966
  super(compact(items));
8998
- this.sortBy('status', 'asc');
8967
+ this.sortBy('isCompleted', 'asc');
8999
8968
  }
9000
8969
  isCompleted() {
9001
8970
  return this.filterBy('isCompleted', true).length === this.length;
9002
8971
  }
9003
- getByUser(user) {
9004
- return this.filter(item => user.hasRoles(item.roles));
9005
- }
9006
- getScore() {
9007
- return this.sumBy('score');
9008
- }
9009
- setUrlId(id) {
9010
- this.items.forEach(item => {
9011
- if (!item.url.includes(':id')) {
9012
- return;
9013
- }
9014
- item.url = item.url.replace(':id', id);
9015
- });
9016
- }
9017
8972
  }
9018
8973
 
9019
8974
  /**
@@ -9073,7 +9028,7 @@ class BankAccountCollection extends Collection {
9073
9028
  * Get Collection of bank accounts by tank type
9074
9029
  */
9075
9030
  getByTankType(tankType) {
9076
- return new BankAccountCollection(tankType ? this.items.filter((bankAccount) => bankAccount.tankType === tankType) : this.items);
9031
+ return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.tankType === tankType));
9077
9032
  }
9078
9033
  /**
9079
9034
  * Get list of all bank account properties
@@ -11600,9 +11555,8 @@ let RestService$1 = class RestService extends DataService {
11600
11555
  * Refresh cache with actual backend data
11601
11556
  */
11602
11557
  refreshCache() {
11603
- // todo why not fetch?
11604
11558
  this.cache = undefined;
11605
- this.get().subscribe();
11559
+ this.get();
11606
11560
  }
11607
11561
  /**
11608
11562
  * perform a shallow copy of the emitted data to make it immutable
@@ -11614,17 +11568,17 @@ let RestService$1 = class RestService extends DataService {
11614
11568
  * Get data from backend and fill the cache
11615
11569
  */
11616
11570
  fetch(path = this.apiUrl, cache = true, queryParams = {}) {
11617
- if (this.inFlight$) {
11618
- return this.inFlight$;
11571
+ if (cache) {
11572
+ // Set cache as empty collection to avoid multiple requests before cache filled
11573
+ this.setCache([]);
11619
11574
  }
11620
- this.inFlight$ = this.http.get(path, queryParams)
11575
+ return this.http.get(path, queryParams)
11621
11576
  .pipe(map((response) => Array.isArray(response) ? response : toArray(response)), map((response) => {
11622
11577
  if (cache) {
11623
11578
  this.setCache(response, true);
11624
11579
  }
11625
11580
  return this.createCollectionInstance(this.collectionClass, response);
11626
- }), catchError((error) => this.handleError(error)), finalize(() => this.inFlight$ = null), shareReplay({ bufferSize: 1, refCount: true }));
11627
- return this.inFlight$;
11581
+ }), catchError((error) => this.handleError(error)));
11628
11582
  }
11629
11583
  fetchFirst(queryParams = {}) {
11630
11584
  return this.fetch(this.apiUrl, false, { params: queryParams })
@@ -11633,11 +11587,10 @@ let RestService$1 = class RestService extends DataService {
11633
11587
  get(path = this.apiUrl) {
11634
11588
  this.handleAccessError('get');
11635
11589
  if (!this.hasRoles()) {
11636
- // @TODO it completes observable and doesn't watch anymore
11637
11590
  return of(this.createCollectionInstance(this.collectionClass, []));
11638
11591
  }
11639
11592
  if (!this.cache) {
11640
- return this.fetch(path).pipe(switchMap(() => this.getCacheSubjectObservable()));
11593
+ this.fetch(path).pipe(first$1()).subscribe();
11641
11594
  }
11642
11595
  return this.getCacheSubjectObservable();
11643
11596
  }
@@ -13432,17 +13385,22 @@ class FirmService {
13432
13385
  this.environment = environment;
13433
13386
  this.firmSubject = new ReplaySubject(1);
13434
13387
  }
13388
+ /**
13389
+ * Register new firm
13390
+ * @param data: firm and firm owner data to register
13391
+ */
13435
13392
  register(data) {
13436
13393
  return this.http.post(`${this.environment.apiV2}/firms/registration`, data)
13437
13394
  .pipe(map((firm) => plainToClass(Firm, firm)));
13438
13395
  }
13439
13396
  get() {
13440
13397
  if (!this.firm) {
13441
- return this.http.get(`${this.environment.apiV2}/firms/current`).pipe(map((firm) => {
13442
- this.firm = plainToClass(Firm, firm);
13398
+ this.http.get(`${this.environment.apiV2}/firms/current`)
13399
+ .pipe(map((firm) => plainToClass(Firm, firm)))
13400
+ .subscribe((firm) => {
13401
+ this.firm = firm;
13443
13402
  this.firmSubject.next(this.firm);
13444
- return this.firm;
13445
- }), switchMap(() => this.firmSubject.asObservable()));
13403
+ });
13446
13404
  }
13447
13405
  return this.firmSubject.asObservable();
13448
13406
  }
@@ -13527,25 +13485,24 @@ class RestService {
13527
13485
  * get list of base class instances directly from backend
13528
13486
  */
13529
13487
  fetch(path = this.apiUrl, cache = true, params = {}) {
13530
- if (this.inFlight$) {
13531
- return this.inFlight$;
13488
+ if (cache) {
13489
+ this.setCache([]);
13532
13490
  }
13533
- this.inFlight$ = this.http.get(path, { params: params })
13491
+ return this.http.get(path, { params: params })
13534
13492
  .pipe(map((response) => {
13535
13493
  const items = response.map((item) => this.createModelInstance(item));
13536
13494
  if (cache) {
13537
13495
  this.setCache(items, true);
13538
13496
  }
13539
13497
  return items;
13540
- }), finalize(() => this.inFlight$ = null), shareReplay({ bufferSize: 1, refCount: true }));
13541
- return this.inFlight$;
13498
+ }));
13542
13499
  }
13543
13500
  /**
13544
13501
  * get cached list of all instances
13545
13502
  */
13546
13503
  get(path = this.apiUrl) {
13547
13504
  if (!this.cache) {
13548
- return this.fetch(path).pipe(first$1(), switchMap(() => this.getCacheSubjectObservable()));
13505
+ this.fetch(path).pipe(first$1()).subscribe();
13549
13506
  }
13550
13507
  return this.getCacheSubjectObservable();
13551
13508
  }
@@ -13694,7 +13651,7 @@ class RestService {
13694
13651
  */
13695
13652
  refreshCache() {
13696
13653
  this.setCache(undefined);
13697
- this.get().subscribe();
13654
+ this.get();
13698
13655
  }
13699
13656
  setCache(data, next = false) {
13700
13657
  this.cache = data;
@@ -15894,9 +15851,6 @@ class TransactionService extends RestService {
15894
15851
  get(path = this.apiUrl) {
15895
15852
  return super.get(path).pipe(map(transactions => this.groupByParent(transactions)));
15896
15853
  }
15897
- getCurrentYear() {
15898
- return super.get().pipe(map((transactions) => new TransactionCollection(transactions).filterByFinancialYear('date').toArray()));
15899
- }
15900
15854
  /**
15901
15855
  * Add single new transaction
15902
15856
  * @param model New Transaction instance for saving
@@ -15914,15 +15868,13 @@ class TransactionService extends RestService {
15914
15868
  * get transactions related with property
15915
15869
  */
15916
15870
  getByPropertyId(propertyId) {
15917
- return this.getCurrentYear()
15918
- .pipe(map((transactions) => transactions.filter((transaction) => transaction.property?.id === propertyId)));
15871
+ return this.get().pipe(map((transactions) => transactions.filter((transaction) => transaction.property?.id === propertyId)));
15919
15872
  }
15920
15873
  /**
15921
15874
  * get list of transactions with tank type 'Work'
15922
15875
  */
15923
15876
  getWorkTransactions() {
15924
- return this.getCurrentYear()
15925
- .pipe(map((transactions) => transactions.filter((transaction) => transaction.isWorkTank())));
15877
+ return this.get().pipe(map((transactions) => transactions.filter((transaction) => transaction.isWorkTank())));
15926
15878
  }
15927
15879
  /**
15928
15880
  * Get list of property holding costs (transactions related to vacant land property)
@@ -16150,6 +16102,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
16150
16102
  }]
16151
16103
  }] });
16152
16104
 
16105
+ /**
16106
+ * invoice-related transactions from all years except the current user's financialYear
16107
+ * invoices can be paid through different years and require transactions from all years
16108
+ * we exclude the current year to optimize performance
16109
+ * (no need to update cache in this service, cause only current year transactions can be changed)
16110
+ * (we take the current year from TransactionService)
16111
+ */
16112
+ class InvoiceTransactionsService extends RestService$1 {
16113
+ constructor() {
16114
+ super(...arguments);
16115
+ this.modelClass = Transaction;
16116
+ this.collectionClass = TransactionCollection;
16117
+ this.endpointUri = 'invoices/transactions';
16118
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
16119
+ }
16120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: InvoiceTransactionsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
16121
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: InvoiceTransactionsService, providedIn: 'root' }); }
16122
+ }
16123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: InvoiceTransactionsService, decorators: [{
16124
+ type: Injectable,
16125
+ args: [{
16126
+ providedIn: 'root'
16127
+ }]
16128
+ }] });
16129
+
16153
16130
  // @TODO Artem: implement cache and extend rest?
16154
16131
  class YoutubeService {
16155
16132
  static { this.googleUrl = `https://www.googleapis.com/youtube/v3/playlistItems?part=snippet`; }
@@ -16555,7 +16532,7 @@ class UserService extends RestService$1 {
16555
16532
  localStorage.setItem('userId', this.getCacheFirst().id.toString());
16556
16533
  localStorage.setItem('financialYear', this.getCacheFirst().financialYear.toString());
16557
16534
  localStorage.setItem('roles', JSON.stringify(this.getCacheFirst().roles));
16558
- // localStorage.setItem('timezone', JSON.stringify(this.getCacheFirst().clientDetails.timezone));
16535
+ // localStorage.setItem('timeZone', this.getCacheFirst().clientDetails?.timezone);
16559
16536
  return users;
16560
16537
  }));
16561
16538
  }
@@ -16604,14 +16581,6 @@ class UserService extends RestService$1 {
16604
16581
  this.setCache([Object.assign(this.getCacheFirst(), { photo: photoUrl })], true);
16605
16582
  }));
16606
16583
  }
16607
- addRoles(roles = []) {
16608
- const user = this.getCacheFirst();
16609
- if (!user) {
16610
- return;
16611
- }
16612
- user.roles = [...new Set([...user.roles || [], ...roles])];
16613
- this.setCache([user], true);
16614
- }
16615
16584
  createBasiq() {
16616
16585
  return this.http.post(`${this.environment.apiV2}/basiq/user`, {})
16617
16586
  .pipe(map((basiqId) => {
@@ -16624,18 +16593,15 @@ class UserService extends RestService$1 {
16624
16593
  user.blacklistSetupItems.push(item);
16625
16594
  return this.put(user);
16626
16595
  }
16627
- restoreSetupItem(item) {
16628
- const user = clone(this.getCacheFirst());
16629
- remove(user.blacklistSetupItems, (i) => i.id === item.id);
16630
- return this.put(user);
16631
- }
16632
16596
  /**
16633
16597
  * Update cache when user's service subscription is updated
16634
16598
  */
16635
16599
  listenServiceSubscriptionUpdated() {
16636
- this.listenCSE(ServiceSubscription, (subscriptions) => {
16637
- const subscriptionCollection = new ServiceSubscriptionCollection(subscriptions);
16638
- this.addRoles(subscriptionCollection.getRoles());
16600
+ this.listenCSE(ServiceSubscription, (response) => {
16601
+ // @TODO vik test and remove
16602
+ setTimeout(() => {
16603
+ this.refreshCache();
16604
+ }, 2000);
16639
16605
  }, ['post', 'put']);
16640
16606
  }
16641
16607
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: UserService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -19260,6 +19226,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19260
19226
  }]
19261
19227
  }], ctorParameters: () => [] });
19262
19228
 
19229
+ var SetupItemTypeEnum;
19230
+ (function (SetupItemTypeEnum) {
19231
+ SetupItemTypeEnum[SetupItemTypeEnum["CLIENT"] = 1] = "CLIENT";
19232
+ SetupItemTypeEnum[SetupItemTypeEnum["EMPLOYEE"] = 2] = "EMPLOYEE";
19233
+ })(SetupItemTypeEnum || (SetupItemTypeEnum = {}));
19234
+
19263
19235
  class SetupItemService extends RestService$1 {
19264
19236
  constructor() {
19265
19237
  super(...arguments);
@@ -19283,19 +19255,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19283
19255
  * Checks required steps and their completion
19284
19256
  */
19285
19257
  class AccountSetupService {
19286
- constructor(setupItemService, propertyService, incomeSourceService, bankConnectionService, bankAccountsService, loanService, allocationRuleService, transactionAllocationService, vehicleClaimService, homeOfficeClaimService, transactionService, depreciationService, soleBusinessService, holdingService, userService, clientMovementService, clientInviteService, employeeService, employeeInviteService, firmService, sharesightDetailsService, propertyShareService) {
19258
+ constructor(setupItemService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService, userService, clientMovementService, clientInviteService, employeeService, employeeInviteService, firmService) {
19287
19259
  this.setupItemService = setupItemService;
19288
19260
  this.propertyService = propertyService;
19289
19261
  this.incomeSourceService = incomeSourceService;
19290
- this.bankConnectionService = bankConnectionService;
19291
19262
  this.bankAccountsService = bankAccountsService;
19292
- this.loanService = loanService;
19293
- this.allocationRuleService = allocationRuleService;
19294
19263
  this.transactionAllocationService = transactionAllocationService;
19295
19264
  this.vehicleClaimService = vehicleClaimService;
19296
- this.homeOfficeClaimService = homeOfficeClaimService;
19297
19265
  this.transactionService = transactionService;
19298
- this.depreciationService = depreciationService;
19299
19266
  this.soleBusinessService = soleBusinessService;
19300
19267
  this.holdingService = holdingService;
19301
19268
  this.userService = userService;
@@ -19304,110 +19271,101 @@ class AccountSetupService {
19304
19271
  this.employeeService = employeeService;
19305
19272
  this.employeeInviteService = employeeInviteService;
19306
19273
  this.firmService = firmService;
19307
- this.sharesightDetailsService = sharesightDetailsService;
19308
- this.propertyShareService = propertyShareService;
19309
19274
  }
19310
19275
  /**
19311
19276
  * Get list of account setup items for current user/firm
19312
19277
  */
19313
- get(property) {
19314
- // @TODO it takes time for user to update, makes sense to subscribe to serviceSubscription instead
19315
- return combineLatest([this.setupItemService.get(), this.userService.getFirst()]).pipe(switchMap(([items, user]) => {
19278
+ get(type) {
19279
+ return combineLatest([
19280
+ this.setupItemService.get(),
19281
+ this.userService.getFirst()
19282
+ ])
19283
+ .pipe(mergeMap(([items, user]) => {
19284
+ this.items = items;
19316
19285
  this.user = user;
19317
- this.items = items.getByUser(user);
19318
- return this.setItemsStatus(property);
19286
+ return type === SetupItemTypeEnum.CLIENT ? this.getClientItems$() : this.getFirmItems$();
19319
19287
  }));
19320
19288
  }
19321
- setItemsStatus(property) {
19322
- const itemsById = this.items.indexBy('id');
19323
- const requests = pick({
19324
- // firm
19325
- [AccountSetupItemsEnum.FIRM_DETAILS]: this.getFirms(),
19326
- [AccountSetupItemsEnum.FIRM_EMPLOYEES]: this.getEmployees(),
19327
- [AccountSetupItemsEnum.FIRM_CLIENTS]: this.getClients(),
19328
- // work
19329
- [AccountSetupItemsEnum.WORK_SALARY]: this.getIncomeSources(true),
19330
- [AccountSetupItemsEnum.WORK_OTHER_INCOME]: this.getIncomeSources(false),
19331
- [AccountSetupItemsEnum.WORK_VEHICLE_CLAIM]: this.getVehicleClaims(false),
19332
- [AccountSetupItemsEnum.WORK_HOME_OFFICE]: this.getHomeOfficeClaims(false),
19333
- [AccountSetupItemsEnum.WORK_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.WORK),
19334
- [AccountSetupItemsEnum.WORK_DEPRECIATION]: this.getDepreciations(TankTypeEnum.WORK),
19335
- // properties
19336
- [AccountSetupItemsEnum.PROPERTY]: this.propertyService.getArray(),
19337
- [AccountSetupItemsEnum.PROPERTIES]: this.propertyService.getArray().pipe(map(properties => properties.slice(1))),
19338
- [AccountSetupItemsEnum.PROPERTIES_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.PROPERTY),
19339
- // sole
19340
- [AccountSetupItemsEnum.SOLE_BUSINESS]: this.soleBusinessService.getArray(),
19341
- [AccountSetupItemsEnum.SOLE_BUSINESSES]: this.soleBusinessService.getArray().pipe(map(businesses => businesses.slice(1))),
19342
- [AccountSetupItemsEnum.SOLE_VEHICLE_CLAIM]: this.getVehicleClaims(true),
19343
- [AccountSetupItemsEnum.SOLE_HOME_OFFICE]: this.getHomeOfficeClaims(true),
19344
- [AccountSetupItemsEnum.SOLE_DEPRECIATION]: this.getDepreciations(TankTypeEnum.SOLE),
19345
- [AccountSetupItemsEnum.SOLE_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.SOLE),
19346
- // holding
19347
- [AccountSetupItemsEnum.HOLDING_TRADE]: this.holdingService.getArray(),
19348
- [AccountSetupItemsEnum.HOLDING_INTEGRATION]: this.getSharesightDetails(true),
19349
- // bankAccount
19350
- [AccountSetupItemsEnum.BANK_CONNECTION]: this.bankConnectionService.getArray(),
19351
- [AccountSetupItemsEnum.BANK_ACCOUNT]: this.getBankAccounts(),
19352
- [AccountSetupItemsEnum.BANK_ALLOCATION]: this.transactionAllocationService.get(),
19353
- [AccountSetupItemsEnum.BANK_RULE]: this.allocationRuleService.getArray(),
19354
- [AccountSetupItemsEnum.BANK_BORROWING_EXPENSE]: this.getBorrowingExpenses(),
19355
- }, this.items.getIds());
19356
- // property
19357
- if (property) {
19358
- requests[AccountSetupItemsEnum.PROPERTY_CAPITAL_COST] = this.getProperties(property).pipe(map(properties => properties.filter(property => !!property.capitalCosts)));
19359
- requests[AccountSetupItemsEnum.PROPERTY_RENT_INCOME] = this.getTransactions(property).pipe(map(transactions => new TransactionCollection(transactions).filterBy('chartAccounts.id', ChartAccountsListEnum.RENTAL_INCOME)));
19360
- requests[AccountSetupItemsEnum.PROPERTY_DEPRECIATION] = this.getDepreciations(TankTypeEnum.PROPERTY, property);
19361
- requests[AccountSetupItemsEnum.PROPERTY_CO_OWNER] = this.getCoOwners(property);
19362
- }
19363
- const batch = Object.keys(requests).map(id => this.setItemStatus(itemsById.get(id), requests[id]));
19364
- if (!batch.length) {
19365
- return of(new AccountSetupItemCollection([]));
19289
+ getClientItems$() {
19290
+ const batch = [];
19291
+ if (this.user.hasRoles(UserRolesEnum.WORK_TANK)) {
19292
+ batch.push(
19293
+ // Salary item is completed when user added salary income source
19294
+ this.setItemStatus(this.items.findBy('isSalary', true), this.getIncomeSources(true)),
19295
+ // Other income is a part of work tank, completed when user added at least one other income source
19296
+ this.setItemStatus(this.items.findBy('isOtherIncome', true), this.getIncomeSources()));
19297
+ }
19298
+ // Rental income item is completed when user added at least one property
19299
+ if (this.user.hasRoles(UserRolesEnum.PROPERTY_TANK)) {
19300
+ batch.push(this.setItemStatus(this.items.findBy('isProperty', true), this.propertyService.getArray()));
19301
+ }
19302
+ // Sole business item is completed when user added at least one business
19303
+ if (this.user.hasRoles(UserRolesEnum.SOLE_TANK)) {
19304
+ batch.push(this.setItemStatus(this.items.findBy('isSoleBusiness', true), this.soleBusinessService.getArray()));
19305
+ }
19306
+ // holdings item is completed when user added at least one holding
19307
+ if (this.user.hasRoles(UserRolesEnum.HOLDING_TANK)) {
19308
+ batch.push(this.setItemStatus(this.items.findBy('isHoldings', true), this.holdingService.getArray()));
19309
+ }
19310
+ if (this.user.hasRoles([UserRolesEnum.WORK_TANK, UserRolesEnum.PROPERTY_TANK, UserRolesEnum.SOLE_TANK])) {
19311
+ // Bank feeds item is completed when user added at least one bank account (basiq or manual)
19312
+ batch.push(this.getBankFeedsItem());
19313
+ // Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
19314
+ batch.push(this.getLogbookItem());
19315
+ // Allocation item is completed when user added at least one transaction allocation
19316
+ batch.push(this.setItemStatus(this.items.findBy('isTransactionAllocate', true), this.transactionAllocationService.get()));
19366
19317
  }
19367
19318
  return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
19368
19319
  }
19320
+ getFirmItems$() {
19321
+ const batch = [];
19322
+ batch.push(
19323
+ // Firm Details item is completed when user filled some general information
19324
+ this.firmService.get().pipe(map((firm) => {
19325
+ const item = this.items.findBy('isFirmDetails', true);
19326
+ if (firm.address || firm.phone || firm.file || firm.shortName) {
19327
+ item.isCompleted = true;
19328
+ }
19329
+ return item;
19330
+ })));
19331
+ batch.push(
19332
+ // Invite team item is completed when firm has employees except firm owner or firm has invited employees.
19333
+ this.setItemStatus(this.items.findBy('isInviteTeam', true), combineLatest([
19334
+ this.employeeService.getArray(),
19335
+ this.employeeInviteService.getArray()
19336
+ ]).pipe(map(([employees, invites]) => {
19337
+ // we always have at least 1 employee (firm owner), so we should check other employees except firm owner
19338
+ if (employees.length) {
19339
+ employees.splice(0, 1);
19340
+ }
19341
+ return [...employees, ...invites];
19342
+ }))));
19343
+ batch.push(
19344
+ // Invite clients item is completed when firm has clients or firm has invited clients.
19345
+ this.setItemStatus(this.items.findBy('isInviteClients', true), combineLatest([this.clientMovementService.getActive(), this.clientInviteService.get()])
19346
+ .pipe(map(([movements, invites]) => [...movements.toArray(), ...invites.toArray()]))));
19347
+ return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items).sortBy('id', 'asc')));
19348
+ }
19369
19349
  /**
19370
19350
  * Check and update isCompleted flag for passed item
19371
19351
  */
19372
19352
  setItemStatus(item, request) {
19373
19353
  return request.pipe(map((result) => {
19374
19354
  const isSkipped = !!this.user.blacklistSetupItems.find((skippedItem) => skippedItem.id === item.id);
19375
- item.status = isSkipped ? AccountSetupItemStatusEnum.SKIPPED : result.length ? AccountSetupItemStatusEnum.ACHIEVED : AccountSetupItemStatusEnum.PENDING;
19355
+ if (result.length || isSkipped) {
19356
+ item.isCompleted = true;
19357
+ }
19358
+ else {
19359
+ item.isCompleted = false;
19360
+ }
19376
19361
  return item;
19377
19362
  }));
19378
19363
  }
19379
- getProperties(property) {
19380
- return this.propertyService.getBy('id', property.id).pipe(map(properties => properties));
19381
- }
19382
- getTransactions(property) {
19383
- return this.transactionService.getByPropertyId(property.id);
19384
- }
19385
- getCoOwners(property) {
19386
- return this.propertyShareService.getArrayBy('property.id', property.id).pipe(map(shares => shares.slice(1)));
19387
- }
19388
- /**
19389
- * AccountSetupItemsEnum.FIRM_CLIENTS completed when client invites sent or accepted
19390
- */
19391
- getClients() {
19392
- return combineLatest([this.clientMovementService.getActive(), this.clientInviteService.get()]).pipe(map(([movements, invites]) => [...movements, ...invites]));
19393
- }
19394
- /**
19395
- * AccountSetupItemsEnum.FIRM_EMPLOYEES completed when employee invites sent or accepted
19396
- */
19397
- getEmployees() {
19398
- return combineLatest([this.employeeService.getArray(), this.employeeInviteService.getArray()]).pipe(map(([employees, invites]) => [...employees.slice(1), ...invites]));
19399
- }
19400
- /**
19401
- * AccountSetupItemsEnum.FIRM_DETAILS when firm data filled
19402
- */
19403
- getFirms() {
19404
- return this.firmService.get().pipe(map((firm) => [firm].filter(firm => firm.address || firm.phone || firm.file || firm.shortName)));
19405
- }
19406
19364
  /**
19407
19365
  * @TODO Alex: work with collection when services refactored
19408
19366
  * @TODO Vik: waiting for income sources refactoring
19409
19367
  */
19410
- getIncomeSources(isSalary) {
19368
+ getIncomeSources(isSalary = false) {
19411
19369
  return this.incomeSourceService.get().pipe(map((incomeSources) => {
19412
19370
  const collection = new IncomeSourceCollection(incomeSources);
19413
19371
  if (isSalary) {
@@ -19416,31 +19374,31 @@ class AccountSetupService {
19416
19374
  return collection.items.filter((incomeSource) => incomeSource.isOtherIncome());
19417
19375
  }));
19418
19376
  }
19419
- getVehicleClaims(isBusiness) {
19420
- return this.vehicleClaimService.getArray().pipe(map((claims => claims.filter(claim => isBusiness ? claim.business : !claim.business))));
19421
- }
19422
- getHomeOfficeClaims(isBusiness) {
19423
- return this.homeOfficeClaimService.getArray().pipe(map(claims => claims.filter(claim => isBusiness ? claim.business : !claim.business)));
19424
- }
19425
- getBankAccounts(tankType) {
19426
- return this.bankAccountsService.get().pipe(map((bankAccounts => bankAccounts.getByTankType(tankType).toArray())));
19427
- }
19428
- getDepreciations(tankType, property) {
19429
- return this.depreciationService.get().pipe(map(depreciations => {
19430
- depreciations = depreciations.getByTankType(tankType);
19431
- if (property) {
19432
- depreciations.filterBy('property.id', property.id);
19377
+ /**
19378
+ * Show logbook item when user has at least 1 vehicle transaction
19379
+ */
19380
+ getLogbookItem() {
19381
+ return this.transactionService.get()
19382
+ .pipe(
19383
+ // @TODO Alex: remove map when services start work with collections
19384
+ map((transactions) => new TransactionCollection(transactions)), mergeMap((transactions) => {
19385
+ if (transactions.getVehicleTransactions().length) {
19386
+ return this.setItemStatus(this.items.findBy('isWorkLogbook', true), this.vehicleClaimService.getArray());
19433
19387
  }
19434
- return depreciations.toArray();
19388
+ return of(null);
19435
19389
  }));
19436
19390
  }
19437
- getSharesightDetails(importEnabled) {
19438
- return this.sharesightDetailsService.getArray().pipe(map(details => details.filter(detail => importEnabled ? detail.importEnabled : detail.exportEnabled)));
19439
- }
19440
- getBorrowingExpenses() {
19441
- return this.loanService.getArray().pipe(map(loans => loans.filter(loan => !!loan.borrowingExpenses.length)));
19391
+ /**
19392
+ * Hide bank feeds item when user has only holding tank
19393
+ */
19394
+ getBankFeedsItem() {
19395
+ const bankFeedsRoles = [UserRolesEnum.PROPERTY_TANK, UserRolesEnum.WORK_TANK, UserRolesEnum.SOLE_TANK];
19396
+ if (!intersection(bankFeedsRoles, this.user.roles).length) {
19397
+ return of(null);
19398
+ }
19399
+ return this.setItemStatus(this.items.findBy('isBankFeeds', true), this.bankAccountsService.getArray());
19442
19400
  }
19443
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: AccountSetupService, deps: [{ token: SetupItemService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankConnectionService }, { token: BankAccountService }, { token: LoanService }, { token: AllocationRuleService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: HomeOfficeClaimService }, { token: TransactionService }, { token: DepreciationService }, { token: SoleBusinessService }, { token: HoldingTradeService }, { token: UserService }, { token: ClientMovementService }, { token: ClientInviteService }, { token: EmployeeService }, { token: EmployeeInviteService }, { token: FirmService }, { token: SharesightDetailsService }, { token: PropertyShareService }], target: i0.ɵɵFactoryTarget.Injectable }); }
19401
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: AccountSetupService, deps: [{ token: SetupItemService }, { token: PropertyService }, { token: IncomeSourceService }, { token: BankAccountService }, { token: TransactionAllocationService }, { token: VehicleClaimService }, { token: TransactionService }, { token: SoleBusinessService }, { token: HoldingTradeService }, { token: UserService }, { token: ClientMovementService }, { token: ClientInviteService }, { token: EmployeeService }, { token: EmployeeInviteService }, { token: FirmService }], target: i0.ɵɵFactoryTarget.Injectable }); }
19444
19402
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: AccountSetupService, providedIn: 'root' }); }
19445
19403
  }
19446
19404
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: AccountSetupService, decorators: [{
@@ -19448,7 +19406,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19448
19406
  args: [{
19449
19407
  providedIn: 'root'
19450
19408
  }]
19451
- }], ctorParameters: () => [{ type: SetupItemService }, { type: PropertyService }, { type: IncomeSourceService }, { type: BankConnectionService }, { type: BankAccountService }, { type: LoanService }, { type: AllocationRuleService }, { type: TransactionAllocationService }, { type: VehicleClaimService }, { type: HomeOfficeClaimService }, { type: TransactionService }, { type: DepreciationService }, { type: SoleBusinessService }, { type: HoldingTradeService }, { type: UserService }, { type: ClientMovementService }, { type: ClientInviteService }, { type: EmployeeService }, { type: EmployeeInviteService }, { type: FirmService }, { type: SharesightDetailsService }, { type: PropertyShareService }] });
19409
+ }], ctorParameters: () => [{ type: SetupItemService }, { type: PropertyService }, { type: IncomeSourceService }, { type: BankAccountService }, { type: TransactionAllocationService }, { type: VehicleClaimService }, { type: TransactionService }, { type: SoleBusinessService }, { type: HoldingTradeService }, { type: UserService }, { type: ClientMovementService }, { type: ClientInviteService }, { type: EmployeeService }, { type: EmployeeInviteService }, { type: FirmService }] });
19452
19410
 
19453
19411
  class AdblockService {
19454
19412
  constructor() {
@@ -20585,7 +20543,6 @@ const ENDPOINTS = {
20585
20543
  SERVICE_PAYMENTS_GET: new Endpoint('GET', '\\/service-payments'),
20586
20544
  SERVICE_SUBSCRIPTIONS_GET: new Endpoint('GET', '\\/service-subscriptions'),
20587
20545
  SERVICE_SUBSCRIPTIONS_POST: new Endpoint('POST', '\\/service-subscriptions'),
20588
- SERVICE_SUBSCRIPTIONS_TRIAL_POST: new Endpoint('POST', '\\/service-subscriptions/'),
20589
20546
  SERVICE_SUBSCRIPTIONS_CANCEL: new Endpoint('PUT', '\\/service-subscriptions\\/\\d+\\/cancel'),
20590
20547
  SERVICE_SUBSCRIPTIONS_RENEW: new Endpoint('PUT', '\\/service-subscriptions\\/\\d+\\/renewal'),
20591
20548
  SERVICE_PAYMENT_INVOICE_URL_GET: new Endpoint('GET', '\\/service-payments\\/\\d+\\/invoice-url'),
@@ -20642,7 +20599,6 @@ const ENDPOINTS = {
20642
20599
  TRANSACTIONS_ALLOCATIONS_POST: new Endpoint('POST', '\\/transaction-allocations'),
20643
20600
  TRANSACTIONS_ALLOCATIONS_DELETE: new Endpoint('DELETE', '\\/transaction-allocations\\/\\d+'),
20644
20601
  TRANSACTIONS_ALLOCATIONS_BATCH_DELETE: new Endpoint('POST', '\\/transaction-allocations\\/delete'),
20645
- TRIAL_POST: new Endpoint('POST', '\\/trial'),
20646
20602
  USER_CONFIRMATION_POST: new Endpoint('POST', '\\/users\\/confirmation'),
20647
20603
  USER_CONFIRMATION_RESEND_POST: new Endpoint('POST', '\\/users\\/confirmation\\/resend'),
20648
20604
  USER_CURRENT_GET: new Endpoint('GET', '\\/users\\/current'),
@@ -25501,5 +25457,5 @@ var MessagesEnum;
25501
25457
  * Generated bundle index. Do not edit.
25502
25458
  */
25503
25459
 
25504
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupItemStatusEnum, AccountSetupItemsEnum, AccountSetupService, AdblockService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppCurrencyPipe, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AppPercentPipe, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AussieAppointment, AussieAppointmentForm, AussieBroker, AussieConfirmationForm, AussieService, AussieStore, AussieStoreForm, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportMessagesEnum, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessChartAccountsEnum, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CapitalLoss, CapitalLossForm, CapitalLossMessagesEnum, CapitalLossService, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsAdjustmentIncludedListEnum, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsForm, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartAccountsValueCollection, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatFilterForm, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientCouponService, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientInvite, ClientInviteCollection, ClientInviteForm, ClientInviteMessages, ClientInvitePutForm, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementForm, ClientMovementMessagesEnum, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CollectionForm, CoreModule, CorelogicMessagesEnum, CorelogicService, CorelogicSuggestion, Country, CurrentFirmBranchService, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DateRange, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeDetailsForm, EmployeeInvite, EmployeeInviteCollection, EmployeeInviteForm, EmployeeInviteRoleEnum, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmBranch, FirmBranchForm, FirmBranchMessagesEnum, FirmBranchService, FirmForm, FirmInviteForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GenderEnum, GoogleService, HTTP_ERROR_MESSAGES, HeaderTitleService, Holding, HoldingCollection, HoldingIncomeForm, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleService, HoldingTrade, HoldingTradeCollection, HoldingTradeFilterForm, HoldingTradeForm, HoldingTradeImport, HoldingTradeImportForm, HoldingTradeImportMessagesEnum, HoldingTradeImportService, HoldingTradeMessagesEnum, HoldingTradeService, HoldingTradeTypeEnum, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, HomeOfficeCalculatorForm, HomeOfficeClaim, HomeOfficeClaimCollection, HomeOfficeClaimForm, HomeOfficeClaimMessagesEnum, HomeOfficeClaimMethodEnum, HomeOfficeClaimService, HomeOfficeLog, HomeOfficeLogForm, HomeOfficeLogMessagesEnum, HomeOfficeLogService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, JsPdf, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanMessagesEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, PriorTransactionService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentForm, PropertyDocumentMessagesEnum, PropertyDocumentService, PropertyEditForm, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyForecastForm, PropertyMessagesEnum, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareForm, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, PropertyValuationCollection, PropertyValuationForm, PropertyValuationMessages, PropertyValuationService, REPORTS, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestMessagesEnum, RestService$1 as RestService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceListEnum, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, SetupItemTypeEnum, SharesightDetails, SharesightDetailsMessagesEnum, SharesightDetailsService, SharesightPortfolio, SharesightPortfolioMessages, SharesightPortfolioService, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossCollection, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStateEnum, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionCollection, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewFilterForm, TaxReviewFilterStatusEnum, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, TimezoneEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseCollection, TransactionBaseFilterForm, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionReportItem, TransactionReportItemCollection, TransactionService, TransactionSourceEnum, TransactionTypeEnum, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserCollection, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, YoutubeService, alphaSpaceValidator, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, toArray };
25460
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, AdblockService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppCurrencyPipe, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AppPercentPipe, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AussieAppointment, AussieAppointmentForm, AussieBroker, AussieConfirmationForm, AussieService, AussieStore, AussieStoreForm, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportMessagesEnum, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessChartAccountsEnum, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CapitalLoss, CapitalLossForm, CapitalLossMessagesEnum, CapitalLossService, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsAdjustmentIncludedListEnum, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsForm, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartAccountsValueCollection, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatFilterForm, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientCouponService, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientInvite, ClientInviteCollection, ClientInviteForm, ClientInviteMessages, ClientInvitePutForm, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementForm, ClientMovementMessagesEnum, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CollectionForm, CoreModule, CorelogicMessagesEnum, CorelogicService, CorelogicSuggestion, Country, CurrentFirmBranchService, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DateRange, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeDetailsForm, EmployeeInvite, EmployeeInviteCollection, EmployeeInviteForm, EmployeeInviteRoleEnum, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmBranch, FirmBranchForm, FirmBranchMessagesEnum, FirmBranchService, FirmForm, FirmInviteForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GenderEnum, GoogleService, HTTP_ERROR_MESSAGES, HeaderTitleService, Holding, HoldingCollection, HoldingIncomeForm, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleService, HoldingTrade, HoldingTradeCollection, HoldingTradeFilterForm, HoldingTradeForm, HoldingTradeImport, HoldingTradeImportForm, HoldingTradeImportMessagesEnum, HoldingTradeImportService, HoldingTradeMessagesEnum, HoldingTradeService, HoldingTradeTypeEnum, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, HomeOfficeCalculatorForm, HomeOfficeClaim, HomeOfficeClaimCollection, HomeOfficeClaimForm, HomeOfficeClaimMessagesEnum, HomeOfficeClaimMethodEnum, HomeOfficeClaimService, HomeOfficeLog, HomeOfficeLogForm, HomeOfficeLogMessagesEnum, HomeOfficeLogService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, InvoiceTransactionsService, JsPdf, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanMessagesEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfService, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, PriorTransactionService, Property, PropertyAddForm, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementForm, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentForm, PropertyDocumentMessagesEnum, PropertyDocumentService, PropertyEditForm, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyForecastForm, PropertyMessagesEnum, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareForm, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, PropertyValuationCollection, PropertyValuationForm, PropertyValuationMessages, PropertyValuationService, REPORTS, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestMessagesEnum, RestService$1 as RestService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceListEnum, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, SetupItemTypeEnum, SharesightDetails, SharesightDetailsMessagesEnum, SharesightDetailsService, SharesightPortfolio, SharesightPortfolioMessages, SharesightPortfolioService, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossCollection, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStateEnum, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionCollection, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewFilterForm, TaxReviewFilterStatusEnum, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, TimezoneEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseCollection, TransactionBaseFilterForm, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionReportItem, TransactionReportItemCollection, TransactionService, TransactionSourceEnum, TransactionTypeEnum, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserCollection, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, YoutubeService, alphaSpaceValidator, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, toArray };
25505
25461
  //# sourceMappingURL=taxtank-core.mjs.map