taxtank-core 0.32.0 → 0.32.2

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 (135) hide show
  1. package/esm2022/lib/collections/bank-account.collection.mjs +11 -4
  2. package/esm2022/lib/collections/subscription/service-subscription.collection.mjs +3 -3
  3. package/esm2022/lib/collections/vehicle/best-vehicle-logbook.collection.mjs +18 -14
  4. package/esm2022/lib/collections/vehicle/vehicle-logbook.collection.mjs +10 -5
  5. package/esm2022/lib/db/Models/firm/client-invite.mjs +3 -3
  6. package/esm2022/lib/db/Models/subscription/service-product.mjs +1 -1
  7. package/esm2022/lib/db/Models/subscription/service-subscription.mjs +1 -1
  8. package/esm2022/lib/services/account-setup/account-setup.service.mjs +2 -2
  9. package/esm2022/lib/services/http/bank/bank-connection/bank-connection.service.mjs +4 -6
  10. package/esm2022/lib/services/http/chat/chat.service.mjs +4 -5
  11. package/esm2022/lib/services/http/chat/message.service.mjs +4 -5
  12. package/esm2022/lib/services/http/firm/client-invite/client-invite-messages.enum.mjs +5 -2
  13. package/esm2022/lib/services/http/firm/client-invite/client-invite.service.mjs +56 -63
  14. package/esm2022/lib/services/http/firm/client-movement/client-movement.service.mjs +32 -32
  15. package/esm2022/lib/services/http/rest/rest.service.mjs +23 -2
  16. package/esm2022/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +4 -5
  17. package/esm2022/lib/services/http/subscription/service-subscription/subscription.service.mjs +4 -7
  18. package/fesm2022/taxtank-core.mjs +518 -492
  19. package/fesm2022/taxtank-core.mjs.map +1 -1
  20. package/lib/collections/bank-account.collection.d.ts +4 -0
  21. package/lib/collections/vehicle/best-vehicle-logbook.collection.d.ts +2 -1
  22. package/lib/collections/vehicle/vehicle-logbook.collection.d.ts +3 -2
  23. package/lib/db/Models/firm/client-invite.d.ts +2 -2
  24. package/lib/db/Models/subscription/service-product.d.ts +2 -1
  25. package/lib/db/Models/subscription/service-subscription.d.ts +2 -0
  26. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +1 -3
  27. package/lib/services/http/chat/chat.service.d.ts +2 -3
  28. package/lib/services/http/chat/message.service.d.ts +2 -3
  29. package/lib/services/http/firm/client-invite/client-invite-messages.enum.d.ts +5 -2
  30. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +15 -14
  31. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +19 -13
  32. package/lib/services/http/rest/rest.service.d.ts +13 -1
  33. package/lib/services/http/subscription/service-payment-method/service-payment-method.service.d.ts +2 -3
  34. package/lib/services/http/subscription/service-subscription/subscription.service.d.ts +2 -5
  35. package/package.json +1 -1
  36. package/lib/db/Models/address.d.ts.map +0 -1
  37. package/lib/db/Models/bank/bank-account-balance.d.ts.map +0 -1
  38. package/lib/db/Models/bank/bank-account-property.d.ts.map +0 -1
  39. package/lib/db/Models/bank/bank-account.d.ts.map +0 -1
  40. package/lib/db/Models/bank/bank-connection.d.ts.map +0 -1
  41. package/lib/db/Models/bank/bank-transaction-import.d.ts.map +0 -1
  42. package/lib/db/Models/bank/bank-transaction.d.ts.map +0 -1
  43. package/lib/db/Models/bank/bank.d.ts.map +0 -1
  44. package/lib/db/Models/bank/basiq-job.d.ts.map +0 -1
  45. package/lib/db/Models/chart-accounts/chart-accounts-depreciation.d.ts.map +0 -1
  46. package/lib/db/Models/chart-accounts/chart-accounts-heading.d.ts.map +0 -1
  47. package/lib/db/Models/chart-accounts/chart-accounts-meta-field.d.ts.map +0 -1
  48. package/lib/db/Models/chart-accounts/chart-accounts-value.d.ts.map +0 -1
  49. package/lib/db/Models/chart-accounts/chart-accounts.d.ts.map +0 -1
  50. package/lib/db/Models/client/client-details.d.ts.map +0 -1
  51. package/lib/db/Models/client/client-income-types.d.ts.map +0 -1
  52. package/lib/db/Models/client/occupation.d.ts.map +0 -1
  53. package/lib/db/Models/country.d.ts.map +0 -1
  54. package/lib/db/Models/depreciation/depreciation-capital-project.d.ts.map +0 -1
  55. package/lib/db/Models/depreciation/depreciation-forecast.d.ts.map +0 -1
  56. package/lib/db/Models/depreciation/depreciation.d.ts.map +0 -1
  57. package/lib/db/Models/document/document-base.d.ts.map +0 -1
  58. package/lib/db/Models/document/document-folder.d.ts.map +0 -1
  59. package/lib/db/Models/document/document.d.ts.map +0 -1
  60. package/lib/db/Models/document/property-document.d.ts.map +0 -1
  61. package/lib/db/Models/file.d.ts.map +0 -1
  62. package/lib/db/Models/firm/chat.d.ts.map +0 -1
  63. package/lib/db/Models/firm/client-invite.d.ts.map +0 -1
  64. package/lib/db/Models/firm/client-movement.d.ts.map +0 -1
  65. package/lib/db/Models/firm/employee-invite.d.ts.map +0 -1
  66. package/lib/db/Models/firm/firm-invite.d.ts.map +0 -1
  67. package/lib/db/Models/firm/firm.d.ts.map +0 -1
  68. package/lib/db/Models/firm/message-document.d.ts.map +0 -1
  69. package/lib/db/Models/firm/message.d.ts.map +0 -1
  70. package/lib/db/Models/holding/holding-sale.d.ts.map +0 -1
  71. package/lib/db/Models/incomeSource/income-source-forecast.d.ts.map +0 -1
  72. package/lib/db/Models/incomeSource/income-source-type.d.ts.map +0 -1
  73. package/lib/db/Models/incomeSource/income-source.d.ts.map +0 -1
  74. package/lib/db/Models/incomeSource/salary-forecast.d.ts.map +0 -1
  75. package/lib/db/Models/loan/borrowing-expense-loan.d.ts.map +0 -1
  76. package/lib/db/Models/loan/borrowing-expense.d.ts.map +0 -1
  77. package/lib/db/Models/loan/loan-payout.d.ts.map +0 -1
  78. package/lib/db/Models/loan/loan.d.ts.map +0 -1
  79. package/lib/db/Models/phone.d.ts.map +0 -1
  80. package/lib/db/Models/property/borrowing-report.d.ts.map +0 -1
  81. package/lib/db/Models/property/property-category-movement.d.ts.map +0 -1
  82. package/lib/db/Models/property/property-category.d.ts.map +0 -1
  83. package/lib/db/Models/property/property-forecast.d.ts.map +0 -1
  84. package/lib/db/Models/property/property-sale/property-sale-tax-exemption-meta-field.d.ts.map +0 -1
  85. package/lib/db/Models/property/property-sale/property-sale.d.ts.map +0 -1
  86. package/lib/db/Models/property/property-sale/tax-exemption-meta-field.d.ts.map +0 -1
  87. package/lib/db/Models/property/property-sale/tax-exemption.d.ts.map +0 -1
  88. package/lib/db/Models/property/property-share.d.ts.map +0 -1
  89. package/lib/db/Models/property/property-subscription.d.ts.map +0 -1
  90. package/lib/db/Models/property/property-valuation.d.ts.map +0 -1
  91. package/lib/db/Models/property/property.d.ts.map +0 -1
  92. package/lib/db/Models/service-notification.d.ts.map +0 -1
  93. package/lib/db/Models/sole/bas-report.d.ts.map +0 -1
  94. package/lib/db/Models/sole/sole-business-activity.d.ts.map +0 -1
  95. package/lib/db/Models/sole/sole-business-allocation.d.ts.map +0 -1
  96. package/lib/db/Models/sole/sole-business-loss-offset-rule.d.ts.map +0 -1
  97. package/lib/db/Models/sole/sole-business-loss.d.ts.map +0 -1
  98. package/lib/db/Models/sole/sole-business.d.ts.map +0 -1
  99. package/lib/db/Models/sole/sole-contact.d.ts.map +0 -1
  100. package/lib/db/Models/sole/sole-depreciation-method.d.ts.map +0 -1
  101. package/lib/db/Models/sole/sole-details.d.ts.map +0 -1
  102. package/lib/db/Models/sole/sole-forecast.d.ts.map +0 -1
  103. package/lib/db/Models/sole/sole-invoice-item.d.ts.map +0 -1
  104. package/lib/db/Models/sole/sole-invoice-template.d.ts.map +0 -1
  105. package/lib/db/Models/sole/sole-invoice.d.ts.map +0 -1
  106. package/lib/db/Models/spare/spare-document-category.d.ts.map +0 -1
  107. package/lib/db/Models/spare/spare-document.d.ts.map +0 -1
  108. package/lib/db/Models/subscription/service-payment-method.d.ts.map +0 -1
  109. package/lib/db/Models/subscription/service-payment.d.ts.map +0 -1
  110. package/lib/db/Models/subscription/service-price.d.ts.map +0 -1
  111. package/lib/db/Models/subscription/service-product.d.ts.map +0 -1
  112. package/lib/db/Models/subscription/service-subscription-item.d.ts.map +0 -1
  113. package/lib/db/Models/subscription/service-subscription.d.ts.map +0 -1
  114. package/lib/db/Models/tax-calculation.d.ts.map +0 -1
  115. package/lib/db/Models/tax-return/tax-return-category.d.ts.map +0 -1
  116. package/lib/db/Models/tax-return/tax-return-item.d.ts.map +0 -1
  117. package/lib/db/Models/tax-return/tax-return.d.ts.map +0 -1
  118. package/lib/db/Models/transaction/allocation-rule-condition.d.ts.map +0 -1
  119. package/lib/db/Models/transaction/allocation-rule-transaction-meta-field.d.ts.map +0 -1
  120. package/lib/db/Models/transaction/allocation-rule-transaction.d.ts.map +0 -1
  121. package/lib/db/Models/transaction/allocation-rule.d.ts.map +0 -1
  122. package/lib/db/Models/transaction/transaction-allocation.d.ts.map +0 -1
  123. package/lib/db/Models/transaction/transaction-meta-field.d.ts.map +0 -1
  124. package/lib/db/Models/transaction/transaction.d.ts.map +0 -1
  125. package/lib/db/Models/user/employee-details.d.ts.map +0 -1
  126. package/lib/db/Models/user/registration-invite.d.ts.map +0 -1
  127. package/lib/db/Models/user/user-event-setting.d.ts.map +0 -1
  128. package/lib/db/Models/user/user-event-type-category.d.ts.map +0 -1
  129. package/lib/db/Models/user/user-event-type.d.ts.map +0 -1
  130. package/lib/db/Models/user/user-event.d.ts.map +0 -1
  131. package/lib/db/Models/vehicle/vehicle-claim-details.d.ts.map +0 -1
  132. package/lib/db/Models/vehicle/vehicle-claim.d.ts.map +0 -1
  133. package/lib/db/Models/vehicle/vehicle-logbook.d.ts.map +0 -1
  134. package/lib/db/Models/vehicle/vehicle.d.ts.map +0 -1
  135. package/taxtank-core.d.ts.map +0 -1
