taxtank-core 1.0.32 → 1.0.33

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 (27) hide show
  1. package/README.md +5 -5
  2. package/fesm2022/taxtank-core-common.mjs.map +1 -1
  3. package/fesm2022/taxtank-core.mjs +246 -181
  4. package/fesm2022/taxtank-core.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/public-api.d.ts +1 -0
  7. package/src/lib/collections/account-setup-item.collection.d.ts +5 -1
  8. package/src/lib/collections/bank-account.collection.d.ts +1 -1
  9. package/src/lib/collections/subscription/service-subscription.collection.d.ts +2 -0
  10. package/src/lib/db/Enums/index.d.ts +1 -0
  11. package/src/lib/db/Enums/setup-item-type.enum.d.ts +8 -2
  12. package/src/lib/db/Enums/youtube-videos.enum.d.ts +7 -0
  13. package/src/lib/db/Models/property/property.d.ts +1 -0
  14. package/src/lib/db/Models/setup-item.d.ts +4 -1
  15. package/src/lib/models/account-setup/account-setup-item-status.enum.d.ts +5 -0
  16. package/src/lib/models/account-setup/account-setup-item.d.ts +5 -12
  17. package/src/lib/models/account-setup/account-setup-items.enum.d.ts +29 -11
  18. package/src/lib/models/account-setup/index.d.ts +3 -0
  19. package/src/lib/models/index.d.ts +1 -0
  20. package/src/lib/models/user/user.d.ts +1 -1
  21. package/src/lib/services/account-setup/account-setup.service.d.ts +32 -14
  22. package/src/lib/services/http/firm/firm.service.d.ts +0 -4
  23. package/src/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts +2 -1
  24. package/src/lib/services/http/rest/rest-old.service.d.ts +1 -0
  25. package/src/lib/services/http/rest/rest.service.d.ts +1 -0
  26. package/src/lib/services/http/setup-item/setup-item.service.d.ts +1 -1
  27. package/src/lib/services/http/user/user.service.d.ts +2 -2
@@ -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, 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';
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';
9
9
  import { plainToClass, Type, Transform, Exclude, Expose, classToPlain } from 'class-transformer';
10
10
  import 'reflect-metadata';
11
11
  import { __decorate } from 'tslib';
@@ -33,6 +33,8 @@ 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';
36
38
  import { checkAdBlock } from 'adblock-checker';
37
39
  import { jsPDF } from 'jspdf';
38
40
  import { applyPlugin } from 'jspdf-autotable';
@@ -494,6 +496,9 @@ let Property$1 = class Property extends ObservableModel {
494
496
  this.corelogicLastRequest = null;
495
497
  }
496
498
  static { this.className = 'Property'; }
499
+ get capitalCosts() {
500
+ return this.legalFees + this.otherCapitalCosts + this.stampDuty;
501
+ }
497
502
  };
498
503
  __decorate([
499
504
  Type(() => Number)
@@ -1454,6 +1459,18 @@ var HomeOfficeClaimMethodEnum;
1454
1459
  HomeOfficeClaimMethodEnum[HomeOfficeClaimMethodEnum["OCCUPANCY"] = 3] = "OCCUPANCY";
1455
1460
  })(HomeOfficeClaimMethodEnum || (HomeOfficeClaimMethodEnum = {}));
1456
1461
 
1462
+ var SetupItemTypeEnum;
1463
+ (function (SetupItemTypeEnum) {
1464
+ SetupItemTypeEnum[SetupItemTypeEnum["EMPLOYEE"] = 0] = "EMPLOYEE";
1465
+ SetupItemTypeEnum[SetupItemTypeEnum["WORK"] = 1] = "WORK";
1466
+ SetupItemTypeEnum[SetupItemTypeEnum["PROPERTIES"] = 2] = "PROPERTIES";
1467
+ SetupItemTypeEnum[SetupItemTypeEnum["PROPERTY"] = 3] = "PROPERTY";
1468
+ SetupItemTypeEnum[SetupItemTypeEnum["BUSINESS"] = 4] = "BUSINESS";
1469
+ SetupItemTypeEnum[SetupItemTypeEnum["HOLDING"] = 5] = "HOLDING";
1470
+ SetupItemTypeEnum[SetupItemTypeEnum["BANK_ACCOUNTS"] = 6] = "BANK_ACCOUNTS";
1471
+ SetupItemTypeEnum[SetupItemTypeEnum["BANK_ACCOUNT"] = 7] = "BANK_ACCOUNT";
1472
+ })(SetupItemTypeEnum || (SetupItemTypeEnum = {}));
1473
+
1457
1474
  /**
1458
1475
  * @TODO not used for now
1459
1476
  * Bank subclass, average bank response time for some operations in milliseconds
@@ -5367,61 +5384,72 @@ __decorate([
5367
5384
  class SetupItem extends AbstractModel {
5368
5385
  }
5369
5386
 
5370
- /**
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?
5373
- */
5374
- var AccountSetupItemsEnum;
5375
- (function (AccountSetupItemsEnum) {
5376
- AccountSetupItemsEnum[AccountSetupItemsEnum["SALARY"] = 1] = "SALARY";
5377
- AccountSetupItemsEnum[AccountSetupItemsEnum["OTHER_INCOME"] = 2] = "OTHER_INCOME";
5378
- AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY"] = 3] = "PROPERTY";
5379
- AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_FEEDS"] = 4] = "BANK_FEEDS";
5380
- AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_LOGBOOK"] = 5] = "WORK_LOGBOOK";
5381
- AccountSetupItemsEnum[AccountSetupItemsEnum["TRANSACTION_ALLOCATE"] = 6] = "TRANSACTION_ALLOCATE";
5382
- AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BUSINESS"] = 7] = "SOLE_BUSINESS";
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";
5387
- })(AccountSetupItemsEnum || (AccountSetupItemsEnum = {}));
5387
+ var AccountSetupItemStatusEnum;
5388
+ (function (AccountSetupItemStatusEnum) {
5389
+ AccountSetupItemStatusEnum[AccountSetupItemStatusEnum["PENDING"] = 1] = "PENDING";
5390
+ AccountSetupItemStatusEnum[AccountSetupItemStatusEnum["ACHIEVED"] = 2] = "ACHIEVED";
5391
+ AccountSetupItemStatusEnum[AccountSetupItemStatusEnum["SKIPPED"] = 3] = "SKIPPED";
5392
+ })(AccountSetupItemStatusEnum || (AccountSetupItemStatusEnum = {}));
5388
5393
 
