taxtank-core 0.32.89 → 0.32.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/esm2022/lib/collections/client-movement.collection.mjs +5 -4
  2. package/esm2022/lib/collections/client.collection.mjs +1 -1
  3. package/esm2022/lib/collections/collection.mjs +5 -2
  4. package/esm2022/lib/collections/firm/employee-invite.collection.mjs +10 -0
  5. package/esm2022/lib/collections/firm/employee.collection.mjs +18 -0
  6. package/esm2022/lib/collections/firm/index.mjs +3 -0
  7. package/esm2022/lib/collections/income-source/income-source.collection.mjs +2 -2
  8. package/esm2022/lib/collections/index.mjs +3 -2
  9. package/esm2022/lib/collections/user/user.collection.mjs +4 -0
  10. package/esm2022/lib/db/Enums/firm/employee-invite-role.enum.mjs +6 -0
  11. package/esm2022/lib/db/Enums/firm/firm-type.enum.mjs +6 -0
  12. package/esm2022/lib/db/Enums/firm/index.mjs +3 -0
  13. package/esm2022/lib/db/Enums/index.mjs +2 -1
  14. package/esm2022/lib/db/Enums/user-roles.enum.mjs +2 -1
  15. package/esm2022/lib/db/Models/firm/client-invite.mjs +1 -1
  16. package/esm2022/lib/db/Models/firm/client-movement.mjs +1 -1
  17. package/esm2022/lib/db/Models/firm/employee-invite.mjs +1 -1
  18. package/esm2022/lib/db/Models/firm/firm.mjs +1 -1
  19. package/esm2022/lib/db/Models/user/employee-details.mjs +1 -1
  20. package/esm2022/lib/forms/abstract.form.mjs +7 -3
  21. package/esm2022/lib/forms/collection.form.mjs +29 -0
  22. package/esm2022/lib/forms/firm/client-invite-put.form.mjs +13 -0
  23. package/esm2022/lib/forms/firm/client-invite.form.mjs +17 -0
  24. package/esm2022/lib/forms/firm/client-movement.form.mjs +22 -0
  25. package/esm2022/lib/forms/firm/employee-details.form.mjs +21 -0
  26. package/esm2022/lib/forms/firm/employee-invite.form.mjs +23 -0
  27. package/esm2022/lib/forms/firm/firm-branch.form.mjs +13 -0
  28. package/esm2022/lib/forms/firm/index.mjs +7 -1
  29. package/esm2022/lib/forms/index.mjs +2 -1
  30. package/esm2022/lib/forms/register/register-firm.form.mjs +3 -3
  31. package/esm2022/lib/forms/user/user.form.mjs +8 -8
  32. package/esm2022/lib/models/client/client-invite.mjs +12 -5
  33. package/esm2022/lib/models/client/client-movement.mjs +8 -5
  34. package/esm2022/lib/models/employee/employee-details.mjs +8 -2
  35. package/esm2022/lib/models/employee/employee-invite.mjs +9 -2
  36. package/esm2022/lib/models/endpoint/endpoints.const.mjs +17 -13
  37. package/esm2022/lib/models/firm/firm-branch.interface.mjs +2 -0
  38. package/esm2022/lib/models/firm/firm-branch.mjs +22 -0
  39. package/esm2022/lib/models/firm/firm.mjs +2 -2
  40. package/esm2022/lib/models/firm/index.mjs +3 -0
  41. package/esm2022/lib/models/index.mjs +2 -1
  42. package/esm2022/lib/models/registration-invite/registration-invite.mjs +5 -1
  43. package/esm2022/lib/models/user/user.mjs +5 -5
  44. package/esm2022/lib/services/account-setup/account-setup.service.mjs +2 -2
  45. package/esm2022/lib/services/firm/current-firm-branch.service.mjs +26 -0
  46. package/esm2022/lib/services/firm/index.mjs +2 -0
  47. package/esm2022/lib/services/http/firm/client-invite/client-invite.service.mjs +4 -7
  48. package/esm2022/lib/services/http/firm/client-movement/client-movement.service.mjs +1 -1
  49. package/esm2022/lib/services/http/firm/employee/employee-messages.enum.mjs +2 -1
  50. package/esm2022/lib/services/http/firm/employee/employee.service.mjs +10 -4
  51. package/esm2022/lib/services/http/firm/employee-invite/employee-invite.service.mjs +5 -5
  52. package/esm2022/lib/services/http/firm/firm-branch/firm-branch-messages.enum.mjs +9 -0
  53. package/esm2022/lib/services/http/firm/firm-branch/firm-branch.service.mjs +23 -0
  54. package/esm2022/lib/services/http/firm/firm-branch/index.mjs +3 -0
  55. package/esm2022/lib/services/http/firm/firm.service.mjs +2 -2
  56. package/esm2022/lib/services/http/firm/index.mjs +2 -1
  57. package/esm2022/lib/services/index.mjs +2 -1
  58. package/esm2022/public-api.mjs +1 -2
  59. package/fesm2022/taxtank-core.mjs +303 -59
  60. package/fesm2022/taxtank-core.mjs.map +1 -1
  61. package/lib/collections/client-movement.collection.d.ts +2 -2
  62. package/lib/collections/client.collection.d.ts +1 -1
  63. package/lib/collections/firm/employee-invite.collection.d.ts +5 -0
  64. package/lib/collections/firm/employee.collection.d.ts +6 -0
  65. package/lib/collections/firm/index.d.ts +2 -0
  66. package/lib/collections/income-source/income-source.collection.d.ts +1 -1
  67. package/lib/collections/index.d.ts +2 -1
  68. package/lib/collections/user/user.collection.d.ts +4 -0
  69. package/lib/db/Enums/firm/employee-invite-role.enum.d.ts +4 -0
  70. package/lib/db/Enums/firm/index.d.ts +2 -0
  71. package/lib/db/Enums/index.d.ts +1 -0
  72. package/lib/db/Enums/user-roles.enum.d.ts +1 -0
  73. package/lib/db/Models/firm/client-invite.d.ts +6 -2
  74. package/lib/db/Models/firm/client-movement.d.ts +2 -2
  75. package/lib/db/Models/firm/employee-invite.d.ts +4 -2
  76. package/lib/db/Models/firm/firm.d.ts +1 -1
  77. package/lib/db/Models/user/employee-details.d.ts +2 -0
  78. package/lib/forms/abstract.form.d.ts +14 -7
  79. package/lib/forms/collection.form.d.ts +14 -0
  80. package/lib/forms/firm/client-invite-put.form.d.ts +11 -0
  81. package/lib/forms/firm/client-invite.form.d.ts +15 -0
  82. package/lib/forms/firm/client-movement.form.d.ts +14 -0
  83. package/lib/forms/firm/employee-details.form.d.ts +14 -0
  84. package/lib/forms/firm/employee-invite.form.d.ts +17 -0
  85. package/lib/forms/firm/firm-branch.form.d.ts +5 -0
  86. package/lib/forms/firm/index.d.ts +6 -0
  87. package/lib/forms/index.d.ts +1 -0
  88. package/lib/forms/register/register-firm.form.d.ts +2 -2
  89. package/lib/forms/user/user.form.d.ts +15 -3
  90. package/lib/models/client/client-invite.d.ts +5 -2
  91. package/lib/models/client/client-movement.d.ts +3 -2
  92. package/lib/models/employee/employee-details.d.ts +3 -1
  93. package/lib/models/employee/employee-invite.d.ts +4 -1
  94. package/lib/models/firm/firm-branch.d.ts +12 -0
  95. package/lib/models/firm/firm-branch.interface.d.ts +7 -0
  96. package/lib/models/firm/index.d.ts +2 -0
  97. package/lib/models/index.d.ts +1 -0
  98. package/lib/models/registration-invite/registration-invite.d.ts +2 -0
  99. package/lib/models/user/user.d.ts +1 -3
  100. package/lib/services/firm/current-firm-branch.service.d.ts +11 -0
  101. package/lib/services/firm/index.d.ts +1 -0
  102. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +0 -1
  103. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +1 -1
  104. package/lib/services/http/firm/employee/employee-messages.enum.d.ts +2 -1
  105. package/lib/services/http/firm/employee/employee.service.d.ts +4 -3
  106. package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts +3 -3
  107. package/lib/services/http/firm/firm-branch/firm-branch-messages.enum.d.ts +7 -0
  108. package/lib/services/http/firm/firm-branch/firm-branch.service.d.ts +13 -0
  109. package/lib/services/http/firm/firm-branch/index.d.ts +2 -0
  110. package/lib/services/http/firm/firm.service.d.ts +2 -2
  111. package/lib/services/http/firm/index.d.ts +1 -0
  112. package/lib/services/index.d.ts +1 -0
  113. package/package.json +1 -1
  114. package/public-api.d.ts +0 -1
  115. package/esm2022/lib/collections/employee.collection.mjs +0 -11
  116. package/esm2022/lib/db/Enums/firm-type.enum.mjs +0 -6
  117. package/lib/collections/employee.collection.d.ts +0 -6
  118. /package/lib/db/Enums/{firm-type.enum.d.ts → firm/firm-type.enum.d.ts} +0 -0
