taxtank-core 2.0.106 → 2.0.108

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.
@@ -3,7 +3,7 @@ import { Inject, Injectable, inject, NgModule, EventEmitter, InjectionToken, Pip
3
3
  import * as i1$1 from '@angular/common';
4
4
  import { formatDate, DatePipe, CurrencyPipe, CommonModule as CommonModule$1 } from '@angular/common';
5
5
  import * as i1 from '@angular/common/http';
6
- import { HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS, HttpParams } from '@angular/common/http';
6
+ import { HttpClient, HttpErrorResponse, HttpHeaders, HTTP_INTERCEPTORS, HttpParams } from '@angular/common/http';
7
7
  import { map, filter, catchError, finalize, switchMap, first as first$1, take, mergeMap, startWith, debounceTime, distinctUntilChanged } from 'rxjs/operators';
8
8
  import { ReplaySubject, Subject, Observable, shareReplay, of, forkJoin, throwError, BehaviorSubject, combineLatest, from, merge as merge$1 } from 'rxjs';
9
9
  import { plainToClass, Type, Transform, Exclude, Expose, classToPlain } from 'class-transformer';
@@ -754,6 +754,16 @@ class BasiqToken extends AbstractModel {
754
754
  }
755
755
  }
756
756
 
757
+ class BasiqUser extends AbstractModel {
758
+ constructor() {
759
+ super(...arguments);
760
+ this.name = 'Profile1';
761
+ }
762
+ }
763
+ __decorate([
764
+ Type(() => Date)
765
+ ], BasiqUser.prototype, "consentExpiryDate", void 0);
766
+
757
767
  var TransactionOperationEnum;