5389
5394
  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;
5395
+ get isPending() {
5396
+ return this.status === AccountSetupItemStatusEnum.PENDING;
5404
5397
  }
5405
- get isTransactionAllocate() {
5406
- return this.id === AccountSetupItemsEnum.TRANSACTION_ALLOCATE;
5398
+ get isAchieved() {
5399
+ return this.status === AccountSetupItemStatusEnum.SKIPPED;
5407
5400
  }
5408
- get isSoleBusiness() {
5409
- return this.id === AccountSetupItemsEnum.SOLE_BUSINESS;
5401
+ get isCompleted() {
5402
+ return [AccountSetupItemStatusEnum.ACHIEVED, AccountSetupItemStatusEnum.SKIPPED].includes(this.status);
5410
5403
  }
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;
5404
+ get isSkipped() {
5405
+ return this.status === AccountSetupItemStatusEnum.SKIPPED;
5422
5406
  }
5423
5407
  }
5424
5408
 
5409
+ /**
5410
+ * TODO remove
5411
+ */
5412
+ var AccountSetupItemsEnum;
5413
+ (function (AccountSetupItemsEnum) {
5414
+ // firm
5415
+ AccountSetupItemsEnum[AccountSetupItemsEnum["FIRM_DETAILS"] = 9] = "FIRM_DETAILS";
5416
+ AccountSetupItemsEnum[AccountSetupItemsEnum["FIRM_EMPLOYEES"] = 10] = "FIRM_EMPLOYEES";
5417
+ AccountSetupItemsEnum[AccountSetupItemsEnum["FIRM_CLIENTS"] = 11] = "FIRM_CLIENTS";
5418
+ // work
5419
+ AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_SALARY"] = 1] = "WORK_SALARY";
5420
+ AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_OTHER_INCOME"] = 2] = "WORK_OTHER_INCOME";
5421
+ AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_VEHICLE_CLAIM"] = 5] = "WORK_VEHICLE_CLAIM";
5422
+ AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_HOME_OFFICE"] = 13] = "WORK_HOME_OFFICE";
5423
+ AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_BANK_ACCOUNT"] = 14] = "WORK_BANK_ACCOUNT";
5424
+ AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_DEPRECIATION"] = 15] = "WORK_DEPRECIATION";
5425
+ // properties
5426
+ AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY"] = 3] = "PROPERTY";
5427
+ AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTIES"] = 29] = "PROPERTIES";
5428
+ AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTIES_BANK_ACCOUNT"] = 30] = "PROPERTIES_BANK_ACCOUNT";
5429
+ // property
5430
+ AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY_CAPITAL_COST"] = 17] = "PROPERTY_CAPITAL_COST";
5431
+ AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY_RENT_INCOME"] = 18] = "PROPERTY_RENT_INCOME";
5432
+ AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY_DEPRECIATION"] = 19] = "PROPERTY_DEPRECIATION";
5433
+ AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY_CO_OWNER"] = 20] = "PROPERTY_CO_OWNER";
5434
+ // sole
5435
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BUSINESS"] = 7] = "SOLE_BUSINESS";
5436
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BUSINESSES"] = 33] = "SOLE_BUSINESSES";
5437
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_VEHICLE_CLAIM"] = 12] = "SOLE_VEHICLE_CLAIM";
5438
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_HOME_OFFICE"] = 21] = "SOLE_HOME_OFFICE";
5439
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_DEPRECIATION"] = 22] = "SOLE_DEPRECIATION";
5440
+ AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BANK_ACCOUNT"] = 23] = "SOLE_BANK_ACCOUNT";
5441
+ // holding
5442
+ AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDING_TRADE"] = 8] = "HOLDING_TRADE";
5443
+ AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDING_INTEGRATION"] = 25] = "HOLDING_INTEGRATION";
5444
+ AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDING_REPORTS"] = 36] = "HOLDING_REPORTS";
5445
+ // bank accounts
5446
+ AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_CONNECTION"] = 4] = "BANK_CONNECTION";
5447
+ AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_ACCOUNT"] = 26] = "BANK_ACCOUNT";
5448
+ AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_ALLOCATION"] = 6] = "BANK_ALLOCATION";
5449
+ AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_RULE"] = 27] = "BANK_RULE";
5450
+ AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_BORROWING_EXPENSE"] = 28] = "BANK_BORROWING_EXPENSE";
5451
+ })(AccountSetupItemsEnum || (AccountSetupItemsEnum = {}));
5452
+
5425
5453
  class User extends User$1 {
5426
5454
  constructor() {
5427
5455
  super(...arguments);
@@ -8538,6 +8566,9 @@ class ServiceSubscriptionCollection extends Collection {
8538
8566
  getPaid() {
8539
8567
  return this.filter((subscription) => !!subscription.stripeId);
8540
8568
  }
8569
+ getRoles() {
8570
+ return this.items.flatMap((subscription) => subscription.roles);
8571
+ }
8541
8572
  getActivePaid() {
8542
8573
  return this.getActive().find((subscription) => !!subscription.stripeId);
8543
8574
  }
@@ -8564,6 +8595,9 @@ class ServiceSubscriptionCollection extends Collection {
8564
8595
  filterByRole(role) {
8565
8596
  return this.filter((subscription) => subscription.roles.includes(role));
8566
8597
  }
8598
+ findByRole(role) {
8599
+ return this.filterByRole(role).first;
8600
+ }
8567
8601
  hasPropertyTank() {
8568
8602
  return !!this.getItems().propertiesItem;
8569
8603
  }
@@ -8969,11 +9003,25 @@ class AllocationRuleCollection extends Collection {
8969
9003
  class AccountSetupItemCollection extends Collection {
8970
9004
  constructor(items) {
8971
9005
  super(compact(items));
8972
- this.sortBy('isCompleted', 'asc');
9006
+ this.sortBy('status', 'asc');
8973
9007
  }
8974
9008
  isCompleted() {
8975
9009
  return this.filterBy('isCompleted', true).length === this.length;
8976
9010
  }
9011
+ getByUser(user) {
9012
+ return this.filter(item => user.hasRoles(item.roles));
9013
+ }
9014
+ getScore() {
9015
+ return this.sumBy('score');
9016
+ }
9017
+ setUrlId(id) {
9018
+ this.items.forEach(item => {
9019
+ if (!item.url.includes(':id')) {
9020
+ return;
9021
+ }
9022
+ item.url = item.url.replace(':id', id);
9023
+ });
9024
+ }
8977
9025
  }
8978
9026
 
8979
9027
  /**
@@ -9033,7 +9081,7 @@ class BankAccountCollection extends Collection {
9033
9081
  * Get Collection of bank accounts by tank type
9034
9082
  */
9035
9083
  getByTankType(tankType) {
9036
- return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.tankType === tankType));
9084
+ return new BankAccountCollection(tankType ? this.items.filter((bankAccount) => bankAccount.tankType === tankType) : this.items);
9037
9085
  }
9038
9086
  /**
9039
9087
  * Get list of all bank account properties
@@ -11560,8 +11608,9 @@ let RestService$1 = class RestService extends DataService {
11560
11608
  * Refresh cache with actual backend data
11561
11609
  */
11562
11610
  refreshCache() {
11611
+ // todo why not fetch?
11563
11612
  this.cache = undefined;
11564
- this.get();
11613
+ this.get().subscribe();
11565
11614
  }
11566
11615
  /**
11567
11616
  * perform a shallow copy of the emitted data to make it immutable
@@ -11573,17 +11622,17 @@ let RestService$1 = class RestService extends DataService {
11573
11622
  * Get data from backend and fill the cache
11574
11623
  */
11575
11624
  fetch(path = this.apiUrl, cache = true, queryParams = {}) {
11576
- if (cache) {
11577
- // Set cache as empty collection to avoid multiple requests before cache filled
11578
- this.setCache([]);
11625
+ if (this.inFlight$ && cache) {
11626
+ return this.inFlight$;
11579
11627
  }
11580
- return this.http.get(path, queryParams)
11628
+ this.inFlight$ = this.http.get(path, queryParams)
11581
11629
  .pipe(map((response) => Array.isArray(response) ? response : toArray(response)), map((response) => {
11582
11630
  if (cache) {
11583
11631
  this.setCache(response, true);
11584
11632
  }
11585
11633
  return this.createCollectionInstance(this.collectionClass, response);
11586
- }), catchError((error) => this.handleError(error)));
11634
+ }), catchError((error) => this.handleError(error)), finalize(() => this.inFlight$ = null), shareReplay({ bufferSize: 1, refCount: true }));
11635
+ return this.inFlight$;
11587
11636
  }
11588
11637
  fetchFirst(queryParams = {}) {
11589
11638
  return this.fetch(this.apiUrl, false, { params: queryParams })
@@ -11592,10 +11641,11 @@ let RestService$1 = class RestService extends DataService {
11592
11641
  get(path = this.apiUrl) {
11593
11642
  this.handleAccessError('get');
11594
11643
  if (!this.hasRoles()) {
11644
+ // @TODO it completes observable and doesn't watch anymore
11595
11645
  return of(this.createCollectionInstance(this.collectionClass, []));
11596
11646
  }
11597
11647
  if (!this.cache) {
11598
- this.fetch(path).pipe(first$1()).subscribe();
11648
+ return this.fetch(path).pipe(switchMap(() => this.getCacheSubjectObservable()));
11599
11649
  }
11600
11650
  return this.getCacheSubjectObservable();
11601
11651
  }
@@ -13390,22 +13440,17 @@ class FirmService {
13390
13440
  this.environment = environment;
13391
13441
  this.firmSubject = new ReplaySubject(1);
13392
13442
  }
13393
- /**
13394
- * Register new firm
13395
- * @param data: firm and firm owner data to register
13396
- */
13397
13443
  register(data) {
13398
13444
  return this.http.post(`${this.environment.apiV2}/firms/registration`, data)
13399
13445
  .pipe(map((firm) => plainToClass(Firm, firm)));
13400
13446
  }
13401
13447
  get() {
13402
13448
  if (!this.firm) {
13403
- this.http.get(`${this.environment.apiV2}/firms/current`)
13404
- .pipe(map((firm) => plainToClass(Firm, firm)))
13405
- .subscribe((firm) => {
13406
- this.firm = firm;
13449
+ return this.http.get(`${this.environment.apiV2}/firms/current`).pipe(map((firm) => {
13450
+ this.firm = plainToClass(Firm, firm);
13407
13451
  this.firmSubject.next(this.firm);
13408
- });
13452
+ return this.firm;
13453
+ }), switchMap(() => this.firmSubject.asObservable()));
13409
13454
  }
13410
13455
  return this.firmSubject.asObservable();
13411
13456
  }
@@ -13490,24 +13535,25 @@ class RestService {
13490
13535
  * get list of base class instances directly from backend
13491
13536
  */
13492
13537
  fetch(path = this.apiUrl, cache = true, params = {}) {
13493
- if (cache) {
13494
- this.setCache([]);
13538
+ if (this.inFlight$ && cache) {
13539
+ return this.inFlight$;
13495
13540
  }
13496
- return this.http.get(path, { params: params })
13541
+ this.inFlight$ = this.http.get(path, { params: params })
13497
13542
  .pipe(map((response) => {
13498
13543
  const items = response.map((item) => this.createModelInstance(item));
13499
13544
  if (cache) {
13500
13545
  this.setCache(items, true);
13501
13546
  }
13502
13547
  return items;
13503
- }));
13548
+ }), finalize(() => this.inFlight$ = null), shareReplay({ bufferSize: 1, refCount: true }));
13549
+ return this.inFlight$;
13504
13550
  }
13505
13551
  /**
13506
13552
  * get cached list of all instances
13507
13553
  */
13508
13554
  get(path = this.apiUrl) {
13509
13555
  if (!this.cache) {
13510
- this.fetch(path).pipe(first$1()).subscribe();
13556
+ return this.fetch(path).pipe(first$1(), switchMap(() => this.getCacheSubjectObservable()));
13511
13557
  }
13512
13558
  return this.getCacheSubjectObservable();
13513
13559
  }
@@ -13656,7 +13702,7 @@ class RestService {
13656
13702
  */
13657
13703
  refreshCache() {
13658
13704
  this.setCache(undefined);
13659
- this.get();
13705
+ this.get().subscribe();
13660
13706
  }
13661
13707
  setCache(data, next = false) {
13662
13708
  this.cache = data;
@@ -16598,16 +16644,16 @@ class UserService extends RestService$1 {
16598
16644
  user.blacklistSetupItems.push(item);
16599
16645
  return this.put(user);
16600
16646
  }
16647
+ restoreSetupItem(item) {
16648
+ const user = clone(this.getCacheFirst());
16649
+ remove(user.blacklistSetupItems, (i) => i.id === item.id);
16650
+ return this.put(user);
16651
+ }
16601
16652
  /**
16602
16653
  * Update cache when user's service subscription is updated
16603
16654
  */
16604
16655
  listenServiceSubscriptionUpdated() {
16605
- this.listenCSE(ServiceSubscription, (response) => {
16606
- // @TODO vik test and remove
16607
- setTimeout(() => {
16608
- this.refreshCache();
16609
- }, 2000);
16610
- }, ['post', 'put']);
16656
+ this.listenCSE(ServiceSubscription, (subscriptions) => this.refreshCache(), ['post', 'put']);
16611
16657
  }
16612
16658
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: UserService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
16613
16659
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: UserService, providedIn: 'root' }); }
@@ -19231,12 +19277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19231
19277
  }]
