@alfresco/adf-process-services 8.1.0-16320806191 → 9.1.0-16312921641

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 (125) hide show
  1. package/fesm2022/adf-process-services.mjs +297 -301
  2. package/fesm2022/adf-process-services.mjs.map +1 -1
  3. package/package.json +4 -6
  4. package/esm2022/adf-process-services.mjs +0 -5
  5. package/esm2022/lib/app-list/apps-list.component.mjs +0 -195
  6. package/esm2022/lib/app-list/icon.model.mjs +0 -166
  7. package/esm2022/lib/app-list/index.mjs +0 -18
  8. package/esm2022/lib/app-list/public-api.mjs +0 -23
  9. package/esm2022/lib/app-list/select-apps-dialog/select-apps-dialog.component.mjs +0 -53
  10. package/esm2022/lib/attachment/create-process-attachment/create-process-attachment.component.mjs +0 -73
  11. package/esm2022/lib/attachment/create-task-attachment/create-task-attachment.component.mjs +0 -73
  12. package/esm2022/lib/attachment/index.mjs +0 -18
  13. package/esm2022/lib/attachment/process-attachment-list/process-attachment-list.component.mjs +0 -197
  14. package/esm2022/lib/attachment/public-api.mjs +0 -31
  15. package/esm2022/lib/attachment/task-attachment-list/task-attachment-list.component.mjs +0 -196
  16. package/esm2022/lib/compat/types.mjs +0 -18
  17. package/esm2022/lib/form/events/validate-dynamic-table-row.event.mjs +0 -26
  18. package/esm2022/lib/form/form-custom-outcomes.component.mjs +0 -31
  19. package/esm2022/lib/form/form-list/form-list.component.mjs +0 -50
  20. package/esm2022/lib/form/form.component.mjs +0 -346
  21. package/esm2022/lib/form/index.mjs +0 -18
  22. package/esm2022/lib/form/model/form-definition.model.mjs +0 -92
  23. package/esm2022/lib/form/process-form-rendering.service.mjs +0 -55
  24. package/esm2022/lib/form/public-api.mjs +0 -32
  25. package/esm2022/lib/form/services/activiti-alfresco.service.mjs +0 -113
  26. package/esm2022/lib/form/services/ecm-model.service.mjs +0 -156
  27. package/esm2022/lib/form/services/editor.service.mjs +0 -87
  28. package/esm2022/lib/form/services/external-alfresco-api.service.mjs +0 -57
  29. package/esm2022/lib/form/services/index.mjs +0 -26
  30. package/esm2022/lib/form/services/model.service.mjs +0 -130
  31. package/esm2022/lib/form/services/process-content.service.mjs +0 -223
  32. package/esm2022/lib/form/services/process-definition.service.mjs +0 -93
  33. package/esm2022/lib/form/services/task-form.service.mjs +0 -127
  34. package/esm2022/lib/form/services/task.service.mjs +0 -77
  35. package/esm2022/lib/form/start-form/start-form.component.mjs +0 -141
  36. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog-component.interface.mjs +0 -18
  37. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.component.mjs +0 -115
  38. package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.service.mjs +0 -100
  39. package/esm2022/lib/form/widgets/content-widget/attach-file-widget.component.mjs +0 -254
  40. package/esm2022/lib/form/widgets/content-widget/attach-folder-widget.component.mjs +0 -93
  41. package/esm2022/lib/form/widgets/content-widget/index.mjs +0 -18
  42. package/esm2022/lib/form/widgets/content-widget/public-api.mjs +0 -22
  43. package/esm2022/lib/form/widgets/document/content.widget.mjs +0 -125
  44. package/esm2022/lib/form/widgets/document/document.widget.mjs +0 -61
  45. package/esm2022/lib/form/widgets/dropdown/dropdown.widget.mjs +0 -182
  46. package/esm2022/lib/form/widgets/dynamic-table/dynamic-table.widget.mjs +0 -192
  47. package/esm2022/lib/form/widgets/dynamic-table/editors/amount/amount.editor.mjs +0 -47
  48. package/esm2022/lib/form/widgets/dynamic-table/editors/boolean/boolean.editor.mjs +0 -42
  49. package/esm2022/lib/form/widgets/dynamic-table/editors/date/date.editor.mjs +0 -84
  50. package/esm2022/lib/form/widgets/dynamic-table/editors/datetime/datetime.editor.mjs +0 -84
  51. package/esm2022/lib/form/widgets/dynamic-table/editors/dropdown/dropdown.editor.mjs +0 -95
  52. package/esm2022/lib/form/widgets/dynamic-table/editors/models/cell-validator.model.mjs +0 -18
  53. package/esm2022/lib/form/widgets/dynamic-table/editors/models/date-cell-validator-model.mjs +0 -47
  54. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-row-validation-summary.model.mjs +0 -24
  55. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column-option.model.mjs +0 -18
  56. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-column.model.mjs +0 -18
  57. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table-row.model.mjs +0 -18
  58. package/esm2022/lib/form/widgets/dynamic-table/editors/models/dynamic-table.widget.model.mjs +0 -159
  59. package/esm2022/lib/form/widgets/dynamic-table/editors/models/number-cell-validator.model.mjs +0 -45
  60. package/esm2022/lib/form/widgets/dynamic-table/editors/models/required-cell-validator.model.mjs +0 -40
  61. package/esm2022/lib/form/widgets/dynamic-table/editors/row-editor/row.editor.mjs +0 -89
  62. package/esm2022/lib/form/widgets/dynamic-table/editors/text/text.editor.mjs +0 -47
  63. package/esm2022/lib/form/widgets/dynamic-table/index.mjs +0 -18
  64. package/esm2022/lib/form/widgets/dynamic-table/public-api.mjs +0 -44
  65. package/esm2022/lib/form/widgets/file-viewer/file-viewer.widget.mjs +0 -46
  66. package/esm2022/lib/form/widgets/functional-group/functional-group.widget.mjs +0 -167
  67. package/esm2022/lib/form/widgets/index.mjs +0 -18
  68. package/esm2022/lib/form/widgets/people/people.widget.mjs +0 -169
  69. package/esm2022/lib/form/widgets/public-api.mjs +0 -54
  70. package/esm2022/lib/form/widgets/radio-buttons/radio-buttons.widget.mjs +0 -97
  71. package/esm2022/lib/form/widgets/typeahead/typeahead.widget.mjs +0 -152
  72. package/esm2022/lib/form/widgets/upload/upload.widget.mjs +0 -128
  73. package/esm2022/lib/people/components/people/people.component.mjs +0 -124
  74. package/esm2022/lib/people/components/people-list/people-list.component.mjs +0 -74
  75. package/esm2022/lib/people/components/people-search/people-search.component.mjs +0 -83
  76. package/esm2022/lib/people/components/people-search-field/people-search-field.component.mjs +0 -90
  77. package/esm2022/lib/people/components/people-selector/people-selector.component.mjs +0 -76
  78. package/esm2022/lib/people/helpers/get-display-user.mjs +0 -22
  79. package/esm2022/lib/people/index.mjs +0 -18
  80. package/esm2022/lib/people/interfaces/perform-search-callback.interface.mjs +0 -18
  81. package/esm2022/lib/people/public-api.mjs +0 -35
  82. package/esm2022/lib/process-comments/index.mjs +0 -21
  83. package/esm2022/lib/process-comments/process-comments.component.mjs +0 -45
  84. package/esm2022/lib/process-comments/services/comment-process.service.mjs +0 -77
  85. package/esm2022/lib/process-list/components/process-audit/process-audit.directive.mjs +0 -105
  86. package/esm2022/lib/process-list/components/process-filters/process-filters.component.mjs +0 -211
  87. package/esm2022/lib/process-list/components/process-instance-details/process-instance-details.component.mjs +0 -142
  88. package/esm2022/lib/process-list/components/process-instance-header/process-instance-header.component.mjs +0 -123
  89. package/esm2022/lib/process-list/components/process-instance-tasks/process-instance-tasks.component.mjs +0 -163
  90. package/esm2022/lib/process-list/components/process-list/process-list.component.mjs +0 -327
  91. package/esm2022/lib/process-list/components/start-process/start-process.component.mjs +0 -423
  92. package/esm2022/lib/process-list/index.mjs +0 -18
  93. package/esm2022/lib/process-list/public-api.mjs +0 -44
  94. package/esm2022/lib/process-list/services/process-filter.service.mjs +0 -182
  95. package/esm2022/lib/process-list/services/process.service.mjs +0 -259
  96. package/esm2022/lib/process.module.mjs +0 -132
  97. package/esm2022/lib/services/apps-process.service.mjs +0 -58
  98. package/esm2022/lib/services/people-process.service.mjs +0 -124
  99. package/esm2022/lib/services/task-comments.service.mjs +0 -65
  100. package/esm2022/lib/task-comments/index.mjs +0 -21
  101. package/esm2022/lib/task-comments/task-comments.component.mjs +0 -44
  102. package/esm2022/lib/task-list/components/attach-form/attach-form.component.mjs +0 -127
  103. package/esm2022/lib/task-list/components/checklist/checklist.component.mjs +0 -140
  104. package/esm2022/lib/task-list/components/start-task/start-task.component.mjs +0 -221
  105. package/esm2022/lib/task-list/components/task-details/task-details.component.mjs +0 -360
  106. package/esm2022/lib/task-list/components/task-filters/task-filters.component.mjs +0 -261
  107. package/esm2022/lib/task-list/components/task-form/claim-task.directive.mjs +0 -77
  108. package/esm2022/lib/task-list/components/task-form/task-form.component.mjs +0 -313
  109. package/esm2022/lib/task-list/components/task-form/unclaim-task.directive.mjs +0 -77
  110. package/esm2022/lib/task-list/components/task-header/task-header.component.mjs +0 -361
  111. package/esm2022/lib/task-list/components/task-list/task-list.component.mjs +0 -359
  112. package/esm2022/lib/task-list/components/task-standalone/task-standalone.component.mjs +0 -82
  113. package/esm2022/lib/task-list/index.mjs +0 -18
  114. package/esm2022/lib/task-list/models/form.model.mjs +0 -26
  115. package/esm2022/lib/task-list/models/task-details.event.mjs +0 -32
  116. package/esm2022/lib/task-list/models/task-preset.model.mjs +0 -41
  117. package/esm2022/lib/task-list/models/user-event.model.mjs +0 -18
  118. package/esm2022/lib/task-list/models/user-group.model.mjs +0 -18
  119. package/esm2022/lib/task-list/public-api.mjs +0 -60
  120. package/esm2022/lib/task-list/services/process-upload.service.mjs +0 -42
  121. package/esm2022/lib/task-list/services/task-filter.service.mjs +0 -249
  122. package/esm2022/lib/task-list/services/task-upload.service.mjs +0 -42
  123. package/esm2022/lib/task-list/services/tasklist.service.mjs +0 -251
  124. package/esm2022/lib/task-list/validators/task-description.validator.mjs +0 -26
  125. package/esm2022/public-api.mjs +0 -30
