taxtank-core 1.0.17 → 1.0.19

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.
@@ -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)
@@ -1451,6 +1456,18 @@ var HomeOfficeClaimMethodEnum;
1451
1456
  HomeOfficeClaimMethodEnum[HomeOfficeClaimMethodEnum["OCCUPANCY"] = 3] = "OCCUPANCY";
1452
1457
  })(HomeOfficeClaimMethodEnum || (HomeOfficeClaimMethodEnum = {}));
1453
1458
 
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
+
1454
1471
  /**
1455
1472
  * @TODO not used for now
1456
1473
  * Bank subclass, average bank response time for some operations in milliseconds
@@ -5364,61 +5381,72 @@ __decorate([
5364
5381
  class SetupItem extends AbstractModel {
5365
5382
  }
5366
5383
 
5367
- /**
5368
- * Enum list of all possible account setup items ids. Using with [ACCOUNT_SETUP_ITEMS]{@link ACCOUNT_SETUP_ITEMS}
5369
- * @TODO Vik/Nikita: Do we need to generate it from backend? If some ids changed?
5370
- */
5371
- var AccountSetupItemsEnum;
5372
- (function (AccountSetupItemsEnum) {
5373
- AccountSetupItemsEnum[AccountSetupItemsEnum["SALARY"] = 1] = "SALARY";
5374
- AccountSetupItemsEnum[AccountSetupItemsEnum["OTHER_INCOME"] = 2] = "OTHER_INCOME";
5375
- AccountSetupItemsEnum[AccountSetupItemsEnum["PROPERTY"] = 3] = "PROPERTY";
5376
- AccountSetupItemsEnum[AccountSetupItemsEnum["BANK_FEEDS"] = 4] = "BANK_FEEDS";
5377
- AccountSetupItemsEnum[AccountSetupItemsEnum["WORK_LOGBOOK"] = 5] = "WORK_LOGBOOK";
5378
- AccountSetupItemsEnum[AccountSetupItemsEnum["TRANSACTION_ALLOCATE"] = 6] = "TRANSACTION_ALLOCATE";
5379
- AccountSetupItemsEnum[AccountSetupItemsEnum["SOLE_BUSINESS"] = 7] = "SOLE_BUSINESS";
5380
- AccountSetupItemsEnum[AccountSetupItemsEnum["HOLDINGS"] = 8] = "HOLDINGS";
5381
- AccountSetupItemsEnum[AccountSetupItemsEnum["FIRM_DETAILS"] = 9] = "FIRM_DETAILS";
5382
- AccountSetupItemsEnum[AccountSetupItemsEnum["INVITE_TEAM"] = 10] = "INVITE_TEAM";
5383
- AccountSetupItemsEnum[AccountSetupItemsEnum["INVITE_CLIENTS"] = 11] = "INVITE_CLIENTS";
5384
- })(AccountSetupItemsEnum || (AccountSetupItemsEnum = {}));
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 = {}));
5385
5390
 