@@ -11,12 +11,11 @@ import * as i2 from "../../event";
11
11
  * Service for work with chats
12
12
  */
13
13
  export class ChatService extends RestService {
14
- constructor(http, eventDispatcherService, environment, sseService) {
14
+ constructor(http, eventDispatcherService, environment) {
15
15
  super(http, eventDispatcherService, environment);
16
16
  this.http = http;
17
17
  this.eventDispatcherService = eventDispatcherService;
18
18
  this.environment = environment;
19
- this.sseService = sseService;
20
19
  this.modelClass = Chat;
21
20
  this.collectionClass = ChatCollection;
22
21
  this.endpointUri = 'chats';
@@ -72,7 +71,7 @@ export class ChatService extends RestService {
72
71
  this.handleResponse([updatedChat], 'put');
73
72
  });
74
73
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
75
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChatService, providedIn: 'root' }); }
77
76
  }
78
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChatService, decorators: [{
@@ -83,5 +82,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
83
82
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
84
83
  type: Inject,
85
84
  args: ['environment']
86
- }] }, { type: i2.SseService }]; } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXJDOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUEyQztJQU8xRSxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQixFQUN6QyxVQUFzQjtRQUU5QixLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBTHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVmhDLGVBQVUsR0FBZ0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQTBCLGNBQWMsQ0FBQztRQUN4RCxnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUN0QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixvQkFBZSxHQUFpQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFD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YSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhdCBhcyBDaGF0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSwgU3NlU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50JztcbmltcG9ydCB7IFJlc3RNZXRob2QsIFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGF0LCBNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IENoYXRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JrIHdpdGggY2hhdHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxDaGF0QmFzZSwgQ2hhdCwgQ2hhdENvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2hhdCA9IENoYXQ7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIENoYXRDb2xsZWN0aW9uID0gQ2hhdENvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ2NoYXRzJztcbiAgaXNBcGlQbGF0Zm9ybSA9IHRydWU7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0JywgJ3Bvc3RCYXRjaCcsICdwdXQnLCAncHV0QmF0Y2gnLCAnZGVsZXRlJywgJ2RlbGV0ZUJhdGNoJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcml2YXRlIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuQ2hhdHMoKTtcbiAgICB0aGlzLmxpc3Rlbk1lc3NhZ2VzKCk7XG4gIH1cblxuICBnZXQocGF0aDogc3RyaW5nID0gdGhpcy5hcGlVcmwpOiBPYnNlcnZhYmxlPENoYXRDb2xsZWN0aW9uPiB7XG4gICAgLy8gdXNlcnMgY29udGFjdCB0dEFkdmlzb3IgdGhyb3VnaCBpbnRlcmNvbSBzdXBwb3J0XG4gICAgcmV0dXJuIHN1cGVyLmdldChwYXRoKS5waXBlKFxuICAgICAgbWFwKChjaGF0cykgPT4gY2hhdHMuZmlsdGVyKChjaGF0KSA9PiBjaGF0LmVtcGxveWVlLmVtYWlsICE9PSB0aGlzLmVudmlyb25tZW50LnR0QWR2aXNvcikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gY2hhdHMgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5DaGF0cygpOiB2b2lkIHtcbiAgICB0aGlzLnNzZVNlcnZpY2Uub24oYGNoYXRzYCkuc3Vic2NyaWJlKChjaGF0QmFzZTogQ2hhdEJhc2UpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGFycmF5OiBDaGF0W10gPSB0aGlzLmNhY2hlLnRvQXJyYXkoKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBldmVudFxuICAgICAgY29uc3QgZXZlbnRDaGF0OiBDaGF0ID0gcGxhaW5Ub0NsYXNzKENoYXQsIGNoYXRCYXNlKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBjYWNoZVxuICAgICAgY29uc3QgY2FjaGVkQ2hhdDogQ2hhdCA9IGFycmF5LmZpbmQoKGNoYXQ6IENoYXQpOiBib29sZWFuID0+IGNoYXQuaWQgPT09IGV2ZW50Q2hhdC5pZCk7XG5cbiAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAvLyBhZGQgbmV3IGNoYXRcbiAgICAgICAgY2FzZSAoIWNhY2hlZENoYXQpOlxuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2V2ZW50Q2hhdF0sICdwb3N0Jyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gcmVtb3ZlIGRlYWN0aXZhdGVkIGNoYXRcbiAgICAgICAgY2FzZSAhZXZlbnRDaGF0LmlzQWN0aXZlKCk6XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbZXZlbnRDaGF0XSwgJ2RlbGV0ZScpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBjaGF0IHdpdGggbmV3IGZpcm0gKHJlYXNzaWduKVxuICAgICAgICBjYXNlIGV2ZW50Q2hhdC5lbXBsb3llZS5pZCAhPT0gY2FjaGVkQ2hhdC5lbXBsb3llZS5pZDpcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtldmVudENoYXRdLCAncHV0Jyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gQFRPRE8gdHlwaW5nIHdvcmtzIGJhZCB3aXRoIG1hdC10YWJzIG9uIHVzZXItYXJlYS4gTmVlZCB0byByZWZhY3RvciB0eXBpbmcgZnVuY3Rpb25hbGl0eVxuICAgICAgICAvLyB1cGRhdGUgY2FjaGUgd2l0aCB0eXBpbmcgdXNlclxuICAgICAgICAvLyBkZWZhdWx0OlxuICAgICAgICAvLyBjYWNoZWRDaGF0LnR5cGluZ1VzZXJzLnB1c2gobmV3IFVzZXIoZXZlbnRDaGF0LnR5cGluZ1VzZXIpKTtcbiAgICAgICAgLy8gcmVwbGFjZShjYWNoZSwgXy5jbG9uZShjYWNoZWRDaGF0KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNoYXQncyAndXBkYXRlZEF0JyBmaWVsZCB3aXRoIHRoZSBsYXN0IGNoYXQncyBtZXNzYWdlIGRhdGUgZm9yIGNoYXQgbGlzdCBzb3J0aW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ1NFKE1lc3NhZ2UsIFsncG9zdCddLCAobWVzc2FnZXM6IE1lc3NhZ2VbXSkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IG1lc3NhZ2VzWzBdO1xuICAgICAgY29uc3QgY2FjaGU6IENoYXRbXSA9IHRoaXMuY2FjaGUudG9BcnJheSgpO1xuICAgICAgY29uc3QgdXBkYXRlZENoYXQ6IENoYXQgPSBjYWNoZS5maW5kKChjaGF0OiBDaGF0KTogYm9vbGVhbiA9PiBjaGF0Py5pZCA9PT0gbWVzc2FnZS5jaGF0Py5pZCk7XG5cbiAgICAgIHVwZGF0ZWRDaGF0LnVwZGF0ZWRBdCA9IG1lc3NhZ2U/LmNyZWF0ZWRBdDtcblxuICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbdXBkYXRlZENoYXRdLCAncHV0Jyk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
85
+ }] }]; } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXJDOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUEyQztJQU8xRSxZQUNZLElBQWdCLEVBQ2hCLHNCQUE4QyxFQUN2QixXQUFnQjtRQUVqRCxLQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSnZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVRuRCxlQUFVLEdBQWdCLElBQUksQ0FBQztRQUMvQixvQkFBZSxHQUEwQixjQUFjLENBQUM7UUFDeEQsZ0JBQVcsR0FBRyxPQUFPLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsb0JBQWUsR0FBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBUWhHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztR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IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYXQgYXMgQ2hhdEJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ2hhdCwgTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDaGF0Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogU2VydmljZSBmb3Igd29yayB3aXRoIGNoYXRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENoYXRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2hhdEJhc2UsIENoYXQsIENoYXRDb2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIENoYXQgPSBDaGF0O1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBDaGF0Q29sbGVjdGlvbiA9IENoYXRDb2xsZWN0aW9uO1xuICBlbmRwb2ludFVyaSA9ICdjaGF0cyc7XG4gIGlzQXBpUGxhdGZvcm0gPSB0cnVlO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdCcsICdwb3N0QmF0Y2gnLCAncHV0JywgJ3B1dEJhdGNoJywgJ2RlbGV0ZScsICdkZWxldGVCYXRjaCddO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuQ2hhdHMoKTtcbiAgICB0aGlzLmxpc3Rlbk1lc3NhZ2VzKCk7XG4gIH1cblxuICBnZXQocGF0aDogc3RyaW5nID0gdGhpcy5hcGlVcmwpOiBPYnNlcnZhYmxlPENoYXRDb2xsZWN0aW9uPiB7XG4gICAgLy8gdXNlcnMgY29udGFjdCB0dEFkdmlzb3IgdGhyb3VnaCBpbnRlcmNvbSBzdXBwb3J0XG4gICAgcmV0dXJuIHN1cGVyLmdldChwYXRoKS5waXBlKFxuICAgICAgbWFwKChjaGF0cykgPT4gY2hhdHMuZmlsdGVyKChjaGF0KSA9PiBjaGF0LmVtcGxveWVlLmVtYWlsICE9PSB0aGlzLmVudmlyb25tZW50LnR0QWR2aXNvcikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gY2hhdHMgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5DaGF0cygpOiB2b2lkIHtcbiAgICB0aGlzLnNzZVNlcnZpY2Uub24oYGNoYXRzYCkuc3Vic2NyaWJlKChjaGF0QmFzZTogQ2hhdEJhc2UpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGFycmF5OiBDaGF0W10gPSB0aGlzLmNhY2hlLnRvQXJyYXkoKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBldmVudFxuICAgICAgY29uc3QgZXZlbnRDaGF0OiBDaGF0ID0gcGxhaW5Ub0NsYXNzKENoYXQsIGNoYXRCYXNlKTtcbiAgICAgIC8vIGNoYXQgaW5zdGFuY2UgZnJvbSBjYWNoZVxuICAgICAgY29uc3QgY2FjaGVkQ2hhdDogQ2hhdCA9IGFycmF5LmZpbmQoKGNoYXQ6IENoYXQpOiBib29sZWFuID0+IGNoYXQuaWQgPT09IGV2ZW50Q2hhdC5pZCk7XG5cbiAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAvLyBhZGQgbmV3IGNoYXRcbiAgICAgICAgY2FzZSAoIWNhY2hlZENoYXQpOlxuICAgICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2V2ZW50Q2hhdF0sICdwb3N0Jyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gcmVtb3ZlIGRlYWN0aXZhdGVkIGNoYXRcbiAgICAgICAgY2FzZSAhZXZlbnRDaGF0LmlzQWN0aXZlKCk6XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbZXZlbnRDaGF0XSwgJ2RlbGV0ZScpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBjaGF0IHdpdGggbmV3IGZpcm0gKHJlYXNzaWduKVxuICAgICAgICBjYXNlIGV2ZW50Q2hhdC5lbXBsb3llZS5pZCAhPT0gY2FjaGVkQ2hhdC5lbXBsb3llZS5pZDpcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFtldmVudENoYXRdLCAncHV0Jyk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gQFRPRE8gdHlwaW5nIHdvcmtzIGJhZCB3aXRoIG1hdC10YWJzIG9uIHVzZXItYXJlYS4gTmVlZCB0byByZWZhY3RvciB0eXBpbmcgZnVuY3Rpb25hbGl0eVxuICAgICAgICAvLyB1cGRhdGUgY2FjaGUgd2l0aCB0eXBpbmcgdXNlclxuICAgICAgICAvLyBkZWZhdWx0OlxuICAgICAgICAvLyBjYWNoZWRDaGF0LnR5cGluZ1VzZXJzLnB1c2gobmV3IFVzZXIoZXZlbnRDaGF0LnR5cGluZ1VzZXIpKTtcbiAgICAgICAgLy8gcmVwbGFjZShjYWNoZSwgXy5jbG9uZShjYWNoZWRDaGF0KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNoYXQncyAndXBkYXRlZEF0JyBmaWVsZCB3aXRoIHRoZSBsYXN0IGNoYXQncyBtZXNzYWdlIGRhdGUgZm9yIGNoYXQgbGlzdCBzb3J0aW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ1NFKE1lc3NhZ2UsIFsncG9zdCddLCAobWVzc2FnZXM6IE1lc3NhZ2VbXSkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IG1lc3NhZ2VzWzBdO1xuICAgICAgY29uc3QgY2FjaGU6IENoYXRbXSA9IHRoaXMuY2FjaGUudG9BcnJheSgpO1xuICAgICAgY29uc3QgdXBkYXRlZENoYXQ6IENoYXQgPSBjYWNoZS5maW5kKChjaGF0OiBDaGF0KTogYm9vbGVhbiA9PiBjaGF0Py5pZCA9PT0gbWVzc2FnZS5jaGF0Py5pZCk7XG5cbiAgICAgIHVwZGF0ZWRDaGF0LnVwZGF0ZWRBdCA9IG1lc3NhZ2U/LmNyZWF0ZWRBdDtcblxuICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbdXBkYXRlZENoYXRdLCAncHV0Jyk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -11,12 +11,11 @@ import * as i2 from "../../event";
11
11
  * Service for work with messages