758
768
  (function (TransactionOperationEnum) {
759
769
  TransactionOperationEnum[TransactionOperationEnum["ALLOCATE"] = 1] = "ALLOCATE";
@@ -13162,7 +13172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImpo
13162
13172
  class BasiqTokenService extends RestService$1 {
13163
13173
  constructor() {
13164
13174
  super(...arguments);
13165
- this.endpointUri = 'basiq/tokens';
13175
+ this.endpointUri = 'basiq-users/tokens';
13166
13176
  this.modelClass = BasiqToken;
13167
13177
  this.collectionClass = Collection;
13168
13178
  this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
@@ -13176,6 +13186,10 @@ class BasiqTokenService extends RestService$1 {
13176
13186
  }
13177
13187
  return super.get();
13178
13188
  }
13189
+ getOne(basiqUserId) {
13190
+ const now = new Date().getTime();
13191
+ return this.http.get(`${this.environment.apiV2}/basiq-users/${basiqUserId}/tokens`).pipe(map(tokenResponse => new BasiqToken(tokenResponse['access_token'], new Date(now + tokenResponse['expires_in'] * 1000))));
13192
+ }
13179
13193
  createModelInstance(tokenResponse) {
13180
13194
  const now = new Date().getTime();
13181
13195
  return new BasiqToken(tokenResponse['access_token'], new Date(now + tokenResponse['expires_in'] * 1000));
@@ -13237,19 +13251,21 @@ class BasiqService extends RestService$1 {
13237
13251
  // this.redirectToBasiqConsent(token.value, connection.bank.externalId, true);
13238
13252
  ));
13239
13253
  }
13240
- revokeConsent() {
13241
- return this.http.delete(`${this.environment.apiV2}/basiq/consent`);
13242
- }
13243
13254
  /**
13244
13255
  * Open basiq consent ui to allow user to log in to bank
13245
13256
  * @param token User's basiq token
13246
13257
  * @param bankId External id of selected bank
13247
13258
  * @param consentExist
13248
13259
  */
13249
- redirectToBasiqConsent(token, bankId, consentExist = false) {
13250
- // keep bank id because we need it after redirect from basiq
13251
- localStorage.setItem('basiqBankId', bankId);
13252
- window.location.replace(`${BasiqService.basiqConsentUrl}?token=${token}&institutionId=${bankId}${consentExist ? '&action=connect' : ''}`);
13260
+ redirectToBasiqConsent(token, bankId, consentExist = false, basiqUser) {
13261
+ const url = new URL(BasiqService.basiqConsentUrl);
13262
+ url.searchParams.set('token', token);
13263
+ url.searchParams.set('institutionId', bankId);
13264
+ url.searchParams.set('state', basiqUser.id);
13265
+ if (consentExist) {
13266
+ url.searchParams.set('action', 'connect');
13267
+ }
13268
+ window.location.replace(url.toString());
13253
13269
  }
13254
13270
  /**
13255
13271
  * redirect to basiq extend consent date to prolong it
@@ -13274,47 +13290,6 @@ class BasiqService extends RestService$1 {
13274
13290
  redirectToBasiqRevoke(token) {
13275
13291
  window.location.replace(`${BasiqService.basiqConsentUrl}?token=${token}&action=manage`);
13276
13292
  }
13277
- /**
13278
- * Get Basiq job result
13279
- */
13280
- retrieveJob(jobId) {
13281
- return this.http.get(`${BasiqService.basiqApiUrl}/jobs/${jobId}`)
13282
- .pipe(map((response) => plainToClass(BasiqJobResponse, response)));
13283
- }
13284
- /**
13285
- * @TODO not used, remove?
13286
- * Recoursive method, watch basiq job retrieve accounts status
13287
- * @param jobId id of basiq job to check
13288
- * @returns observable boolean. True - accounts retrieved, false - accounts not retrieved (time is out)
13289
- */
13290
- watchBankAccountsRetrieved(jobId) {
13291
- // init timeout for the first iteration of recoursion
13292
- if (!this.retrieveAccountsTimer) {
13293
- this.isRetrieveAccountsTimeOut = false;
13294
- this.retrieveAccountsTimer = setTimeout(() => {
13295
- this.isRetrieveAccountsTimeOut = true;
13296
- }, BasiqService.retrieveAccountsTimeout);
13297
- }
13298
- return this.retrieveJob(jobId)
13299
- .pipe(
13300
- // continue when time is out or when accounts retireved successfully
13301
- filter((response) => {
13302
- // stop watcher when accounts retrieved successfully or time is out
13303
- if (this.isRetrieveAccountsTimeOut || response.getRetrieveAccountsStep().isSuccess()) {
13304
- clearTimeout(this.retrieveAccountsTimer);
13305
- return true;
13306
- }
13307
- // continue watch retrieve accounts status
13308
- setTimeout(() => {
13309
- this.watchBankAccountsRetrieved(jobId);
13310
- }, BasiqService.retrieveAccountsCheckInterval);
13311
- return false;
13312
- }), map((response) => {
13313
- // no need to keep bank id anymore
13314
- localStorage.removeItem('basiqBankId');
13315
- return response.getRetrieveAccountsStep().isSuccess();
13316
- }));
13317
- }
13318
13293
  /**
13319
13294
  * listen to notifications to update basiq accounts list
13320
13295
  */
@@ -13345,6 +13320,41 @@ var BasiqMessagesEnum;
13345
13320
  BasiqMessagesEnum["REVOKE_SUCCESS"] = "Consent to bank feeds has been revoked.";
13346
13321
  })(BasiqMessagesEnum || (BasiqMessagesEnum = {}));
13347
13322
 
13323
+ /**
13324
+ * @TODO Alex shouldn't be a separated service, move to basiqService or interceptor
13325
+ */
13326
+ class BasiqUserService extends RestService$1 {
13327
+ constructor() {
13328
+ super(...arguments);
13329
+ this.endpointUri = 'basiq-users';
13330
+ this.modelClass = BasiqUser;
13331
+ this.collectionClass = Collection;
13332
+ this.disabledMethods = ['postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
13333
+ }
13334
+ static { this.basiqApiUrl = 'https://au-api.basiq.io'; }
13335
+ revokeConsent() {
13336
+ return this.http.put(`${this.environment.apiV2}/basiq-users/consents/revoke`, {});
13337
+ }
13338
+ post(basiqUser = new BasiqUser()) {
13339
+ return super.post(basiqUser);
13340
+ }
13341
+ retrieveJob(jobId, token) {
13342
+ const headers = new HttpHeaders({
13343
+ Authorization: 'Bearer ' + token.value
13344
+ });
13345
+ return this.http.get(`${BasiqUserService.basiqApiUrl}/jobs/${jobId}`, { headers })
13346
+ .pipe(map((response) => plainToClass(BasiqJobResponse, response)));
13347
+ }
13348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqUserService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
13349
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqUserService, providedIn: 'root' }); }
13350
+ }
13351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqUserService, decorators: [{
13352
+ type: Injectable,
13353
+ args: [{
13354
+ providedIn: 'root'
13355
+ }]
13356
+ }] });
13357
+
13348
13358
  /**
13349
13359
  * Service that handling banks logic
13350
13360
  */
@@ -18048,13 +18058,6 @@ class UserService extends RestService$1 {
18048
18058
  this.setCache([Object.assign(this.getCacheFirst(), { photo: photoUrl })], true);
18049
18059
  }));
18050
18060
  }