5386
5391
  class AccountSetupItem extends SetupItem {
5387
- get isSalary() {
5388
- return this.id === AccountSetupItemsEnum.SALARY;
5389
- }
5390
- get isOtherIncome() {
5391
- return this.id === AccountSetupItemsEnum.OTHER_INCOME;
5392
- }
5393
- get isProperty() {
5394
- return this.id === AccountSetupItemsEnum.PROPERTY;
5395
- }
5396
- get isBankFeeds() {
5397
- return this.id === AccountSetupItemsEnum.BANK_FEEDS;
5392
+ get isPending() {
5393
+ return this.status === AccountSetupItemStatusEnum.PENDING;
5398
5394
  }
5399
- get isWorkLogbook() {
5400
- return this.id === AccountSetupItemsEnum.WORK_LOGBOOK;
5395
+ get isAchieved() {
5396
+ return this.status === AccountSetupItemStatusEnum.SKIPPED;
5401
5397
  }
5402
- get isTransactionAllocate() {
5403
- return this.id === AccountSetupItemsEnum.TRANSACTION_ALLOCATE;
5398
+ get isCompleted() {
5399
+ return [AccountSetupItemStatusEnum.ACHIEVED, AccountSetupItemStatusEnum.SKIPPED].includes(this.status);
5404
5400
  }
5405
- get isSoleBusiness() {
5406
- return this.id === AccountSetupItemsEnum.SOLE_BUSINESS;
5407
- }
5408
- get isHoldings() {
5409
- return this.id === AccountSetupItemsEnum.HOLDINGS;
5410
- }
5411
- get isFirmDetails() {
5412
- return this.id === AccountSetupItemsEnum.FIRM_DETAILS;
5413
- }
5414
- get isInviteTeam() {
5415
- return this.id === AccountSetupItemsEnum.INVITE_TEAM;
5416
- }
5417
- get isInviteClients() {
5418
- return this.id === AccountSetupItemsEnum.INVITE_CLIENTS;
5401
+ get isSkipped() {
5402
+ return this.status === AccountSetupItemStatusEnum.SKIPPED;
5419
5403
  }
5420
5404
  }
5421
5405
 
5406
+ /**
5407
+ * TODO remove
5408
+ */
5409
+ var AccountSetupItemsEnum;
5410
+ (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
5423
+ 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
5432
+ 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";
5448
+ })(AccountSetupItemsEnum || (AccountSetupItemsEnum = {}));
5449
+
5422
5450
  class User extends User$1 {
5423
5451
  constructor() {
5424
5452
  super(...arguments);
@@ -8554,6 +8582,9 @@ class ServiceSubscriptionCollection extends Collection {
8554
8582
  filterByRole(role) {
8555
8583
  return this.filter((subscription) => subscription.roles.includes(role));
8556
8584
  }
8585
+ findByRole(role) {
8586
+ return this.filterByRole(role).first;
8587
+ }
8557
8588
  hasPropertyTank() {
8558
8589
  return !!this.getItems().propertiesItem;
8559
8590
  }
@@ -8959,11 +8990,25 @@ class AllocationRuleCollection extends Collection {
8959
8990
  class AccountSetupItemCollection extends Collection {
8960
8991
  constructor(items) {
8961
8992
  super(compact(items));
8962
- this.sortBy('isCompleted', 'asc');
8993
+ this.sortBy('status', 'asc');
8963
8994
  }
8964
8995
  isCompleted() {
8965
8996
  return this.filterBy('isCompleted', true).length === this.length;
8966
8997
  }
8998
+ getByUser(user) {
8999
+ return this.filter(item => user.hasRoles(item.roles));
9000
+ }
9001
+ getScore() {
9002
+ return this.sumBy('score');
9003
+ }
9004
+ setUrlId(id) {
9005
+ this.items.forEach(item => {
9006
+ if (!item.url.includes(':id')) {
9007
+ return;
9008
+ }
9009
+ item.url = item.url.replace(':id', id);
9010
+ });
9011
+ }
8967
9012
  }
8968
9013
 
8969
9014
  /**
@@ -9023,7 +9068,7 @@ class BankAccountCollection extends Collection {
9023
9068
  * Get Collection of bank accounts by tank type
9024
9069
  */
9025
9070
  getByTankType(tankType) {
9026
- return new BankAccountCollection(this.items.filter((bankAccount) => bankAccount.tankType === tankType));
9071
+ return new BankAccountCollection(tankType ? this.items.filter((bankAccount) => bankAccount.tankType === tankType) : this.items);
9027
9072
  }
9028
9073
  /**
9029
9074
  * Get list of all bank account properties
@@ -11535,8 +11580,9 @@ let RestService$1 = class RestService extends DataService {
11535
11580
  * Refresh cache with actual backend data
11536
11581
  */
11537
11582
  refreshCache() {
11583
+ // todo why not fetch?
11538
11584
  this.cache = undefined;
11539
- this.get();
11585
+ this.get().subscribe();
11540
11586
  }
11541
11587
  /**
11542
11588
  * perform a shallow copy of the emitted data to make it immutable
@@ -11548,17 +11594,17 @@ let RestService$1 = class RestService extends DataService {
11548
11594
  * Get data from backend and fill the cache
11549
11595
  */
11550
11596
  fetch(path = this.apiUrl, cache = true, queryParams = {}) {
11551
- if (cache) {
11552
- // Set cache as empty collection to avoid multiple requests before cache filled
11553
- this.setCache([]);
11597
+ if (this.inFlight$) {
11598
+ return this.inFlight$;
11554
11599
  }
11555
- return this.http.get(path, queryParams)
11600
+ this.inFlight$ = this.http.get(path, queryParams)
11556
11601
  .pipe(map((response) => Array.isArray(response) ? response : toArray(response)), map((response) => {
11557
11602
  if (cache) {
11558
11603
  this.setCache(response, true);
11559
11604
  }
11560
11605
  return this.createCollectionInstance(this.collectionClass, response);
11561
- }), catchError((error) => this.handleError(error)));
11606
+ }), catchError((error) => this.handleError(error)), finalize(() => this.inFlight$ = null), shareReplay({ bufferSize: 1, refCount: true }));
11607
+ return this.inFlight$;
11562
11608
  }
11563
11609
  fetchFirst(queryParams = {}) {
11564
11610
  return this.fetch(this.apiUrl, false, { params: queryParams })
@@ -11567,10 +11613,11 @@ let RestService$1 = class RestService extends DataService {
11567
11613
  get(path = this.apiUrl) {
11568
11614
  this.handleAccessError('get');
11569
11615
  if (!this.hasRoles()) {
11616
+ // @TODO it completes observable and doesn't watch anymore
11570
11617
  return of(this.createCollectionInstance(this.collectionClass, []));
11571
11618
  }
11572
11619
  if (!this.cache) {
11573
- this.fetch(path).pipe(first$1()).subscribe();
11620
+ return this.fetch(path).pipe(switchMap(() => this.getCacheSubjectObservable()));
11574
11621
  }
11575
11622
  return this.getCacheSubjectObservable();
11576
11623
  }
@@ -13365,22 +13412,17 @@ class FirmService {
13365
13412
  this.environment = environment;
13366
13413
  this.firmSubject = new ReplaySubject(1);
13367
13414
  }
13368
- /**
13369
- * Register new firm
13370
- * @param data: firm and firm owner data to register
13371
- */
13372
13415
  register(data) {
13373
13416
  return this.http.post(`${this.environment.apiV2}/firms/registration`, data)
13374
13417
  .pipe(map((firm) => plainToClass(Firm, firm)));
13375
13418
  }
13376
13419
  get() {
13377
13420
  if (!this.firm) {
13378
- this.http.get(`${this.environment.apiV2}/firms/current`)
13379
- .pipe(map((firm) => plainToClass(Firm, firm)))
13380
- .subscribe((firm) => {
13381
- this.firm = firm;
13421
+ return this.http.get(`${this.environment.apiV2}/firms/current`).pipe(map((firm) => {
13422
+ this.firm = plainToClass(Firm, firm);
13382
13423
  this.firmSubject.next(this.firm);
13383
- });
13424
+ return this.firm;
13425
+ }), switchMap(() => this.firmSubject.asObservable()));
13384
13426
  }
13385
13427
  return this.firmSubject.asObservable();
13386
13428
  }
@@ -13465,24 +13507,25 @@ class RestService {
13465
13507
  * get list of base class instances directly from backend
13466
13508
  */
13467
13509
  fetch(path = this.apiUrl, cache = true, params = {}) {
13468
- if (cache) {
13469
- this.setCache([]);
13510
+ if (this.inFlight$) {
13511
+ return this.inFlight$;
13470
13512
  }
13471
- return this.http.get(path, { params: params })
13513
+ this.inFlight$ = this.http.get(path, { params: params })
13472
13514
  .pipe(map((response) => {
13473
13515
  const items = response.map((item) => this.createModelInstance(item));
13474
13516
  if (cache) {
13475
13517
  this.setCache(items, true);
13476
13518
  }
13477
13519
  return items;
13478
- }));
13520
+ }), finalize(() => this.inFlight$ = null), shareReplay({ bufferSize: 1, refCount: true }));
13521
+ return this.inFlight$;
13479
13522
  }
13480
13523
  /**
13481
13524
  * get cached list of all instances
13482
13525
  */
13483
13526
  get(path = this.apiUrl) {
13484
13527
  if (!this.cache) {
13485
- this.fetch(path).pipe(first$1()).subscribe();
13528
+ return this.fetch(path).pipe(first$1(), switchMap(() => this.getCacheSubjectObservable()));
13486
13529
  }
13487
13530
  return this.getCacheSubjectObservable();
13488
13531
  }
@@ -13631,7 +13674,7 @@ class RestService {
13631
13674
  */
13632
13675
  refreshCache() {
13633
13676
  this.setCache(undefined);
13634
- this.get();
13677
+ this.get().subscribe();
13635
13678
  }
13636
13679
  setCache(data, next = false) {
13637
13680
  this.cache = data;
@@ -16552,6 +16595,11 @@ class UserService extends RestService$1 {
16552
16595
  user.blacklistSetupItems.push(item);
16553
16596
  return this.put(user);
16554
16597
  }
16598
+ restoreSetupItem(item) {
16599
+ const user = clone(this.getCacheFirst());
16600
+ remove(user.blacklistSetupItems, (i) => i.id === item.id);
16601
+ return this.put(user);
16602
+ }
16555
16603
  /**
16556
16604
  * Update cache when user's service subscription is updated
16557
16605
  */
@@ -19185,12 +19233,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19185
19233
  }]
19186
19234
  }], ctorParameters: () => [] });
19187
19235
 
19188
- var SetupItemTypeEnum;
19189
- (function (SetupItemTypeEnum) {
19190
- SetupItemTypeEnum[SetupItemTypeEnum["CLIENT"] = 1] = "CLIENT";
19191
- SetupItemTypeEnum[SetupItemTypeEnum["EMPLOYEE"] = 2] = "EMPLOYEE";
19192
- })(SetupItemTypeEnum || (SetupItemTypeEnum = {}));
19193
-
19194
19236
  class SetupItemService extends RestService$1 {
19195
19237
  constructor() {
19196
19238
  super(...arguments);
@@ -19214,14 +19256,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19214
19256
  * Checks required steps and their completion
19215
19257
  */
19216
19258
  class AccountSetupService {
19217
- constructor(setupItemService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService, userService, clientMovementService, clientInviteService, employeeService, employeeInviteService, firmService) {
19259
+ constructor(setupItemService, propertyService, incomeSourceService, bankConnectionService, bankAccountsService, loanService, allocationRuleService, transactionAllocationService, vehicleClaimService, homeOfficeClaimService, transactionService, depreciationService, soleBusinessService, holdingService, userService, clientMovementService, clientInviteService, employeeService, employeeInviteService, firmService, sharesightDetailsService, propertyShareService) {
19218
19260
  this.setupItemService = setupItemService;
19219
19261
  this.propertyService = propertyService;
19220
19262
  this.incomeSourceService = incomeSourceService;
19263
+ this.bankConnectionService = bankConnectionService;
19221
19264
  this.bankAccountsService = bankAccountsService;
19265
+ this.loanService = loanService;
19266
+ this.allocationRuleService = allocationRuleService;
19222
19267
  this.transactionAllocationService = transactionAllocationService;
19223
19268
  this.vehicleClaimService = vehicleClaimService;
19269
+ this.homeOfficeClaimService = homeOfficeClaimService;
19224
19270
  this.transactionService = transactionService;
19271
+ this.depreciationService = depreciationService;
19225
19272
  this.soleBusinessService = soleBusinessService;
19226
19273
  this.holdingService = holdingService;
19227
19274
  this.userService = userService;
@@ -19230,101 +19277,110 @@ class AccountSetupService {
19230
19277
  this.employeeService = employeeService;
19231
19278
  this.employeeInviteService = employeeInviteService;
19232
19279
  this.firmService = firmService;
19280
+ this.sharesightDetailsService = sharesightDetailsService;
19281
+ this.propertyShareService = propertyShareService;
19233
19282
  }
19234
19283
  /**
19235
19284
  * Get list of account setup items for current user/firm
19236
19285
  */
19237
- get(type) {
19238
- return combineLatest([
19239
- this.setupItemService.get(),
19240
- this.userService.getFirst()
19241
- ])
19242
- .pipe(mergeMap(([items, user]) => {
19243
- this.items = items;
19286
+ get(property) {
19287
+ // @TODO it takes time for user to update, makes sense to subscribe to serviceSubscription instead
19288
+ return combineLatest([this.setupItemService.get(), this.userService.getFirst()]).pipe(switchMap(([items, user]) => {
19244
19289
  this.user = user;
19245
- return type === SetupItemTypeEnum.CLIENT ? this.getClientItems$() : this.getFirmItems$();
19290
+ this.items = items.getByUser(user);
19291
+ return this.setItemsStatus(property);
19246
19292
  }));
19247
19293
  }
19248
- getClientItems$() {
19249
- const batch = [];
19250
- if (this.user.hasRoles(UserRolesEnum.WORK_TANK)) {
19251
- batch.push(
19252
- // Salary item is completed when user added salary income source
19253
- this.setItemStatus(this.items.findBy('isSalary', true), this.getIncomeSources(true)),
19254
- // Other income is a part of work tank, completed when user added at least one other income source
19255
- this.setItemStatus(this.items.findBy('isOtherIncome', true), this.getIncomeSources()));
19256
- }
19257
- // Rental income item is completed when user added at least one property
19258
- if (this.user.hasRoles(UserRolesEnum.PROPERTY_TANK)) {
19259
- batch.push(this.setItemStatus(this.items.findBy('isProperty', true), this.propertyService.getArray()));
19260
- }
19261
- // Sole business item is completed when user added at least one business
19262
- if (this.user.hasRoles(UserRolesEnum.SOLE_TANK)) {
19263
- batch.push(this.setItemStatus(this.items.findBy('isSoleBusiness', true), this.soleBusinessService.getArray()));
19264
- }
19265
- // holdings item is completed when user added at least one holding
19266
- if (this.user.hasRoles(UserRolesEnum.HOLDING_TANK)) {
19267
- batch.push(this.setItemStatus(this.items.findBy('isHoldings', true), this.holdingService.getArray()));
19268
- }
19269
- if (this.user.hasRoles([UserRolesEnum.WORK_TANK, UserRolesEnum.PROPERTY_TANK, UserRolesEnum.SOLE_TANK])) {
19270
- // Bank feeds item is completed when user added at least one bank account (basiq or manual)
19271
- batch.push(this.getBankFeedsItem());
19272
- // Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
19273
- batch.push(this.getLogbookItem());
19274
- // Allocation item is completed when user added at least one transaction allocation
19275
- batch.push(this.setItemStatus(this.items.findBy('isTransactionAllocate', true), this.transactionAllocationService.get()));
19294
+ setItemsStatus(property) {
19295
+ const itemsById = this.items.indexBy('id');
19296
+ const requests = pick({
19297
+ // firm
19298
+ [AccountSetupItemsEnum.FIRM_DETAILS]: this.getFirms(),
19299
+ [AccountSetupItemsEnum.FIRM_EMPLOYEES]: this.getEmployees(),
19300
+ [AccountSetupItemsEnum.FIRM_CLIENTS]: this.getClients(),
19301
+ // work
19302
+ [AccountSetupItemsEnum.WORK_SALARY]: this.getIncomeSources(true),
19303
+ [AccountSetupItemsEnum.WORK_OTHER_INCOME]: this.getIncomeSources(false),
19304
+ [AccountSetupItemsEnum.WORK_VEHICLE_CLAIM]: this.getVehicleClaims(false),
19305
+ [AccountSetupItemsEnum.WORK_HOME_OFFICE]: this.getHomeOfficeClaims(false),
19306
+ [AccountSetupItemsEnum.WORK_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.WORK),
19307
+ [AccountSetupItemsEnum.WORK_DEPRECIATION]: this.getDepreciations(TankTypeEnum.WORK),
19308
+ // properties
19309
+ [AccountSetupItemsEnum.PROPERTY]: this.propertyService.getArray(),
19310
+ [AccountSetupItemsEnum.PROPERTIES]: this.propertyService.getArray().pipe(map(properties => properties.slice(1))),
19311
+ [AccountSetupItemsEnum.PROPERTIES_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.PROPERTY),
19312
+ // sole
19313
+ [AccountSetupItemsEnum.SOLE_BUSINESS]: this.soleBusinessService.getArray(),
19314
+ [AccountSetupItemsEnum.SOLE_BUSINESSES]: this.soleBusinessService.getArray().pipe(map(businesses => businesses.slice(1))),
19315
+ [AccountSetupItemsEnum.SOLE_VEHICLE_CLAIM]: this.getVehicleClaims(true),
19316
+ [AccountSetupItemsEnum.SOLE_HOME_OFFICE]: this.getHomeOfficeClaims(true),
19317
+ [AccountSetupItemsEnum.SOLE_DEPRECIATION]: this.getDepreciations(TankTypeEnum.SOLE),
19318
+ [AccountSetupItemsEnum.SOLE_BANK_ACCOUNT]: this.getBankAccounts(TankTypeEnum.SOLE),
19319
+ // holding
19320
+ [AccountSetupItemsEnum.HOLDING_TRADE]: this.holdingService.getArray(),
19321
+ [AccountSetupItemsEnum.HOLDING_INTEGRATION]: this.getSharesightDetails(true),
19322
+ // bankAccount
19323
+ [AccountSetupItemsEnum.BANK_CONNECTION]: this.bankConnectionService.getArray(),
19324
+ [AccountSetupItemsEnum.BANK_ACCOUNT]: this.getBankAccounts(),
19325
+ [AccountSetupItemsEnum.BANK_ALLOCATION]: this.transactionAllocationService.get(),
19326
+ [AccountSetupItemsEnum.BANK_RULE]: this.allocationRuleService.getArray(),
19327
+ [AccountSetupItemsEnum.BANK_BORROWING_EXPENSE]: this.getBorrowingExpenses(),
19328
+ }, this.items.getIds());
19329
+ // property
19330
+ if (property) {
19331
+ requests[AccountSetupItemsEnum.PROPERTY_CAPITAL_COST] = this.getProperties(property).pipe(map(properties => properties.filter(property => !!property.capitalCosts)));
19332
+ requests[AccountSetupItemsEnum.PROPERTY_RENT_INCOME] = this.getTransactions(property).pipe(map(transactions => new TransactionCollection(transactions).filterBy('chartAccounts.id', ChartAccountsListEnum.RENTAL_INCOME)));
19333
+ requests[AccountSetupItemsEnum.PROPERTY_DEPRECIATION] = this.getDepreciations(TankTypeEnum.PROPERTY, property);
19334
+ requests[AccountSetupItemsEnum.PROPERTY_CO_OWNER] = this.getCoOwners(property);
19335
+ }
19336
+ const batch = Object.keys(requests).map(id => this.setItemStatus(itemsById.get(id), requests[id]));
19337
+ if (!batch.length) {
19338
+ return of(new AccountSetupItemCollection([]));
19276
19339
  }
19277
19340
  return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
19278
19341
  }
19279
- getFirmItems$() {
19280
- const batch = [];
19281
- batch.push(
19282
- // Firm Details item is completed when user filled some general information
19283
- this.firmService.get().pipe(map((firm) => {
19284
- const item = this.items.findBy('isFirmDetails', true);
19285
- if (firm.address || firm.phone || firm.file || firm.shortName) {
19286
- item.isCompleted = true;
19287
- }
19288
- return item;
19289
- })));
19290
- batch.push(
19291
- // Invite team item is completed when firm has employees except firm owner or firm has invited employees.
19292
- this.setItemStatus(this.items.findBy('isInviteTeam', true), combineLatest([
19293
- this.employeeService.getArray(),
19294
- this.employeeInviteService.getArray()
19295
- ]).pipe(map(([employees, invites]) => {
19296
- // we always have at least 1 employee (firm owner), so we should check other employees except firm owner
19297
- if (employees.length) {
19298
- employees.splice(0, 1);
19299
- }
19300
- return [...employees, ...invites];
19301
- }))));
19302
- batch.push(
19303
- // Invite clients item is completed when firm has clients or firm has invited clients.
19304
- this.setItemStatus(this.items.findBy('isInviteClients', true), combineLatest([this.clientMovementService.getActive(), this.clientInviteService.get()])
19305
- .pipe(map(([movements, invites]) => [...movements.toArray(), ...invites.toArray()]))));
19306
- return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items).sortBy('id', 'asc')));
19307
- }
19308
19342
  /**
19309
19343
  * Check and update isCompleted flag for passed item
19310
19344
  */
19311
19345
  setItemStatus(item, request) {
19312
19346
  return request.pipe(map((result) => {
19313
19347
  const isSkipped = !!this.user.blacklistSetupItems.find((skippedItem) => skippedItem.id === item.id);
19314
- if (result.length || isSkipped) {
19315
- item.isCompleted = true;
19316
- }
19317
- else {
19318
- item.isCompleted = false;
19319
- }
19348
+ item.status = isSkipped ? AccountSetupItemStatusEnum.SKIPPED : result.length ? AccountSetupItemStatusEnum.ACHIEVED : AccountSetupItemStatusEnum.PENDING;
19320
19349
  return item;
19321
19350
  }));
19322
19351
  }
19352
+ getProperties(property) {
19353
+ return this.propertyService.getBy('id', property.id).pipe(map(properties => properties));
19354
+ }
19355
+ getTransactions(property) {
19356
+ return this.transactionService.getByPropertyId(property.id);
19357
+ }
19358
+ getCoOwners(property) {
19359
+ return this.propertyShareService.getArrayBy('property.id', property.id).pipe(map(shares => shares.slice(1)));
19360
+ }
19361
+ /**
19362
+ * AccountSetupItemsEnum.FIRM_CLIENTS completed when client invites sent or accepted
19363
+ */
19364
+ getClients() {
19365
+ return combineLatest([this.clientMovementService.getActive(), this.clientInviteService.get()]).pipe(map(([movements, invites]) => [...movements, ...invites]));
19366
+ }
19367
+ /**
19368
+ * AccountSetupItemsEnum.FIRM_EMPLOYEES completed when employee invites sent or accepted
19369
+ */
19370
+ getEmployees() {
19371
+ return combineLatest([this.employeeService.getArray(), this.employeeInviteService.getArray()]).pipe(map(([employees, invites]) => [...employees.slice(1), ...invites]));
19372
+ }
19373
+ /**
19374
+ * AccountSetupItemsEnum.FIRM_DETAILS when firm data filled
19375
+ */
19376
+ getFirms() {
19377
+ return this.firmService.get().pipe(map((firm) => [firm].filter(firm => firm.address || firm.phone || firm.file || firm.shortName)));
19378
+ }
19323
19379
  /**
19324
19380
  * @TODO Alex: work with collection when services refactored
19325
19381
  * @TODO Vik: waiting for income sources refactoring
19326
19382
  */
19327
- getIncomeSources(isSalary = false) {
19383
+ getIncomeSources(isSalary) {
19328
19384
  return this.incomeSourceService.get().pipe(map((incomeSources) => {
19329
19385
  const collection = new IncomeSourceCollection(incomeSources);
19330
19386
  if (isSalary) {
@@ -19333,31 +19389,31 @@ class AccountSetupService {
19333
19389
  return collection.items.filter((incomeSource) => incomeSource.isOtherIncome());
19334
19390
  }));
19335
19391
  }
19336
- /**
19337
- * Show logbook item when user has at least 1 vehicle transaction
19338
- */
19339
- getLogbookItem() {
19340
- return this.transactionService.get()
19341
- .pipe(
19342
- // @TODO Alex: remove map when services start work with collections
19343
- map((transactions) => new TransactionCollection(transactions)), mergeMap((transactions) => {
19344
- if (transactions.getVehicleTransactions().length) {
19345
- return this.setItemStatus(this.items.findBy('isWorkLogbook', true), this.vehicleClaimService.getArray());
19392
+ getVehicleClaims(isBusiness) {
19393
+ return this.vehicleClaimService.getArray().pipe(map((claims => claims.filter(claim => isBusiness ? claim.business : !claim.business))));
19394
+ }
19395
+ getHomeOfficeClaims(isBusiness) {
19396
+ return this.homeOfficeClaimService.getArray().pipe(map(claims => claims.filter(claim => isBusiness ? claim.business : !claim.business)));
19397
+ }
19398
+ getBankAccounts(tankType) {
19399
+ return this.bankAccountsService.get().pipe(map((bankAccounts => bankAccounts.getByTankType(tankType).toArray())));
19400
+ }
19401
+ getDepreciations(tankType, property) {
19402
+ return this.depreciationService.get().pipe(map(depreciations => {
19403
+ depreciations = depreciations.getByTankType(tankType);
19404
+ if (property) {
19405
+ depreciations.filterBy('property.id', property.id);
19346
19406
  }
19347
- return of(null);
19407
+ return depreciations.toArray();
19348
19408
  }));
19349
19409
  }
19350
- /**
19351
- * Hide bank feeds item when user has only holding tank
19352
- */
19353
- getBankFeedsItem() {
19354
- const bankFeedsRoles = [UserRolesEnum.PROPERTY_TANK, UserRolesEnum.WORK_TANK, UserRolesEnum.SOLE_TANK];
19355
- if (!intersection(bankFeedsRoles, this.user.roles).length) {
19356
- return of(null);
19357
- }
19358
- return this.setItemStatus(this.items.findBy('isBankFeeds', true), this.bankAccountsService.getArray());
19410
+ getSharesightDetails(importEnabled) {
19411
+ return this.sharesightDetailsService.getArray().pipe(map(details => details.filter(detail => importEnabled ? detail.importEnabled : detail.exportEnabled)));
19412
+ }
19413
+ getBorrowingExpenses() {
19414
+ return this.loanService.getArray().pipe(map(loans => loans.filter(loan => !!loan.borrowingExpenses.length)));
19359
19415
  }
19360
- 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 }); }
19416
+ 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 }); }
19361
19417
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: AccountSetupService, providedIn: 'root' }); }
19362
19418
  }
19363
19419
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImport: i0, type: AccountSetupService, decorators: [{
@@ -19365,7 +19421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.2", ngImpor
19365
19421
  args: [{
19366
19422
  providedIn: 'root'
19367
19423
  }]
19368
- }], 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 }] });
19424
+ }], 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 }] });
19369
19425
 