12
12
  */
13
13
  export class MessageService extends RestService {
14
- constructor(http, eventDispatcherService, environment, sseService) {
14
+ constructor(http, eventDispatcherService, environment) {
15
15
  super(http, eventDispatcherService, environment);
16
16
  this.http = http;
17
17
  this.eventDispatcherService = eventDispatcherService;
18
18
  this.environment = environment;
19
- this.sseService = sseService;
20
19
  this.modelClass = Message;
21
20
  this.collectionClass = MessageCollection;
22
21
  this.endpointUri = 'messages';
@@ -53,7 +52,7 @@ export class MessageService extends RestService {
53
52
  }
54
53
  });
55
54
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
57
56
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, providedIn: 'root' }); }
58
57
  }
59
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, decorators: [{
@@ -64,5 +63,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
64
63
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
65
64
  type: Inject,
66
65
  args: ['environment']
67
- }] }, { type: i2.SseService }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVyQzs7R0FFRztBQUlILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBb0Q7SUFPdEYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0IsRUFDekMsVUFBc0I7UUFFOUIsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUx2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVZoQyxlQUFVLEdBQW1CLE9BQU8sQ0FBQztRQUNyQyxvQkFBZSxHQUE2QixpQkFBaUIsQ0FBQztRQUM5RCxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixvQkFBZSxHQUFpQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQVN4RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE9BQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7YUFDeEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxPQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDO2FBQzFELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQ2hFLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQVEsRUFBRTtZQUMxRSxNQUFNLE9BQU8sR0FBWSxZQUFZLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzVELGtFQUFrRTtZQUNsRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN2QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDeEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbERVLGNBQWMsa0ZBVWYsYUFBYTttSEFWWixjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVdJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZSBhcyBNZXNzYWdlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSwgU3NlU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50JztcbmltcG9ydCB7IE1lc3NhZ2VDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JrIHdpdGggbWVzc2FnZXNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxNZXNzYWdlQmFzZSwgTWVzc2FnZSwgTWVzc2FnZUNvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgTWVzc2FnZSA9IE1lc3NhZ2U7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIE1lc3NhZ2VDb2xsZWN0aW9uID0gTWVzc2FnZUNvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpID0gJ21lc3NhZ2VzJztcbiAgaXNBcGlQbGF0Zm9ybSA9IHRydWU7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0QmF0Y2gnLCAncHV0QmF0Y2gnXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIHByaXZhdGUgc3NlU2VydmljZTogU3NlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5NZXNzYWdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJ3cml0ZSBkZWZhdWx0IG1ldGhvZHMgYmVjYXVzZSB3ZSBuZWVkIHRvIGhhbmRsZSBtZXNzYWdlcyB2aWEgU1NFIGV2ZW50cyBvbmx5XG4gICAqL1xuICBwb3N0KG1lc3NhZ2U6IE1lc3NhZ2UpOiBPYnNlcnZhYmxlPE1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5hcGlVcmwsIG1lc3NhZ2UpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogTWVzc2FnZUJhc2UpID0+IHBsYWluVG9DbGFzcyhNZXNzYWdlLCByZXNwb25zZSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJ3cml0ZSBkZWZhdWx0IG1ldGhvZHMgYmVjYXVzZSB3ZSBuZWVkIHRvIGhhbmRsZSBtZXNzYWdlcyB2aWEgU1NFIGV2ZW50cyBvbmx5XG4gICAqL1xuICBwdXQobWVzc2FnZTogTWVzc2FnZSk6IE9ic2VydmFibGU8TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuYXBpVXJsfS8ke21lc3NhZ2UuaWR9YCwgbWVzc2FnZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBNZXNzYWdlQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKE1lc3NhZ2UsIHJlc3BvbnNlKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogc3Vic2NyaWJlIHRvIG5ldyBjaGF0IG1lc3NhZ2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc3NlU2VydmljZS5vbihgbWVzc2FnZXNgKS5zdWJzY3JpYmUoKG1lc3NhZ2VCYXNlOiBNZXNzYWdlQmFzZSk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IHBsYWluVG9DbGFzcyhNZXNzYWdlLCBtZXNzYWdlQmFzZSk7XG4gICAgICAvLyB1cGRhdGUgZXhpc3RpbmcgbWVzc2FnZSBpZiByZWFkIGFuZCBhZGQgbmV3IG1lc3NhZ2UgaWYgbm90IHJlYWRcbiAgICAgIGlmICh0aGlzLmNhY2hlLmZpbmRCeSgnaWQnLCBtZXNzYWdlLmlkKSkge1xuICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFttZXNzYWdlXSwgJ3B1dCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbbWVzc2FnZV0sICdwb3N0Jyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
66
+ }] }]; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVyQzs7R0FFRztBQUlILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBb0Q7SUFPdEYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFUbkQsZUFBVSxHQUFtQixPQUFPLENBQUM7UUFDckMsb0JBQWUsR0FBNkIsaUJBQWlCLENBQUM7UUFDOUQsZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFDekIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsb0JBQWUsR0FBaUIsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFReEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxPQUFnQjtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO2FBQ3hDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQ2hFLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsT0FBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQzthQUMxRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBcUIsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUNoRSxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUF3QixFQUFRLEVBQUU7WUFDMUUsTUFBTSxPQUFPLEdBQVksWUFBWSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztZQUM1RCxrRUFBa0U7WUFDbEUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQWpEVSxjQUFjLGtGQVVmLGFBQWE7bUhBVlosY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFXSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2UgYXMgTWVzc2FnZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0JztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIFNzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogU2VydmljZSBmb3Igd29yayB3aXRoIG1lc3NhZ2VzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8TWVzc2FnZUJhc2UsIE1lc3NhZ2UsIE1lc3NhZ2VDb2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIE1lc3NhZ2UgPSBNZXNzYWdlO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBNZXNzYWdlQ29sbGVjdGlvbiA9IE1lc3NhZ2VDb2xsZWN0aW9uO1xuICBlbmRwb2ludFVyaSA9ICdtZXNzYWdlcyc7XG4gIGlzQXBpUGxhdGZvcm0gPSB0cnVlO1xuICBkaXNhYmxlZE1ldGhvZHM6IFJlc3RNZXRob2RbXSA9IFsncG9zdEJhdGNoJywgJ3B1dEJhdGNoJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5NZXNzYWdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJ3cml0ZSBkZWZhdWx0IG1ldGhvZHMgYmVjYXVzZSB3ZSBuZWVkIHRvIGhhbmRsZSBtZXNzYWdlcyB2aWEgU1NFIGV2ZW50cyBvbmx5XG4gICAqL1xuICBwb3N0KG1lc3NhZ2U6IE1lc3NhZ2UpOiBPYnNlcnZhYmxlPE1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5hcGlVcmwsIG1lc3NhZ2UpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogTWVzc2FnZUJhc2UpID0+IHBsYWluVG9DbGFzcyhNZXNzYWdlLCByZXNwb25zZSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJ3cml0ZSBkZWZhdWx0IG1ldGhvZHMgYmVjYXVzZSB3ZSBuZWVkIHRvIGhhbmRsZSBtZXNzYWdlcyB2aWEgU1NFIGV2ZW50cyBvbmx5XG4gICAqL1xuICBwdXQobWVzc2FnZTogTWVzc2FnZSk6IE9ic2VydmFibGU8TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuYXBpVXJsfS8ke21lc3NhZ2UuaWR9YCwgbWVzc2FnZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBNZXNzYWdlQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKE1lc3NhZ2UsIHJlc3BvbnNlKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogc3Vic2NyaWJlIHRvIG5ldyBjaGF0IG1lc3NhZ2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbk1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc3NlU2VydmljZS5vbihgbWVzc2FnZXNgKS5zdWJzY3JpYmUoKG1lc3NhZ2VCYXNlOiBNZXNzYWdlQmFzZSk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IHBsYWluVG9DbGFzcyhNZXNzYWdlLCBtZXNzYWdlQmFzZSk7XG4gICAgICAvLyB1cGRhdGUgZXhpc3RpbmcgbWVzc2FnZSBpZiByZWFkIGFuZCBhZGQgbmV3IG1lc3NhZ2UgaWYgbm90IHJlYWRcbiAgICAgIGlmICh0aGlzLmNhY2hlLmZpbmRCeSgnaWQnLCBtZXNzYWdlLmlkKSkge1xuICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFttZXNzYWdlXSwgJ3B1dCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbbWVzc2FnZV0sICdwb3N0Jyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +1,15 @@
1
1
  export var ClientInviteMessages;