18051
- createBasiq() {
18052
- return this.http.post(`${this.environment.apiV2}/basiq/user`, {})
18053
- .pipe(map((basiqId) => {
18054
- this.setCache([Object.assign(this.getCacheFirst(), { basiqId })], true);
18055
- return basiqId;
18056
- }));
18057
- }
18058
18061
  skipSetupItem(item) {
18059
18062
  const user = clone(this.getCacheFirst());
18060
18063
  user.blacklistSetupItems.push(item);
@@ -22021,9 +22024,13 @@ const ENDPOINTS = {
22021
22024
  BANK_TRANSACTION_COMMENT_PUT: new Endpoint('PUT', '\\/bank-transaction-comments\\/\\d+'),
22022
22025
  BANK_TRANSACTION_COMMENT_DELETE: new Endpoint('DELETE', '\\/bank-transaction-comments\\/\\d+'),
22023
22026
  BASIQ_ACCOUNTS_GET: new Endpoint('GET', '\\/basiq\\/accounts'),
22024
- BASIQ_TOKEN_GET: new Endpoint('GET', '\\/basiq\\/tokens'),
22027
+ BASIQ_TOKENS_GET: new Endpoint('GET', '\\/basiq-users\\/tokens'),
22028
+ BASIQ_TOKEN_GET: new Endpoint('GET', '\\/basiq-users/\\d+\\/tokens'),
22025
22029
  BASIQ_DELETE: new Endpoint('PUT', '\\/bank-connections/\\d+\\/remove-basiq'),
22026
- BASIQ_USER_POST: new Endpoint('POST', '\\/basiq\\/user'),
22030
+ BASIQ_USERS_GET: new Endpoint('GET', '\\/basiq-users'),
22031
+ BASIQ_USERS_POST: new Endpoint('POST', '\\/basiq-users'),
22032
+ BASIQ_USERS_PUT: new Endpoint('PUT', '\\/basiq-users\\/\\d+'),
22033
+ BASIQ_USERS_DELETE: new Endpoint('DELETE', '\\/basiq-users\\/\\d+'),
22027
22034
  BUDGETS_GET: new Endpoint('GET', '\\/budgets'),
22028
22035
  BUDGETS_POST: new Endpoint('POST', '\\/budgets'),
22029
22036
  BUDGETS_PUT: new Endpoint('PUT', '\\/budgets\\/\\d+'),
@@ -22326,58 +22333,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImpo
22326
22333
  }], ctorParameters: () => [{ type: PreloaderService }] });
22327
22334
 
22328
22335
  /**
22336
+ * @TODO Vik TT-4883 delete?
22329
22337
  * Interceptor which adds user's basiq token to any http request to basiq api
22330
22338
  */
22331
22339
  class BasiqTokenInterceptor {
22332
- constructor(basiqTokenService) {
22333
- this.basiqTokenService = basiqTokenService;
22340
+ constructor() {
22341
+ this.basiqTokenService = inject(BasiqTokenService);
22334
22342
  }
22335
22343
  intercept(request, next) {
22336
22344
  // skip non-basiq requests
22337
22345
  if (!request.url.includes(BasiqService.basiqApiUrl)) {
22338
22346
  return next.handle(request);
22339
22347
  }
22348
+ // @TODO TT-4883 vik used to retrieve jobs only? do we need specific user and not first?
22340
22349
  return this.basiqTokenService.getFirst().pipe(mergeMap((token) => next.handle(this.addToken(request, token))));
22341
22350
  }
22342
22351
  addToken(request, token) {
22343
- return request.clone({
22344
- setHeaders: {
22345
- Authorization: 'Bearer ' + token.value
22346
- }
22347
- });
22352
+ return request.clone(
22353
+ // { setHeaders: { Authorization: 'Bearer ' + token.value } }
22354
+ );
22348
22355
  }
22349
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqTokenInterceptor, deps: [{ token: BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
22356
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqTokenInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22350
22357
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqTokenInterceptor }); }
22351
22358
  }
22352
22359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqTokenInterceptor, decorators: [{
22353
22360
  type: Injectable
22354
- }], ctorParameters: () => [{ type: BasiqTokenService }] });
22361
+ }] });
22355
22362
 
22356
22363
  /**
22364
+ * @TODO Vik TT-4883 delete?
22357
22365
  * Interceptor which check if client's basiq id exist and request it if not
22358
22366
  */
