taxtank-core 0.32.89 → 0.32.91

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 (126) 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/firm-invite.form.mjs +17 -0
  29. package/esm2022/lib/forms/firm/index.mjs +8 -1
  30. package/esm2022/lib/forms/index.mjs +2 -1
  31. package/esm2022/lib/forms/register/register-client.form.mjs +8 -6
  32. package/esm2022/lib/forms/register/register-firm.form.mjs +4 -4
  33. package/esm2022/lib/forms/user/user.form.mjs +8 -8
  34. package/esm2022/lib/interceptors/rewardful.interceptor.mjs +2 -1
  35. package/esm2022/lib/models/client/client-invite.mjs +12 -5
  36. package/esm2022/lib/models/client/client-movement.mjs +8 -5
  37. package/esm2022/lib/models/employee/employee-details.mjs +8 -2
  38. package/esm2022/lib/models/employee/employee-invite.mjs +9 -2
  39. package/esm2022/lib/models/endpoint/endpoints.const.mjs +17 -13
  40. package/esm2022/lib/models/firm/firm-branch.interface.mjs +2 -0
  41. package/esm2022/lib/models/firm/firm-branch.mjs +22 -0
  42. package/esm2022/lib/models/firm/firm.mjs +2 -2
  43. package/esm2022/lib/models/firm/index.mjs +3 -0
  44. package/esm2022/lib/models/index.mjs +2 -1
  45. package/esm2022/lib/models/registration-invite/registration-invite.mjs +5 -1
  46. package/esm2022/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.mjs +2 -1
  47. package/esm2022/lib/models/user/user.mjs +5 -5
  48. package/esm2022/lib/services/account-setup/account-setup.service.mjs +3 -3
  49. package/esm2022/lib/services/firm/current-firm-branch.service.mjs +26 -0
  50. package/esm2022/lib/services/firm/index.mjs +2 -0
  51. package/esm2022/lib/services/http/firm/client-invite/client-invite-messages.enum.mjs +2 -2
  52. package/esm2022/lib/services/http/firm/client-invite/client-invite.service.mjs +4 -7
  53. package/esm2022/lib/services/http/firm/client-movement/client-movement.service.mjs +1 -1
  54. package/esm2022/lib/services/http/firm/employee/employee-messages.enum.mjs +2 -1
  55. package/esm2022/lib/services/http/firm/employee/employee.service.mjs +10 -4
  56. package/esm2022/lib/services/http/firm/employee-invite/employee-invite.service.mjs +5 -5
  57. package/esm2022/lib/services/http/firm/firm-branch/firm-branch-messages.enum.mjs +9 -0
  58. package/esm2022/lib/services/http/firm/firm-branch/firm-branch.service.mjs +23 -0
  59. package/esm2022/lib/services/http/firm/firm-branch/index.mjs +3 -0
  60. package/esm2022/lib/services/http/firm/firm.service.mjs +2 -2
  61. package/esm2022/lib/services/http/firm/index.mjs +2 -1
  62. package/esm2022/lib/services/index.mjs +2 -1
  63. package/esm2022/public-api.mjs +1 -2
  64. package/fesm2022/taxtank-core.mjs +326 -67
  65. package/fesm2022/taxtank-core.mjs.map +1 -1
  66. package/lib/collections/client-movement.collection.d.ts +2 -2
  67. package/lib/collections/client.collection.d.ts +1 -1
  68. package/lib/collections/firm/employee-invite.collection.d.ts +5 -0
  69. package/lib/collections/firm/employee.collection.d.ts +6 -0
  70. package/lib/collections/firm/index.d.ts +2 -0
  71. package/lib/collections/income-source/income-source.collection.d.ts +1 -1
  72. package/lib/collections/index.d.ts +2 -1
  73. package/lib/collections/user/user.collection.d.ts +4 -0
  74. package/lib/db/Enums/firm/employee-invite-role.enum.d.ts +4 -0
  75. package/lib/db/Enums/firm/index.d.ts +2 -0
  76. package/lib/db/Enums/index.d.ts +1 -0
  77. package/lib/db/Enums/user-roles.enum.d.ts +1 -0
  78. package/lib/db/Models/firm/client-invite.d.ts +6 -2
  79. package/lib/db/Models/firm/client-movement.d.ts +2 -2
  80. package/lib/db/Models/firm/employee-invite.d.ts +4 -2
  81. package/lib/db/Models/firm/firm.d.ts +1 -1
  82. package/lib/db/Models/user/employee-details.d.ts +2 -0
  83. package/lib/forms/abstract.form.d.ts +14 -7
  84. package/lib/forms/collection.form.d.ts +14 -0
  85. package/lib/forms/firm/client-invite-put.form.d.ts +11 -0
  86. package/lib/forms/firm/client-invite.form.d.ts +15 -0
  87. package/lib/forms/firm/client-movement.form.d.ts +14 -0
  88. package/lib/forms/firm/employee-details.form.d.ts +14 -0
  89. package/lib/forms/firm/employee-invite.form.d.ts +17 -0
  90. package/lib/forms/firm/firm-branch.form.d.ts +5 -0
  91. package/lib/forms/firm/firm-invite.form.d.ts +15 -0
  92. package/lib/forms/firm/index.d.ts +7 -0
  93. package/lib/forms/index.d.ts +1 -0
  94. package/lib/forms/register/register-client.form.d.ts +1 -1
  95. package/lib/forms/register/register-firm.form.d.ts +2 -2
  96. package/lib/forms/user/user.form.d.ts +15 -3
  97. package/lib/models/client/client-invite.d.ts +5 -2
  98. package/lib/models/client/client-movement.d.ts +3 -2
  99. package/lib/models/employee/employee-details.d.ts +3 -1
  100. package/lib/models/employee/employee-invite.d.ts +4 -1
  101. package/lib/models/firm/firm-branch.d.ts +12 -0
  102. package/lib/models/firm/firm-branch.interface.d.ts +7 -0
  103. package/lib/models/firm/index.d.ts +2 -0
  104. package/lib/models/index.d.ts +1 -0
  105. package/lib/models/registration-invite/registration-invite.d.ts +2 -0
  106. package/lib/models/user/user.d.ts +1 -3
  107. package/lib/services/firm/current-firm-branch.service.d.ts +11 -0
  108. package/lib/services/firm/index.d.ts +1 -0
  109. package/lib/services/http/firm/client-invite/client-invite-messages.enum.d.ts +1 -1
  110. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +0 -1
  111. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +1 -1
  112. package/lib/services/http/firm/employee/employee-messages.enum.d.ts +2 -1
  113. package/lib/services/http/firm/employee/employee.service.d.ts +4 -3
  114. package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts +3 -3
  115. package/lib/services/http/firm/firm-branch/firm-branch-messages.enum.d.ts +7 -0
  116. package/lib/services/http/firm/firm-branch/firm-branch.service.d.ts +13 -0
  117. package/lib/services/http/firm/firm-branch/index.d.ts +2 -0
  118. package/lib/services/http/firm/firm.service.d.ts +2 -2
  119. package/lib/services/http/firm/index.d.ts +1 -0
  120. package/lib/services/index.d.ts +1 -0
  121. package/package.json +1 -1
  122. package/public-api.d.ts +0 -1
  123. package/esm2022/lib/collections/employee.collection.mjs +0 -11
  124. package/esm2022/lib/db/Enums/firm-type.enum.mjs +0 -6
  125. package/lib/collections/employee.collection.d.ts +0 -6
  126. /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