19232
19278
  }], ctorParameters: () => [] });
19233
19279
 
19234
- var SetupItemTypeEnum;
19235
- (function (SetupItemTypeEnum) {
19236
- SetupItemTypeEnum[SetupItemTypeEnum["CLIENT"] = 1] = "CLIENT";
19237
- SetupItemTypeEnum[SetupItemTypeEnum["EMPLOYEE"] = 2] = "EMPLOYEE";
19238
- })(SetupItemTypeEnum || (SetupItemTypeEnum = {}));
19239
-
19240
19280
  class SetupItemService extends RestService$1 {
19241
19281
  constructor() {
19242
19282
  super(...arguments);
@@ -19260,14 +19300,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19260
19300
  * Checks required steps and their completion
19261
19301
  */
19262
19302
  class AccountSetupService {
19263
- constructor(setupItemService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService, userService, clientMovementService, clientInviteService, employeeService, employeeInviteService, firmService) {
19303
+ constructor(setupItemService, propertyService, incomeSourceService, bankConnectionService, bankAccountsService, loanService, allocationRuleService, transactionAllocationService, vehicleClaimService, homeOfficeClaimService, transactionService, depreciationService, soleBusinessService, holdingService, userService, clientMovementService, clientInviteService, employeeService, employeeInviteService, firmService, sharesightDetailsService, propertyShareService) {
19264
19304
  this.setupItemService = setupItemService;
19265
19305
  this.propertyService = propertyService;
19266
19306
  this.incomeSourceService = incomeSourceService;
19307
+ this.bankConnectionService = bankConnectionService;
19267
19308
  this.bankAccountsService = bankAccountsService;
19309
+ this.loanService = loanService;
19310
+ this.allocationRuleService = allocationRuleService;
19268
19311
  this.transactionAllocationService = transactionAllocationService;
19269
19312
  this.vehicleClaimService = vehicleClaimService;
19313
+ this.homeOfficeClaimService = homeOfficeClaimService;
19270
19314
  this.transactionService = transactionService;
19315
+ this.depreciationService = depreciationService;
19271
19316
  this.soleBusinessService = soleBusinessService;
19272
19317
  this.holdingService = holdingService;
19273
19318
  this.userService = userService;
@@ -19276,101 +19321,110 @@ class AccountSetupService {
19276
19321
  this.employeeService = employeeService;
19277
19322
  this.employeeInviteService = employeeInviteService;
19278
19323
  this.firmService = firmService;
19324
+ this.sharesightDetailsService = sharesightDetailsService;
19325
+ this.propertyShareService = propertyShareService;
19279
19326
  }
19280
19327
  /**
19281
19328
  * Get list of account setup items for current user/firm
19282
19329
  */
19283
- get(type) {
19284
- return combineLatest([
19285
- this.setupItemService.get(),
19286
- this.userService.getFirst()
19287
- ])
19288
- .pipe(mergeMap(([items, user]) => {
19289
- this.items = items;
19330
+ get(property) {
19331
+ // @TODO it takes time for user to update, makes sense to subscribe to serviceSubscription instead
19332
+ return combineLatest([this.setupItemService.get(), this.userService.getFirst()]).pipe(switchMap(([items, user]) => {
19290
19333
  this.user = user;
19291
- return type === SetupItemTypeEnum.CLIENT ? this.getClientItems$() : this.getFirmItems$();
19334
+ this.items = items.getByUser(user);
19335
+ return this.setItemsStatus(property);
19292
19336
  }));
19293
19337
  }
19294
- getClientItems$() {
19295
- const batch = [];
19296
- if (this.user.hasRoles(UserRolesEnum.WORK_TANK)) {
19297
- batch.push(
19298
- // Salary item is completed when user added salary income source
19299
- this.setItemStatus(this.items.findBy('isSalary', true), this.getIncomeSources(true)),
19300
- // Other income is a part of work tank, completed when user added at least one other income source
19301
- this.setItemStatus(this.items.findBy('isOtherIncome', true), this.getIncomeSources()));
19302
- }
19303
- // Rental income item is completed when user added at least one property
19304
- if (this.user.hasRoles(UserRolesEnum.PROPERTY_TANK)) {
19305
- batch.push(this.setItemStatus(this.items.findBy('isProperty', true), this.propertyService.getArray()));
19306
- }
19307
- // Sole business item is completed when user added at least one business
19308
- if (this.user.hasRoles(UserRolesEnum.SOLE_TANK)) {
19309
- batch.push(this.setItemStatus(this.items.findBy('isSoleBusiness', true), this.soleBusinessService.getArray()));
19310
- }
19311
- // holdings item is completed when user added at least one holding
19312
- if (this.user.hasRoles(UserRolesEnum.HOLDING_TANK)) {
19313
- batch.push(this.setItemStatus(this.items.findBy('isHoldings', true), this.holdingService.getArray()));
19314
- }
19315
- if (this.user.hasRoles([UserRolesEnum.WORK_TANK, UserRolesEnum.PROPERTY_TANK, UserRolesEnum.SOLE_TANK])) {
19316
- // Bank feeds item is completed when user added at least one bank account (basiq or manual)
19317
- batch.push(this.getBankFeedsItem());
19318
- // Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
19319
- batch.push(this.getLogbookItem());
19320
- // Allocation item is completed when user added at least one transaction allocation
19321
- batch.push(this.setItemStatus(this.items.findBy('isTransactionAllocate', true), this.transactionAllocationService.get()));
19338
+ setItemsStatus(property) {
19339
+ const itemsById = this.items.indexBy('id');
19340
+ const requests = pick({
19341
+ // firm
19342
+ [AccountSetupItemsEnum.FIRM_DETAILS]: this.getFirms(),
19343
+ [AccountSetupItemsEnum.FIRM_EMPLOYEES]: this.getEmployees(),
19344
+ [AccountSetupItemsEnum.FIRM_CLIENTS]: this.getClients(),
19345
+ // work
19346
+ [AccountSetupItemsEnum.WORK_SALARY]: this.getIncomeSources(true),
19347
+ [AccountSetupItemsEnum.WORK_OTHER_INCOME]: this.getIncomeSources(false),
19348
+ [AccountSetupItemsEnum.WORK_VEHICLE_CLAIM]: this.getVehicleClaims(false),
19349
+ [AccountSetupItemsEnum.WORK_HOME_OFFICE]: this.getHomeOfficeClaims(false),
19350
+ [AccountSetupItemsEnum.WORK_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.WORK),
19351
+ [AccountSetupItemsEnum.WORK_DEPRECIATION]: this.getDepreciations(TankTypeEnum.WORK),
19352
+ // properties
19353
+ [AccountSetupItemsEnum.PROPERTY]: this.propertyService.getArray(),
19354
+ [AccountSetupItemsEnum.PROPERTIES]: this.propertyService.getArray().pipe(map(properties => properties.slice(1))),
19355
+ [AccountSetupItemsEnum.PROPERTIES_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.PROPERTY),
19356
+ // sole
19357
+ [AccountSetupItemsEnum.SOLE_BUSINESS]: this.soleBusinessService.getArray(),
19358
+ [AccountSetupItemsEnum.SOLE_BUSINESSES]: this.soleBusinessService.getArray().pipe(map(businesses => businesses.slice(1))),
19359
+ [AccountSetupItemsEnum.SOLE_VEHICLE_CLAIM]: this.getVehicleClaims(true),
19360
+ [AccountSetupItemsEnum.SOLE_HOME_OFFICE]: this.getHomeOfficeClaims(true),
19361
+ [AccountSetupItemsEnum.SOLE_DEPRECIATION]: this.getDepreciations(TankTypeEnum.SOLE),
19362
+ [AccountSetupItemsEnum.SOLE_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.SOLE),
19363
+ // holding
19364
+ [AccountSetupItemsEnum.HOLDING_TRADE]: this.holdingService.getArray(),
19365
+ [AccountSetupItemsEnum.HOLDING_INTEGRATION]: this.getSharesightDetails(true),
19366
+ // bankAccount
19367
+ [AccountSetupItemsEnum.BANK_CONNECTION]: this.bankConnectionService.getArray(),
19368
+ [AccountSetupItemsEnum.BANK_ACCOUNT]: this.getBankAccounts(),
19369
+ [AccountSetupItemsEnum.BANK_ALLOCATION]: this.transactionAllocationService.get(),
19370
+ [AccountSetupItemsEnum.BANK_RULE]: this.allocationRuleService.getArray(),
19371
+ [AccountSetupItemsEnum.BANK_BORROWING_EXPENSE]: this.getBorrowingExpenses(),
19372
+ }, this.items.getIds());
19373
+ // property
19374
+ if (property) {
19375
+ requests[AccountSetupItemsEnum.PROPERTY_CAPITAL_COST] = this.getProperties(property).pipe(map(properties => properties.filter(property => !!property.capitalCosts)));
19376
+ requests[AccountSetupItemsEnum.PROPERTY_RENT_INCOME] = this.getTransactions(property).pipe(map(transactions => new TransactionCollection(transactions).filterBy('chartAccounts.id', ChartAccountsListEnum.RENTAL_INCOME)));
19377
+ requests[AccountSetupItemsEnum.PROPERTY_DEPRECIATION] = this.getDepreciations(TankTypeEnum.PROPERTY, property);
19378
+ requests[AccountSetupItemsEnum.PROPERTY_CO_OWNER] = this.getCoOwners(property);
19379
+ }
19380
+ const batch = Object.keys(requests).map(id => this.setItemStatus(itemsById.get(id), requests[id]));
19381
+ if (!batch.length) {
19382
+ return of(new AccountSetupItemCollection([]));
19322
19383
  }
19323
19384
  return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
19324
19385
  }
19325
- getFirmItems$() {
19326
- const batch = [];
19327
- batch.push(
19328
- // Firm Details item is completed when user filled some general information
19329
- this.firmService.get().pipe(map((firm) => {
19330
- const item = this.items.findBy('isFirmDetails', true);
19331
- if (firm.address || firm.phone || firm.file || firm.shortName) {
19332
- item.isCompleted = true;
19333
- }
19334
- return item;
19335
- })));
19336
- batch.push(
19337
- // Invite team item is completed when firm has employees except firm owner or firm has invited employees.
19338
- this.setItemStatus(this.items.findBy('isInviteTeam', true), combineLatest([
19339
- this.employeeService.getArray(),
19340
- this.employeeInviteService.getArray()
19341
- ]).pipe(map(([employees, invites]) => {
19342
- // we always have at least 1 employee (firm owner), so we should check other employees except firm owner
19343
- if (employees.length) {
19344
- employees.splice(0, 1);
19345
- }
19346
- return [...employees, ...invites];
19347
- }))));
19348
- batch.push(
19349
- // Invite clients item is completed when firm has clients or firm has invited clients.
19350
- this.setItemStatus(this.items.findBy('isInviteClients', true), combineLatest([this.clientMovementService.getActive(), this.clientInviteService.get()])
19351
- .pipe(map(([movements, invites]) => [...movements.toArray(), ...invites.toArray()]))));
19352
- return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items).sortBy('id', 'asc')));
19353
- }
19354
19386
  /**
19355
19387
  * Check and update isCompleted flag for passed item
19356
19388
  */
19357
19389
  setItemStatus(item, request) {
19358
19390
  return request.pipe(map((result) => {
19359
19391
  const isSkipped = !!this.user.blacklistSetupItems.find((skippedItem) => skippedItem.id === item.id);
19360
- if (result.length || isSkipped) {
19361
- item.isCompleted = true;
19362
- }
19363
- else {
19364
- item.isCompleted = false;
19365
- }
19392
+ item.status = isSkipped ? AccountSetupItemStatusEnum.SKIPPED : result.length ? AccountSetupItemStatusEnum.ACHIEVED : AccountSetupItemStatusEnum.PENDING;
19366
19393
  return item;
19367
19394
  }));
19368
19395
  }
19396
+ getProperties(property) {
19397
+ return this.propertyService.getBy('id', property.id).pipe(map(properties => properties));
19398
+ }
19399
+ getTransactions(property) {
19400
+ return this.transactionService.getByPropertyId(property.id);
19401
+ }
19402
+ getCoOwners(property) {
19403
+ return this.propertyShareService.getArrayBy('property.id', property.id).pipe(map(shares => shares.slice(1)));
19404
+ }
19405
+ /**
19406
+ * AccountSetupItemsEnum.FIRM_CLIENTS completed when client invites sent or accepted
19407
+ */
19408
+ getClients() {
19409
+ return combineLatest([this.clientMovementService.getActive(), this.clientInviteService.get()]).pipe(map(([movements, invites]) => [...movements, ...invites]));
19410
+ }
19411
+ /**
19412
+ * AccountSetupItemsEnum.FIRM_EMPLOYEES completed when employee invites sent or accepted
19413
+ */
19414
+ getEmployees() {
19415
+ return combineLatest([this.employeeService.getArray(), this.employeeInviteService.getArray()]).pipe(map(([employees, invites]) => [...employees.slice(1), ...invites]));
19416
+ }
19417
+ /**
19418
+ * AccountSetupItemsEnum.FIRM_DETAILS when firm data filled
19419
+ */
19420
+ getFirms() {
19421
+ return this.firmService.get().pipe(map((firm) => [firm].filter(firm => firm.address || firm.phone || firm.file || firm.shortName)));
19422
+ }
19369
19423
  /**
19370
19424
  * @TODO Alex: work with collection when services refactored
19371
19425
  * @TODO Vik: waiting for income sources refactoring
19372
19426
  */
19373
- getIncomeSources(isSalary = false) {
19427
+ getIncomeSources(isSalary) {
19374
19428
  return this.incomeSourceService.get().pipe(map((incomeSources) => {
19375
19429
  const collection = new IncomeSourceCollection(incomeSources);
19376
19430
  if (isSalary) {
@@ -19379,31 +19433,31 @@ class AccountSetupService {
19379
19433
  return collection.items.filter((incomeSource) => incomeSource.isOtherIncome());
19380
19434
  }));
19381
19435
  }
19382
- /**
19383
- * Show logbook item when user has at least 1 vehicle transaction
19384
- */
19385
- getLogbookItem() {
19386
- return this.transactionService.get()
19387
- .pipe(
19388
- // @TODO Alex: remove map when services start work with collections
19389
- map((transactions) => new TransactionCollection(transactions)), mergeMap((transactions) => {
19390
- if (transactions.getVehicleTransactions().length) {
19391
- return this.setItemStatus(this.items.findBy('isWorkLogbook', true), this.vehicleClaimService.getArray());
19436
+ getVehicleClaims(isBusiness) {
19437
+ return this.vehicleClaimService.getArray().pipe(map((claims => claims.filter(claim => isBusiness ? claim.business : !claim.business))));
19438
+ }
19439
+ getHomeOfficeClaims(isBusiness) {
19440
+ return this.homeOfficeClaimService.getArray().pipe(map(claims => claims.filter(claim => isBusiness ? claim.business : !claim.business)));
19441
+ }
19442
+ getBankAccounts(tankType) {
19443
+ return this.bankAccountsService.get().pipe(map((bankAccounts => bankAccounts.getByTankType(tankType).toArray())));
19444
+ }
19445
+ getDepreciations(tankType, property) {
19446
+ return this.depreciationService.get().pipe(map(depreciations => {
19447
+ depreciations = depreciations.getByTankType(tankType);
19448
+ if (property) {
19449
+ depreciations.filterBy('property.id', property.id);
19392
19450
  }
19393
- return of(null);
19451
+ return depreciations.toArray();
19394
19452
  }));
19395
19453
  }
19396
- /**
19397
- * Hide bank feeds item when user has only holding tank
19398
- */
19399
- getBankFeedsItem() {
19400
- const bankFeedsRoles = [UserRolesEnum.PROPERTY_TANK, UserRolesEnum.WORK_TANK, UserRolesEnum.SOLE_TANK];
19401
- if (!intersection(bankFeedsRoles, this.user.roles).length) {
19402
- return of(null);
19403
- }
19404
- return this.setItemStatus(this.items.findBy('isBankFeeds', true), this.bankAccountsService.getArray());
19454
+ getSharesightDetails(importEnabled) {
19455
+ return this.sharesightDetailsService.getArray().pipe(map(details => details.filter(detail => importEnabled ? detail.importEnabled : detail.exportEnabled)));
19405
19456
  }
19406
- 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 }); }
19457
+ getBorrowingExpenses() {
19458
+ return this.loanService.getArray().pipe(map(loans => loans.filter(loan => !!loan.borrowingExpenses.length)));
19459
+ }
19460
+ 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 }); }
19407
19461
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: AccountSetupService, providedIn: 'root' }); }
19408
19462
  }
19409
19463
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: AccountSetupService, decorators: [{
@@ -19411,7 +19465,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19411
19465
  args: [{
19412
19466
  providedIn: 'root'
19413
19467
  }]
19414
- }], 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 }] });
19468
+ }], 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 }] });
19415
19469
 