@@ -23,7 +23,7 @@ import moment from 'moment';
23
23
  import { DateRange } from 'moment-range';
24
24
  import ceil from 'lodash/ceil';
25
25
  import range from 'lodash/range';
26
- import { Validators, UntypedFormGroup, UntypedFormControl, UntypedFormArray, FormControl, FormArray, FormGroup } from '@angular/forms';
26
+ import { Validators, FormGroup, FormArray, UntypedFormControl, UntypedFormArray, UntypedFormGroup, FormControl } from '@angular/forms';
27
27
  import compact from 'lodash/compact';
28
28
  import concat from 'lodash/concat';
29
29
  import cloneDeep$1 from 'lodash/cloneDeep';
@@ -1018,6 +1018,18 @@ var BankTransactionTypeEnum;
1018
1018
  BankTransactionTypeEnum[BankTransactionTypeEnum["CREDIT"] = 2] = "CREDIT";
1019
1019
  })(BankTransactionTypeEnum || (BankTransactionTypeEnum = {}));
1020
1020
 
1021
+ var EmployeeInviteRoleEnum;
1022
+ (function (EmployeeInviteRoleEnum) {
1023
+ EmployeeInviteRoleEnum[EmployeeInviteRoleEnum["EMPLOYEE"] = 1] = "EMPLOYEE";
1024
+ EmployeeInviteRoleEnum[EmployeeInviteRoleEnum["MANAGER"] = 2] = "MANAGER";
1025
+ })(EmployeeInviteRoleEnum || (EmployeeInviteRoleEnum = {}));
1026
+
1027
+ var FirmTypeEnum;
1028
+ (function (FirmTypeEnum) {
1029
+ FirmTypeEnum[FirmTypeEnum["ACCOUNTANT"] = 1] = "ACCOUNTANT";
1030
+ FirmTypeEnum[FirmTypeEnum["ADVISOR"] = 2] = "ADVISOR";
1031
+ })(FirmTypeEnum || (FirmTypeEnum = {}));
1032
+
1021
1033
  var AnnualFrequencyEnum;