2
2
  (function (ClientInviteMessages) {
3
3
  ClientInviteMessages["TT_ADVISOR_INVITED"] = "You have Invited TaxTank Support successfully";
4
+ ClientInviteMessages["TT_INVITE_ACCEPT"] = "You successfully accepted the invitation";
4
5
  ClientInviteMessages["REVOKE_TT_ADVISOR_CONFIRM"] = "Are you sure you want to revoke access?";
5
6
  ClientInviteMessages["TT_ADVISOR_REVOKED"] = "Access revoked";
6
- ClientInviteMessages["TT_INVITE_ACCEPT"] = "You successfully accepted the invitation";
7
7
  ClientInviteMessages["SEND_INVITE_MESSAGES_TITLE"] = "TaxTank support is here to help";
8
8
  ClientInviteMessages["SEND_INVITE_MESSAGES_DESCRIPTION"] = "Before inviting TaxTank support be sure to check out our help articles and message our support team.";
9
9
  ClientInviteMessages["TT_ACCOUNTANT_INVITED"] = "Accountant invitation has been sent successfully";
10
10
  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.";
11
+ ClientInviteMessages["CONFIRM_REJECT"] = "Are you sure you want to reject this invitation?";
12
+ ClientInviteMessages["REJECTED"] = "Invitation rejected";
13
+ ClientInviteMessages["ACCEPTED"] = "Client invitation accepted";
11
14
  })(ClientInviteMessages || (ClientInviteMessages = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS1tZXNzYWdlcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUtbWVzc2FnZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkFZWDtBQVpELFdBQVksb0JBQW9CO0lBQzlCLDRGQUFvRSxDQUFBO0lBQ3BFLDZGQUFxRSxDQUFBO0lBQ3JFLDZEQUFxQyxDQUFBO0lBQ3JDLHFGQUE2RCxDQUFBO0lBQzdELHNGQUE4RCxDQUFBO0lBQzlELGlLQUF5SSxDQUFBO0lBQ3pJLGtHQUEwRSxDQUFBO0lBQzFFLGdpQkFHNkgsQ0FBQTtBQUMvSCxDQUFDLEVBWlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQVkvQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENsaWVudEludml0ZU1lc3NhZ2VzIHtcbiAgVFRfQURWSVNPUl9JTlZJVEVEID0gJ1lvdSBoYXZlIEludml0ZWQgVGF4VGFuayBTdXBwb3J0IHN1Y2Nlc3NmdWxseScsXG4gIFJFVk9LRV9UVF9BRFZJU09SX0NPTkZJUk0gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJldm9rZSBhY2Nlc3M/JyxcbiAgVFRfQURWSVNPUl9SRVZPS0VEID0gJ0FjY2VzcyByZXZva2VkJyxcbiAgVFRfSU5WSVRFX0FDQ0VQVCA9ICdZb3Ugc3VjY2Vzc2Z1bGx5IGFjY2VwdGVkIHRoZSBpbnZpdGF0aW9uJyxcbiAgU0VORF9JTlZJVEVfTUVTU0FHRVNfVElUTEUgPSAnVGF4VGFuayBzdXBwb3J0IGlzIGhlcmUgdG8gaGVscCcsXG4gIFNFTkRfSU5WSVRFX01FU1NBR0VTX0RFU0NSSVBUSU9OID0gJ0JlZm9yZSBpbnZpdGluZyBUYXhUYW5rIHN1cHBvcnQgYmUgc3VyZSB0byBjaGVjayBvdXQgb3VyIGhlbHAgYXJ0aWNsZXMgYW5kIG1lc3NhZ2Ugb3VyIHN1cHBvcnQgdGVhbS4nLFxuICBUVF9BQ0NPVU5UQU5UX0lOVklURUQgPSAnQWNjb3VudGFudCBpbnZpdGF0aW9uIGhhcyBiZWVuIHNlbnQgc3VjY2Vzc2Z1bGx5JyxcbiAgVFRfQUNDT1VOVEFOVF9JTlZFVEVEX1RPT0xUSVAgPSAnTmVlZCBhbiBhY2NvdW50YW50PyBUYXhUYW5rIEFjY291bnRhbnRzIGRlbGl2ZXJzIHZpcnR1YWwgYWNjb3VudGluZyBzZXJ2aWNlIGV4Y2x1c2l2ZSB0byBUYXhUYW5rIHN1YnNjcmliZXJzLiAnICtcbiAgICAgICdFeHBlcmllbmNlIGEgZmFzdCwgc2VhbWxlc3MsIGFuZCBjb3N0LWVmZmVjdGl2ZSBsb2RnZW1lbnQgc2VydmljZSB0aGF0IHJld2FyZHMgeW91ciBUYXhUYW5rIGVmZm9ydHMgdGhyb3VnaG91dCB0aGUgeWVhci4nICtcbiAgICAgICcgT3VyIHRlYW0gb2YgZXhwZXJpZW5jZWQgYWNjb3VudGFudHMgYnJpbmdzIHRoZWlyIGV4cGVydGlzZSBpbiB0YXggYW5kIFRheFRhbmsgdG8gdGhlIHZpcnR1YWwgcmVhbG0uIEl0IGFsbCBzdGFydHMgd2l0aCBhIDE1LW1pbnV0ZSAnICtcbiAgICAgICdjb25zdWx0YXRpb24gdGhhdCBzZXRzIHRoZSBzdGFnZSBmb3IgcGVyc29uYWxpc2VkIHNlcnZpY2UuIFdpdGggdXMsIHlvdeKAmWxsIHJlY2VpdmUgdGhlIGJlc3Qgb2YgYm90aCB3b3JsZHMgYXQgdGF4IHRpbWUuJ1xufVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS1tZXNzYWdlcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUtbWVzc2FnZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxvQkFlWDtBQWZELFdBQVksb0JBQW9CO0lBQzlCLDRGQUFvRSxDQUFBO0lBQ3BFLHFGQUE2RCxDQUFBO0lBQzdELDZGQUFxRSxDQUFBO0lBQ3JFLDZEQUFxQyxDQUFBO0lBQ3JDLHNGQUE4RCxDQUFBO0lBQzlELGlLQUF5SSxDQUFBO0lBQ3pJLGtHQUEwRSxDQUFBO0lBQzFFLGdpQkFHeUgsQ0FBQTtJQUN6SCwyRkFBbUUsQ0FBQTtJQUNuRSx3REFBZ0MsQ0FBQTtJQUNoQywrREFBdUMsQ0FBQTtBQUN6QyxDQUFDLEVBZlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQWUvQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENsaWVudEludml0ZU1lc3NhZ2VzIHtcbiAgVFRfQURWSVNPUl9JTlZJVEVEID0gJ1lvdSBoYXZlIEludml0ZWQgVGF4VGFuayBTdXBwb3J0IHN1Y2Nlc3NmdWxseScsXG4gIFRUX0lOVklURV9BQ0NFUFQgPSAnWW91IHN1Y2Nlc3NmdWxseSBhY2NlcHRlZCB0aGUgaW52aXRhdGlvbicsXG4gIFJFVk9LRV9UVF9BRFZJU09SX0NPTkZJUk0gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJldm9rZSBhY2Nlc3M/JyxcbiAgVFRfQURWSVNPUl9SRVZPS0VEID0gJ0FjY2VzcyByZXZva2VkJyxcbiAgU0VORF9JTlZJVEVfTUVTU0FHRVNfVElUTEUgPSAnVGF4VGFuayBzdXBwb3J0IGlzIGhlcmUgdG8gaGVscCcsXG4gIFNFTkRfSU5WSVRFX01FU1NBR0VTX0RFU0NSSVBUSU9OID0gJ0JlZm9yZSBpbnZpdGluZyBUYXhUYW5rIHN1cHBvcnQgYmUgc3VyZSB0byBjaGVjayBvdXQgb3VyIGhlbHAgYXJ0aWNsZXMgYW5kIG1lc3NhZ2Ugb3VyIHN1cHBvcnQgdGVhbS4nLFxuICBUVF9BQ0NPVU5UQU5UX0lOVklURUQgPSAnQWNjb3VudGFudCBpbnZpdGF0aW9uIGhhcyBiZWVuIHNlbnQgc3VjY2Vzc2Z1bGx5JyxcbiAgVFRfQUNDT1VOVEFOVF9JTlZFVEVEX1RPT0xUSVAgPSAnTmVlZCBhbiBhY2NvdW50YW50PyBUYXhUYW5rIEFjY291bnRhbnRzIGRlbGl2ZXJzIHZpcnR1YWwgYWNjb3VudGluZyBzZXJ2aWNlIGV4Y2x1c2l2ZSB0byBUYXhUYW5rIHN1YnNjcmliZXJzLiAnICtcbiAgJ0V4cGVyaWVuY2UgYSBmYXN0LCBzZWFtbGVzcywgYW5kIGNvc3QtZWZmZWN0aXZlIGxvZGdlbWVudCBzZXJ2aWNlIHRoYXQgcmV3YXJkcyB5b3VyIFRheFRhbmsgZWZmb3J0cyB0aHJvdWdob3V0IHRoZSB5ZWFyLicgK1xuICAnIE91ciB0ZWFtIG9mIGV4cGVyaWVuY2VkIGFjY291bnRhbnRzIGJyaW5ncyB0aGVpciBleHBlcnRpc2UgaW4gdGF4IGFuZCBUYXhUYW5rIHRvIHRoZSB2aXJ0dWFsIHJlYWxtLiBJdCBhbGwgc3RhcnRzIHdpdGggYSAxNS1taW51dGUgJyArXG4gICdjb25zdWx0YXRpb24gdGhhdCBzZXRzIHRoZSBzdGFnZSBmb3IgcGVyc29uYWxpc2VkIHNlcnZpY2UuIFdpdGggdXMsIHlvdeKAmWxsIHJlY2VpdmUgdGhlIGJlc3Qgb2YgYm90aCB3b3JsZHMgYXQgdGF4IHRpbWUuJyxcbiAgQ09ORklSTV9SRUpFQ1QgPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlamVjdCB0aGlzIGludml0YXRpb24/JyxcbiAgUkVKRUNURUQgPSAnSW52aXRhdGlvbiByZWplY3RlZCcsXG4gIEFDQ0VQVEVEID0gJ0NsaWVudCBpbnZpdGF0aW9uIGFjY2VwdGVkJ1xufVxuIl19
@@ -1,110 +1,103 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import { replace } from '../../../../functions/array';
4
- import cloneDeep from 'lodash/cloneDeep';
2
+ import { throwError } from 'rxjs';
3
+ import { catchError, map } from 'rxjs/operators';
5
4
  import { plainToClass } from 'class-transformer';
6
- import { RestService } from '../../rest/rest-old.service';
5
+ import { RestService } from '../../rest/rest.service';
7
6
  import { AppEvent, AppEventTypeEnum, ClientInvite } from '../../../../models';
8
- import { UserEventTypeTypeEnum } from '../../../../db/Enums/user-event-type-type.enum';
9
7
  import { ClientInviteCollection } from '../../../../collections';
8
+ import last from 'lodash/last';
9
+ import merge from 'lodash/merge';
10
10
  import * as i0 from "@angular/core";
11
11
  export class ClientInviteService extends RestService {
12
12
  constructor() {
13
13
  super(...arguments);
14
- this.url = 'clients/invites';
14
+ this.endpointUri = 'clients/invites';
15
+ this.collectionClass = ClientInviteCollection;
15
16
  this.modelClass = ClientInvite;
16
17
  }
17
- listenEvents() {
18
- this.listenNotifications();
19
- }
20
18
  getFirmInvites() {
21
- return super.get(`${this.environment.apiV2}/${this.url}/all`);
19
+ return super.get(`${this.apiUrl}/all`);
22
20
  }
21
+ /**
22
+ * Get invite which employee is TaxTank Advisor
23
+ * @TODO move to collection? but we need to inject enviroment
24
+ */
23
25
  getTTAdvisor() {
24
- return this.get()
25
- .pipe(map((invites) => new ClientInviteCollection(invites).findBy('employee.email', this.environment.ttAdvisor) || null));
26
+ return this.get().pipe(map((invites) => invites.findBy('employee.email', this.environment.ttAdvisor)));
26
27
  }
27
28
  /**
28
- * Import employees for firm from CSV file
29
- * @param file
29
+ * Import clients from CSV file
30
30
  */
31
31
  import(file) {
32
32
  const formData = new FormData();
33
33
  formData.append('file', file);
34
- return this.http.post(`${this.environment.apiV2}/${this.url}/import`, formData)
35
- .pipe(map((clientInvite) => clientInvite));
34
+ // cant use parent method because of different parameters
35
+ return this.http.post(`${this.apiUrl}/import`, formData).pipe(map((clientInvite) => clientInvite));
36
36
  }
37
37
  /**
38
38
  * Accept client invitation from firm to user
39
- * @param invite
40
39
  */
41
40
  accept(invite) {
42
- return this.http.post(`${this.environment.apiV2}/${this.url}/${invite.id}/accept`, null)
43
- .pipe(map(() => {
44
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.CLIENT_INVITE_ACCEPTED, invite));
45
- // set cache without accepted invite
46
- this.cache = this.cache.filter((clientInvite) => invite.id !== clientInvite.id);
47
- this.updateCache();
41
+ // cant use parent method because of custom specific handler
42
+ return this.http.put(`${this.apiUrl}/${invite.id}/accept`, invite).pipe(map(() => {
43
+ // @TODO remove when TaxReviewService refactored with the new rest and use there listenCSE instead
44
+ // TaxReviewService is listening client invites acception. With the new rest we are using listenCSE method, but old rest does not have this method.
45
+ // We need to refactor TaxReviewService with new rest first, then we can listenCSE and remove manual events
46
+ this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.CLIENT_INVITE_ACCEPTED, null));
47
+ this.handleResponse([invite], 'delete');
48
48
  }));
49
49
  }
50
50
  /**
51
51
  * Reject client invitation from firm to user
52
- * @param invite
53
52
  */
54
53
  reject(invite) {
55
- return this.http.post(`${this.environment.apiV2}/${this.url}/${invite.id}/reject`, null)
56
- .pipe(map((rejectedInvite) => {
57
- const updatedInvite = plainToClass(ClientInvite, rejectedInvite);
58
- // avoid cache changes
59
- // @TODO make cache readonly
60
- const tempCache = cloneDeep(this.cache);
61
- replace(tempCache, plainToClass(ClientInvite, updatedInvite));
62
- this.cache = tempCache;
63
- this.updateCache();
64
- return updatedInvite;
65
- }));
54
+ return super.put(invite, null, `${this.apiUrl}/${invite.id}/reject`);
66
55
  }
67
56
  /**
68
57
  * Resend invitation from firm to client
69
- * @param invite
70
58
  */
71
59
  resend(invite) {
72
- return this.http.post(`${this.environment.apiV2}/${this.url}/${invite.id}/resend`, null)
73
- .pipe(map((rejectedInvite) => {
74
- const updatedInvite = plainToClass(ClientInvite, rejectedInvite);
75
- // avoid cache changes
76
- // @TODO make cache readonly
77
- const tempCache = cloneDeep(this.cache);
78
- replace(tempCache, plainToClass(ClientInvite, updatedInvite));
79
- this.cache = tempCache;
80
- this.updateCache();
81
- return updatedInvite;
60
+ // cant use parent method because of custom specific handler
61
+ return this.http.post(`${this.apiUrl}/${invite.id}/resend`, null)
62
+ .pipe(map((inviteBase) => plainToClass(ClientInvite, inviteBase)), map((resentInvite) => {
63
+ this.handleResponse([resentInvite], 'put');
64
+ return resentInvite;
82
65
  }));
83
66
  }
84
67
  /**
85
68
  * Send invitation from client to firm
86
- * @param invite
87
69
  */
88
70
  inviteFirmByUser(invite) {
89
- return this.http.post(`${this.environment.apiV2}/firms/invite`, invite)
90
- .pipe(map((inviteBase) => {
91
- const newInvite = plainToClass(ClientInvite, inviteBase);
92
- // avoid cache changes
93
- // @TODO make cache readonly
94
- const tempCache = cloneDeep(this.cache);
95
- tempCache.push(newInvite);
96
- this.cache = tempCache;
97
- this.updateCache();
98
- return newInvite;
71
+ return super.post(invite, null, `${this.environment.apiV2}/firms/invite`)
72
+ .pipe(catchError((error) => {
73
+ if (error.error.email) {
74
+ this.toastService.error(error.error.email[0]);
75
+ }
76
+ else {
77
+ this.toastService.error(error.error);
78
+ }
79
+ return throwError(error);
99
80
  }));
100
81
  }
101
82
  /**
102
- * Reset cache on client/firm invite events
83
+ * Listem clientInvites db changes via mercure to update cache
84
+ * @TODO make it universal and move to parent
103
85
  */
104
- listenNotifications() {
105
- this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
106
- if (!notification.isRead && (notification.eventType === UserEventTypeTypeEnum.FIRM_INVITE_ACCEPTED || notification.eventType === UserEventTypeTypeEnum.CLIENT_INVITE)) {
107
- this.refreshCache();
86
+ listenSSE() {
87
+ this.sseService.on('clientInvites')
88
+ .pipe(map((clientInvite) => plainToClass(ClientInvite, clientInvite)))
89
+ .subscribe((clientInvite) => {
90
+ // we got empty body when item deleted so we should get id from Api Platform data (@id)
91
+ const id = clientInvite.id ?? +last(clientInvite['@id'].split('/'));
92
+ switch (true) {
93
+ case !clientInvite.id:
94
+ this.updateCache([merge(clientInvite, { id })], 'delete');
95
+ break;
96
+ case this.hasInCache(id):
97
+ this.updateCache([clientInvite], 'put');
98
+ break;
99
+ case !this.hasInCache(id):
100
+ this.updateCache([clientInvite], 'post');
108
101
  }
109
102
  });
110
103
  }
@@ -117,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
117
110
  providedIn: 'root'
118
111
  }]
119
112
  }] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEQsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBZ0IsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQTJDO0lBSHBGOztRQUlFLFFBQUcsR0FBRyxpQkFBaUIsQ0FBQztRQUN4QixlQUFVLEdBQXdCLFlBQVksQ0FBQztLQXFIaEQ7SUFuSEMsWUFBWTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFP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RyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEtBQUsscUJBQXFCLENBQUMsb0JBQW9CLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDckssSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXRIVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xpZW50SW52aXRlIGFzIENsaWVudEludml0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvZmlybS9jbGllbnQtaW52aXRlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LW9sZC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50LCBBcHBFdmVudFR5cGVFbnVtLCBDbGllbnRJbnZpdGUsIE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDbGllbnRJbnZpdGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDbGllbnRJbnZpdGVTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2xpZW50SW52aXRlQmFzZSwgQ2xpZW50SW52aXRlPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgdXJsID0gJ2NsaWVudHMvaW52aXRlcyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDbGllbnRJbnZpdGUgPSBDbGllbnRJbnZpdGU7XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuTm90aWZpY2F0aW9ucygpO1xuICB9XG5cbiAgZ2V0RmlybUludml0ZXMoKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGVbXT4ge1xuICAgIHJldHVybiBzdXBlci5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vYWxsYCk7XG4gIH1cblxuICBnZXRUVEFkdmlzb3IoKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaW52aXRlczogQ2xpZW50SW52aXRlW10pID0+IG5ldyBDbGllbnRJbnZpdGVDb2xsZWN0aW9uKGludml0ZXMpLmZpbmRCeSgnZW1wbG95ZWUuZW1haWwnLCB0aGlzLmVudmlyb25tZW50LnR0QWR2aXNvcikgfHwgbnVsbClcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGVtcGxveWVlcyBmb3IgZmlybSBmcm9tIENTViBmaWxlXG4gICAqIEBwYXJhbSBmaWxlXG4gICAqL1xuICBpbXBvcnQoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8Q2xpZW50SW52aXRlW10+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS9pbXBvcnRgLCBmb3JtRGF0YSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGNsaWVudEludml0ZTogQ2xpZW50SW52aXRlW10pID0+IGNsaWVudEludml0ZSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0IGNsaWVudCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byB1c2VyXG4gICAqIEBwYXJhbSBpbnZpdGVcbiAgICovXG4gIGFjY2VwdChpbnZpdGU6IENsaWVudEludml0ZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7aW52aXRlLmlkfS9hY2NlcHRgLCBudWxsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9JTlZJVEVfQUNDRVBURUQsIGludml0ZSkpO1xuICAgICAgICAgIC8vIHNldCBjYWNoZSB3aXRob3V0IGFjY2VwdGVkIGludml0ZVxuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigoY2xpZW50SW52aXRlOiBDbGllbnRJbnZpdGUpID0+IGludml0ZS5pZCAhPT0gY2xpZW50SW52aXRlLmlkKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlamVjdCBjbGllbnQgaW52aXRhdGlvbiBmcm9tIGZpcm0gdG8gdXNlclxuICAgKiBAcGFyYW0gaW52aXRlXG4gICAqL1xuICByZWplY3QoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2ludml0ZS5pZH0vcmVqZWN0YCwgbnVsbClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlamVjdGVkSW52aXRlOiBDbGllbnRJbnZpdGVCYXNlKTogQ2xpZW50SW52aXRlID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkSW52aXRlOiBDbGllbnRJbnZpdGUgPSBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCByZWplY3RlZEludml0ZSk7XG4gICAgICAgICAgLy8gYXZvaWQgY2FjaGUgY2hhbmdlc1xuICAgICAgICAgIC8vIEBUT0RPIG1ha2UgY2FjaGUgcmVhZG9ubHlcbiAgICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IENsaWVudEludml0ZVtdID0gY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHJlcGxhY2UodGVtcENhY2hlLCBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCB1cGRhdGVkSW52aXRlKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnZpdGU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2VuZCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byBjbGllbnRcbiAgICogQHBhcmFtIGludml0ZVxuICAgKi9cbiAgcmVzZW5kKGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtpbnZpdGUuaWR9L3Jlc2VuZGAsIG51bGwpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZWplY3RlZEludml0ZTogQ2xpZW50SW52aXRlQmFzZSk6IENsaWVudEludml0ZSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEludml0ZTogQ2xpZW50SW52aXRlID0gcGxhaW5Ub0NsYXNzKENsaWVudEludml0ZSwgcmVqZWN0ZWRJbnZpdGUpO1xuICAgICAgICAgIC8vIGF2b2lkIGNhY2hlIGNoYW5nZXNcbiAgICAgICAgICAvLyBAVE9ETyBtYWtlIGNhY2hlIHJlYWRvbmx5XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBDbGllbnRJbnZpdGVbXSA9IGNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICByZXBsYWNlKHRlbXBDYWNoZSwgcGxhaW5Ub0NsYXNzKENsaWVudEludml0ZSwgdXBkYXRlZEludml0ZSkpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkSW52aXRlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIGludml0YXRpb24gZnJvbSBjbGllbnQgdG8gZmlybVxuICAgKiBAcGFyYW0gaW52aXRlXG4gICAqL1xuICBpbnZpdGVGaXJtQnlVc2VyKGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vZmlybXMvaW52aXRlYCwgaW52aXRlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaW52aXRlQmFzZTogQ2xpZW50SW52aXRlQmFzZSk6IENsaWVudEludml0ZSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3SW52aXRlOiBDbGllbnRJbnZpdGUgPSBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCBpbnZpdGVCYXNlKTtcbiAgICAgICAgICAvLyBhdm9pZCBjYWNoZSBjaGFuZ2VzXG4gICAgICAgICAgLy8gQFRPRE8gbWFrZSBjYWNoZSByZWFkb25seVxuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogQ2xpZW50SW52aXRlW10gPSBjbG9uZURlZXAodGhpcy5jYWNoZSk7XG4gICAgICAgICAgdGVtcENhY2hlLnB1c2gobmV3SW52aXRlKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGVtcENhY2hlO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gbmV3SW52aXRlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBjYWNoZSBvbiBjbGllbnQvZmlybSBpbnZpdGUgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIChub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlVHlwZUVudW0uRklSTV9JTlZJVEVfQUNDRVBURUQgfHwgbm90aWZpY2F0aW9uLmV2ZW50VHlwZSA9PT0gVXNlckV2ZW50VHlwZVR5cGVFbnVtLkNMSUVOVF9JTlZJVEUpKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWludml0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvZmlybS9jbGllbnQtaW52aXRlL2NsaWVudC1pbnZpdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakUsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQzs7QUFLakMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQW1FO0lBSDVHOztRQUlZLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFDMUMsb0JBQWUsR0FBa0Msc0JBQXNCLENBQUM7UUFDeEUsZUFBVSxHQUF3QixZQUFZLENBQUM7S0FpSGhEO0lBL0dDLGNBQWM7UUFDWixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLENB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YW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsaWVudEludml0ZSBhcyBDbGllbnRJbnZpdGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2Zpcm0vY2xpZW50LWludml0ZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50LCBBcHBFdmVudFR5cGVFbnVtLCBDbGllbnRJbnZpdGUgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENsaWVudEludml0ZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCBsYXN0IGZyb20gJ2xvZGFzaC9sYXN0JztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDbGllbnRJbnZpdGVTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2xpZW50SW52aXRlQmFzZSwgQ2xpZW50SW52aXRlLCBDbGllbnRJbnZpdGVDb2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgcHJvdGVjdGVkIGVuZHBvaW50VXJpID0gJ2NsaWVudHMvaW52aXRlcyc7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIENsaWVudEludml0ZUNvbGxlY3Rpb24gPSBDbGllbnRJbnZpdGVDb2xsZWN0aW9uO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2xpZW50SW52aXRlID0gQ2xpZW50SW52aXRlO1xuICBcbiAgZ2V0RmlybUludml0ZXMoKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGVDb2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHN1cGVyLmdldChgJHt0aGlzLmFwaVVybH0vYWxsYCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGludml0ZSB3aGljaCBlbXBsb3llZSBpcyBUYXhUYW5rIEFkdmlzb3JcbiAgICogQFRPRE8gbW92ZSB0byBjb2xsZWN0aW9uPyBidXQgd2UgbmVlZCB0byBpbmplY3QgZW52aXJvbWVudCBcbiAgICovXG4gIGdldFRUQWR2aXNvcigpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKGludml0ZXM6IENsaWVudEludml0ZUNvbGxlY3Rpb24pID0+IGludml0ZXMuZmluZEJ5KCdlbXBsb3llZS5lbWFpbCcsIHRoaXMuZW52aXJvbm1lbnQudHRBZHZpc29yKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBjbGllbnRzIGZyb20gQ1NWIGZpbGVcbiAgICovXG4gIGltcG9ydChmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGVbXT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuXG4gICAgLy8gY2FudCB1c2UgcGFyZW50IG1ldGhvZCBiZWNhdXNlIG9mIGRpZmZlcmVudCBwYXJhbWV0ZXJzXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXBpVXJsfS9pbXBvcnRgLCBmb3JtRGF0YSkucGlwZShcbiAgICAgIG1hcCgoY2xpZW50SW52aXRlOiBDbGllbnRJbnZpdGVbXSkgPT4gY2xpZW50SW52aXRlKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWNjZXB0IGNsaWVudCBpbnZpdGF0aW9uIGZyb20gZmlybSB0byB1c2VyXG4gICAqL1xuICBhY2NlcHQoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAvLyBjYW50IHVzZSBwYXJlbnQgbWV0aG9kIGJlY2F1c2Ugb2YgY3VzdG9tIHNwZWNpZmljIGhhbmRsZXJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmFwaVVybH0vJHtpbnZpdGUuaWR9L2FjY2VwdGAsIGludml0ZSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIC8vIEBUT0RPIHJlbW92ZSB3aGVuIFRheFJldmlld1NlcnZpY2UgcmVmYWN0b3JlZCB3aXRoIHRoZSBuZXcgcmVzdCBhbmQgdXNlIHRoZXJlIGxpc3RlbkNTRSBpbnN0ZWFkXG4gICAgICAgIC8vIFRheFJldmlld1NlcnZpY2UgaXMgbGlzdGVuaW5nIGNsaWVudCBpbnZpdGVzIGFjY2VwdGlvbi4gV2l0aCB0aGUgbmV3IHJlc3Qgd2UgYXJlIHVzaW5nIGxpc3RlbkNTRSBtZXRob2QsIGJ1dCBvbGQgcmVzdCBkb2VzIG5vdCBoYXZlIHRoaXMgbWV0aG9kLlxuICAgICAgICAvLyBXZSBuZWVkIHRvIHJlZmFjdG9yIFRheFJldmlld1NlcnZpY2Ugd2l0aCBuZXcgcmVzdCBmaXJzdCwgdGhlbiB3ZSBjYW4gbGlzdGVuQ1NFIGFuZCByZW1vdmUgbWFudWFsIGV2ZW50c1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQ0xJRU5UX0lOVklURV9BQ0NFUFRFRCwgbnVsbCkpO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW2ludml0ZV0sICdkZWxldGUnKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWplY3QgY2xpZW50IGludml0YXRpb24gZnJvbSBmaXJtIHRvIHVzZXJcbiAgICovXG4gIHJlamVjdChpbnZpdGU6IENsaWVudEludml0ZSk6IE9ic2VydmFibGU8Q2xpZW50SW52aXRlPiB7XG4gICAgcmV0dXJuIHN1cGVyLnB1dChpbnZpdGUsIG51bGwsIGAke3RoaXMuYXBpVXJsfS8ke2ludml0ZS5pZH0vcmVqZWN0YCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZW5kIGludml0YXRpb24gZnJvbSBmaXJtIHRvIGNsaWVudFxuICAgKi9cbiAgcmVzZW5kKGludml0ZTogQ2xpZW50SW52aXRlKTogT2JzZXJ2YWJsZTxDbGllbnRJbnZpdGU+IHtcbiAgICAvLyBjYW50IHVzZSBwYXJlbnQgbWV0aG9kIGJlY2F1c2Ugb2YgY3VzdG9tIHNwZWNpZmljIGhhbmRsZXJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlVcmx9LyR7aW52aXRlLmlkfS9yZXNlbmRgLCBudWxsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaW52aXRlQmFzZTogQ2xpZW50SW52aXRlQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKENsaWVudEludml0ZSwgaW52aXRlQmFzZSkpLFxuICAgICAgICBtYXAoKHJlc2VudEludml0ZTogQ2xpZW50SW52aXRlKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbcmVzZW50SW52aXRlXSwgJ3B1dCcpO1xuXG4gICAgICAgICAgcmV0dXJuIHJlc2VudEludml0ZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VuZCBpbnZpdGF0aW9uIGZyb20gY2xpZW50IHRvIGZpcm1cbiAgICovXG4gIGludml0ZUZpcm1CeVVzZXIoaW52aXRlOiBDbGllbnRJbnZpdGUpOiBPYnNlcnZhYmxlPENsaWVudEludml0ZT4ge1xuICAgIHJldHVybiBzdXBlci5wb3N0KGludml0ZSwgbnVsbCwgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vZmlybXMvaW52aXRlYClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IuZW1haWwpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKGVycm9yLmVycm9yLmVtYWlsWzBdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVtIGNsaWVudEludml0ZXMgZGIgY2hhbmdlcyB2aWEgbWVyY3VyZSB0byB1cGRhdGUgY2FjaGVcbiAgICogQFRPRE8gbWFrZSBpdCB1bml2ZXJzYWwgYW5kIG1vdmUgdG8gcGFyZW50XG4gICAqL1xuICBsaXN0ZW5TU0UoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKCdjbGllbnRJbnZpdGVzJylcbiAgICAgIC5waXBlKG1hcCgoY2xpZW50SW52aXRlOiBDbGllbnRJbnZpdGVCYXNlKSA9PiBwbGFpblRvQ2xhc3MoQ2xpZW50SW52aXRlLCBjbGllbnRJbnZpdGUpKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNsaWVudEludml0ZTogQ2xpZW50SW52aXRlKSA9PiB7XG5cbiAgICAgICAgLy8gd2UgZ290IGVtcHR5IGJvZHkgd2hlbiBpdGVtIGRlbGV0ZWQgc28gd2Ugc2hvdWxkIGdldCBpZCBmcm9tIEFwaSBQbGF0Zm9ybSBkYXRhIChAaWQpXG4gICAgICAgIGNvbnN0IGlkID0gY2xpZW50SW52aXRlLmlkID8/ICtsYXN0KGNsaWVudEludml0ZVsnQGlkJ10uc3BsaXQoJy8nKSk7XG5cbiAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgY2FzZSAhY2xpZW50SW52aXRlLmlkOlxuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZShbbWVyZ2UoY2xpZW50SW52aXRlLCB7aWR9KV0sICdkZWxldGUnKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSB0aGlzLmhhc0luQ2FjaGUoaWQpOlxuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZShbY2xpZW50SW52aXRlXSwgJ3B1dCcpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICF0aGlzLmhhc0luQ2FjaGUoaWQpOlxuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZShbY2xpZW50SW52aXRlXSwgJ3Bvc3QnKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxufVxuIl19
@@ -3,31 +3,27 @@ import { forkJoin } from 'rxjs';
3
3
  import { map } from 'rxjs/operators';
4
4
  import { ClientMovementCollection } from '../../../../collections/client-movement.collection';
5
5
  import { plainToClass } from 'class-transformer';
6
- import { RestService } from '../../rest/rest-old.service';
6
+ import { RestService } from '../../rest/rest.service';
7
7
  import { ClientMovement } from '../../../../models/client/client-movement';
8
8
  import { AppEvent } from '../../../../models/event/app-event';
9
9
  import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
10
- import { UserEventTypeTypeEnum } from '../../../../db/Enums/user-event-type-type.enum';
10
+ import { ClientInvite } from '../../../../models';
11
11
  import * as i0 from "@angular/core";
12
12
  export class ClientMovementService extends RestService {
13
13
  constructor() {
14
14
  super(...arguments);
15
+ this.endpointUri = 'client-movements';
16
+ this.collectionClass = ClientMovementCollection;
15
17
  this.modelClass = ClientMovement;
16
- this.url = 'client-movements';
17
- this.isHydra = true;
18
+ this.isApiPlatform = true;
19
+ this.disabledMethods = ['postBatch', 'delete', 'deleteBatch'];
18
20
  }
19
21
  listenEvents() {
20
- this.listenNotifications();
21
- this.listenClientInvites();
22
- }
23
- /**
24
- * @TODO BaseRestService should return collection
25
- */
26
- getAll() {
27
- return this.get().pipe(map((clientMovements) => new ClientMovementCollection(clientMovements)));
22
+ // @TODO handle with mercure
23
+ this.listenCSE(ClientInvite, ['post', 'put', 'delete'], this.refreshCache);
28
24
  }
29
25
  getActive() {
30
- return this.getAll().pipe(map((clientMovements) => clientMovements.active));
26
+ return this.get().pipe(map((clientMovements) => clientMovements.active));
31
27
  }
32
28
  getTTAdvisor() {
33
29
  return this.getActive()
@@ -36,18 +32,25 @@ export class ClientMovementService extends RestService {
36
32
  getActiveByFirmType(type) {
37
33
  return this.getActive().pipe(map((clientMovements) => clientMovements.getByFirmType(type)));
38
34
  }
39
- update(movement) {
35
+ /**
36
+ * Method is using for transfer client between employees.
37
+ * On backend we close passed movement and create a new one instead
38
+ */
39
+ put(movement) {
40
40
  // extend base 'add' method and pass into it movement without id
41
- return super.add(plainToClass(ClientMovement, Object.assign({}, movement, { id: null }))).pipe(map((updatedMovement) => {
41
+ return super.post(plainToClass(ClientMovement, Object.assign({}, movement, { id: null }))).pipe(map((updatedMovement) => {
42
42
  // remove provided movement from cache
43
43
  this.cache = this.cache.filter((item) => item.id !== movement.id);
44
- this.updateCache();
44
+ this.updateCache([updatedMovement], 'post');
45
45
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.CLIENT_TRANSFER_TO_OTHER_EMPLOYEE, [updatedMovement.client]));
46
46
  return updatedMovement;
47
47
  }));
48
48
  }
49
- updateBatch(clientMovements) {
50
- const batch = clientMovements.map((clientMovement) => this.update(clientMovement));
49
+ /**
50
+ * There is no actually direct updating of client movement, but we are using this method for transfer clients between employees
51
+ */
52
+ putBatch(clientMovements) {
53
+ const batch = clientMovements.map((clientMovement) => this.put(clientMovement));
51
54
  return forkJoin(batch);
52
55
  }
53
56
  /**
@@ -55,27 +58,24 @@ export class ClientMovementService extends RestService {
55
58
  */
56
59
  close(clientMovement) {
57
60
  clientMovement.dateTo = new Date();
61
+ // cant use parent method because of custom specific handler
58
62
  return this.http.put(`${this.environment.apiV2}/client-movements/${clientMovement.id}/close`, clientMovement)
59
63
  .pipe(map(() => {
64
+ // @TODO remove when TaxReviewService refactored with the new rest and use there listenCSE instead
60
65
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.CLIENT_MOVEMENT_CLOSED, null));
61
66
  this.cache = this.cache.filter((movement) => movement.id !== clientMovement.id);
62
- this.updateCache();
67
+ this.updateCache([clientMovement], 'delete');
63
68
  }));
64
69
  }
65
- listenNotifications() {
66
- this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
67
- if (!notification.isRead && notification.eventType === UserEventTypeTypeEnum.FIRM_INVITE_ACCEPTED) {
68
- this.refreshCache();
69
- }
70
- });
71
- }
72
70
  /**
73
- * Listen to EventDispatcherService event related to clients invitations
71
+ * Listem clientMovements db changes via mercure to update cache
72
+ * @TODO make it universal and move to parent
74
73
  */
75
- listenClientInvites() {
76
- this.eventDispatcherService.on(AppEventTypeEnum.CLIENT_INVITE_ACCEPTED)
77
- .subscribe(() => {
78
- this.refreshCache();
74
+ listenSSE() {
75
+ this.sseService.on('clientMovements')
76
+ .pipe(map((clientMovement) => plainToClass(ClientMovement, clientMovement)))
77
+ .subscribe((clientMovement) => {
78
+ this.hasInCache(clientMovement.id) ? this.updateCache([clientMovement], 'put') : this.updateCache([clientMovement], 'post');
79
79
  });
80
80
  }
81
81
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
87
87
  providedIn: 'root'
88
88
  }]
89
89
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9maXJtL2NsaWVudC1tb3ZlbWVudC9jbGllbnQtbW92ZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUdoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7QUFLdkYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFdBQStDO0lBSDFGOztRQUlFLGVBQVUsR0FBMEIsY0FBYyxDQUFDO1FBQ25ELFFBQUcsR0FBRyxrQkFBa0IsQ0FBQztRQUN6QixZQUFPLEdBQUcsSUFBSSxDQUFDO0tBdUZoQjtJQXJGQyxZQUFZO1FBQ1YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFD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QyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQzNHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUsscUJBQXFCLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ2pHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7YUFDcEUsU0FBUyxDQUFDLEdBQVMsRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXpGVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpZW50TW92ZW1lbnQgYXMgQ2xpZW50TW92ZW1lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2Zpcm0vY2xpZW50LW1vdmVtZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jbGllbnQtbW92ZW1lbnQuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBGaXJtVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy9maXJtLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgeyBDbGllbnRNb3ZlbWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9jbGllbnQvY2xpZW50LW1vdmVtZW50JztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcy91c2VyLWV2ZW50LXR5cGUtdHlwZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50TW92ZW1lbnRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2xpZW50TW92ZW1lbnRCYXNlLCBDbGllbnRNb3ZlbWVudD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDbGllbnRNb3ZlbWVudCA9IENsaWVudE1vdmVtZW50O1xuICB1cmwgPSAnY2xpZW50LW1vdmVtZW50cyc7XG4gIGlzSHlkcmEgPSB0cnVlO1xuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgICB0aGlzLmxpc3RlbkNsaWVudEludml0ZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBCYXNlUmVzdFNlcnZpY2Ugc2hvdWxkIHJldHVybiBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXRBbGwoKTogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChjbGllbnRNb3ZlbWVudHM6IENsaWVudE1vdmVtZW50W10pID0+IG5ldyBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24oY2xpZW50TW92ZW1lbnRzKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QWN0aXZlKCk6IE9ic2VydmFibGU8Q2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsKCkucGlwZShcbiAgICAgIG1hcCgoY2xpZW50TW92ZW1lbnRzOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24pOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24gPT4gY2xpZW50TW92ZW1lbnRzLmFjdGl2ZSlcbiAgICApO1xuICB9XG5cbiAgZ2V0VFRBZHZpc29yKCk6IE9ic2VydmFibGU8Q2xpZW50TW92ZW1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmUoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobW92ZW1lbnRzOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24pID0+IG1vdmVtZW50cy5maW5kQnkoJ2VtcGxveWVlLmVtYWlsJywgdGhpcy5lbnZpcm9ubWVudC50dEFkdmlzb3IpIHx8IG51bGwpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0QWN0aXZlQnlGaXJtVHlwZSh0eXBlOiBGaXJtVHlwZUVudW0pOiBPYnNlcnZhYmxlPENsaWVudE1vdmVtZW50Q29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZSgpLnBpcGUoXG4gICAgICBtYXAoKGNsaWVudE1vdmVtZW50czogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uKTogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uID0+IGNsaWVudE1vdmVtZW50cy5nZXRCeUZpcm1UeXBlKHR5cGUpKVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUobW92ZW1lbnQ6IENsaWVudE1vdmVtZW50KTogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudD4ge1xuICAgIC8vIGV4dGVuZCBiYXNlICdhZGQnIG1ldGhvZCBhbmQgcGFzcyBpbnRvIGl0IG1vdmVtZW50IHdpdGhvdXQgaWRcbiAgICByZXR1cm4gc3VwZXIuYWRkKHBsYWluVG9DbGFzcyhDbGllbnRNb3ZlbWVudCwgT2JqZWN0LmFzc2lnbih7fSwgbW92ZW1lbnQsIHtpZDogbnVsbH0pKSkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4ge1xuICAgICAgICAvLyByZW1vdmUgcHJvdmlkZWQgbW92ZW1lbnQgZnJvbSBjYWNoZVxuICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGl0ZW06IENsaWVudE1vdmVtZW50KSA9PiBpdGVtLmlkICE9PSBtb3ZlbWVudC5pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQ0xJRU5UX1RSQU5TRkVSX1RPX09USEVSX0VNUExPWUVFLCBbdXBkYXRlZE1vdmVtZW50LmNsaWVudF0pKTtcblxuICAgICAgICByZXR1cm4gdXBkYXRlZE1vdmVtZW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlQmF0Y2goY2xpZW50TW92ZW1lbnRzOiBDbGllbnRNb3ZlbWVudFtdKTogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudFtdPiB7XG4gICAgY29uc3QgYmF0Y2g6IE9ic2VydmFibGU8Q2xpZW50TW92ZW1lbnQ+W10gPSBjbGllbnRNb3ZlbWVudHMubWFwKChjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpID0+IHRoaXMudXBkYXRlKGNsaWVudE1vdmVtZW50KSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKGJhdGNoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWplY3QgY3VycmVudCBmaXJtXG4gICAqL1xuICBjbG9zZShjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjbGllbnRNb3ZlbWVudC5kYXRlVG8gPSBuZXcgRGF0ZSgpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2NsaWVudC1tb3ZlbWVudHMvJHtjbGllbnRNb3ZlbWVudC5pZH0vY2xvc2VgLCBjbGllbnRNb3ZlbWVudClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfTU9WRU1FTlRfQ0xPU0VELCBudWxsKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuZmlsdGVyKChtb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpOiBib29sZWFuID0+IG1vdmVtZW50LmlkICE9PSBjbGllbnRNb3ZlbWVudC5pZCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuTm90aWZpY2F0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5OT1RJRklDQVRJT05fQURERUQpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmlzUmVhZCAmJiBub3RpZmljYXRpb24uZXZlbnRUeXBlID09PSBVc2VyRXZlbnRUeXBlVHlwZUVudW0uRklSTV9JTlZJVEVfQUNDRVBURUQpIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoQ2FjaGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIGNsaWVudHMgaW52aXRhdGlvbnNcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuQ2xpZW50SW52aXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfSU5WSVRFX0FDQ0VQVEVEKVxuICAgICAgLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaENhY2hlKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9maXJtL2NsaWVudC1tb3ZlbWVudC9jbGllbnQtbW92ZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTWxELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxXQUF5RTtJQUhwSDs7UUFJWSxnQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBQzNDLG9CQUFlLEdBQW9DLHdCQUF3QixDQUFDO1FBQzVFLGVBQVUsR0FBMEIsY0FBYyxDQUFDO1FBQ25ELGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLG9CQUFlLEdBQWlCLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztLQW1GeEU7SUFqRkMsWUFBWTtRQUNWLDRCQUE0QjtRQUM1QixJQUFJLENBQUMs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UUFBUSxDQUFDLEVBQUUsS0FBSyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDekcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFrQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7YUFDL0YsU0FBUyxDQUFDLENBQUMsY0FBOEIsRUFBRSxFQUFFO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5SCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7K0dBdkZVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGllbnRNb3ZlbWVudCBhcyBDbGllbnRNb3ZlbWVudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvZmlybS9jbGllbnQtbW92ZW1lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NsaWVudC1tb3ZlbWVudC5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEZpcm1UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL2Zpcm0tdHlwZS5lbnVtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50TW92ZW1lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvY2xpZW50L2NsaWVudC1tb3ZlbWVudCc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xpZW50SW52aXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFJlc3RNZXRob2QgfSBmcm9tICcuLi8uLi9yZXN0JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50TW92ZW1lbnRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2xpZW50TW92ZW1lbnRCYXNlLCBDbGllbnRNb3ZlbWVudCwgQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgcHJvdGVjdGVkIGVuZHBvaW50VXJpID0gJ2NsaWVudC1tb3ZlbWVudHMnO1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24gPSBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb247XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDbGllbnRNb3ZlbWVudCA9IENsaWVudE1vdmVtZW50O1xuICBpc0FwaVBsYXRmb3JtID0gdHJ1ZTtcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3RCYXRjaCcsICdkZWxldGUnLCAnZGVsZXRlQmF0Y2gnXTtcblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgLy8gQFRPRE8gaGFuZGxlIHdpdGggbWVyY3VyZVxuICAgIHRoaXMubGlzdGVuQ1NFKENsaWVudEludml0ZSwgWydwb3N0JywgJ3B1dCcsICdkZWxldGUnXSwgdGhpcy5yZWZyZXNoQ2FjaGUpO1xuICB9XG5cbiAgZ2V0QWN0aXZlKCk6IE9ic2VydmFibGU8Q2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoY2xpZW50TW92ZW1lbnRzOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24pOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24gPT4gY2xpZW50TW92ZW1lbnRzLmFjdGl2ZSlcbiAgICApO1xuICB9XG5cbiAgZ2V0VFRBZHZpc29yKCk6IE9ic2VydmFibGU8Q2xpZW50TW92ZW1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmUoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobW92ZW1lbnRzOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24pID0+IG1vdmVtZW50cy5maW5kQnkoJ2VtcGxveWVlLmVtYWlsJywgdGhpcy5lbnZpcm9ubWVudC50dEFkdmlzb3IpIHx8IG51bGwpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0QWN0aXZlQnlGaXJtVHlwZSh0eXBlOiBGaXJtVHlwZUVudW0pOiBPYnNlcnZhYmxlPENsaWVudE1vdmVtZW50Q29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZSgpLnBpcGUoXG4gICAgICBtYXAoKGNsaWVudE1vdmVtZW50czogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uKTogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uID0+IGNsaWVudE1vdmVtZW50cy5nZXRCeUZpcm1UeXBlKHR5cGUpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIGlzIHVzaW5nIGZvciB0cmFuc2ZlciBjbGllbnQgYmV0d2VlbiBlbXBsb3llZXMuXG4gICAqIE9uIGJhY2tlbmQgd2UgY2xvc2UgcGFzc2VkIG1vdmVtZW50IGFuZCBjcmVhdGUgYSBuZXcgb25lIGluc3RlYWRcbiAgICovXG4gIHB1dChtb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpOiBPYnNlcnZhYmxlPENsaWVudE1vdmVtZW50PiB7XG4gICAgLy8gZXh0ZW5kIGJhc2UgJ2FkZCcgbWV0aG9kIGFuZCBwYXNzIGludG8gaXQgbW92ZW1lbnQgd2l0aG91dCBpZFxuICAgIHJldHVybiBzdXBlci5wb3N0KHBsYWluVG9DbGFzcyhDbGllbnRNb3ZlbWVudCwgT2JqZWN0LmFzc2lnbih7fSwgbW92ZW1lbnQsIHtpZDogbnVsbH0pKSkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4ge1xuICAgICAgICAvLyByZW1vdmUgcHJvdmlkZWQgbW92ZW1lbnQgZnJvbSBjYWNoZVxuICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGl0ZW06IENsaWVudE1vdmVtZW50KSA9PiBpdGVtLmlkICE9PSBtb3ZlbWVudC5pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoW3VwZGF0ZWRNb3ZlbWVudF0sICdwb3N0Jyk7XG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9UUkFOU0ZFUl9UT19PVEhFUl9FTVBMT1lFRSwgW3VwZGF0ZWRNb3ZlbWVudC5jbGllbnRdKSk7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRNb3ZlbWVudDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGVyZSBpcyBubyBhY3R1YWxseSBkaXJlY3QgdXBkYXRpbmcgb2YgY2xpZW50IG1vdmVtZW50LCBidXQgd2UgYXJlIHVzaW5nIHRoaXMgbWV0aG9kIGZvciB0cmFuc2ZlciBjbGllbnRzIGJldHdlZW4gZW1wbG95ZWVzXG4gICAqL1xuICBwdXRCYXRjaChjbGllbnRNb3ZlbWVudHM6IENsaWVudE1vdmVtZW50W10pOiBPYnNlcnZhYmxlPENsaWVudE1vdmVtZW50W10+IHtcbiAgICBjb25zdCBiYXRjaDogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudD5bXSA9IGNsaWVudE1vdmVtZW50cy5tYXAoKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4gdGhpcy5wdXQoY2xpZW50TW92ZW1lbnQpKTtcbiAgXG4gICAgcmV0dXJuIGZvcmtKb2luKGJhdGNoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWplY3QgY3VycmVudCBmaXJtXG4gICAqL1xuICBjbG9zZShjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjbGllbnRNb3ZlbWVudC5kYXRlVG8gPSBuZXcgRGF0ZSgpO1xuICAgIC8vIGNhbnQgdXNlIHBhcmVudCBtZXRob2QgYmVjYXVzZSBvZiBjdXN0b20gc3BlY2lmaWMgaGFuZGxlclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2NsaWVudC1tb3ZlbWVudHMvJHtjbGllbnRNb3ZlbWVudC5pZH0vY2xvc2VgLCBjbGllbnRNb3ZlbWVudClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIC8vIEBUT0RPIHJlbW92ZSB3aGVuIFRheFJldmlld1NlcnZpY2UgcmVmYWN0b3JlZCB3aXRoIHRoZSBuZXcgcmVzdCBhbmQgdXNlIHRoZXJlIGxpc3RlbkNTRSBpbnN0ZWFkXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9NT1ZFTUVOVF9DTE9TRUQsIG51bGwpKTtcblxuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigobW92ZW1lbnQ6IENsaWVudE1vdmVtZW50KTogYm9vbGVhbiA9PiBtb3ZlbWVudC5pZCAhPT0gY2xpZW50TW92ZW1lbnQuaWQpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoW2NsaWVudE1vdmVtZW50XSwgJ2RlbGV0ZScpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIExpc3RlbSBjbGllbnRNb3ZlbWVudHMgZGIgY2hhbmdlcyB2aWEgbWVyY3VyZSB0byB1cGRhdGUgY2FjaGVcbiAgICogQFRPRE8gbWFrZSBpdCB1bml2ZXJzYWwgYW5kIG1vdmUgdG8gcGFyZW50XG4gICAqL1xuICBsaXN0ZW5TU0UoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKCdjbGllbnRNb3ZlbWVudHMnKVxuICAgICAgLnBpcGUobWFwKChjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnRCYXNlKSA9PiBwbGFpblRvQ2xhc3MoQ2xpZW50TW92ZW1lbnQsIGNsaWVudE1vdmVtZW50KSkpXG4gICAgICAuc3Vic2NyaWJlKChjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpID0+IHtcbiAgICAgICAgdGhpcy5oYXNJbkNhY2hlKGNsaWVudE1vdmVtZW50LmlkKSA/IHRoaXMudXBkYXRlQ2FjaGUoW2NsaWVudE1vdmVtZW50XSwgJ3B1dCcpIDogdGhpcy51cGRhdGVDYWNoZShbY2xpZW50TW92ZW1lbnRdLCAncG9zdCcpO1xuICAgICAgfSlcbiAgfVxufVxuIl19