22359
22367
  class BasiqClientIdInterceptor {
22360
- constructor(userService) {
22361
- this.userService = userService;
22368
+ constructor() {
22369
+ this.basiqUserService = inject(BasiqUserService);
22362
22370
  }
22363
22371
  intercept(request, next) {
22364
22372
  // Check if 'client id' URL segment contains null instead of id
22365
22373
  if (!request.url.startsWith(`${BasiqService.basiqApiUrl}/users/null`)) {
22366
22374
  return next.handle(request);
22367
22375
  }
22368
- return this.userService.createBasiq().pipe(mergeMap((basiqClientId) => next.handle(this.addId(request, basiqClientId))));
22376
+ alert(request.url);
22377
+ return this.basiqUserService.post().pipe(mergeMap((basiqUser) => next.handle(this.addId(request, basiqUser.externalId))));
22369
22378
  }
22370
22379
  addId(request, basiqClientId) {
22371
- return request.clone({
22372
- url: request.url.replace('null', basiqClientId)
22373
- });
22380
+ return request.clone(
22381
+ // { url: request.url.replace('null', basiqClientId) }
22382
+ );
22374
22383
  }
22375
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqClientIdInterceptor, deps: [{ token: UserService }], target: i0.ɵɵFactoryTarget.Injectable }); }
22384
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqClientIdInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22376
22385
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqClientIdInterceptor }); }
22377
22386
  }
22378
22387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: BasiqClientIdInterceptor, decorators: [{
22379
22388
  type: Injectable
22380
- }], ctorParameters: () => [{ type: UserService }] });
22389
+ }] });
22381
22390
 