1022
1034
  (function (AnnualFrequencyEnum) {
1023
1035
  AnnualFrequencyEnum[AnnualFrequencyEnum["ANNUAL"] = 1] = "ANNUAL";
@@ -1989,7 +2001,10 @@ class Collection {
1989
2001
  return this.create(this.items.filter(callback));
1990
2002
  }
1991
2003
  filterBy(path, values) {
1992
- return this.filter((item) => (Array.isArray(values) ? values : [values]).includes(get(item, path)));
2004
+ return this.filter((item) => {
2005
+ const arrayValues = Array.isArray(values) ? values : [values];
2006
+ return arrayValues.length ? arrayValues.includes(get(item, path)) : true;
2007
+ });
1993
2008
  }
1994
2009
  filterByRange(path, from, to) {
1995
2010
  return this.filter((item) => get(item, path) >= from && get(item, path) <= to);
@@ -4051,6 +4066,7 @@ var UserRolesEnum;
4051
4066
  (function (UserRolesEnum) {
4052
4067
  UserRolesEnum["FIRM_OWNER"] = "ROLE_FIRM_OWNER";
4053
4068
  UserRolesEnum["FIRM_MANAGER"] = "ROLE_FIRM_MANAGER";
4069
+ UserRolesEnum["FIRM_TOP_MANAGER"] = "ROLE_FIRM_TOP_MANAGER";
4054
4070
  UserRolesEnum["CLIENT"] = "ROLE_CLIENT";
4055
4071
  UserRolesEnum["EMPLOYEE"] = "ROLE_EMPLOYEE";
4056
4072
  UserRolesEnum["ACCOUNTANT"] = "ROLE_ACCOUNTANT";
@@ -4139,6 +4155,9 @@ class RegistrationInvite extends RegistrationInvite$1 {
4139
4155
  __decorate([
4140
4156
  Type(() => AppFile)
4141
4157
  ], RegistrationInvite.prototype, "file", void 0);
4158
+ __decorate([
4159
+ Type(() => User)
4160
+ ], RegistrationInvite.prototype, "user", void 0);
4142
4161
 
4143
4162
  var PhoneTypeEnum;
4144
4163
  (function (PhoneTypeEnum) {
@@ -4160,12 +4179,6 @@ __decorate([
4160
4179
  Type(() => Country)
4161
4180
  ], Phone.prototype, "country", void 0);
4162
4181
 
4163
- var FirmTypeEnum;
4164
- (function (FirmTypeEnum) {
4165
- FirmTypeEnum[FirmTypeEnum["ACCOUNTANT"] = 1] = "ACCOUNTANT";
4166
- FirmTypeEnum[FirmTypeEnum["ADVISOR"] = 2] = "ADVISOR";
4167
- })(FirmTypeEnum || (FirmTypeEnum = {}));
4168
-
4169
4182
  class Firm extends Firm$1 {
4170
4183
  isAccountant() {
4171
4184
  return this.type === FirmTypeEnum.ACCOUNTANT;
@@ -4184,6 +4197,22 @@ __decorate([
4184
4197
  Type(() => AppFile)
4185
4198
  ], Firm.prototype, "file", void 0);
4186
4199
 
4200
+ class FirmBranch extends AbstractModel {
4201
+ constructor() {
4202
+ super(...arguments);
4203
+ this.isMain = false;
4204
+ }
4205
+ }
4206
+ __decorate([
4207
+ Type(() => Firm)
4208
+ ], FirmBranch.prototype, "firm", void 0);
4209
+ __decorate([
4210
+ Type(() => Address)
4211
+ ], FirmBranch.prototype, "address", void 0);
4212
+ __decorate([
4213
+ Type(() => Phone)
4214
+ ], FirmBranch.prototype, "phone", void 0);
4215
+
4187
4216
  class ClientInvite extends ClientInvite$1 {
4188
4217
  /**
4189
4218
  * Check if client invite status is pending
@@ -4231,9 +4260,6 @@ __decorate([
4231
4260
  __decorate([
4232
4261
  Type(() => Date)
4233
4262
  ], ClientInvite.prototype, "updatedAt", void 0);
4234
- __decorate([
4235
- Type(() => Firm)
4236
- ], ClientInvite.prototype, "firm", void 0);
4237
4263
  __decorate([
4238
4264
  Type(() => User)
4239
4265
  ], ClientInvite.prototype, "client", void 0);
@@ -4243,12 +4269,21 @@ __decorate([
4243
4269
  __decorate([
4244
4270
  Type(() => RegistrationInvite)
4245
4271
  ], ClientInvite.prototype, "registrationInvite", void 0);
4272
+ __decorate([
4273
+ Type(() => Address)
4274
+ ], ClientInvite.prototype, "address", void 0);
4275
+ __decorate([
4276
+ Type(() => Firm)
4277
+ ], ClientInvite.prototype, "firm", void 0);
4278
+ __decorate([
4279
+ Type(() => FirmBranch)
4280
+ ], ClientInvite.prototype, "firmBranch", void 0);
4246
4281
 
4247
4282
  class ClientMovement extends ClientMovement$1 {
4283
+ get firm() {
4284
+ return this.firmBranch.firm;
4285
+ }
4248
4286
  }
4249
- __decorate([
4250
- Type(() => Firm)
4251
- ], ClientMovement.prototype, "firm", void 0);
4252
4287
  __decorate([
4253
4288
  Type(() => User)
4254
4289
  ], ClientMovement.prototype, "client", void 0);
@@ -4261,6 +4296,9 @@ __decorate([
4261
4296
  __decorate([
4262
4297
  Type(() => Date)
4263
4298
  ], ClientMovement.prototype, "dateTo", void 0);
4299
+ __decorate([
4300
+ Type(() => FirmBranch)
4301
+ ], ClientMovement.prototype, "firmBranch", void 0);
4264
4302
 
4265
4303
  /**
4266
4304
  * Chart serie class: chart data item
@@ -4339,10 +4377,16 @@ class ClientPortfolioReport extends AbstractModel {
4339
4377
  }
4340
4378
 
4341
4379
  class EmployeeDetails extends EmployeeDetails$1 {
4380
+ get firmBranchNames() {
4381
+ return this.firmBranches.map(branch => branch.name).join(', ');
4382
+ }
4342
4383
  }
4343
4384
  __decorate([
4344
4385
  Type(() => Firm)
4345
4386
  ], EmployeeDetails.prototype, "firm", void 0);
4387
+ __decorate([
4388
+ Type(() => FirmBranch)
4389
+ ], EmployeeDetails.prototype, "firmBranches", void 0);
4346
4390
 
4347
4391
  var ServiceProductStatusEnum;
4348
4392
  (function (ServiceProductStatusEnum) {
@@ -5433,11 +5477,11 @@ class User extends User$1 {
5433
5477
  isFirmOwner() {
5434
5478
  return this.roles.includes(UserRolesEnum.FIRM_OWNER);
5435
5479
  }
5436
- /**
5437
- * Check if current user is firm manager
5438
- */
5480
+ isTopManager() {
5481
+ return this.roles.includes(UserRolesEnum.FIRM_TOP_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_OWNER);
5482
+ }
5439
5483
  isManager() {
5440
- return this.roles.includes(UserRolesEnum.FIRM_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_OWNER);
5484
+ return this.roles.includes(UserRolesEnum.FIRM_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_TOP_MANAGER) || this.roles.includes(UserRolesEnum.FIRM_OWNER);
5441
5485
  }
5442
5486
  /**
5443
5487
  * check if user has property tank access
@@ -9020,15 +9064,38 @@ class ClientInviteCollection extends Collection {
9020
9064
  }
9021
9065
  }
9022
9066
 
9023
- class EmployeeCollection extends Collection {
9024
- get accountant() {
9025
- return this.items.filter((user) => user.employeeDetails.firm.type === FirmTypeEnum.ACCOUNTANT)[0] ?? null;
9067
+ class UserCollection extends Collection {
9068
+ }
9069
+
9070
+ class EmployeeCollection extends UserCollection {
9071
+ groupByBranch() {
9072
+ const employeesByBranch = new EmployeeCollection([]).groupBy();
9073
+ const branchIds = [...new Set(this.mapBy('employeeDetails.firmBranches').flat().map(branch => branch.id))];
9074
+ branchIds.forEach(branchId => {
9075
+ employeesByBranch.add(branchId, this.filter(employee => !!employee.employeeDetails.firmBranches.find(branch => branch.id === branchId)));
9076
+ });
9077
+ return employeesByBranch;
9026
9078
  }
9027
- get advisors() {
9028
- return this.items.filter((user) => user.employeeDetails.firm.type === FirmTypeEnum.ADVISOR);
9079
+ filterByBranchIds(firmBranchIds) {
9080
+ if (!firmBranchIds.length) {
9081
+ return this;
9082
+ }
9083
+ return this.filter(employee => employee.employeeDetails.firmBranches.some(branch => firmBranchIds.includes(branch.id)));
9084
+ }
9085
+ }
9086
+
9087
+ class EmployeeInviteCollection extends Collection {
9088
+ filterByBranchIds(firmBranchIds) {
9089
+ if (!firmBranchIds.length) {
9090
+ return this;
9091
+ }
9092
+ return this.filter(invite => invite.firmBranches.some(branch => firmBranchIds.includes(branch.id)));
9029
9093
  }
9030
9094
  }
9031
9095
 
9096
+ class ClientCollection extends Collection {
9097
+ }
9098
+
9032
9099
  /**
9033
9100
  * Collection of tax review
9034
9101
  */
@@ -9040,7 +9107,7 @@ class ClientMovementCollection extends Collection {
9040
9107
  return new EmployeeCollection(this.items.map((clientMovement) => clientMovement.employee));
9041
9108
  }
9042
9109
  get clients() {
9043
- return new EmployeeCollection(this.items.map((clientMovement) => clientMovement.client));
9110
+ return new ClientCollection(this.items.map((clientMovement) => clientMovement.client));
9044
9111
  }
9045
9112
  get accountant() {
9046
9113
  return this.items.filter((clientMovement) => clientMovement.firm.type === FirmTypeEnum.ACCOUNTANT)[0] ?? null;
@@ -9109,9 +9176,6 @@ class ClientPortfolioReportCollection extends Collection {
9109
9176
  }
9110
9177
  }
9111
9178
 
9112
- class ClientCollection extends Collection {
9113
- }
9114
-
9115
9179
  /**
9116
9180
  * Collection of depreciations
9117
9181
  */
@@ -9145,7 +9209,7 @@ class IncomeSourceCollection extends Collection {
9145
9209
  });
9146
9210
  }
9147
9211
  /**
9148
- * Filter income sources by provided tyoes
9212
+ * Filter income sources by provided types
9149
9213
  * @param types
9150
9214
  */
9151
9215
  filterByTypes(types) {
@@ -12321,7 +12385,7 @@ class ClientInviteService extends RestService$1 {
12321
12385
  constructor(environment) {
12322
12386
  super(environment);
12323
12387
  this.environment = environment;
12324
- this.endpointUri = 'clients/invites';
12388
+ this.endpointUri = 'client-invites';
12325
12389
  this.collectionClass = ClientInviteCollection;
12326
12390
  this.modelClass = ClientInvite;
12327
12391
  this.mercureTopic = 'clientInvites';
@@ -12331,9 +12395,6 @@ class ClientInviteService extends RestService$1 {
12331
12395
  // @TODO remove when TT-3826 is ready
12332
12396
  this.listenSSE();
12333
12397
  }
12334
- getFirmInvites() {
12335
- return super.get(`${this.apiUrl}/all`);
12336
- }
12337
12398
  /**
12338
12399
  * Get invite which employee is TaxTank Advisor
12339
12400
  * @TODO move to collection? but we need to inject enviroment
@@ -12374,7 +12435,7 @@ class ClientInviteService extends RestService$1 {
12374
12435
  */
12375
12436
  resend(invite) {
12376
12437
  // cant use parent method because of custom specific handler
12377
- return this.http.post(`${this.apiUrl}/${invite.id}/resend`, null)
12438
+ return this.http.put(`${this.apiUrl}/${invite.id}/resend`, {})
12378
12439
  .pipe(map((inviteBase) => {
12379
12440
  const resentInvite = plainToClass(ClientInvite, inviteBase);
12380
12441
  this.handleResponse([resentInvite], 'put');
@@ -12385,7 +12446,7 @@ class ClientInviteService extends RestService$1 {
12385
12446
  * Send invitation from client to firm
12386
12447
  */
12387
12448
  inviteFirmByUser(invite) {
12388
- return super.post(invite, `${this.environment.apiV2}/firms/invite`)
12449
+ return super.post(invite, `${this.environment.apiV2}/firm-invites`)
12389
12450
  .pipe(catchError((error) => {
12390
12451
  if (error.error.email) {
12391
12452
  this.toastService.error(error.error.email[0]);
@@ -12512,6 +12573,7 @@ var EmployeeMessagesEnum;
12512
12573
  EmployeeMessagesEnum["ACTIVATED"] = "Employee account activated";
12513
12574
  EmployeeMessagesEnum["DEACTIVATED"] = "Employee account deactivated";
12514
12575
  EmployeeMessagesEnum["DEACTIVATE_ERROR"] = "All clients must be transferred prior to removing an accountant";
12576
+ EmployeeMessagesEnum["UPDATED"] = "Employee account updated";
12515
12577
  })(EmployeeMessagesEnum || (EmployeeMessagesEnum = {}));
12516
12578
 
12517
12579
  class EmployeeService extends RestService$1 {
@@ -12519,7 +12581,7 @@ class EmployeeService extends RestService$1 {
12519
12581
  super(...arguments);
12520
12582
  this.endpointUri = 'employees';
12521
12583
  this.modelClass = User;
12522
- this.collectionClass = (Collection);
12584
+ this.collectionClass = EmployeeCollection;
12523
12585
  this.disabledMethods = ['postBatch', 'putBatch'];
12524
12586
  this.messages = EmployeeMessagesEnum;
12525
12587
  this.roles = [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.FIRM_OWNER];
@@ -12537,6 +12599,12 @@ class EmployeeService extends RestService$1 {
12537
12599
  return throwError(error);
12538
12600
  }));
12539
12601
  }
12602
+ toggleManagerRole(employee) {
12603
+ const role = UserRolesEnum.FIRM_MANAGER;
12604
+ const index = employee.roles.indexOf(role);
12605
+ index === -1 ? employee.roles.push(role) : employee.roles.splice(index, 1);
12606
+ return super.put(employee, `${this.environment.apiV2}/${this.endpointUri}/${employee.id}`);
12607
+ }
12540
12608
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
12541
12609
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeService, providedIn: 'root' }); }
12542
12610
  }
@@ -12548,6 +12616,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12548
12616
  }] });
12549
12617
 
12550
12618
  class EmployeeInvite extends EmployeeInvite$1 {
12619
+ get firmBranchNames() {
12620
+ return this.firmBranches.map(branch => branch.name).join(', ');
12621
+ }
12551
12622
  }
12552
12623
  __decorate([
12553
12624
  Type(() => RegistrationInvite)
@@ -12555,12 +12626,15 @@ __decorate([
12555
12626
  __decorate([
12556
12627
  Type(() => User)
12557
12628
  ], EmployeeInvite.prototype, "employee", void 0);
12629
+ __decorate([
12630
+ Type(() => FirmBranch)
12631
+ ], EmployeeInvite.prototype, "firmBranches", void 0);
12558
12632
 
12559
12633
  class EmployeeInviteService extends RestService$1 {
12560
12634
  constructor() {
12561
12635
  super(...arguments);
12562
- this.endpointUri = 'employees/invites';
12563
- this.collectionClass = (Collection);
12636
+ this.endpointUri = 'employee-invites';
12637
+ this.collectionClass = EmployeeInviteCollection;
12564
12638
  this.modelClass = EmployeeInvite;
12565
12639
  this.roles = [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.FIRM_OWNER];
12566
12640
  }
@@ -12579,7 +12653,7 @@ class EmployeeInviteService extends RestService$1 {
12579
12653
  * @param invite
12580
12654
  */
12581
12655
  resend(invite) {
12582
- return this.http.post(`${this.environment.apiV2}/${this.endpointUri}/${invite.id}/resend`, null)
12656
+ return this.http.put(`${this.environment.apiV2}/${this.endpointUri}/${invite.id}/resend`, {})
12583
12657
  .pipe(map((resentInviteBase) => {
12584
12658
  const updatedInvite = plainToClass(EmployeeInvite, resentInviteBase);
12585
12659
  this.handleResponse([updatedInvite], 'put');
@@ -12688,6 +12762,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12688
12762
  args: ['environment']
12689
12763
  }] }]; } });
12690
12764
 
12765
+ class FirmBranchService extends RestService$1 {
12766
+ constructor() {
12767
+ super(...arguments);
12768
+ this.endpointUri = 'firm-branches';
12769
+ this.modelClass = FirmBranch;
12770
+ this.collectionClass = (Collection);
12771
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
12772
+ }
12773
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FirmBranchService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
12774
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FirmBranchService, providedIn: 'root' }); }
12775
+ }
12776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FirmBranchService, decorators: [{
12777
+ type: Injectable,
12778
+ args: [{
12779
+ providedIn: 'root'
12780
+ }]
12781
+ }] });
12782
+
12783
+ var FirmBranchMessagesEnum;
12784
+ (function (FirmBranchMessagesEnum) {
12785
+ FirmBranchMessagesEnum["CREATED"] = "Branch created";
12786
+ FirmBranchMessagesEnum["UPDATED"] = "Branch updated";
12787
+ FirmBranchMessagesEnum["DELETED"] = "Branch deleted";
12788
+ FirmBranchMessagesEnum["DELETE_ERROR"] = "Only empty branch can be deleted";
12789
+ FirmBranchMessagesEnum["CONFIRM_DELETE"] = "Are you sure you want to delete this branch?";
12790
+ })(FirmBranchMessagesEnum || (FirmBranchMessagesEnum = {}));
12791
+
12691
12792
  /**
12692
12793
  * Abstract base service that implements common services functionality
12693
12794
  * and describe abstract methods/properties that have to be implemented in child services
@@ -18279,7 +18380,7 @@ class AccountSetupService {
18279
18380
  }))));
18280
18381
  batch.push(
18281
18382
  // Invite clients item is completed when firm has clients or firm has invited clients.
18282
- this.setItemStatus(this.items.findBy('isInviteClients', true), combineLatest([this.clientMovementService.getActive(), this.clientInviteService.getFirmInvites()])
18383
+ this.setItemStatus(this.items.findBy('isInviteClients', true), combineLatest([this.clientMovementService.getActive(), this.clientInviteService.get()])
18283
18384
  .pipe(map(([movements, invites]) => [...movements.toArray(), ...invites.toArray()]))));
18284
18385
  return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
18285
18386
  }
@@ -19077,6 +19178,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19077
19178
  }]
19078
19179
  }], ctorParameters: function () { return [{ type: PropertyService }, { type: TransactionService }, { type: DepreciationService }, { type: ChartAccountsService }]; } });
19079
19180
 
19181
+ class CurrentFirmBranchService {
19182
+ constructor() {
19183
+ this.firmBranchIds$ = new BehaviorSubject([]);
19184
+ }
19185
+ get() {
19186
+ return this.firmBranchIds$.asObservable();
19187
+ }
19188
+ getCache() {
19189
+ return this.firmBranchIds$.getValue();
19190
+ }
19191
+ set(firmBranches) {
19192
+ this.firmBranchIds$.next(firmBranches.map(branch => branch.id));
19193
+ }
19194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CurrentFirmBranchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19195
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CurrentFirmBranchService, providedIn: 'root' }); }
19196
+ }
19197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CurrentFirmBranchService, decorators: [{
19198
+ type: Injectable,
19199
+ args: [{
19200
+ providedIn: 'root'
19201
+ }]
19202
+ }] });
19203
+
19080
19204
  const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
19081
19205
  /**
19082
19206
  * Service to work with XLSX (generate, download, e.t.c.)
@@ -19385,12 +19509,12 @@ const ENDPOINTS = {
19385
19509
  CLIENTS_GET: new Endpoint('GET', '\\/clients'),
19386
19510
  CLIENTS_PUT: new Endpoint('PUT', '\\/clients'),
19387
19511
  CLIENTS_EXCLUDE_PUT: new Endpoint('PUT', '\\/clients\\/\\d+\\/exclude'),
19388
- CLIENTS_INVITES_GET: new Endpoint('GET', '\\/clients\\/\\invites'),
19389
- CLIENTS_INVITES_POST: new Endpoint('POST', '\\/clients\\/\\invites'),
19390
- CLIENTS_INVITES_DELETE: new Endpoint('DELETE', '\\/clients\\/\\invites\\/\\d+'),
19391
- CLIENTS_INVITES_ACCEPT: new Endpoint('PUT', '\\/clients\\/\\invites\\/\\d+\\/accept'),
19392
- CLIENTS_INVITES_REJECT: new Endpoint('PUT', '\\/clients\\/\\invites\\/\\d+\\/reject'),
19393
- CLIENTS_INVITES_RESEND: new Endpoint('POST', '\\/clients\\/\\invites\\/\\d+\\/resend'),
19512
+ CLIENTS_INVITES_GET: new Endpoint('GET', '\\/client-invites'),
19513
+ CLIENTS_INVITES_POST: new Endpoint('POST', '\\/client-invites'),
19514
+ CLIENTS_INVITES_DELETE: new Endpoint('DELETE', '\\/client-invites\\/\\d+'),
19515
+ CLIENTS_INVITES_ACCEPT: new Endpoint('PUT', '\\/client-invites\\/\\d+\\/accept'),
19516
+ CLIENTS_INVITES_REJECT: new Endpoint('PUT', '\\/client-invites\\/\\d+\\/reject'),
19517
+ CLIENTS_INVITES_RESEND: new Endpoint('POST', '\\/client-invites\\/\\d+\\/resend'),
19394
19518
  CLIENT_MOVEMENTS_CLOSE: new Endpoint('PUT', '\\/client-movements\\/\\d+\\/close'),
19395
19519
  CLIENT_MOVEMENTS_GET: new Endpoint('GET', '\\/client-movements'),
19396
19520
  CLIENT_MOVEMENTS_POST: new Endpoint('POST', '\\/client-movements'),
@@ -19407,20 +19531,24 @@ const ENDPOINTS = {
19407
19531
  DEPRECIATIONS_DELETE: new Endpoint('DELETE', '\\/depreciations\\/\\d+'),
19408
19532
  DOWNLOAD_FILE_GET: new Endpoint('GET', '\\/files\\/\\d+\\/download'),
19409
19533
  EMPLOYEES_GET: new Endpoint('GET', '\\/employees'),
19410
- EMPLOYEES_INVITES_GET: new Endpoint('GET', '\\/employees\\/\\invites'),
19411
- EMPLOYEES_INVITES_DELETE: new Endpoint('DELETE', '\\/employees\\/\\invites\\/\\d+'),
19412
- EMPLOYEES_INVITE_POST: new Endpoint('POST', '\\/employees\\/\\invites'),
19413
- EMPLOYEES_INVITES_REJECT_POST: new Endpoint('POST', '\\/employees\\/\\invites\\/\\d+\\/\\reject'),
19414
- EMPLOYEES_INVITES_RESEND_POST: new Endpoint('POST', '\\/employees\\/\\invites\\/\\d+\\/\\resend'),
19534
+ EMPLOYEES_PUT: new Endpoint('PUT', '\\/employees\\/\\d+'),
19415
19535
  EMPLOYEES_DEACTIVATE_PUT: new Endpoint('PUT', '\\/employees\\/\\d+\\/\\deactivate'),
19416
19536
  EMPLOYEES_ACTIVATE_PUT: new Endpoint('PUT', '\\/employees\\/\\d+\\/\\activate'),
19537
+ EMPLOYEES_INVITES_GET: new Endpoint('GET', '\\/employee-invites'),
19538
+ EMPLOYEES_INVITES_DELETE: new Endpoint('DELETE', '\\/employee-invites\\/\\d+'),
19539
+ EMPLOYEES_INVITE_POST: new Endpoint('POST', '\\/employee-invites'),
19540
+ EMPLOYEES_INVITES_RESEND_POST: new Endpoint('POST', '\\/employee-invites\\/\\d+\\/\\resend'),
19417
19541
  FACEBOOK_LOGIN_POST: new Endpoint('POST', '\\/users\\/authentication\\/facebook'),
19418
19542
  FILE_POST: new Endpoint('POST', '\\/api\\/files'),
19419
19543
  FIRM_GET: new Endpoint('GET', '\\/firms'),
19420
19544
  FIRM_CURRENT_GET: new Endpoint('GET', '\\/firms\\/current'),
19421
19545
  FIRM_CURRENT_PUT: new Endpoint('PUT', '\\/firms\\/current'),
19422
- FIRM_INVITE_POST: new Endpoint('POST', '\\/firms\\/invite'),
19546
+ FIRM_INVITE_POST: new Endpoint('POST', '\\/firm-invites'),
19423
19547
  FIRM_REGISTRATION_POST: new Endpoint('POST', '\\/firms\\/registration'),
19548
+ FIRM_BRANCH_GET: new Endpoint('GET', '\\/firm-branches'),
19549
+ FIRM_BRANCH_PUT: new Endpoint('PUT', '\\/firm-branches\\/\\d+'),
19550
+ FIRM_BRANCH_POST: new Endpoint('POST', '\\/firm-branches'),
19551
+ FIRM_BRANCH_DELETE: new Endpoint('DELETE', '\\/firm-branches\\/\\d+'),
19424
19552
  FOLDERS_GET: new Endpoint('GET', '\\/folders'),
19425
19553
  FOLDERS_POST: new Endpoint('POST', '\\/folders'),
19426
19554
  FOLDERS_PUT: new Endpoint('PUT', '\\/folders\\/\\d+'),
@@ -20309,8 +20437,9 @@ function taxReviewFilterPredicate(data, filter) {
20309
20437
  * Abstract form class
20310
20438
  * @TODO rename to AbstractFormGroup
20311
20439
  * @TODO Alex TT-2190: refactor: check and improve logic
20440
+ * @TODO Model extends AbstractModel
20312
20441
  */
20313
- class AbstractForm extends UntypedFormGroup {
20442
+ class AbstractForm extends FormGroup {
20314
20443
  static { this.inputMaxLength = 30; }
20315
20444
  constructor(controls,
20316
20445
  // @TODO vik required, otherwise modelClass won't exist
@@ -20338,6 +20467,9 @@ class AbstractForm extends UntypedFormGroup {
20338
20467
  get currentValue() {
20339
20468
  return this.createModelInstance(Object.assign({}, this.model, this.getRawValue()));
20340
20469
  }
20470
+ toggleEnabledState() {
20471
+ this.enabled ? this.disable() : this.enable();
20472
+ }
20341
20473
  /**
20342
20474
  * Check validation and return a new instance of generic model.
20343
20475
  * Merge form value to initial object
@@ -20412,6 +20544,34 @@ class AbstractForm extends UntypedFormGroup {
20412
20544
  }
20413
20545
  }
20414
20546
 
20547
+ class CollectionForm extends FormArray {
20548
+ constructor(formConstructor, models = [], ...args) {
20549
+ super(models.map(model => new formConstructor(model, ...args)));
20550
+ this.formConstructor = formConstructor;
20551
+ this.args = args;
20552
+ if (!models.length) {
20553
+ this.add();
20554
+ }
20555
+ }
20556
+ createFormGroup(model) {
20557
+ return new this.formConstructor(model, ...this.args);
20558
+ }
20559
+ add(model) {
20560
+ super.push(this.createFormGroup(model));
20561
+ }
20562
+ /**
20563
+ * Submit form and return array of properties from form value
20564
+ */
20565
+ submit(data = {}, includeDisabledFields = false) {
20566
+ this.markAllAsTouched();
20567
+ const controls = includeDisabledFields ? this.controls : this.controls.filter((form) => form.enabled);
20568
+ if (!this.valid || !controls.length) {
20569
+ return null;
20570
+ }
20571
+ return controls.map((form) => form.submit(data, includeDisabledFields));
20572
+ }
20573
+ }
20574
+
20415
20575
  /**
20416
20576
  * Address form. Works with corelogic or manual address
20417
20577
  */
@@ -20979,6 +21139,90 @@ class FirmForm extends AbstractForm {
20979
21139
  }
20980
21140
  }
20981
21141
 
21142
+ class FirmBranchForm extends AbstractForm {
21143
+ constructor(firm) {
21144
+ super({
21145
+ name: new UntypedFormControl(firm.name, Validators.required),
21146
+ address: new UntypedFormControl(firm.address, Validators.required),
21147
+ phone: new UntypedFormControl(firm.phone),
21148
+ isMain: new UntypedFormControl(firm.isMain)
21149
+ }, firm);
21150
+ }
21151
+ }
21152
+
21153
+ class EmployeeInviteForm extends AbstractForm {
21154
+ constructor(invite = plainToClass(EmployeeInvite, {}), uniqueEmailValidator = null) {
21155
+ super({
21156
+ registrationInvite: new FormGroup({
21157
+ firstName: new FormControl(invite.registrationInvite?.firstName, [Validators.required]),
21158
+ lastName: new FormControl(invite.registrationInvite?.lastName, [Validators.required]),
21159
+ email: new FormControl(invite.registrationInvite?.email, {
21160
+ // @TODO RxwebValidators.unique()
21161
+ validators: [Validators.required, Validators.email],
21162
+ asyncValidators: [uniqueEmailValidator.validate.bind(uniqueEmailValidator)],
21163
+ updateOn: 'blur'
21164
+ }),
21165
+ }),
21166
+ role: new FormControl(EmployeeInviteRoleEnum.EMPLOYEE, [Validators.required]),
21167
+ }, invite);
21168
+ }
21169
+ }
21170
+
21171
+ class ClientMovementForm extends AbstractForm {
21172
+ constructor(clientMovement) {
21173
+ super({
21174
+ employee: new FormControl({ value: null, disabled: true }, [Validators.required]),
21175
+ firmBranch: new FormControl({ value: null, disabled: true }, [Validators.required]),
21176
+ }, clientMovement);
21177
+ }
21178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientMovementForm, deps: [{ token: ClientMovement }], target: i0.ɵɵFactoryTarget.Injectable }); }
21179
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientMovementForm, providedIn: 'root' }); }
21180
+ }
21181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientMovementForm, decorators: [{
21182
+ type: Injectable,
21183
+ args: [{
21184
+ providedIn: 'root'
21185
+ }]
21186
+ }], ctorParameters: function () { return [{ type: ClientMovement }]; } });
21187
+
21188
+ class EmployeeDetailsForm extends AbstractForm {
21189
+ constructor(employeeDetails) {
21190
+ super({
21191
+ firmBranches: new FormControl(employeeDetails.firmBranches, [Validators.required]),
21192
+ }, employeeDetails);
21193
+ }
21194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeDetailsForm, deps: [{ token: EmployeeDetails }], target: i0.ɵɵFactoryTarget.Injectable }); }
21195
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeDetailsForm, providedIn: 'root' }); }
21196
+ }
21197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeDetailsForm, decorators: [{
21198
+ type: Injectable,
21199
+ args: [{
21200
+ providedIn: 'root'
21201
+ }]
21202
+ }], ctorParameters: function () { return [{ type: EmployeeDetails }]; } });
21203
+
21204
+ class ClientInviteForm extends AbstractForm {
21205
+ constructor(invite = plainToClass(ClientInvite, {})) {
21206
+ super({
21207
+ employee: new FormControl(invite.employee, [Validators.required]),
21208
+ registrationInvite: new FormGroup({
21209
+ firstName: new FormControl(invite.registrationInvite?.firstName, [Validators.required]),
21210
+ lastName: new FormControl(invite.registrationInvite?.lastName, [Validators.required]),
21211
+ email: new FormControl(invite.registrationInvite?.email, [Validators.required, Validators.email]),
21212
+ }),
21213
+ }, invite);
21214
+ }
21215
+ }
21216
+
21217
+ class ClientInvitePutForm extends AbstractForm {
21218
+ constructor(invite = plainToClass(ClientInvite, {})) {
21219
+ super({
21220
+ employee: new FormControl(invite.employee, [Validators.required]),
21221
+ firmBranch: new FormControl(invite.firmBranch, [Validators.required]),
21222
+ }, invite);
21223
+ }
21224
+ }
21225
+
20982
21226
  /**
20983
21227
  * Form array with bank account properties
20984
21228
  * @TODO create AbstractFormArray
@@ -21742,12 +21986,12 @@ class UserInviteForm extends AbstractForm {
21742
21986
  class UserForm extends AbstractForm {
21743
21987
  constructor(user) {
21744
21988
  super({
21745
- title: new UntypedFormControl(user.title),
21746
- firstName: new UntypedFormControl(user.firstName, Validators.required),
21747
- lastName: new UntypedFormControl(user.lastName, Validators.required),
21748
- address: new UntypedFormControl(user.address),
21749
- phone: new UntypedFormControl(user.phone),
21750
- file: new UntypedFormControl(user.file)
21989
+ title: new FormControl(user.title),
21990
+ firstName: new FormControl(user.firstName, Validators.required),
21991
+ lastName: new FormControl(user.lastName, Validators.required),
21992
+ address: new FormControl(user.address),
21993
+ phone: new FormControl(user.phone),
21994
+ file: new FormControl(user.file)
21751
21995
  }, user);
21752
21996
  }
21753
21997
  }
@@ -23868,5 +24112,5 @@ var MessagesEnum;
23868
24112
  * Generated bundle index. Do not edit.
23869
24113
  */