19416
19470
  class AdblockService {
19417
19471
  constructor() {
@@ -20548,6 +20602,7 @@ const ENDPOINTS = {
20548
20602
  SERVICE_PAYMENTS_GET: new Endpoint('GET', '\\/service-payments'),
20549
20603
  SERVICE_SUBSCRIPTIONS_GET: new Endpoint('GET', '\\/service-subscriptions'),
20550
20604
  SERVICE_SUBSCRIPTIONS_POST: new Endpoint('POST', '\\/service-subscriptions'),
20605
+ SERVICE_SUBSCRIPTIONS_TRIAL_POST: new Endpoint('POST', '\\/service-subscriptions/'),
20551
20606
  SERVICE_SUBSCRIPTIONS_CANCEL: new Endpoint('PUT', '\\/service-subscriptions\\/\\d+\\/cancel'),
20552
20607
  SERVICE_SUBSCRIPTIONS_RENEW: new Endpoint('PUT', '\\/service-subscriptions\\/\\d+\\/renewal'),
20553
20608
  SERVICE_PAYMENT_INVOICE_URL_GET: new Endpoint('GET', '\\/service-payments\\/\\d+\\/invoice-url'),
@@ -20604,6 +20659,7 @@ const ENDPOINTS = {
20604
20659
  TRANSACTIONS_ALLOCATIONS_POST: new Endpoint('POST', '\\/transaction-allocations'),
20605
20660
  TRANSACTIONS_ALLOCATIONS_DELETE: new Endpoint('DELETE', '\\/transaction-allocations\\/\\d+'),
20606
20661
  TRANSACTIONS_ALLOCATIONS_BATCH_DELETE: new Endpoint('POST', '\\/transaction-allocations\\/delete'),
20662
+ TRIAL_POST: new Endpoint('POST', '\\/trial'),
20607
20663
  USER_CONFIRMATION_POST: new Endpoint('POST', '\\/users\\/confirmation'),
20608
20664
  USER_CONFIRMATION_RESEND_POST: new Endpoint('POST', '\\/users\\/confirmation\\/resend'),
20609
20665
  USER_CURRENT_GET: new Endpoint('GET', '\\/users\\/current'),
@@ -21002,6 +21058,15 @@ var InviteStatusEnum;
21002
21058
  InviteStatusEnum[InviteStatusEnum["REJECTED"] = 3] = "REJECTED";
21003
21059
  })(InviteStatusEnum || (InviteStatusEnum = {}));
21004
21060
 
21061
+ var YoutubeVideosEnum;
21062
+ (function (YoutubeVideosEnum) {
21063
+ YoutubeVideosEnum["HOLDING_ONBOARDING"] = "r3RhObELk-E";
21064
+ YoutubeVideosEnum["MONEY_ONBOARDING"] = "E9NU14ndjhc";
21065
+ YoutubeVideosEnum["PROPERTY_ONBOARDING"] = "llUV98-EMdI";
21066
+ YoutubeVideosEnum["SOLE_ONBOARDING"] = "rqfTQFGwkUM";
21067
+ YoutubeVideosEnum["WORK_ONBOARDING"] = "QEKolzS1B0U";
21068
+ })(YoutubeVideosEnum || (YoutubeVideosEnum = {}));
21069
+
21005
21070
  var PropertyDepreciationCalculationEnum;
21006
21071
  (function (PropertyDepreciationCalculationEnum) {
21007
21072
  PropertyDepreciationCalculationEnum[PropertyDepreciationCalculationEnum["PRIME_COST"] = 1] = "PRIME_COST";
@@ -25460,5 +25525,5 @@ var MessagesEnum;
25460
25525
  * Generated bundle index. Do not edit.
25461
25526
  */
25462
25527
 
25463
- 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 };
25528
+ 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, 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, YoutubeVideosEnum, alphaSpaceValidator, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, toArray };
25464
25529
  //# sourceMappingURL=taxtank-core.mjs.map