@@ -1,44 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- // component
18
- import { ProcessInstanceListComponent } from './components/process-list/process-list.component';
19
- import { ProcessFiltersComponent } from './components/process-filters/process-filters.component';
20
- import { ProcessInstanceDetailsComponent } from './components/process-instance-details/process-instance-details.component';
21
- import { ProcessInstanceHeaderComponent } from './components/process-instance-header/process-instance-header.component';
22
- import { ProcessInstanceTasksComponent } from './components/process-instance-tasks/process-instance-tasks.component';
23
- import { StartProcessInstanceComponent } from './components/start-process/start-process.component';
24
- import { ProcessAuditDirective } from './components/process-audit/process-audit.directive';
25
- export * from './components/process-filters/process-filters.component';
26
- export * from './components/process-instance-details/process-instance-details.component';
27
- export * from './components/process-audit/process-audit.directive';
28
- export * from './components/process-instance-header/process-instance-header.component';
29
- export * from './components/process-instance-tasks/process-instance-tasks.component';
30
- export * from './components/process-list/process-list.component';
31
- export * from './components/start-process/start-process.component';
32
- // services
33
- export * from './services/process.service';
34
- export * from './services/process-filter.service';
35
- export const PROCESS_LIST_DIRECTIVES = [
36
- ProcessAuditDirective,
37
- ProcessInstanceListComponent,
38
- ProcessFiltersComponent,
39
- ProcessInstanceDetailsComponent,
40
- ProcessInstanceHeaderComponent,
41
- ProcessInstanceTasksComponent,
42
- StartProcessInstanceComponent
43
- ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvcHJvY2Vzcy1saXN0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsWUFBWTtBQUNaLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQzNILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTNGLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywwRUFBMEUsQ0FBQztBQUN6RixjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsV0FBVztBQUNYLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJQUNuQyxxQkFBcUI7SUFDckIsNEJBQTRCO0lBQzVCLHVCQUF1QjtJQUN2QiwrQkFBK0I7SUFDL0IsOEJBQThCO0lBQzlCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gY29tcG9uZW50XG5pbXBvcnQgeyBQcm9jZXNzSW5zdGFuY2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtbGlzdC9wcm9jZXNzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2Nlc3NGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtZmlsdGVycy9wcm9jZXNzLWZpbHRlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvY2Vzcy1pbnN0YW5jZS1kZXRhaWxzL3Byb2Nlc3MtaW5zdGFuY2UtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtaW5zdGFuY2UtaGVhZGVyL3Byb2Nlc3MtaW5zdGFuY2UtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9jZXNzSW5zdGFuY2VUYXNrc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWluc3RhbmNlLXRhc2tzL3Byb2Nlc3MtaW5zdGFuY2UtdGFza3MuY29tcG9uZW50JztcbmltcG9ydCB7IFN0YXJ0UHJvY2Vzc0luc3RhbmNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0YXJ0LXByb2Nlc3Mvc3RhcnQtcHJvY2Vzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvY2Vzc0F1ZGl0RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtYXVkaXQvcHJvY2Vzcy1hdWRpdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcHJvY2Vzcy1maWx0ZXJzL3Byb2Nlc3MtZmlsdGVycy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtaW5zdGFuY2UtZGV0YWlscy9wcm9jZXNzLWluc3RhbmNlLWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWF1ZGl0L3Byb2Nlc3MtYXVkaXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wcm9jZXNzLWluc3RhbmNlLWhlYWRlci9wcm9jZXNzLWluc3RhbmNlLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtaW5zdGFuY2UtdGFza3MvcHJvY2Vzcy1pbnN0YW5jZS10YXNrcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Byb2Nlc3MtbGlzdC9wcm9jZXNzLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zdGFydC1wcm9jZXNzL3N0YXJ0LXByb2Nlc3MuY29tcG9uZW50JztcblxuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHJvY2Vzcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHJvY2Vzcy1maWx0ZXIuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBQUk9DRVNTX0xJU1RfRElSRUNUSVZFUyA9IFtcbiAgICBQcm9jZXNzQXVkaXREaXJlY3RpdmUsXG4gICAgUHJvY2Vzc0luc3RhbmNlTGlzdENvbXBvbmVudCxcbiAgICBQcm9jZXNzRmlsdGVyc0NvbXBvbmVudCxcbiAgICBQcm9jZXNzSW5zdGFuY2VEZXRhaWxzQ29tcG9uZW50LFxuICAgIFByb2Nlc3NJbnN0YW5jZUhlYWRlckNvbXBvbmVudCxcbiAgICBQcm9jZXNzSW5zdGFuY2VUYXNrc0NvbXBvbmVudCxcbiAgICBTdGFydFByb2Nlc3NJbnN0YW5jZUNvbXBvbmVudFxuXSBhcyBjb25zdDtcbiJdfQ==
@@ -1,182 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { AlfrescoApiService } from '@alfresco/adf-content-services';
18
- import { Injectable } from '@angular/core';
19
- import { Observable, from, forkJoin } from 'rxjs';
20
- import { map } from 'rxjs/operators';
21
- import { UserFiltersApi } from '@alfresco/js-api';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "@alfresco/adf-content-services";
24
- export class ProcessFilterService {
25
- get userFiltersApi() {
26
- this._userFiltersApi = this._userFiltersApi ?? new UserFiltersApi(this.alfrescoApiService.getInstance());
27
- return this._userFiltersApi;
28
- }
29
- constructor(alfrescoApiService) {
30
- this.alfrescoApiService = alfrescoApiService;
31
- }
32
- /**
33
- * Gets all filters defined for a Process App.
34
- *
35
- * @param appId ID of the target app
36
- * @returns Array of filter details
37
- */
38
- getProcessFilters(appId) {
39
- return from(this.callApiProcessFilters(appId)).pipe(map((response) => {
40
- const filters = [];
41
- response.data.forEach((filter) => {
42
- if (!this.isFilterAlreadyExisting(filters, filter.name)) {
43
- filters.push(filter);
44
- }
45
- });
46
- return filters;
47
- }));
48
- }
49
- /**
50
- * Retrieves the process filter by ID.
51
- *
52
- * @param filterId ID of the filter
53
- * @param appId ID of the target app
54
- * @returns Details of the filter
55
- */
56
- getProcessFilterById(filterId, appId) {
57
- return from(this.callApiProcessFilters(appId)).pipe(map((response) => response.data.find((filter) => filter.id === filterId)));
58
- }
59
- /**
60
- * Retrieves the process filter by name.
61
- *
62
- * @param filterName Name of the filter
63
- * @param appId ID of the target app
64
- * @returns Details of the filter
65
- */
66
- getProcessFilterByName(filterName, appId) {
67
- return from(this.callApiProcessFilters(appId)).pipe(map((response) => response.data.find((filter) => filter.name === filterName)));
68
- }
69
- /**
70
- * Creates and returns the default filters for an app.
71
- *
72
- * @param appId ID of the target app
73
- * @returns Default filters just created
74
- */
75
- createDefaultFilters(appId) {
76
- const runningFilter = this.getRunningFilterInstance(appId, 0);
77
- const runningObservable = this.addProcessFilter(runningFilter);
78
- const completedFilter = this.getCompletedFilterInstance(appId, 1);
79
- const completedObservable = this.addProcessFilter(completedFilter);
80
- const allFilter = this.getAllFilterInstance(appId, 2);
81
- const allObservable = this.addProcessFilter(allFilter);
82
- return new Observable((observer) => {
83
- forkJoin([runningObservable, completedObservable, allObservable]).subscribe((res) => {
84
- const filters = [];
85
- res.forEach((filter) => {
86
- if (!this.isFilterAlreadyExisting(filters, filter.name)) {
87
- if (filter.name === runningFilter.name) {
88
- filters.push({ ...filter, filter: runningFilter.filter, appId });
89
- }
90
- else if (filter.name === completedFilter.name) {
91
- filters.push({ ...filter, filter: completedFilter.filter, appId });
92
- }
93
- else if (filter.name === allFilter.name) {
94
- filters.push({ ...filter, filter: allFilter.filter, appId });
95
- }
96
- }
97
- });
98
- observer.next(filters);
99
- observer.complete();
100
- });
101
- });
102
- }
103
- /**
104
- * Checks if a filter with the given name already exists in the list of filters.
105
- *
106
- * @param filters - An array of objects representing the existing filters.
107
- * @param filterName - The name of the filter to check for existence.
108
- * @returns - True if a filter with the specified name already exists, false otherwise.
109
- */
110
- isFilterAlreadyExisting(filters, filterName) {
111
- return filters.some((existingFilter) => existingFilter.name === filterName);
112
- }
113
- /**
114
- * Creates and returns a filter that matches "running" process instances.
115
- *
116
- * @param appId ID of the target app
117
- * @param index of the filter (optional)
118
- * @returns Filter just created
119
- */
120
- getRunningFilterInstance(appId, index) {
121
- return {
122
- name: 'Running',
123
- appId,
124
- recent: true,
125
- icon: 'glyphicon-random',
126
- filter: { sort: 'created-desc', name: '', state: 'running' },
127
- index
128
- };
129
- }
130
- /**
131
- * Adds a filter.
132
- *
133
- * @param filter The filter to add
134
- * @returns The filter just added
135
- */
136
- addProcessFilter(filter) {
137
- return from(this.userFiltersApi.createUserProcessInstanceFilter(filter));
138
- }
139
- /**
140
- * Calls `getUserProcessInstanceFilters` from the Alfresco JS API.
141
- *
142
- * @param appId ID of the target app
143
- * @returns List of filter details
144
- */
145
- callApiProcessFilters(appId) {
146
- if (appId) {
147
- return this.userFiltersApi.getUserProcessInstanceFilters({ appId });
148
- }
149
- else {
150
- return this.userFiltersApi.getUserProcessInstanceFilters();
151
- }
152
- }
153
- getCompletedFilterInstance(appId, index) {
154
- return {
155
- name: 'Completed',
156
- appId,
157
- recent: false,
158
- icon: 'glyphicon-ok-sign',
159
- filter: { sort: 'created-desc', name: '', state: 'completed' },
160
- index
161
- };
162
- }
163
- getAllFilterInstance(appId, index) {
164
- return {
165
- name: 'All',
166
- appId,
167
- recent: true,
168
- icon: 'glyphicon-th',
169
- filter: { sort: 'created-desc', name: '', state: 'all' },
170
- index
171
- };
172
- }
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
174
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterService, providedIn: 'root' }); }
175
- }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessFilterService, decorators: [{
177
- type: Injectable,
178
- args: [{
179
- providedIn: 'root'
180
- }]
181
- }], ctorParameters: () => [{ type: i1.AlfrescoApiService }] });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1maWx0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvcHJvY2Vzcy1saXN0L3NlcnZpY2VzL3Byb2Nlc3MtZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFFSCxjQUFjLEVBRWpCLE1BQU0sa0JBQWtCLENBQUM7OztBQUsxQixNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLElBQUksY0FBYztRQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6RyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUcsQ0FBQztJQUU5RDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLEtBQWE7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNuQixRQUFRLENBQUMsSUFBSSxDQUFDLE9B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SSxLQUFLLEVBQUUsQ0FBQztZQUNSLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVELDBCQUEwQixDQUFDLEtBQWEsRUFBRSxLQUFjO1FBQ3BELE9BQU87WUFDSCxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLO1lBQ0wsTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO1lBQzlELEtBQUs7U0FDUixDQUFDO0lBQ04sQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxLQUFjO1FBQzlDLE9BQU87WUFDSCxJQUFJLEVBQUUsS0FBSztZQUNYLEtBQUs7WUFDTCxNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxjQUFjO1lBQ3BCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQ3hELEtBQUs7U0FDUixDQUFDO0lBQ04sQ0FBQzsrR0FoS1Esb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIFJlc3VsdExpc3REYXRhUmVwcmVzZW50YXRpb25Vc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb24sXG4gICAgVXNlckZpbHRlcnNBcGksXG4gICAgVXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2Nlc3NGaWx0ZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF91c2VyRmlsdGVyc0FwaTogVXNlckZpbHRlcnNBcGk7XG4gICAgZ2V0IHVzZXJGaWx0ZXJzQXBpKCk6IFVzZXJGaWx0ZXJzQXBpIHtcbiAgICAgICAgdGhpcy5fdXNlckZpbHRlcnNBcGkgPSB0aGlzLl91c2VyRmlsdGVyc0FwaSA/PyBuZXcgVXNlckZpbHRlcnNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSk7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyRmlsdGVyc0FwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbGwgZmlsdGVycyBkZWZpbmVkIGZvciBhIFByb2Nlc3MgQXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIElEIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgZmlsdGVyIGRldGFpbHNcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzRmlsdGVycyhhcHBJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxVc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmNhbGxBcGlQcm9jZXNzRmlsdGVycyhhcHBJZCkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVycyA9IFtdO1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0ZpbHRlckFscmVhZHlFeGlzdGluZyhmaWx0ZXJzLCBmaWx0ZXIubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcHJvY2VzcyBmaWx0ZXIgYnkgSUQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVySWQgSUQgb2YgdGhlIGZpbHRlclxuICAgICAqIEBwYXJhbSBhcHBJZCBJRCBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgdGhlIGZpbHRlclxuICAgICAqL1xuICAgIGdldFByb2Nlc3NGaWx0ZXJCeUlkKGZpbHRlcklkOiBudW1iZXIsIGFwcElkPzogbnVtYmVyKTogT2JzZXJ2YWJsZTxVc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5jYWxsQXBpUHJvY2Vzc0ZpbHRlcnMoYXBwSWQpKS5waXBlKG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlLmRhdGEuZmluZCgoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgPT09IGZpbHRlcklkKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcHJvY2VzcyBmaWx0ZXIgYnkgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJOYW1lIE5hbWUgb2YgdGhlIGZpbHRlclxuICAgICAqIEBwYXJhbSBhcHBJZCBJRCBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgdGhlIGZpbHRlclxuICAgICAqL1xuICAgIGdldFByb2Nlc3NGaWx0ZXJCeU5hbWUoZmlsdGVyTmFtZTogc3RyaW5nLCBhcHBJZD86IG51bWJlcik6IE9ic2VydmFibGU8VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuY2FsbEFwaVByb2Nlc3NGaWx0ZXJzKGFwcElkKSkucGlwZShtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhLmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgPT09IGZpbHRlck5hbWUpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbmQgcmV0dXJucyB0aGUgZGVmYXVsdCBmaWx0ZXJzIGZvciBhbiBhcHAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYXBwSWQgSUQgb2YgdGhlIHRhcmdldCBhcHBcbiAgICAgKiBAcmV0dXJucyBEZWZhdWx0IGZpbHRlcnMganVzdCBjcmVhdGVkXG4gICAgICovXG4gICAgY3JlYXRlRGVmYXVsdEZpbHRlcnMoYXBwSWQ6IG51bWJlcik6IE9ic2VydmFibGU8VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uW10+IHtcbiAgICAgICAgY29uc3QgcnVubmluZ0ZpbHRlciA9IHRoaXMuZ2V0UnVubmluZ0ZpbHRlckluc3RhbmNlKGFwcElkLCAwKTtcbiAgICAgICAgY29uc3QgcnVubmluZ09ic2VydmFibGUgPSB0aGlzLmFkZFByb2Nlc3NGaWx0ZXIocnVubmluZ0ZpbHRlcik7XG5cbiAgICAgICAgY29uc3QgY29tcGxldGVkRmlsdGVyID0gdGhpcy5nZXRDb21wbGV0ZWRGaWx0ZXJJbnN0YW5jZShhcHBJZCwgMSk7XG4gICAgICAgIGNvbnN0IGNvbXBsZXRlZE9ic2VydmFibGUgPSB0aGlzLmFkZFByb2Nlc3NGaWx0ZXIoY29tcGxldGVkRmlsdGVyKTtcblxuICAgICAgICBjb25zdCBhbGxGaWx0ZXIgPSB0aGlzLmdldEFsbEZpbHRlckluc3RhbmNlKGFwcElkLCAyKTtcbiAgICAgICAgY29uc3QgYWxsT2JzZXJ2YWJsZSA9IHRoaXMuYWRkUHJvY2Vzc0ZpbHRlcihhbGxGaWx0ZXIpO1xuXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGZvcmtKb2luKFtydW5uaW5nT2JzZXJ2YWJsZSwgY29tcGxldGVkT2JzZXJ2YWJsZSwgYWxsT2JzZXJ2YWJsZV0pLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyczogVXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uW10gPSBbXTtcbiAgICAgICAgICAgICAgICByZXMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0ZpbHRlckFscmVhZHlFeGlzdGluZyhmaWx0ZXJzLCBmaWx0ZXIubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIubmFtZSA9PT0gcnVubmluZ0ZpbHRlci5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKHsgLi4uZmlsdGVyLCBmaWx0ZXI6IHJ1bm5pbmdGaWx0ZXIuZmlsdGVyLCBhcHBJZCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLm5hbWUgPT09IGNvbXBsZXRlZEZpbHRlci5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKHsgLi4uZmlsdGVyLCBmaWx0ZXI6IGNvbXBsZXRlZEZpbHRlci5maWx0ZXIsIGFwcElkIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXIubmFtZSA9PT0gYWxsRmlsdGVyLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzLnB1c2goeyAuLi5maWx0ZXIsIGZpbHRlcjogYWxsRmlsdGVyLmZpbHRlciwgYXBwSWQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGZpbHRlcnMpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgZmlsdGVyIHdpdGggdGhlIGdpdmVuIG5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGxpc3Qgb2YgZmlsdGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJzIC0gQW4gYXJyYXkgb2Ygb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIGV4aXN0aW5nIGZpbHRlcnMuXG4gICAgICogQHBhcmFtIGZpbHRlck5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZmlsdGVyIHRvIGNoZWNrIGZvciBleGlzdGVuY2UuXG4gICAgICogQHJldHVybnMgLSBUcnVlIGlmIGEgZmlsdGVyIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGFscmVhZHkgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgaXNGaWx0ZXJBbHJlYWR5RXhpc3RpbmcoZmlsdGVyczogUGFydGlhbDx7IG5hbWU6IHN0cmluZyB9PltdLCBmaWx0ZXJOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlcnMuc29tZSgoZXhpc3RpbmdGaWx0ZXIpID0+IGV4aXN0aW5nRmlsdGVyLm5hbWUgPT09IGZpbHRlck5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSBmaWx0ZXIgdGhhdCBtYXRjaGVzIFwicnVubmluZ1wiIHByb2Nlc3MgaW5zdGFuY2VzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIElEIG9mIHRoZSB0YXJnZXQgYXBwXG4gICAgICogQHBhcmFtIGluZGV4IG9mIHRoZSBmaWx0ZXIgKG9wdGlvbmFsKVxuICAgICAqIEByZXR1cm5zIEZpbHRlciBqdXN0IGNyZWF0ZWRcbiAgICAgKi9cbiAgICBnZXRSdW5uaW5nRmlsdGVySW5zdGFuY2UoYXBwSWQ6IG51bWJlciwgaW5kZXg/OiBudW1iZXIpOiBVc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb24ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogJ1J1bm5pbmcnLFxuICAgICAgICAgICAgYXBwSWQsXG4gICAgICAgICAgICByZWNlbnQ6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnZ2x5cGhpY29uLXJhbmRvbScsXG4gICAgICAgICAgICBmaWx0ZXI6IHsgc29ydDogJ2NyZWF0ZWQtZGVzYycsIG5hbWU6ICcnLCBzdGF0ZTogJ3J1bm5pbmcnIH0sXG4gICAgICAgICAgICBpbmRleFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgdG8gYWRkXG4gICAgICogQHJldHVybnMgVGhlIGZpbHRlciBqdXN0IGFkZGVkXG4gICAgICovXG4gICAgYWRkUHJvY2Vzc0ZpbHRlcihmaWx0ZXI6IFVzZXJQcm9jZXNzSW5zdGFuY2VGaWx0ZXJSZXByZXNlbnRhdGlvbik6IE9ic2VydmFibGU8VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMudXNlckZpbHRlcnNBcGkuY3JlYXRlVXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlcihmaWx0ZXIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxscyBgZ2V0VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlcnNgIGZyb20gdGhlIEFsZnJlc2NvIEpTIEFQSS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcHBJZCBJRCBvZiB0aGUgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIExpc3Qgb2YgZmlsdGVyIGRldGFpbHNcbiAgICAgKi9cbiAgICBjYWxsQXBpUHJvY2Vzc0ZpbHRlcnMoYXBwSWQ/OiBudW1iZXIpOiBQcm9taXNlPFJlc3VsdExpc3REYXRhUmVwcmVzZW50YXRpb25Vc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVyUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgaWYgKGFwcElkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51c2VyRmlsdGVyc0FwaS5nZXRVc2VyUHJvY2Vzc0luc3RhbmNlRmlsdGVycyh7IGFwcElkIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlckZpbHRlcnNBcGkuZ2V0VXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlcnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENvbXBsZXRlZEZpbHRlckluc3RhbmNlKGFwcElkOiBudW1iZXIsIGluZGV4PzogbnVtYmVyKTogVXNlclByb2Nlc3NJbnN0YW5jZUZpbHRlclJlcHJlc2VudGF0aW9uIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6ICdDb21wbGV0ZWQnLFxuICAgICAgICAgICAgYXBwSWQsXG4gICAgICAgICAgICByZWNlbnQ6IGZhbHNlLFxuICAgICAgICAgICAgaWNvbjogJ2dseXBoaWNvbi1vay1zaWduJyxcbiAgICAgICAgICAgIGZpbHRlcjogeyBzb3J0OiAnY3JlYXRlZC1kZXNjJywgbmFtZTogJycsIHN0YXRlOiAnY29tcGxldGVkJyB9LFxuICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRBbGxGaWx0ZXJJbnN0YW5jZShhcHBJZDogbnVtYmVyLCBpbmRleD86IG51bWJlcik6IFVzZXJQcm9jZXNzSW5zdGFuY2VGaWx0ZXJSZXByZXNlbnRhdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiAnQWxsJyxcbiAgICAgICAgICAgIGFwcElkLFxuICAgICAgICAgICAgcmVjZW50OiB0cnVlLFxuICAgICAgICAgICAgaWNvbjogJ2dseXBoaWNvbi10aCcsXG4gICAgICAgICAgICBmaWx0ZXI6IHsgc29ydDogJ2NyZWF0ZWQtZGVzYycsIG5hbWU6ICcnLCBzdGF0ZTogJ2FsbCcgfSxcbiAgICAgICAgICAgIGluZGV4XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -1,259 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { DateFnsUtils } from '@alfresco/adf-core';
18
- import { inject, Injectable } from '@angular/core';
19
- import { ProcessDefinitionsApi, ProcessInstancesApi, ProcessInstanceVariablesApi, TasksApi } from '@alfresco/js-api';
20
- import { AlfrescoApiService } from '@alfresco/adf-content-services';
21
- import { from } from 'rxjs';
22
- import { map } from 'rxjs/operators';
23
- import { DatePipe } from '@angular/common';
24
- import * as i0 from "@angular/core";
25
- export class ProcessService {
26
- constructor() {
27
- this.alfrescoApiService = inject(AlfrescoApiService);
28
- }
29
- get tasksApi() {
30
- return (this._tasksApi ||= new TasksApi(this.alfrescoApiService.getInstance()));
31
- }
32
- get processDefinitionsApi() {
33
- return (this._processDefinitionsApi ||= new ProcessDefinitionsApi(this.alfrescoApiService.getInstance()));
34
- }
35
- get processInstancesApi() {
36
- return (this._processInstancesApi ||= new ProcessInstancesApi(this.alfrescoApiService.getInstance()));
37
- }
38
- get processInstanceVariablesApi() {
39
- return (this._processInstanceVariablesApi ||= new ProcessInstanceVariablesApi(this.alfrescoApiService.getInstance()));
40
- }
41
- /**
42
- * Gets process instances for a filter and optionally a process definition.
43
- *
44
- * @param requestNode Filter for instances
45
- * @param processDefinitionKey Limits returned instances to a process definition
46
- * @returns List of process instances
47
- */
48
- getProcessInstances(requestNode, processDefinitionKey) {
49
- return from(this.processInstancesApi.getProcessInstances(requestNode)).pipe(map((res) => {
50
- if (processDefinitionKey) {
51
- res.data = res.data.filter((process) => process.processDefinitionKey === processDefinitionKey);
52
- }
53
- return res;
54
- }));
55
- }
56
- /**
57
- * Gets processes for a filter and optionally a process definition.
58
- *
59
- * @param requestNode Filter for instances
60
- * @param processDefinitionKey Limits returned instances to a process definition
61
- * @returns List of processes
62
- */
63
- getProcesses(requestNode, processDefinitionKey) {
64
- return this.getProcessInstances(requestNode, processDefinitionKey).pipe(map((response) => {
65
- response.data = (response.data || []).map((instance) => {
66
- instance.name = this.getProcessNameOrDescription(instance, 'medium');
67
- return instance;
68
- });
69
- return response;
70
- }));
71
- }
72
- /**
73
- * Fetches the Process Audit information as a PDF.
74
- *
75
- * @param processId ID of the target process
76
- * @returns Binary PDF data
77
- */
78
- fetchProcessAuditPdfById(processId) {
79
- return from(this.processInstancesApi.getProcessAuditPdf(processId));
80
- }
81
- /**
82
- * Fetches the Process Audit information in a JSON format.
83
- *
84
- * @param processId ID of the target process
85
- * @returns JSON data
86
- */
87
- fetchProcessAuditJsonById(processId) {
88
- return from(this.processInstancesApi.getTaskAuditLog(processId));
89
- }
90
- /**
91
- * Gets Process Instance metadata.
92
- *
93
- * @param processInstanceId ID of the target process
94
- * @returns Metadata for the instance
95
- */
96
- getProcess(processInstanceId) {
97
- return from(this.processInstancesApi.getProcessInstance(processInstanceId)).pipe(map(this.toJson));
98
- }
99
- /**
100
- * Gets the start form definition for a given process.
101
- *
102
- * @param processId Process definition ID
103
- * @returns Form definition
104
- */
105
- getStartFormDefinition(processId) {
106
- return from(this.processDefinitionsApi.getProcessDefinitionStartForm(processId)).pipe(map(this.toJson));
107
- }
108
- /**
109
- * Gets the start form instance for a given process.
110
- *
111
- * @param processId Process definition ID
112
- * @returns Form definition
113
- */
114
- getStartFormInstance(processId) {
115
- return from(this.processInstancesApi.getProcessInstanceStartForm(processId)).pipe(map(this.toJson));
116
- }
117
- /**
118
- * Creates a JSON representation of form data.
119
- *
120
- * @param res Object representing form data
121
- * @returns JSON data
122
- */
123
- toJson(res) {
124
- if (res) {
125
- return res || {};
126
- }
127
- return {};
128
- }
129
- /**
130
- * Gets task instances for a process instance.
131
- *
132
- * @param processInstanceId ID of the process instance
133
- * @param state Task state filter (can be "active" or "completed")
134
- * @returns Array of task instance details
135
- */
136
- getProcessTasks(processInstanceId, state) {
137
- const taskOpts = state
138
- ? {
139
- processInstanceId,
140
- state
141
- }
142
- : {
143
- processInstanceId
144
- };
145
- return from(this.tasksApi.listTasks(taskOpts)).pipe(map(this.extractData), map((tasks) => tasks.map((task) => {
146
- task.created = DateFnsUtils.formatDate(new Date(task.created), 'YYYY-MM-DD');
147
- return task;
148
- })));
149
- }
150
- /**
151
- * Gets process definitions associated with an app.
152
- *
153
- * @param appId ID of a target app
154
- * @returns Array of process definitions
155
- */
156
- getProcessDefinitions(appId) {
157
- const opts = appId
158
- ? {
159
- latest: true,
160
- appDefinitionId: appId
161
- }
162
- : {
163
- latest: true
164
- };
165
- return from(this.processDefinitionsApi.getProcessDefinitions(opts)).pipe(map(this.extractData));
166
- }
167
- /**
168
- * Starts a process based on a process definition, name, form values or variables.
169
- *
170
- * @param processDefinitionId Process definition ID
171
- * @param name Process name
172
- * @param outcome Process outcome
173
- * @param startFormValues Values for the start form
174
- * @param variables Array of process instance variables
175
- * @returns Details of the process instance just started
176
- */
177
- startProcess(processDefinitionId, name, outcome, startFormValues, variables) {
178
- const startRequest = {
179
- name,
180
- processDefinitionId
181
- };
182
- if (outcome) {
183
- startRequest.outcome = outcome;
184
- }
185
- if (startFormValues) {
186
- startRequest.values = startFormValues;
187
- }
188
- if (variables) {
189
- startRequest.variables = variables;
190
- }
191
- return from(this.processInstancesApi.startNewProcessInstance(startRequest));
192
- }
193
- /**
194
- * Cancels a process instance.
195
- *
196
- * @param processInstanceId ID of process to cancel
197
- * @returns Null response notifying when the operation is complete
198
- */
199
- cancelProcess(processInstanceId) {
200
- return from(this.processInstancesApi.deleteProcessInstance(processInstanceId));
201
- }
202
- /**
203
- * Gets the variables for a process instance.
204
- *
205
- * @param processInstanceId ID of the target process
206
- * @returns Array of instance variable info
207
- */
208
- getProcessInstanceVariables(processInstanceId) {
209
- return from(this.processInstanceVariablesApi.getProcessInstanceVariables(processInstanceId));
210
- }
211
- /**
212
- * Creates or updates variables for a process instance.
213
- *
214
- * @param processInstanceId ID of the target process
215
- * @param variables Variables to update
216
- * @returns Array of instance variable info
217
- */
218
- createOrUpdateProcessInstanceVariables(processInstanceId, variables) {
219
- return from(this.processInstanceVariablesApi.createOrUpdateProcessInstanceVariables(processInstanceId, variables));
220
- }
221
- /**
222
- * Deletes a variable for a process instance.
223
- *
224
- * @param processInstanceId ID of the target process
225
- * @param variableName Name of the variable to delete
226
- * @returns Null response notifying when the operation is complete
227
- */
228
- deleteProcessInstanceVariable(processInstanceId, variableName) {
229
- return from(this.processInstanceVariablesApi.deleteProcessInstanceVariable(processInstanceId, variableName));
230
- }
231
- extractData(res) {
232
- return res.data || {};
233
- }
234
- getProcessNameOrDescription(processInstance, dateFormat) {
235
- let name = '';
236
- if (processInstance) {
237
- name = processInstance.name || processInstance.processDefinitionName + ' - ' + this.getFormatDate(processInstance.started, dateFormat);
238
- }
239
- return name;
240
- }
241
- getFormatDate(value, dateFormat) {
242
- const datePipe = new DatePipe('en-US');
243
- try {
244
- return datePipe.transform(value, dateFormat);
245
- }
246
- catch (err) {
247
- return '';
248
- }
249
- }
250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
251
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessService, providedIn: 'root' }); }
252
- }
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProcessService, decorators: [{
254
- type: Injectable,
255
- args: [{
256
- providedIn: 'root'
257
- }]
258
- }] });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9wcm9jZXNzLWxpc3Qvc2VydmljZXMvcHJvY2Vzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBRUgscUJBQXFCLEVBSXJCLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFHM0IsUUFBUSxFQUdYLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUszQyxNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUlZLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBK1EzRDtJQTVRRyxJQUFJLFFBQVE7UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFHRCxJQUFJLHFCQUFxQjtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixLQUFLLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBR0QsSUFBSSxt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SUFFRDs7Ozs7O09BTUc7SUFDSCw2QkFBNkIsQ0FBQyxpQkFBeUIsRUFBRSxZQUFvQjtRQUN6RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQVE7UUFDeEIsT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sMkJBQTJCLENBQUMsZUFBOEMsRUFBRSxVQUFrQjtRQUNsRyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFFZCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxJQUFJLGVBQWUsQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNJLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQVcsRUFBRSxVQUFrQjtRQUNqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0wsQ0FBQzsrR0EvUVEsY0FBYzttSEFBZCxjQUFjLGNBRlgsTUFBTTs7NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IERhdGVGbnNVdGlscywgRm9ybVZhbHVlcyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRm9ybURlZmluaXRpb25SZXByZXNlbnRhdGlvbixcbiAgICBQcm9jZXNzRGVmaW5pdGlvbnNBcGksXG4gICAgUHJvY2Vzc0luc3RhbmNlQXVkaXRJbmZvUmVwcmVzZW50YXRpb24sXG4gICAgUHJvY2Vzc0luc3RhbmNlUXVlcnlSZXByZXNlbnRhdGlvbixcbiAgICBQcm9jZXNzSW5zdGFuY2VSZXByZXNlbnRhdGlvbixcbiAgICBQcm9jZXNzSW5zdGFuY2VzQXBpLFxuICAgIFByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlc0FwaSxcbiAgICBSZXN0VmFyaWFibGUsXG4gICAgUmVzdWx0TGlzdERhdGFSZXByZXNlbnRhdGlvblByb2Nlc3NJbnN0YW5jZVJlcHJlc2VudGF0aW9uLFxuICAgIFRhc2tzQXBpLFxuICAgIFByb2Nlc3NEZWZpbml0aW9uUmVwcmVzZW50YXRpb24sXG4gICAgVGFza1JlcHJlc2VudGF0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzU2VydmljZSB7XG4gICAgcHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2UgPSBpbmplY3QoQWxmcmVzY29BcGlTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX3Rhc2tzQXBpOiBUYXNrc0FwaTtcbiAgICBnZXQgdGFza3NBcGkoKTogVGFza3NBcGkge1xuICAgICAgICByZXR1cm4gKHRoaXMuX3Rhc2tzQXBpIHx8PSBuZXcgVGFza3NBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Byb2Nlc3NEZWZpbml0aW9uc0FwaTogUHJvY2Vzc0RlZmluaXRpb25zQXBpO1xuICAgIGdldCBwcm9jZXNzRGVmaW5pdGlvbnNBcGkoKTogUHJvY2Vzc0RlZmluaXRpb25zQXBpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9wcm9jZXNzRGVmaW5pdGlvbnNBcGkgfHw9IG5ldyBQcm9jZXNzRGVmaW5pdGlvbnNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Byb2Nlc3NJbnN0YW5jZXNBcGk6IFByb2Nlc3NJbnN0YW5jZXNBcGk7XG4gICAgZ2V0IHByb2Nlc3NJbnN0YW5jZXNBcGkoKTogUHJvY2Vzc0luc3RhbmNlc0FwaSB7XG4gICAgICAgIHJldHVybiAodGhpcy5fcHJvY2Vzc0luc3RhbmNlc0FwaSB8fD0gbmV3IFByb2Nlc3NJbnN0YW5jZXNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Byb2Nlc3NJbnN0YW5jZVZhcmlhYmxlc0FwaTogUHJvY2Vzc0luc3RhbmNlVmFyaWFibGVzQXBpO1xuICAgIGdldCBwcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXNBcGkoKTogUHJvY2Vzc0luc3RhbmNlVmFyaWFibGVzQXBpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9wcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXNBcGkgfHw9IG5ldyBQcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXNBcGkodGhpcy5hbGZyZXNjb0FwaVNlcnZpY2UuZ2V0SW5zdGFuY2UoKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgcHJvY2VzcyBpbnN0YW5jZXMgZm9yIGEgZmlsdGVyIGFuZCBvcHRpb25hbGx5IGEgcHJvY2VzcyBkZWZpbml0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3ROb2RlIEZpbHRlciBmb3IgaW5zdGFuY2VzXG4gICAgICogQHBhcmFtIHByb2Nlc3NEZWZpbml0aW9uS2V5IExpbWl0cyByZXR1cm5lZCBpbnN0YW5jZXMgdG8gYSBwcm9jZXNzIGRlZmluaXRpb25cbiAgICAgKiBAcmV0dXJucyBMaXN0IG9mIHByb2Nlc3MgaW5zdGFuY2VzXG4gICAgICovXG4gICAgZ2V0UHJvY2Vzc0luc3RhbmNlcyhcbiAgICAgICAgcmVxdWVzdE5vZGU6IFByb2Nlc3NJbnN0YW5jZVF1ZXJ5UmVwcmVzZW50YXRpb24sXG4gICAgICAgIHByb2Nlc3NEZWZpbml0aW9uS2V5Pzogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxSZXN1bHRMaXN0RGF0YVJlcHJlc2VudGF0aW9uUHJvY2Vzc0luc3RhbmNlUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzSW5zdGFuY2VzQXBpLmdldFByb2Nlc3NJbnN0YW5jZXMocmVxdWVzdE5vZGUpKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzc0RlZmluaXRpb25LZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEgPSByZXMuZGF0YS5maWx0ZXIoKHByb2Nlc3MpID0+IHByb2Nlc3MucHJvY2Vzc0RlZmluaXRpb25LZXkgPT09IHByb2Nlc3NEZWZpbml0aW9uS2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBwcm9jZXNzZXMgZm9yIGEgZmlsdGVyIGFuZCBvcHRpb25hbGx5IGEgcHJvY2VzcyBkZWZpbml0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlcXVlc3ROb2RlIEZpbHRlciBmb3IgaW5zdGFuY2VzXG4gICAgICogQHBhcmFtIHByb2Nlc3NEZWZpbml0aW9uS2V5IExpbWl0cyByZXR1cm5lZCBpbnN0YW5jZXMgdG8gYSBwcm9jZXNzIGRlZmluaXRpb25cbiAgICAgKiBAcmV0dXJucyBMaXN0IG9mIHByb2Nlc3Nlc1xuICAgICAqL1xuICAgIGdldFByb2Nlc3NlcyhcbiAgICAgICAgcmVxdWVzdE5vZGU6IFByb2Nlc3NJbnN0YW5jZVF1ZXJ5UmVwcmVzZW50YXRpb24sXG4gICAgICAgIHByb2Nlc3NEZWZpbml0aW9uS2V5Pzogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxSZXN1bHRMaXN0RGF0YVJlcHJlc2VudGF0aW9uUHJvY2Vzc0luc3RhbmNlUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvY2Vzc0luc3RhbmNlcyhyZXF1ZXN0Tm9kZSwgcHJvY2Vzc0RlZmluaXRpb25LZXkpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuZGF0YSA9IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAoKGluc3RhbmNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLm5hbWUgPSB0aGlzLmdldFByb2Nlc3NOYW1lT3JEZXNjcmlwdGlvbihpbnN0YW5jZSwgJ21lZGl1bScpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGZXRjaGVzIHRoZSBQcm9jZXNzIEF1ZGl0IGluZm9ybWF0aW9uIGFzIGEgUERGLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJZCBJRCBvZiB0aGUgdGFyZ2V0IHByb2Nlc3NcbiAgICAgKiBAcmV0dXJucyBCaW5hcnkgUERGIGRhdGFcbiAgICAgKi9cbiAgICBmZXRjaFByb2Nlc3NBdWRpdFBkZkJ5SWQocHJvY2Vzc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzSW5zdGFuY2VzQXBpLmdldFByb2Nlc3NBdWRpdFBkZihwcm9jZXNzSWQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGZXRjaGVzIHRoZSBQcm9jZXNzIEF1ZGl0IGluZm9ybWF0aW9uIGluIGEgSlNPTiBmb3JtYXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0lkIElEIG9mIHRoZSB0YXJnZXQgcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIEpTT04gZGF0YVxuICAgICAqL1xuICAgIGZldGNoUHJvY2Vzc0F1ZGl0SnNvbkJ5SWQocHJvY2Vzc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZUF1ZGl0SW5mb1JlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucHJvY2Vzc0luc3RhbmNlc0FwaS5nZXRUYXNrQXVkaXRMb2cocHJvY2Vzc0lkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBQcm9jZXNzIEluc3RhbmNlIG1ldGFkYXRhLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHRoZSB0YXJnZXQgcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIE1ldGFkYXRhIGZvciB0aGUgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzKHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2Nlc3NJbnN0YW5jZVJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucHJvY2Vzc0luc3RhbmNlc0FwaS5nZXRQcm9jZXNzSW5zdGFuY2UocHJvY2Vzc0luc3RhbmNlSWQpKS5waXBlKG1hcCh0aGlzLnRvSnNvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHN0YXJ0IGZvcm0gZGVmaW5pdGlvbiBmb3IgYSBnaXZlbiBwcm9jZXNzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJZCBQcm9jZXNzIGRlZmluaXRpb24gSURcbiAgICAgKiBAcmV0dXJucyBGb3JtIGRlZmluaXRpb25cbiAgICAgKi9cbiAgICBnZXRTdGFydEZvcm1EZWZpbml0aW9uKHByb2Nlc3NJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzRGVmaW5pdGlvbnNBcGkuZ2V0UHJvY2Vzc0RlZmluaXRpb25TdGFydEZvcm0ocHJvY2Vzc0lkKSkucGlwZShtYXAodGhpcy50b0pzb24pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzdGFydCBmb3JtIGluc3RhbmNlIGZvciBhIGdpdmVuIHByb2Nlc3MuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0lkIFByb2Nlc3MgZGVmaW5pdGlvbiBJRFxuICAgICAqIEByZXR1cm5zIEZvcm0gZGVmaW5pdGlvblxuICAgICAqL1xuICAgIGdldFN0YXJ0Rm9ybUluc3RhbmNlKHByb2Nlc3NJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxGb3JtRGVmaW5pdGlvblJlcHJlc2VudGF0aW9uPiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucHJvY2Vzc0luc3RhbmNlc0FwaS5nZXRQcm9jZXNzSW5zdGFuY2VTdGFydEZvcm0ocHJvY2Vzc0lkKSkucGlwZShtYXAodGhpcy50b0pzb24pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBmb3JtIGRhdGEuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVzIE9iamVjdCByZXByZXNlbnRpbmcgZm9ybSBkYXRhXG4gICAgICogQHJldHVybnMgSlNPTiBkYXRhXG4gICAgICovXG4gICAgcHJpdmF0ZSB0b0pzb24ocmVzOiBhbnkpIHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgcmV0dXJuIHJlcyB8fCB7fTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0YXNrIGluc3RhbmNlcyBmb3IgYSBwcm9jZXNzIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHRoZSBwcm9jZXNzIGluc3RhbmNlXG4gICAgICogQHBhcmFtIHN0YXRlIFRhc2sgc3RhdGUgZmlsdGVyIChjYW4gYmUgXCJhY3RpdmVcIiBvciBcImNvbXBsZXRlZFwiKVxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIHRhc2sgaW5zdGFuY2UgZGV0YWlsc1xuICAgICAqL1xuICAgIGdldFByb2Nlc3NUYXNrcyhwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nLCBzdGF0ZT86IHN0cmluZyk6IE9ic2VydmFibGU8VGFza1JlcHJlc2VudGF0aW9uW10+IHtcbiAgICAgICAgY29uc3QgdGFza09wdHMgPSBzdGF0ZVxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBwcm9jZXNzSW5zdGFuY2VJZCxcbiAgICAgICAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgcHJvY2Vzc0luc3RhbmNlSWRcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy50YXNrc0FwaS5saXN0VGFza3ModGFza09wdHMpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHRoaXMuZXh0cmFjdERhdGEpLFxuICAgICAgICAgICAgbWFwKCh0YXNrcykgPT5cbiAgICAgICAgICAgICAgICB0YXNrcy5tYXAoKHRhc2s6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0YXNrLmNyZWF0ZWQgPSBEYXRlRm5zVXRpbHMuZm9ybWF0RGF0ZShuZXcgRGF0ZSh0YXNrLmNyZWF0ZWQpLCAnWVlZWS1NTS1ERCcpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFzaztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgcHJvY2VzcyBkZWZpbml0aW9ucyBhc3NvY2lhdGVkIHdpdGggYW4gYXBwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFwcElkIElEIG9mIGEgdGFyZ2V0IGFwcFxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIHByb2Nlc3MgZGVmaW5pdGlvbnNcbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzRGVmaW5pdGlvbnMoYXBwSWQ/OiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb2Nlc3NEZWZpbml0aW9uUmVwcmVzZW50YXRpb25bXT4ge1xuICAgICAgICBjb25zdCBvcHRzID0gYXBwSWRcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgbGF0ZXN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgYXBwRGVmaW5pdGlvbklkOiBhcHBJZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIGxhdGVzdDogdHJ1ZVxuICAgICAgICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NEZWZpbml0aW9uc0FwaS5nZXRQcm9jZXNzRGVmaW5pdGlvbnMob3B0cykpLnBpcGUobWFwKHRoaXMuZXh0cmFjdERhdGEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdGFydHMgYSBwcm9jZXNzIGJhc2VkIG9uIGEgcHJvY2VzcyBkZWZpbml0aW9uLCBuYW1lLCBmb3JtIHZhbHVlcyBvciB2YXJpYWJsZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0RlZmluaXRpb25JZCBQcm9jZXNzIGRlZmluaXRpb24gSURcbiAgICAgKiBAcGFyYW0gbmFtZSBQcm9jZXNzIG5hbWVcbiAgICAgKiBAcGFyYW0gb3V0Y29tZSBQcm9jZXNzIG91dGNvbWVcbiAgICAgKiBAcGFyYW0gc3RhcnRGb3JtVmFsdWVzIFZhbHVlcyBmb3IgdGhlIHN0YXJ0IGZvcm1cbiAgICAgKiBAcGFyYW0gdmFyaWFibGVzIEFycmF5IG9mIHByb2Nlc3MgaW5zdGFuY2UgdmFyaWFibGVzXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgcHJvY2VzcyBpbnN0YW5jZSBqdXN0IHN0YXJ0ZWRcbiAgICAgKi9cbiAgICBzdGFydFByb2Nlc3MoXG4gICAgICAgIHByb2Nlc3NEZWZpbml0aW9uSWQ6IHN0cmluZyxcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgICBvdXRjb21lPzogc3RyaW5nLFxuICAgICAgICBzdGFydEZvcm1WYWx1ZXM/OiBGb3JtVmFsdWVzLFxuICAgICAgICB2YXJpYWJsZXM/OiBSZXN0VmFyaWFibGVbXVxuICAgICk6IE9ic2VydmFibGU8UHJvY2Vzc0luc3RhbmNlUmVwcmVzZW50YXRpb24+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRSZXF1ZXN0OiBhbnkgPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgcHJvY2Vzc0RlZmluaXRpb25JZFxuICAgICAgICB9O1xuICAgICAgICBpZiAob3V0Y29tZSkge1xuICAgICAgICAgICAgc3RhcnRSZXF1ZXN0Lm91dGNvbWUgPSBvdXRjb21lO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydEZvcm1WYWx1ZXMpIHtcbiAgICAgICAgICAgIHN0YXJ0UmVxdWVzdC52YWx1ZXMgPSBzdGFydEZvcm1WYWx1ZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhcmlhYmxlcykge1xuICAgICAgICAgICAgc3RhcnRSZXF1ZXN0LnZhcmlhYmxlcyA9IHZhcmlhYmxlcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NJbnN0YW5jZXNBcGkuc3RhcnROZXdQcm9jZXNzSW5zdGFuY2Uoc3RhcnRSZXF1ZXN0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FuY2VscyBhIHByb2Nlc3MgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0luc3RhbmNlSWQgSUQgb2YgcHJvY2VzcyB0byBjYW5jZWxcbiAgICAgKiBAcmV0dXJucyBOdWxsIHJlc3BvbnNlIG5vdGlmeWluZyB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVcbiAgICAgKi9cbiAgICBjYW5jZWxQcm9jZXNzKHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzSW5zdGFuY2VzQXBpLmRlbGV0ZVByb2Nlc3NJbnN0YW5jZShwcm9jZXNzSW5zdGFuY2VJZCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhcmlhYmxlcyBmb3IgYSBwcm9jZXNzIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHRoZSB0YXJnZXQgcHJvY2Vzc1xuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGluc3RhbmNlIHZhcmlhYmxlIGluZm9cbiAgICAgKi9cbiAgICBnZXRQcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXMocHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzdFZhcmlhYmxlW10+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5wcm9jZXNzSW5zdGFuY2VWYXJpYWJsZXNBcGkuZ2V0UHJvY2Vzc0luc3RhbmNlVmFyaWFibGVzKHByb2Nlc3NJbnN0YW5jZUlkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBvciB1cGRhdGVzIHZhcmlhYmxlcyBmb3IgYSBwcm9jZXNzIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2Nlc3NJbnN0YW5jZUlkIElEIG9mIHRoZSB0YXJnZXQgcHJvY2Vzc1xuICAgICAqIEBwYXJhbSB2YXJpYWJsZXMgVmFyaWFibGVzIHRvIHVwZGF0ZVxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGluc3RhbmNlIHZhcmlhYmxlIGluZm9cbiAgICAgKi9cbiAgICBjcmVhdGVPclVwZGF0ZVByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlcyhwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nLCB2YXJpYWJsZXM6IFJlc3RWYXJpYWJsZVtdKTogT2JzZXJ2YWJsZTxSZXN0VmFyaWFibGVbXT4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlc0FwaS5jcmVhdGVPclVwZGF0ZVByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlcyhwcm9jZXNzSW5zdGFuY2VJZCwgdmFyaWFibGVzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBhIHZhcmlhYmxlIGZvciBhIHByb2Nlc3MgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvY2Vzc0luc3RhbmNlSWQgSUQgb2YgdGhlIHRhcmdldCBwcm9jZXNzXG4gICAgICogQHBhcmFtIHZhcmlhYmxlTmFtZSBOYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBkZWxldGVcbiAgICAgKiBAcmV0dXJucyBOdWxsIHJlc3BvbnNlIG5vdGlmeWluZyB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVcbiAgICAgKi9cbiAgICBkZWxldGVQcm9jZXNzSW5zdGFuY2VWYXJpYWJsZShwcm9jZXNzSW5zdGFuY2VJZDogc3RyaW5nLCB2YXJpYWJsZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NJbnN0YW5jZVZhcmlhYmxlc0FwaS5kZWxldGVQcm9jZXNzSW5zdGFuY2VWYXJpYWJsZShwcm9jZXNzSW5zdGFuY2VJZCwgdmFyaWFibGVOYW1lKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHRyYWN0RGF0YShyZXM6IGFueSkge1xuICAgICAgICByZXR1cm4gcmVzLmRhdGEgfHwge307XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzTmFtZU9yRGVzY3JpcHRpb24ocHJvY2Vzc0luc3RhbmNlOiBQcm9jZXNzSW5zdGFuY2VSZXByZXNlbnRhdGlvbiwgZGF0ZUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG5hbWUgPSAnJztcblxuICAgICAgICBpZiAocHJvY2Vzc0luc3RhbmNlKSB7XG4gICAgICAgICAgICBuYW1lID0gcHJvY2Vzc0luc3RhbmNlLm5hbWUgfHwgcHJvY2Vzc0luc3RhbmNlLnByb2Nlc3NEZWZpbml0aW9uTmFtZSArICcgLSAnICsgdGhpcy5nZXRGb3JtYXREYXRlKHByb2Nlc3NJbnN0YW5jZS5zdGFydGVkLCBkYXRlRm9ybWF0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rm9ybWF0RGF0ZSh2YWx1ZTogRGF0ZSwgZGF0ZUZvcm1hdDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCdlbi1VUycpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCBkYXRlRm9ybWF0KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=