22382
22391
  /**
22383
22392
  * add rewardful params to registration endpoints
@@ -23584,6 +23593,15 @@ function atLeastOneCheckedValidator() {
23584
23593
  .find((control) => control.value) ? null : { nothingChecked: true };
23585
23594
  }
23586
23595
 
23596
+ /**
23597
+ * Validator check if at least one control in formArray is enabled
23598
+ */
23599
+ function atLeastOneEnabledValidator(arrayName) {
23600
+ return (formGroup) => formGroup.get(arrayName).controls.find((control) => control.enabled)
23601
+ ? null
23602
+ : { arrayControlsDisabled: true };
23603
+ }
23604
+
23587
23605
  /**
23588
23606
  * Validation function for autocomplete fields. Checks that the user should select a value from a list rather than type in input field
23589
23607
  * @TODO Alex: create class AppValidators with static methods and move there all custom validators (line Angular Validators)
@@ -23592,6 +23610,30 @@ function autocompleteValidator() {
23592
23610
  return (control) => (!control.value || (typeof control.value === 'object')) ? null : { notFromList: true };
23593
23611
  }
23594
23612
 
23613
+ const COMPARE_OPERATORS = {
23614
+ '>': (a, b) => a > b,
23615
+ '>=': (a, b) => a >= b,
23616
+ '<': (a, b) => a < b,
23617
+ '<=': (a, b) => a <= b,
23618
+ };
23619
+ /**
23620
+ * Validator that enforces the current control's value to be compared
23621
+ * with another control's value using the specified comparison operator
23622
+ * ( <, <=, >, >= ).
23623
+ */
23624
+ function compareWithControlValidator(controlName, operator, alias) {
23625
+ return (control) => {
23626
+ // skip validation until control is attached to a parent FormGroup
23627
+ if (!control?.parent) {
23628
+ return null;
23629
+ }
23630
+ const group = control.parent;
23631
+ const fieldToCompare = group.get(controlName);
23632
+ const isValid = COMPARE_OPERATORS[operator](control.value, fieldToCompare.value);
23633
+ return isValid ? null : { compareWithControl: `The value should be ${operator} than ${alias}` };
23634
+ };
23635
+ }
23636
+
23595
23637
  function conditionalValidator(condition, validator) {
23596
23638
  return function (control) {
23597
23639
  revalidateOnChanges(control);
@@ -23617,6 +23659,28 @@ function revalidateOnChanges(control) {
23617
23659
  return;
23618
23660
  }
23619
23661
 
23662
+ /**
23663
+ * Validate date value. Date value should be in passed dateRange
23664
+ */
23665
+ function dateRangeValidator(dateStart, dateEnd) {
23666
+ // Avoid timezone hours problem when converts to UTC
23667
+ // dateStart.setHours(0, 0, 0, 0);
23668
+ // dateEnd.setHours(0, 0, 0, 0);
23669
+ return (control) => {
23670
+ // Skip empty value
23671
+ if (!control.value) {
23672
+ return null;
23673
+ }
23674
+ if (control.value < dateStart) {
23675
+ return { dateRangeStart: dateStart };
23676
+ }
23677
+ if (control.value > dateEnd) {
23678
+ return { dateRangeEnd: dateEnd };
23679
+ }
23680
+ return null;
23681
+ };
23682
+ }
23683
+
23620
23684
  /**
23621
23685
  * Regular expressions that are used to check password strength and valid values
23622
23686
  */
@@ -23770,22 +23834,6 @@ function greaterThanValidator(value) {
23770
23834
  };
23771
23835
  }
23772
23836
 
23773
- /**
23774
- * Validator that enforces the current control's value to be >= another control's value.
23775
- */
23776
- function greaterThanControlValidator(controlName, alias) {
23777
- return (control) => {
23778
- // skip validation until control is attached to a parent FormGroup
23779
- if (!control?.parent) {
23780
- return null;
23781
- }
23782
- const group = control.parent;
23783
- const fieldToCompare = group.get(controlName);
23784
- const isLessThan = Number(fieldToCompare.value) > Number(control.value);
23785
- return isLessThan ? { greaterThanControl: `The value should be greater than ${alias}` } : null;
23786
- };
23787
- }
23788
-
23789
23837
  class UniqueEmailValidator {
23790
23838
  constructor(userService) {
23791
23839
  this.userService = userService;
@@ -24039,25 +24087,9 @@ class MoneyScheduleFilterForm extends AbstractForm {
24039
24087
  }
24040
24088
  }
24041
24089
 
24042
- /**
24043
- * Validator that enforces the current control's value to be >= another control's value.
24044
- */
24045
- function lessThanControlValidator(controlName, alias) {
24046
- return (control) => {
24047
- // skip validation until control is attached to a parent FormGroup
24048
- if (!control?.parent) {
24049
- return null;
24050
- }
24051
- const group = control.parent;
24052
- const fieldToCompare = group.get(controlName);
24053
- const isLessThan = Number(fieldToCompare.value) > Number(control.value);
24054
- return isLessThan ? null : { lessThanControl: `The value should be less than ${alias}` };
24055
- };
24056
- }
24057
-
24058
24090
  const END_DATE_VALIDATION_ERROR = 'Target date must be more than start date';
24059
24091
  class FinancialGoalForm extends AbstractForm {
24060
- constructor(goal, equityByProperty, lvrByProperty) {
24092
+ constructor(goal) {
24061
24093
  super({
24062
24094
  type: new FormControl({ value: goal.type ?? FinancialGoalTypeEnum.DEBIT, disabled: !!goal.id }, Validators.required),
24063
24095
  name: new FormControl(goal.name, Validators.required),
@@ -24066,8 +24098,8 @@ class FinancialGoalForm extends AbstractForm {
24066
24098
  ]),
24067
24099
  targetValue: new FormControl(goal.targetValue, [
24068
24100
  Validators.required,
24069
- conditionalValidator(() => this.isLvrType(), lessThanControlValidator('initialValue', 'Start Value')),
24070
- conditionalValidator(() => !this.isLvrType(), greaterThanControlValidator('initialValue', 'Start Value')),
24101
+ conditionalValidator(() => this.isLvrType(), compareWithControlValidator('initialValue', '<', 'Start Value')),
24102
+ conditionalValidator(() => !this.isLvrType(), compareWithControlValidator('initialValue', '>', 'Start Value')),
24071
24103
  ]),
24072
24104
  initialValue: new FormControl({ value: goal.initialValue, disabled: true }, Validators.required),
24073
24105
  startDate: new FormControl({ value: goal.startDate, disabled: true }),
@@ -24085,8 +24117,6 @@ class FinancialGoalForm extends AbstractForm {
24085
24117
  conditionalValidator(() => this.isPropertyType(), Validators.required),
24086
24118
  ]),
24087
24119
  }, goal);
24088
- this.equityByProperty = equityByProperty;
24089
- this.lvrByProperty = lvrByProperty;
24090
24120
  this.includeDisabledFields = true;
24091
24121
  this.bankAccountTypes = [];
24092
24122
  this.bankAccountTypes = this.getBankAccountTypes(goal.type);
@@ -24830,28 +24860,6 @@ class BasReportForm extends AbstractForm {
24830
24860
  }
24831
24861
  }
24832
24862
 
24833
- /**
24834
- * Validate date value. Date value should be in passed dateRange
24835
- */
24836
- function dateRangeValidator(dateStart, dateEnd) {
24837
- // Avoid timezone hours problem when converts to UTC
24838
- // dateStart.setHours(0, 0, 0, 0);
24839
- // dateEnd.setHours(0, 0, 0, 0);
24840
- return (control) => {
24841
- // Skip empty value
24842
- if (!control.value) {
24843
- return null;
24844
- }
24845
- if (control.value < dateStart) {
24846
- return { dateRangeStart: dateStart };
24847
- }
24848
- if (control.value > dateEnd) {
24849
- return { dateRangeEnd: dateEnd };
24850
- }
24851
- return null;
24852
- };
24853
- }
24854
-
24855
24863
  class InvoicePaymentForm extends AbstractForm {
24856
24864
  constructor(amount) {
24857
24865
  const year = new FinancialYear();
@@ -24899,6 +24907,46 @@ class BankAccountAllocationForm extends AbstractForm {
24899
24907
  }
24900
24908
  }
24901
24909
 
24910
+ /**
24911
+ * Form is using for single manual bank account creation (not Basiq)
24912
+ */
24913
+ class BankAccountAddManualForm extends BankAccountAllocationForm {
24914
+ static { this.accountNumberPattern = '^[0-9]{6}[ ]{1}[0-9]{1,}$'; }
24915
+ constructor(connection) {
24916
+ super(null, {
24917
+ type: new UntypedFormControl(null, Validators.required),
24918
+ accountName: new UntypedFormControl(null, Validators.required),
24919
+ currentBalance: new UntypedFormControl(null, Validators.required),
24920
+ accountNumber: new UntypedFormControl(null, [Validators.required, Validators.pattern(BankAccountAddManualForm.accountNumberPattern)])
24921
+ });
24922
+ this.connection = connection;
24923
+ }
24924
+ listenEvents() {
24925
+ super.listenEvents();
24926
+ this.listenTypeChanges();
24927
+ }
24928
+ /**
24929
+ * Add/Remove loan form depends on selected bank account type
24930
+ */
24931
+ listenTypeChanges() {
24932
+ this.get('type').valueChanges.subscribe((type) => {
24933
+ if (TYPE_LOAN.includes(type)) {
24934
+ // Set prefilled term for bank account loan
24935
+ this.addControl('loan', new LoanForm(plainToClass(Loan, { bankAccount: this.model })));
24936
+ }
24937
+ else {
24938
+ this.removeControl('loan');
24939
+ }
24940
+ });
24941
+ }
24942
+ /**
24943
+ * Attach bank connection to manual bank account
24944
+ */
24945
+ submit() {
24946
+ return super.submit({ bankConnection: this.connection });
24947
+ }
24948
+ }
24949
+
24902
24950
  /**
24903
24951
  * Form is using for import basiq bank accounts.
24904
24952
  * Basiq accounts has all data except tank type, properties and loan partially
@@ -24919,31 +24967,6 @@ class BankAccountImportForm extends BankAccountAllocationForm {
24919
24967
  }
24920
24968
  }
24921
24969
 
24922
- /**
24923
- * Validator check if at least one control in formArray is enabled
24924
- */
24925
- function atLeastOneEnabledValidator(arrayName) {
24926
- return (formGroup) => formGroup.get(arrayName).controls.find((control) => control.enabled)
24927
- ? null
24928
- : { arrayControlsDisabled: true };
24929
- }
24930
-
24931
- /**
24932
- * Validator that enforces the current control's value to be <= another control's value.
24933
- */
24934
- function notGreaterThanControlValidator(controlName, alias) {
24935
- return (control) => {
24936
- // skip validation until control is attached to a parent FormGroup
24937
- if (!control?.parent) {
24938
- return null;
24939
- }
24940
- const group = control.parent;
24941
- const fieldToCompare = group.get(controlName);
24942
- const isNotGreaterThan = Number(control.value) <= Number(fieldToCompare.value);
24943
- return isNotGreaterThan ? null : { notGreaterThanControl: `The value should be not greater than ${alias}` };
24944
- };
24945
- }
24946
-
24947
24970
  /**
24948
24971
  * Form for import multiple basiq bank accounts
24949
24972
  */
@@ -24957,7 +24980,7 @@ class BankAccountsImportForm extends AbstractForm {
24957
24980
  migrateFrom: new UntypedFormControl(BankAccountsImportForm.minDate, [
24958
24981
  Validators.required,
24959
24982
  dateRangeValidator(BankAccountsImportForm.minDate, BankAccountsImportForm.maxDate),
24960
- notGreaterThanControlValidator('migrateTo', 'Import transactions to')
24983
+ compareWithControlValidator('migrateTo', '<=', 'Import transactions to')
24961
24984
  ]),
24962
24985
  migrateTo: new UntypedFormControl(BankAccountsImportForm.maxDate, [Validators.required, dateRangeValidator(BankAccountsImportForm.minDate, BankAccountsImportForm.maxDate)]),
24963
24986
  bankAccounts: new UntypedFormArray(bankAccounts.map((bankAccount) => new BankAccountImportForm(bankAccount)))
@@ -25000,49 +25023,6 @@ class BankAccountsImportForm extends AbstractForm {
25000
25023
  }
25001
25024
  }
25002
25025
 
25003
- /**
25004
- * Form is using for single manual bank account creation (not Basiq)
25005
- */
25006
- class BankAccountAddManualForm extends BankAccountAllocationForm {
25007
- static { this.accountNumberPattern = '^[0-9]{6}[ ]{1}[0-9]{1,}$'; }
25008
- constructor(connection) {
25009
- super(null, {
25010
- // @TODO: taxtankit TT-5555 remove migrateFrom, migrateTo when back fix this
25011
- migrateFrom: new UntypedFormControl(BankAccountsImportForm.minDate),
25012
- migrateTo: new UntypedFormControl(BankAccountsImportForm.maxDate),
25013
- type: new UntypedFormControl(null, Validators.required),
25014
- accountName: new UntypedFormControl(null, Validators.required),
25015
- currentBalance: new UntypedFormControl(null, Validators.required),
25016
- accountNumber: new UntypedFormControl(null, [Validators.required, Validators.pattern(BankAccountAddManualForm.accountNumberPattern)])
25017
- });
25018
- this.connection = connection;
25019
- }
25020
- listenEvents() {
25021
- super.listenEvents();
25022
- this.listenTypeChanges();
25023
- }
25024
- /**
25025
- * Add/Remove loan form depends on selected bank account type
25026
- */
25027
- listenTypeChanges() {
25028
- this.get('type').valueChanges.subscribe((type) => {
25029
- if (TYPE_LOAN.includes(type)) {
25030
- // Set prefilled term for bank account loan
25031
- this.addControl('loan', new LoanForm(plainToClass(Loan, { bankAccount: this.model })));
25032
- }
25033
- else {
25034
- this.removeControl('loan');
25035
- }
25036
- });
25037
- }
25038
- /**
25039
- * Attach bank connection to manual bank account
25040
- */
25041
- submit() {
25042
- return super.submit({ bankConnection: this.connection });
25043
- }
25044
- }
25045
-
25046
25026
  class AnnualClientDetailsForm extends AbstractForm {
25047
25027
  constructor(annualClientDetails = plainToClass(AnnualClientDetails, {})) {
25048
25028
  super({
@@ -27645,5 +27625,5 @@ var MessagesEnum;
27645
27625
  * Generated bundle index. Do not edit.
27646
27626
  */
27647
27627
 
27648
- export { ADBLOCK_ERROR_HTML, ADBLOCK_ERROR_HTML_VALUE, AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupItemStatusEnum, AccountSetupItemsEnum, AccountSetupService, AdblockDetectorService, 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, BankTransactionComment, BankTransactionCommentForm, BankTransactionCommentMessagesEnum, BankTransactionCommentService, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportMessagesEnum, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetCollection, BudgetForm, BudgetMessagesEnum, BudgetMetadataInterface, BudgetRule, BudgetRuleCollection, BudgetRuleForm, BudgetRuleItem, BudgetRuleItemCollection, BudgetRuleService, BudgetService, BudgetTypeEnum, BusinessChartAccountsEnum, BusinessResolver, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CalendarEvent, CalendarEventCollection, CalendarEventTypeEnum, 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, DailyFrequencyEnum, DateFormatsEnum, 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, DocumentFolderCollection, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EXPENSE_CATEGORY_BY_TYPE, EmployeeCollection, EmployeeDetails, EmployeeDetailsForm, EmployeeInvite, EmployeeInviteCollection, EmployeeInviteForm, EmployeeInviteRoleEnum, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialGoal, FinancialGoalCollection, FinancialGoalFilterForm, FinancialGoalForm, FinancialGoalMessagesEnum, FinancialGoalService, FinancialGoalStatusEnum, FinancialGoalTypeEnum, FinancialYear, FinancialYearService, Firm, FirmBranch, FirmBranchForm, FirmBranchMessagesEnum, FirmBranchService, FirmForm, FirmInviteForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GenderEnum, GoogleService, HTTP_ERROR_MESSAGES, HeaderTitleService, Holding, HoldingCollection, HoldingExpenseForm, HoldingIncomeForm, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleService, HoldingTrade, HoldingTradeCollection, HoldingTradeFilterForm, HoldingTradeForm, HoldingTradeImport, HoldingTradeImportForm, HoldingTradeImportMessagesEnum, HoldingTradeImportService, HoldingTradeMessagesEnum, HoldingTradeReportItem, HoldingTradeService, HoldingTradeTypeEnum, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, HomeOfficeCalculatorForm, HomeOfficeClaim, HomeOfficeClaimCollection, HomeOfficeClaimForm, HomeOfficeClaimMessagesEnum, HomeOfficeClaimMethodEnum, HomeOfficeClaimService, HomeOfficeLog, HomeOfficeLogForm, HomeOfficeLogMessagesEnum, HomeOfficeLogService, INCOME_CATEGORY_BY_TYPE, 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, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanMessagesEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MfaDetails, MfaDetailsForm, MfaDetailsMessagesEnum, MfaDetailsService, MoneyCalendarEvent, MoneyCalendarEventCollection, MoneyScheduleFilterForm, 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, 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, RelativeDatePipe, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestMessagesEnum, RestService$1 as RestService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceIdEnum, 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, SoleDetailsResolver, 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, TransactionBaseFilter, TransactionBaseFilterForm, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionReportItem, TransactionReportItemCollection, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TreeNodeData, 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, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanControlValidator, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, nameValidator, passwordMatchValidator, passwordValidator, recurringDates, replace, sort, sortDeep, toArray };
27628
+ export { ADBLOCK_ERROR_HTML, ADBLOCK_ERROR_HTML_VALUE, AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupItemStatusEnum, AccountSetupItemsEnum, AccountSetupService, AdblockDetectorService, 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, BankTransactionComment, BankTransactionCommentForm, BankTransactionCommentMessagesEnum, BankTransactionCommentService, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportMessagesEnum, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BasiqUser, BasiqUserService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetCollection, BudgetForm, BudgetMessagesEnum, BudgetMetadataInterface, BudgetRule, BudgetRuleCollection, BudgetRuleForm, BudgetRuleItem, BudgetRuleItemCollection, BudgetRuleService, BudgetService, BudgetTypeEnum, BusinessChartAccountsEnum, BusinessResolver, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CalendarEvent, CalendarEventCollection, CalendarEventTypeEnum, 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, DailyFrequencyEnum, DateFormatsEnum, 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, DocumentFolderCollection, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EXPENSE_CATEGORY_BY_TYPE, EmployeeCollection, EmployeeDetails, EmployeeDetailsForm, EmployeeInvite, EmployeeInviteCollection, EmployeeInviteForm, EmployeeInviteRoleEnum, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialGoal, FinancialGoalCollection, FinancialGoalFilterForm, FinancialGoalForm, FinancialGoalMessagesEnum, FinancialGoalService, FinancialGoalStatusEnum, FinancialGoalTypeEnum, FinancialYear, FinancialYearService, Firm, FirmBranch, FirmBranchForm, FirmBranchMessagesEnum, FirmBranchService, FirmForm, FirmInviteForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GenderEnum, GoogleService, HTTP_ERROR_MESSAGES, HeaderTitleService, Holding, HoldingCollection, HoldingExpenseForm, HoldingIncomeForm, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleService, HoldingTrade, HoldingTradeCollection, HoldingTradeFilterForm, HoldingTradeForm, HoldingTradeImport, HoldingTradeImportForm, HoldingTradeImportMessagesEnum, HoldingTradeImportService, HoldingTradeMessagesEnum, HoldingTradeReportItem, HoldingTradeService, HoldingTradeTypeEnum, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, HomeOfficeCalculatorForm, HomeOfficeClaim, HomeOfficeClaimCollection, HomeOfficeClaimForm, HomeOfficeClaimMessagesEnum, HomeOfficeClaimMethodEnum, HomeOfficeClaimService, HomeOfficeLog, HomeOfficeLogForm, HomeOfficeLogMessagesEnum, HomeOfficeLogService, INCOME_CATEGORY_BY_TYPE, 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, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanMessagesEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MfaDetails, MfaDetailsForm, MfaDetailsMessagesEnum, MfaDetailsService, MoneyCalendarEvent, MoneyCalendarEventCollection, MoneyScheduleFilterForm, 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, 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, RelativeDatePipe, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestMessagesEnum, RestService$1 as RestService, SERVICE_PRODUCT_ROLES, SafeUrlPipe, SalaryForecast, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceIdEnum, 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, SoleDetailsResolver, 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, TransactionBaseFilter, TransactionBaseFilterForm, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionReportItem, TransactionReportItemCollection, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TreeNodeData, 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, atLeastOneCheckedValidator, atLeastOneEnabledValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, compareWithControlValidator, conditionalValidator, createDate, currentFinYearValidator, dateRangeValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, matchSumValidator, maxDateValidator, minDateValidator, nameValidator, passwordMatchValidator, passwordValidator, recurringDates, replace, sort, sortDeep, toArray };
27649
27629
  //# sourceMappingURL=taxtank-core.mjs.map