19370
19426
  class AdblockService {
19371
19427
  constructor() {
@@ -20502,6 +20558,7 @@ const ENDPOINTS = {
20502
20558
  SERVICE_PAYMENTS_GET: new Endpoint('GET', '\\/service-payments'),
20503
20559
  SERVICE_SUBSCRIPTIONS_GET: new Endpoint('GET', '\\/service-subscriptions'),
20504
20560
  SERVICE_SUBSCRIPTIONS_POST: new Endpoint('POST', '\\/service-subscriptions'),
20561
+ SERVICE_SUBSCRIPTIONS_TRIAL_POST: new Endpoint('POST', '\\/service-subscriptions/'),
20505
20562
  SERVICE_SUBSCRIPTIONS_CANCEL: new Endpoint('PUT', '\\/service-subscriptions\\/\\d+\\/cancel'),
20506
20563
  SERVICE_SUBSCRIPTIONS_RENEW: new Endpoint('PUT', '\\/service-subscriptions\\/\\d+\\/renewal'),
20507
20564
  SERVICE_PAYMENT_INVOICE_URL_GET: new Endpoint('GET', '\\/service-payments\\/\\d+\\/invoice-url'),
@@ -20558,6 +20615,7 @@ const ENDPOINTS = {
20558
20615
  TRANSACTIONS_ALLOCATIONS_POST: new Endpoint('POST', '\\/transaction-allocations'),
20559
20616
  TRANSACTIONS_ALLOCATIONS_DELETE: new Endpoint('DELETE', '\\/transaction-allocations\\/\\d+'),
20560
20617
  TRANSACTIONS_ALLOCATIONS_BATCH_DELETE: new Endpoint('POST', '\\/transaction-allocations\\/delete'),
20618
+ TRIAL_POST: new Endpoint('POST', '\\/trial'),
20561
20619
  USER_CONFIRMATION_POST: new Endpoint('POST', '\\/users\\/confirmation'),
20562
20620
  USER_CONFIRMATION_RESEND_POST: new Endpoint('POST', '\\/users\\/confirmation\\/resend'),
20563
20621
  USER_CURRENT_GET: new Endpoint('GET', '\\/users\\/current'),
@@ -25410,5 +25468,5 @@ var MessagesEnum;
25410
25468
  * Generated bundle index. Do not edit.
25411
25469
  */
25412
25470
 
25413
- 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, 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 };
25471
+ 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 };
25414
25472
  //# sourceMappingURL=taxtank-core.mjs.map