23870
24114
 
23871
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, 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, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, 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, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsAdjustmentIncludedListEnum, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsForm, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsInvoiceEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsUnallocatableListEnum, ChartAccountsValue, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientCouponService, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientInvite, ClientInviteCollection, ClientInviteMessages, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, 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, EmployeeInvite, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, Holding, HoldingCollection, HoldingForm, HoldingImport, HoldingImportForm, HoldingImportMessagesEnum, HoldingImportService, HoldingIncomeForm, HoldingMessagesEnum, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleForm, HoldingSaleMessagesEnum, HoldingSaleService, HoldingService, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MixpanelService, 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, 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, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, 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, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, 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, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserRolesEnum, 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, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, taxReviewFilterPredicate, toArray };
24115
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, 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, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, 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, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BestVehicleLogbookCollection, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsAdjustmentIncludedListEnum, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsForm, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsInvoiceEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMessagesEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsPropertyAdjustmentsListEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsUnallocatableListEnum, ChartAccountsValue, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientCouponService, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientInvite, ClientInviteCollection, ClientInviteForm, ClientInviteMessages, ClientInvitePutForm, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementForm, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CollectionForm, CorelogicService, CorelogicSuggestion, Country, CurrentFirmBranchService, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, 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, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, Holding, HoldingCollection, HoldingForm, HoldingImport, HoldingImportForm, HoldingImportMessagesEnum, HoldingImportService, HoldingIncomeForm, HoldingMessagesEnum, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleForm, HoldingSaleMessagesEnum, HoldingSaleService, HoldingService, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeListEnum, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceMessagesEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, InvoicePaymentForm, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MixpanelService, 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, 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, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, 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, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, 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, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, 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, UserRolesEnum, 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, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, taxReviewFilterPredicate, toArray };
23872
24116
  //# sourceMappingURL=taxtank-core.mjs.map