@@ -7851,6 +7895,7 @@ class MyTaxIncomeStatements {
7851
7895
  .groupBy('incomeSource.name');
7852
7896
  this.allowanceTotalAmount = this.transactionsByChartAccountsHeadings
7853
7897
  .get(ChartAccountsHeadingListEnum.ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES)
7898
+ .filter(transaction => transaction.claimPercent > 0)
7854
7899
  .sumBy('grossAmount');
7855
7900
  this.allowanceTotalTax = this.transactionsByChartAccountsHeadings
7856
7901
  .get(ChartAccountsHeadingListEnum.ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES)
@@ -9020,15 +9065,38 @@ class ClientInviteCollection extends Collection {
9020
9065
  }
9021
9066
  }
9022
9067
 
9023
- class EmployeeCollection extends Collection {
9024
- get accountant() {
9025
- return this.items.filter((user) => user.employeeDetails.firm.type === FirmTypeEnum.ACCOUNTANT)[0] ?? null;
9068
+ class UserCollection extends Collection {
9069
+ }
9070
+
9071
+ class EmployeeCollection extends UserCollection {
9072
+ groupByBranch() {
9073
+ const employeesByBranch = new EmployeeCollection([]).groupBy();
9074
+ const branchIds = [...new Set(this.mapBy('employeeDetails.firmBranches').flat().map(branch => branch.id))];
9075
+ branchIds.forEach(branchId => {
9076
+ employeesByBranch.add(branchId, this.filter(employee => !!employee.employeeDetails.firmBranches.find(branch => branch.id === branchId)));
9077
+ });
9078
+ return employeesByBranch;
9026
9079
  }
9027
- get advisors() {
9028
- return this.items.filter((user) => user.employeeDetails.firm.type === FirmTypeEnum.ADVISOR);
9080
+ filterByBranchIds(firmBranchIds) {
9081
+ if (!firmBranchIds.length) {
9082
+ return this;
9083
+ }
9084
+ return this.filter(employee => employee.employeeDetails.firmBranches.some(branch => firmBranchIds.includes(branch.id)));
9085
+ }
9086
+ }
9087
+
9088
+ class EmployeeInviteCollection extends Collection {
9089
+ filterByBranchIds(firmBranchIds) {
9090
+ if (!firmBranchIds.length) {
9091
+ return this;
9092
+ }
9093
+ return this.filter(invite => invite.firmBranches.some(branch => firmBranchIds.includes(branch.id)));
9029
9094
  }
9030
9095
  }
9031
9096
 
9097
+ class ClientCollection extends Collection {
9098
+ }
9099
+
9032
9100
  /**
9033
9101
  * Collection of tax review
9034
9102
  */
@@ -9040,7 +9108,7 @@ class ClientMovementCollection extends Collection {
9040
9108
  return new EmployeeCollection(this.items.map((clientMovement) => clientMovement.employee));
9041
9109
  }
9042
9110
  get clients() {
9043
- return new EmployeeCollection(this.items.map((clientMovement) => clientMovement.client));
9111
+ return new ClientCollection(this.items.map((clientMovement) => clientMovement.client));
9044
9112
  }
9045
9113
  get accountant() {
9046
9114
  return this.items.filter((clientMovement) => clientMovement.firm.type === FirmTypeEnum.ACCOUNTANT)[0] ?? null;
@@ -9109,9 +9177,6 @@ class ClientPortfolioReportCollection extends Collection {
9109
9177
  }
9110
9178
  }
9111
9179
 
9112
- class ClientCollection extends Collection {
9113
- }
9114
-
9115
9180
  /**
9116
9181
  * Collection of depreciations
9117
9182
  */
@@ -9145,7 +9210,7 @@ class IncomeSourceCollection extends Collection {
9145
9210
  });
9146
9211
  }
9147
9212
  /**
9148
- * Filter income sources by provided tyoes
9213
+ * Filter income sources by provided types
9149
9214
  * @param types
9150
9215
  */
9151
9216
  filterByTypes(types) {
@@ -12321,7 +12386,7 @@ class ClientInviteService extends RestService$1 {
12321
12386
  constructor(environment) {
12322
12387
  super(environment);
12323
12388
  this.environment = environment;
12324
- this.endpointUri = 'clients/invites';
12389
+ this.endpointUri = 'client-invites';
12325
12390
  this.collectionClass = ClientInviteCollection;
12326
12391
  this.modelClass = ClientInvite;
12327
12392
  this.mercureTopic = 'clientInvites';
@@ -12331,9 +12396,6 @@ class ClientInviteService extends RestService$1 {
12331
12396
  // @TODO remove when TT-3826 is ready
12332
12397
  this.listenSSE();
12333
12398
  }
12334
- getFirmInvites() {
12335
- return super.get(`${this.apiUrl}/all`);
12336
- }
12337
12399
  /**
12338
12400
  * Get invite which employee is TaxTank Advisor
12339
12401
  * @TODO move to collection? but we need to inject enviroment
@@ -12374,7 +12436,7 @@ class ClientInviteService extends RestService$1 {
12374
12436
  */
12375
12437
  resend(invite) {
12376
12438
  // cant use parent method because of custom specific handler
12377
- return this.http.post(`${this.apiUrl}/${invite.id}/resend`, null)
12439
+ return this.http.put(`${this.apiUrl}/${invite.id}/resend`, {})
12378
12440
  .pipe(map((inviteBase) => {
12379
12441
  const resentInvite = plainToClass(ClientInvite, inviteBase);
12380
12442
  this.handleResponse([resentInvite], 'put');
@@ -12385,7 +12447,7 @@ class ClientInviteService extends RestService$1 {
12385
12447
  * Send invitation from client to firm
12386
12448
  */
12387
12449
  inviteFirmByUser(invite) {
12388
- return super.post(invite, `${this.environment.apiV2}/firms/invite`)
12450
+ return super.post(invite, `${this.environment.apiV2}/firm-invites`)
12389
12451
  .pipe(catchError((error) => {
12390
12452
  if (error.error.email) {
12391
12453
  this.toastService.error(error.error.email[0]);
@@ -12418,7 +12480,7 @@ var ClientInviteMessages;
12418
12480
  ClientInviteMessages["SEND_INVITE_MESSAGES_TITLE"] = "TaxTank support is here to help";
12419
12481
  ClientInviteMessages["SEND_INVITE_MESSAGES_DESCRIPTION"] = "Before inviting TaxTank support be sure to check out our help articles and message our support team.";
12420
12482
  ClientInviteMessages["TT_ACCOUNTANT_INVITED"] = "Accountant invitation has been sent successfully";
12421
- ClientInviteMessages["TT_ACCOUNTANT_INVETED_TOOLTIP"] = "Need an accountant? TaxTank Accountants delivers virtual accounting service exclusive to TaxTank subscribers. Experience a fast, seamless, and cost-effective lodgement service that rewards your TaxTank efforts throughout the year. Our team of experienced accountants brings their expertise in tax and TaxTank to the virtual realm. It all starts with a 15-minute consultation that sets the stage for personalised service. With us, you\u2019ll receive the best of both worlds at tax time.";
12483
+ ClientInviteMessages["TT_ACCOUNTANT_INVITED_TOOLTIP"] = "Need an accountant? TaxTank has partnered with ITP to deliver next level accounting services at the touch of a button! Experience a fast, seamless and cost-effective review and lodgment service that rewards your TaxTank efforts throughout the year. The ITP team brings their experience in tax and TaxTank to the virtual realm. It all starts with a 15-minute consultation that sets the stage for personalised service without the hassle. Step 1 - Invite ITP Accountants. Step 2 - ITP allocate the right accountant. Step 3 - Lock in a time for your 15-minute virtual consult that sets the stage for personalised service. Step 4 - Experience the difference :)";
12422
12484
  ClientInviteMessages["CONFIRM_REJECT"] = "Are you sure you want to reject this invitation?";
12423
12485
  ClientInviteMessages["REJECTED"] = "Invitation rejected";
12424
12486
  ClientInviteMessages["ACCEPTED"] = "Client invitation accepted";
@@ -12512,6 +12574,7 @@ var EmployeeMessagesEnum;
12512
12574
  EmployeeMessagesEnum["ACTIVATED"] = "Employee account activated";
12513
12575
  EmployeeMessagesEnum["DEACTIVATED"] = "Employee account deactivated";
12514
12576
  EmployeeMessagesEnum["DEACTIVATE_ERROR"] = "All clients must be transferred prior to removing an accountant";
12577
+ EmployeeMessagesEnum["UPDATED"] = "Employee account updated";
12515
12578
  })(EmployeeMessagesEnum || (EmployeeMessagesEnum = {}));
12516
12579
 
12517
12580
  class EmployeeService extends RestService$1 {
@@ -12519,7 +12582,7 @@ class EmployeeService extends RestService$1 {
12519
12582
  super(...arguments);
12520
12583
  this.endpointUri = 'employees';
12521
12584
  this.modelClass = User;
12522
- this.collectionClass = (Collection);
12585
+ this.collectionClass = EmployeeCollection;
12523
12586
  this.disabledMethods = ['postBatch', 'putBatch'];
12524
12587
  this.messages = EmployeeMessagesEnum;
12525
12588
  this.roles = [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.FIRM_OWNER];
@@ -12537,6 +12600,12 @@ class EmployeeService extends RestService$1 {
12537
12600
  return throwError(error);
12538
12601
  }));
12539
12602
  }
12603
+ toggleManagerRole(employee) {
12604
+ const role = UserRolesEnum.FIRM_MANAGER;
12605
+ const index = employee.roles.indexOf(role);
12606
+ index === -1 ? employee.roles.push(role) : employee.roles.splice(index, 1);
12607
+ return super.put(employee, `${this.environment.apiV2}/${this.endpointUri}/${employee.id}`);
12608
+ }
12540
12609
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
12541
12610
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeService, providedIn: 'root' }); }
12542
12611
  }
@@ -12548,6 +12617,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12548
12617
  }] });
12549
12618
 
12550
12619
  class EmployeeInvite extends EmployeeInvite$1 {
12620
+ get firmBranchNames() {
12621
+ return this.firmBranches.map(branch => branch.name).join(', ');
12622
+ }
12551
12623
  }
12552
12624
  __decorate([
12553
12625
  Type(() => RegistrationInvite)
@@ -12555,12 +12627,15 @@ __decorate([
12555
12627
  __decorate([
12556
12628
  Type(() => User)
12557
12629
  ], EmployeeInvite.prototype, "employee", void 0);
12630
+ __decorate([
12631
+ Type(() => FirmBranch)
12632
+ ], EmployeeInvite.prototype, "firmBranches", void 0);
12558
12633
 
12559
12634
  class EmployeeInviteService extends RestService$1 {
12560
12635
  constructor() {
12561
12636
  super(...arguments);
12562
- this.endpointUri = 'employees/invites';
12563
- this.collectionClass = (Collection);
12637
+ this.endpointUri = 'employee-invites';
12638
+ this.collectionClass = EmployeeInviteCollection;
12564
12639
  this.modelClass = EmployeeInvite;
12565
12640
  this.roles = [UserRolesEnum.FIRM_MANAGER, UserRolesEnum.FIRM_OWNER];
12566
12641
  }
@@ -12579,7 +12654,7 @@ class EmployeeInviteService extends RestService$1 {
12579
12654
  * @param invite
12580
12655
  */
12581
12656
  resend(invite) {
12582
- return this.http.post(`${this.environment.apiV2}/${this.endpointUri}/${invite.id}/resend`, null)
12657
+ return this.http.put(`${this.environment.apiV2}/${this.endpointUri}/${invite.id}/resend`, {})
12583
12658
  .pipe(map((resentInviteBase) => {
12584
12659
  const updatedInvite = plainToClass(EmployeeInvite, resentInviteBase);
12585
12660
  this.handleResponse([updatedInvite], 'put');
@@ -12688,6 +12763,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
12688
12763
  args: ['environment']
12689
12764
  }] }]; } });
12690
12765
 
12766
+ class FirmBranchService extends RestService$1 {
12767
+ constructor() {
12768
+ super(...arguments);
12769
+ this.endpointUri = 'firm-branches';
12770
+ this.modelClass = FirmBranch;
12771
+ this.collectionClass = (Collection);
12772
+ this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
12773
+ }
12774
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FirmBranchService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
12775
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FirmBranchService, providedIn: 'root' }); }
12776
+ }
12777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FirmBranchService, decorators: [{
12778
+ type: Injectable,
12779
+ args: [{
12780
+ providedIn: 'root'
12781
+ }]
12782
+ }] });
12783
+
12784
+ var FirmBranchMessagesEnum;
12785
+ (function (FirmBranchMessagesEnum) {
12786
+ FirmBranchMessagesEnum["CREATED"] = "Branch created";
12787
+ FirmBranchMessagesEnum["UPDATED"] = "Branch updated";
12788
+ FirmBranchMessagesEnum["DELETED"] = "Branch deleted";
12789
+ FirmBranchMessagesEnum["DELETE_ERROR"] = "Only empty branch can be deleted";
12790
+ FirmBranchMessagesEnum["CONFIRM_DELETE"] = "Are you sure you want to delete this branch?";
12791
+ })(FirmBranchMessagesEnum || (FirmBranchMessagesEnum = {}));
12792
+
12691
12793
  /**
12692
12794
  * Abstract base service that implements common services functionality
12693
12795
  * and describe abstract methods/properties that have to be implemented in child services
@@ -18279,9 +18381,9 @@ class AccountSetupService {
18279
18381
  }))));
18280
18382
  batch.push(
18281
18383
  // 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()])
18384
+ this.setItemStatus(this.items.findBy('isInviteClients', true), combineLatest([this.clientMovementService.getActive(), this.clientInviteService.get()])
18283
18385
  .pipe(map(([movements, invites]) => [...movements.toArray(), ...invites.toArray()]))));
18284
- return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items)));
18386
+ return combineLatest(batch).pipe(map((items) => new AccountSetupItemCollection(items).sortBy('id', 'asc')));
18285
18387
  }
18286
18388
  /**
18287
18389
  * Check and update isCompleted flag for passed item
@@ -19077,6 +19179,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19077
19179
  }]
19078
19180
  }], ctorParameters: function () { return [{ type: PropertyService }, { type: TransactionService }, { type: DepreciationService }, { type: ChartAccountsService }]; } });
19079
19181
 
19182
+ class CurrentFirmBranchService {
19183
+ constructor() {
19184
+ this.firmBranchIds$ = new BehaviorSubject([]);
19185
+ }
19186
+ get() {
19187
+ return this.firmBranchIds$.asObservable();
19188
+ }
19189
+ getCache() {
19190
+ return this.firmBranchIds$.getValue();
19191
+ }
19192
+ set(firmBranches) {
19193
+ this.firmBranchIds$.next(firmBranches.map(branch => branch.id));
19194
+ }
19195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CurrentFirmBranchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19196
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CurrentFirmBranchService, providedIn: 'root' }); }
19197
+ }
19198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CurrentFirmBranchService, decorators: [{
19199
+ type: Injectable,
19200
+ args: [{
19201
+ providedIn: 'root'
19202
+ }]
19203
+ }] });
19204
+
19080
19205
  const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
19081
19206
  /**
19082
19207
  * Service to work with XLSX (generate, download, e.t.c.)
@@ -19385,12 +19510,12 @@ const ENDPOINTS = {
19385
19510
  CLIENTS_GET: new Endpoint('GET', '\\/clients'),
19386
19511
  CLIENTS_PUT: new Endpoint('PUT', '\\/clients'),
19387
19512
  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'),
19513
+ CLIENTS_INVITES_GET: new Endpoint('GET', '\\/client-invites'),
19514
+ CLIENTS_INVITES_POST: new Endpoint('POST', '\\/client-invites'),
19515
+ CLIENTS_INVITES_DELETE: new Endpoint('DELETE', '\\/client-invites\\/\\d+'),
19516
+ CLIENTS_INVITES_ACCEPT: new Endpoint('PUT', '\\/client-invites\\/\\d+\\/accept'),
19517
+ CLIENTS_INVITES_REJECT: new Endpoint('PUT', '\\/client-invites\\/\\d+\\/reject'),
19518
+ CLIENTS_INVITES_RESEND: new Endpoint('POST', '\\/client-invites\\/\\d+\\/resend'),
19394
19519
  CLIENT_MOVEMENTS_CLOSE: new Endpoint('PUT', '\\/client-movements\\/\\d+\\/close'),
19395
19520
  CLIENT_MOVEMENTS_GET: new Endpoint('GET', '\\/client-movements'),
19396
19521
  CLIENT_MOVEMENTS_POST: new Endpoint('POST', '\\/client-movements'),
@@ -19407,20 +19532,24 @@ const ENDPOINTS = {
19407
19532
  DEPRECIATIONS_DELETE: new Endpoint('DELETE', '\\/depreciations\\/\\d+'),
19408
19533
  DOWNLOAD_FILE_GET: new Endpoint('GET', '\\/files\\/\\d+\\/download'),
19409
19534
  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'),
19535
+ EMPLOYEES_PUT: new Endpoint('PUT', '\\/employees\\/\\d+'),
19415
19536
  EMPLOYEES_DEACTIVATE_PUT: new Endpoint('PUT', '\\/employees\\/\\d+\\/\\deactivate'),
19416
19537
  EMPLOYEES_ACTIVATE_PUT: new Endpoint('PUT', '\\/employees\\/\\d+\\/\\activate'),
19538
+ EMPLOYEES_INVITES_GET: new Endpoint('GET', '\\/employee-invites'),
19539
+ EMPLOYEES_INVITES_DELETE: new Endpoint('DELETE', '\\/employee-invites\\/\\d+'),
19540
+ EMPLOYEES_INVITE_POST: new Endpoint('POST', '\\/employee-invites'),
19541
+ EMPLOYEES_INVITES_RESEND_POST: new Endpoint('POST', '\\/employee-invites\\/\\d+\\/\\resend'),
19417
19542
  FACEBOOK_LOGIN_POST: new Endpoint('POST', '\\/users\\/authentication\\/facebook'),
19418
19543
  FILE_POST: new Endpoint('POST', '\\/api\\/files'),
19419
19544
  FIRM_GET: new Endpoint('GET', '\\/firms'),
19420
19545
  FIRM_CURRENT_GET: new Endpoint('GET', '\\/firms\\/current'),
19421
19546
  FIRM_CURRENT_PUT: new Endpoint('PUT', '\\/firms\\/current'),
19422
- FIRM_INVITE_POST: new Endpoint('POST', '\\/firms\\/invite'),
19547
+ FIRM_INVITE_POST: new Endpoint('POST', '\\/firm-invites'),
19423
19548
  FIRM_REGISTRATION_POST: new Endpoint('POST', '\\/firms\\/registration'),
19549
+ FIRM_BRANCH_GET: new Endpoint('GET', '\\/firm-branches'),
19550
+ FIRM_BRANCH_PUT: new Endpoint('PUT', '\\/firm-branches\\/\\d+'),
19551
+ FIRM_BRANCH_POST: new Endpoint('POST', '\\/firm-branches'),
19552
+ FIRM_BRANCH_DELETE: new Endpoint('DELETE', '\\/firm-branches\\/\\d+'),
19424
19553
  FOLDERS_GET: new Endpoint('GET', '\\/folders'),
19425
19554
  FOLDERS_POST: new Endpoint('POST', '\\/folders'),
19426
19555
  FOLDERS_PUT: new Endpoint('PUT', '\\/folders\\/\\d+'),
@@ -19689,6 +19818,7 @@ class RewardfulInterceptor {
19689
19818
  const params = req.params
19690
19819
  .set('rewardfulReferralKey', window['Rewardful'].referral)
19691
19820
  .set('coupon', window['Rewardful'].coupon?.id ?? '');
19821
+ // window['Rewardful'].clearReferral();
19692
19822
  return req.clone({ params: params });
19693
19823
  }
19694
19824
  intercept(request, next) {
@@ -20309,8 +20439,9 @@ function taxReviewFilterPredicate(data, filter) {
20309
20439
  * Abstract form class
20310
20440
  * @TODO rename to AbstractFormGroup
20311
20441
  * @TODO Alex TT-2190: refactor: check and improve logic
20442
+ * @TODO Model extends AbstractModel
20312
20443
  */
20313
- class AbstractForm extends UntypedFormGroup {
20444
+ class AbstractForm extends FormGroup {
20314
20445
  static { this.inputMaxLength = 30; }
20315
20446
  constructor(controls,
20316
20447
  // @TODO vik required, otherwise modelClass won't exist
@@ -20338,6 +20469,9 @@ class AbstractForm extends UntypedFormGroup {
20338
20469
  get currentValue() {
20339
20470
  return this.createModelInstance(Object.assign({}, this.model, this.getRawValue()));
20340
20471
  }
20472
+ toggleEnabledState() {
20473
+ this.enabled ? this.disable() : this.enable();
20474
+ }
20341
20475
  /**
20342
20476
  * Check validation and return a new instance of generic model.
20343
20477
  * Merge form value to initial object
@@ -20412,6 +20546,34 @@ class AbstractForm extends UntypedFormGroup {
20412
20546
  }
20413
20547
  }
20414
20548
 
20549
+ class CollectionForm extends FormArray {
20550
+ constructor(formConstructor, models = [], ...args) {
20551
+ super(models.map(model => new formConstructor(model, ...args)));
20552
+ this.formConstructor = formConstructor;
20553
+ this.args = args;
20554
+ if (!models.length) {
20555
+ this.add();
20556
+ }
20557
+ }
20558
+ createFormGroup(model) {
20559
+ return new this.formConstructor(model, ...this.args);
20560
+ }
20561
+ add(model) {
20562
+ super.push(this.createFormGroup(model));
20563
+ }
20564
+ /**
20565
+ * Submit form and return array of properties from form value
20566
+ */
20567
+ submit(data = {}, includeDisabledFields = false) {
20568
+ this.markAllAsTouched();
20569
+ const controls = includeDisabledFields ? this.controls : this.controls.filter((form) => form.enabled);
20570
+ if (!this.valid || !controls.length) {
20571
+ return null;
20572
+ }
20573
+ return controls.map((form) => form.submit(data, includeDisabledFields));
20574
+ }
20575
+ }
20576
+
20415
20577
  /**
20416
20578
  * Address form. Works with corelogic or manual address
20417
20579
  */
@@ -20979,6 +21141,103 @@ class FirmForm extends AbstractForm {
20979
21141
  }
20980
21142
  }
20981
21143
 
21144
+ class FirmBranchForm extends AbstractForm {
21145
+ constructor(firm) {
21146
+ super({
21147
+ name: new UntypedFormControl(firm.name, Validators.required),
21148
+ address: new UntypedFormControl(firm.address, Validators.required),
21149
+ phone: new UntypedFormControl(firm.phone),
21150
+ isMain: new UntypedFormControl(firm.isMain)
21151
+ }, firm);
21152
+ }
21153
+ }
21154
+
21155
+ class EmployeeInviteForm extends AbstractForm {
21156
+ constructor(invite = plainToClass(EmployeeInvite, {}), uniqueEmailValidator = null) {
21157
+ super({
21158
+ registrationInvite: new FormGroup({
21159
+ firstName: new FormControl(invite.registrationInvite?.firstName, [Validators.required]),
21160
+ lastName: new FormControl(invite.registrationInvite?.lastName, [Validators.required]),
21161
+ email: new FormControl(invite.registrationInvite?.email, {
21162
+ // @TODO RxwebValidators.unique()
21163
+ validators: [Validators.required, Validators.email],
21164
+ asyncValidators: [uniqueEmailValidator.validate.bind(uniqueEmailValidator)],
21165
+ updateOn: 'blur'
21166
+ }),
21167
+ }),
21168
+ role: new FormControl(EmployeeInviteRoleEnum.EMPLOYEE, [Validators.required]),
21169
+ }, invite);
21170
+ }
21171
+ }
21172
+
21173
+ class ClientMovementForm extends AbstractForm {
21174
+ constructor(clientMovement) {
21175
+ super({
21176
+ employee: new FormControl({ value: null, disabled: true }, [Validators.required]),
21177
+ firmBranch: new FormControl({ value: null, disabled: true }, [Validators.required]),
21178
+ }, clientMovement);
21179
+ }
21180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientMovementForm, deps: [{ token: ClientMovement }], target: i0.ɵɵFactoryTarget.Injectable }); }
21181
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientMovementForm, providedIn: 'root' }); }
21182
+ }
21183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientMovementForm, decorators: [{
21184
+ type: Injectable,
21185
+ args: [{
21186
+ providedIn: 'root'
21187
+ }]
21188
+ }], ctorParameters: function () { return [{ type: ClientMovement }]; } });
21189
+
21190
+ class EmployeeDetailsForm extends AbstractForm {
21191
+ constructor(employeeDetails) {
21192
+ super({
21193
+ firmBranches: new FormControl(employeeDetails.firmBranches, [Validators.required]),
21194
+ }, employeeDetails);
21195
+ }
21196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeDetailsForm, deps: [{ token: EmployeeDetails }], target: i0.ɵɵFactoryTarget.Injectable }); }
21197
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeDetailsForm, providedIn: 'root' }); }
21198
+ }
21199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmployeeDetailsForm, decorators: [{
21200
+ type: Injectable,
21201
+ args: [{
21202
+ providedIn: 'root'
21203
+ }]
21204
+ }], ctorParameters: function () { return [{ type: EmployeeDetails }]; } });
21205
+
21206
+ class ClientInviteForm extends AbstractForm {
21207
+ constructor(invite = plainToClass(ClientInvite, {})) {
21208
+ super({
21209
+ employee: new FormControl(invite.employee, [Validators.required]),
21210
+ registrationInvite: new FormGroup({
21211
+ firstName: new FormControl(invite.registrationInvite?.firstName, [Validators.required]),
21212
+ lastName: new FormControl(invite.registrationInvite?.lastName, [Validators.required]),
21213
+ email: new FormControl(invite.registrationInvite?.email, [Validators.required, Validators.email]),
21214
+ }),
21215
+ }, invite);
21216
+ }
21217
+ }
21218
+
21219
+ class ClientInvitePutForm extends AbstractForm {
21220
+ constructor(invite = plainToClass(ClientInvite, {})) {
21221
+ super({
21222
+ employee: new FormControl(invite.employee, [Validators.required]),
21223
+ firmBranch: new FormControl(invite.firmBranch, [Validators.required]),
21224
+ }, invite);
21225
+ }
21226
+ }
21227
+
21228
+ class FirmInviteForm extends AbstractForm {
21229
+ constructor(invite = plainToClass(ClientInvite, {})) {
21230
+ super({
21231
+ address: new FormControl(invite.address, [Validators.required]),
21232
+ registrationInvite: new FormGroup({
21233
+ firstName: new FormControl(invite.registrationInvite?.firstName, [Validators.required]),
21234
+ lastName: new FormControl(invite.registrationInvite?.lastName, [Validators.required]),
21235
+ email: new FormControl(invite.registrationInvite?.email, [Validators.required, Validators.email]),
21236
+ }),
21237
+ }, invite);
21238
+ }
21239
+ }
21240
+
20982
21241
  /**
20983
21242
  * Form array with bank account properties
20984
21243
  * @TODO create AbstractFormArray
@@ -21742,12 +22001,12 @@ class UserInviteForm extends AbstractForm {
21742
22001
  class UserForm extends AbstractForm {
21743
22002
  constructor(user) {
21744
22003
  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)
22004
+ title: new FormControl(user.title),
22005
+ firstName: new FormControl(user.firstName, Validators.required),
22006
+ lastName: new FormControl(user.lastName, Validators.required),
22007
+ address: new FormControl(user.address),
22008
+ phone: new FormControl(user.phone),
22009
+ file: new FormControl(user.file)
21751
22010
  }, user);
21752
22011
  }
21753
22012
  }
@@ -21784,13 +22043,13 @@ class ClientDetailsForm extends AbstractForm {
21784
22043
 
21785
22044
  // @TODO Alex: Create a model and handle request fields via class-transformer
21786
22045
  class RegisterClientForm extends AbstractForm {
21787
- constructor(referenceCode) {
22046
+ constructor(user = plainToClass(User, {})) {
21788
22047
  super({
21789
- firstName: new UntypedFormControl('', [Validators.required]),
21790
- lastName: new UntypedFormControl('', [Validators.required]),
21791
- email: new UntypedFormControl('', [Validators.required, Validators.email]),
22048
+ firstName: new UntypedFormControl(user.firstName, [Validators.required]),
22049
+ lastName: new UntypedFormControl(user.lastName, [Validators.required]),
22050
+ email: new UntypedFormControl(user.email, [Validators.required, Validators.email]),
21792
22051
  password: new PasswordForm(),
21793
- referenceCode: new UntypedFormControl(referenceCode)
22052
+ referenceCode: new UntypedFormControl(user.referenceCode)
21794
22053
  });
21795
22054
  }
21796
22055
  submit(data = {}) {
@@ -21804,7 +22063,7 @@ class RegisterFirmForm extends AbstractForm {
21804
22063
  name: new UntypedFormControl('', Validators.required),
21805
22064
  abn: new UntypedFormControl('', Validators.required),
21806
22065
  tan: new UntypedFormControl({ value: '', disabled: firmType !== FirmTypeEnum.ACCOUNTANT }, Validators.required),
21807
- owner: new RegisterClientForm(referenceCode),
22066
+ owner: new RegisterClientForm(plainToClass(User, { referenceCode })),
21808
22067
  type: new UntypedFormControl(firmType)
21809
22068
  }, plainToClass(Firm, {}));
21810
22069
  this.firmType = firmType;
@@ -23868,5 +24127,5 @@ var MessagesEnum;
23868
24127
  * Generated bundle index. Do not edit.
23869
24128
  */
23870
24129
 
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 };
24130
+ 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, FirmInviteForm, 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
24131
  //# sourceMappingURL=taxtank-core.mjs.map